个人工具

UbuntuHelp:AptMoveHowto/simple

来自Ubuntu中文

Oneleaf讨论 | 贡献2007年5月24日 (四) 09:03的版本 (新页面: {{From|https://help.ubuntu.com/community/AptMoveHowto/simple}} {{Languages|UbuntuHelp:AptMoveHowto/simple}} How can I easily transfer all the packages I have downloaded with apt to anothe...)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索


How can I easily transfer all the packages I have downloaded with apt to another box which is not connected to the internet?

This How To is a simpler way to transfer downloaded packages from one machine to another. It does not require the recipient to enter GPG keys. It is not reccommended for someone who wants to distribute a cd publicly, for that reason. This is a "quick-and-dirty" way of getting the job done.

# Commands to be run only once
sudo apt-get install apt-move dpkg-dev
sudo mkdir --parents --mode=a+w /mirrors/debian
# Next line is needed if /mirrors/debian already existed
sudo chmod a+w --recursive /mirrors/debian

(Or just use synaptic and install the apt-move package) You need to have enabled the universe repository. See AddingRepositoriesHowto

apt-move update

Because of ubuntu repository structure, not all packages are inserted into the Packages.gz file by apt-move. We must remake the Packages.gz file.

cd /mirrors/debian # We must be here for dpkg-sc. to create correct relative filenames
dpkg-scanpackages pool /dev/null | gzip -9 > dists/stable/main/binary-i386/Packages.gz
# Problem:The restricted section (e.g. restricted linux drivers) is also taken into account
mkdir /mirrors/debian/.disk
echo "Custom packages" $(hostname) $(date +%y%m%d) > /mirrors/debian/.disk/info

Then, using nautilus-cd-burner burn the contents of the /mirrors/debian folder to a disk. Be sure to show hidden files so that you can copy the .disk file.

Insert that disk into the non-networked computer and add the cdrom as a repository using synaptic or run

sudo apt-cdrom add

from the command line. When installing the packages from this cd, you will be asked if you want to install these packages without authentification. For the sake of simplicity, the GPG keys and the release file are not included on this simple packages cd. The packages will still be installed without any problems if you answer yes.

Apt will prefer to use an authenticated source over an unauthenticated one. If you are on dialup and enable the universe repository, it will still try to download the package from the net and not from the local (unsigned) cd. You must disable the universe repository (or any other repository), update and install the package from the custom cd.

Note: Dapper will not copy deb packages from the install cd to the /var/cache/apt/archives directory, so we no longer need to clean it...