Salut,
Il arrive qu’on ait besoin d’une application en « testing » sur un serveur en « stable ». Par exemple OCSInventory-NG. Il y a la bonne et la mauvaise méthode pour faire ça.
La mauvaise méthode (rapide, mais naze sur le long terme)
La méthode bourrin consiste à ajouter momentanément les lignes qui vont bien dans /etc/apt/sources.list
, faire un apt-get update
, l’installer et enlever les dépôts ensuite.
Ca marche mais on ne profite pas des mises à jour qui peuvent être importantes. Je dis ça car ensuite il vaut mieux enlever ces lignes qui risquent de vous faire migrer une partie de vos applis de « stable » à « testing » (si des fois vous êtes aveugles lors de votre « upgrade » régulier).
A ce propos, il ne faut pas oublier d’ajouter les lignes concernant le dépôt de sécurité.
Exemple, j’ajoute les lignes « lenny » pour donner ça :
deb ftp://ftp2.fr.debian.org/debian/ etch main contrib non-free deb ftp://ftp2.fr.debian.org/debian/ lenny main contrib non-free deb http://security.debian.org/ etch/updates main contrib non-free deb http://security.debian.org/ lenny/updates main contrib non-free
La bonne méthode (presque aussi rapide)
La méthode propre consiste à garder tout le temps les lignes concernant les 2 (4) dépôts, mais à indiquer à APT le niveau de release que l’on veut conserver par défaut. Pour ce faire, créer un fichier du genre 00release
dans /etc/apt/apt.conf.d/
. Exemple :
# cat /etc/apt/apt.conf.d/00Release APT::Default-Release "stable";
Soyez prudent les 2/3 premières fois où vous mettrez à jour vos dépôts + upgrade. Histoire d’être sûr.
Le bug qui en découle
Souvent, l’effet de bord sera ça à votre prochain « apt-get update » :
Fetched 14.6MB in 50s (292kB/s) Reading package lists... Error! E: Dynamic MMap ran out of room E: Error occurred while processing tkdiff (NewVersion1) E: Problem with MergeList /var/lib/apt/lists/debian_debian_dists_lenny_main_binary-amd64_Packages E: The package lists or status file could not be parsed or opened. E: Couldn't rebuild package cache
La correction sera d’augmenter un buffer quelconque pour APT, en ajoutant/adaptant, généralement dans /etc/apt/apt.conf.d/70debconf
la ligne suivante :
APT::Cache-Limit 15728640; // 15 MB
Afin de repousser un peu la limite.
Voilà, c’est tout pour cette petite astuce néanmoins bien pratique.
Pour faire ça avec plus de précision, je te conseille cet article :
http://ubunteros.tuxfamily.org/spip.php?article177#forum1179
Il m’avait bien aidé pour régler mon Debian en Testing !
Merci
Là j’optais juste pour la version simple 🙂
Et pourquoi pas utiliser le repository des backports?
http://www.backports.org
http://wiki.debian.org/Backports
C’est justement l’objectif de backport: fournir des packets deb compilés pour la version stable mais dans des versions plus récentes (en provenance de testing et unstable)
En effet, c’est aussi une méthode 🙂
Je l’ai rarement utilisé, je ne sais pas trop à quel rythme backport propose des versions du niveau de testing/unstable.