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

📄 0220upgrade.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:
		在今日 (2006/08/10) 能够安装的最新核心版本是 2.6.9-34.0.2.EL ,所以上面的第一个 title
		才会是这样的设定资料,要记得与你的环境符合啊(如果你不是使用 4.3 来升级)!如果忘记上面各项资料的意义,
		请参考『<a href="../linux_basic/0510osloader.php">鸟哥的 Linux 私房菜 基础篇 boot loader</a> 』的介绍啊!
		如果设定好了这个开机资讯,嘿嘿!请重新开机试看看吧! ^_^<br /><br />

		基本上这样已经处理完毕了!也就是说,你的系统应该是由 FC1 顺利的转成 CentOS 4.3 才对!
		不过,有些小细节你依旧需要注意喔∶<br />

		<ul><span class=text_import2>
		<li>观察您的系统是否有启动原有的服务,亦可利用 chkconfig --list;
		<li>如果你的旧系统曾有使用 tarball 的方式来安装软体,则升级完毕后你必须要重新安装一次该软体;
		<li>系统可能会产生很多的 .rpmnew 的档案,请使用 locate 搜寻,并且重新处理设定档。
		</span></ul>

		毕竟之前的版本太旧了,所以 RPM 升级时会将新套件的设定档存成 *.rpmnew ,
		你最好不要使用旧的设定档,而是以新的设定档来重新修改比较好!这样服务的运作应该会比较顺畅一些啊!
		到此为止,恭喜您啊! ^_^<br />
		</div>
	</div>
</div>


<hr /><a NAME="apt"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">Debian 的 apt 自动升级∶以 B2D 为例</span><br />
<div class=block1>
	APT 最早是 debian 这个社群的 Linux distribution 用来作为套件管理的一项机制,
	后来实在很方便又好用,所以就被利用来做为其他 distributions 的线上升级管理机制了!
	所以你会在很多地方看到有 FC 系列的 APT 伺服器、或者是自订的 APT 伺服器等等的。
	这个 APT 的使用与 yum 很类似呐!同样也是透过套件的表头分析后,然后与系统本身资料比对,
	因此同样也克服了属性相依的困扰了,非常方便!底下我们就分别来谈一谈吧!<br /><br />

	<hr /><a NAME="apt_config"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">APT 的设定档</span><br />
	<div class=block2>
		如同前面提到的 yum 一样,既然是线上升级,那么我们自然得要找到相对应的伺服器棉!
		而一般有提供 apt 服务的 distributions 事实上他们都已经做好设定档内相关的伺服器选择了,
		例如 B2D 就是一个例子。<span class=text_import2>不过,
		如果你是使用类似 Red Hat 9, Fedora Core Release 等版本的话,
		可能由于种种原因让你不能将该主机升级到类似 CentOS 等较新的版本时,那你就可以尝试到底下的网站找找看 
		APT 主机了</span>∶<br />
		<ul><li><a href="http://apt.freshrpms.net/" target="_blank">http://apt.freshrpms.net/</a></li></ul>
		找到属于你的 Linux 版本后,安装 apt 就可以使用 apt 伺服器所提供的套件升级机制棉!
		底下赶紧谈一谈,那么如何处理 APT 的设定档呢?
		APT 的设定档都放在 /etc/apt 目录下,而在该目录下,规范 APT 主机的设定则放到 /etc/apt/sources.list 当中。
		以 B2D 为例,他的 sources.list 是这样的∶<br />

