个人工具

“UbuntuHelp:AptMoveHowto”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(新页面: {{From|https://help.ubuntu.com/community/AptMoveHowto}} {{Languages|UbuntuHelp:AptMoveHowto}} For breezy (Ubuntu 5.10) see: UbuntuHelp:AptMoveHowto/breezy This page will describe how...)
 
第12行: 第12行:
  
 
Apt-move is a tool for creating a debian package repository file structure out of packages that have been downloaded to /var/cache/apt/archives.  Installed packages are downloded there by apt for installation.  Apt-move will create this local repository in /mirrors/debian, by default.
 
Apt-move is a tool for creating a debian package repository file structure out of packages that have been downloaded to /var/cache/apt/archives.  Installed packages are downloded there by apt for installation.  Apt-move will create this local repository in /mirrors/debian, by default.
<pre><nowiki>
 
sudo aptitude install apt-move
 
</nowiki></pre>
 
  
(Or just use synaptic) You need to enable the universe repository.  See AddingRepositoriesHowto
+
You can install '''apt-move''' from the '''Universe''' Repository
  
 
I change the setting in /etc/apt-move.conf from
 
I change the setting in /etc/apt-move.conf from
第44行: 第41行:
 
Because /mirrors/debian is root owned we must become root to make the steps easier.
 
Because /mirrors/debian is root owned we must become root to make the steps easier.
 
<pre><nowiki>
 
<pre><nowiki>
sudo -s
+
sudo -s -H
 
</nowiki></pre>
 
</nowiki></pre>
  
第143行: 第140行:
  
 
----
 
----
[[category:CategoryCleanup]]
 
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2007年11月22日 (四) 12:02的版本


For breezy (Ubuntu 5.10) see: UbuntuHelp:AptMoveHowto/breezy

This page will describe how to make a cd which contains packages you have downloaded on one machine using apt or synaptic. The cd will be a repository that you can easily use on another machine using synaptic or apt-cdrom.

For example, I will show how to make a cd which contains all the security updates that has been downloaded.

Except for adding new apt PGP keys, the user of the cd will not need to use the command-line to use it.

Step 1: Install the apt-move package

Apt-move is a tool for creating a debian package repository file structure out of packages that have been downloaded to /var/cache/apt/archives. Installed packages are downloded there by apt for installation. Apt-move will create this local repository in /mirrors/debian, by default.

You can install apt-move from the Universe Repository

I change the setting in /etc/apt-move.conf from

COPYONLY=no

to

COPYONLY=yes

So that apt-move doesn't delete file from your /var/cache/apt/archives/.


Step 2: Select the packages you want to put on the cd

In this example, we only want to put freshly downloaded packages. We don't want to put old packages or packages that exist in Ubuntu CD.

First, we clean up the /var/cache/apt/archives from old packages.

sudo aptitude autoclean

Step 3: Run apt move to create the archive structure

Make sure you have enough disk space first.

Because /mirrors/debian is root owned we must become root to make the steps easier.

sudo -s -H

All the following command run as root. First we clean-up previous mirrors (if exists) then we run apt-move.

rm -rf /mirrors/debian
apt-move -d dapper update

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

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

We must also remake Release file, to do this we must make an apt configuration file named ~/myapt.conf it contents is like this

APT::FTPArchive::Release {
Origin "APT-Move";
Label "APT-Move";
Suite "dapper";
Codename "dapper";
Architectures "i386";
Components "main restricted";
Description "Ubuntu Updates CD";
};

Next, run the following commands:

rm dists/dapper/Release
apt-ftparchive -c ~/myapt.conf release dists/dapper/ > Release
mv Release dists/dapper/

Then we need to make Release.gpg, to make it you must already have your UbuntuHelp:GPGKey set and ready to sign.

gpg -bao dists/dapper/Release.gpg dists/dapper/Release

Next, we delete unwanted .apt-move directory

rm -rf .apt-move

You can identify the cd by making a .disk directory and making an info file in it.

mkdir .disk
echo Ubuntu-Updates `date +%Y-%m-%d` > .disk/info

Then we need to put our public keys in it.

gpg --export -a "Your Name" > public.key

Offcourse change Your Name with the name that you use in your PGP.

Thats' all

exit

Step 4: Burn the cd

Copy the contents of what is contained in /mirrors/debian to a cd.

For example you could make an iso by following command:

mkisofs -r -A "Ubuntu Updates `date +%Y%m%d`" -o ubuntu-updates.iso \
/mirrors/debian

Before you could use the CD, you need to add our GPG key to apt GPG keys. Put the CD on CD-ROM Drive, mount it (if it not automatically mounted) then run the following:

apt-key add /cdrom/public.key

Then you could use the CD like any other Ubuntu CD. On a non-networked ubuntu machine, you can run synaptic, insert the cd and go into Synaptic -> Edit -> Add Cdrom and it will add the contents of the cd to your repositories.

You can also do it from the command-line with

sudo apt-cdrom add