evoformations/support/debian.tex

209 lines
12 KiB
TeX
Raw Normal View History

2012-05-21 16:07:10 +02:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (c) 2005 eVoLiX. Tous droits reserves.%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Focus sur Debian GNU/Linux}
\subsection{M<EFBFBD>thodes d'installation}
Il existe donc diverses m<>thodes d'installation\footnote{\url{http://www.debian.org/distrib/}}~: \\
~\\
\begin{itemize}
\item{{\emph{<EFBFBD> partir de CD-ROM (ou DVD-ROM)\footnote{\url{http://www.debian.org/CD/}}}}}\\
Pour obtenir un jeu de CD-ROM (ou DVD-ROM) de Debian, on passera par l'un des revendeurs\footnote{\url{http://www.debian.org/CD/vendors/}} ou par le r<>seau en t<>l<EFBFBD>chargeant des images\footnote{\url{http://www.debian.org/distrib/cd}}.\\
Les moyens de t<>l<EFBFBD>chargement sont sur des images compl<70>tes par HTTP/FTP sur des mirroirs\footnote{\url{http://www.debian.org/CD/http-ftp/}}, une construction d'image gr<67>ce <20> l'outil Jigdo\footnote{\url{http://atterer.net/jigdo/}} qui t<>l<EFBFBD>charge s<>par<61>ment tous les fichiers du CD-ROM (ou DVD-ROM)\footnote{\url{http://www.debian.org/CD/jigdo-cd/}} ou encore gr<67>ce au Peer-to-peer comme le syst<73>me BitTorrent\footnote{\url{http://www.debian.org/CD/torrent-cd/}}.\\
\item{{\emph{<EFBFBD> partir des disquettes\footnote{\url{http://www.debian.org/distrib/floppyinst}}}}}\\
On peut amorcer une installation de Debian <20> partir d'un nombre tr<74>s r<>duit de disquettes
(pratique notamment en cas d'absence de lecteur CD-ROM utilisable).
Deux disquettes sont n<>cessaires pour d<>buter l'installation (disquettes Root et Rescue)
puis quatre autres pour charger le noyau et ses modules.\\
\item{{\emph{<EFBFBD> partir du r<>seau}}}\\
Suite <20> l'installation <20> partir de disquettes ou <20> partir d'un CD-ROM minimal, on poursuit souvent l'installation par le r<>seau pour installer le syst<73>me de base ainsi que les logiciels suppl<70>mentaires. En t<>l<EFBFBD>chargeant directement les paquets sur internet ou sur un mirroir local, il suffit donc d'une image minimale pour installer Debian GNU/Linux. N<>anmoins, il est pr<70>f<EFBFBD>rable de ne pas installer directement par internet car il faudrait ne pas connecter un serveur avant de l'avoir totalement s<>curis<69> (et parce que les versions des paquets install<6C>s par d<>faut peuvent comporter des failles de s<>curit<69>). On pr<70>f<EFBFBD>rera des mirroirs locaux, voir par exemple apt-proxy\footnote{\url{http://apt-proxy.sourceforge.net/}} ou apt-move\footnote{\url{http://ptitlouis.dyndns.org/~ptitlouis/doc/}}.\\
~\\
On peut <20>galement amorcer compl<70>tement l'installation de Debian par le r<>seau\footnote{\url{http://www.debianplanet.com/node.php?id=818}} si l'on poss<73>de un p<>riph<70>riph<70>rique r<>seau amor<6F>able.\\
~\\
\end{itemize}
{\textit{Remarques sur les possibilit<69>s d'installation}}\\
Les possibilit<69>s d'installation de Debian sont nombreuses. On notera que le programme debootstrap\footnote{\url{http://www.debian.org/releases/stable/i386/ch-rescue-boot.fr.html\#s-dbootstrap-intro}} permet d'installer Debian <20> partir d'un syst<73>me de fichiers, qu'une installation automatis<69>e est possible en passant l'argument \textsl{preseed}\footnote{\url{http://d-i.alioth.debian.org/manual/fr.i386/ch04s07.html}} <20> l'amorce de l'installation par CD-ROM (ou DVD-ROM) et que la personnalisation de l'installation est possible.
\\
%TODO
%http://thierrylhomme.developpez.com/cfengine.html
%http://www.informatik.uni-koeln.de/fai/fai-guide-fr/
2012-05-21 16:07:10 +02:00
%utiliser Kickstart pour Ubuntu
\subsection{Installation et r<>glages de base}
La version stable de Debian est toujours celle <20> privil<69>gier
pour de nouvelles installations. Dans certains cas, dans les mois
pr<EFBFBD>c<EFBFBD>dents la sortie de la future version stable, celle-ci peut
<EFBFBD>tre install<6C> si le serveur n'est pas trop critique. Dans ces
p<EFBFBD>riodes charni<6E>res, il faut bien prendre en compte qu'il existera
toujours des administrateurs qui affirmeront le contraire. Il faut donc
essayer de se faire un avis objectif <20> partir de plusieurs serveurs de
test avant toute d<>cision importante.\\
~\\
%http://lists.debian.org/debian-devel-announce/2004/08/msg00001.html
%http://ftp-master.debian.org/testing/hints/freeze
%http://bugs.debian.org/release-critical/
Voici les recommandations que nous faisons <20> nos clients~:\\
~\\
\textit{Pour un serveur en production}\\
~\\
Nous conseillons d'utiliser Debian stable, <20> moins de vraiment n<>cessiter beaucoup de fonctionnalit<69>s pr<70>sentes dans la prochaine version stable, et dans ce cas la version Debian testing peut <20>tre envisag<61>e. \\
~\\
\textit{Pour un serveur en semi-production}\\
~\\
Dans un environnement non critique et dans l'optique est de pr<70>parer une future mise en production, Debian testing peut <20>tre utilis<69>e si la version stable date de plus de 12 <20> 18 mois ; sinon l'utilisation de Debian stable reste <20> privil<69>gier. \\
~\\
\textit{Pour un poste de travail}\\
~\\
Nous conseillons l'utilisation de Debian testing (voire unstable) afin d'avoir des versions r<>centes (mais n<>anmoins test<73>es) des logiciels de bureautique. Cela permet de passer de fa<66>on souple vers la prochaine version stable lors de sa sortie et de l'utiliser pendant quelques mois avant de rebasculer vers Debian testing. \\
~\\
\textbf{Installation de Debian}\\
~\\
Revenons bri<72>vement sur l'installation de Debian g<>r<EFBFBD>e par le Debian-Installeur\footnote{\url{http://www.debian.org/devel/debian-installer/}}~: \\
\begin{itemize}
\item{D<EFBFBD>marrage, d<>tection des cartes r<>seau, des paquets udebs (.udeb est un format particulier de paquet pour l'installeur)}
\item{Chargement <20>ventuel de pilotes ou firmware}
\item{Outils de partitionnement, installation de base}
\item{D<EFBFBD>tection avanc<6E>e des p<>riph<70>riques gr<67>ce <20> discover\footnote{\url{http://d-i.alioth.debian.org/manual/fr.i386/index.html}} ce qui permet de charger automatiquement les modules ad<61>quats}
\item{Installation de GRUB, red<65>marrage}
\item{Configuration de base}
\end{itemize}
~\\
Apr<EFBFBD>s cette installation, on proc<6F>dera <20> une mise-<2D>-jour g<>n<EFBFBD>rale (sur un miroir local si possible), une installation d'outils pratiques, une compilation du noyau puis une s<>curisation. Voici quelques outils pratiques <20> installer~: ssh vim less mailx metche sudo munin log2mail apt-listchanges apticron evocheck\\
2012-05-22 03:42:54 +02:00
~\\
Voici un r<>capitulatif de nos pr<70>conisations d'installation : \url{http://trac.evolix.net/infogerance/wiki/HowtoDebian/Install} \\
~\\
\subsection{Syst<EFBFBD>me de packages Debian}
L'installation de nouveaux logiciels Open Source sous environnement Linux peut toujours se faire selon la m<>thode classique de recompilation des sources. N<>anmoins cette m<>thode est peu ais<69>e pour la gestion des d<>pendances, des mises-<2D>-jour, etc. Ainsi les distributions utilisent souvent des syst<73>mes de paquetage. Debian utilise des paquets <20> l'extension \texttt{.deb} qui fournissent non seulement les binaires pr<70>compil<69>s (le plus souvent) mais <20>galement des m<>thodes de gestion pour faciliter la manipulation de ces paquets. \\
L'utilitaire basique de manipulation des paquets Debian porte le nom de \texttt{dpkg}. Il est important de bien ma<6D>triser les diff<66>rentes options de \texttt{dpkg} :
\begin{verbatim}
dpkg --unpack :
\end{verbatim}
le paquet est d<>paquet<65> mais n'est pas configur<75>
\begin{verbatim}
dpkg --configure
\end{verbatim}
configuration d'un paquet
\begin{verbatim}
dpkg -i
\end{verbatim}
installation compl<70>te
\begin{verbatim}
dpkg -r
\end{verbatim}
supression du paquet
\begin{verbatim}
dpkg -r -P
\end{verbatim}
suppression compl<70>te (fichiers de configuration compris)
\begin{verbatim}
dpkg -L
\end{verbatim}
affiche la liste des fichiers appartenant au paquet
\begin{verbatim}
dpkg -S
\end{verbatim}
recherche un fichier dans les paquets install<6C>s
\begin{verbatim}
dpkg -l
\end{verbatim}
liste tous les paquets install<6C>s sur le syst<73>me.
\begin{verbatim}
dpkg --get-selections / --set-selections
\end{verbatim}
Donne/installe la/une liste des paquets install<6C>s
~\\
Debian poss<73>de un programme de gestion avanc<6E>e de paquets appel<65> APT (Advanced Packaging Tool).\\
Ce syst<73>me g<>re les paquets d'apr<70>s une liste (Packages.gz) et permet de g<>rer les d<>pendances, les mises-<2D>-jour particuli<6C>res ou globales ou encore les conflits. Le fichier qui r<>f<EFBFBD>rence toutes les sources de paquets disponibles est \texttt{/etc/apt/sources.list}. On peut g<>rer le contenu de ce fichier <20> l'aide de la fonction \texttt{apt-setup}. \\
~\\
2012-05-21 16:07:10 +02:00
Exemple de fichier \texttt{/etc/apt/sources.list} pour Debian Squeeze :\\
\begin{verbatim}
2012-05-21 16:07:10 +02:00
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://mirror.evolix.org/debian squeeze main contrib non-free
deb-src http://mirror.evolix.org/debian squeeze main contrib non-free
\end{verbatim}
~\\
\texttt{dselect} est l'outil de gestion des paquets historique (dpkg a une d<>pendance envers dselect~!). Son utilisation n'est pas forc<72>ment ais<69>e pour les novices. \\
~\\
Lien : \url{http://www.debian.org/releases/woody/i386/dselect-beginner}\\
~\\
2012-05-21 16:07:10 +02:00
La commande \texttt{aptitude} est une interface pour APT. Voici quelques commandes souvent utilis<69>es~: \\
~\\
2012-05-21 16:07:10 +02:00
\texttt{aptitude update}\\
Cette commande resynchronise les informations sur les fichiers disponibles <20> partir des endroits sp<73>cifi<66>s dans le \texttt{sources.list}. Cette commande r<>cup<75>re donc les fichiers Packages.gz et les analyse de mani<6E>re <20> rendre disponibles les informations concernant les nouveaux paquets.\\
~\\
2012-05-21 16:07:10 +02:00
\texttt{aptitude safe-upgrade}\\
Cette commande met <20> jour tous les paquets dont une version plus r<>cente est disponible sans supprimer de paquets, ni en ajouter. \\
~\\
2012-05-21 16:07:10 +02:00
\texttt{aptitude full-upgrade}\\
Cette commande met <20> jour les paquets (comme upgrade) en utilisant une gestion intelligente des changements de d<>pendances. Ainsi des paquets pourront <20>tre supprim<69>s et des nouveaux paquets pourront <20>tre install<6C>s.\\
~\\
2012-05-21 16:07:10 +02:00
\texttt{aptitude install <paquet>}\\
Cette commande installe le paquet <paquet> ainsi que toutes ses d<>pendances n<>cessaires.
\begin{verbatim}
apt-get remove --purge <paquet>
\end{verbatim}
Cette commande supprime le paquet <paquet> ainsi que tous ceux qui en d<>pendent.\\
~\\
2012-05-21 16:07:10 +02:00
\texttt{aptitude clean}\\
Cette commande supprime les paquets install<6C>s du r<>pertoire de cache d'APT (lib<69>re de l'espace disque). On peut <20>galement utiliser autoclean qui va supprimer uniquement les paquets les plus anciens et inutiles.\\
~\\
D'autres interfaces utilisent APT~:\\
~\\
\begin{itemize}
2012-05-21 16:07:10 +02:00
\item[{\textbf{apt-get}}]
C'est l'ancien outil qui est petit <20> petit remplac<61> par \texttt{aptitude} : toujours utilisable, il est notamment toujours tr<74>s partique pour les commandes \texttt{apt-get source} ou \texttt{apt-get -f install}.
~\\
\item[{\textbf{synaptic}}]
Outil graphique de gestion des paquets en GTK+ bas<61> sur APT. Il permet d'utiliser la plupart des fonctions (recherche, installation, mise-<2D>-jour, etc.)\\
\end{itemize}
~\\
Enfin de nombreux outils suppl<70>mentaires existent pour g<>rer les paquets~:
~\\
\begin{itemize}
\item[{\textbf{apt-cache}}] utilitaire permettant d'obtenir un certain nombre d'informations sur les paquets et le cache d'APT.\\
\item[{\textbf{apt-file}}] utilitaire permettant d'effectuer des recherches dans le syst<73>me de paquets d'APT. <20> la diff<66>rence d'apt-cache, on peut rechercher des informations pr<70>cises (noms des fichiers du paquet) sur l'ensemble des paquets m<>me si ils ne sont pas install<6C>s.\\
Exemple : \texttt{apt-file search stdio.h}\\
\item[{\textbf{apt-listbugs}}] outil qui liste automatiquement les bogues critiques avant d'installer les nouveaux packages, et, si des bogues critiques sont r<>f<EFBFBD>renc<6E>s, qui vous demande de confirmer ou non la mise <20> jour. Il permet de "blacklister" les paquets ayant des bogues critiques et donc de ne pas les installer.\\
\item[{\textbf{apt-show-versions}}] liste des paquetages install<6C>s.\\
\item[{\textbf{apticron}}] script pour signaler les mises-<2D>-jour disponibles.\\
\end{itemize}
~\\
Lien : \url{http://www.debian.org/doc/manuals/apt-howto/}\\
~\\
\newpage
\emph{Probl<EFBFBD>mes dans la gestion des paquets}\\
~\\
Bien conna<6E>tre le syst<73>me de gestion de paquets Debian est une condition n<>cessaire pour un administrateur. Ainsi, s'il arrive un probl<62>me lors de l'installation ou la mise-<2D>-jour (assez rare avec la version stable), on pourra d<>boguer les conflits. On gardera <20> l'esprit quelques commandes essentielles <20> utiliser avec pr<70>caution :\\
\begin{verbatim}
# apt-get -f install
\end{verbatim}
commande qui tente de corriger les <20>ventuels probl<62>mes lors d'une installation ou mise-<2D>-jour
\begin{verbatim}
# dpkg --ignore-depends --force-all
\end{verbatim}
commande qui permet de forcer l'installation d'un paquet
\begin{verbatim}
# dpkg --configure -a
\end{verbatim}
commande qui relance les <20>tapes de configuration de tous les paquets pr<70>sents sur le syst<73>me
% http://www.cyberdogtech.com/firewalls/