本文共 5232 字,大约阅读时间需要 17 分钟。
采用rpm安装时,主要有三个选项,分别是-i选项,-q选项,-V选项,这三个选项都有着若干个子选项,我们将会分条介绍这些选项。
1.-e选项在介绍安装之前我们要先介绍卸载命令,这样我们就可以拿一个包进行反复试验,其命令如下:rpm -e ftp
2.-i选项
-i 选项单此一个选项,后面跟上安装包的路径,就是安装软件,我们ftp为例,将光盘挂载在/media下:mount /dev/cdrom /media
安装命令如下:
rpm -i /media/Package/ftp-0.17-54.el6.x86_64.rpm
rpm -iv /media/Package/ftp-0.17-54.el6.x86_64.rpm
rpm -ih /media/Package/ftp-0.17-54.el6.x86_64.rpm
rpm -i --test /media/Package/ftp-0.17-54.el6.x86_64.rpm
rpm -i --test /media/Packages/samba4-4.2.10-9.el6.x86_64.rpm
rpm -i --nodeps --test /media/Packages/samba4-4.2.10-9.el6.x86_64.rpm
rpm -i --replacepkgs /media/Packages/tree-1.5.3-3.el6.x86_64.rpm
rpm -i --force /media/Packages/tree-1.5.3-3.el6.x86_64.rpm
id apache
rpm -ih --nodeps /media/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm
id apache
3.-q选项
-q选项是查看当前安装软件包的信息,和-i选项相似,他也有着众多的子选项。单-q一个选项是查看已安装包的描述信息,如果这个包没有安装,则提示没有安装,例如:rpm -qf /etc/rc.d/init.d/function
-i选项
这个选项可以显示包的详细信息,不在演示。-p选项 查询未安装的rpm包的信息,查询信息的数据来自于rpm包,-p后面应该加上rpm路径,例如rpm -qi -p /media/Packages/ftp-0.17-54.el6.x86_64.rpm
rpm -q --provides httpd
--whatprovides选项
查询某个能力由哪一个rpm包提供,例如rpm -q --whatprovides webserver
rpm -q --whatrequires webserver
rpm -q -l httpdrpm -q -c httpdrpm -q -d httpd
这样可以列出httpd提供的所有文件,配置文件,文档文件。
3. -V选项
-V选项是用来进行包校验的,如果结果有下面的结果,说明,有内容被修改。S file Size differsM Mode differs (includes permissions and file type)5 digest (formerly MD5 sum) differsD Device major/minor number mismatchL readLink(2) path mismatchU User ownership differsG Group ownership differsT mTimediffersP capabilities differ例如:rpm -V httpd
这时是什么都不会显示的,因为没有修改过httpd的任何文件,现在我往httpd.conf中第一行加入123.
再次执行上面命令,结果如下:当我们使用rpm安装软件时,我们会发现我们安装的包可能会依赖于其他文件,这些文件属于那些我们没有安装的包,当我们先行安装其他包时,这些软件包也有可能依赖于其他文件,如此层层递归下去,会使我们的安装过程中变得无比的繁琐,而且有些文件名和包名是相关的,有些则不是,此时我们根本不知道这些软件包来源于哪里,此时将会进退维谷,而yum是rpm的前端程序,可以解决软件包相关依赖性。可在多个库之间定位软件包。
想要使用yum,首先需要做的就是配置yum仓库,yum仓库文件在/etc/yum.repos.d文件夹下,然后命名为.repo ,可以是任何内容,但一定要以repo结尾,内容格式如下:[candvd]name=Canbaseurl=file:///mediaenabled=1gpgcheck=0gpgkey=file:///media/RPM-GPG-KEY-CentOS-6
其中[candvd]是仓库id,可以是任何内容,name即是仓库名,也可以是任何内容,baseurl是仓库指向的路径,如果是一个文件就是file:// 后面跟上文件的路径,如果是一个链接,即是跟上链接如: ,路径或者链接一定要到包含repodata的目录,如上,路径是挂载的光盘的路径/media,而在/media下有着目录repodata,那么路径就到此处。enable是代表是否启用该仓库,1代表启用,0代表不启用,gpgcheck代表是否启用gpg验证,1代表启用,0代表不启用。gpgkey代表的是公钥,gpg是一种数据加密和数字签名的方法,能够保证数据传输的可靠性,centos光盘中有着gpgkey,我们可以使用下面的命令导入公钥:
rpm --import /media/RPM-GPG-KEY-CentOS-6
然后可以通过下面的命令查看是否导入成功:
rpm -qa "gpg-pubkey*"
结果如下:
yum clean all
yum makecache
其实我们不需要重建yum仓库,当我们执行任意一条yum命令时,当没有仓库缓存时,系统会为我们自行重建仓库。
我们可以用下面的命令来查看我们的仓库:yum repolist
使用yum安装的方法是yum install +包名,也可以同时安装多个包,加上-y是非交互式安装。命令如下:
yum install -y 包1 包2 ...包n
yum list 可以列出仓库以及系统所提供的所有包,相当于yum list all,可以接仓库的id,如果最后一列显示是仓库id,那么表示该软件包时属于该仓库未安装的包;如果显示的是@加仓库id,那么该软件包是已安装的包,并且属于该仓库;如果是@anaconda 该包已安装,且是从操作系统的安装程序anaconda安装的。
yum list 可以跟选项,接all 就是列出所有包,默认是all,接updates就是列出所有可更新的包,接installed就是列出所有已安装的包,如果最后一列是@repoid 表示该包安装自指定的仓库,如果是installed 表示该包由rpm命令手工安装,例如:yum reinstall -y +包名
update选项,能够更新指定的包,如:
yum update tree
yum remove tree -y
yum info tree
yum provides "*/rz"
yum search ftp
deplist选项,能够列出指定包所依赖的所有包,例如:
yum deplist tree
yum history info 12
yum包组:
yum grouplist 列出所有的包组名yum groupinfo '包组名' 查看指定包组中包含哪个包yum groupinstall '包组名'yum groupupdate '包组名'yum groupremove '包组名'dnf是一个较新的安装命令,centos6不支持dnf,可以在centos7上安装dnf,dnf安装速度比yum要快的多,但是几乎所有的yum选项dnf都支持,并且dnf与yum共享数据库,具体安装命令如下:
yum install -y dnf
安装dnf首先是要有dnf的源,可以从网路途径获取,当安装dnf后,会发现,dnf使用的仓库即是yum的仓库。
安装dnf后,我们可以像使用yum那样使用dnf进行安装软件,例如:dnf install -y tree
转载于:https://blog.51cto.com/13412442/2154315