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

📄 0520rpm_and_srpm.htm

📁 鸟哥LINUX 学习课本
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<tr><td valign="top"><font color="#000066" face="SimSun">--nomd5</font></td><td><font face="SimSun"><font color="#000066">使用时间</font><font color="#000000">:不想检查RPM 档案所含的 MD5 信息时。</font></font><br><font face="SimSun"><font color="#000066">说明</font><font color="#000000">:还记得我们在前一章有提到的MD5 这个指纹辨识吧?!没错,这里指的就是不要检查 RPM 套件的 MD5 信息。但除非您很清楚这个套件的来源,否则不建议使用这个参数。</font></font></td></tr><tr><td valign="top"><font color="#000066" face="SimSun">--noscripts</font></td><td><font face="SimSun"><font color="#000066">使用时机</font><font color="#000000">:不想让该套件自行启用或者自行执行某些系统指令。</font></font><br><font face="SimSun"><font color="#000066">说明</font><font color="#000000">:RPM的优点除了可以将档案放置到定位之外,还可以自动执行一些前置作业的指令,例如数据库的初始化。如果您不想要让RPM 帮您自动执行这一类型的指令,就加上他吧!</font></font></td></tr><tr><td valign="top"><font color="#000066" face="SimSun">--replacefiles</font></td><td><font face="SimSun"><font color="#000066">使用时机</font><font color="#000000">:如果在安装的过程当中出现了『</font><font color="#000066">某个档案已经被安装在您的系统上面</font><font color="#000000">』的信息,又或许出现版本不合的讯息(confilcting files )时,可以使用这个参数来直接覆盖档案。</font></font><br><font face="SimSun"><font color="#000066">危险性</font><font color="#000000">:覆盖的动作是无法复原的!所以,您必须要很清楚的知道被覆盖的档案是真的不重要喔!否则会欲哭无泪!</font></font></td></tr><tr><td valign="top"><font color="#000066" face="SimSun">--replacepkgs</font></td><td><font face="SimSun"><font color="#000066">使用时机</font><font color="#000000">:重新安装某个已经安装过的套件!</font></font></td></tr><tr><td valign="top"><font color="#000066" face="SimSun">--force</font></td><td><font color="#000000" face="SimSun">这个参数其实就是 --replacefiles与 --replacepkgs 的综合体!</font></td></tr><tr><td valign="top"><font color="#000066" face="SimSun">--test</font></td><td><font face="SimSun"><font color="#000066">使用时机</font><font color="#000000">:想要测试一下该套件是否可以被安装到使用者的Linux 环境当中。范例为:</font></font><br><font color="#000066" face="SimSun">rpm -ivh pkgname.i386.rpm--test</font></td></tr></tbody></table>&nbsp;</ul>一般来说,安装的指令大约就是这些了。通常鸟哥建议直接使用 -ivh 就好了,如果安装的过程中发现问题,一个一个去将问题找出来,尽量不要使用『<font color="#000066">暴力安装法</font>』,因为可能会发生很多不可预期的问题呢!除非您很清楚的知道使用上面的参数后,安装的结果是您预期的!<br>&nbsp;</ul><hr width="100%"><a name="rpmmanager_update"></a><img src="0520rpm_and_srpm_files/penguin-s.gif" nosave="" align="middle" height="23" width="17"><font color="#000099">RPM升级与更新</font><ul> <br><font face="SimSun"><font color="#000000">使用 RPM 来升级真是太简单了!就以-Uvh 或 -Fvh 来升级即可( </font><i><font color="#000066">注:vh 的功能仍是在于显示细部信息与安装进度而已</font></i><font color="#000000">)!不过,这两种升级方式是不太一样的:</font></font><ul><font color="#000066" face="SimSun"> </font><table border="0" cellpadding="3" cols="2" width="80%"><tbody><tr><td valign="top" width="50"><font color="#000066" face="SimSun">-Uvh</font></td><td><font color="#000000" face="SimSun">后面接的套件即使没有安装过,则系统将予以直接安装;若后面接的套件有安装过旧版,则系统自动更新至新版;</font></td></tr><tr><td valign="top"><font color="#000066" face="SimSun">-Fvh</font></td><td><font face="SimSun">如果后面接的套件并未安装到您的 Linux 系统上,则该套件不会被安装;亦即只有安装至您Linux 系统内的套件会被『升级』!</font></td></tr></tbody></table>	<font color="#000066" face="SimSun"> </font></ul><font face="SimSun"><font color="#000000">由上面的说明来看,如果您想要大量的升级系统旧版本的套件时(</font><i><font color="#000066">例如刚安装完操作系统,而想要更新套件至最新</font></i><font color="#000000">),使用 -Fvh 则是比较好的作法。但是需要注意的是,如果您使用的是 Fvh ,偏偏您的机器上尚无这一个套件,那么很抱歉,该套件并不会被安装在您的Linux 主机上面,所以请重新以 ivh 来安装吧!</font></font><br> <br>通常有的朋友在进行整个操作系统的旧版套件修补时,喜欢这么进行:<br> <ol><li><font color="#000066" face="SimSun">先到各发展商的 errata 网站或者是国内的FTP 映像站捉下来最新的 RPM 档案;</font></li><li><font color="#000066" face="SimSun">使用 -Fvh 来将您的系统内曾安装过的套件进行修补与升级!(<i>真是方便呀!</i>)</font></li></ol> <br>当然啰,升级也是可以利用 <font face="SimSun">--nodeps/--force</font>等等的参数啦!</ul></ul><blockquote><hr width="100%"><a name="rpmmanager_query"></a><img src="0520rpm_and_srpm_files/penguin-s.gif" nosave="" align="middle" height="23" width="17"><font color="#000099">RPM查询</font></blockquote><ul><ul>RPM 在查询的时候,其实查询的地方是在 <b><font color="#000066">/var/lib/rpm</font></b>这个目录下的数据库档案啦!另外, RPM 也可以查询档案内的信息喔!那如何去查询呢?我们底下以简单的范例来说明:<ul> <table border="0" cellspacing="3" cols="2" width="80%"><tbody><tr><td valign="top" width="130"><font face="SimSun">-q&#160; 套件</font></td><td><font face="SimSun">单纯的查询该套件的版本与是否存在而已,例如:</font><br><font color="#000066" face="SimSun">rpm -q logrotate</font></td></tr><tr><td valign="top"><font face="SimSun">-ql 套件</font></td><td><font face="SimSun">列出该套件的所有相关目录与档案喔!例如:</font><br><font color="#000066" face="SimSun">rpm -ql logrotate</font></td></tr><tr><td valign="top"><font face="SimSun">-qi 套件</font></td><td><font face="SimSun">列出该套件的 information (信息),里面的信息可多着呢,包括了套件名称、版本、开发商、SRPM文件名称、打包次数、简单说明信息、套件打包者、安装日期等等!如果想要详细的知道该套件的数据,用这个参数来了解一下。例如:</font><br><font color="#000066" face="SimSun">rpm -qi logrotate</font></td></tr><tr><td valign="top"><font face="SimSun">-qf 档案</font></td><td><font face="SimSun">这个参数后面接的可是『档案』吶!不像前面都是接套件喔!这个功能在查询系统的某个档案属于哪一个套件所有的。举例来说,如果想要知道/etc/logrotate.conf 是那个套件所提供的,可以这样:</font><br><font color="#000066" face="SimSun">rpm -qf /etc/logrotate.conf</font></td></tr><tr><td valign="top"><font face="SimSun">-qc 套件</font></td><td><font face="SimSun">查询该套件的设定文件放置的完整目录名称,例如:</font><br><font color="#000066" face="SimSun">rpm -qc logrotate</font></td></tr><tr><td valign="top"><font face="SimSun">-qd 套件</font></td><td><font face="SimSun">查询该套件的文件说明数据文件放置的完整路径名称,例如:</font><br><font color="#000066" face="SimSun">rpm -qd logrotate</font></td></tr><tr><td valign="top"><font face="SimSun">-qR 套件</font></td><td><font face="SimSun">列出该套件需要预先安装的档案,亦即有属性相依套件的档案!例如:</font><br><font color="#000066" face="SimSun">rpm -qR logrotate</font></td></tr><tr><td valign="top"><font face="SimSun">-qa</font></td><td><font face="SimSun">后面什么都不必加入,直接输入 rpm -qa 即可得知目前Linux 系统上面共以 RPM 的方式安装了多少的套件!</font></td></tr><tr><td valign="top"><font face="SimSun">-qp[licdR] 档案</font></td><td><font face="SimSun">上面提到的都与系统的 /var/lib/rpm 内的数据库有关,而这里提到的则是与RPM 档案本身有关。举例来说,如果我下载了一个档名为 pkgname.i386.rpm 的档案,我想要知道他里面主要的讯息,则:</font><br><font color="#000066" face="SimSun">rpm -qpi pkgname.i386.rpm</font><br><font face="SimSun">想要知道与他有关的套件,则:</font><br><font color="#000066" face="SimSun">rpm -qpR pkgname.i386.rpm</font></td></tr></tbody></table>&nbsp;</ul>常见的查询就是这些了!<br> <table border="1" cols="1" width="80%"><tbody><tr><td>例题:<br>我想要知道我的系统当中,以 c 开头的套件有几个,如何实做?<blockquote><font color="#000066" face="SimSun">rpm -qa | grep ^c| wc -l</font></blockquote><font color="#000000" face="SimSun">我的 WWW 服务器为 Apache ,他使用的RPM 档名为 httpd 。现在,我想要知道这个套件的所有设定档放置在何处,可以怎么作?</font><blockquote><font color="#000066" face="SimSun">rpm -qc httpd</font></blockquote><font color="#000000" face="SimSun">承上题,如果查出来的设定档案已经被我改过,但是我忘记了曾经修改过哪些地方,所以想要直接重新安装一次该套件,该如何作?</font><blockquote><font color="#000066" face="SimSun">假设该套件在网络上的网址为:</font><br><font color="#000066" face="SimSun">http://web.site.name/path/httpd-x.x.xx.i386.rpm</font><br><font color="#000066" face="SimSun">则我可以这样做:</font><br><font color="#000066" face="SimSun">rpm -ivh http://web.site.name/path/httpd-x.x.xx.i386.rpm--replacepkgs</font></blockquote><font color="#000000" face="SimSun">如果我误砍了某个重要档案,例如/etc/crontab,偏偏不晓得他属于哪一个套件,该怎么办?!</font><blockquote><font color="#000066" face="SimSun">虽然已经没有这个档案了,不过没有关系,因为RPM 有纪录在 /var/lib/rpm 当中的数据库啊!所以直接下达:</font><br><font color="#000066" face="SimSun">rpm -qf /etc/crontab</font><br><font color="#000066" face="SimSun">就可以知道是那个套件啰!重新安装一次该套件即可!</font></blockquote></td></tr></tbody></table>&nbsp;</ul><hr width="100%"><a name="rpmmanager_verify"></a><img src="0520rpm_and_srpm_files/penguin-s.gif" nosave="" align="middle" height="23" width="17"><font color="#000099">RPM验证与数位签章</font></ul><blockquote>

⌨️ 快捷键说明

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