[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 下一页 ]


APT HOWTO (Obsolete Documentation)
第 2 章 - 基础设置


2.1 /etc/apt/sources.list文件

作为操作的一部分,APT使用一个文件列出可获得软件包的镜像站点地址,这个文 件就是/etc/apt/sources.list

文件中的各项信息通常按如下格式列出:

     deb http://host/debian distribution section1 section2 section3
     deb-src http://host/debian distribution section1 section2 section3

当然,上面所列的地址项都是假设的且不应该使用它们。每行的第一个单词debdeb-src描述了文件类型:目录中包含的是二进制软件包(deb), 即我们通常使用的已编译好的软件包;或包含的是源码包(deb-src),源码 包包含源程序编码、Debian控制文件(.dsc)和“Debian化”该程序所做更改的 记录文件diff.gz

在Debian缺省的sources.list中通常是如下内容:

     # See sources.list(5) for more information, especially
     # Remember that you can only use http, ftp or file URIs
     # CDROMs are managed through the apt-cdrom tool.
     deb http://http.us.debian.org/debian stable main contrib non-free
     deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
     deb http://security.debian.org stable/updates main contrib non-free
     
     # Uncomment if you want the apt-get source function to work
     #deb-src http://http.us.debian.org/debian stable main contrib non-free
     #deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

这些是Debian基本安装所需的软件包来源地址。第一个deb行指向官方正 式软件包来源,第二个行指向non-US软件包来源,第三行指向Debian安全补丁更新 包来源。

最后两行被注释掉了(在句首加“#”),所以apt-get将忽略它们。这些是deb-src行指向Debian源码包来源,如果你常下载程序源码来测试或重编译,可取消对 它们的注释。

/etc/apt/sources.list文件可包含多种类型的地址,APT知道如何处理这 些不同的地址类型:httpftpfile(本地文件,例 如:一个加载了ISO9600文件系统的目录)和ssh

别忘了在修改完/etc/apt/sources.list文件后运行apt-get使 更改生效。你必须完成这个步骤,以便让APT从你指定的地方获得新的软件包列表。


2.2 如何在本地使用APT

有时你硬盘上有许多.deb软件包,你会希望通过APT来安装它们,以便让它去处理软 件包间复杂的依赖关系。

想这么做,就建一个目录,将所有你想要安装的.deb文件放入其中。例如:

     # mkdir /root/debs

你可以使用一个override文件直接去修改软件包中控制文件中的定义,使 之符合你的软件储藏库管理规则。在这个覆盖文件中,你可能希望定义一些选项来覆 盖那些软件包的定义,如下所示:

     package priority section

package是软件包的名称,priority有三个级别low、medium或high,section是软件 包所属的section,重载文件可任意命名,文件名将在接下来的步骤中做为参数传递 给dpkg-scanpackages。如果你不想写重载文件,只需在调用dpkg-scanpackages时使用/dev/null就行了。

仍是在/root目录下执行:

     # dpkg-scanpackages debs file | gzip > debs/Packages.gz

在上述的命令行中,fileoverride文件,命令生成一个Packages.gz文件,它包含了APT所需的各种软件包信息。最后,如果要使用 这些软件包,加上:

     deb file:/root debs/

完成了上面的工作,就可以通常那样使用APT命令操作这些软件包了。你可以使用同 样的方法生成一个源码库,但请记住你需要将.orig.tar.gz文件、.dsc文件和.diff.gz文件包含在目录中,同时必须生成Source.gz文件而不是Packages.gz文件。所使用的命令也不相同, 要使用dpkg-scansources,命令如下所示:

     # dpkg-scansources debs | gzip > debs/Sources.gz

Notice that dpkg-scansources doesn't need an override file. The sources.list's line is:

     deb-src file:/root debs/

2.3 选择最佳镜像发布站点加入source.list文件:netselect,netselect-apt

一个新用户经常问到的问题:“该将哪个Debian镜像发布站点加入source.list文件?”。有很多方法来选择镜像发布站点,专家们可能会写一个脚本去测试 不同站点的ping时间。不过其实有一个程序可以帮你: netselect

要安装netselect,通常使用:

     # apt-get install netselect

不带参数运行它时会显示它的帮助信息。运行它时加上以空格分隔的镜像主机列表, 它会返回一个分值和列表中的一个主机名。这个分值通过评估ping时间和hops数(一 个网络请求报文到达目标主机所经过的转发主机的个数)得出,它与镜像站点预计下 载速度成反比(数值越小越好)。返回的主机名是主机列表中得分最低的那个(查看列 表中所以主机的得分情况可使用-vv选项)。看出下的例子:

     # netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br
       365 ftp.debian.org.br
     #

它表示,在netselect后列出的所有主机中,ftp.debian.org.br是下载速 度最快的主机,其得分为365。(注意!!这是在我电脑上的测试结果,不同的网络 节点网速会大不相同,所以这个分值不一定适用于其它电脑)

现在将netselect找到的连接速度最快的镜像站点加入/etc/apt/sources.list文件(参考/etc/apt/sources.list文件, 第 2.1 节)并按照软件包管理, 第 3 章中的技巧来做。

注意:镜像站点列表通常包含在文件 http://www.debian.org/mirror/mirrors_full中。

从0.3.ds1版开始,netselect源码包中包含了netselect-apt二 进制包,它使上述操作自动完成。只需将发布目录树做为参数(默认为stable)输入, sources.list文件就会生成速度最快的main和non-US镜像站点列表,并保 存在当前目录下。下面的例子生成一个包含stable发布镜像站点列表的sources.list:

     # ls sources.list
     ls: sources.list: File or directory not found
     # netselect-apt stable
     (...)
     # ls -l sources.list
     sources.list
     #

记住:sources.list生成在当前目录下,必须将其移 至/etc/apt目录。

接着,按照软件包管理, 第 3 章中的技巧来做。


2.4 将CD-ROM加入source.list文件

如果你用APT从CD-ROM上安装及升级软件包,你可以将它加入到sources.list文件中。完成该操作,可使用apt-cdrom程序:

     # apt-cdrom add

将Debian光盘放入光驱,它将加载光盘目录,并在光盘上查找软件包信息。如果你 的光驱需要额外设置,可使用以下选项:

     -h           - program help
     -d directory - CD-ROM mount point
     -r           - Rename a recognized CD-ROM
     -m           - No mounting
     -f           - Fast mode, don't check package files
     -a           - Thorough scan mode

例如:

     # apt-cdrom -d /home/kov/mycdrom add

你还可以扫描一张光盘,但不将其加入列表:

     # apt-cdrom ident

注意,只有当你在系统的/etc/fstab中正确设置了光驱后,该程序才会工作。


[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 下一页 ]


APT HOWTO (Obsolete Documentation)

1.8.10.4 - 2005年3月

Gustavo Noronha Silva kov@debian.org

刘浩 iamlyoo@163.com