-
RPM命令管理:RPM包中文件提取 rpm2cpio 包全名 | cpio -idv .文件绝对路径 --> 前面的【.】代表当前路径,不能省略。【文件绝对路径】和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪个文件。 注:cpio只知道提取文件,并不知道要从什么地方提取文件,因此我们通常要使用【|】管道符或【<】输入重定向告诉cpio我们应该从什么设备去取出文件。 使用输入重定向的cpio命令格式: cpio 选项 < [文件|设备] 选项: -i:copy-in模式,还原 -d:还原时自动新建目录 -v:显示还原过程 下面是模拟ls命令被误删,然后从rpm包中恢复的过程: [root@CentOS6 ~]# mv /bin/ls /tmp/ -->误删ls命令 [root@CentOS6 ~]# ls -->ls命令失效 -bash: /bin/ls: 没有那个文件或目录 [root@CentOS6 ~]# rpm -qf /bin/ls -->查询ls命令所在的rpm包 coreutils-8.4-31.el6.i686 [root@CentOS6 ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-31.el6.i686.rpm | cpio -idv ./bin/ls -->通过rpm2cpio命令将rpm包转换成cpio格式文件,然后通过cpio命令将前面文件中的指定文件提取到当前目录下(其中的【.】表示提取到当前目录,【.】后面是文件在包中的绝对路径,cpio根据这个绝对路径来找到要提取的文件。) ./bin/ls 24819 块 [root@CentOS6 ~]# dir -->先使用dir命令查看当前目录,发现【bin】目录已经提取出来了,里面包含了ls命令文件 bin install.log install.log.syslog [root@CentOS6 ~]# cp ./bin/ls /bin/ls -->将该ls命令复制到/bin/目录下,这样ls就恢复回来了 [root@CentOS6 ~]# ls bin install.log install.log.syslog [root@CentOS6 ~]#查看全部
-
yum list 查询所有可用软件包 yum search 搜索服务器上相关软件包 yum -y install查看全部
-
http://img1.sycdn.imooc.com//55cc59e30001282412800722-120-68.jpg查看全部
-
yum源文件查看全部
-
http://img1.sycdn.imooc.com//55cc4f09000191c212800722-120-68.jpg查看全部
-
RPM命令管理:RPM包校验 [root@CentOS6 ~]# rpm -ql httpd-tools /usr/bin/ab /usr/bin/htdbm /usr/bin/htdigest /usr/bin/htpasswd /usr/bin/logresolve /usr/share/doc/httpd-tools-2.2.15 /usr/share/doc/httpd-tools-2.2.15/LICENSE /usr/share/man/man1/ab.1.gz /usr/share/man/man1/htdbm.1.gz /usr/share/man/man1/htdigest.1.gz /usr/share/man/man1/htpasswd.1.gz /usr/share/man/man1/logresolve.1.gz [root@CentOS6 ~]# vi /usr/share/doc/httpd-tools-2.2.15/LICENSE [root@CentOS6 ~]# rpm -V httpd-tools S.5....T. d /usr/share/doc/httpd-tools-2.2.15/LICENSE 上面输出内容的格式为:SM5DLUGT 文件类型 文件名 其中: 1、【S : 表示文件大小;M : 表示文件类型或权限(rwx);5 : 表示文件MD5检查和;D : 表示设备主从代码;L : 表示文件路径;U : 表示文件属主(所有者);G : 表示文件属组;T : 表示文件修改时间。】若这8项有一项发生变化,则显示出对应的字母,若无变化,则用【.】表示。 2、当前发生变化的文件类型:c:配置文件(config file);d:普通文档(documentation);g:“鬼”文件(ghost file)很少见,就是该文件不应该被这个rpm包包含;L:授权文件(license file);r:描述文件(read me)。 上面输出表示:普通文档【/usr/share/doc/httpd-tools-2.2.15/LICENSE】的文件大小、校验和及修改时间与rpm包中的原始文件相比发生了变化。查看全部
-
RPM命令管理:查询软件包的依赖性 该命令不常用,因为查出的依赖很多,反而更乱。还不如直接安装,然后根据依赖性错误提示查看依赖哪些软件包。 通常该命令用于写作总结、整理时,总结软件包依赖性时使用。 该命令也同样支持查询已安装包(提供包名)和未安装包(提供包全名)。 [root@CentOS6 ~]# rpm -qR man /bin/bash /bin/sh /bin/sh bzip2 config(man) = 1.6f-32.el6 coreutils findutils groff >= 1.18 gzip less libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) lzma mktemp >= 1.5-2.1.5x nroff-i18n rpm rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1查看全部
-
RPM命令管理:查询系统文件属于哪个RPM包 系统文件名:指的是该文件必须是通过rpm包安装的,而不能是自己手动创建的或系统创建的临时文件等。 [root@CentOS6 ~]# rpm -ql httpd-tools /usr/bin/ab /usr/bin/htdbm /usr/bin/htdigest /usr/bin/htpasswd /usr/bin/logresolve /usr/share/doc/httpd-tools-2.2.15 /usr/share/doc/httpd-tools-2.2.15/LICENSE /usr/share/man/man1/ab.1.gz /usr/share/man/man1/htdbm.1.gz /usr/share/man/man1/htdigest.1.gz /usr/share/man/man1/htpasswd.1.gz /usr/share/man/man1/logresolve.1.gz [root@CentOS6 ~]# rpm -qf /usr/bin/ab httpd-tools-2.2.15-29.el6.centos.i686查看全部
-
RPM命令管理:RPM包默认安装位置 这里只是默认安装位置,具体安装在哪,并没有硬性规定。查看全部
-
RPM命令管理:查询软件包中文件的安装位置 1、软件包中文件的安装位置都是软件作者提前定义好的; 2、查询已安装软件包中文件的安装位置:【rpm -ql 包名】 [root@CentOS6 ~]# rpm -ql man /etc/cron.daily/makewhatis.cron /etc/man.config /usr/bin/apropos /usr/bin/man /usr/bin/man2html /usr/bin/manpath /usr/bin/whatis /usr/libexec/man-cmp.sh /usr/sbin/makewhatis /usr/share/doc/man-1.6f /usr/share/doc/man-1.6f/COPYING /usr/share/doc/man-1.6f/README /usr/share/locale/bg/LC_MESSAGES/man /usr/share/locale/cs/LC_MESSAGES/man /usr/share/locale/da/LC_MESSAGES/man ......部分内容省略...... 3、查询未安装软件包中文件的安装位置:【rpm -qip 包全名】 [root@CentOS6 ~]# rpm -qlp /mnt/cdrom/Packages/httpd-2.2.15-29.el6.centos.i686.rpm /etc/httpd /etc/httpd/conf /etc/httpd/conf.d /etc/httpd/conf.d/README /etc/httpd/conf.d/welcome.conf /etc/httpd/conf/httpd.conf /etc/httpd/conf/magic /etc/httpd/logs /etc/httpd/modules /etc/httpd/run /etc/logrotate.d/httpd /etc/rc.d/init.d/htcacheclean /etc/rc.d/init.d/httpd /etc/sysconfig/htcacheclean ......部分内容省略......查看全部
-
RPM命令管理:查询软件包详细信息 1、软件包的信息是由软件作者提前写在软件包里面的; 2、查询已安装软件包的信息:【rpm -qi 包名】 [root@CentOS6 ~]# rpm -qi httpd-tools Name : httpd-tools Relocations: (not relocatable) Version : 2.2.15 Vendor: CentOS Release : 29.el6.centos Build Date: 2013年08月14日 星期三 01时28分20秒 Install Date: 2015年08月10日 星期一 21时03分59秒 Build Host: c6b8.bsys.dev.centos.org Group : System Environment/Daemons Source RPM: httpd-2.2.15-29.el6.centos.src.rpm Size : 131477 License: ASL 2.0 Signature : RSA/SHA1, 2013年08月14日 星期三 01时32分38秒, Key ID 0946fca2c105b9de Packager : CentOS BuildSystem <http://bugs.centos.org> URL : http://httpd.apache.org/ ---> 这里通常是软件包的官方地址 ......部分内容省略...... 3、查询未安装的软件包信息:【rpm -qip 包全名】 查询出的结果同上,只是这项不同:【Install Date: (not installed)】 注:此命令平时不常用,一般用于查询该软件包的官方网站地址,也就是详细信息里面的【URL】项。查看全部
-
包转换查看全部
-
rpm -V 包名 包校验 文件类型: c config file d documentation g ghost file 不应该被包含的文件 l license file r read me查看全部
-
rpm -qf 查询系统文件属于哪个包 -qfp rpm -qR(p) 查询依赖关系查看全部
-
rpm -qi 包名 查询包的信息 rpm -qip 包全名 查询为安装包的信息 rpm -ql 包名 查询安装列表查看全部
举报
0/150
提交
取消