Linux-软件包管理-rpm命令管理-校验、文件提取

rpm -V httpd 查看已安装的apache包中文件信息是否已经被人修改

rpm -ql httpd 查看已安装的apache包中文件的位置
vim /etc/httpd/conf/httpd.conf 编辑修改apache包的配置文件httpd.conf

在命令模式下输入"402G",跳转到402行

在命令模式下输入"A",然后在插入模式下输入" index.aspx"

按"ESC"键退出插入模式回到命令模式在按两次"Z"键保存当前正在编辑的apache配置文件

rpm -V httpd 再次查看已安装的apache包中文件信息是否已经被人修改

上图显示的信息分为三段,具体是:文件做了哪些修改 修改文件所属的类型 修改文件所在的位置

没有修改的用"."表示,"S.5....T"表示第一位修改了(S表示文件大小改变了),第二位没有修改(用"."表示没有修改),第三位修改了(5表示文件内容已经发生变化),第四位到第七位没有修改(用"."表示没有修改),第八位修改了(T表示文件的修改时间已经改变)。"c"表示配置文件。

如果已安装的包文件修改错了,或者有部分丢失,需要从安装包中取出部分文件,而不是重新安装包,在linux系统中需要对包文件进行提取操作。

rpm -qf /bin/ls 查询bin目录下ls文件属于哪个包

mv /bin/ls /tmp/ 将bin目录下的ls文件移动到tmp目录下
ls 在执行ls命令就会出现找不到的信息

cd 切换到用户所在的默认目录,root用户就是root目录下,其他用户就是/home/当前用户名的目录下
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-37.el6.x86_64.rpm | \ (一行写不下可以使用"\回车"换行输入接下来的命令)
cpio -idv ./bin/ls 提取bin目录下ls文件到当前目录

ls    使用ls命令还是没有这个文件,原因为当前目录是在root目录下(使用pwd可以查看当前目录在哪个绝对路径上)
dir   显示当前目录的所有信息,注意bin目录已经有了,就是cpio命令提取出来的
cd bin/   进入bin目录下
dir   查看当前目录下面的所有信息,注意bin目录下面就的ls文件就是从cpio命令中提取出来的
cp ls /bin/ls     复制ls文件到bin目录下,并且文件名称还叫ls
cd ..     从bin目录回到上一级目录(即root目录)
ls    使用ls命令就可以查看到当前目录(即root目录下的所有信息)

posted @ 2015-03-17 22:34  —八戒—  阅读(1169)  评论(0编辑  收藏  举报