您的位置:首页 > 运维架构 > Linux

LINUX下借助YUM和RPM教你正确寻找并安装软件的姿势

2016-07-22 13:44 731 查看
经常操作LINUX系统的人会发现,当我们登录一个并不是由自己亲手部署的系统的时候,经常会发现习惯性的敲入一些命令的时候发现如下情况:(我用经常使用rz和sz工具举例)
[root@splunk-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 rpm