本文将描述如何刻录一张带使用apt或synaptic下载的软件包的CD光盘。这张CD光盘将会是一张可以直接为其它机器的synaptic或apt-cdrom所用的软件仓库。例如,我将演示如何制作一张包含所有以下载的安全升级的CD光盘。除了添加新的apt PGP keys以外,这张CD光盘的使用者将无需做任何的命令行操作。
Step 1: Install the apt-move package(安装apt-move软件包)
&">nbsp;
Apt-move是一个专为已下载到/var/cache/apt/archives的软件包生成debian软件包仓库文件结构的工具。 为了便于安装,apt会将已安装的软件包下载到本地。 Apt-move将默认在/mirrors/debian中生成这个本地仓库。
sudo apt-get install apt-move
(或者使用synaptic) 你需要激活universe仓库。参见AddingRepositoriesHowto
我将/etc/apt-move.conf中的设置从
COPYONLY=no
no变为yes,以便apt-move不会删除/var/cache/apt/archives/中的软件包。
Step 2: Select the packages you want to put on the cd(选择您要刻录到CD上的软件包)
在这个实例中,我们仅希望刻录下载的最新的软件包。我们不想刻录旧的或Ubuntu CD上已存在的软件包。首先,我们清除/var/cache/apt/archives 中旧的软件包。
sudo aptitude autoclean
Step 3: Run apt move to create the archive structure(运行apt move创建文档结构)
首先确定你有足够的硬盘空间。由于/mirrors/debian归root所有,我们必须使用root账户,以便于这一步的操作
sudo -s
下面的所有命令均以root身份运行。先我们清空先前的镜像(如果存在的话),然后我的运行apt-move。
rm -rf /mirrors/debian
apt-move -d dapper update
由于ubuntu的仓库结构,apt-move并不是把所有的软件包都插入到Packages.gz文件中。我们必须在apt-ftparchive的帮助下重新制作Packages.gz。
cd /mirrors/debian
apt-ftparchive packages pool/main/ \
| gzip -9c > dists/dapper/main/binary-i386/Packages.gz
apt-ftparchive packages pool/restricted/ \
| gzip -9c > dists/dapper/restricted/binary-i386/Packages.gz
我们还必须重新制作920.html">Release文件。为了做到这一点,我们必须制作一个名为 ~/myapt.conf的apt配置文件。它的内容如下:
APT::FTPArchive::Release {
Origin "APT-Move";
Label "APT-Move";
Suite "dapper";
Codename "dapper";
Architectures "i386";
Components "main restricted";
Description "Ubuntu Updates CD";
};