个人工具

UbuntuHelp:AptMoveHowto/simple

来自Ubuntu中文

跳转至: 导航, 搜索


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.

  1. You can need to install apt-move from the Universe Repository and dpkg-deve packages.
  2. Then you need to run this command in the terminal
sudo mkdir --parents --mode=a+w /mirrors/debian
    
  • If it comes back saying /mirrors/debian already existed then you need to put this line in the terminal.
  
    sudo chmod a+w --recursive /mirrors/debian
    
  1. Next you need to update apt-move
    apt-move update
    
  1. 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
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
    
  1. 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.
  2. Insert that disk into the non-networked computer and add the cdrom as a repository using your favorite package manager. 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.
  3. 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...