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

📄 09.rpm之安装篇.htm

📁 有关于linux 学习的书籍
💻 HTM
📖 第 1 页 / 共 3 页
字号:
      如加上--badreloc选项,结果怎么样:<br>
      # rpm -i --relocate /usr/man=/tmp --badreloc file-3.26-6.i386.rpm<br>
<br>
        # rpm -ql file<br>
        /usr/bin/file<br>
        /tmp/man1/file.1<br>
        /tmp/man4/magic.4<br>
        /usr/share/magic<br>
        #<br>
      <br>
<br>
由上可以看到,这样的强制重定位获得通过,之后再用查询命令rpm -ql列一下file包的文件,就会发现原来的/usr/man/man1/file.1定位成了/tmp/man1/file.1,而/usr/man/man4/magic.4则成了/tmp/man4/magic.4。怎么样?神奇吧!<br>
<br>
        17.excludepath:不安装指定目录下的文件<br>
           利用此选项,可以禁止RPM安装某些指定目录下的文件。如不想安装file软件包中的说明文档,除了可使用--excludedocs选项外,还可使用本选项。因为file的说明文档均在目录/usr/man下面。<br>
<br>
      # rpm -i --excludepath /usr/man file-3.26-6.i386.rpm<br>
        # rpm -qls file<br>
        normal/usr/bin/file<br>
        not installed /usr/man/man1/file.1<br>
        not installed /usr/man/man4/magic.4<br>
        normal/usr/share/magic<br>
        #<br>
      注:例子中先安装file软件包,并用--excludepath禁止安装/usr/man下的文件,再用RPM查询命令rpm<br>
        -qls列出file包的文件及状态,可以看到:/usr/man下的两个文件均未安装(not installed)。<br>
        18.justdb:仅更新数据库<br>
          安装软件包使用此选项后,RPM将只更新其数据库数据,文件系统不更新,意即并不拷贝和建立包中的文件。<br>
<br>
      # rpm -i --justdb file-3.26-6.i386.rpm<br>
        # rpm -qls file<br>
        normal/usr/bin/file<br>
        normal/usr/man/man1/file.1<br>
        normal/usr/man/man4/magic.4<br>
        normal/usr/share/magic<br>
        # ls -l /usr/bin/file<br>
        ls: /usr/bin/file: 文件或目录不存在<br>
        #<br>
      <br>
<br>
注:例子中安装file包但指明只更新数据库,结果是:虽然用查询命令查到该软件包中所有文件状态均正常(normal),但用ls命令列包中所含文件/usr/bin/file,该文件却不存在。这表明包中文件并未建立。<br>
<br>
        19.prefix:指定重定位前缀<br>
           如前所述,可重定位的软件包可含一个或多个重定位前缀,可用--relocate选项来改变某个重定位前缀之值。--prefix选项仅能用来改变默认的重定位前缀(默认是第一个重定位前缀),它不需要说明原重定位前缀。下面的例子同样将file包安装到/tmp目录:<br>
<br>
      # rpm -qpl file-3.26-6.i386.rpm<br>
        /usr/bin/file<br>
        /usr/man/man1/file.1<br>
        /usr/man/man4/magic.4<br>
        /usr/share/magic<br>
        # rpm -i --prefix /tmp file-3.26-6.i386.rpm<br>
        # rpm -ql file<br>
        /tmp/bin/file<br>
        /tmp/man/man1/file.1<br>
        /tmp/man/man4/magic.4<br>
        /tmp/share/magic<br>
        #<br>
        20.ftpproxy:指定FTP代理主机<br>
          本选项指定FTP代理主机,主机可以是主机名,也可以是IP地址。<br>
        21.ftpport:指定FTP端口<br>
           本选项指定FTP协议使用的TCP端口,系统默认是21。<br>
      请看下面的例子:<br>
      # rpm -iv --ftpport 8888 <a href="ftp://root@xwboc/tmp/file-3.26-6.i386.rpm">ftp://root@xwboc/tmp/file-3.26-6.i386.rpm</a><br>
<br>
        Password for root@xwboc:<br>
        Password for root@xwboc:<br>
        Retrieving <a href="ftp://root@xwboc/tmp/file-3.26-6.i386.rpm">ftp://root@xwboc/tmp/file-3.26-6.i386.rpm</a><br>
        file-3.26-6<br>
        #<br>
      <br>
<br>
本例中用FTP方式安装file软件包,数据传输使用8888端口。执行中,RPM先提示输入root用户的密码两次,之后下载(retrieve)软件,最后成功安装。<br>
<br>
        22.httpproxy:指定HTTP代理主机<br>
           本选项指定HTTP代理主机,主机可以是主机名,也可以是IP地址。<br>
        23.httpport:指定HTTP端口<br>
           本选项指定HTTP协议使用的TCP端口,系统默认是80。下面的例子就指定了80端口来安装autofs软件,当然不指定也行,因为系统默认的就是这个端口。<br>
<br>
      # rpm -iv --httpport 80 <a href="http://24.109.164.55/rpms/autofs-3.1.3-2.i386.rpm">http://24.109.164.55/rpms/autofs-3.1.3-2.i386.rpm</a><br>
<br>
        Retrieving <a href="http://24.109.164.55/rpms/autofs-3.1.3-2.i386.rpm">http://24.109.164.55/rpms/autofs-3.1.3-2.i386.rpm</a><br>
        autofs-3.1.3-2<br>
        #<br>
      注:同FTP方式一样,RPM都是下载再安装。<br>
        二、通用选项<br>
          所谓通用选项,就是不管是安装,升级,卸载还是其它软件包操作,统统适用的选项。 这样的选项主要以下几个:<br>
