Ceci est une ancienne révision du document !
Gestion des paquets (avancé)
Le but de cet article de d'aller plus loin dans les possibilités fournies par Debian pour une bonne gestion des paquets.
Prérequis
Avant de commencer il faut déja être familier avec :
Miroir
Si on a plusieurs ordinateurs sur le même réseau il est conseillé, pour économiser du temps et de la bande passante, de mettre en place un miroir ou un cache.
Un miroir est une copie intégrale d'un dépôt.
Un cache (apt-cacher) garde une copie de chaque paquet téléchargé pour ne pas le télécharger plusieurs fois.
Je vous conseille de voir l'article d'Andesi : Mise en place d'un miroir de paquets.
Création de fichier .deb
La gestion des paquets de Debian est géniale, mais il se peut que l'on ait besoin d'un programme qui n'existe pas encore en .deb (ou pas adapté à Ubuntu). Si on l'installe via un tar.gz et que l'on perd les sources on aura des difficultés à le désinstaller, c'est pourquoi je vais décrire plusieurs méthodes pour construire un paquet.
Remarque : bien que je ne ne l'aie pas fait des dizaines de fois, ce sont des méthodes que j'ai au moins testées une fois.
Compilation depuis deb-src
Il se peut que le paquet existe uniquement en format source comme c'est le cas pour Debian Mentor par exemple (http://mentors.debian.net/).
Pour cela il faut simplement ajouter le dépôt deb-src.
Installer les paquets nécessaires pour la compilation
sudo apt-get build-dep 'paquet'
Télécharger les sources et les compiler (attention les sources sont téléchargées et le fichier .deb est créé dans le répertoire courant)
apt-get -b source 'package'
Il ne reste plus qu'à l'installer
dpkg -i 'paquet'.deb
Création officielle
Je vous laisse regarder la documentation de Debian : Guide du nouveau responsable Debian .
Mise à jours d'un paquet existant
Installer le paquet nécessaire pour la compilation
sudo apt-get build-dep 'paquet'
Télécharger les sources sans les compiler (attention les sources sont téléchargées dans le répertoire courant)
apt-get source 'package'
Décompresser les nouvelles sources dans le répertoire créé lors de l'opération précédente (dans le répertoire principal généralement présent).
Modifier le fichier debian/changelog en ajoutant un bloc, attention la syntaxe est importante (création de la date : 822-date).
Compiler en exécutant depuis ce même répertoire en exécutant :
dpkg-buildpackage -r fakeroot
Installer le nouveau paquet
dpkg -i ../'paquet'.deb
Depuis les sources amont
Préparation du système
Installation des paquets nécessaires
sudo apt-get install auto-apt checkinstall build-essential
Mise à jour des données
sudo auto-apt update sudo auto-apt updatedb sudo auto-apt update-local
Création du paquet
Installation des paquets nécessaires à la compilation
auto-apt -xy run ./configure
Compilation
./configure make
Installation et création du fichier .deb
sudo checkinstall -y
Changement des droits
sudo chown 'user':'groupe' 'paquet'.deb
Conversion d'un .rpm
Installer alien
sudo apt-get install alien
Conversion du paquet
alien --to-deb 'paquet'.rpm
Création d'un paquet depuis un binaire
Je n'ai pas réussi à le faire mais ça serait bien utile !
Pour java se référer à la page installation java méthode Debian
Configure la machine virtuelle par défaut
sudo update-alternatives --config java
Création de dépôt
Pour une création traditionnelle d'un dépôt je vous conseille l'article de Debian Addict : Créer un dépôt Debian
Pour une création toute simple
Copier les fichier .deb dans un répertoire, pour l'exemple ./binary.
Créer le dépôt avec la commande :
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz
Ajouter le dépôt dans votre source.list:
deb http://server/sous-repertoire/binary ./
pour aller plus loin: http://doc.ubuntu-fr.org/applications/apt/depotlocal http://doc.ubuntu-fr.org/installation/migrer_sans_connexion_internet