Linux软件安装——安装软件的命令
摘要:本文主要学习了如何在Linux系统中安装、更新、卸载软件。
rpm命令
rpm命令用来在Linux系统上进行软件的安装。
基本语法
安装命令:
1 rpm -ivh 包全名
如果没有安装则安装,如果已经安装则升级:
1 rpm -Uvh 包全名
如果没有安装则不安装,如果已经安装则升级:
1 rpm -Fvh 包全名
卸载命令:
1 rpm -e 包名
查询安装信息:
1 rpm [选项]
选项说明
关于软件安装的选项:
1 -i:安装。 2 -v:显示更详细的信息。 3 -h:显示安装进度。 4 -nodeps:不检测依赖性安装。软件安装时会检测依赖性,确定所需的底层软件是否安装,如果没有安装则会报错。如果不管依赖性,想强制安装,则可以使用这个选项。注意,这样不检测依赖性安装的软件基本上是不能使用的,所以不建议这样做。 5 -replacefiles:替换文件安装。如果要安装软件包,但是包中的部分文件已经存在,那么在正常安装时会报“某个文件已经存在”的错误,从而导致软件无法安装。使用这个选项可以忽略这个报错而覆盖安装。 6 -replacepkgs:替换软件包安装。如果软件包已经安装,那么此选项可以把软件包重复安装一遍。 7 -force:强制安装。不管是否已经安装,都重新安装。也就是-replacefiles和-replacepkgs的综合。 8 -test:测试安装。不会实际安装,只是检测一下依赖性。 9 -prefix:指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。 10 -U:如果该软件没有安装则直接安装,如果安装过则升级至最新版本。 11 -F:如果该软件没有安装则不会安装,如果安装过则升级至最新版本。 12 -e:表示卸载。
关于查询软件安装信息的选项:
1 -q 包名:查询指定软件是否安装。 2 -qa:查询已经安装的所有软件。 3 -qi 包名:查询软件的详细信息,包含开发商、版本与说明等。 4 -ql 包名:查询安装软件的用到的文件和目录。 5 -qc 包名:查询软件的所有配置文件。 6 -qd 包名:查询软件的所有说明文件。 7 -qR 包名:查询软件包的依赖关系。 8 -qip 包全名:查询未安装的软件包信息。 9 -qf 系统文件名:命令查询系统文件属于什么软件。
yum命令
使用yum命令可以实现查询、安装、升级和卸载RPM包。
基本语法
查询命令:
1 yum [选项]
安装命令:
1 yum install -y 包名
升级命令:
1 yum update -y 包名
卸载命令:
使用yum卸载软件包时,会同时卸载所有与该包有依赖关系的其他软件包,即便有依赖包属于系统运行必备文件,也会被yum无情卸载,带来的直接后果就是使系统崩溃。
除非你能确定卸载此包以及它的所有依赖包不会对系统产生影响,否则不要使用yum卸载软件包。
1 yum remove 包名
清理缓存:
1 yum clean all
选项说明
关于软件查询的选项:
1 list 包名:查询执行软件包的安装情况。 2 list:查询所有已安装和可安装的软件包。 3 list updates:查询所有可更新的软件包。 4 list installed:查询所有已安装的软件包。 5 list extras:查询已安装但不在仓库里的软件包。 6 info 包名:查询指定软件包的详细信息。 7 info:查询所有软件包的详细信息。 8 info updates:查询所有可更新软件包的详细信息。 9 info installed:查询所有已安装软件包的详细信息。 10 info extras:查询已安装但不在仓库里软件包的详细信息。 11 search 关键字:从源服务器上查找与关键字相关的所有软件包。 12 provides 系统文件名:查询提供指定内容的软件包。 13 repolist:查询仓库里已安装的软件包。 14 repolist all:查询仓库里所有的软件包。 15 repolist enabled:查询仓库里可用的软件包。 16 repolist disabled:查询仓库里不可用的软件包。
使用举例
在使用nslookup命令时,发现没有这个命令:
1 [root@localhost ~]# nslookup www.baidu.com 2 -bash: nslookup: 未找到命令 3 [root@localhost ~]#
在服务器上查询相关软件包,结果没有查到:
1 [root@localhost ~]# yum search nslookup 2 已加载插件:fastestmirror 3 Loading mirror speeds from cached hostfile 4 * base: mirror.bit.edu.cn 5 * extras: mirror.bit.edu.cn 6 * updates: mirror.bit.edu.cn 7 警告:没有匹配 nslookup 的软件包 8 No matches found 9 [root@localhost ~]#
查看这个命令包含在哪个软件包里:
1 [root@localhost ~]# yum provides nslookup 2 已加载插件:fastestmirror 3 Loading mirror speeds from cached hostfile 4 * base: mirror.bit.edu.cn 5 * extras: mirror.bit.edu.cn 6 * updates: mirror.bit.edu.cn 7 extras/7/x86_64/filelists_db | 246 kB 00:00:00 8 http://mirrors.huaweicloud.com/centos/7.6.1810/updates/x86_64/repodata/f08e65d2341e5f1e17bd68956e26e896fd4a46b39b2a8392b4be4898e1ad4dd0-filelists.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found 9 正在尝试其它镜像。 10 To address this issue please refer to the below knowledge base article 11 12 https://access.redhat.com/articles/1320623 13 14 If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/ 15 16 http://mirror.jdcloud.com/centos/7.6.1810/updates/x86_64/repodata/f08e65d2341e5f1e17bd68956e26e896fd4a46b39b2a8392b4be4898e1ad4dd0-filelists.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found 17 正在尝试其它镜像。 18 http://mirrors.tuna.tsinghua.edu.cn/centos/7.6.1810/updates/x86_64/repodata/f08e65d2341e5f1e17bd68956e26e896fd4a46b39b2a8392b4be4898e1ad4dd0-filelists.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found 19 正在尝试其它镜像。 20 http://mirror.bit.edu.cn/centos/7.6.1810/updates/x86_64/repodata/f08e65d2341e5f1e17bd68956e26e896fd4a46b39b2a8392b4be4898e1ad4dd0-filelists.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found 21 正在尝试其它镜像。 22 http://mirror.lzu.edu.cn/centos/7.6.1810/updates/x86_64/repodata/f08e65d2341e5f1e17bd68956e26e896fd4a46b39b2a8392b4be4898e1ad4dd0-filelists.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found 23 正在尝试其它镜像。 24 updates/7/x86_64/filelists_db | 4.9 MB 00:00:11 25 32:bind-utils-9.9.4-72.el7.x86_64 : Utilities for querying DNS name servers 26 源 :base 27 匹配来源: 28 文件名 :/usr/bin/nslookup 29 30 31 32 32:bind-utils-9.9.4-73.el7_6.x86_64 : Utilities for querying DNS name servers 33 源 :updates 34 匹配来源: 35 文件名 :/usr/bin/nslookup 36 37 38 39 32:bind-utils-9.9.4-74.el7_6.1.x86_64 : Utilities for querying DNS name servers 40 源 :updates 41 匹配来源: 42 文件名 :/usr/bin/nslookup 43 44 45 46 [root@localhost ~]#
发现是在 bind-utils 这个包里,使用安装命令安装即可:
1 [root@localhost ~]# yum install -y bind-utils 2 已加载插件:fastestmirror 3 base | 3.6 kB 00:00:00 4 extras | 3.4 kB 00:00:00 5 updates | 3.4 kB 00:00:00 6 updates/7/x86_64/primary_db | 7.4 MB 00:00:02 7 Loading mirror speeds from cached hostfile 8 * base: mirror.bit.edu.cn 9 * extras: mirror.bit.edu.cn 10 * updates: mirror.bit.edu.cn 11 正在解决依赖关系 12 ... 13 完毕! 14 [root@localhost ~]#
至此,安装就完成了。