Trace des installations
Un article de Diablotins.org.
Cette page est en travaux, elle n'est pas encore dans un état de diffusion
|
|
Aimez-vous les questions difficiles ?
- --Yibai ershi wen / Ippyakunijûmon 120 questions Zen
Cet article decrit 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 systeme d'exploitation favori. La comprehension des outils tels que Makefile, autoconfig et langages repandus dans le monde UNIX tels que C sera tres utile lors de compilation des applications que vous allez utiliser. Cela va sans dire que les notions elementaires du systeme UNIX sont indespensables.
A mon avis cet article sera également benefique à tout nouvel venu dans le monde de FreeBSD qui a un sens de défi et qui veut comprendre UNIX un peu plus que le niveau de "ls -la". Moi meme je me classe dans cette categorie.
Synopsis
Contrairement Ă systeme d'exploitation Windows qui ne propose absoluement aucune application apart demineur dans sa installation par defaut, les sytemes UNIX vous proposent un large eventail des applications et des outils Ă installer avec le systeme d'exploitation elle meme. Ainsi il faut bien distinguer le systeme d'exploitation des applications. Ceci est le premier etape sur le long chemin de savoir absolu. On peut dire que le systeme d'exploitation vu de 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'acomplir une tache Zen utile comme par exemple deminer un champs de mines en dix secondes. Donc comme on a compris on utilise les applications et non la systeme d'exploitation.
Ainsi apprenti zen pose la question: "Pourquoi, Maître, installer toutes ces applications, alors que pour mediter un demineur suffit ?"
A mediter...
"Debarasse toi de cinq desirs" a dit Bouddha. En effet les programmes installes par defaut demandent des ressources supplementaires. Mais comme un vrai guerrier Zen vous avez 1 Go de la memoire RAM et 120 Go de l'espace disque et vous ne craignes rien. Le probleme dans ce cas ce que souvent les programmes installés par defaut sont des daemons. Ils se lancent lors de demmarage du systeme et offrent souvent services reseau, donc exposent votre machine aux autres. Dans le cas FreeBSD la situation n'est pas si desespere que ca, mais d'autres systemes d'exploitation orientées large public souffrent de cet syndrome "d'activation par defaut". Le guerrier Zen n'as pas besoin de toutes ces choses superflus. Ainsi vous pourriez contrôler plus facilement votre systeme. Car l'un des etapes d'apprentissage Zen et le contrôle parfait de soi et de sa machine.
Avantages
- Comprehension accrue du fonctionnement du systeme.
- Controle de votre systeme.
- Pour un novice qui veut se lancer dans l'exploration "poussé" c'est le meuilleur moyen de comprendre FreeBSD et UNIX en general.
Inconvinients
- Longueur de la methode au niveau de mise en place du systeme fonctionnel.
- Vous serez amenes parfois a corriger les erreurs dans le code source et adapter les Makefiles.
- Consommation du café accrue
Etape 1. Installation du systeme minimal
Donc notre but est de construire un systéme saine, non engraissé de programmes que nous n'allons jamais utiliser. Il faut etre 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 systeme minimal. FreeBSD est propice à l'installation minimale. C'est une des raison pourquoi cette OS est mon systeteme 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 meme pour un neophyte totale. D'auilleurs je comprends pas pourquoi l'installation de FreeBSD est reputé difficile. Mais occupons nous d'installer le systeme minimal.
- Installer le systeme comme decrit dans le manuel de référence(handbook)
- Lors de choix de mode d'installation choisissez Standart
- A un moment vous allez arriver Ă l'ecran qui vous demandera de choisir le type d'installation Ă effectuer.
Choisissez Minimal en cochant la case respective, mais ne validez pas encore!!! En effet meme en sa installation minimale FreeBSD va installer les services de cryptographie (daemon ssh) et d'autres choses inutiles pour nous. Et en meme temps l'installation minimale "par defaut" ne comprend pas de documentation ni des codes sources.
- Cochez donc la case "Minimal" en appyant 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.
- En choisissant src le programme d'installation vous demandera quels sources a installer. Moi en general je choisis All (Tout) on ne sait jamais. Et voila.
- A un moment vous allez arriver Ă l'ecran qui vous demandera de choisir le type d'installation Ă effectuer.
- Vous poursuivez l'installation qui durera selon la velocité de votre machine 3 minutes... Dont la plupart sera la copie des sources dans le repertoire /usr/src. Ensuite le programme d'installation vous proposera de configurer le systeme ainsi installé. Choisisses NON partout, bon peut etre sauf pour parametrer le horloge.
- Finissez l'installation
Ca y est! On a fini. On se retrouve avec le systeme minimal, mais neanmoins fonctionnel qui ne demarre rien sans notre demande explicite sauf Sendmail qui pret a accepter les messages entrants et daemon usb!!! Ce ci me parrait etrange, mais telle est la politique de l'equipe FreeBSD. On desactive Sendmail dans le fichier rc.conf en changant le champ sendmail_enable="NO" en sendmail_enable="NONE". A ce moment vous allez avoir un systeme parfait avec acune application sauf peut etre l'editeur vi. Tout ce que vous auriez seront les outils necessaires a la construction de votre futur systeme a vous.
Etape 2. Sauvegarde de l'etat du systeme
Il est temps de creer un utilisateur. Travailler en etant root est fortement deconseillé. Pour creer un utilisateur j'utilise la commande adduser. Lors de creation de l'utilisateur je l'ajoute dans le groupe wheel afin de pourvoir faire su plus tard.
A present occupons nous de sauvegarder l'etat du systeme. Sauvegarder ici voudra dire qu'on fait un petit snapshot (photo) de l'etat du systeme. On voudra conserver l'etat du repertoire /usr/bin et /usr/lib essentiellement. Pour cela je fais la commande suivante:
- ls -lsa /usr/bin > /home/usr.bin.original
- ls -lsa /usr/lib > /home/usr.lib.original
au lieu d'original vous pouvez bien sur mettre la date. Ainsi on obtient le repertoir exhaustif de ce que est installer d'utile sur notre systeme. Apres chaque installation vous pouvez repeter la commande en donnant l'extension aure que .original est ensuite il suffit d'un diff pour savoir qu'est que ait ete ajouté
- diff /home/usr.bin.original /home/usr.bin.aujourdhui
Etape 3. Technique d'installation test
Ce que je vous propose c'est systematiquement lors de compilation et l'installation d'une nouvelle application de la iinstaller dans un repertoire 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 toutes les executables, la documentation et les pages man iront dans le sous repertoire /usr/test/nom_programme. Cela vous permet de parcourir cette arborescence et de regarder qu'est que sera installer et oĂą sans effectivement affecter votre tout propre /usr. Vous pouvez aussi rediriger la sortie de la commande ls lance sur cette repertoire 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 generer le script de desinstallation en ajoutant tout simplement la commande rm -f en debut de chaque ligne en prenant le precaution de ne pas supprimer les repertoires systeme tels que /usr/bin /usr/lib /usr/share etc. qui seront listées au debut de fichier log. Facile! Certes cela necessite la configuration deux fois lors la compilation de l'application. Mais l'avantage c'est que vous avez une trace complete et facile a lire de l'installation.

