Ce petit tutoriel va vous apprendre une façon simple de créer votre propre serveur de paquets. Vous pouvez aussi utiliser un serveur avec apache et debarchiver, reportez-vous à cette page.
Ce tutoriel utilise le logiciel reprepro, disponible dans le dépôt universe. Donc avant tout : installez le paquet reprepro.
La création d'un dépôt est relativement simple. Commencez par créer un dossier qui contiendra votre futur dépôt :
user@ubuntu:~$ mkdir apt
Ensuite, on crée l'architecture de base du serveur apt:
user@ubuntu:~$ mkdir -p ./apt/conf user@ubuntu:~$ mkdir -p ./apt/incoming
Le répertoire conf contiendra les fichiers de configuration, le répertoire incoming pourra permettre l'upload de paquets.
Nous allons maintenant créer le fichier de configuration, ce fichier contiendra plusieurs informations, comme la version de la distribution correspondant aux paquets. Créez le fichier ./apt/conf/distributions. Pour Trusty remplissez-le comme ceci:
Origin: Votre Nom Label: Label de votre société (ou autre) Suite: stable Codename: trusty Version: 14.04 Architectures: i386 amd64 source #(en fonction de vos besoin) Components: main restricted universe multiverse #(en fonction de vos besoin) Description: Votre Description
Vous voila prêt à ajouter des paquets à votre dépôt. Pour cela vous devez:
cd apt
reprepro -Vb . includedeb (distribution) incoming/(nom_du_paquet)
Vous pouvez enlever l'option V pour qu'il y ait moins d'informations affichées. Le "." correspond à la racine de votre serveur (nous sommes dans le répertoire apt). La distribution doit correspondre à celle du paramètre Codename du fichier de configuration précédemment créé.
Voici un petit script permettant d'ajouter tous les paquets présents dans un dossier en une seule commande :)
#!/bin/bash for paquet in $1/*.deb; do reprepro -b . includedeb trusty $paquet; done
Copiez ce code dans le fichier AjoutPaquets.sh dans le dossier apt, puis:
chmod u+x ./AjoutPaquets.sh ./AjoutPaquets.sh /var/cache/apt/archives
La dernière commande aura pour effet d'ajouter à votre dépôt tous les paquets présents dans /var/cache/apt/archives, c'est à dire tous les paquets téléchargés récemment. Pour inclure un autre répertoire, il suffit de le passer en argument au script.
Ou tout simplement:
reprepro -Vb . includedeb (distribution) incoming/*.deb
Ici ce sont les .deb du dossier incoming qui seront intégrés au dépôt.
Vous avez un dépôt fraîchement créé, mais vous voudriez bien l'utiliser : suivez le guide …
Soit vous l'utilisez en local, dans ce cas il vous suffit d'ajouter à votre /etc/apt/sources.list la ligne :
deb file:/home/user/apt stable main contrib non-free
Bien sûr il faudra changer le stable en unstable pour la version instable.
Si vous voulez l'utiliser en réseau, il vous faudra un serveur web sur votre pc, vous trouverez cette procédure ici. Ajoutez un alias dans votre httpd.conf pointant vers le répertoire apt fraîchement créé. Une fois ceci fait et votre serveur lancé, le répertoire apt devrait être accessible avec une adresse du type http://votre_ip/apt . Il vous suffira alors d'ajouter à tous les pc devant se servir de ce serveur la ligne :
deb http://ip_du_serveur/apt stable main contrib non-free
dans le fichier sources.list .
Ensuite un petit:
sudo apt-get update
et les paquets ajoutés à votre serveur personnel devraient être disponibles.
Vous pouvez aussi ajouter vos fichiers sur un site web (le site disponible pour vous chez votre fournisseur d'accès ou autre…). Il vous suffira de donner la bonne URL dans une ligne semblable à ci-dessus. Tout le monde pourrait alors avoir accès à vos chers debs.
Pour ce faire, rien de plus simple, vous devez bien évidemment, disposer avant tout d'une clé GPG. Ensuite, éditez le fichier ./conf/distributions, et rajoutez y ceci :
SignWith: XXXXXXXX
XXXXXXXX devant être remplacé par la valeur de votre clé GPG
ensuite, lancez le terminal, et utilisez cette commande:
reprepro --ask-passphrase export
Votre passphrase vous sera demandée, puis votre dépôt sera signé. Il ne vous restera plus qu'à uploader tous les dossiers composants votre dépôt.
Contributeurs : Sp4rKy (base), Johndescs, Billou, MAJ de la page L'Africain