Linux下正确使用YUM和RPM安装软件

经常操作Linux系统的人会发现,当我们登录一个并不是由自己亲手部署的系统的时候,经常会发现习惯性的敲入一些命令的时候发现如下情况:(我用经常使用rz和sz工具举例)

[root@linuxidc-CentOS ~]# rz
-bash: rz: command not found

  根据提示为命令没找到,一般人的做法如下:

  百度“rz: command not found” 然后根据搜索页面打开网页,告诉你需要安装lrzsz包,然后执行yum install lrzsz
  这个问题我们能不能不用百度解决?
  答案是当然可以!
   
    这里有两个前提:
        1、可以通过YUM访问软件仓库
        2、当前的YUM源仓库确实有这个数据包
还好我举例的rz&&sz 在大部分发行版官方源中有。怎么知道rz&&sz是在lrzsz包下的?
 
[root@localhost data]# yum search rz
  Loaded plugins: fastestmirror
  Loading mirror speeds from cached hostfile
================================== N/S matched: rz ======================================
lrzsz.x86_64 : The lrz and lsz modem communications programs
Name and summary matches only, use "search all" for everything.

 
  看上到上面的lrzsz.x86_64了吗?说明rz命令在lrzsz包中,支持64位系统
  然后yum install lrzsz -y 安装即可
 
  现在说第二个问题,如果我知道了某个软件包,想知道这个包都有那些工具(命令)怎么办?
  比如,centos7 默认最小化安装没有ifconfig,用刚才的方法你就能找到了,并yum 安装。
  既然是一个包,那么还包含了其它命名了没?
  利用rpm -qa 包名即可,如

[root@localhost ~]# rpm -ql net-tools
/bin/netstat
/sbin/arp
/sbin/ether-wake
/sbin/ifconfig
/sbin/ipmaddr
/sbin/iptunnel
/sbin/mii-diag
/sbin/mii-tool
/sbin/nameif
/sbin/plipconfig
/sbin/route
/sbin/slattach

我只截了命令,man帮助文件等省略。通过可以查看包的完整命令
[root@localhost ~]# rpm -qa |grep net-tools
net-tools-2.0-0.17.20131004git.el7.x86_64
哇,原来还安装了这么多命令呀,这个装一个rpm我们就知道到底安装了什么,都在哪

当然上面的两个前提如果不通过也不行,比如htop默认没在centos源中,你YUM 搜索就找不到
[root@localhost ~]# yum search all htop
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Warning: No matches found for: htop
No matches found

那就只能去安装第三方源了。

更多YUM相关教程见以下内容

相关推荐