##RPM##
REDHAT PACKAGES MANAGERMENT
####1.软件名称识别####
[firefox]-[38.3.0-2].[el7_1].[x86_64].rpm ##rpm结尾的适用与redhat操作系统
|| || || ||
软件名称 软件版本 软件适用系统 64位
####2.如何安装软件####
1.rpm
rpm -ivh name.rpm ##安装 ,-v显示过程,-h指定加密方式为hash
-e name ##卸载
-ql name ##查询软件生成文件
-qlp name.rpm ##查询软件安装后会生成什么文件
-qa ##查询系统中安装的所有软件名称
-qa |grep name ##查询软件是否安装
-qp name.rpm ##查询软件安装包安装后的名字
-ivh name.rpm --force ##强制安装,但不能忽略依赖性
-ivh name.rpm --nodeps --force ##忽略依赖性并且强制安装
-Kv name.rpm ##检测软件包是否被篡改
-qp name.rpm --scripts ##检测软件在安装或卸载过程中执行的动作
检测该软件会发现安装过程没有什么问题,但在卸载时会删除根目录。
检测该软件可以看到不论安装还是卸载,都没有恶意的行为,比较爱安全。
通过对比我们可以发现,一些俗称的流氓软件我们可以用rpm -qp --scripts检测出来,在安装软件前,最好用该命令检测下,以防出现严重的后果。
2.yum
yum上层软件管理工具,最重要的功能是可以解决软件的倚赖关系
yum能够投入使用的前提是必须要有yum源,以及配置源的指向文件
如果你要安装一个包时,系统提示你,在安装此包之前,还得必须安装另一个包,只有将那个包安装完成,你才能继续安装你想要装的包,我们把这种现象称为包之间的依赖关系。但是如果安装一个包要依赖好多个包的时候,rmp就不方便了。这种情况下,可以使用yum命令。
###server源端####
1.从网络上下本机系统版本匹配的iso镜像文件rhel-server-7.2-x86_64-dvd.iso
2
mkdir /iso #建立目录用来存放iso镜像
mv rhel-server-7.2-x86_64-dvd.iso /iso
mkdir /rhel7.2 #建立iso镜像的挂载点
mount /iso/rhel-server-7.2-x86_64-dvd.iso /rhel7.2 #挂载镜像
3.配置本机yum源指向
rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
[Server]
name=rhel7.2
baseurl=file:///rhel7.2
gpgcheck=0
4.安装资源共享服务
yum install httpd -y
systemctl stop firewalld ##关闭防火墙
systemctl disable firewalld ##开机不自动启动防火墙
systemctl start httpd ##开启httpd服务
systemctl enable httpd ##开机运行httpd服务
5.建立共享目录,并挂在镜像文件到共享目录上
mkdir /var/www/html/rhel7.1umount /mnt
mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1
检测到镜像已经挂载
在浏览器中输入:http://本机ip/rhel7.1
可以看到镜像中的内容
7.修改本机yum源指向
[server]
name=rhel7.1
baseurl=file:///var/www/html/rhel7.1
gpgcheck=0
8.开机自动挂在iso
vim /etc/rc.d/rc.local
mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1
:wq
chmod +x /etc/rc.d/rc.local
这样做是为了在开机时自动挂载镜像文件,给我们减轻一些工作负担。
把所有的rpm软件包放到一个目录中,这个目录中只能存在rpm文件
createrepo -v /rpm存放目录
vim /etc/yum.repos.d/xxx.repo
[Software]
name=software
baseurl=file:///rpm存放目录
gpgcheck=0
vim /etc/yum.repos.d/xxxx.repo ##仓库指向文件位置
[xxxx] ##自定义软件仓库名称
name=xxxx ##自定义软件仓库描述
baseurl=ftp://|http://|file:// ##仓库位置
gpgcheck=0 ##不检测gpgkey
##gpgkey表示软件的出品logo
例子:
vim /etc/yum.repos.d/yum.repo
[Server]
name=rhel7.1
baseurl=ftp://172.25.0.254/pub/rhel7.1
gpgcheck=0
:wq
yum clean all ##清空yum缓存识别新配置
在实际工作中,我们不可能给所有的设备都拷贝上镜像和安装包,因为这样会占用许多资源。而共享服务可以很好的帮我们解决这个困难。
####yum命令####
yum install softwarename ##安装
repolist ##列出设定yum源信息
remove softwarename ##卸载
list all ##列出所有软件名称
list installd ##列出已经安装的软件名称
list available ##列出可以用yum安装的软件名称clean all ##清空yum缓存
whatprovides filename ##在yum源中查找包含filename文件的软件包
update ##更新软件
history ##查看系统软件改变历史
reinstall softwarename ##重新安装
info softwarename ##查看软件信息
groups info softwaregroup ##查看软件组内包含的软件
groups install softwaregroup ##安装组件
groups remove softwaregroup ##卸载组件