Forums d'entraide informatique - Astuces - Conseils

Des experts à votre écoute pour tous vos dysfonctionnements

Vous n'êtes pas identifié.


#1 26-09-2008 17:41:16

Admin
Administrateur
Date d'inscription: 30-07-2008
Messages: 683

Documentation : Débian 4.0 administration et configuration (9)

DÉTOURNEMENT DE FICHIERS :
AJOUTEZ VOTRE GRA    IN DE SEL DANS LE SYSTÈME
s
Le fait d'utiliser une distribution basée être problématique. La rigidité induite Sauf si on utilise une bonne distrib techniques.
sur des paquets binaires peut parfois interdit toute modification manuelle.
munimufflumiumaismirma
ution et qu'on connaît les bonnes
■ii.
Pourquoi donc vouloir changer manuellement les fichiers installés par un paquet ? La première réponse pourrait être celle des développeurs Debian eux-mêmes : Exim, Qmail ou Postfix, par exemple, sont des MTA pouvant remplacer le classique Sendmail. Cependant, un certain nombre d'outils et de scripts utilisent encore /us r/sbi n/sendma i 1 ou /usr/lib/sendmail.Pour contourner le problème, la solution la plus classique (et celle utilisée en réalité dans le cas des MTA), consiste à spécifier les paquets comme étant en conflit.Ainsi l'installation du paquet ssmtp provoquera la désinstallation de exi m4, exi m4-ba se, etc.
Une autre solution est d'utiliser un « détournement » (diversion en anglais). Ceci permet d'obliger dpkg à installer un fichier à un autre emplacement et sous un autre nom que celui prévu à l'origine par le responsable du paquet. Le détournement est contrôlé via l'outil dpkg -di vert et peut être utile pour deux types de manipulations.
(D DÉTOURNEMENTS DEBIAN
Premièrement, nous avons celles des développeurs Debian responsables de paquets. Nous avons, par exemple, le cas de xi netd et openbsd-i netd (qui remplace depuis peu netki ti netd). Les deux paquets peuvent être installés de concert, mais un seul super-serveur peut être raisonnablement utilisé. La solution consiste donc à utiliser un détournement du fichier /etc/i ni t.d/i netd. Lorsque vous installez xi netd, ce fichier est détourné. L'original devient /etc/i ni t.d/i netd. real et un nouveau fichier /etc/i ni t .d/i netd est installé contenant ceci :
#!/bin/sh
# /etc/init.d/inetd has been diverted
# by the xinetd package. The inetd service # is provided by xinetd, which means inetd # doesn't need to be run.
# See /etc/init.d/xinetd,
# or /etc/init.d/inetd.real.
exit
Il ne s'agit pas du fichier originellement livré par le paquet
Openbsd-inetd qui, pour sa part, est renommé en inetd.
real. Cette opération est d'ailleurs indiquée lors de l'installation d'xi netd :
[...]
Paramétrage de xinetd (2.3.14-1) ... Stopping internet superserver: xinetd. Adding 'diversion of /etc/init.d/inetd to /etc/init.d/inetd.real by xinetd' Starting internet superserver: xinetd.
Si nous désinstallons le paquet xi netd, l'opération inverse sera effectuée. Vous pouvez, à tout moment, lister les détournements actifs avec dpkg -di vert - -1 i st. La liste des détournements actifs est stockée dans /var/1 i b/ dpkg/di versions.
DÉTOURNEMENTS PAR LE
SYSADMIN
L'autre type de manipulation concerne les administrateurs système.Vous avez sans doute déjà remarqué que la mise à jour d'un paquet entraîne parfois un avertissement concernant un fichier de configuration modifié manuellement et dont le sort est laissé à la discrétion du super- utilisateur.
C'est le système de gestion des fichiers de configuration (conff i les) qui permet cela. Prenons, par exemple, le fichier /etc/crontab.Si vous le modifiez manuellement, puisqu'une mise à jour du paquet le fait également, celui-ci ne sera pas simplement écrasé. Un message d'avertissement apparaîtra durant la phase d'installation vous proposant plusieurs solutions (conservation, écrasement, abandon de l'installation et examen du fichier) :
Fichier de configuration "/etc/crontab"
=> Modifié (par vous ou par un script) depuis l'installation. => Le distributeur du paquet a fourni une version mise à jour. Que voulez-vous faire? Vos options sont les suivantes:
Y ou I : installer la version du responsable du paquet
N ou 0 : garder votre version actuellement installée
D    : afficher les différences entre les versions
Z    : suspendre ce processus pour examiner la situation

L'action par défaut garde votre version actuelle. *** crontab (Y/I/N/0/D/Z) [défaut=N] ?
Ceci arrive car /etc/crontab est listé dans le conffiles du paquet binaire. Si ce n'était pas le cas, ce fichier serait tout simplement remplacé et vous perdriez vos ajouts/ modifications.
Si l'avertissement vous dérange et que vous estimez savoir ce que vous faites concernant la configuration, le détournement est une excellente solution. Pour cela, il suffit d'utiliser dpkg -di vert ainsi (en root) :
# dpkg-divert --add --rename --divert /etc/crontab.real /etc/crontab Adding 'local diversion of /etc/crontab to /etc/crontab.real'
Nous demandons plusieurs choses à dpkg-di vert et, en premier lieu, le fait d'ajouter un détournement avec - - add. Dans un second temps, nous voulons que, pour le système de gestion de paquets, tout ce qui concerne le fichier /etc/crontab soit détourné vers /etc/crontab. rea I . L'option - -rename nous permet de profiter de l'opération pour directement renommer crontab en crontab. real
Il ne nous reste, ensuite, plus qu'à copier crontab. real en crontab pour le modifier par la suite ou créer notre propre version du fichier en partant de zéro. Lors d'une mise à jour du paquet cron, si le fichier de configuration de crond doit être modifié (en raison d'un changement de syntaxe run-parts), c'est crontab. real qui subira les changements.
Bien entendu, ce type d'opération implique une grande responsabilité de l'administrateur système, puisqu'il devra opérer lui-même les changements après avoir comparé la version détournée et sa version du fichier.
Pour supprimer un détournement, il suffit d'utiliser la même commande en remplaçant - -add par - - remove. Notez cependant qu'un certain nombre de sécurités sont mises en place.Ainsi, vous ne pouvez pas provoquer le changement de nom de fichier inverse si votre version du fichier existe encore.dpkg -di vert refusera simplement d'écraser bêtement votre version.
Pour simplifier les choses, la syntaxe de dpkg -di vert possède des options par défaut. En utilisant simplement dpkg-di vert /etc/crontab, le détournement installé se fera vers /etc/crontab.di stri b et le fichier crontab ne sera pas renommé.
lk" NOTE
Le comportement du système APT vis-à-vis des détournements dépendra de sa configuration en ce qui concerne les conf f i 1 es. Il est parfaitement possible dans notre exemple que vous obteniez automatiquement un fichier crontab.di strib.dpkg-new alors que, sans le détournement,APT vous aurait interrogé.
Le détournement de fichiers par l'administrateur système peut également concerner des fichiers binaires. Un exemple récurrent concerne gcc. L'idée est de mettre en place un fichier /usr/bin/gcc qui soit un script, un wrapper contenant :
#!/bin/sh
/usr/bin/gcc.di stri b -Wall -02 "S(l"
Il suffit d'utiliser dpkg -di vert pour ajouter le détournement, puis nommer votre script !usr/bi n/gcc. Ainsi, chaque utilisation du compilateur provoquera l'utilisation des options spécifiées et, surtout, une mise à jour changera gcc. di str i b.Le système peut évoluer et votre personnalisation reste fixe.
D'autres options existent pour dpkg-di vert, comme - package permettant de préciser le nom d'un paquet étant exempté de détournement. Ceci permet de choisir quel paquet aura une influence sur le fichier concerné. Enfin, - -local ,qui fait partie des options par défaut si dpkg-di vert est utilisé sans autres arguments que - -add et un nom de fichier, permet de préciser que le détournement concerne toutes les versions du paquet et non pas simplement celle en cours.
L'intérêt de dpkg-di vert n'est sans doute pas évident au premier abord, mais il suffit de réfléchir un peu : binaires, doubles configurations, données dans /usr/share,fichiers de configuration à centraliser (avec liens symboliques)...les applications ne manquent pas. Pour résumer, dpkg-di vert est un excellent moyen de garder son système à la fois à jour et personnalisé.
Un bel exemple d'utilisation est la personnalisation d'applications comme Iceweasel, le Firefox modifié par Debian. Celui-ci ne peut s'appeler « Firefox », parce que ses modifications n'ont pas été validées par le projet Mozilla. On peut, en effet, changer à souhait les éléments graphiques individuellement ou tout autre élément se trouvant dans /usr/share/nom_de_l_application. Bien entendu, à vous de trouver le juste milieu. Si vous tenez vraiment à personnaliser une application, autant reprendre le paquet source et vous en servir pour créer votre propre version. Cela sera sans doute plus facile à maintenir.

INSTALLATION DE DEBIAN VIA UN BOOT RÉSEAU
ro-
le réseau.
-
C0 OBJECTIF
Dans cet article, nous allons détailler l'installation et la configuration des applications nécessaires à la mise à disposition d'un serveur d'installation réseau.
Nous disposons d'un réseau local avec un système Debian sur lequel nous allons installer le serveur d'installation réseau. Nous appellerons cet ordinateur le serveur pour la suite de l'article. Le réseau local comporte également plusieurs ordinateurs qui peuvent nécessiter une réinstallation. Nous appellerons ces ordinateurs les clients.
(D PRINCIPE
Pour booter sur un réseau, il faut utiliser le protocole PXE (Preboot eXecution Environment).Toutes les cartes réseau ne permettent pas ceci, mais la majorité des cartes actuelles le permettent.
Les cartes compatibles avec le protocole PXE contiennent une PROM qui va permettre à la machine de booter sur le réseau. Cette PROM va rechercher sur le réseau un serveur DHCP, qui va pouvoir lui fournir une adresse IP, puis un noyau. Ce noyau va être récupéré via le protocole TFTP.
Il faut donc au minimum deux machines
•    Une machine cliente qui peut booter sur le réseau grâce à sa carte réseau.
•    Un serveur qui va fournir l'adresse IP et le noyau au client.
Si le poste client ne peut pas booter sur le réseau grâce à sa carte réseau, il est possible de créer une disquette afin de booter sur le réseau. Ce point sera abordé en fin d'article.
ERE ETAPE LE SERVEUR if-1P
TFTP (Trivial File Transfert Protocol ou en français Protocole simplifié de transfert de fichiers) est un protocole qui permet de transférer simplement des fichiers. C'est un protocole qui ne permet ni de lister les fichiers disponibles, ni de gérer les authentifications. Il faut donc connaître le nom des fichiers que l'on veut récupérer via ce protocole.
84 ! ATTENTION
il est dangereux d'autoriser l'accès au serveur TFTP aux ordinateurs étrangers au réseau local !! Pensez à vérifier que votre fi rewall bloque le port 69 en udp pour le réseau Internet ou les réseaux sur lesquels vous ne désirez pas autoriser une installation via le réseau.
Il existe plusieurs serveurs TFTP sous Debian. Nous allons utiliser atftpd.
Tout d'abord, installons le serveur atftpd
# apt-get instal 1 atftpd
Nous allons choisir de lancer atftpd en tant que serveur indépendant et vérifier que le dossier/tftpboot (si c'est celui que vous avez choisi lors de la configuration de atftpd) existe.
Plus tard, si nous désirerons reconfigurer atftpd, nous pourrons lancer la commande suivante
# dpkg-reconfigure atftpd
Si le dossier que nous avons spécifié lors de l'installation n'existe pas, nous devons le créer
# mkdir /tftpboot
Pour prendre les changements en compte, il faut redémarrer le serveur :
, # /etc/init.d/atftpd restart
Dans certainsl (lecteur CD absent ou Debian sur plusieurs mal possible de configurer ur du réseau local de lanct
: impossible d'installer Debian à partir d'un—Cellim n panne). Dans d'autres, on peut vouloir installer chines à la fois. Pour répondre à cette attente, il est système Debian afin qu'il permette aux ordinateurs
une installation de Debian via un simple boot sur
(D PRÉPARATION DU SERVEUR
Avant de commencer l'installation des services, il faut connaître certaines informations
•    L'adresse IP du serveur
•    La version de l'installeur Debian qui sera mise à disposition
L'architecture des machines clientes
2ÈME ÉTAPE : INSTALLATION DU SERVEUR PXE
PXE (Pre-boot eXecution Environment) permet à un poste client de démarrer depuis le réseau un système d'exploitation disponible sur un serveur réseau. Le fichier qui permet de démarrer le système d'exploitation (appelé noyau) est dans la majorité des cas trop gros pour être récupéré par la carte réseau. Dans ce cas, on peut utiliser un bootloader
CENTRALISEZ LES MISES À    JOUR
Si, comme moi, vous avez plus qu'une seule machine fonctionnant avec Debian GNU/Linux, sans doute, avez-vous remarqué un certain gâchis de ressource. Je parle, bien entendu, du fait de télécharger les paquets à installer ou mettre à jour sur chaque machine.
Mn»
Il suffit d'installer un proxy, me direz-vous. Certes, c'est une solution efficace, mais la gestion du cache n'est pas spécifique au téléchargement de paquets. De plus, la configuration d'un serveur mandataire (en bon français) comme Squid n'est pas aussi simple que la solution que je vous propose maintenant : le paquet a pt-proxy.
Comme son nom l'indique, ce serveur mandataire est spécifiquement dédié au systèmeAPT et particulièrement facile à mettre en oeuvre. Nous prendrons en guise d'exemple une configuration à deux postes. Le premier, ra ven, est en fonctionnement 24h/24. Le second, I i thi um,est une machine de test habituellement dédiée aux expérimentations les plus folles. apt-proxy sera donc, naturellement, installé sur rayer avec un simple apt-get instal 1 .
Dans la foulée, nous nous penchons sur le fichier de configuration /etc/apt-proxy/apt- proxy- v2. conf. On peut ici préciser quelques éléments importants :
address=192.168. 0.1 est l'adresse de l'inter-face sur laquelle on attend les requêtes.
port=9999 est le port IP pour l'attente de connexion.
mi n_ref resh_del ay=lh est le délai minimum avant une tentative de mise à jour.
complete_cl ientiess_downloads = 1 permet de poursuivre les téléchargements, même si plus aucun client n'est connecté.
cache_di r = /va r/cache/apt-proxy est le répertoire de cache où seront stockés les paquets et les listes.
;http_proxy host:port permet de spécifier un serveur
mandataire (oui, apt-proxy est un serveur proxy qui peut utiliser un autre serveur proxy générique). Remarquez que cette option est commentée et le restera.
; bandwidth_l imit =. 100000 permet de limiter la bande passante pour ne pas nuire au fonctionnement du système où est installé apt-proxy. En phase de test, cette option est désactivée.
cl eanup_freq = Id, nous vérifions l'âge des éléments du cache, une fois par jour.
max_age = 120d, tout ce qui n'a pas été « accédé » depuis 120 jours est effacé.
max_versions = 3 permet de définir le nombre maximum de versions d'un paquet à conserver dans le cache.
Suit alors une série de sections désignées entre crochets ([1).11 s'agit des backends à utiliser, vos sources de paquets. On distingue ainsi [debi an] (branche principale), [seouri ty] (mise à jour de sécurité) et quelques autres dont [ubuntu] (sans commentaire). La directive backends z permet de lister, dans l'ordre de préférence, les serveurs à utiliser. Choisissez quelque chose de localement proche en premier. Vous pouvez également ajouter des sections en fonction de ce qui se trouve actuellement dans vos sources.list. En fin de configuration, n'oubliez pas de redémarrer le serveur avec /etc/i ni t.d/apt-proxy restart.
If NOTE
Remarquez qu'il faut préciser l'URL complète de chaque serveur. http://ftp.fr.debian.org/, par exemple, n'est pas suffisant. Il faut préciser http://ftp.fr.debian.  org/debian, afin que le proxy puisse trouver le sous- répertoire di sts et les diiférentes distributions. Ceci ne va pas sans poser de problème avec les dépôts ne respectant pas les conventions de nommage.
C'est tout. Il ne vous reste plus qu'à vous connecter sur lithium  et à modifier votre sources.list en prenant en compte le serveur mandataire :
deb    http://raven:9999/debian stable main contrib non-free
deb-src http://raven:9999/debian stable main contrib non-free
deb    http://raven:9999/debian testing main contrib non-free
deb-src http://raven:9999/debian testing main contrib non-free
I deb    http://raven:9999/debian unstable main contrib non-free
deb-src http://raven:9999/debian unstable main contrib non-free
Il suffit ensuite de mettre à jour tout cela avec un apt-get update.
apt-proxy est très intéressant pour un parc de machines Debian qu'il faut mettre à jour rapidement. Cependant, comme précisé en note, il est fort probable que vous rencontriez des problèmes avec les serveurs non officiels. Pour vous aider, utilisez les options de débogage du serveur apt-proxy et apt- show- versi ons avant toute manipulation définitive.

Il existe plusieurs manières d'installer un système Debian, que c▪ e soit la manière classique à partir d'un CD-Rom, l'installation via le réseau ou encore l'installation via debootstrap. C'est cette dernière méthode que nous allons développer ici. L'utilitaire debootstrap permet d'installer une version de Debian dans un dossier quelconque du disque dur. Les usages sont multiples : installation d'une application ou d'un service dans un environnement chrooté, installation sur disqlkdur d'une version de Debiant
p OBJECTIF DE LA MANIPULATION
SITUATION INITIALE
Nous disposons d'un ordinateur avec un système Debian installé. Le disque dur sur lequel est installé le système commence à montrer des signes de faiblesse. Il va donc falloir réinstaller le système sur un nouveau disque dur. Malheureusement pour nous, la machine ne dispose pas de lecteur de CD-Rom. De plus, le réseau local ne comprend aucune autre machine Debian, et il est donc impossible de prévoir un serveur d'installation via un boot réseau.
Voici les éléments importants à connaître de la machine à réinstaller
•    Processeur AMD Barton : architecture i386, type k7
•Mémoire vive :1 Go:
•    Disque dur principal : /dev/hda
•    Nom de la machine : Ptit-Barton.
Nous avons à notre disposition un disque dur en bon état offrant une capacité de 80 Go. Ce disque dur va être installé dans la machine en tant que Maître Secondaire. Il sera donc reconnu en tant que /dev/hdc sous Debian. Ce disque dur a déjà été utilisé et contient des partitions d'un ancien système. Nous supposerons que les données importantes présentes sont déjà sauvegardées.
DÉTAILS DE LA PROCÉDURE
Tout d'abord, nous allons préparer le nouveau disque dur à recevoir le nouveau système. Ensuite, nous installerons le nouveau système : installation du système de base, configuration du minimum requis pour pouvoir démarrer le nouveau système, installation d'un noyau et pour finir installation et configuration d'un bootioader (Grub en l'occurrence).
NORMES DE LECTURE
Dans la suite de l'article, les commandes précédées d'un dièse # seront à exécuter en tant que super utilisateur (root). Les commandes précédées d'un dollar $ seront à exécuter en tant qu'utilisateur normal.
REPARATION DU
NOUVEAU DISQUE DUR
STRUCTURE DU NOUVEAU DISQUE
Tout d'abord, nous allons préparer le nouveau disque dur à recevoir l'installation. Nous allons créer trois partitions sur le disque
•    La partition racine I. Nous utiliserons dans cet exemple le système de fichier ext2.
•    La swap.
•    Une partition étendue, que l'on va laisser vide. Elle servira suivant les besoins ultérieurs.
- l NOTE
Une installation classique d'un système Debian utilise plusieurs partitions pour le système. Généralement, on utilise des partitions spécifiques pour /tmp, /usr, /var, /boot et /home. Dans notre cas, nous créons simplement une partition racine afin de centrer l'article sur l'utilisation de Debootstrap et non sur la gestion des partitions d'un environnement GNU/Linux.
La machine sert de serveur web, FTP et subversion. Elle n'a pas de serveur X. Les données mises à disposition seront stockées sur la partition étendue (ce point ne sera pas abordé dans cet article). Une taille de 4 Go est donc suffisante pour la partition racine.
Auparavant, on conseillait d'avoir une swap d'une taille double à la taille de la mémoire vive. Ce calcul n'est plus d'actualité, mais nous allons tout de même créer une partition de swap de 2 Go afin de configurer dans le futur un système d'hibernation « suspend to disk ».
LES UTILITAIRES NÉCESSAIRES
Pour préparer le disque dur, nous utiliserons les outils suivants
.parted : il va nous permettre de consulter la table des partitions et de la modifier.
•    mkfs.ext2 :il va nous permettre de créer le système de fichier ext2 sur une partition.


Cordialement

L'équipe Parisdepannage.fr

Hors ligne

 

Pied de page des forums


Copyright Parisdepannage.fr

 

De;coration en-pied 2008 Parisdepannage |Plan du site|Forums |Blog|Lexique De;coration en-pied


Fermer la fenètre