<table class="term"><tr><td class="term"><pre>
<span class=term_hd>1. 先处理 APT 伺服器来源的设定资料∶</span>
[root@linux ~]# <span class=term_command>vi /etc/apt/sources.list</span>
deb ftp://debian.tnc.edu.tw/pub/debian/ stable main non-free contrib
deb http://security.debian.org/ sarge/updates main contrib non-free
deb ftp://debian.tnc.edu.tw/pub1 b2d/
deb http://ftp2.de.debian.org/debian-volatile sarge/volatile main
<span class=term_say># 上面的格式是这样的∶
# &lt;deb 的标头格式&gt; &lt;APT伺服器网址&gt; &lt;相对网址路径&gt; &lt;目录一&gt; &lt;目录二&gt; ...</span>
</pre></td></tr></table>

		其实设定档的内容很简单,第一个栏位指的是『用哪一种套件管理员』的意思,主要有 deb 以及 rpm 还有
		rpm-src 等,deb 是 debian 专属的套件管理方式啦! ^_^!第二栏以后就得要一起看才行!
		以上表的第一行为例,其实他是说,提供 deb 的网址有三个,分别是∶<br />
		<ul>
		<li>ftp://debian.tnc.edu.tw/pub/debian/stable/main
		<li>ftp://debian.tnc.edu.tw/pub/debian/stable/non-free
		<li>ftp://debian.tnc.edu.tw/pub/debian/stable/contrib
		</ul>
		这样看懂了吗?第二栏与第三栏要加在一起,那就是个完整的伺服器网址!
		后面接的几个资料则是在该网址底下的数个目录,那就很容易看懂了吧! ^_^
		应该是不难啦~如果您是使用 b2d 的话,那恭喜你!不用修改就能用 apt 棉! ^_^<br />

		<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen">		事实上, /etc/apt/apt.conf 还可以提供其他额外的设定喔,例如使用 Proxy 
		以及规范下载后的套件在安装完毕后应该进行的处理步骤,举例来说,是否需要将该套件移除!
		你应该要使用 man apt.conf 查询一下该档案的用法喔!
		</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>	</div>

	<hr /><a NAME="apt_cmd"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">实际使用 APT</span><br />
	<div class=block2>
		APT 的使用也实在是很简单!只要利用 apt-get 即可!不过,不同于 yum 每次都会进行 RPM 档案表头的分析,
		APT 则是将套件表头的下载与实际的安装分成两个动作分别执行,先来谈一谈 apt-get 这个指令的用法吧!<br />

<a name="apt-get"></a>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>apt-get [-qy] [-c config_file] [更新项目] [套件名称]</span>
<span class=term_say>参数∶
-q ∶不要在萤幕上输出讯息,常用在背景环境的执行当中喔!
-y ∶自动在进行 apt-get 时回答 y 的回应;
-c ∶后面接的是设定档,一般系统会主动的以 /etc/apt 内的设定档为依据。
[更新项目]∶要 apt-get 进行的工作,主要有这几项∶
   update      ∶就是更新伺服器与用户端的套件表头清单,这个动作务必要进行!
   install     ∶后面需要加上要安装的套件名称才行!
   upgrade     ∶进行『已安装套件』的完整升级,不过未安装套件则不予安装;
   dist-upgrade∶以 upgrade 相似,但是当新版本的套件有其他相依属性的套件加入时,
                 单纯的 upgrade 将无法进行安装,此时就得要使用 dist-upgrade 了!
   clean       ∶清除已经下载到 /var/cache/apt/archives/ 的套件档案。
   remove      ∶移除某个套件啊!</span>

<span class=term_hd>范例一∶进行套件标头更新后,进行整体套件的更新动作</span>
[root@linux ~]# <span class=term_command>apt-get update</span>
下载:1 ftp://debian.tnc.edu.tw stable/main Packages [3349kB]
下载:2 http://ftp2.de.debian.org sarge/volatile/main Packages [3893B]
<span class=term_say>.....中间省略.....</span>
读取 3868kB 用了 24s (159kB/s)
读取套件清单中... 完成

[root@linux ~]# <span class=term_command>apt-get dist-upgrade</span>
读取套件清单中... 完成
了解套件依存关系中... 完成
筹画升级套件中...完成
下列的套件都将被【删除】∶
  blt-common ettercap-plugins libgdbmg1-dev
下列的【新】套件都将被安装∶
  dictionaries-common ettercap-common <span class=term_say>.....后面省略.....</span>
下列的套件都将维持旧版本:
  fontconfig libxft-dev libxft2 libxft2-dbg <span class=term_say>.....后面省略.....</span>
下列的套件都将更新:
  apache apache-common apache-utils apache2 <span class=term_say>.....后面省略.....</span>
更新 105 个套件,新安装 32 个套件,删除 3 个套件,另不更新 7 个套件。
需要下载 122MB 的档案。
解压缩后将消耗 39.6MB 的空间。
继续执行吗? 是按 [Y] 键,否按 [n] 键 <span class=term_command>y</span>
下载:1 ftp://debian.tnc.edu.tw stable/main libc6-dev 2.3.2.ds1-22sarge3 [2535kB]
下载:2 http://security.debian.org sarge/updates/main login 1:4.0.3-31sarge8 [576kB]
<span class=term_say>.....中间省略.....</span>
读取 122MB 用了 11m47s (172kB/s)
正在预先设定套件 ...
(正在读取资料库 ... 系统目前总共安装有 112550 个档案和目录。)
正预备替换 libc6-dev 2.3.2.ds1-22 (使用 .../libc6-dev_2.3.2.ds1-22sarge3_i386.deb)
正在解压缩替换的套件档 libc6-dev ...
<span class=term_say>.....中间省略.....</span>
Please *restart* your Apache2 !
Y/N ?
<span class=term_command>y</span>
<span class=term_say>.....中间省略.....</span>

