📄 0220upgrade.htm
字号:
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>1. 先修改 /etc/yum.conf</span>
[root@linux ~]# <span class=term_command>vi /etc/yum.conf</span>
<span class=term_say>.....前面省略.....
# 直接在档案的最底下加入这一行来增加一些额外的功能∶</span>
<span class=term_write>plugins=1</span>
<span class=term_hd>2. 再修改 /etc/yum.repos.d/CentOS-Base.repo</span>
[root@linux ~]# <span class=term_command>vi /etc/yum.repos.d/CentOS-Base.repo</span>
<span class=term_say># 内容与『 yum 的设定档』说明相同,请回到本小节的最前面查阅该设定</span>
</pre></td></tr></table>
因为 <a href="#yum_configure">/etc/yum.repos.d/CentOS-Base.repo</a> 的内容与前面相同,
所以鸟哥在这里不再浪费篇幅,请往前翻阅吧!设定好了之后,接下来给他进行∶<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>yum upgrade</span>
</pre></td></tr></table>
记得是『 <span class=text_import2>upgrade</span> 』而不是『
<span class=text_import2>update</span> 』喔!两者用法不同啊!
然后接下来就是一段时间的等待啊!没办法,因为从网路上面捉资料下来是需要时间的!
还好鸟哥的环境是在学术网路内,所以连结同样是学术网路的义守大学还挺快的就是了! ^_^!
整个升级的时间大约花费 20 分钟以内,升级完毕之后,重新开机瞧一瞧登入画面!哇!变成 CentOS 4.3 了,
真是快速又方便!而且原本有启动的服务几乎没有任何问题,同样可以正常的启动呐!^_^<br /><br />
上面的动作你可以参考底下这一篇官方说明文件∶<br />
<ul><li><a href="http://www.centos.org/modules/news/article.php?storyid=118"
target="_blank">http://www.centos.org/modules/news/article.php?storyid=118</a></li></ul>
</div>
<a name="yum_fc"></a><hr><li><span class=text_import1>Fedora Core Release 1 升级到 CentOS 4.3</span><br />
<div class=block2>
如果你使用的是旧版的 Linux distributions ,例如 Fedora core release 1, Red Hat 9 等等的系统,
这些系统已经旧到没有什么更新的软体出来,所以如果套件有臭虫而需要更新时,
你可能就得要使用 Tarball 的方式手动的给他『 configure, make, make install 』等等的,
好累啊~那如果我安装 CentOS 呢?如果需要主动重新安装的话,那旧的资料不是会不见吗?
又得要备份,重新处理等等的,还是很累啊!<br /><br />
没关系!有 yum 就搞定了!你可以将你的 FC1 升级到 CentOS 4.3 了,而且是『线上更新』喔!
厉害吧!不过,因为 FC1 使用的核心是 2.4 版,但 CentOS 4.3 使用的是新的 2.6.x ,
这两种核心可不能互相更新啊!所以棉,我们还需要一些额外的动作来进行升级,而不像前面
CentOS 4.2 升级到 4.3 那么简单!鸟哥底下的动作是参考这几篇∶<br />
<ul>
<li>twu2 兄提供的不同版本间升级∶<a href="http://phorum.study-area.org/viewtopic.php?t=28648"
target="_blank">http://phorum.study-area.org/viewtopic.php?t=28648</a></li>
<li>CentOS 官方网站提供的一些升级建议∶<br />
<a href="http://www.centos.org/modules/newbb/viewtopic.php?topic_id=428&forum=6"
target="_blank">http://www.centos.org/modules/newbb/viewtopic.php?topic_id=428&forum=6</a><br />
<a href="http://www.centos.org/modules/newbb/viewtopic.php?topic_id=382"
target="_blank">http://www.centos.org/modules/newbb/viewtopic.php?topic_id=382</a></li>
</ul>
鸟哥底下以 FC1 为例来进行整个升级的动作,不过你得要了解的是,每个人的 Linux 都不相同,
因此虽然鸟哥实作是成功的,不过不代表你的环境一定会成功,
所以,重点是....『<span class=text_import2>请做好备份!</span>』
以免升级不成功时,导致整个资料的损毁,那就得不偿失了!<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>0. 前处理∶先准备好你的资料,以及删除不需要的资料</span>
[root@linux ~]# <span class=term_command>yum clean packages headers</span>
<span class=term_say># 先删除原本的 yum 资料,因为 FC1 使用的也是 yum ,
# 所以最好先将之前 FC1 的 yum 资料删除,比较不会有问题;</span>
</pre></td></tr></table>
在这个步骤当中,你最好先将一些重要资料备份起来,包括 /etc 与 /home 整个目录,
还有其他你有开启的服务的资料,包括 MySQL 或者是 WWW 的网页资料等,请自行备份喔。
另外,我们的 yum 预设是将下载的套件通通放置到 /var/cache/yum 当中,所以你的 /var
目录所在 partition 的容量也需要至少 1GB 以上的容量,而且安装软体所在目录 /usr
所在的 partition 最好也能够有 2GB 以上的空间,否则容易出现空间不足的错误讯息而无法继续。<br /><br />
那如果真的空间不足怎么办?你可以将一些不需要的套件先移除啊!举例来说,
你可以利用『 yum groupremove "Development Tools" 』之类的指令先将这些不是必备的套件群组移除,
以及其他 X 相关的套件也可以先移除,等到升级完毕后再以 yum 来重新安装即可,
这样可以节省很多升级时分析相依属性所花费掉的时间喔!<br /><br />
同时你得要确认你的镜像站台,以及 CentOS 的数位签章档案已经安装到 RPM 资料库当中才行,
同样的,鸟哥还是以义守大学的 FTP 站为主要的来源镜像站,但是你必须要先取得一些 RPM 相关的档案,
这些档案由于会与 FC1 原本的套件产生不相符合的特性,所以需要先捉下来并且强制安装才行!
请你自行连上∶<br />
<ul><li><a href="http://ftp.isu.edu.tw/pub/Linux/CentOS/"
target="_blank">http://ftp.isu.edu.tw/pub/Linux/CentOS/</a></li></ul>
然后选择最新的版本,例如鸟哥使用 4.3 (2006/08/10 以前) 这个版本,所以直接点选他,
然后依序选择『os』->『i386』->『CentOS』->『RPMS』,然后下载底下这些档案
(注∶套件的版本号码可能会有些不同喔!)∶<br />
<ul><span class=text_import2>
<li>centos-release-4-3.2.i386.rpm
<li>centos-yumconf-4-4.5.noarch.rpm
<li>kernel-2.6.9-34.EL.i686.rpm
<li>udev-039-10.12.EL4.i386.rpm</span></ul>
假设我的这些档案捉下来后放到 /root 下,那接下来的动作是∶<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>1. 安装升级所需要的 RPM 档案∶</span>
[root@linux ~]# <span class=term_command>rpm --import \</span>
> <span class=term_command>http://ftp.isu.edu.tw/pub/Linux/CentOS/4.3/os/i386/RPM-GPG-KEY-centos4</span>
[root@linux ~]# <span class=term_command>rpm -Uvh centos-release-4-3.2.i386.rpm</span>
[root@linux ~]# <span class=term_command>rpm -Uvh centos-yumconf-4-4.5.noarch.rpm</span>
[root@linux ~]# <span class=term_command>rpm -ivh --force --nodeps kernel-2.6.9-34.EL.i686.rpm</span>
<span class=term_say># 在这个动作时,由于我们的核心并非是 CentOS ,所以这个动作会发生一些错误,
# 先不要理他,待会儿的动作再重新处理即可。</span>
[root@linux ~]# <span class=term_command>rpm -ivh --force --nodeps udev-039-10.12.EL4.i386.rpm</span>
</pre></td></tr></table>
由于 kernel 2.6 使用的装置管理是以 udev 这个套件来处理的,与原本的 kernel 2.4 并不相同,
为了避免使用者进行错误的安装,所以 yum 会主动的分析核心与装置管理套件的差异,
如果两者无法配合就产生错误讯息且强制中断 yum ,那结果就是导致无法以 yum 进行升级啦!
要躲过这个困扰,你就得要先手动的安装上头那几个 RPM 档案。同时安装 kernel 的过程当中会发生错误讯息,
先不要理他,等到后续步骤再来重新处理即可!
既然 kernel 2.6 会与 2.4 版冲突,而鸟哥的原本的 FC1 本来就有 2.4 版的核心嘛!
那即使安装了新的 kernel-2.6.9-34.EL.i686.rpm 核心,但核心版本冲突的问题还是没有解决的,
所以啊,你就得要这样做了∶<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>2. 移除会有冲突的 2.4 版核心,连同其原始码</span>
[root@linux ~]# <span class=term_command>rpm -qa | grep kernel</span>
kernel-2.4.22-1.2197.nptl
kernel-2.4.22-1.2115.nptl
kernel-2.4.22-1.2199.nptl
kernel-source-2.4.22-1.2197.nptl
kernel-source-2.4.22-1.2199.nptl
<span class=term_say>.....其他省略.....</span>
[root@linux ~]# <span class=term_command>rpm -e kernel-source-2.4.22-1.2199.nptl</span>
[root@linux ~]# <span class=term_command>rpm -e kernel-source-2.4.22-1.2197.nptl</span>
[root@linux ~]# <span class=term_command>rpm -e kernel-2.4.22-1.2115.nptl</span>
[root@linux ~]# <span class=term_command>rpm -e kernel-2.4.22-1.2197.nptl</span>
[root@linux ~]# <span class=term_command>rpm -e kernel-2.4.22-1.2199.nptl</span>
<span class=term_say># 反正就是找到核心与核心原始码的套件后,就将他移除!记得套件名为∶
# kernel 与 kernel-source ,其他的不用动!</span>
[root@linux ~]# <span class=term_command>rpm --rebuilddb</span>
</pre></td></tr></table>
将一些旧版本的核心给他移除后,你的系统就只有剩下刚刚安装的那个 CentOS 的新核心,
所以核心版本的冲突当然就不存在了。要注意的是,你现在绝不可重新开机,否则你的系统就挂了!
因为没有核心了喔!切记切记!然后开始要设定好升级时要使用的 yum 设定档了!<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>3. 规范设定档</span>
[root@linux ~]# <span class=term_command>vi /etc/yum.upgrade</span>
<span class=term_write>[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=fedora-release
installonlypkgs=kernel kernel-smp kernel-hugemem kernel-unsupported
tolerant=1
exactarch=1
plugins=1
[upgrade]
name=CentOS-4.3 - upgrade
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/4.3/os/i386/
[update]
name=CentOS-4.3 - Updates
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/4.3/updates/i386/</span>
</pre></td></tr></table>
设定档里面先只要有这两个项目即可,因为我们仅注视在整体版本的升级,
所以其他的额外功能部分先不要理他!以后再来处理即可啊!接下来就准备要升级了!这样做吧∶<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>4. 开始升级的动作∶</span>
[root@linux ~]# <span class=term_command>yum -y -t -c /etc/yum.upgrade upgrade</span>
</pre></td></tr></table>
理论上,如果你的 FC1 没有安装什么奇怪的软体,而且『<span class=text_import2>硬碟空间也足够</span>』
,那么 yum 应该会开始帮你一个一个的下载软体并且分析属性相依问题后,就开始进行安装的步骤。
不过,如果发现一些软体冲突的问题时,那么你就得要先以 rpm -e 将旧的软体先移除,
等到升级完毕后再安装回来即可。只不过这个动作将依你的环境而有所不同。
鸟哥的 FC1 实在是旧的可以,所以很多软体都有冲突,因此事先移除了很多的套件,
忙了快要半小时后,系统才顺利的开始进行安装。由于鸟哥主机所在环境的网路下载的速度尚可而已,
所以由开始下载到升级完毕,大概花了一个半小时左右! @_@<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>5. 重新安装核心,并处理 RPM 资料库与更新其他套件</span>
[root@linux ~]# <span class=term_command>rpm -ivh --force --nodeps kernel-2.6.9-34.EL.i686.rpm</span>
[root@linux ~]# <span class=term_command>rpm --rebuilddb</span>
[root@linux ~]# <span class=term_command>yum update</span>
</pre></td></tr></table>
透过这三个指令我们可以再将刚刚没有完成的核心安装一遍,同时再以新的 yum 来进行升级,
这个时候我们的系统应该是很 OK 的啦!不过,有的小问题,那就是『开机的设定档还没有更新』喔!
所以你还得要这样做∶<br />
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>6. 设定开机设定档</span>
[root@linux ~]# <span class=term_command>vi /boot/grub/menu.lst</span>
<span class=term_write>default=0
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title CentOS (2.6.9-34.0.2)
root (hd0,0)
kernel /boot/vmlinuz-2.6.9-34.0.2.EL ro root=/dev/hda1 hdd=ide-scsi rhgb
initrd /boot/initrd-2.6.9-34.0.2.EL.img
title CentOS (2.6.9-34.EL)
root (hd0,0)
kernel /boot/vmlinuz-2.6.9-34.EL ro root=/dev/hda1 hdd=ide-scsi rhgb
initrd /boot/initrd-2.6.9-34.EL.img</span>
</pre></td></tr></table>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -