·Tarball 的移除与升级: 再来就要谈到恼人的 tarball 的移除跟升级了?Tarball的移除难易度跟(1)当初设定参数档时候的安装目录与(2)这个套件本身要求的档案放置目录有关。如果我们以 apache 这个软体来说明的话( 您的系统不见得有装 ),那么如果您以 RPM 的安装方式来安装时,会发现他的档案放在哪里呢?大多是放在: o /etc/httpd o /usr/lib o /usr/bin o /usr/share/man 我们会发现他大致上是摆在 etc, lib, man, bin 等目录当中,分别代表『设定、函式库、线上说明档、执行档』,一个套件通常会将他的内容分为这四个目录来放置,好了,那么你是以 tarball 来安装时呢?如果是放在预设的 /usr/local 里面,由于 /usr/local 原本就预设这几个目录了,所以你的资料就会被放在: o /usr/local/etc o /usr/local/bin o /usr/local/lib o /usr/local/man 但是如果你每个套件都选择在这个预设的路径下安装的话,那么所有的套件的档案都将放置在这四个目录当中,因此,如果你都安装在这个目录下的话,那么未来在想要升级或移除的时候,就会比较难以追查档案的来源啰?而如果您在安装的时候选择的是单独的目录,例如 /usr/local/apache 的话,那么您的档案目录就会变成: /usr/local/apache/etc /usr/local/apache/bin /usr/local/apache/lib /usr/local/apache/man 呵呵!自己的档案都在同一个目录之下,那么要移除就简单的多了!只要将该目录移除即可视为该套件已经被移除啰?当然啰,实际安装的时候还是得视该软体的 Makefile 里头的 install 资讯才能知道到底他的安装情况为何的? 移除的方法是这样,那么升级呢?唉?升级有的时候也是很困扰啦!怎么说呢?我们还是以 apache 来说明好了,如果您安装的时候是使用 PHP + Apache + MySQL 的方式来安装的,那么每个套件在安装的时候『都有一定的顺序与程序!』因为他们三者之间具有相关性,所以安装时必需要三者同时考虑到他们的函式库与相关的编译参数。那么如果今天我只要升级 PHP 呢?有的时候因为只有涉及动态函式库的升级,那么我只要升级 PHP 即可!其他的部分或许影响不大。但是如果今天 PHP 需要重新编译的模组比较多,那么可能会连带的,连 Apache 这个程式也需要重新编译过才行?阿!真是有点给他头痛的?没办法啦!使用 tarball 确实有他的优点啦,但是在这方面,确实也有他一定的伤脑筋程度? @_@ 要选择 RPM 还是 Tarball? 优先选择 RPM: 这一直是个有趣的问题:『如果我要升级的话,或者是全新安装一个新的套件,那么该选择 RPM 还是 Tarball 来安装呢?』!基本上,如果有 RPM 可以提供给您的 distribution 来安装,并且没有严重的相依属性的问题时,呵呵!选择 RPM 来安装会是一个比较好的解决方案, Why ?这是由于刚刚上面就提到的 RPM 的好處 啦!可以具有档案与资料均有纪录的优点,这就是上面提到的 /var/lib/rpm 这个目录里面的资料库,个记录可以让你在管理上更为便利,包括上面提到的 RPM 的升级、安装、验证与移除等等。尤其是在查询上面!可以让你在管理你的系统上面更为便利。但是 RPM 也不是没有缺点的,包括最为大家所抱怨连连的『属性相依』的问题,每一个不同版本之间,就必须要以不同的 RPM 档案来安装!此外,如果要升级『某一个套件』而已时,通常还需要连带其他的套件也必须要一起升级才行,否则会有问题!此外,当一个套件经过了『大幅度的修改』之后,通常旧的 RPM 与新的 RPM 之间已经几乎无法『完全相容』时,呵呵!那么升级或者是移除的手续可是会累坏人的!例如最近朋友们常常问到的 Apache 1.3.xx 与 2.0.xx 的版本升级问题!由于架构上面差异性太大,加上版本属性相依问题很难得到一个完满的解决方案,这个时候 RPM 就不那么合适了。(除非您要一个一个的将 Apache 移除,连同其相依的套件,然后再将 Apache 一个一个的安装,包括新套件的相依套件! ^_^ .....我是不会这么做的啦!) (责任编辑:admin) |