经常操作LINUX系统的人会发现,当我们登录一个并不是由自己亲手部署的系统的时候,经常会发现习惯性的敲入一些命令的时候发现如下情况:(我用经常使用rz和sz工具举例)
1
2
|
[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包下的?
1
2
3
4
5
6
|
[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 包名即可,如
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[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 搜索就找不到
1
2
3
4
5
|
[root@localhost ~]
# yum search all htop
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Warning: No matches found
for
: htop
No matches found
|
那就只能去安装第三方源了