⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0520rpm_and_srpm.htm

📁 鸟哥LINUX 学习课本
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<blockquote>验证的功能主要在于提供系统管理员一个有用的管理机制!作用的方式是『<b><font color="#000066">使用/var/lib/rpm 底下的数据库内容来比对目前 Linux 系统的环境下的所有套件档案</font></b>』也就是说,当您有数据不小心遗失,或者是因为您误杀了某个套件的档案,或者是不小心不知道修改到某一个套件的档案内容,就用这个简单的方法来验证一下原本的档案系统吧!好让您了解这一阵子到底是修改到哪些档案数据了!验证的方式很简单:<blockquote> <table border="0" cellspacing="3" cols="2" width="80%"><tbody><tr><td valign="top" width="100"><font face="SimSun">-V&#160; 套件</font></td><td><font face="SimSun">验证一下这个套件的所有档案是否有被更动过,只有被更动过的档案才会被列出来。例如:</font><br><font color="#000066" face="SimSun">rpm -V logrotate</font></td></tr><tr><td valign="top"><font face="SimSun">-Va</font></td><td><font face="SimSun">列出目前系统当中所有被更动过的档案。例如:</font><br><font color="#000066" face="SimSun">rpm -Va</font></td></tr><tr><td valign="top"><font face="SimSun">-Vp 套件</font></td><td><font face="SimSun">列出该套件上面可能已经被更动过的档案,例如:</font><br><font color="#000066" face="SimSun">rpm -Vp pkgname.i386.rpm</font></td></tr><tr><td valign="top"><font face="SimSun">-Vf 档案</font></td><td><font face="SimSun">查阅一下某个档案是否被更动过,例如:</font><br><font color="#000066" face="SimSun">rpm -Vf /etc/logrotate.conf</font></td></tr></tbody></table>&nbsp;</blockquote>好了,那么我怎么知道到底我的档案被更动过的内容是什么?呵呵!简单的说明一下吧!例如,我们检查一下logrotate 这个套件:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" color="#cccccc" face="SimSun"># 先看一下logrotate 有几个档案?</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">rpm -ql logrotate</font></b></font><br><font size="-1" color="#ffffff" face="SimSun">/etc/cron.daily/logrotate</font><br><font size="-1" color="#ffffff" face="SimSun">/etc/logrotate.conf</font><br><font size="-1" color="#ffffff" face="SimSun">/etc/logrotate.d</font><br><font size="-1" color="#ffffff" face="SimSun">/usr/sbin/logrotate</font><br><font size="-1" color="#ffffff" face="SimSun">/usr/share/doc/logrotate-3.6.8</font><br><font size="-1" color="#ffffff" face="SimSun">/usr/share/doc/logrotate-3.6.8/CHANGES</font><br><font size="-1" color="#ffffff" face="SimSun">/usr/share/man/man8/logrotate.8.gz</font><br><font size="-1" color="#ffffff" face="SimSun">/var/lib/logrotate.status</font><br><font size="-1" color="#ff6666" face="SimSun"># 呵呵!共有8 个档案喔!</font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" color="#cccccc" face="SimSun"># 再来看一下有几个档案被动过了?!</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">rpm -V logrotate</font></b></font><br><font size="-1" color="#ffffff" face="SimSun">..5....T c/etc/logrotate.conf</font><br><font size="-1" color="#ffffff" face="SimSun"> </font><br><font size="-1" color="#ff6666" face="SimSun"># 怪怪!前面的几个咚咚是什么呢?!底下说明喔!</font><br><font size="-1" color="#ffccff" face="SimSun">S :file Sizediffers</font><br><font size="-1" color="#ffccff" face="SimSun">  档案的容量大小是否被改变</font><br><font size="-1" color="#ffccff" face="SimSun">M :Mode differs(includes permissions and file type)</font><br><font size="-1" color="#ffccff" face="SimSun">  档案的类型或档案的属性,如是否可执行等参数已被改变</font><br><font size="-1" color="#ffccff" face="SimSun">5 :MD5 sumdiffers</font><br><font size="-1" color="#ffccff" face="SimSun">  MD5 这一种加密防骇的属性已被改变</font><br><font size="-1" color="#ffccff" face="SimSun">D :Devicemajor/minor number mis-match</font><br><font size="-1" color="#ffccff" face="SimSun">  装置名称已被改变</font><br><font size="-1" color="#ffccff" face="SimSun">L :readLink(2)path mis-match</font><br><font size="-1" color="#ffccff" face="SimSun">  Link 属性已被改变</font><br><font size="-1" color="#ffccff" face="SimSun">U :User ownershipdiffers</font><br><font size="-1" color="#ffccff" face="SimSun">  档案的所属人已被改变</font><br><font size="-1" color="#ffccff" face="SimSun">G :Group ownershipdiffers</font><br><font size="-1" color="#ffccff" face="SimSun">  档案的所属群组已被改变</font><br><font size="-1" color="#ffccff" face="SimSun">T :mTime differs</font><br><font size="-1" color="#ffccff" face="SimSun">  档案的建立时间已被改变</font></td></tr></tbody></table> <br>所以,如果当一个档案所有的信息都被更动过,那么他的显示就会是:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><b><font size="-1" color="#ffff00" face="SimSun">SM5DLUGTc filename</font></b></td></tr></tbody></table> <br>至于那个 c 代表的是『 Config file 』的意思,也就是档案的类型,档案类型有底下这几类:<ul><li><font color="#000066" face="SimSun">c :设定档(config file)</font></li><li><font color="#000066" face="SimSun">d :文件数据文件(documentation)</font></li><li><font color="#000066" face="SimSun">g :鬼档案~通常是该档案不被某个套件所包含,较少发生!(ghostfile)</font></li><li><font color="#000066" face="SimSun">l :授权档案(license file)</font></li><li><font color="#000066" face="SimSun">r :自述文件(read me)</font></li></ul>经过验证的功能,您就可以知道那个档案被更动过。那么如果该档案的变更是『预期中的』,那么就没有什么大问题,但是如果该档案是『非预期的』,那么是否被入侵了呢?呵呵!得注意注意啰!<br> <br>再来,由于数字签证的盛行,我们 Linux 的 RPM 也可以利用数字签证来判断待安装的套件档案是否有问题喔!一般我们使用的是<font color="#000066">GPG 的金钥( public key )。</font>应用的方法很简单,首先,当我们想要使用某个团体释出的套件时,就需要将他们释出的GPG 金钥先安装在自己的 Linux 系统上。然后,当安装该团体释出的套件时,就会检查两者的key 是否相同,如果相同就直接安装,如果不同就会在屏幕上面显示讯息告知您并未安装该团体的GPG 金钥!<br> <br>安装金钥的方法很简单,例如 Red Hat 本身就有金钥在系统当中,安装如下:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">rpm --import /usr/share/rhn/RPM-GPG-KEY</font></b></font></td></tr></tbody></table> <br>那么如何查得这个金钥的相关信息呢?使用的方法很简单:<br> <table bgcolor="#000000" border="1" cols="1" width="600"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">rpm -qa | grep gpg</font></b></font><br><font size="-1" color="#ffffff" face="SimSun">gpg-pubkey-e30di49b-392ksif1</font><br><font size="-1" color="#ffffff" face="SimSun">gpg-pubkey-dkdf93ke-35698248</font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">rpm -qi gpg-pubkey-e30di49b-392ksif1</font></b></font><br><font size="-1" color="#ffffff" face="SimSun">Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;: gpg-pubkey&#160;&#160; Relocations: (not relocateable)</font><br><font size="-1" color="#ffffff" face="SimSun">Version&#160;&#160;&#160;&#160;: e30di49b&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Vendor:(none)</font><br><font size="-1" color="#ffffff" face="SimSun">Release&#160;&#160;&#160;&#160;: 392ksif1&#160;&#160;&#160;&#160;&#160; Build Date: Mon 29 Sep 2003 07:29:13PM CST</font><br><font size="-1" color="#ffffff" face="SimSun">Install Date:Mon 29 Sep 2003 07:29:13 PM CST&#160;&#160;&#160;&#160;&#160; Build Host:localhost</font><br><font size="-1" color="#ffffff" face="SimSun">Group&#160;&#160;&#160;&#160;&#160;&#160;: Public Keys&#160;&#160; Source RPM: (none)</font><br><font size="-1" color="#ffffff" face="SimSun">Size&#160;&#160;&#160;&#160;&#160;&#160;&#160;: 0&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;License: pubkey</font><br><font size="-1" color="#ffffff" face="SimSun">Signature&#160;&#160;: (none)</font><br><font size="-1" color="#ffffff" face="SimSun">Summary&#160;&#160;&#160;&#160;: gpg(Matthias Saou (Thias) &lt;matthias.saou@est.une.marmotte.net&gt;)</font><br><font size="-1" color="#ffffff" face="SimSun">Description:</font><br><font size="-1" color="#ffffff" face="SimSun">-----BEGINPGP PUBLIC KEY BLOCK-----</font><br><font size="-1" color="#ffffff" face="SimSun">Version: rpm-4.2(beecrypt-2.2.0)</font><font size="-1" color="#ffffff" face="SimSun"></font><p><font size="-1" color="#ffffff" face="SimSun">mQGiBDlgvfERBADevsErSu+DAnE90dFPnpEX20elyZAmuRExGbcUJWSoJynohtGCa9fW6JY8</font><br><font size="-1" color="#ffffff" face="SimSun">zm/Dm2dC8f1sSNQ2w7CFG7XRBfyQcL4AqrNKbOMeCl66Tgj+NURUHsnVyU3ASXROxVQ4/yJ6</font><br><font size="-1" color="#ffffff" face="SimSun">9PVFomj0sealdEyDXDQoXhvgyI26qe3rriKBefCbRwCg+TdHq5I8B/9X7QLnWg7sZk7iI7sD</font><br><font size="-1" color="#ffffff" face="SimSun">/27S9r4PS+FU9N26BvdgOvGeW6+1O/oqAU6HB+EFeGw0+uNbLjxPy1A9R5+M/FBZBMeyTO0S</font><br><font size="-1" color="#ffffff" face="SimSun">83RVrnNfp5qzfAn8uo4EWg8eb1w==</font><br><font size="-1" color="#ffffff" face="SimSun">=Sm+P</font><br><font size="-1" color="#ffffff" face="SimSun">-----END PGPPUBLIC KEY BLOCK-----</font></p></td></tr></tbody></table> <br>这样就能看到相关的信息啰! ^_^</blockquote></blockquote><ul><hr width="100%"><a name="rpmmanager_rebuild"></a><img src="0520rpm_and_srpm_files/penguin-s.gif" nosave="" align="middle" height="23" width="17"><font color="#000099">RPM反安装与重建数据库</font></ul><blockquote><blockquote>反安装就是将套件解除安装啦!要注意的是,『解安装的过程一定要由最上层往下解除』,以rp-pppoe 为例,这一个套件主要是依据 ppp 这个套件来安装的,所以当您要解除ppp 的时候,就必须要先解除 rp-pppoe 才行!否则就会发生结构上的问题啦!这个可以由建筑物来说明,如果你要拆除五、六楼,那么当然要由六楼拆起,否则拆了第五楼,那么上面的楼层难道会悬空?<br> <br>那么重建数据库呢?由于我们会一直在修改一些档案内容,例如 /etc/xinetd.d里头的参数档案,加上可能自系统操作的过程中新增、移除等等的动作,导致系统的数据库有点乱,这个时候可以使用 	<font color="#000066" face="SimSun">--rebuilddb</font> 来重建一下rpm 的数据库!这两个方法的参数如下啰:<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">rpm -e logrotate</font></b><font color="#ffffff">&#160;</font><font color="#ffccff">&lt;==解安装 logrotate 套件</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><b><font color="#ffff00">rpm --rebuilddb&#160;</font></b><font color="#ffffff">&#160;</font><font color="#ffccff">&lt;==重建数据库</font></font></td></tr></tbody></table></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -