Contenu | Rechercher | Menus

Apt-move

Apt-move est un utilitaire pour créer un dépôt de paquets à partir des paquets téléchargés qui sont dans le répertoire /var/cache/apt/archives.

Installation

Configuration

Pour configurer apt-move, on édite le fichier /etc/apt-move.conf :

# Les sites dans  /etc/apt/sources.list que vous voulez copier
APTSITES="ftp.minet.net/pub/distrib/debian/ non-us.debian.org/debian-non-US www.opera.com/debian"

# Les architectures de processeur pour lesquelles vous voulez générer la source
ARCHS="i386"

# Le chemin d'accès absolu du miroir local que vous voulez créer
# Ce doit être la première entrée de votre sources.list pour utiliser "sync" ou "mirror"
LOCALDIR=/mnt/archives/apt-mirror

# La distribution pour laquelle vous souhaitez créer le dépôt
DIST=dapper

# Le type de paquet que vous voulez copier. 
# Valeurs possibles : binary, source, both (n'utiliser qu'une valeur).
PKGTYPE=binary

# Chemin absolu du cache des paquets. Initialement celui de apt-get par défaut.
FILECACHE=/var/cache/apt/archives

# Choisir "yes" si vous voulez garder les fichiers originaux avec "move"/"movefile"
COPYONLY=no

Utilisation

apt-move get [ dir ]

Génère un fichier maitre à partir de "LISTSTATE" (ou [dir] si spécifié) qui va répertorier les fichiers à copier/déplacer.

apt-move move   

Déplace un ensemble de paquets depuis le cache vers le miroir local, d'après le fichier maitre (créé par apt-move get). Tous les paquets qui ne sont pas dans ce fichier maitre ou sont obsolètes ne seront pas copiés.

apt-move delete

Efface les paquets obsolètes.

apt-move packages

Construit une nouvelle version des fichiers Packages.gz et Sources.gz du dépôt local

Pour copier les fichiers depuis le cache (FILECACHE) vers le miroir local (LOCALDIR), on lance :

apt-move update

C'est en fait un alias de la commande

apt-move get  move  delete  packages

Exemple : Création d'un dépôt sur CD avec les mises à jour de sécurité

Introduction

Cette page décrit commment faire un cd-rom qui contient les paquets que vous avez téléchargés sur votre ordinateur avec synaptic ou apt. Le cd-rom sera donc un dépôt de paquets auquel un autre ordinateur pourra avoir accès facilement avec synaptic ou apt-cdrom.

Editez le fichier de configuration /etc/apt-move.conf.

COPYONLY=yes

Cette modification permet que apt-move ne détruise pas les paquets dans /var/cache/apt/archives/.

Sélection des paquets à mettre dans le CD

Premièrement, nous faisons le ménage des vieux paquets dans /var/cache/apt/archives :

sudo apt-get autoclean

Dans cet exemple, vous n'avez besoin que des paquets qui ne sont pas dans le cd original d'Ubuntu puisque vous les avez déjà donc vous pouvez détruire ces paquets avec le script une fois votre cd-rom monté :

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

Exécuter apt-move pour créer la structure de l'archive

Assurez-vous d'abord d'avoir suffisamment d'espace sur le disque dur :

df -h

Puisque le répertoire /mirrors/debian est un répertoire qui appartient à root la manipulation devient plus facile avec cet utilisateur, donc :

sudo -s

Maintenant toutes les commandes sont exécutées avec les permissions root donc faites gaffe !!!!

Premièrement, assurez-vous d'avoir un environnement propre en supprimant les miroirs précédents :

rm -rf /mirrors/debian

Ensuite, on lance apt-move :

apt-move -d breezy update

Attention si vous utilisez une autre version que breezy, pensez à mettre dapper, Edgy ou autre !

À cause de la structure des répertoires d'Ubuntu ce ne sont pas tous les paquets qui sont ajoutés dans la liste Packages.gz. Vous devez donc refaire Packages.gz à l'aide de la commande 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

Ici on ne prend que les fichiers main et restricted

Vous devez aussi refaire le fichier Release, pour ce faire vous devez vous faire un fichier de configuration apt nommé ~/myapt.conf qui contient ceci :

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

Pensez de nouveau à modifier le nom de la distribution, breez, dapper, egdy, etc. tout comme l'architecture i386 peut-être i686

Ensuite, lancez la commande :

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

Puis c'est le moment de créer le fichier Release.gpg, pour ce faire, vous devez avoir une clé GPG et prête à la signature :

gpg -bao dists/breezy/Release.gpg dists/breezy/Release

Ensuite, supprimez le répertoire .apt-move :

rm -rf .apt-move

Vous pouvez identifier le cd-rom à l'aide du dossier .disk et du fichier info à l'intérieur :

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

Puis, ajoutez lui votre clé publique :

gpg --export -a <identifiant> > public.key

La gravure du cd-rom

Copiez le contenu de /mirrors/debian dans un cd-rom.

En mode console avec cette commande :

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

Avant de l'utiliser, vous devez ajouter votre clé à la clé apt. Donc, après avoir monté le CD-ROM exécutez cette commande :

apt-key add /cdrom/public.key

Synaptic permet aussi l'ajout de cd-rom dans le menu Edit → Ajouter un cédérom.

Une autre façon de faire est cette commande :

sudo apt-cdrom add

Voir aussi

  • Le tutoriel de Dexter sur le forum, pour créer un CD avec uniquement un choix de paquets.

Traduit par phetu, modifié par les contributeurs, mis en forme et complété par mavosaure.

Basé sur AptMoveHowto par les contributeurs de la " community documentation for Ubuntu".



Le contenu de ce wiki est sous licence : CC BY-SA v3.0