[update 05.2024] Je vois rĂ©guliĂšrement des lectures de cette page qui est obsolĂšte. A ce jour pour la gestion de vos mises Ă jour je vous conseille l’usage d’un outil comme Rundeck
post basé sur :
http://korben.info/apt-dater.html
https://www.abyssproject.net/2014/09/apt-dater-mettre-jour-vos-serveurs/
http://irrational.ca/remote-debian-upgrades-using-apt-dater
Lâobjectif de cet article est de prĂ©senter lâoutil apt-dater afin de permettre lâassistance du suivi des mises Ă jour de ses serveurs qui utilisent apt-get/yum/rug (Debian, Centos/Fedora, SuSe).
En effet il est parfois souhaitable de ne pas automatiser entiĂšrement les mises Ă jour via un cron. apt-dater laisse le choix Ă lâadministrateur de mettre Ă jour tous les paquets dâun serveur ou que certains. Il permet de le faire Ă©galement sur un groupe de serveurs, ainsi que dâafficher les serveurs non Ă jour et sur quels paquets. In fine il dĂ©clenche uniquement les mises Ă jour via des raccourcis clavier. Enfin il permet dâafficher un rapport des mises Ă jour, le tout sans devoir installer un outil web mais via un outil en console (Linux/OSX) sur son poste de travail.
On crĂ©Ă© une clef ssh dĂ©diĂ©e sur la machine de lâadmin. Ma mĂ©thode est dâutiliser une clef dĂ©diĂ©e, une autre sera dâutiliser un compte utilisateur dĂ©diĂ© sur la machine de lâadmin ; dans tous les cas il nâest pas conseillĂ© dâutiliser une clef associĂ©e au compte root des serveurs.
ssh-keygen -f .ssh/id_rsa_apt-dater
Ensuite, installez apt-dater pour Linux :
apt-get -y install apt-dater screen
Pour OSX
brew install apt-dater
On créé un compte apt-dater sur tous les serveurs à administrer.
sudo adduser --system --group apt-dater && sudo chsh -s /bin/bash apt-dater && sudo mkdir /home/apt-dater/.ssh && sudo chown apt-dater:apt-dater /home/apt-dater/.ssh && sudo passwd apt-dater
Copie la clef publique.
ssh-copy-id -i .ssh/id_rsa_apt-dater.pub apt-dater@IP
Suppression du mot de passe du compte apt-dater.
sudo passwd -dl apt-dater
Lancer visudo pour ajouter cette ligne. Elle fourni les droits root Ă apt-dater sur la commande apt. (indiquer /usr/bin/yum ou /usr/bin/rug pour une CentOS ou une SuSe)
apt-dater ALL=NOPASSWD: /usr/bin/apt-get, /usr/bin/aptitude
Installer le client apt-dater-host.
sudo apt-get -y install apt-dater-host screen
Sur le poste administrateur aprÚs avoir lancé une fois apt-dater, éditer le fichier _.config/apt-dater/hosts.conf _ et regrouper les serveurs par thÚmes ou localisation
[Backup]
Hosts=apt-dater@node1.backup.com;apt-dater@node2.backup.com
[Monitoring]
Hosts=apt-dater@monitoring.com
[Webservers]
Hosts=apt-dater@web.com;apt-dater@web2.com
Editer le fichier .config/apt-dater/apt-dater.conf pour lui indiquer la clef ssh Ă utiliser
[SSH]
SSH binary
Cmd=/usr/bin/ssh
OptionalCmdFlags=-t
SpawnAgent=true
AddKeys=/Users/fredix/.ssh/id_rsa_apt-dater
[SFTP binary]
SFTPCmd=/usr/bin/sftp -i .ssh/id_rsa_apt-dater
Lancer api-dater. la touche « ? » affiche les raccourcis disponible.
On se déplace avec les flÚches directionnelles vers le serveur cible , puis :
Les flags Ă gauche de chaque serveur indique son status. Il ne manque que lâuptime et la charge cpu/mĂ©moire :/
Il ne reste quâĂ distribuer la clef privĂ© id_rsa_apt-dater Ă lâĂ©quipe admin.