<br>
        1.-v:显示附加信息<br>
           一般情况下,RPM和不少LINUX命令(如cp,rm,mv等)一样,都本着尽可能少输出信息的原则(除非必要,否则不要输出),这样做是为了避免浪费CPU资源。所以,当用户使用某个命令后没有什么输出,这就意味着命令执行成功了。如果有什么错误,程序会提示的。RPM也是这个样子。为了使RPM输出多一点的信息,可以使用-v选项。<br>
<br>
      如不带此选项安装file包,没有输出:<br>
      # rpm -i file-3.26-6.i386.rpm<br>
        #<br>
      而采用-v选项后安装时输出了包名:<br>
      # rpm -i -v file-3.26-6.i386.rpm<br>
        file-3.26-6<br>
        #<br>
        2.-vv:显示调试信息<br>
           选用-vv选项,可以使RPM输出更多的信息。这些信息,主要供RPM软件开发者研究使用的,一般用户也可以看看,从中可以知道RPM究竟干些什么。<br>
<br>
      下面采用此选项安装file包,同时使用管道线(|)将输出数据送nl命令,以带行号输出每行数据。<br>
<br>
      从执行结果看,输出的信息很多,其中以D:开头的行均是调试信息。现在逐行解释:<br>
      第1行:统计要安装的软件包个数;<br>
      第2行:RPM找到1个包;<br>
      第3行:查看哪些包需要下载(这些要下载的包,都是以FTP或HTTP形式书写的包名);<br>
      第4行:下载了0个包;<br>
      第5-10行:取包裹文件的文件头信息,算出软件包占用的空间68019(字节),以利检查<br>
      系统是否有足够空间。<br>
      第11行:打开RPM数据库;<br>
      第12行:找到0个源代码包,1个执行代码包;<br>
      第13-18行:检查软件包的依赖关系。其依赖(requires)的东西均得到满足(satisfied)。<br>
      第19行:准备安装执行代码包;<br>
      第20行:取得已安装文件系统的列表;<br>
      第21-26行:再度取包裹文件头信息,算出软件包占用空间;<br>
      第27-31行:列出包中文件及要执行的操作,第27行的test=0表示不是进行安装测试,<br>
      file包中的文件均要执行创建操作(create)。<br>
      第32行:如果有安装前执行脚本程序的话,执行它;<br>
      第33行:安装软件包file-3.26-6;<br>
      第34行:如果有安装后执行脚本程序的话,执行它。<br>
        3.root:指定根目录<br>
           指定根目录ROOT,其作用在于将系统所有操作限定在指定的目录下面,这样RPM操作的数据库位置变了,软件包的安装位置也变了。它是通过chroot系统调用实现的。RPM默认的数据库目录是/var/lib/rpm,如果指定根目录为/usr,则RPM的数据库目录将变为/usr/var/lib/rpm。同样,如果包中有个文件为/etc/zhsoft.txt,则安装后为/usr/etc/zhsoft.txt。<br>
<br>
      看下面的例子:<br>
      # rpm -i --root /usr file-3.26-6.i386.rpm<br>
        failed to open /usr/var/lib/rpm/packages.rpm<br>
      error: 不能打开 /usr/var/lib/rpm/packages.rpm<br>
        #<br>
      <br>
<br>
注:指定RPM根目录为/usr安装file出现错误,RPM打不开/usr/var/lib/rpm/packages.rpm文件,这是因为实际上在/usr/var/lib/rpm目录下没有任何RPM数据库。如果想成功安装,可用初始化RPM数据库命令来建立RPM数据库,命令是rpm<br>
        --initdb --root /usr(这些功能将在以后讲到)。<br>
        4.rcfile:指定RPM资源配置文件<br>
           RPM的资源配置文件里,存放着RPM的默认设置,有编译选项optflags,体系定义arch_canon,兼容定义arch_compat,宏文件定义macrofiles等。RPM默认的资源配置文件(按读取顺序)为:/usr/lib/rpm/rpmrc,/etc/rpmrc,~/.rpmrc。(后两个文件现在意义不大了,如今一般换作RPM宏文件了。较之资源配置文件,宏文件有更大的灵活性。)<br>
<br>
      <br>
<br>
如果想让RPM使用用户指定的资源配置文件,就用--rcfile来设定,可同时设定多个文件,文件间以冒号(:)分隔,如/usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc这种形式。<br>
<br>
        5.dbpath:指定RPM数据库目录<br>
           本选项不同于--root选项,它仅仅是指定RPM数据库的目录,并不改变安装文件的位置。<br>
<br>
<br>
<br>

<br>
</p></td></tr></table></td>
      </tr>
      <tr>
        <td width="100%" bgcolor="#FFFFFD" height="20">
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
          <tr>
            <td width="49%"><p class="9"></td>
            <td width="51%"><p align="right" class="9"><a href="08.RPM升级篇.htm">上一页</a> <a href="index.html">首页</a>  <a href="10.RPM之认识篇.htm">下一页</a></td>
          </tr>
        </table>
        </td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</center></div>
</body>
</html>

<p align=center><font size=1>Made by an Unre<!--2005-1-20 11:41:18   -->gistered version of <a href=http://www.etextwizard.com target=_blank>eTextWizard</a> V 1.98</font></p>
<!-- Made by an Unregistered version of eTextWizard V 1.98-->
<!--本网页文件由电子书制作工具“电子文档处理器”未注册版本的Txt2Html功能自动生成 -->

⌨️ 快捷键说明

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