Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

apt.conf

  • Objet : Configuration avancée de APT
  • Niveau requis :
  • Commentaires : FIXME
  • Suivi :
    • Création par captnfab le 23/05/2013
    • Testé par …. le ….
  • Commentaires sur le forum : C'est ici1)

Nota : Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Ce tutoriel n'est pas vraiment destiné aux débutants qui débutent - désolé pour les débutants qui débutent.

Exemples de configurations

Ne pas traiter les paquets recommandés comme des dépendances

Présentation du problème

Sous Debian, les paquets ont des dépendances qui sont automatiquement installées, mais ils recommandent et suggèrent éventuellement d'autres paquets. Par défaut, les paquets recommandés sont traités comme des dépendances, ce qui peut augmenter drastiquement le nombre de paquets installés et donc la taille occupée par le système.

Fichier de configuration

  • Ouvrir un terminal root2) et créer avec la commande touch le fichier 00pas-de-recommends ainsi :
    touch /etc/apt/apt.conf.d/00pas-de-recommends
  • Éditer ce fichier par exemple avec l'éditeur de fichier nano :
    nano /etc/apt/apt.conf.d/00pas-de-recommends
  • Et y rédiger les lignes :
    APT::Install-Recommends "false";
    APT::Install-Suggests "false";

Ou bien faire le copié/collé de cette commande cat en root :

cat > /etc/apt/apt.conf.d/00pas-de-recommends <<EOF
APT::Install-Recommends "false";
APT::Install-Suggests "false";
EOF

Désinstaller les paquets recommandés automatiquement

Présentation du problème

Par défaut, lors de la désinstallation d'un programme, ses paquets recommandés et suggérés, marqués Auto, ne seront pas désinstallés tant qu'un autre programme, encore en place, les recommande. Il est possible de modifier ce comportement.

Fichier de configuration

  • Ouvrir un terminal root3) et éditer le fichier 00pas-de-recommends créé dans la section précédente.
  • Y ajouter les lignes :
    APT::AutoRemove::RecommendsImportant "false";
    APT::AutoRemove::SuggestsImportant "false";

Augmenter la taille du cache :

Présentation du problème

Parfois, quand vous faites un update4), vous obtenez ceci :

E: Dynamic MMap ran out of room
E: Erreur apparue lors du traitement de xxxxxxxx (NewVersion1)
E: Problem with MergeList /var/lib/apt/lists/xxxxxxxxxxxxxxxxxxxxx_Packages
E: Les listes de paquets ou le fichier d'état ne peuvent pas être ouverts, ou sont incompréhensibles.

Cela signifie que l'espace de cache par défaut est insuffisant. Vous avez alors deux options.

  1. Vous pouvez enlever ou commenter des lignes dont vous n'avez pas besoin dans votre fichier de sources. Tout rentrera alors dans l'ordre en tapant un nouveau aptitude update.
  2. Vous pouvez décider d'augmenter la taille du cache.

Si vous choisissez la deuxième option vous avez deux manières pour le faire.

Il est à noter que la valeur de 20000000 présentée à la suite n'est pas une valeur de référence. Vous pouvez rencontrer des valeurs différentes dans d'autres tutos ou documentations. En fait, il suffit simplement que cette valeur soit assez grande pour que la modification apportée donne le résultat escompté.

Fichier de configuration

  • Ouvrir un terminal root5) :
  • Créer avec la commande touch le fichier : /etc/apt/apt.conf.d/00taille-du-cache :
    touch /etc/apt/apt.conf.d/00taille-du-cache
  • Y rajouter la ligne 6) :
    APT::Cache-Limit 20000000;

Ou bien faire le copié/collé de cette commande cat en root :

cat > /etc/apt/apt.conf.d/00taille-du-cache <<EOF
APT::Cache-Limit 20000000;
EOF

Contrôler la Bande Passante

Présentation du problème

  • Comment laisser de la bande passante aux autres machines quand on veut mettre à jour ou installer un gros paquet, au moment où on a envie de le faire ?

C'est qu'il faut en laisser pour les autres !

Fichier de configuration

