感谢支持
我们一直在努力

Linux基础教程:APT 的安装、使用

前言


您使用什么方法在管理你的 RPM,从光碟片安装,从网络下载安装、还是使用 Red Hat 的 up2date(Red Hat Network)在维护,这些都是解决问题的方法,可是你可以有更好的选择 — APT


APT 的安装、使用


1-1. 什么是 APT


APT(Advanced Package Tool)是 Debian GNU/Linux 用来管理套件的工具,Conectiva 这家巴西的 Linux 套件公司将它移植到使用 RPM 系统的 Linux 套件上,所以现在我们才可以在 Red Hat Linux(或 Fedora) 上使用 APT 来管理我们的 RPM


1-2. APT 能做什么


我们可以用 APT 来管理我们的 RPM ,不管是安装、移除、或是升级,APT 都做的到,可是我们选用 APT 最大的理由是:它能够自动处理 RPM 相依性的问题,例如:当我们要安装 A rpm,而 A rpm 和 B rpm 又有相依关係的时候,传统作法是先下载 B rpm 安装之后,再下载 A rpm 安装之;可是我们若有安装 APT,则只要下一行「apt-get install A」指令就可以了,这样 APT 就会帮我们下载 A rpm,且会自动下载相依性档桉(B rpm)帮我们安装,如此一来我们对于 RPM 的安装、移除、或是升级都可以不用去管烦人的相依性问题了


1-3. APT 简易运作原理


我们的机器安装了 APT 套件之后就成了 APT 的使用者端,当我们在安装、升级 RPM 的时候,事实上,都是透过网络连到远端的 APT 伺服器去下载 RPM 回来安装的,APT 伺服器我们是可以自己指定的,而 APT 使用者端也可以同时成为 APT 伺服器


 


当我们安装了 APT套件之后就会有 apt-get 指令,下 apt-get update 指令的时候会同步使用者端和 APT 伺服器的 RPM 索引清单(package list),APT 伺服器的 RPM 索引清单置于 base 资料夹内,使用者端电脑取得 base 资料夹内的 bz2 RPM 索引清单压缩档后,会将其解压置放于 /var/state/apt/lists/,而当使用者使用 apt-get install 或 apt-get dist-upgrade 指令的时候,就会将这个资料夹内的资料和使用者端电脑内的 RPM 资料库比对,如此一来就可以知道那些 RPM 已安装、未安装、或是可以升级的,然后 APT 就会自动透过网络下载需要的 rpm 回来安装了


1-4. 安装 Fedora Core 2、Fedora Core 1、freshrpms 的 GPG KEY :


rpm –import /usr/share/doc/fedora-release-2/RPM-GPG-KEY


rpm –import /usr/share/doc/fedora-release-1/RPM-GPG-KEY


rpm –import ftp://apt.nc.hcc.edu.tw/pub/freshrpms/RPM-GPG-KEY


 


注:


装了 Fedora Core2、Fedora Core 1、freshrpms 的 GPG key 之后,在安装他们维护的 rpm 的时候才不会出现警告讯息,若不在乎这些讯息,没有安装也是没有关係的


1-5. APT 的安装


以下的范例都是以 http://freshrpms.net/ 网站所维护的 apt rpm 为例


