apt-get

Limiter l'installation de logiciels non souhaités

Depuis les dernieres versions d'apt-get il installe automatiquement tous les logiciels recommandés en plus du logiciel que vous voulez vraiment installer.

En général et si vous savez ce que vous faites vous ne voulez pas installer ces logiciels supplémentaires qui vous sont inutiles.
En effet plus de logiciels installés signifie plus de maintenance et de risque que l'un d'entre eux ne plante.

Pour palier à ce probleme il suffit d'ajouter dans la configuration d'apt-get :

APT::Install-Recommends "false";
APT::Install-Suggests "false";

Pour se faire je l'ajoute dans le fichier “/etc/apt/apt.conf.d/99_user” grâce à la commande suivante :

# cat << EOF >> /etc/apt/apt.conf.d/99_user
APT::Install-Recommends "false";
APT::Install-Suggests "false";
EOF

C'est ainsi par exemple que si vous installez un serveur mumble (apt-get install mumble-server) , voir ce post pour l'installation, vous passez de 60 paquets nouvellement installés, soit 27,7Mo à prendre dans les archives, 81,7Mo d'espace disque supplémentaires seront utilisés à 9 nouvellement installés, soit 3786ko à prendre dans les archives, 9789ko d'espace disque supplémentaire utilisé.

82 Mo contre un peu moins de 10 : faites votre choix ;-)

Pour une utilisation directe “one shot”, il est possible de specifier ce parametre sur la ligne de commande, comme par exemple :

 apt-get --no-install-recommends install mumble-server

Utiliser des restrictions de montage sur /tmp

Pour améliorer la sécurité on utilise souvent une partition /tmp dédiée montée avec les options “noexec,nodev,nosuid”. Cependant cette partition est souvent utilisée par les paquets pour stocker puis lancer des scripts lors de l'install, ce qui pose problème. Pour automatiquement remonter temporairement cette partition avec autorisation d'exécution pendant une mise à jour ou une installation, il faut ajouter les directives suivantes à la configuration d'apt :

DPkg::Pre-Invoke{"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";};

par exemple a l'aide de la commande suivante :

# cat << EOF >> /etc/apt/apt.conf.d/90_remount_tmp_noexec
DPkg::Pre-Invoke{"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount /tmp";};
EOF

Ajouter rapidement l'utilisation d'un proxy

Pour ajouter rapidement un proxy (ici un apt-cacher), remplacer au besoin “apt-cacher” par le nom d'hote ou l'adresse IP correspodant :

# cat << EOF >> /etc/apt/apt.conf.d/99proxy
Acquire::http::Proxy::bugs.debian.org "DIRECT";
Acquire::http::Proxy "http://apt-cacher:3142";
EOF
La première ligne (Acquire::http::Proxy::bugs.debian.org “DIRECT”;) permet de forcer apt-listbugs à ne pas utiliser le cache et à accéder directement au rapports de bugs.

Lister les URLs des paquets a télécharger

Lorsque par exemple un serveur n'a pas internet pour ses mises a jour, pour installer de nouveaux paquets en incluant les dépendances il est souvent utile de connaître quels seraient les paquets à télécharger afin de pouvoir les récupérer depuis une autre machine. C'est possible avec l'option –print-uris, comme par exemple :

# apt-get install --download-only  -y ipmitool --print-uris

Et voila une belle liste d'adresse sur lesquelles vous pouvez abuser de wget

Mettre à jour manuellement uniquement un paquet

Par défaut un apt-get upgrade met à jour tous les paquets. Il est possible de n'en mettre que quelques uns à jour grace à l'option –only-upgrade de apt-get install (, comme par exemple :

# apt-get install --only-upgrade <packagename>

ou encore pour mettre à le paquet burp depuis les backports nouvellement ajoutés :

# apt-get install -t jessie-backports --only-upgrade burp

Desctiver apt-get auto update et auto upgrade en debian stretch

Toujours dans un soucis de simplifier la vie de Mme michu en complexifiant celle de l'admin sys averti, les gens ont eu l'extrême bonne idée dans les versions récentes d'apt (debian stretch et supérieur, ainsi que nombre d'ubuntu) d'activer des mises à jour quotidiennes automatiques. Au menu ils ont donc remplacé l'historique vieux cron daily faisait l'apt update par un timer systemd (qui fait un update mais aussi un upgrade quotidien a une heure psuedo random). Une presque bonne idée jusqu'a ce que :

  1. la mise a jour veuille absolument se faire à chaque reboot si serveur éteint plus d'une journée, ou encore en plein période de charge
  2. la mise a jour décide de redémarrer le serveur et/ou les services quand bon lui semble, par exemple en pleine journée

Pour désactiver tout ca :

# systemctl stop apt-daily.timer
# systemctl disable apt-daily.timer
# systemctl disable apt-daily.service
# systemctl daemon-reload
sysadmin/tips/apt-get.txt · Dernière modification: 2017/08/22 14:32 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0