Linux软件安装——安装软件的命令

Linux软件安装——安装软件的命令 摘要:本文主要学习了如何在Linux系统中安装、更新、卸载软件。 rpm命令 rpm命令用来在Linux系统上进行软件的

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 ~]#

至此,安装就完成了。