''brouillon'' = Objectif et principes = Ce paquet configure un poste client de l'AUF : * activation de l'authentification centralisée MySQL * activation de l'auto-monteur NFS sur `/net` * mise en place d'un bureau GNOME par défaut * auto-configuration en fonction de données fournies par le serveur DHCP, et de fichiers téléchargés sur le serveur d'auto-configuration. Pour que ce système fonctionne, il faut une infrastructure côté serveur (voir ../InfrastructureServeur) * installation d'un ensemble de logiciels, via une dépendance (optionnelle) sur le paquet `auf-poste-client-logiciels` = Principe et utilisation du système d'auto-configuration = ''à écrire....'' (oui, je sais... hé... ho... c'est marqué ''brouillon'' en faut de la page) * la config sera téléchargée par SSH à chaque connexion DHCP * pour cela, le compte root doit avoir les clés SSH pour télécharger ce qu'il faut à chaque requete DHCP = Fonctionnement détaillé = Les sources complètes du paquet sont ici : http://git.auf.org/?p=auf-poste-client.git;a=tree;f=auf-poste-client-fixe Le paquet `auf-poste-client-fixe` utilise les principes d'un paquet Debian : === Dépendances === * [[http://git.auf.org/?p=auf-poste-client.git;a=blob;f=auf-poste-client-fixe/debian/control|debian/control]] : dépendances sur les paquets que l'on veut installer : `libnss-mysql-bg`, `nscd`, `autofs`, `nfs-common`, `quota`, `ssh`, `rwhod`, `sshfs`, `lvm2`, `quota`, etc. Le paquet recommande également l'installation de `auf-poste-client-logiciels`. === Contenu du paquet (principalement des fichiers de configuration) === Le paquet contient des fichiers qui seront installés sur le poste client (voir détails dans le [[http://git.auf.org/?p=auf-poste-client.git;a=blob;f=auf-poste-client-fixe/Makefile|Makefile]] qui construit le contenu du paquet) : * [[http://git.auf.org/?p=auf-poste-client.git;a=tree;f=auf-poste-client-fixe/etc|etc]] : ensemble de fichiers de configuration par défaut, placés dans le répertoire `/etc` du poste client : * `etc/dhcp3/dhclient.conf` : configuration de `dhclient` en ajoutant les paramètres `auf-nfs-timeout`, `auf-nfs-options` et `auf-synchro-root` qui seront envoyés aux hooks DHCP (voir les scripts `dhclient-exit-hooks.d/auf-*` décrits plus haut ci-dessus) * `etc/NetworkManager/dispatcher.d/99auf-dhclient-exit-hooks` : astuce pour demander à NetworkManager d'exécuter les hooks `dhclient` lors d'une connexion DHCP * `etc/libnss-mysql.cfg` : fichier contenant les requêtes SQL que doit effectuer libnss-mysql-bg. * `etc/modprobe.d/ipv6-off.conf` : désactivation d'IPv6 (un peu bête, mais c'est temporaire : IPv6 pose parfois des soucis quand il est activé sur des réseaux mal fichus...) * `etc/sysctl.d/90-auf-poste-client.conf` : sysctl, actuellement ne contient que l'activation de la réponse au ''pings broadcast'' * [[http://git.auf.org/?p=auf-poste-client.git;a=tree;f=auf-poste-client-fixe/etc/dhclient-exit-hooks.d|etc/dhclient-exit-hooks.d]] : scripts lancés lors de l'obtention d'une adresse par DHCP. Ils sont chargés de la configuration de la machine en fonction de son emplacement sur le réseau : * `etc/dhclient-exit-hooks.d/auf-hostname` : prend comme nom de machine le nom obtenu par requête DNS inverse * `etc/dhclient-exit-hooks.d/auf-autofs-nfs` : modification des options de montage NFS (paramètres spécifiques à l'AUF) * `etc/dhclient-exit-hooks.d/auf-synchro-root` : ''auto-configuration'', récupère un .tar.gz sur le serveur et l'installe à la racine * `usr/sbin/auf-poste-client-fixe-synchro-init` : script pour initier la synchro qui sera faite par DHCP. C'est le script qui télécharge et installe les clés SSH pour le compte `root` du poste client. Une fois cela fait, le compte `root` aura le droit d'aller chercher les données d'auto-configuration. === Script lancé après la copie de ces fichiers (postinst, post-installation) === Une fois que ces fichiers sont installés, le paquet lance un script de post-installation (voir [[http://git.auf.org/?p=auf-poste-client.git;a=blob;f=auf-poste-client-fixe/debian/postinst|debian/postinst]]) qui va travailler avec les données suivantes : * [[http://git.auf.org/?p=auf-poste-client.git;a=tree;f=auf-poste-client-fixe/postinst|postinst]] : scripts lancés après l'installation du paquet (par le ''postinst'') pour activer, désactiver et/ou configurer divers services : * configuration système : * `usr/share/auf-poste-client-fixe/postinst/nss-mysql` : activation de l'authentification MySQL par ajout de "mysql" dans /etc/nssswitch.conf * `usr/share/auf-poste-client-fixe/postinst/autofs-net` : activation de l'automontage NFS sur `/net` par ajout de /net dans /etc/auto.master * `usr/share/auf-poste-client-fixe/postinst/cups-pdf` : l'imprimante virtuelle PDF imprime dans ~/Bureau ; modification des droits de cups en conséquence * `usr/share/auf-poste-client-fixe/postinst/no-bluetooth` : désactivation du système bluetooth * `usr/share/auf-poste-client-fixe/postinst/sshd-config` : on ferme le ssh (pas de connexion par mot de passe, groupes admin et root uniquement) * `usr/share/auf-poste-client-fixe/postinst/vimrc-local` : un vim configuré comme Thomas aime * améliorations/nettoyage des sessions et bureau GNOME * `usr/share/auf-poste-client-fixe/postinst/gconf` : ajout de configurations GNOME (gconf) spécifiques à la version d'Ubuntu installée, si dispo dans /usr/share/auf-poste-client-fixe/gconf/ * `usr/share/auf-poste-client-fixe/postinst/no-autostart` : désactivation de certains autostart des session GNOME * `usr/share/auf-poste-client-fixe/postinst/applications-nodisplay` : dans les menus, on cache les applications qui ne marchent pas à 100% et/ou qui sont ambigües pour les utilisateurs lambda * `usr/share/auf-poste-client-fixe/postinst/thunderbird-office` : on affiche Thunderbird dans le menu Bureautique (remplace vraiment Evolution) * `usr/share/auf-poste-client-fixe/postinst/update-manager-prompt-never` : ne jamais proposer l'update de la machine vers une nouvelle version d'Ubuntu * [[http://git.auf.org/?p=auf-poste-client.git;a=blob;f=auf-poste-client-fixe/debian/gconf-defaults|debian/gconf-defaults]] : configuration d'un bureau GNOME par défaut (base, voir aussi les [[http://git.auf.org/?p=auf-poste-client.git;a=tree;f=auf-poste-client-fixe/gconf|configurations spécifiques]] à la version d'Ubuntu installée sur la machine, qui seront placé dans `usr/share/auf-poste-client-fixe/gconf` sur le poste client)