软件管理与自动生成脚本

1.使用RPM安装软件

 RPM(RedHat Packages Manager):红帽软件包管理器,rpm包是在特定的内核版本下预先编译好软件,并将安装所需要的文件进行打包,使软件的安装可以更加的快捷。
1.软件包名称解释:
kolourpaint-4.10.5-4.el7.x86_64.rpm
  [1]   [2]   [3]  [4]  [5]
[1]:  软件名称
[2]:版本
[3]:适用系统
[4]:架构
[5]:使用rpm体系
2.使用rpm 命令安装软件

rpm	-i			##安装
	-v			##显示安装过程
	-h			##hash加密
	-e			##卸载
	-q			##查看
	-a			##所有
 	-p			##软件包
	-ql			##查看软件在系统中的安装文件路径,只能查看已经安装的软件
	-qlp		##查看未安装的软件包在系统中如果安装后产生文件的路径
	-qf			##根据某个文件找出此文件属于哪个安装包
	-qc			##查看软件的配置文件名称,只能查看已经安装的软件
	-qd			##查看软件的帮助文件,只能查看已经安装的软件
	--scripts	##查看脚本
	--nodeps	##安装软件忽略软件依赖
	--force		##强行安装软件(对于依赖性的只能使用nodeps)
				##force=reinstall强制将已经安装的软件重新安装
	-Kv			##检测软件包是否被篡改

本次实验,我们使用/var/www/html/softerware中的软件进行实验:
在这里插入图片描述
如上图,我们使用rpm 安装wps-office是,显示不能安装,因为缺少一个依赖性文件,这里需要说明,软件的依赖性是指,安装A软件是必须已经先安装好了B软件,否则A软件就不能安装,而使用rpm安装时,仅仅只安装指定的软件,若所安装软件无依赖性或者依赖性问题已经被解决,则可以安装,否则会报错无法安装,而使用yum安装软件时,yum会自动解决软件的依赖性问题,例如,我们此时安装A软件时,检测到它的依赖性软件B软件在yum源中并且未安装,yum自动将B软件安装后再安装A软件。
对于上述缺少的依赖性文件,我们首先可以查找此文件对应的软件是否存在于yum源中,若存在,可以先安装此软件:
在这里插入图片描述
由于此软件是32位的,我们可以查找是否有64位的软件:
在这里插入图片描述
安装此软件:
在这里插入图片描述
安装完成后,再安装wps-office,可以看到本次成功安装:
在这里插入图片描述
若要卸载wps,需要使用-e参数,使用-q参数查看:
在这里插入图片描述
使用-ql参数软件在系统中的安装文件路径(只能查看已经安装的软件,安装的文件有很多,这里只截取了一部分)
在这里插入图片描述
使用-qlp参数查看未安装的软件包在系统中如果安装后产生文件的路径(安装的文件有很多,这里只截取一部分):
在这里插入图片描述-qf参数用来根据某个文件找出此文件属于哪个安装包,例如/etc/passwd文件:
在这里插入图片描述
-qc参数用来查看软件的配置文件名称(只能查看已经安装的软件)
在这里插入图片描述
-qd参数用来查看软件的帮助文件(只能查看已经安装的软件)
在这里插入图片描述
–scripts可以查看软件包中的脚本,我们可以看到软件包FluffyMcAsesome-A 在卸载后会将本机的根目录删除,而FluffyMcAsesome-B在卸载后只会输出一个字符“fluffy”:在这里插入图片描述
上面的安装wps-office是我们只碰到一个依赖性问题,而在安装下面软件时,会遇到很多依赖性问题:
在这里插入图片描述
而当我们安装Kolourpaint-libs时,又碰到如下依赖性问题:
在这里插入图片描述
我们可以看到,Kolourpaint-libs与Kolourpaint互相依赖,那么我们如何解决这样的问题?此时,就需要使用–nodeps参数,此参数表示忽略软件的依赖性,直接进行安装,使用–nodeps参数,我们就可以成功安装Kolourpaint-libs:
在这里插入图片描述
此时在进行安装Kolourpaint,仍缺少一个依赖性软件:
在这里插入图片描述
使用yum search 查找64位安装包,再进行安装:
在这里插入图片描述
安装完成后,再进行Kolourpaint的安装,我们可以看到此时只剩下一个依赖性文件,说明我们在进行上面安装的时候,yum已经解决安装kde-runtime-libs时所需要的依赖性文件:
在这里插入图片描述
使用yum查找此文件所需要的64位安装软件:
在这里插入图片描述
安装此软件:
在这里插入图片描述
再安装Kolourpaint,此时成功安装:
在这里插入图片描述
也可以正常使用:
在这里插入图片描述
–force参数相当于yum中的reinstall参数:
在这里插入图片描述
-Kv参数用来检测软件包是否被篡改(通过查看MD5校验结果)
在这里插入图片描述

