Modifications entre les versions 2 et 4 (s'étendant sur 2 versions)
Version 2 à la date du 2009-05-19 15:41:24
Taille: 5032
Éditeur: ThomasNoël
Commentaire: suite de brouillon
Version 4 à la date du 2009-05-19 16:08:13
Taille: 6647
Éditeur: ThomasNoël
Commentaire: punaise c'est long à expliquer tout ça... désolé c'est toujours un brouillon..
Texte supprimé. Texte ajouté.
Ligne 6: Ligne 6:
 * installation d'un ensemble de logiciels, via une dépendance sur le paquet `auf-poste-client-logiciels`
Ligne 10: Ligne 9:
 * auto-configuration en fonction de données fournies par le serveur DHCP, et de fichiers téléchargés sur le serveur d'autoconfiguration
  {i} Rappel : p
our que le système d'auto-configuration fonctionne, il faut une petite infrastructure côté serveur. Voir la page ../InfrastructureServeur
 * 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`
Ligne 17: Ligne 15:

 * 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
Ligne 24: Ligne 25:
 * [[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`. Voir les dépendances dans le fichier === Dépendances ===
Ligne 26: Ligne 27:
 * [[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 pour activer divers services :
  * configuration système :
   * `postinst/nss-mysql` : activation de l'authentification MySQL par ajout de "mysql" dans /etc/nssswitch.conf
   * `postinst/autofs-net` : activation de l'automontage NFS sur `/net` par ajout de /net dans /etc/auto.master
   * `postinst/cups-pdf` : l'imprimante virtuelle PDF imprime dans ~/Bureau ; modification des droits de cups en conséquence
   * `postinst/no-bluetooth` : désactivation du système bluetooth
   * `postinst/sshd-config` : on ferme le ssh (pas de connexion par mot de passe, groupes admin et root uniquement)
   * `postinst/vimrc-local` : un vim configuré comme Thomas aime
  * améliorations/nettoyage des sessions et bureau GNOME
   * `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/
   * `postinst/no-autostart` : désactivation de certains autostart des session GNOME
   * `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
   * `postinst/thunderbird-office` : on affiche Thunderbird dans le menu Bureautique (remplace vraiment Evolution)
   * `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/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`.
Ligne 41: Ligne 29:
 * [[http://git.auf.org/?p=auf-poste-client.git;a=tree;f=auf-poste-client-fixe/dhclient-exit-hooks.d|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 :
  * `dhclient-exit-hooks.d/auf-hostname` : prend comme nom de machine le nom obtenu par requête DNS inverse
  * `dhclient-exit-hooks.d/auf-autofs-nfs` : modification des options de montage NFS (paramètres spécifiques à l'AUF)
  * `dhclient-exit-hooks.d/auf-synchro-root` : ''auto-configuration'', récupère un .tar.gz sur le serveur et l'installe à la racine
=== Contenu du paquet (principalement des fichiers de configuration) ===
Ligne 46: Ligne 31:
 * [[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) 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) :
Ligne 48: Ligne 33:
 * [[http://git.auf.org/?p=auf-poste-client.git;a=tree;f=auf-poste-client-fixe/etc|etc]] : installation d'un ensemble de fichier de configuration par défaut, placés dans le répertoire `/etc` de la machine :  * [[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 :
Ligne 54: Ligne 39:
  * [[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)

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

  • 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 Makefile qui construit le contenu du paquet) :

  • 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

    • 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 debian/postinst) qui va travailler avec les données suivantes :

  • 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

  • debian/gconf-defaults : configuration d'un bureau GNOME par défaut (base, voir aussi les 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)

Projet/PaquetAufPosteClient/AufPosteClientFixe (dernière édition le 2009-05-19 16:08:13 par ThomasNoël)