“UbuntuHelp:AptMoveHowto/breezy”的版本间的差异
来自Ubuntu中文
小 |
小 |
||
第2行: | 第2行: | ||
{{Languages|UbuntuHelp:AptMoveHowto/breezy}} | {{Languages|UbuntuHelp:AptMoveHowto/breezy}} | ||
This page will describe how to make a cd which contains packages you have downloaded on one machine which you can then use the cd as a repository that you can easily use on another machine. | This page will describe how to make a cd which contains packages you have downloaded on one machine which you can then use the cd as a repository that you can easily use on another machine. | ||
− | |||
For example, I will show how to make a cd which contains all the security updates that has been downloaded. | 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. | 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 == | == 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 downloaded there by apt for installation. Apt-move will create this local repository in /mirrors/debian, by default. You need to install the '''apt-move''' package from the '''Universe Repository'''. | 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 downloaded there by apt for installation. Apt-move will create this local repository in /mirrors/debian, by default. You need to install the '''apt-move''' package from the '''Universe Repository'''. | ||
− | |||
You can change the edit the configuration file located at /etc/apt-move.conf. | You can change the edit the configuration file located at /etc/apt-move.conf. | ||
<pre><nowiki> | <pre><nowiki> | ||
第20行: | 第15行: | ||
</nowiki></pre> | </nowiki></pre> | ||
So that apt-move doesn't delete file from your /var/cache/apt/archives/. | 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 == | == 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. | 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. | First, we clean up the /var/cache/apt/archives from old packages. | ||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-get autoclean | sudo apt-get autoclean | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Next, we delete packages that exists in the Ubuntu CD. Put your Ubuntu CD on CD-ROM Drive, mount it (if it not automatically mounted) then run the following: | Next, we delete packages that exists in the Ubuntu CD. Put your Ubuntu CD on CD-ROM Drive, mount it (if it not automatically mounted) then run the following: | ||
<pre><nowiki> | <pre><nowiki> | ||
第40行: | 第30行: | ||
done | done | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
== Step 3: Run apt move to create the archive structure == | == Step 3: Run apt move to create the archive structure == | ||
− | |||
Make sure you have enough disk space first. | Make sure you have enough disk space first. | ||
− | |||
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 | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
All the following command run as root. | All the following command run as root. | ||
First we clean-up previous mirrors (if exists) then we run apt-move. | First we clean-up previous mirrors (if exists) then we run apt-move. | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
rm -rf /mirrors/debian | rm -rf /mirrors/debian | ||
apt-move -d breezy update | apt-move -d breezy update | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
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. | 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. | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
cd /mirrors/debian | cd /mirrors/debian | ||
第67行: | 第50行: | ||
| gzip -9c > dists/breezy/restricted/binary-i386/Packages.gz | | gzip -9c > dists/breezy/restricted/binary-i386/Packages.gz | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
We must also remake Release file, to do this we must make an apt configuration file named ~/myapt.conf it contents is like this | We must also remake Release file, to do this we must make an apt configuration file named ~/myapt.conf it contents is like this | ||
<pre><nowiki> | <pre><nowiki> | ||
第80行: | 第62行: | ||
}; | }; | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Next, run the following commands: | Next, run the following commands: | ||
<pre><nowiki> | <pre><nowiki> | ||
第87行: | 第68行: | ||
mv Release dists/breezy/Release | mv Release dists/breezy/Release | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Then we need to make Release.gpg, to make it you must already have your [[UbuntuHelp:GPGKey]] set and ready to sign. | Then we need to make Release.gpg, to make it you must already have your [[UbuntuHelp:GPGKey]] set and ready to sign. | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
gpg -bao dists/breezy/Release.gpg dists/breezy/Release | gpg -bao dists/breezy/Release.gpg dists/breezy/Release | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Next, we delete unwanted .apt-move directory | Next, we delete unwanted .apt-move directory | ||
<pre><nowiki> | <pre><nowiki> | ||
rm -rf .apt-move | rm -rf .apt-move | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
You can identify the cd by making a .disk directory and making an info file in it. | You can identify the cd by making a .disk directory and making an info file in it. | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
mkdir .disk | mkdir .disk | ||
echo Ubuntu-Updates `date +%Y-%m-%d` > .disk/info | echo Ubuntu-Updates `date +%Y-%m-%d` > .disk/info | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Then we need to put our public keys in it. | Then we need to put our public keys in it. | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
gpg --export -a "Your Name" > public.key | gpg --export -a "Your Name" > public.key | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Offcourse change Your Name with the name that you use in your PGP. | Offcourse change Your Name with the name that you use in your PGP. | ||
− | |||
Thats' all | Thats' all | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
exit | exit | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
== Step 4: Burn the cd == | == Step 4: Burn the cd == | ||
− | |||
Copy the contents of what is contained in /mirrors/debian to a cd. | Copy the contents of what is contained in /mirrors/debian to a cd. | ||
− | |||
For example you could make an iso by following command: | For example you could make an iso by following command: | ||
<pre><nowiki> | <pre><nowiki> | ||
第129行: | 第97行: | ||
/mirrors/debian | /mirrors/debian | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
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: | 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: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
apt-key add /cdrom/public.key | apt-key add /cdrom/public.key | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Then you could use the CD like any other Ubuntu CD. | 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. | 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 | You can also do it from the command-line with | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
sudo apt-cdrom add | sudo apt-cdrom add |
2007年11月30日 (五) 16:07的版本
点击翻译: |
English |
请不要直接编辑翻译本页,本页将定期与来源同步。 |
This page will describe how to make a cd which contains packages you have downloaded on one machine which you can then use the cd as a repository that you can easily use on another machine. 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 downloaded there by apt for installation. Apt-move will create this local repository in /mirrors/debian, by default. You need to install the apt-move package from the Universe Repository. You can change the edit the configuration file located at /etc/apt-move.conf.
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 apt-get autoclean
Next, we delete packages that exists in the Ubuntu CD. Put your Ubuntu CD on CD-ROM Drive, mount it (if it not automatically mounted) then run the following:
for f in `find /media/cdrom/pool/ -name '*.deb' -printf %f\\n` do if [ -f /var/cache/apt/archives/$f ]; then sudo rm -v /var/cache/apt/archives/$f fi done
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
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 breezy 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/breezy/main/binary-i386/Packages.gz apt-ftparchive packages pool/restricted/ \ | gzip -9c > dists/breezy/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 "breezy"; Codename "breezy"; Architectures "i386"; Components "main restricted"; Description "Ubuntu Updates CD"; };
Next, run the following commands:
rm dists/breezy/Release apt-ftparchive -c ~/myapt.conf release dists/breezy/ > Release mv Release dists/breezy/Release
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/breezy/Release.gpg dists/breezy/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