Table des matières
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
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 :
- 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
- 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