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

📄 0450apt.htm

📁 鸟哥LINUX 学习课本
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head>   <meta http-equiv="Content-Type" content="text/html; ">   <meta name="Author" content="VBird">   <meta name="GENERATOR" content="Mozilla/4.5 [zh-TW] (WinNT; I) [Netscape]">   <meta name="Description" content="APT 伺服器對於管理一整個具有 Linux 主機群的管理員來說,真的是頂重要的!因為他可以讓我們更方便來管理 RPM 套件的升級喔!">   <title>鸟哥的 Linux 私房菜 -- APT/YUM server</title><!-- saved from url=(0022)http://internet.e-mail --><style>   <!--   body{background-image=url(http://linux.vbird.org/VBirdLinux.jpg);background-ATTACHMENT=FIXED}   --></style></head><body nosave="" background="0450apt_files/VBirdLinux.jpg"><center><center><b><font size="+2" color="#3333ff"><font face="SimSun">鸟哥的</font><font face="Times New Roman,Times"> Linux </font><font face="SimSun">与</font><font face="Times New Roman,Times"> ADSL </font><font face="SimSun">私房菜</font></font></b><br><a href="http://linux.vbird.org/" target="_top"><img src="0450apt_files/VBirdTitle2.jpg" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_basic"><img src="0450apt_files/icon_system.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_server"><img src="0450apt_files/icon_server.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/linux_security"><img src="0450apt_files/icon_security.jpg" nosave="" border="0" height="25" width="90"></a><a href="http://phorum.vbird.org/" target="_blank"><img src="0450apt_files/icon_forums.gif" nosave="" border="0" height="25" width="90"></a><a href="http://linux.vbird.org/adsl"><img src="0450apt_files/icon_adsl.gif" nosave="" border="0" height="25" width="90"></a><br><hr width="100%"></center><font size="+2" color="#3333ff"><a href="http://linux.vbird.org/linux_server/0450apt.php" target="_self"><font face="SimSun">简易</font><font face="Times New Roman,Times">APT/YUM&#160; </font><font face="SimSun">服务器设定</font></a></font></center><div align="right"><font size="-1" color="#3333ff" face="SimSun">最近更新日期:2004/06/23</font></div><font size="-2" color="#000099"> </font><table bgcolor="#ffcccc" border="1" cols="1" width="100%"><tbody><tr><td><font size="-1" color="#000099">用不惯 Tarball 安装套件却又担心RPM 的属性相依问题吗?如果有一种套件管理工具可以克服 RPM 属性相依的方法该有多好!有没有这种工具?呵呵!有的,那就是APT 与 YUM 这两个服务器了。APT (Advanced Package Tool) 是由 <a href="http://www.debian.org/intl/zh/" target="_blank">debian</a>这个 distribution 所发展的一个套件管理工具,其目的在克服 RPM 套件的属性相依问题,让使用者可以透过APT 的分析直接安装/升级/删除相关联的套件喔。另一个很好用的就是 YUM (Yellowdog Updater, Modified) 这个咚咚,他是由 Duke University 所发起的计划,目的则与APT 相似,都是在克服 RPM 的属性相依问题,方便使用者进行套件的安装、升级等等工作。由于APT/YUM 这一类的服务器在『系统升级/管理』上面的功能发挥的很好,所以目前很多的distributions 都把这两个服务器作为预设的服务喔。在这个章节当中,我们要介绍如何在您的Linux 服务器上面建置一个 ATP 或 YUM 服务器,并且提供更新的 RPM 套件给 Client端来使用!</font></td></tr></tbody></table><font size="-2" color="#000099"> </font><br><font size="+1" color="#000099"><a href="#theory">前言</a>:</font><br><font color="#000099">  :<a href="#theory_what">甚么是 APT/YUM 呢?他们如何运作</a></font><br><font color="#000099">  :<a href="#theory_why_apt">是否需要架设APT/YUM 服务器</a></font><br><font color="#000099">  :<a href="#theory_protocol">架设之前,您所需要启用的服务</a></font><br><font size="+1" color="#000099"><a href="#apt">APT 服务器</a>:</font><br><font color="#000099">  :<a href="#apt_mechanism">APT 服务器利用的机制</a></font><br><font color="#000099">  :<a href="#apt_install">安装 APT 软件</a></font><br><font color="#000099">  :<a href="#apt_intru">APT 服务器的套件结构</a></font><br><font color="#000099">  :<a href="#apt_httpd_setup">APT 服务器设定( 以 HTTP 提供服务为例 )</a></font><br><font color="#000099">  :<a href="#apt_client">Client 端的设定</a></font><br><font size="+1" color="#000099"><a href="#yum">YUM 服务器</a>:</font><br><font color="#000099">  :<a href="#yum_mechanism">YUM 服务器利用的机制</a></font><br><font color="#000099">  :<a href="#yum_install">安装 yum 软件</a></font><br><font color="#000099">  :<a href="#yum_packa">yum 服务器的套件结构</a></font><br><font color="#000099">  :<a href="#yum_setup">yum 服务器设定</a></font><br><font size="+1" color="#000099"><a href="#spec">特殊案例</a>:</font><br><font color="#000099">  :<a href="#spec_my">建立自己的更新套件</a></font><br><font color="#000099">  :<a href="#spec_spec">如何取得网络上的更新组件</a></font><br><font size="+1" color="#000099"><a href="#server_partition">主机的规划技巧与建议</a>:</font><br><font size="+1" color="#000099"><a href="#reference">参考资源</a>:</font><br><hr width="100%"><a name="theory"></a><img src="0450apt_files/penguin-m.gif" alt="" nosave="" align="middle" height="34" width="25"><font size="+1" color="#000099">前言:</font><ul>如果您曾经自行安装过某些套件的话,那么您或许会觉得:『<font color="#000066"><a href="http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php">RPM</a>是比 <a href="http://linux.vbird.org/linux_basic/0520source_code_and_tarball.php">Tarball</a>好安装没有错啦,但是每次为了解决套件之间的属性相依问题,真的是很烦,尤其是RPM 档案在不同的操作系统版本之间也无法兼容!</font>』是的!没错!为了要解决这个套件之间的属性相依问题,又要保留RPM 套件的易安装与查询的特性,所以就有一些套件管理方法出来啦!比较有名的就是APT 与 YUM 这两个咚咚啦。(注:当然,Mandrake 的 urpmi 也是很棒的工具。)<br> <br><hr width="100%"><a name="theory_what"></a><img src="0450apt_files/penguin-s.gif" nosave="" align="middle" height="23" width="17"><font color="#000099">甚么是APT/YUM 呢?他们如何运作?</font><br> <ul>众所皆知的, RPM 是目前 Linux 世界里面用的最多的套件安装方式。不过,由于RPM 所管理的套件在安装的时候必须要考虑到不同套件之间的相依性,这在系统管理员处理系统的升级/更新上面是很讨厌的!为了克服这个问题,所以有APT/YUM 之类的计划出来。APT ( Advanced Package Tool ) 最早是由 <a href="http://www.debian.org/intl/zh/" target="_blank">debian</a>这个 distribution 所发展出来的,而<a href="http://linux.duke.edu/projects/yum/index.ptml" target="_blank">YUM( Yellow dog Updater, Modified )</a> 则是由 <a href="http://www.phy.duke.edu/%7Ergb/General/yum_HOWTO.php" target="_blank">DukeUniversity</a> 所发起的计划之一,这两者的目的都是『<font color="#000066">为了要解决安装RPM 套件时的属性相依问题!</font>』,而不是额外再建立一个套件安装模式喔。首先,我们谈一谈为甚么RPM 套件会有属性相依的问题?又,甚么是属性相依的问题啊?<br> <ul><li>属性相依的问题大多来自于函式库的引用,举例来说,我们前面 <a href="http://linux.vbird.org/linux_server/0310telnetssh.php">SSH与 Telnet 服务器</a>章节中提到的 SSH 服务器需要使用到 SSL 这个套件的加密机制,所以自然就需要SSL 的函式库,这个时候,如果您没有安装 SSL 的话,那么 SSH 就不会让您安装了!这就是属性相依的问题啦。也就是说,当我们要安装A 套件,<font color="#000000">结果 RPM 套件管理员告诉你还需要 B 套件,而安装B 套件时,却又发现还缺少 C 套件~真是环环相扣啊!讨厌死了~</font></li></ul></ul><font color="#000000"> </font><ul><ul><li><font color="#000000">要知道某个套件的最低要求是哪些套件时,可以使用 </font><font color="#000066" face="SimSun">rpm-qR packagename</font><font color="#000000"> ,至于某个套件提供哪些档案则可以使用</font><font color="#000066" face="SimSun">rpm-q --provides packagename</font><font color="#000000"> 。这些信息都纪录在RPM 套件里面。</font></li></ul><font color="#000000"> </font><br><font color="#000000">如果对于 RPM 还有疑问,请参考<a href="http://linux.vbird.org/linux_basic">基础学习篇</a>的<a href="http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php">RPM与 SRPM</a> 那个章节啰。好了,既然每一个 RPM 套件的标头 (header)里面都会纪录该套件的属性相依关系,那么如果我们可以将该标头的内容纪录下来并且进行分析,不就可以得知每个套件在安装之前需要额外安装哪些基础套件吗?也就是说,</font><font color="#000066">我们在服务器上面先以分析工具将所有的RPM 档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的档案,就可以知道所有相关联的套件档案!</font><font color="#000000">没错!是这样。他的整个运作流程有点像这样:</font><br><font color="#000000"> </font><br><font color="#000099">服务器端:</font><ol><li><font color="#000066">首先,在 APT/YUM 服务器上面放置了所有的 RPM 套件(这包括来自原版光盘与供货商发行的升级套件);</font></li><li><font color="#000066">然后以相关的功能去分析各个 RPM 档案的相依性,这些纪录可以解决所谓的属性相依问题,然后将这些数据记录成档案存放在服务器的某特定目录内;</font></li></ol><font color="#000066"> </font><br><font color="#000099">客户端:</font><ol><li><font color="#000066">Client 端如果需要安装/升级/删除某个程序时,会先下载服务器上面记载的属性相依档案(利用的协议则是WWW 或者是 FTP);</font></li><li><font color="#000066">经由比对服务器端传来的纪录数据进行分析,然后取得所有相关的套件,一次全部下载下来进行升级安装。</font></li></ol><font color="#000066"> </font><br><font color="#000000">如此一来则克服了属性相依的问题啰!是的!就这么简单啊!整个图示如下:</font></ul></ul><center><img src="0450apt_files/apt-1.jpg" nosave="" border="2" height="269" width="384"><br><a name="fig_1"></a>图一、APT/YUM 服务器的架构。</center><ul><ul>您的 APT/YUM 服务器上面可以拥有多个版本的 Linux distributions 的 RPM套件,并且需要提供 WWW/FTP 等服务,而 Client 端则是藉由主机的 WWW/FTP 等协议来进行RPM 档案的取得喔。</ul> <br><hr width="100%"><a name="theory_why_apt"></a><img src="0450apt_files/penguin-s.gif" nosave="" align="middle" height="23" width="17"><font color="#000099">是否需要架设APT/YUM 服务器</font><br> <ul>APT/YUM 的功能也只是在管理 RPM 套件而已,只是他比单纯的 RPM 指令要好的地方在于他克服了属性相依的问题,所以客户端可以很方便的进行安装/升级与移除的动作。那么是否意味着我就得要架设APT 或 YUM 服务器呢?<br> <br>这可不一定吶。如果您只有一部主机,而且上面的网络服务很少,并且也没有提供甚么重要的服务,那么架设APT/YUM 服务器就没有这么需要了。为甚么呢?因为很少用到 APT 的机制啊,而且直接找网络上面有的APT/YUM 服务器即可,无须架设啦!要注意的是,架设 APT/YUM 服务器时,您必须要有够用的硬盘空间、够用的频宽以及提供至少WWW 或者是 FTP 的网络服务呢!这对只有一部主机的您来说,真的不必要费心思去管理的啦!但如果您的网络环境是如下的模样,可能就得要架设一部APT/YUM 服务器比较好啰!<br> <ul><li><font color="#000066">您的网络里面有相当多的同样版本的 Linux distribution系统;</font></li><li><font color="#000066">您的局域网络对外频宽不高,且内部有多部 Linux 主机系统;</font></li><li><font color="#000066">您的 Linux distributions 在国内并没有相对应的 APT/YUM服务器提供服务,而对国外联机的频宽又很低时;</font></li></ul> <br>也就是说,如果您拥有多部 Linux 主机,或者是您连接到 APT/YUM 服务器的频宽太低时,就可以考虑架设APT/YUM 服务器了。以上面<a href="#fig_1">图一</a>来说,如果您的连外网络频宽太低,那么架设一部APT/YUM 服务器后,所有的 Linux 是连接到该部 APT/YUM 服务器进行升级/安装,速度当然比连外要快很多啦!<br>  <br>所以说,如果您是上层的系统管理员(例如学校的网管老师或者县网、区网的网管人员),为了您的整个网域的Linux 主机来打算,那么架设 APT/YUM 是蛮需要的,因为真的可以节省很多连外的频宽;相反的,如果您是一般用户,拥有的了不起就是两三部Linux 主机而已,那么似乎没有架设 APT 主机的必要性呢!因为由上面的说明来看,架设APT 主机所需要的『硬盘空间』可是不能省的,<font color="#000066">对于一般的用户来说,架设APT 主机实在是没有什么必要性说</font>~</ul> <br><hr width="100%"><a name="theory_protocol"></a><img src="0450apt_files/penguin-s.gif" nosave="" align="middle" height="23" width="17"><font color="#000099">架设之前,您所需要启用的服务</font><br> <ul>就如同前面的说明,您要架设 APT/YUM 时,请先记得<font color="#000066">在您的APT/YUM 主机上面启用 WWW 或者是 FTP 服务了才行!</font>因为 APT/YUM 是利用WWW/FTP 来进行 RPM 档案在 Server 与 Client 之间的传送的!此外,您的 APT/YUM主机上面最好将最靠近您主机的 Linux 版本更新套件的网站设定为映像站台 ( mirror),如此一来,您就可以让系统自动的更新您的 Linux distributions 所需要的更新档案,而不必手动来更新呢!<br> <br>此外,由于完整的 APT/YUM 服务器包含了原本的 Linux distributions 的原版光盘内容,所以需要的硬盘空间是很高的!至少需要3~5 GB 以上,<font color="#000066">最好能够有 10GB 以上的硬盘空间</font>。<br> 

⌨️ 快捷键说明

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