[root@linux ~]# <span class=term_command>apt-get clean</span>
<span class=term_say># 这个动作会将刚刚下载的几个 deb 的套件给他移除!节省硬碟空间!</span>
</pre></td></tr></table>

		请记得,<span class=text_import2>那个 update 的参数并不是在进行更新,
		而是在进行伺服器与用户端的套件表头清单更新而已,
		但这个动作相当重要,如果你没有作这个动作的话,你的套件就不会更新了</span>!
		在 apt-get update 后,再使用 apt-get dist-upgrade
		这样就能够将整个系统给他升级了!很快乐吧!不过,由于我们没有加上『-y』这个参数,
		所以在上表当中,我们会老是需要输入一些有的没有的指令,
		这样的话,就不适合作为背景的自动升级了!所以,如果你想要在背景以 crontab 
		的方法自动的帮你升级的话,在 B2D 的环境下使用∶<br />

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>vi /etc/crontab</span>
<span class=term_write>40 5 * * * root /usr/bin/apt-get update && /usr/bin/apt-get -y dist-upgrade</span>
</pre></td></tr></table>

		这样每天的凌晨 5:40 就会自动的进行整体升级,而且会主动的克服相依属性的问题喔!
		另外,除了完整的将套件给他全部升级之外,我们还可以利用 apt 伺服器的功能来进行查询的动作喔!
		这个时候就得要 apt-cache 来帮忙了!<br />

<a name=apt-cache></a>
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>apt-cache [搜寻项目]</span>
<span class=term_say>参数∶
[搜寻项目]∶apt-cache 可以搜寻 apt 所列出的套件标头资料喔!可用项目有∶
pkgnames∶列出本系统上面的所有套件名称!!有点类似 (rpm -qa);
dump    ∶列出所有的套件标头以及其相关的相依属性套件!
search  ∶后面可接要搜寻的字串,例如 apt-cache search postfix
show    ∶后面接套件名称,可以显示出该套件的主要内容的描述!
showpkg ∶列出后面所接套件的相依属性以该其套件提供的相关功能!
depends ∶可以列出与后面所接套件有相依属性或者是冲突的相关资料!</span>

<span class=term_hd>范例一∶找出与 grep  有关的套件</span>
[root@linux ~]# <span class=term_command>apt-cache search grep</span>
<span class=term_say>.....前面省略.....</span>
grep - GNU grep, egrep and fgrep
grep-dctrl - Grep Debian package information
<span class=term_say>.....后面省略.....</span>

[root@linux ~]# <span class=term_command>apt-cache show grep</span>
Package: grep
Essential: yes
Priority: required
Section: base
Installed-Size: 660
Maintainer: Ryan M. Golbeck &lt;rmgolbeck@debian.org&gt;
Architecture: i386
Version: 2.5.1.ds1-4
Provides: rgrep
Pre-Depends: libc6 (>= 2.3.2.ds1-4)
Conflicts: rgrep
Filename: pool/main/g/grep/grep_2.5.1.ds1-4_i386.deb
Size: 170290
MD5sum: 68196ad14b098b0eb4b91f4a7cfa8ff2
Description: GNU grep, egrep and fgrep
 'grep' is a utility to search for text in files; it can be used from the
 command line or in scripts.  Even if you don't want to use it, other packages
 on your system probably will.

[root@linux ~]# <span class=term_command>apt-cache depends grep</span>
grep
  特别依存关系: libc6
  冲突: &lt;rgrep&gt;
</pre></td></tr></table>

		瞧!利用 apt-cache 就能够找到很多有用的资讯!包括利用 show 这个参数也能够将该套件重要的项目给他列出来!
		以上面的 grep 这个套件为例, apt-cache 就列出很多例如版本资讯、冲突资讯 (conflicts) 等等,
		尤其是描述 (Description

⌨️ 快捷键说明

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