考察rpm,yum的用法nginx
[root@centos7 ~]# which tree /usr/bin/tree [root@centos7 ~]# rm -f /usr/bin/tree [root@centos7 ~]# tree . bash: tree: command not found...
[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 base | 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 Preparing... ################################# [100%] Updating / installing... 1:tree-1.6.0-10.el7 ################################# [100%]
[root@centos7 ~]# tree . -d . ├── Desktop ├── Documents ├── Downloads ├── Music ├── Pictures ├── Public ├── scripts ├── Templates └── Videos 9 directories
[root@centos7 ~]# yum --help reinstall reinstall a package [root@centos7 ~]# rm -f /usr/bin/tree [root@centos7 ~]# tree -d . -bash: /usr/bin/tree: No such file or directory [root@centos7 ~]# yum reinstall tree -y [root@centos7 ~]# tree -d . . ├── Desktop ├── Documents ├── Downloads ├── Music ├── Pictures ├── Public ├── scripts ├── Templates └── Videos 9 directories
使用rmp2cpio將tree的rpm包轉成cpiocentos
再使用cpio提取相關文件bash
缺陷:僅僅是複製過去了,有可能屬性都不對,複雜的包也不適用,最好不採用此法ide
# cpio -tv表示只是查看下包裏面的文件 [root@centos7 ~]# rpm2cpio /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm | cpio -tv -rwxr-xr-x 1 root root 62768 Jun 10 2014 ./usr/bin/tree drwxr-xr-x 2 root root 0 Jun 10 2014 ./usr/share/doc/tree-1.6.0 -rw-r--r-- 1 root root 18009 Aug 13 2004 ./usr/share/doc/tree-1.6.0/LICENSE -rw-r--r-- 1 root root 4628 Jun 24 2011 ./usr/share/doc/tree-1.6.0/README -rw-r--r-- 1 root root 4100 Jun 24 2011 ./usr/share/man/man1/tree.1.gz # 使用cpio -idv將/usr/bin/tree拿出來 [root@centos7 ~]# rpm2cpio /misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm | cpio -idv ./usr/bin/tree./usr/bin/tree 177 blocks [root@centos7 ~]# ls usr/bin/ -l total 64 -rwxr-xr-x 1 root root 62768 Aug 3 09:29 tree # 而後將文件複製到原來的位置 [root@centos7 ~]# cp usr/bin/tree /usr/bin/tree cp: overwrite ‘/usr/bin/tree’? y # 照樣能夠使用 [root@centos7 ~]# tree . -d . ├── Desktop ├── Documents ├── Downloads ├── Music ├── Pictures ├── Public ├── scripts ├── Templates ├── usr │ └── bin └── Videos 11 directories