Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sysadmin:debian_repository [2010/04/20 10:17] james ajout script update depot |
sysadmin:debian_repository [2012/09/21 17:35] (Version actuelle) james ajout tags |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>depot debian local logiciel howto apt-ftparchive gpg pool}} | ||
====== Créer son propre dépot Debian ====== | ====== Créer son propre dépot Debian ====== | ||
Ligne 6: | Ligne 7: | ||
Cette méthode utilise : | Cette méthode utilise : | ||
* l'utilitaire apt-ftparchive | * l'utilitaire apt-ftparchive | ||
- | * un pool de fichiers .deb par dépot | + | * un pool de fichiers .deb par dépot (perte d'espace de stockage car les paquets sont dupliqués, mais gain en lisibilité sur les logiciels disponibles par dépot) |
- | * pour chaque dépot, le dépot suffixé de -test existe : il sert comme son nom l'indique a effectuer ajouter des paquets pas complètement testés. | + | * pour chaque dépot, le même dépot suffixé de "-test" existe : il sert comme son nom l'indique à déposer des paquets pour les tester avant leur mise en production dans l'autre dépot. |
* le dépot est signé par une clef GPG | * le dépot est signé par une clef GPG | ||
- | Ce dépot permet une installation aisée d'un ensemble de machine car il héberge des meta-packages installant un ensemble de logiciels (peut etre un jour un article la dessus). | + | Ce dépot permet une installation aisée d'un ensemble de machine car il héberge des meta-packages installant un ensemble de logiciels (peut être un jour un article la dessus). |
===== Créer l'arborescence d'un dépot ===== | ===== Créer l'arborescence d'un dépot ===== | ||
Ligne 111: | Ligne 112: | ||
</code> | </code> | ||
Il ne vous reste plus qu'a poser les paquets .deb dans le repertoire pool-$DIST/$(SECTION)/binary-$(ARCH) qui convient. | Il ne vous reste plus qu'a poser les paquets .deb dans le repertoire pool-$DIST/$(SECTION)/binary-$(ARCH) qui convient. | ||
+ | |||
+ | ===== Mettre a jour le depot ===== | ||
Pour générer l'index du dépot afin qu'il soit utilisable sur vos postes clients, voici le script de mise à jour utilisé :<code bash> | Pour générer l'index du dépot afin qu'il soit utilisable sur vos postes clients, voici le script de mise à jour utilisé :<code bash> | ||
#!/bin/bash | #!/bin/bash | ||
- | #/sur/local/bin/updateMirror.sh | + | #/usr/local/bin/updateMirror.sh |
# met a jour le depot debian cible passé en argument | # met a jour le depot debian cible passé en argument | ||
Ligne 172: | Ligne 175: | ||
do | do | ||
DIST="${DIST}${DIST_SUFFIX}" | DIST="${DIST}${DIST_SUFFIX}" | ||
- | FTP_ARCHIVE_CONF_FILE="/etc/apt/apt-perso-aliatools-${DIST}.conf" | + | FTP_ARCHIVE_CONF_FILE="/etc/apt/apt-perso-${DIST}.conf" |
rm -f $REPO_ROOT/cache/*db | rm -f $REPO_ROOT/cache/*db | ||
Ligne 197: | Ligne 200: | ||
echo "generation apt ftp archive :" | echo "generation apt ftp archive :" | ||
apt-ftparchive generate ${FTP_ARCHIVE_CONF_FILE} | apt-ftparchive generate ${FTP_ARCHIVE_CONF_FILE} | ||
- | echo "creation de fichier Release :" | + | echo "creation du fichier Release :" |
# creation des fichiers Release | # creation des fichiers Release | ||
RELEASE_FILE="${MIRROR_ROOT}/${DIST}/Release" | RELEASE_FILE="${MIRROR_ROOT}/${DIST}/Release" | ||
Ligne 208: | Ligne 211: | ||
--output $RELEASE_FILE.gpg $RELEASE_FILE | --output $RELEASE_FILE.gpg $RELEASE_FILE | ||
done | done | ||
+ | </code> | ||
+ | ===== Configuration du virtualhost apache ===== | ||
+ | Pour utiliser ce dépot le plus simple est de le servir en http via un serveur Web (apache2 dans notre cas). Voici un exemple de fichier de VirtualHost apache2 (fichier : /etc/apache2/sites-available/debtools.domaine.interne ) :<code> | ||
+ | # /etc/apache2/sites-available/debtools.domaine.interne | ||
+ | <VirtualHost *> | ||
+ | ServerAdmin admin@mondomaine.com | ||
+ | ServerName debtools.domaine.interne | ||
+ | ServerAlias debtools | ||
+ | |||
+ | DocumentRoot /var/www/depots_deb/mirror/ | ||
+ | |||
+ | ErrorLog /var/log/apache2/depots_deb_error.log | ||
+ | TransferLog /var/log/apache2/depots_deb_access.log | ||
+ | |||
+ | <Directory /var/www/depots_deb/mirror/> | ||
+ | AllowOverride AuthConfig | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | |||
+ | order deny,allow | ||
+ | allow from all | ||
+ | </Directory> | ||
+ | </VirtualHost> | ||
+ | </code> | ||
+ | |||
+ | ===== Utilisation coté client ===== | ||
+ | |||
+ | Il suffit d'ajouter la ligne correspondante a la distribution dans votre fichier /etc/apt/sources.list (ou créer un nouveau fichier dans le repertoire /etc/apt/sources.list.d/ ), par exemple pour lenny :<code bash> | ||
+ | cat << EOF >> /etc/apt/sources.list | ||
+ | deb http://debtools.domaine.interne lenny custom | ||
+ | EOF | ||
+ | </code> |