Linux 基础学习篇 - Red Hat Linux 6.1

Linux 套件升级 - for Red Hat Linux 6.1

大概在 1999~2000 年期间为了防止自己忘记所作的学习心得纪录!

最近更新时间: 2001/08/17

1999 年初次接触 Unix 系统,1999 年底接触 Red Hat 6.1,而在 2000 开始撰写一些心得文章,于是有了底下这些文本的产生。 这些文本对大家来说,可能没什么,但是对鸟哥来说,这是相当珍贵的!所有鸟站的数据起源,都是从这些文本开始的! 慢慢再将许多的指令分门别类的处理进去!网站的数据汇整,真的相当花费时间啊~

不过对于学习者来说,这些数据真的不要再读了!因为实在太老旧... 建议您前往本站查找最新版本的 Linux distribution 文章来阅读,比较不会浪费时间。最新文章请前往鸟站首页查阅啰!

前言

虽然 RedHat 提供好用的东西,但是 Linux 本身是一直在进步的,当然啰,他的套件也就会一直更新啦!什么是套件呢?例如你要使用 Web server 就应该会知道, RedHat 是使用 Apache 这一套软件,而这个软件就称为一个套件啦!什么时候需要更新套件呢?通常这是完全视你的需求而定的,如果你觉得你的 Linux 已经够好了,当然不用升级,但是如果你觉得有更新的套件出来,而这个新的套件内的功能是你所想要的,那就得更新套件啦!

通常要更新套件,最常用的就是直接使用 rpm 这套软件来直接更新! rpm 使用上是很简单的!这里就说说如何以 rpm 更新你的 RedHat 6.1 内的套件吧!

另外,其实在 RedHat 当中,主要都是以 rpm 这套程序再安装所有的软件套件的,所以你在安装一些软件的时候,最好是选择 *.i386.rpm 或 *.src.rpm 来进行安装,这样对于你往后的升级或者是安装方面,都会比较简单喔!

升级工具:rpm

要升级套件,当然就要先知到你的套件的版本啦,如何知道呢?假设你要知道你的 Web Server (就是 Apache 这个软件)的版本,就需要输入:
 
[root@tsai /root]# rpm -q apache
apache-1.3.9-4

如上面所写的, -q 这个参数是察看的意思,则可以发现你的 apache 软件为 1.3.9-4 版!

安装全新的套件

而假如你要安装的软件并不在你的 Linux 机器上,例如你并没有安装 apache ,则使用 -q 参数会出现如下画面:
 

[root@tsai /root]# rpm -q apache
package apache is not installed

好的很,那你就必须用下面的方法来安装你的软件了!
 

[root@tsai /root]# rpm -ivh apache-1.3.9-4.i386.rpm
[root@tsai /root]# rpm --recompile apache-1.3.9-4.src.rpm
[root@tsai /root]# rpm --rebuild apache-1.3.9-4.src.rpm

注意到上面有两种安装的方法喔!这是由于 rpm 有两种模式,一种是已经经过编码的(i386.rpm)一种是未经编码的(src.rpm)(通常这种 src.rpm 附文件名的文件被称作 SRPM 喔!),这两种 rpm 的安装并不相同!另外,以可以用 --rebuild 先制作属于你的 Linux 的 rpm 后,再进行安装的工作,而以 --rebuild 编码后的 i386.rpm 文件将会被放置在 /usr/src/redhat/RPMS/i386 这个目录中,例如上面的例子中, apache-1.3.9-4.i386.rpm 将会被制作而放置在 /usr/src/redhat/RPMS/i386 这个目录中,你只要再以 ivh 或 Uvh 去安装即可。

升级你的套件

那如果你只是要升级你的套件呢?该如何升级?很简单,第一步骤就是先从网络上下载新的套件 rpm 档,你可以在各大 FTP 站上面捉到,或者也可以从底下的 FTP 站直接捉:

RPM:
ftp://linux.sinica.edu.tw/pub1/redhat/updates/6.2/en/os/i386/
ftp://linux.cis.nctu.edu.tw/LINK/distributions/redhat/redhat/linux/7.1/en/os/i386/RedHat/RPMS/
SRPM:
ftp://linux.cis.nctu.edu.tw/LINK/distributions/redhat/redhat/linux/7.1/en/os/i386/SRPMS/
在上面的 FTP 站中,你可以看到最新的 apache 版本为:apache-1.3.19-5.i386.rpm,应该是比你的版本还要新!如果想要更新的话,就捉下来吧!然后以下列的方法来进行升级的动作:
 
[root@tsai /root]# rpm -Uvh apache-1.3.19-5.i386.rpm

参数 -Uvh 就是升级安装的意思啦!不过,我想你应该会遭遇到像是这样的困扰:
 

[root@tsai /root]# rpm -Uvh apache-1.3.19-5.i386.rpm
error: failed dependencies:
        libc.so.6(GLIBC_2.1.3)   is needed by apache-1.3.19-5
        libc.so.6(GLIBC_2.2)   is needed by apache-1.3.19-5

