誤删tree指令如何恢複
考察rpm,yum的用法
一、删除tree指令,tree指令不可用
[root@centos7 ~]# which tree
/usr/bin/tree
[root@centos7 ~]# rm -f /usr/bin/tree
[root@centos7 ~]# tree .
bash: tree: command not found...
二、直接yum或rpm安裝将提示tree已經安裝
[root@centos7 ~]# yum install tree
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
- base: mirror.bit.edu.cn
- extras: mirrors.tuna.tsinghua.edu.cn
- updates: mirrors.tuna.tsinghua.edu.cn
- | 3.6 kB 00:00:00
extras | 3.4 kB 00:00:00
nginx | 2.9 kB 00:00:00
updates | 3.4 kB 00:00:00
Package tree-1.6.0-10.el7.x86_64 already installed and latest version
Nothing to do
[root@centos7 ~]# rpm -ivh /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm
Preparing... ################################# [100%]
package tree-1.6.0-10.el7.x86_64 is already installed
三、解決辦法:強制覆寫安裝
[root@centos7 ~]# rpm --help
--replacepkgs reinstall if the package is already present
[root@centos7 ~]# rpm -ivh /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm --replacepkgs
Updating / installing...
1:tree-1.6.0-10.el7 ################################# [100%]
四、此時的tree已經可以使用
[root@centos7 ~]# tree . -d
.
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── scripts
├── Templates
└── Videos
9 directories
五、yum的話可以重新安裝
[root@centos7 ~]# yum --help
reinstall reinstall a package
[root@centos7 ~]# tree -d .
-bash: /usr/bin/tree: No such file or directory
[root@centos7 ~]# yum reinstall tree -y
六、當然還可以找到tree的rpm包,使用rpm2cpio和cpio -id解壓包,并将tree指令移回到原來的位置