Ceci est une ancienne révision du document !
version-11-08 client_linux
Infrastructure de gestion des clients lourds
Problématique
La problématique est la suivante:
- Soit un réseau de 200 postes clients (clients lourds)
- Nous voulons contrôler les mises à jour de ceux ci
- Nous ne voulons pas qu'ils se mettent à jour sur les dépôts officiels (ubuntu)
- Nous voulons pouvoir exécuter des commandes système lors du boot de chaque poste
Exécution de commandes au boot de chaque poste
Pour lancer une commande lors du boot des postes lourds il suffit de créer des scripts dans une arborescence un peu spéciale: le /home/machines/
À l'heure actuelle (janvier 2009) tous les nouveaux postes fixés doivent avoir un compte machine automatiquement créé. Ce n'est pas le cas pour les postes qui existaient avant le développement de cette solution. Si vous voulez en bénéficier vous êtes invités à re-fixer les postes en question.
Pour tous les postes
Si vous voulez que tous les postes lourds lancent certaines commandes au boot vous êtes invités à modifier le script suivant /home/machines/groups/default/horizon-autoboot/boot
Par exemple si vous voulez que tous les postes fassent une mise à jour systématiquement au démarrage:
apt-get update apt-get dist-upgrade -y --force-yes
Pour un groupe de postes
Cette fonctionnalité n'est pas encore développée mais ne saurait trop tarder.
Pour un poste particulier
Imaginez que vous voulez installer grisbi sur le poste lourd de la comptable de l'association (c'est un exemple), ce poste ayant été fixé en postecompta1, vous devrez alors éditer le fichier suivant /home/machines/postecompta1/horizon-autoboot/boot pour y mettre le code suivant:
add_application grisbi
Dépôt APT local: Implémentation et configuration
Le serveur AbulÉdu est déjà “relais apt” pour les postes clients du réseau.
Utilisation
Au niveau du serveur, tous les paquets deb qui se trouvent dans /var/cache/apt/archives seront copiés dans /var/www/intranet/horizon-apt et les fichiers spéciaux “debian” seront alors créés. Si vos postes clients n'ont plus que le serveur AbulÉdu comme source de mise à jour il faudra alors télécharger tous les logiciels depuis le serveur (commande apt-get -d avec l'option -d on télécharge les paquets mais on ne les installe pas) et ensuite les mettre à disposition du réseau local …
Ensuite, pour mettre à jour votre dépôt APT il vous suffit de lancer la commande suivante:
horizon-reprepro
Scénario n°1
Je veux installer xmoto sur les postes lourds mais pas sur le serveur.
- Sur le serveur je télécharge juste le paquet
apt-get install -d xmoto
- Sur le poste lourd manuellement
apt-get install xmoto
- Sur le poste lourd automatiquement lors du prochain boot
touch /home/machines/groups/default/horizon-apt/applications.add/aseba horizon-computers-force-upgrade-on-next-boot
Regardez par exemple comment on déploie aseba ou kdenlive sur les réseaux AbulÉdu ayant un serveur en version 11.08 (téléchargez les scripts et analysez-les)…