Trouvé grâce à un sympathique membre du canal irc #debianfr sur le serveur freenode.

  • Ouvrir un terminal root7) :
  • Créer avec la commande touch le fichier : /etc/apt/apt.conf.d/00limite-bp :
    touch /etc/apt/apt.conf.d/10limite-bp
  • Y rajouter la ligne 8) :
    Acquire::http::Dl-Limit "20";

    Ici, on limite la vitesse de téléchargement à 20ko/s.

Ou bien faire le copié/collé de cette commande cat en root :

cat > /etc/apt/apt.conf.d/00limite-bp <<EOF
Acquire::http::Dl-Limit "20";
EOF

Réceptionner les mises à jour automatiquement

Présentation du problème

Avant d'installer un paquet ou de faire des mises à jour, et ce particulièrement sous testing ou sid, il faut mettre à jour la liste des paquets, avec par exemple un apt-get update. Ces deux branches de Debian offrant des mises à jour quotidiennes, il faut alors, pour garder un système à jour, compléter la commande précédente par un apt-get dist-upgrade qui va télécharger puis installer les mises à jour des paquets.

Si l'installation des mises à jour est un processus critique (surtout sur sid), leur téléchargement ne l'est pas, et est automatisable sans risque. C'est l'objet de cette configuration.

C'est le fichier /etc/cron.daily/apt lu par cron quotidiennement, qui permet de réaliser cette astuce.

Fichier de configuration

  • Ouvrir un terminal root9) :
  • Créer10) le fichier : /etc/apt/apt.conf.d/90maj-periodique :
    touch /etc/apt/apt.conf.d/00maj-periodique
  • Y rajouter la ligne 11) :
    APT::Periodic::Update-Package-Lists 1;
    APT::Periodic::Download-Upgradeable-Packages 1;
    APT::Periodic::AutocleanInterval 1;
  • La première ligne indique au système de faire un apt-get update tous les 1 jour.
  • La seconde ligne indique au système de télécharger les mises à jour disponibles tous les 1 jour.
  • La dernière ligne indique de nettoyer le cache des archives12) tous les 1 jour.

Ou bien faire le copié/collé de cette commande cat en root :

cat > /etc/apt/apt.conf.d/90maj-periodique <<EOF
APT::Periodic::Update-Package-Lists 1;
APT::Periodic::Download-Upgradeable-Packages 1;
APT::Periodic::AutocleanInterval 1;
EOF

Installer les mises à jour automatiquement

Si vous voulez que les mises à jour s'effectuent elles-aussi automatiquement sans surveillance de votre part, c'est également possible.

Commencez par configurer la récupération automatique de la liste des paquets, et ajoutez dans le même fichier :

APT::Periodic::Unattended-Upgrade "1";

Puis installez le paquet suivant :

apt-get install unattended-upgrade

Ce paquet installe un fichier de configuration /etc/apt/apt.conf.d/50unattended-upgrade, à l'intérieur duquel vous trouvez un paragraphe similaire à celui-ci (avec beaucoup de commentaires en plus)

Unattended-Upgrade::Allowed-Origins {
        "origin=Debian,archive=stable,label=Debian-Security";
};

Ce paragraphe sert à contrôler l'origine des paquets que vous voulez installer automatiquement, on voit ici que seuls les paquets des dépôts sécurité pour stable sont autorisés.
Vous pouvez le modifier suivant ce que vous voulez faire.

Moaaaaar !

Pour avoir plus d'informations sur les options possibles pour modifier le comportement de apt ou de aptitude, il y a un fichier:

 /usr/share/doc/apt/examples/configure-index.gz

Pour le lire, j'ai trouvé commode de procéder ainsi (voir COMMANDE > ) :

zcat /usr/share/doc/apt/examples/configure-index.gz > apt-configure-index.txt

et d'ouvrir ensuite le fichier apt-configure-index.txt avec gedit.

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2) , 3) , 5) , 7) , 9) voir la commande su
4) Une mise à jour de la liste des paquets installables
6) , 8) , 11) par exemple avec l'éditeur nano
12) les fichiers .deb téléchargés.
doc/systeme/apt/apt.conf.txt · Dernière modification: 18/09/2015 13:56 par Beta-Pictoris

Pied de page des forums

Propulsé par FluxBB