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.运行此脚本,我们可以看到在安装虚拟机时已经不需要我们再进行任何配置: