Trace des installations

De Diablotins.org.


Cette page est en travaux, elle n'est pas encore dans un état de diffusion
Image:Onwork.jpgUtilisez la page discussion associée pour connaitre les tâches à faire et prendre contact avec le/les responsable(s)
Image:brush.png
  • Auteur :Rzw12
  • Date : 03 Juin 2006

Aimez-vous les questions difficiles ?

--Yibai ershi wen / Ippyakunijûmon 120 questions Zen



Cet article décrit la pratique d'installation minimale et l'ajout manuel des applications avec la possibilité de savoir qu'est que est installé sur le systeme et où. Cet article est inspiré de ma pratique personnelle. Je l'utilise effectivement sur toutes mes machines (j'en ai deux). Si vous appliquerez la pratique proposé, alors vous serez sur le chemin le plus rapide vers le statut de gourou UNIX :)


Sommaire

Audience

Cet article s'adresse aux utilisateurs avertis qui veulent avoir un peu plus de contrôle sur leur système d'exploitation favori. La compréhension des outils tels que Makefile, autoconfig et langages répandus dans le monde UNIX tels que C sera très utile lors de compilation des applications que vous allez utiliser. Cela va sans dire que les notions élémentaires du système UNIX sont indispensables.

A mon avis cet article sera également bénéfique à tout nouveau venu dans le monde de FreeBSD qui a un sens du défi et qui veut comprendre UNIX un peu plus que le niveau de "ls -la". Moi même je me classe dans cette catégorie.

Synopsis

Contrairement à système d'exploitation Windows qui ne propose absolument aucune application à part le démineur dans sa installation par défaut, les systèmes UNIX vous proposent un large éventail d'applications et d'outils à installer avec le système d'exploitation lui-même. Ainsi il faut bien distinguer le système d'exploitation des applications. Ceci est la première étape du long chemin du savoir absolu. On peut dire que le système d'exploitation vu du point de vue de l'utilisateur est juste un noyau (kernel en Anglais) qui fournit les services et d'autres choses fantastiques aux applications qui utilisent ces services afin d'accomplir une tache Zen utile comme par exemple déminer un champs de mines en dix secondes. Donc comme on a compris on utilise les applications et non le système d'exploitation.

Ainsi apprenti zen pose la question: "Pourquoi, Maître, installer toutes ces applications, alors que pour méditer un démineur suffit ?"
A méditer...

"Débarrasse-toi de cinq désirs" a dit Bouddha. En effet les programmes installés par défaut demandent des ressources supplémentaires. Mais comme un vrai guerrier Zen vous avez 1 Go de la mémoire RAM et 120 Go de l'espace disque et vous ne craignes rien. Le problème dans ce cas est que souvent les programmes installés par défaut sont des démons. Ils se lancent lors de démarrage du système et offrent souvent services réseau, donc exposent votre machine aux autres. Dans le cas FreeBSD la situation n'est pas si désespérée que ça, mais d'autres systèmes d'exploitation orientées large public souffrent de ce syndrome "d'activation par défaut". Le guerrier Zen n'as pas besoin de toutes ces choses superflus. Ainsi vous pourriez contrôler plus facilement votre système. Car l'une des étapes d'apprentissage Zen et le contrôle parfait de soi et de sa machine.


Avantages

  1. Compréhension accrue du fonctionnement du système.
  2. Contrôle de votre système.
  3. Pour un novice qui veut se lancer dans l'exploration "poussé" c'est le meilleur moyen de comprendre FreeBSD et UNIX en général.

Inconvénients

  1. Longueur de la méthode au niveau de mise en place du système fonctionnel.
  2. Vous serez amenés parfois a corriger les erreurs dans le code source et adapter les Makefiles.
  3. Consommation du café accrue.

Etape 1. Installation du système minimal

Donc notre but est de construire un système saine, non engraissé de programmes que nous n'allons jamais utiliser. Il faut être bien conscient que le chemin sera long et semé des programmes bouggées, les Makefiles non adaptées etc.

Pour se lancer on choisit d'installer le système minimal. FreeBSD est propice à l'installation minimale. C'est une des raison pourquoi cette OS est mon système d'exploitation favori. Rien que essentiel."FreeBSD. What else?". L'installation est rustique sans interface graphique mais basé sur les boites de dialogue, donc facile même pour un néophyte totale. D'ailleurs je comprends pas pourquoi l'installation de FreeBSD est réputé difficile. Mais occupons nous d'installer le système minimal.

  1. Installer le système comme décrit dans le manuel de référence(handbook)
  2. Lors de choix de mode d'installation choisissez Standard
    1. A un moment vous allez arriver à l'écran qui vous demandera de choisir le type d'installation à effectuer. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install/dist-set.png Choisissez Minimal en cochant la case respective, mais ne validez pas encore!!! En effet même en sa installation minimale FreeBSD va installer les services de cryptographie (daemon ssh) et d'autres choses inutiles pour nous. Et en même temps l'installation minimale "par défaut" ne comprend pas de documentation ni des codes sources.
    2. Cochez donc la case "Minimal" en appuyant sur l'espace, descendes d'un cran et choisisses "Custom". Ca y est on pourra choisir nos paquetages a nous. Moi je choisis toujours bin doc man et src.
    3. En choisissant src le programme d'installation vous demandera quelles sources seront à installer. Moi en général je choisis All (Tout) on ne sait jamais. Et voilà.
  3. Vous poursuivez l'installation qui durera selon la vélocité de votre machine 3 minutes... Dont la plupart sera la copie des sources dans le répertoire /usr/src. Ensuite le programme d'installation vous proposera de configurer le système ainsi installé. Choisisses NON partout, bon peut-être sauf pour paramétrer le horloge.
  4. Finissez l'installation

Ça y est! On a fini. On se retrouve avec le système minimal, mais néanmoins fonctionnel qui ne démarre rien sans notre demande explicite sauf Sendmail qui est prêt à accepter les messages entrants et daemon usb!!! Ceci me parait étrange, mais telle est la politique de l'équipe FreeBSD. On désactive Sendmail dans le fichier rc.conf en changeant le champ sendmail_enable="NO" en sendmail_enable="NONE". A ce moment vous allez avoir un système parfait sans aucune application sauf peut-être l'éditeur vi. Tout ce que vous aurez seront les outils nécessaires à la construction de votre futur système à vous.

Etape 2. Sauvegarde de l'état du système

Il est temps de créer un utilisateur. Travailler en étant root est fortement déconseillé. Pour créer un utilisateur j'utilise la commande adduser. Lors de création de l'utilisateur je l'ajoute dans le groupe wheel afin de pourvoir faire su plus tard.

A présent occupons nous de sauvegarder l'état du système. Sauvegarder ici voudra dire qu'on fait un petit snapshot (photo) de l'état du système. On voudra conserver l'état du répertoire /usr/bin et /usr/lib essentiellement. Pour cela je fais la commande suivante:

  1. ls -lsa /usr/bin > /home/usr.bin.original
  2. ls -lsa /usr/lib > /home/usr.lib.original

Au lieu d'original vous pouvez bien sur mettre la date. Ainsi on obtient le répertoire exhaustif de ce que est installer d'utile sur notre système. Après chaque installation vous pouvez répéter la commande en donnant l'extension autre que .original est ensuite il suffit d'un diff pour savoir qu'est que ait été ajouté

  1. diff /home/usr.bin.original /home/usr.bin.aujourdhui

Etape 3. Technique d'installation test

Ce que je vous propose c'est systématiquement lors de compilation et l'installation d'une nouvelle application de la l'installer dans un répertoire test. Disons dans /usr/test Pour cela avant de compiler le programme on utilise le script configure avec l'option
--prefix=/usr/test/nom_programme
Ainsi tous les exécutables, la documentation et les pages man iront dans le sous répertoire /usr/test/nom_programme. Cela vous permet de parcourir cette arborescence et de regarder qu'est ce qui sera installer et où sans effectivement affecter votre tout propre /usr. Vous pouvez aussi rediriger la sortie de la commande ls lancée sur ce répertoire de test et conserver cette sortie comme un log d'installation.

ls -R /usr/test/nom_programme > programme.install.log

L'avantage est ce que plus tard vous pourriez générer le script de désinstallation en ajoutant tout simplement la commande rm -f en début de chaque ligne en prenant le précaution de ne pas supprimer les répertoires système tels que /usr/bin /usr/lib /usr/share etc. qui seront listées au début de fichier log. Facile! Certes cela nécessite la configuration deux fois lors la compilation de l'application. Mais l'avantage c'est que vous avez une trace complète et facile à lire de l'installation.

Projets :