为何会有 error 呢?这是因为每一种套件都可能会有相依的套件存在,在上面的例子中,如果你要安装 apache-1.3.19-5.i386.rpm 的话,就必须要其他的两个文件!所以你就得再去找这两个文件的相关套件啦!如果你一定要安装这个套件,又不想提供其他的相依套件的话,你可以这样做:
 

[root@tsai /root]# rpm -Uvh --nodeps apache-1.3.19-5.i386.rpm

加上 --nodeps 这个参数,他会强制安装这个套件!不过会不会有问题?这个就不清楚了!所以最好的方法除了下载相关的 i386.rpm 之外,其实,你可以直接下载所谓的 SRPM 文件(src.rpm),在你的机器上面先编译过,然后再安装!这样的安装会比较好喔!例如你先捉下来 apache-1.3.19-5.src.rpm 然后在运行编译的过程:
 

[root@tsai /root]# rpm --rebuild apache-1.3.19-5.src.rpm

然后屏幕会告诉你还需要 openssl 这个咚咚,同样的,我们再将这个文件捉下来,然后先后运行:
 

[root@tsai /root]# rpm --rebuild openssl-0.9.6-3.src.rpm
会有很多的咚咚跑出来!最后的 rpm 文件会放在 /usr/src/redhat/RPMS/i386 中
[root@tsai /root]# cd /usr/src/redhat/RPMS/i386
[root@tsai /root]# rpm -ivh openssl-0.9.6-3.src.rpm
[root@tsai /root]# rpm --rebuild apache-1.3.19-5.src.rpm

顺利的话,将会把 apache 的 rpm 文件编译出来,如果一直有问题的话,可能就要使用 tar.gz 的文件从头手动的升级了,这会比较麻烦一点!

卸载

那如果安装完的 rpm 套件要移除呢?如和移除?其实就更简单了,假设你要移除 apache ,则直接下达:
 

[root@tsai /root]# rpm -e apache

系统就会自动的移除你的软件了!

升级 rpm

但其实使用 rpm 最大的问题是,旧版的 rpm 程序没有办法替较新版的 .rpm 文件升级或安装,这时你就必须要升级你的 rpm 程序了!通常,如果你发现在你要安装 rpm 的时候,会出现下面的消息,就表示你需要升级你的 rpm 程序:
 
only packages with major numbers <= 3 are supported by this version of RPM
error: imap-2000-9.i386.rpm cannot be installed

上面的情况是说,你的 rpm 版本是 3.xx 版,而 imap-2000-9.i386.rpm 需要大于 3.xx 版以上的 rpm 程序才能安装,所以就发生了错误消息了!你可以察看一下你的 rpm 版本:
 

[root@tsai RPM]# rpm -q rpm
rpm-3.0.3-2

如果你是以这个网页提供的 Linux 作为安装系统,则应该会出现 rpm 版本为 3.0.3-2 的信息!我们要将之升级到比较新的4.0.2版时,你可以到底下来下载:

ftp://linux.sinica.edu.tw/pub1/redhat/updates/6.2/en/os/i386/
不过这里必须先说明,由于 rpm 升级时需要其他的套件帮忙,所以你不能只下载 rpm 相关的文件而已,基本上你应该下载这八个文件:
  • db3-3.1.17-4.6x.i386.rpm
  • db3-devel-3.1.17-4.6x.i386.rpm
  • db3-utils-3.1.17-4.6x.i386.rpm
  • popt-1.6.2-6x.i386.rpm
  • rpm-4.0.2-6x.i386.rpm
  • rpm-build-4.0.2-6x.i386.rpm
  • rpm-devel-4.0.2-6x.i386.rpm
  • rpm-python-4.0.2-6x.i386.rpm
你可以直接点击上面八个文件,由我们这里直接下载!那要如何安装呢?如前所说的,由于我们并没有安装 db3 这个套件,而 popt 则是需要升级的,所以你可以依照下面的顺序来加以升级!
 
[root@tsai RPM]# rpm -ivh db3-3.1.17-4.6x.i386.rpm
[root@tsai RPM]# rpm -ivh db3-devel-3.1.17-4.6x.i386.rpm
[root@tsai RPM]# rpm -ivh db3-utils-3.1.17-4.6x.i386.rpm
[root@tsai RPM]# rpm -Uvh popt-1.6.2-6x.i386.rpm
[root@tsai RPM]# rpm -Uvh rpm-4.0.2-6x.i386.rpm
[root@tsai RPM]# rpm -Uvh rpm-build-4.0.2-6x.i386.rpm
[root@tsai RPM]# rpm -Uvh rpm-devel-4.0.2-6x.i386.rpm
[root@tsai RPM]# rpm -Uvh rpm-python-4.0.2-6x.i386.rpm

好了!如此一来你就已经升级好了 rpm 啦!又可以去安装其他的软件啰!

2002/01/01以来统计人数
其他链接
环境工程模式篇
鸟园讨论区
鸟哥旧站

今日 人数统计
昨日 人数统计
本月 人数统计
上月 人数统计