(若是对 CLE 所维护的 APT 有兴趣,请参考:http://cle.linux.org.tw/~candyz/APT-HOWTO_CLE.txt)


 


for Fedora Core 2


线上安装:rpm -ivh ftp://apt.nc.hcc.edu.tw/pub/apt/fedora/linux/2/i386/RPMS.extra/apt-0.5.15cnc6-1.1.hcc.i386.rpm


 


for Fedora Core 1


线上安装:rpm -ivh ftp://apt.nc.hcc.edu.tw/pub/apt/fedora/linux/1/i386/RPMS.extra/apt-0.5.15cnc3-0.1.hcc.i386.rpm


 


for Red Hat Linux 9


线上安装:rpm -ivh ftp://apt.nc.hcc.edu.tw/pub/freshrpms/RedHat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm


1-6. 修改 APT 伺服器来源


freshrpms 维护的 apt rpm 预设的 APT 伺服器是 http://ayo.freshrpms.net,远在国外,速度较慢,底下将其改为 新竹县教育研究发展暨网络中心 维护的 APT 伺服器


 


vi /etc/apt/sources.list


#rpm http://ayo.freshrpms.net fedora/linux/1/i386 core updates freshrpms


↑找到这一行在最前面加上 # 注解符号,然后加入适合您的系统版本的 apt 伺服器来源设定


 


for Fecora Core 2


rpm ftp://apt.nc.hcc.edu.tw/pub/apt/fedora/linux/2 i386 os updates freshrpms firefly extra


 


for Fecora Core 1


rpm ftp://apt.nc.hcc.edu.tw/pub/apt/fedora/linux/1 i386 os updates freshrpms firefly extra


 


for Red Hat linux 9


rpm ftp://apt.nc.hcc.edu.tw/pub/apt/redhat/9 i386 os updates freshrpms firefly extra


 


注意:若您是按照上面网址线上安装 for  Fedora Core 2、Fedora Core 1 的 apt rpm 的话,就不用修改 sources.list 了,因为 apt-0.5.15cnc3-0.1.hcc.i386.rpm 的 sources.list 已经修改过了。


1-7. APT 的使用 — 底下列出几个常用的指令


apt-get update


更新:这指令是用来取得记录在 /etc/apt/sources.list 内的远端伺服器的套件档桉清单, 在使用 「apt-get dist-upgrade」指令升级套件前,一定要记得先用这指令将套件档桉清单更新


 


apt-get dist-upgrade


升级:这裡的升级,并不是指由 Red Hat Linux 8.0 变成 9 这样的升级,而是当 Red Hat 有出升级的 rpm 的时候,我们就可以透过这个指令,升级我们已经安装的 rpm


 


Fedora Core 2 有出那些升级套件,由此网站可以得知:http://download.fedora.redhat.com/pub/fedora/linux/core/updates/2/i386/


Fedora Core 1 有出那些升级套件,由此网站可以得知:http://download.fedora.redhat.com/pub/fedora/linux/core/updates/1/i386/


Red Hat Linux 9 有出那些升级套件,由此网站可以得知:https://rhn.redhat.com/errata/rh9-errata.html


 


注:


APT 源自 Debian GNU/Linux,Debian 在同一个版本编号下,依套件成熟度又分 stable、testing、unstable。若我们现在用的是 Debina 3.0r2 stable,使用 apt-get upgrade 就可以升级 for stable 的软体,而使用 apt-get dist-upgrade 则可以选择将系统由 stable 升级到 testing 或是 unstable,可是在 Red Hat linux 中并没有这样分,所以,使用 apt-get upgrade 和 apt-get dist-upgrade 的结果,基本上是一样的,不过 apt-get dist-upgrade 在升级的同时会为了解决相依性而安装新套件,而 apt-get upgrade 并不会,因此要升级的话,建议还是用 apt-get dist-upgrade 较佳


 


apt-cache search


搜寻:我们可以用这个指令来搜寻 rpm,例如:apt-cache search httpd,这样档名内有 httpd 字眼的 rpm 都会出现了


 


apt-cache depends


相依性:我们可以用这个指令来看到某个 rpm 的所有相依性档桉,例如:apt-cache depends httpd,这样 httpd 的所有相依性档桉就会出现了,有时候不确定某个相依性档桉是属于那个 rpm 时,这个指令就很有用


 


apt-get install


安装:当我们知道 rpm 名称的时候,就可以用这指令安装套件,例如:apt-get install httpd,这样 apt 就会自动上网下载 httpd rpm 回来安装,若 httpd 有相依性套件的时候,apt 也会自动下载安装


 


apt-get clean


清除:当使用 apt-get install 指令安装套件,下载下来的 rpm 会放置于 /var/cache/apt/archives,使用 apt-get clean 指令可以将之清除,避免佔用硬碟空间


 


apt-get remove


移除:假如我们想要移除某个 rpm 的时候就可以使用此指令,例如:apt-get remove httpd,就会移除 httpd 了,假如这个 rpm 有相依性套件的时候,apt 也会一併移除


 


以上这几个指令应该就够用了,若想要得到更进一步的指令,请善用 man:)


1-8. 定期更新:


vi /etc/cron.daily/upgrade


 


#!/bin/sh


apt-get update


apt-get -y dist-upgrade


apt-get clean


 


chmod 755 /etc/cron.daily/upgrade


 


启动 crond:chkconfig crond on


 


这样电脑就会每天定时 upgrade了(要结束前请执行 /etc/cron.daily/upgrade,检查看看有没有错误)



——————————————————————————–


FAQ


1.如何为 apt 设定 proxy?


答:vi /etc/apt/apt.conf
找到


Proxy “”; // http://user:pass@host:port/


加进你可用的 proxy,底下是以 交通大学 的 proxy 为范例


Proxy “http://proxy.nctu.edu.tw:3128”; // http://user:pass@host:port/


2.如何让 apt 自动升级 kernel,不需要用手动升级?


答: vi /etc/apt/apt.conf


找到这一行


Allow-Duplicated { “^kernel$”; “^kernel-“; “^kmodule-“; “^gpg-pubkey$” };


删掉红字部分即可


 


3.X Window 相关


Mozilla 如何看 flash:apt-get install flash-plugin


XMMS 如何听 MP3:apt-get install xmms-mp3


apt 的图形介面:apt-get install synaptic


影音相关:apt-get install mplayer xine totem


4.使用 apt 将 Red Hat Linux 9 升级到 Fedora Core 1


不负责任声明:此操作过程,完全针对本人的软硬体环境,请仔细评估操作所需承担的风险,若因操作造成任何损失,本人概不负责:P


1.安装 for RHL9 的 apt


rpm -ivh ftp://apt.nc.hcc.edu.tw/pub/freshrpms/redhat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm


 


2.修改 apt 伺服器来源


vi /etc/apt/sources.list


rpm ftp://apt.nc.hcc.edu.tw/pub/apt/fedora/linux/1 i386 os updates freshrpms firefly extra


3.升级


apt-get update;apt-get -y dist-upgrade;apt-get install fedora-release;apt-get clean;reboot


过程要是顺利的话,升级完会自动重新开机,就可以看到 Fedora Core 1 的登入画面了


注:


1.中间若出现套件重複安装的讯息,请先移除较小版本的套件,然后再执行上面的步骤


2.升级的 RHL9 是採用最小安装,只安装 apache、sendmail、vsftpd 等伺服器,升级过程需下载一百多个套件,共一百多MB(详细数字忘了:P)


3.RHL8 「应该」也可以这样升级,RHL7.3以下版本(含RHL7.3)因为套件差异甚大,不建议用这种方式升级,还是用光碟片升级较保险

赞(0) 打赏
转载请注明出处:服务器评测 » Linux基础教程:APT 的安装、使用
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