作为操作的一部分,APT使用一个文件列出可获得软件包的镜像站点地址,这个文件就是/etc/apt/sources.list。
文件中的各项信息通常按如下格式列出:
deb http://site.http.org/debian distribution section1 section2 section3
deb-src http://site.http.org/debian distribution section1 section2 section3
当然,上面所列的地址项都是假设的不可用的。每行的第一个单词deb或deb-src,描述了文件类型,目录中包含的是二进制软件包(deb),即我们通常使用的已编译好的软件包;或包含的是源码包(deb-src),源码包包含源程序编码、Debian管理文件(.dsc)和“Debian化”该程序所做更改的记录文件diff.gz。
通常可以看出如下Debian默认的sources.list:
# See sources.list(5) for more information, especialy
# 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
这些是Debian基本安装所需的软件包来源地址,第一个deb行指向官方正式软件包来源,第二个deb行指向non-US软件包来源,第三deb行指向Debian安全补丁更新包来源。
最后两行被注释掉了(在句首加#),所以apt-get将忽略它们。这些是deb-src行指向Debian源码包来源,如果你常下载程序源码来测试或重编译,可取消对它们的注释。
/etc/apt/sources.list文件可包含多种类型的地址,APT知道如何处理这些不同的地址类型:http,ftp,file(本地文件,例如:一个加载了ISO9600文件系统的目录)和ssh。
别忘了在修改完/etc/apt/sources.list文件后运行apt-get使更改生效。你必须完成这个步骤,以便让APT从你指定的地方获得新的软件包列表。
skyAND 于 2007-11-23 16:44:43发表:
在本地使用APT
有时你硬盘上有许多软件包,你会希望通过APT来安装它们,以便让它去处理软件包间复杂的依赖关系。
想这么做,就建一个目录,将所有你想要安装的.deb文件放入其中。例如:
mkdir /root/debs
你可以使用一个重载文件(override file)直接去修改软件包中管理文件中的定义(definitions),使之符合你的软件储藏库管理规则,在这个重载文件中,你可能希望定义一些选项来重载那些软件包的定义,如下所示:
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
在上述的命令行中,file为重载文件,命令生成一个Packages.gz文件,它包含了APT所需的各种软件包信息,要使用这些软件包,在sources.list中加上:
deb file:/root debs/
完成了上面的工作,就可以通常那样使用APT命令操作这些软件包了。你可以使用同样的方法生成一个源码库,但请记住你需要将.orig.tar.gz文件、.dsc文件和.diff.gz文件包含在目录中,要生成Source.gz文件而不是Packages.gz文件。所使用的命令也不相同,要使用dpkg-scansources,命令如下所示:
dpkg-scansources debs | gzip > debs/Sources.gz
注意dpkg-scansource不需要重载文件,在sources.list中的引用法是:
deb-src file:/root debs/