2.设置软件黑名单

在黑名单中的软件使用yum list all不会显示,并且也不能安装
首先,使用yum list all,我们可以看到所有的软件(以下只截取最后的一部分):
在这里插入图片描述
若我们想将软件名中含有zziplib的软件拉入黑名单,可使用如下方法:

vim /etc/yum.conf	##yum配置文件
添加:exclude=\*zziplib\*	##屏蔽所有名字中包含zziplib字母的软件

在这里插入图片描述
在这里插入图片描述
再 yum list all,可以看到屏蔽的软件不再显示:
在这里插入图片描述
若想同时屏蔽两种类型的软件,则使用空格隔开即可:
在这里插入图片描述
我们可以看到,这两种软件都不再显示:
在这里插入图片描述

2.自动生成脚本

1.配置本地yum源
2.配置网络yum源:http://172.25.150.250/rhel7.3
如下图,可以访问此网页,说明配置成功:
在这里插入图片描述
3.安装软件:
 1).什么是system-config-kickstart
  system-config-kickstart用来生成自动化安装红帽linux系统的文件ks.cfg,执行此命令,可以创建一个ks.cfg文件,这个文件包含了在一般的安装过程中所遇到的问题的答案。ks.cfg文件可以存放于单一的服务器上,在安装过程中被独立的机器所读取,这个安装方法可以支持使用单一ks.cfg文件在多台机器上安装红帽企业Linux,这使得系统的安装更加的便捷
 2).首先,我们需要安装system-config-kickstart软件

yum install  system-config-kickstart -y

在这里插入图片描述
 3).若防火墙开启,则关闭防火墙:
在这里插入图片描述
 4).使用system-config-kickstart自动写脚本

system-config-kickstart

1.基础配置
在这里插入图片描述
2.安装方式配置
我们可以看到,安装方式中有多种方式,由于我们在上面操作中已经配置好了具有系统镜象文件的网络yum源,因此,我们可以使用网络安装方式http,这使得安装更方便,高效,其中HTTP server:是指网络服务端的ip地址,而HTTP Directory:是指存放挂载镜象文件的目录,
在这里插入图片描述
在这里插入图片描述
3.系统分区配置:
/boot分区:200M,并格式化分区
在这里插入图片描述
/swap分区:500M
“注意”,此分区在File System Type(文件系统类型)中进行选择:
在这里插入图片描述
/ 分区:剩下所有,并格式化分区:
在这里插入图片描述
4.网络配置
在这里插入图片描述
4.防火墙配置:
在这里插入图片描述
5.安装前/安装后要做的事,例如,在安装完成后,我们将想要系统所做的事写成脚本如下,则在安装完成后,系统会自动执行此脚本:
在这里插入图片描述
6.在对以上内容配置完成后,会生成ks.cfg文件,此文件中包含我们刚刚进行配置的所有内容,我们将此文件保存到/var/www/html目录下,这样,若有人需要安装虚拟机,直接下载此文件即可:
在这里插入图片描述
7.由于刚才在进行配置时,无法进行软件包的配置,因此,我们还需要在生成的ks.cfg文件中添加软件包的配置内容:

vim ks.cfg 
添加:
%packages	##软件包	
@base		##@开头表示是一个软件组
%lftp		##lftp软件
%end

在这里插入图片描述
8.使用ksvalidator ks.cfg检查ks.cfg文件是否有语法错误
在这里插入图片描述
我们可以看到,使用此命令,当我们的语法出现错误时会报错,我们上面的写的内容中有一处语法错误:end前没有%
“注意”:此命令仅能检测出语法错误,而不能检测配置的合理性
修改错误:
在这里插入图片描述
再进行检测(无报错说明语法正确):
在这里插入图片描述
9.我们可以看出,以上我们进行的配置均为系统的软件配置,但在安装系统时,还需要进行系统的硬件配置,此时我们可以写安装脚本来完成系统的硬件配置:

[root@foundation39 mnt]# vim vm_crate.sh
 #!/bin/bash
 virt-install \										##虚拟机安装
 --name $1 \										##虚拟机名字
 --ram 1024 \										##分配内存
 --vcpus 1 \										##分配CPU
 --disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \	##硬盘配置
 --network source=br0,model=virtio \				##网络配置
 --location http://172.25.254.39/rhel7.3 \		    ##安装源的路径
 --extra-args "ks=http://172.25.150.250/ks.cfg" &	##对于自动运行的脚本,指定路径

在这里插入图片描述
10.运行此脚本,我们可以看到在安装虚拟机时已经不需要我们再进行任何配置:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41781946/article/details/83545008
今日推荐