Dites que vous exécutez un serveur et que vous ne voulez pas passer de Stable (Lenny) à Testing (Squeeze) juste pour installer un ou deux paquets requis.
Quel est le meilleur moyen d'installer uniquement certains paquets de Testing ?
Dites que vous exécutez un serveur et que vous ne voulez pas passer de Stable (Lenny) à Testing (Squeeze) juste pour installer un ou deux paquets requis.
Quel est le meilleur moyen d'installer uniquement certains paquets de Testing ?
Une autre méthode, qui pourrait empêcher l'installation de trop nombreuses dépendances à partir de Testing ou Sid, est la suivante : vous demandez à apt-get de récupérer la source du paquet depuis Testing ou Sid et de créer un paquet pour votre système en utilisant les outils Debian (pas besoin de bidouiller manuellement les sources).
Cité d'ici :
https://wiki.debian.org/DebianUnstable#How_do_I_backport_a_sid_package_to_testing_or_stable.3F
Comment puis-je rétroporter un paquet sid vers testing ou stable ?
Installez la source Debian (et les outils de développement, en particulier debhelper, devscripts et build-essential), puis créez le paquet.
Étapes à suivre :
ajoutez une ligne deb-src pour sid dans votre sources.list apt-get update apt-get build-dep PACKAGE_NAME apt-get -b source PACKAGE_NAME
Les fichiers deb résultants devraient se trouver dans le répertoire actuel et peuvent être installés avec dpkg -i le.deb.
J'ai été en train de le faire pendant une période prolongée pour être suffisamment confiant pour dire qu'il est suffisamment sûr et peut être rendu pratique. Avec la configuration ci-dessous, la version stable sera installée par défaut, cependant Aptitude vous permettra également de choisir la version rétroportée ou instable si vous le souhaitez :
Il y a quatre choses à éditer, la version de publication par défaut doit être définie, les sources doivent inclure des rétroportages et des instables, abaisser la priorité de publication des paquets rétroportés/instables et modifier les paramètres d'affichage de l'aptitude pour afficher la publication.
Créez un '/etc/apt/apt.conf.d/10defaultrelease' et mettez son contenu comme suit :
Apt::default-Release "stable";
Modifiez votre '/etc/apt/sources.list' pour ajouter des sources instables et de rétroportages de sorte qu'il ressemble à quelque chose comme cela :
# deb cdrom:[Debian GNU/Linux 6.0.0 _Squeeze_ - Official Multi-architecture amd64/i386 NETINST #1 20110205-14:45]/ squeeze main
deb http://ftp.us.debian.org/debian/ squeeze main deb-src http://ftp.us.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main deb-src http://security.debian.org/ squeeze/updates main
deb http://ftp.us.debian.org/debian/ squeeze-updates main deb-src http://ftp.us.debian.org/debian/ squeeze-updates main
deb http://backports.debian.org/debian-backports squeeze-backports main
deb http://ftp.us.debian.org/debian/ unstable main deb-src http://ftp.us.debian.org/debian/ unstable main
Modifiez le fichier de publication etc/apt/preferences
- si le fichier n'existe pas, créez-le.
# Priorités de la publication des paquets
#
#
#
Package: * Pin: release n=squeeze-backports Pin-Priority: 400
Package: * Pin: release a=unstable
Créez '/etc/apt/apt.conf.d/100guiconf' et configurez Aptitude pour afficher les informations de publication.
Aptitude::UI::Package-Display-Format "%c%a%M %p %Z %v %V %i";
Ce que je fais pour éviter de mélanger stable/testing/experimental, c'est d'installer un Debian Sid dans un répertoire sur mon système Debian stable avec debootstrap
, puis je peux utiliser les outils que je veux. Dans cet exemple, j'ai besoin d'un outil récent xmllint
(traitement XML
).
apt install debootstrap
mkdir /home/sid-chroot
debootstrap --arch amd64 sid /home/sid-chroot http://mirrors.ircam.fr/pub/debian/
chroot /home/sid-chroot
apt install libxml2-utils
Maintenant, je peux sortir du chroot
et utiliser la librairie en 'piratant' le LD_LIBRARY_PATH
pour des bibliothèques de chargement dynamique spécifiques.
Dans ~/.bashrc
:
alias xmllint='LD_LIBRARY_PATH=/home/sid-chroot/usr /home/sid-chroot/usr/bin/xmllint'
Maintenant, lorsque je lance xmllint
, j'ai la version 2.9.10 de libxml2-utils
(versions 2019 vs 2016).
sid
), de cette façon, les logiciels aléatoires restent suffisamment compatibles.bashrc
Si votre sélection de packages est plus complexe ou que l'installation sera répétée sur plusieurs machines, vous pourriez envisager de configurer un dépôt privé qui reflète une partie des dépôts officiels. Cela nécessite un travail de configuration du dépôt, mais la récompense est une facilité de maintenance avec un minimum de configuration sur chaque client et des résultats reproductibles lors de dizaines d'installations. Je trouve cela utile même lorsque seulement un ou deux packages sont installés, et j'utilise cette méthode pour automatiser et maintenir les installations cloud. Un seul serveur sur un VPS bon marché peut gérer plusieurs dépôts privés.
Pour configurer votre serveur de dépôt privé :
# Installer aptly.
apt-get install aptly
# Créer un miroir local (choisissez un miroir source près de chez vous).
aptly mirror create -filter="mirror-contains-no-packages" stretch-roundcube http://httpredir.debian.org/debian stretch main
# Configurer les filtres pour le miroir local.
aptly mirror edit -filter="Name (% roundcube*)" stretch-roundcube
# Mettre à jour le miroir local.
aptly mirror update stretch-roundcube
# Supprimer les dépôts et miroirs précédemment publiés, si vous exécutez ces commandes dans un script.
aptly publish drop stretch
# Supprimer le snapshot, si vous exécutez ces commandes dans un script.
aptly snapshot drop stretch-roundcube
# Créer un nouveau snapshot.
aptly snapshot create stretch-roundcube from mirror stretch-roundcube
# Publier le snapshot.
aptly publish snapshot -architectures=i386,amd64 -distribution=stretch -component=roundcube -label="Votre Nom" -origin="Votre Nom" stretch-roundcube
Ensuite, configurez votre serveur web de choix pour servir les fichiers du dépôt statique. Éventuellement protégez le dépôt avec un certificat de sécurité et une authentification de base.
Pour maintenir automatiquement votre dépôt privé et récupérer les mises à jour en amont, mettez ce qui précède dans un script et exécutez-le depuis une tâche cron.
Pour configurer votre machine cliente, sur votre machine cliente :
# Configurer le dépôt privé sans authentification.
echo 'deb http://private.repository.example.com/ stretch roundcube' > /etc/apt/sources.list.d/private.repository.example.com.list
# Configurer le dépôt privé avec authentification.
echo 'deb https://hostname:password@private.repository.example.com/ stretch roundcube' > /etc/apt/sources.list.d/private.repository.example.com.list
apt-get install apt-transport-https
# Mettre à jour.
apt-get update
# Installer le package.
apt-get install roundcube
Pour maintenir votre machine cliente et récupérer toutes les mises à jour de votre dépôt privé, sur votre machine cliente :
# Mettre à jour.
apt-get update
# Mettre à niveau.
apt-get upgrade
Une autre option consiste à télécharger plutôt le paquet source à partir de testing. APT peut auto-construire le paquet source après l'avoir téléchargé. De cette façon, vos paquets stables ne seront pas affectés par les mises à jour de testing. Le seul compromis est que cela prendra plus de temps que de simplement télécharger et installer le paquet binaire.
Pour configurer APT afin de télécharger les paquets source à partir de testing, il suffit d'ajouter :
deb-src http:// testing main
Si vous voulez simplement suivre le testing actuel et pas les futurs testings, remplacez "testing" par le nom de code actuel (au moment de la rédaction, il s'agit de "buster")
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
9 votes
Voici ce que dit la dernière documentation officielle : Paquets provenant de sources mixtes d'archives.