Modifications entre les versions 40 et 41
Version 40 à la date du 2007-12-11 12:08:59
Taille: 9199
Éditeur: ThomasNoël
Commentaire:
Version 41 à la date du 2007-12-13 16:44:19
Taille: 10800
Éditeur: JérômeSantini
Commentaire: on lance la v2 !!! ta ta ta taaaam !
Texte supprimé. Texte ajouté.
Ligne 5: Ligne 5:
<!> à écrire  L'objectif général est de proposer un package générique permettant d'unifier la configuration logicielle des postes clients de l'auf, tout en tenant compte des spécificités de chaque site. Et que les configurations soient strictement identiques et reproductibles d'une installation à l'autre. Le but final serait que les opérations suivantes suffisent :
Ligne 7: Ligne 7:
 * Séparer dans des paquets distincts ce qui est configuration générique de ce qui est configuration spécifique (par exemple, des paquets auf-authentification-nis, auf-authentification-ldap, etc)
 * N'avoir dans les paquets *aucune* configuration propre à un site en particulier. Les infos propres au site (clefs ssh, sudoers, par exemple) devront être prises sur le réseau, au moment de l'installation
 * Pour les postes fixes, avoir un modèle de poste "type" unique avec le maximum de paramétrages possibles via le serveur dhcp, pour avoir une machine la plus universelle possible : facilement interchangeable entre les machines du personnel sur le RPV, en accés publique, configuration FOAD, etc
 * faire une installation "de base" (via netboot, pour ne même plus avoir l'étape "je monte un lecteur de cdrom dans la bécane)
 * ajouter une ligne dans le sources.list
 * aptitude install auf-desktop

et strictement rien de plus.
 
 Les objectifs secondaires sont :

 * N'avoir dans les paquets '''aucune''' configuration propre à un site en particulier. Les infos propres au site (clefs ssh, sudoers, par exemple) devront être prises sur le réseau, au moment de l'installation.
 * Pour les postes fixes, avoir un modèle de poste "type" unique avec le maximum de paramétrages possibles via le serveur dhcp, pour avoir une machine la plus universelle possible, utilisable dans les salles de formation, pour le personnel du CNF même sur une autre branche du réseau, etc.
 * Aucune donnée utilisateur ne doit être présente sur la machine elle-même : en cas de panne, on doit pouvoir échanger la machine avec une autre immédiatement, et que la personne puisse continuer à travailler sans se préoccuper de la durée de la réparation.
Ligne 11: Ligne 19:
 * Toute personne travaillant à l'AuF doit pouvoir se connecter sur n'importe quel poste de n'importe quelle implantation avec son adresse prénom.nom@auf.org et son login "intranet". Premier objectif : valable en afrique de l'ouest d'ici juin 2008.
 * Toute personne abonné dans un CNF doit pouvoir se connecter avec son login@xx.refer.org dans n'importe quelle implantation de l'auf à condition que son abonnement soit à jour. (ouiii, je sais, déjà un peu plus dur). Valable pour l'afrique de l'ouest dès octobre 2008.
 * Toute personne pouvant se connecter doit pouvoir retrouver son environnement et ses fichiers tels qu'ils sont dans son implantation d'origine (personnel AUF ou abonné d'un CNF) : objectif : heuuuu oui, je sais, ça va pas être simple.
Ligne 12: Ligne 23:
= Comment l'utiliser = = Présentation de la nouvelle version, à partir de Ubuntu Hardy =
 (voir plus bas pour gutsy et feisty)

= Comment l'utiliser sous gutsy et festy =

package desktop pour machines ubuntu type

Objectifs

  • L'objectif général est de proposer un package générique permettant d'unifier la configuration logicielle des postes clients de l'auf, tout en tenant compte des spécificités de chaque site. Et que les configurations soient strictement identiques et reproductibles d'une installation à l'autre. Le but final serait que les opérations suivantes suffisent :
  • faire une installation "de base" (via netboot, pour ne même plus avoir l'étape "je monte un lecteur de cdrom dans la bécane)
  • ajouter une ligne dans le sources.list
  • aptitude install auf-desktop

et strictement rien de plus.

  • Les objectifs secondaires sont :
  • N'avoir dans les paquets aucune configuration propre à un site en particulier. Les infos propres au site (clefs ssh, sudoers, par exemple) devront être prises sur le réseau, au moment de l'installation.

  • Pour les postes fixes, avoir un modèle de poste "type" unique avec le maximum de paramétrages possibles via le serveur dhcp, pour avoir une machine la plus universelle possible, utilisable dans les salles de formation, pour le personnel du CNF même sur une autre branche du réseau, etc.
  • Aucune donnée utilisateur ne doit être présente sur la machine elle-même : en cas de panne, on doit pouvoir échanger la machine avec une autre immédiatement, et que la personne puisse continuer à travailler sans se préoccuper de la durée de la réparation.
  • Pour les portables : avoir une configuration la plus proche possible des postes fixes, en tenant compte du fait que ces machines ne seront pas toujours connecté au réseau auf (par exemple, authentification locale)
  • Toute personne travaillant à l'AuF doit pouvoir se connecter sur n'importe quel poste de n'importe quelle implantation avec son adresse prénom.nom@auf.org et son login "intranet". Premier objectif : valable en afrique de l'ouest d'ici juin 2008.

  • Toute personne abonné dans un CNF doit pouvoir se connecter avec son login@xx.refer.org dans n'importe quelle implantation de l'auf à condition que son abonnement soit à jour. (ouiii, je sais, déjà un peu plus dur). Valable pour l'afrique de l'ouest dès octobre 2008.

  • Toute personne pouvant se connecter doit pouvoir retrouver son environnement et ses fichiers tels qu'ils sont dans son implantation d'origine (personnel AUF ou abonné d'un CNF) : objectif : heuuuu oui, je sais, ça va pas être simple.

= Présentation de la nouvelle version, à partir de Ubuntu Hardy =

  • (voir plus bas pour gutsy et feisty)

Comment l'utiliser sous gutsy et festy

sources.list à configurer avant d'installer les packages

# (vous devez remplacer les lignes ci-dessous par votre propre miroir)
deb http://ubuntu.refer.sn/ubuntu/ gutsy main restricted universe multiverse
deb http://ubuntu.refer.sn/ubuntu/ gutsy-updates main restricted universe multiverse
deb http://ubuntu.refer.sn/ubuntu/ gutsy-security main restricted universe multiverse

# paquets auf-desktop
deb http://apt.sn.auf.org/ubuntu gutsy main

url de la clef pour apt.sn.auf.org : http://apt.sn.auf.org/clef-equipe-sysadmin-dakar.asc

dhcp

  • sur le serveur dhcp, en plus des options habituelles, ajouter ces options pour autoconfigurer les machines. Note : chaque option est facultative (optionnelle, même :-D), si l'option est absente, le service ne sera simplement pas configuré. Remplacer bien entendu les <leserveur> par la valeur appropriée.

        option nfs-server code 201 = ip-address;
        option ntp-servers <le-serveur-ntp>;
        option nfs-server <le-serveur-nfs>;

auf-base-conf@configuration:racine.tar.gz

  • pour certain fichiers spécifiques à l'implantation, un auf-base-conf@configuration:racine.tar.gz est telechargé via scp et desarchivé sur la machine. Il faut donc ajouter ce nom dans le domaine dns utilisé par les poste clients (le domaine spécifié par la directive "search" dans le /etc/resolv.conf de chaque machine) et créer un compte auf-base-conf sur le serveur concerné (limité à la scpisation de ce fichier). voilà la liste des fichiers que je met dedans à Dakar :

root@www-dakar:/home/auf-base-conf# tar ztf racine.tar.gz 
./
./etc/
./etc/ssh/
./etc/ssh/sshd_config
./etc/ssh/ssh_host_dsa_key.pub # pour éviter d'avoir des warning de chgt de clef a chaque réinstallation)
./etc/ssh/ssh_host_rsa_key.pub
./etc/ssh/ssh_host_dsa_key
./etc/ssh/ssh_host_rsa_key
./etc/sysctl.conf          # pour net/ipv4/icmp_echo_ignore_broadcasts=1, afin de savoir quelles machines sont présentes sur le réseau)
./etc/sudoers              # configurer avec un group %admindesktop différents des admins serveurs, suivant la taille de l'équipe
./etc/apt/
./etc/apt/sources.list
./etc/libnss-mysql.cfg     # voir la doc de GUIA
./etc/libnss-mysql-root.cfg # 
./root/
./root/.ssh/
./root/.ssh/known_hosts
./root/.ssh/authorized_keys # pour dsh centralisé
./root/.ssh/id_dsa          # pour telechargement regulier de ce fichier 
./root/.ssh/id_dsa.pub      # la clef publique à copier dans auf-base-conf@configuration:.ssh/authorized_keys
./root/hook                 # commande à executer aprés desarchivage : (ssh|nscd) restart, par exemple

ainsi, les paquets ne comportent *aucune* information locale au site de Dakar.

  • note : ce fichier sera ensuite retelechargé quotidiennement via cron.daily (et anacron), et desarchivé s'il a changé. il est donc important de mettre la clef dans le authorized_keys de auf-base-conf@configuration (en limitant à l'execution de scp seulement). Pour plus de sécurité : vérifier que aucun fichier n'appartient au compte auf-base-conf, et faire un compte accessible en ScponlyChroot seulement

  • note : si on met un fichier /root/hook dans l'archive, ce script sera executé aprés la mise à jour, puis effacé

nfs

- seront montées automatique toutes les partitions exporté du serveur nfs dont le nom commence par "/home" (à la racine de la machine) ou celle qui contiennent le mot "/local" (sur /usr/local) - concernant le montage nfs automatique (/etc/auto.master), lorsque la question est posée, durant l'installation : "garder la version actuelle" pour conserver la configuration apportée par le paquet auf-base-conf

Liste des paquets et dépendances entre eux

Generer un joli graphe de manière totomatique ? (voir si un debjoligraphdedependance n'existe pas déjà)

Détail du contenu des paquets

auf-base

Dépendance sur les logiciels "utiles" : cf http://trac.sn.auf.org/auf-desktop/browser/auf-base/debian/control

auf-base-conf

pour les confs de base des softs à installer :

quoi

statut

acceptation auto de la licence java

pas ok

réponse auto pour plugin flash

pas ok

auf-auth-mysql

  • les fichiers de configuration /etc/libnss-mysql.cfg /etc/libnss-mysql-root.cfg ne sont pas gérés/créé/modifiés par ce package : configuration locale au site (serveur, pass, etc). voir la doc de guia pour une doc sur ce qu'il faut mettre dedans, et les ajouter au .tgz de configuration des postes.
  • dpkg-statoverride --update --add root shadow 6555 /sbin/unix_chkpwd dans le postinst (soucis dans la gestion du groupe shadow avec libnss-mysql-bg)

auth-dhcp-conf

  • dhclient.conf
  • hooks

nom

statut

ntp

ok

nis

ok

nfs

en cours

problèmes et questions restant à résoudre

  • tester ! (surtout purge/remove/upgrade)
  • licence java/choix flashplugin : comment automatiser
  • ajouter doc, readme, licence, etc
  • pas fiable/stable si le scp échoue lors de la copie du .tgz d'autoconf

Action suivante

  • ajouter une signature/clef (regarder comment ça marche vraiment)
  • automatiser d'une façon ou d'une autre la gestion des clefs, pour les sources non ubuntu
  • auf-dhcp-conf : remplacer le nfs-server par un nfs-serverS. Ne plus toucher au /home, mais partir du principe que les homedir seront directement en /nfs/home-xxx
  • désactiver la désactivation ipv6. ou en faire un choix debconf
  • remettre de l'ordre et de la cohérence dans les (post|pre)inst et (post|pre)rm
  • auf-laptop-conf : accès aux ressources réseau locales, lorsque le laptop est sur son réseau "de base"
  • test edgy
  • faire un auf-foad d'accompagnement

Contributions

  • Modèle d'un poste client à Cotonou : ["ZAO/Cotonou/Modèles/PosteFOAD"]
  • Proposition d'ajout dans le postinst pour une config Gnome un peu plus simple (surtout retirer le menu "changer d'utilisateur" et autres trucs pas évident à gérer sur des machines publiques) -- ThomasNoël :

    • {{{#!/bin/bash

function mygconf() {

  • echo gconf/defaults : "$@"

    /usr/bin/gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults "$@" > /dev/null

}

# sur le menu de déconnexion : # on supprime le bouton "changer d'utilisateur" : mygconf --type boolean --set /desktop/gnome/lockdown/disable_user_switching true # on supprime le vérouillage d'écran (à faire uniquement sur postes publics ?) : mygconf --type boolean --set /desktop/gnome/lockdown/disable_lock_screen true # ni hibernation, ni suspension : mygconf --type boolean --set /apps/gnome-power-manager/can_hibernate false mygconf --type boolean --set /apps/gnome-power-manager/can_suspend false

# des icônes sur le bureau ("mes documents" et la corbeille) mygconf --type boolean --set /apps/nautilus/desktop/home_icon_visible true mygconf --type boolean --set /apps/nautilus/desktop/trash_icon_visible true mygconf --type string --set /apps/nautilus/preferences/default_folder_viewer "list_view"

# optimisations (enfin... c'est un grand mot...) mygconf --type boolean --set /desktop/gnome/thumbnailers/disable_all true mygconf --type boolean --set /desktop/gnome/sound/event_sounds false mygconf --type string --set /desktop/gnome/background/picture_filename "" mygconf --type string --set /desktop/gnome/background/color_shading_type "solid" mygconf --type string --set /desktop/gnome/background/primary_color "#000000"

# utilisation de metacity par défaut (et pas compiz qui est apparement le défaut sur gutsy) # (attention : je n'ai pas testé...) mygconf --type string --set /desktop/gnome/applications/window_manager "/usr/bin/metacity"

# affichage correct des polices sur écran LCD (pas testé non plus...) mygconf --type string --set /desktop/gnome/font_rendering/antialiasing "rgba" mygconf --type string --set /desktop/gnome/font_rendering/hinting "full" }}}

Etude/PaquetAufDesktopAncien (dernière édition le 2008-06-11 09:07:24 par ThomasNoël)