evoformations/support/linux.tex

556 lines
34 KiB
TeX
Raw Normal View History

2012-05-21 16:07:10 +02:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Copyright (c) 2005-2011 eVoLiX. Tous droits reserves.%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Syst<EFBFBD>mes GNU/Linux}
\section{Pr<EFBFBD>sentation de Linux}
Linux est un noyau de syst<73>me d'exploitation de type UNIX cr<63><72> par Linus
Torvalds et de nombreux d<>veloppeurs. \\
Tout ordinateur inclue un ensemble basique de programmes appel<65> syst<73>me
d'exploitation. Le programme le plus important d'un syst<73>me d'exploitation est
appel<EFBFBD> le noyau : il est charg<72> dans la m<>moire physique (RAM) quand le syst<73>me
d<EFBFBD>marre et contient les instructions n<>cessaires <20> l'ordinateur pour
fonctionner. Les autres programmes permettent d'interagir avec l'ordinateur
mais ils sont moins importants car les possibilit<69>s d'interaction avec
l'ordinateur sont d<>termin<69>es par le noyau. \\
Le 5 octobre 1991, Linus Torvalds, un informaticien finlandais, annonce sur un
forum Usenet la disponibilit<69> du syst<73>me d'exploitation Linux, inspir<69> de
Minix.
\begin{verbatim}
From: Linus Benedict Torvalds (torvalds@klaava.Helsinki.FI)
Subject: Free minix-like kernel sources for 386-AT
Newsgroups: comp.os.minix
Date: 1991-10-05 08:53:28 PST
Do you pine for the nice days of minix-1.1, when men were men and wrote
their own device drivers? Are you without a nice project and just dying
to cut your teeth on a OS you can try to modify for your needs? Are you
finding it frustrating when everything works on minix? No more all-
nighters to get a nifty program working? Then this post might be just
for you
As I mentioned a month ago, I'm working on a free version of a
minix-lookalike for AT-386 computers. It has finally reached the stage
where it's even usable (though may not be depending on what you want),
and I am willing to put out the sources for wider distribution. It is
just version 0.02 (+1 (very small) patch already), but I've successfully
run bash/gcc/gnu-make/gnu-sed/compress etc under it.
Sources for this pet project of mine can be found at nic.funet.fi
(128.214.6.100) in the directory /pub/OS/Linux. The directory also
contains some README-file and a couple of binaries to work under linux
(bash, update and gcc, what more can you ask for . Full kernel
source is provided, as no minix code has been used. Library sources are
only partially free, so that cannot be distributed currently. The
system is able to compile "as-is" and has been known to work. Heh.
Sources to the binaries (bash and gcc) can be found at the same place in
/pub/gnu.
[...]
I can (well, almost) hear you asking yourselves "why?". Hurd will be
out in a year (or two, or next month, who knows), and I've already got
minix. This is a program for hackers by a hacker. I've enjouyed doing
it, and somebody might enjoy looking at it and even modifying it for
their own needs. It is still small enough to understand, use and
modify, and I'm looking forward to any comments you might have.
I'm also interested in hearing from anybody who has written any of the
utilities/library functions for minix. If your efforts are freely
distributable (under copyright or even public domain), I'd like to hear
from you, so I can add them to the system. I'm using Earl Chews estdio
right now (thanks for a nice and working system Earl), and similar works
will be very wellcome. Your (C)'s will of course be left intact. Drop me
a line if you are willing to let me use your code.
Linus
\end{verbatim}
Linux est multi-t<>ches, multi-utilisateurs et compatible Unix (il respecte les
normes POSIX). Con<6F>u au d<>part pour les machines de type Intel x86, Linux est
maintenant disponible pour les architectures PowerPC, Alpha, MIPS, Sparc, etc. \\
Les sources de Linux sont disponibles (sous licence GPL) et l'explosion
d'Internet a permis un mode de d<>veloppement innovant~: de nombreux
d<EFBFBD>veloppeurs (b<>n<EFBFBD>voles ou r<>mun<75>r<EFBFBD>s par des entreprises) participent au
d<EFBFBD>veloppement de Linux et forment avec tous les utilisateurs une communaut<75>.
Linux est d'ailleurs l'un des exemples les plus connus de logiciel libre.\\
L'un des objectifs du projet GNU est d'avoir un syst<73>me d'exploitation
compl<EFBFBD>tement libre. Or, de tr<74>s nombreux outils ont <20>t<EFBFBD> d<>velopp<70>s par le
projet GNU (GCC, Bash, etc.) mais Hurd, noyau d<>velopp<70> par le projet GNU,
tardant <20> sortir, Linux a <20>t<EFBFBD> adopt<70> par le projet GNU en 1993 pour <20>tre le
noyau du syst<73>me pr<70>n<EFBFBD> par le projet GNU. L'ensemble form<72> par les outils du
projet GNU et du noyau Linux est souvent appel<65> syst<73>me GNU/Linux.\\
Une distribution est un syst<73>me GNU/Linux avec un certain de nombre de choix et
d'outils mis <20> disposition pour g<>rer au mieux les logiciels et leurs
configurations. Il existe un grand nombre de distributions adapt<70>es <20> un usage
(ou un mat<61>riel) sp<73>cifique. Les distributions g<>n<EFBFBD>ralistes les plus connues
sont Red Hat, Debian, Mandriva, SuSe, Gentoo, Slackware, Fedora.
\section{M<EFBFBD>thode d'installation}
Il existe diverses m<>thodes d'installation~: \\
Dans les ann<6E>es 1990, on installait un syst<73>me GNU/Linux <20> l'aide de
(nombreuses) disquettes. Aujourd'hui la m<>thode d'installation la plus r<>pandue
2012-05-21 16:07:10 +02:00
est d'utiliser un jeu de CD-ROM ou DVD-ROM (ou plus r<>cemment via un p<>riph<70>rique
USB) t<>l<EFBFBD>charg<72> sur Internet par HTTP ou FTP. D'autres m<>thodes existent selon
les distributions et peuvent s'av<61>rer tr<74>s pratiques notamment des installations
amorc<EFBFBD>es par le r<>seau.~\\
En cas de probl<62>me <20> l'installation d'un syst<73>me GNU/Linux, voici quelques suggestions~: \\
~\\
\begin{itemize}
2012-05-21 16:07:10 +02:00
\item{Prendre garde <20> la fiabilit<69> des p<>riph<70>riques d'amor<6F>age (CD-ROM, DVD-ROM, p<>riph<70>rique USB) en v<>rifiant syst<73>matiquement l'empreinte MD5 ou SHA1}\\
\item{Prendre connaissance des param<61>tres sp<73>cifiques d'amor<6F>age du noyau Linux permettant d'<27>viter certains dysfonctionnements.}\\
\item{Pour les controleurs RAID ou cartes r<>seau exotiques (ou r<>centes), il faudra peut-<2D>tre charger un module sp<73>cifique lors de l'installation.} \\
\item{V<EFBFBD>rifier la compatibilit<69> du mat<61>riel. Il existe plusieurs sites dont le "HardWare Howto"\footnote{\url{http://www.tldp.org/HOWTO/Hardware-HOWTO/}} ou encore le "Debian GNU/Linux device driver check page"\footnote{\url{http://kmuto.jp/debian/hcl/}}}\\
\item{Utiliser les moyens de support communautaire tels que les listes de diffusion ou les canaux IRC. En cas de bogue (ou pas) avec l'installation de Debian, il faut rapporter le bogue pour le pseudo-paquet "installation-reports"\footnote{\url{http://www.debian.org/devel/debian-installer/report-template}}}\\
2012-05-21 16:07:10 +02:00
\item{Un support professionnel peut <20>galement <20>tre trouv<75> aupr<70>s de soci<63>t<EFBFBD>s de services en logiciels libres... comme Evolix ;-)}
\end{itemize}
~\\
\textit{Liens~:} \\
\url{http://www.tldp.org/HOWTO/BootPrompt-HOWTO.html}\\
\url{http://people.debian.org/~blade/install/preload/index.old.html}\\
\url{http://www.gnu.org/prep/service.html}\\
\section{Syst<EFBFBD>mes de fichiers}
Il existe une norme appel<65>e Filesystem Hierarchy Standard\footnote{\url{http://www.pathname.com/fhs/}} <20> laquelle se conforment certaines distributions. Rappelons la hi<68>rarchie du syst<73>me de fichiers (cela varie d'une distribution <20> une autre) d'un syst<73>me GNU/Linux~: \\
~\\
\begin{center}
\begin{tabular}{|c|c|}
\hline
Arborescence & Contenu \\
\hline
bin & Binaires (ex<65>cutables) des commandes essentielles \\
\hline
boot & Fichiers statiques pour le chargeur d'amor<6F>age (boot) \\
\hline
dev & Fichiers des pilotes de p<>riph<70>riques \\
\hline
etc & Configuration syst<73>me propre <20> la machine \\
\hline
home & R<>pertoires personnels des utilisateurs \\
\hline
lib & Biblioth<74>ques partag<61>es et modules noyaux essentiels \\
\hline
mnt,media & Points de montage pour les montages temporaires \\
\hline
proc,sys & R<>pertoire virtuel pour les informations syst<73>mes \\
\hline
root & R<>pertoire personnel de l'utilisateur root \\
\hline
sbin & Ex<45>cutables syst<73>me essentiels \\
\hline
tmp & Fichiers temporaires \\
\hline
usr & Hi<48>rarchie secondaire \\
\hline
var & Donn<6E>es variables \\
\hline
opt & Suites applicatives additionnelles \\
\hline
srv & Donn<6E>es pour les services \\
\hline
\end{tabular}
\end{center}
~\\
\section{Partitionnement}
\textbf{Conseils de partitionnement} \\
~\\
Pour une machine de type serveur, on appliquera un partitionnement\footnote{\url{http://www.tldp.org/HOWTO/Partition/}} plus r<>fl<66>chi qu'un poste de travail (o<> l'on se contente souvent d'isoler la partition contenant le r<>pertoire home, la partition swap et le syst<73>me). Il n'existe pas de v<>rit<69> absolue (cela varie selon l'utilit<69> de la machine et les habitudes des administrateurs) mais on passera en revue certaines recommandations. Voici quelques d<>tails sur la taille des partitions destin<69>es <20> accueillir certains r<>pertoires~: \\
\begin{itemize}
\item{/boot/ : partition d'environ 100 Mo}
\item{/ : partition sup<75>rieure <20> 100 Mo (conseil~: 500 Mo)}
\item{/tmp : quelques centaines de Mo ou davantage dans des cas particuliers}
\item{/var : partition sup<75>rieure <20> 250 Mo (conseil~: plusieurs Go si possible)}
\item{/usr : partition sup<75>rieure <20> 500 Mo (conseil~: quelques Go)}
\item{/home : <20> voir selon les quotas et le nombre d'utilisateurs}
\item{swap : partition sup<75>rieure <20> 16 Mo et inf<6E>rieure <20> 2 Go (syst<73>mes 32-bits). On conseille souvent de mettre la m<>me taille (ou le double) de la m<>moire physique (sauf pour des applications sp<73>cifiques comme Oracle par exemple ou dans les cas de taille tr<74>s importante de la m<>moire physique) et si possible proche du centre du disque.\\
D'autres espaces sp<73>cifiques notamment pour l'espace web, la base de donn<6E>es pourront <20>tre cr<63><72>s selon les utilisations.}
~\\
\end{itemize}
\textbf{Exemple de partitionnement pour un disque d'environ 40 Go~:} \\
~\\
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
Partition & Rep.montage & Taille \\
\hline
sda1 & /boot & 100 Mo \\
\hline
sda3 & / & 500 Mo \\
\hline
sda4 & /usr & 3 Go \\
\hline
sda6 & /var & 5 Go \\
\hline
sda7 & /tmp & 500 Mo \\
\hline
sda8 & /mnt/ftp & 1 Go \\
\hline
sda9 & swap & 500 Mo \\
\hline
sda10 & /home & 20 Go \\
\hline
\end{tabular}
\end{center}
~\\
\textbf{Programmes de partitionnement} \\
~\\
{\emph{fdisk}}\\
Programme de partitionnement en ligne de commande tr<74>s r<>pandu. Lire la page de manuel pour en savoir plus. \\
\textit{Lien :} \url{http://evolix.org/man/fdisk.html} \\
~\\
{\emph{cfdisk}}\\
Programme de partitionnement graphique en console. Il est utilis<69> par d<>faut lors de l'installation sous Debian Woody. Son utilisation est plut<75>t simple et intuitive. \\
\textit{Lien :} \url{http://evolix.org/man/cfdisk.html} \\
~\\
{\emph{sfdisk}}\\
Programme de partitionnement en ligne de commande. sfdisk a quatre utilisations principales~: liste la taille d'une partition, liste les partitions d'un p<>riph<70>rique, v<>rifier une partition sur un p<>riph<70>rique, et repartitionner un p<>riph<70>rique.\\
\textit{Lien :} \url{http://evolix.org/man/sfdisk.html} \\
~\\
{\emph{parted}}\\
Programme de partitionnement en ligne de commande. GNU Parted est notamment indispensable pour g<>rer des partitions sur des volumes d'une taille importante (sup<75>rieure <20> 2 To) en permettant la gestion des tables de partitions GPT\\
\textit{Lien :} \url{http://www.gnu.org/software/parted/} \\
\section{Gestion des disques}
~\\
%\emph{Disques de grande capacit<69>}\\
%\textit{Lien :} \url{http://www.freenix.org/unix/linux/HOWTO/Large-Disk-HOWTO.html}\\
%~\\
\emph{Syst<EFBFBD>mes multi-disques}\\
\textit{Lien :} \url{http://tldp.org/HOWTO/Multi-Disk-HOWTO.html}\\
~\\
{\it{\bf LVM}}\\
~\\
LVM (Logical Volume Manager) permet une gestion plus ais<69>e que l'utilisation classique disques et partitions. Cela permet une plus grande flexibilit<69> pour redimensionner les volumes en fonction des besoins et des nouveaux disques disponibles.\\
\textit{Lien :} \url{http://www.tldp.org/HOWTO/LVM-HOWTO/} \\
~\\
{\it{\bf RAID}}\\
~\\
Le RAID (Redundant Arrays of Inexpensive Disks) est une solution bien connue pour obtenir des disques redondants afin de s<>curiser les machines demandant une qualit<69> de service <20>lev<65>e. On parlera bien s<>r ici de RAID logiciel.\\
\textit{Lien :} \url{http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html} \\
~\\
{\small{Note : Nous recommandons d'utiliser le RAID logiciel et/ou LVM avec prudence pour les r<>pertoires sensibles tels que /boot et le r<>pertoire racine. Une solution de RAID mat<61>riel sera <20> privil<69>gier bien que plus co<63>teuse.}} \\
~\\
2012-05-21 16:07:10 +02:00
\textbf{Choix du syst<73>me de fichiers journalis<69> : ext3/ext4, ReiserFS, XFS ou JFS} \\
~\\
Il existe de nombreuses comparaisons entre ces syst<73>mes de fichiers mais il est difficile d'en tirer des conclusions g<>n<EFBFBD>rales car cela d<>pend beaucoup de l'utilisation de la machine. La fiabilit<69> de ces syst<73>mes est d<>sormais <20>prouv<75>e m<>me si la prudence naturelle des administrateurs poussera <20> conserver ext3\footnote{\url{http://www.zip.com.au/~akpm/linux/ext3/}}, d<>riv<69> du syst<73>me de fichier historique (Extended File System a <20>t<EFBFBD> impl<70>ment<6E> en 1992 et int<6E>gr<67> <20> Linux 0.96c). En terme de performances, il semble se d<>gager quelques constations comme la performance de ReiserFS\footnote{\url{http://www.namesys.com/}} pour les petits fichiers, un l<>ger gain de XFS\footnote{\url{http://oss.sgi.com/projects/xfs/}} pour la copie de fichiers de grande taille mais une lenteur <20> l'effacement et la bonne tenue d'ext3 pour des op<6F>rations classiques. JFS\footnote{\url{http://www-124.ibm.com/developerworks/oss/jfs/}} semblant l<>g<EFBFBD>rement moins performant pour le moment. \\
~\\
2012-05-22 03:42:54 +02:00
Sachant la perp<72>tuelle <20>volution des d<>veloppements, les conditions dans lesquelles se d<>roulent les tests et les autres param<61>tres (processeur, m<>moire...) on se gardera bien de tirer des conclusions d<>finitives. Disons simplement que l'utilisation de ext3 est encore assez raisonnable pour des serveurs classiques. En ce qui concerne ext4, il tend <20> remplacer ext3 et l'on peut commencer <20> l'utiliser en production car il offre parfois de meilleures performances.\\
~\\
\textit{\textit{Liens :}}\\
\url{http://www.linux-france.org/article/sys/ext3fs/Benchmarks/} \\
\url{http://fsbench.netnation.com/} \\
~\\
\section{Packages}
Au fil des ann<6E>es, les distributions Linux se sont vu dot<6F>es de syst<73>mes de packaging multiples, et sont devenus des moyens tr<74>s utilis<69>s permettant d'installer des logiciels plus rapidement et plus facilement qu'avec une compilation classique :
\begin{itemize}
\item le RPM initialement d<>velopp<70> par Redhat
\item les packages Slackware
\item les packages Debian (.deb)
\end{itemize}
Pour plus d'informations sur les RPMs, vous pouvez consulter \url{http://www.rpm.org/} et \url{http://www.lilit.be/formations/systeme_fichier/node5.html}.
\section{Configuration r<>seau}
Au niveau des cartes r<>seau, il est d<>sormais assez rare de rencontrer des probl<62>mes de pilotes. Une fois les cartes r<>seau correctement d<>tect<63>es, on proc<6F>dera <20> la configuration du r<>seau. Si un serveur DHCP est pr<70>sent sur le r<>seau, la configuration est automatique. On pr<70>f<EFBFBD>rera n<>anmoins une configuration statique pour des raisons de s<>curit<69>. Plus g<>n<EFBFBD>ralement la configuration r<>seau se d<>finit souvent dans un fichier sp<73>cifique selon les distributions. Voici un exemple d'un fichier \texttt{/etc/network/interfaces} pour Debian : \\
~\\
\texttt{auto eth0\\
iface eth0 inet dhcp\\
~\\
auto eth1\\
iface eth1 inet static\\
address 192.168.12.67\\
netmask 255.255.255.0\\
gateway 192.168.12.254}
~\\
En ce qui concerne la configuration DNS, c'est dans le fichier \texttt{/etc/resolv.conf} qu'on trouvera les adresses des serveurs de nom. On utilisera les outils \texttt{host} et \texttt{dig} pour s'assurer du bon fonctionnement. Voici un exemple de fichier~: \\
~\\
\texttt{search domain.tld \\
nameserver 192.168.12.71 \\
nameserver 62.4.17.69} \\
~\\
Les d<>tails de la configuration r<>seau et DNS ne sont pas abord<72>s ici, on se r<>f<EFBFBD>rera <20> de nombreuses documentations disponibles sur Internet ou dans les bonnes biblioth<74>ques. Passons tout de m<>me en revue quelques outils indipensables <20> tout administrateur r<>seau~: \\
~\\
\emph{ifconfig} permet de configurer les interfaces r<>seau\\
Exemple : \texttt{ifconfig eth0 192.168.13.47}\\
\texttt{ifconfig eth0:0 1.2.3.4 netmask 255.255.0.0}\\
~\\
\emph{route} gestion de la table de routage\\
Exemple : \texttt{route add -net 192.168.100.10/24 gw 192.168.100.1}\\
~\\
\emph{ip} gestion avanc<6E>e de la configuration r<>seau (routage, p<>riph<70>riques, etc.) \\
Exemple : \texttt{ip addr add 10.0.0.1/24 dev eth0 label eth01} \\
~\\
\emph{netstat} informations avanc<6E>es sur l'<27>tat r<>seau \\
2012-05-22 03:42:54 +02:00
Exemple : \texttt{netstat -taupen} \\
~\\
\emph{traceroute} pour tester la route vers un h<>te du r<>seau\\
Exemple : \texttt{traceroute -v google.fr} \\
~\\
2012-05-21 16:07:10 +02:00
\emph{mtr} un traceroute plus convivial
Exemple : \texttt{mtr google.fr} \\
~\\
\emph{tcpdump} l'outil ultime pour capturer les trames r<>seau\\
Exemple : \texttt{tcpdump -s2000 -XX -w mydump.pcap -i eth0 port 80 and tcp} \\
~\\
\section{R<EFBFBD>glages de base}
Revenons sur quelques r<>glages de base~: \\
~\\
\emph{Boot loader} \\
~\\
Selon les distributions, le boot loader sera LILO ou Grub. Grub est plus flexible que LILO mais chacun poss<73>de des fonctionnalit<69>s diff<66>rentes qui peuvent s'av<61>rer utiles dans certains cas particuliers. Notons que sur un serveur en production, le choix du Boot loader n'est pas essentiel.\\
~\\
\emph{R<EFBFBD>glage des locales} \\
~\\
Les locales sont l'environnement de localisation du syst<73>me. Cet environnement est utilis<69> par les programmes pour reconna<6E>tre la langue et le jeu de caract<63>res que votre syst<73>me utilise. On peut choisir ses locales gr<67>ce au paquet locales. Actuellement, un choix s'offre entre le codage en ISO ou en UTF-8 (Unicode sur 8 bits). \\
Bien que de plus en plus d'applications soient compatibles avec le codage unicode, les utilisateurs h<>sitent souvent <20> basculer en UTF-8. Pour un serveur, l'importance des locales est assez limit<69>e. Si l'on pourrait rester en ISO-8859-1 ou ISO-8859-15 (extension du codage europ<6F>en avec le support de l'euro), il n'est d<>sormais plus imprudent d'utiliser de l'UTF-8. \\
En ce qui concerne le choix de la langue, il peut <20>tre judicieux d'utiliser une locale de langue anglaise pour obtenir des messages d'erreur en anglais, ce qui facilite les recherches Internet par exemple. Ainsi, l'utilisation la plus raisonnable semble la locale en\_us.UTF-8 et l'ajout des locales fran<61>aises (fr\_FR et fr\_FR.UTF-8) est conseill<6C>e (pour PHP ou PostgreSQL par exemple). \\
~\\
\emph{R<EFBFBD>glage du clavier} \\
~\\
On pourra utiliser diff<66>rents claviers. On chargera la table de traduction en utilisant la commande loadkeys. Les tables disponibles sont contenues dans le r<>pertoire /usr/share/keymaps\\
~\\
Exemples pour passer en azerty ou en qwerty sur certaines distributions~: \\
\texttt{\# loadkeys fr-latin0}\\
\texttt{\# loadkeys us-latin1}\\
~\\
Le programme kbdconfig peut aussi proposer une interface pour choisir son type de clavier. \\
~\\
\emph{Syst<EFBFBD>me de messagerie}\\
~\\
Par d<>faut, un syst<73>me du type Unix a besoin d'un syst<73>me de messagerie, ne serait-ce que pour envoyer des alertes syst<73>me <20> l'administrateur local. Si l'on n'a pas besoin de serveur de messagerie, on laissera donc un syst<73>me de mail avec une configuration locale uniquement. \\
~\\
\emph{Mise <20> l'heure}\\
~\\
2012-05-22 03:42:54 +02:00
Il est souvent essentiel pour un serveur d'<27>tre <20> l'heure. Pour cela le protocole NTP (Network Time Protocol)\footnote{\url{ftp://ftp.rfc-editor.org/in-notes/rfc2030.txt}} permet de se synchroniser sur un serveur de temps. Si l'on poss<73>de plusieurs serveurs, il est int<6E>ressant d'avoir un serveur NTP\footnote{\url{http://www.ntp.org/}} sur lequel les autres machines locales vont se synchroniser. La synchronisation du serveur de temps ou du serveur isol<6F> se fera sur plusieurs serveurs de temps officiels (certains sont en libre acc<63>s comme \texttt{ntp.tuxfamily.net} ou \texttt{swisstime.ee.ethz.ch}, sinon il faut demander un acc<63>s en envoyant un courrier <20>lectronique).\\
~\\
2012-05-22 03:42:54 +02:00
Concr<EFBFBD>tement, on peut installer le paquet \textit{ntpdate} et lancer une synchronisation horaire avec la commande suivante: \\
\begin{verbatim}
2012-05-22 03:42:54 +02:00
ntpdate ntp2.evolix.net
\end{verbatim}
2012-05-22 03:42:54 +02:00
~\\
Sur un serveur, on utilisera plut<75>t le paquet \texttt{ntp} permettant une synchronisation permanente avec un ou plusieurs serveurs NTP.\\
~\\
\textit{Lien :} \url{http://www.cru.fr/NTP/serveurs\_francais.html} \\
\section{Pr<EFBFBD>sentation des principales distributions}
\subsection{Red Hat}
\url{http://www.redhat.com/}\\
\url{http://www.europe.redhat.com/documentation/rhl9/rhl-ig-x86-fr-9/}\\
\url{http://www.com.univ-mrs.fr/ssc/info/linux/install_linux.html}\\
~\\
Red Hat est la plus importante soci<63>t<EFBFBD> avec une activit<69> d<>di<64>e aux logiciels Open Source.
Fond<EFBFBD>e en 1993, cette soci<63>t<EFBFBD> bas<61>e aux <20>tats-Unis propose le d<>ploiement d'infrastructures r<>seau en se basant sur sa distribution : Red Hat Linux. Entr<74>e en bourse en 1999, Red Hat a chang<6E> de strat<61>gie en 2003 en se consacrant uniquement au monde professionnel : Red Hat propose d<>sormais une gamme de distributions payantes (Red Hat Entreprise) et se contente de sponsoriser un d<>riv<69> de Red Hat : le projet Fedora. La soci<63>t<EFBFBD> compte aujourd'hui plus de 700 salari<72>s r<>partis dans plus de 20 pays.\\
Les versions :
\begin{itemize}
\item Redhat version 9, plus support<72>e, plus mise <20> jour
\item Redhat Entreprise Advanced Server
\item Redhat Entreprise Server
\item Redhat Entreprise Linux WorkStation
\end{itemize}
Depuis quelques mois, Redhat ne fournit plus directement de versions gratuites. Cette t<>che incombe d<>sormais <20> un groupe de d<>veloppeurs annexes qui maintient la distribution Fedora. Fedora est une version gratuite de Redhat, qui permet <20>galement aux d<>veloppeurs Redhat de "tester" certaines <20>volutions <20> grande <20>chelle avant que celles-ci soient int<6E>gr<67>es.\\
L'installation de logiciels peut <20>tre r<>alis<69>e de plusieurs fa<66>ons~:
\begin{itemize}
\item via les sources, en les compilant
\item via un RPM
\item via \textit{yum}, un syst<73>me qui ressemble fortement <20> apt pour les utilisateurs de Debian
\end{itemize}
Les mises <20> jour sont assur<75>es sur Fedora par \textit{yum}, ainsi que part \textit{uptodate} comme c'est le cas sur Redhat (utilisation texte ou graphique).\\
La s<>curit<69> pour la distribution Redhat est g<>r<EFBFBD>e via la page \url{https://www.redhat.com/security/updates/}, o<> toutes les mises <20> jour sont disponibles. Des RPMs sont disponibles.
~\\
\subsection{Mandriva}
\url{http://www.mandrakelinux.com/}\\
\url{http://www.mandrivalinux.com/fr/fdoc.php3}\\
\url{http://www.mandrivalinux.com/fr/ftp.php3}\\
\url{http://fr.wikipedia.org/wiki/Mandriva_Linux}\\
~\\
Mandriva est le produit d'une entreprise fran<61>aise, MandrakeSoft, cr<63><72>e en 1998. Gr<47>ce <20> une croissance rapide et de nombreux soutiens, la soci<63>t<EFBFBD> MandrakeSoft compte plus de 120 salari<72>s et est cot<6F>e en bourse. Elle impose sa distribution comme l'une des plus r<>pandues dans le monde. Accessible dans plus de 50 langues, Mandriva est une distribution conviviale et accessible aux d<>butants. Initialement appel<65>e Mandrake, elle f<>t rebaptis<69>e Mandriva en 2005 (suite <20> des probl<62>mes judiciaires concernant le nom et au mariage de MandrakeSoft avec Conectiva, une distribution Linux venant d'Am<41>rique Latine).\\
Les versions actuelles~:
Il existe de tr<74>s nombreuses versions et
Quelques principes : \\
Les versions "Free" ne contiennent que des logiciels libres, et sont t<>l<EFBFBD>chargeables gratuitement.\\
Les versions "Entreprise" sont, bien qu'Open Source, payantes et b<>n<EFBFBD>ficient d'un support sp<73>cial par Mandriva. La plupart permettent une inter-op<6F>rabilit<69> entre les plates-formes Linux, Windows et Mac.\\
Quelques exemples :\\
\begin{itemize}
\item Mandriva Free : C'est tout un syst<73>me complet livr<76> avec tous les programmes qui peut <20>tre t<>l<EFBFBD>charg<72> gratuitement et librement distribuable, et grav<61> sur un DVD-ROM ou sur 3 CD-ROM.
\item Mandriva Powerpack : La version en bo<62>te (Powerpack) est payante et fournie avec des manuels imprim<69>s, pour aider les utilisateurs <20> d<>couvrir le syst<73>me. Elle inclut <20>galement le droit <20> des services, comme de l'assistance technique.
\item Mandriva One : version "Live CD" utilisable sans rien installer
\item Mandriva Flash : version portable autobootable vendue sur une cl<63> USB
\item Multi Network Firewall (MNF) : version sp<73>ciale pour les machines de type routeur/firewall
\end{itemize}
Pour les probl<62>mes de s<>curit<69>, Mandriva regroupe les informations sur \url{http://www.mandriva.com/security/}, et les utilisateurs b<>n<EFBFBD>ficient d'une grande r<>activit<69>. Ainsi, une liste de diffusion et un flux RSS sont disponibles pour se tenir inform<72>.
\subsection{Gentoo}
\url{http://www.gentoo.org/}\\
\url{http://www.gentoo.org/doc/fr/handbook/index.xml}\\
\url{http://www.gentoo.org/doc/fr/gentoo-x86-quickinstall.xml}\\
~\\
Gentoo est une distribution "orient<6E>e source". A l'image des syst<73>mes BSD dont elle d<>rive, l'utilisateur compile son syst<73>me et ses logiciels. Cependant, il existe <20>galement des paquetages binaires disponibles, afin d'<27>viter cette phase de compilation.\\
Gentoo a <20>t<EFBFBD> originairement con<6F>u pour fonctionner sur architecture x86 uniquement. Mais, elle a <20>t<EFBFBD> port<72>e sur de nombreuses autres architectures en raison de sa haute portabilit<69>. L'installation se fait <20> partir d'un CD Live et une documentation d'installation et d'utilisation tr<74>s compl<70>te est disponible. Notez qu'il existe un outil appel<65> Catalyst permettant de faire ses propres distributions bas<61>es sur Gentoo.\\
La distribution est tr<74>s orient<6E>e compilation avec un syst<73>me de "flags" interne, qui permettent d'utiliser certaines caract<63>ristiques majeures, comme X (le serveur graphique), une version pr<70>cise du compilateur, ou encore le support de tel ou tel protocole dans tous les logiciels install<6C>s. La compilation est omnipr<70>sente et des outils comme DistCC sont tr<74>s utilis<69>s afin d'en r<>duire les co<63>ts. Cette distribution est bas<61>e sur le langage Python, utilis<69> dans la plupart des scripts inh<6E>rents <20> la distribution (d<>marrage, installation du r<>seau etc.)\\
Vous pouvez prendre connaissance des failles de s<>curit<69> et des <20>ventuels probl<62>mes apparaissant sur la distribution depuis \url{http://www.gentoo.org/security/en/index.xml}. La distribution est <20>galement ax<61>e sur la s<>curit<69> avec un certain nombre de m<>canismes int<6E>gr<67>s par d<>faut, et des ouvrages relatifs <20> la s<>curit<69> qui ont <20>t<EFBFBD> r<>alis<69>s par l'<27>quipe (Gentoo Security Handbook). Les utilisateurs peuvent <20>galement prendre compte des changements oeuvr<76>s par mail (gentoo-announce@gentoo.org).
\subsection{Slackware}
\url{http://www.slackware.org/}\\
\url{http://www.trustonme.net/didactels/91.html}\\
~\\
Cette distribution historique et simple a <20>t<EFBFBD> cr<63><72>e, et est toujours maintenue par Patrick Volkerding (depuis 1993). Elle ne repose que sur peu d'outils de configuration automatis<69>s, les outils traditionnels <20>tant privil<69>gi<67>s. Les deux objectifs principaux sont la simplicit<69> d'utilisation et la rapidit<69>.
Le syst<73>me de packages est g<>r<EFBFBD> gr<67>ce aux \textit{slacktools}, rempla<6C>ants des \textit{pkgtools} de Slackware. Ils ont pu b<>n<EFBFBD>ficier constamment d'am<61>liorations, comme la gestion des d<>pendances etc. Le syst<73>me de packaging RPM peut <20>galement <20>tre utilis<69> facilement afin d'utiliser des packages plus g<>n<EFBFBD>ralistes.\\
Contrairement <20> des distributions comme Debian, la compilation du noyau se fait de mani<6E>re traditionnelle. Rappel~:
\begin{verbatim}
# make menuconfig
# make dep
# make bzImage
# make modules
# make modules_install
\end{verbatim}
Cependant, m<>me si la distribution est relativement <20> jour, les personnes qui y contribuent sont peu nombreuses, et certaines am<61>liorations peuvent mettre du temps <20> <20>tre incorpor<6F>es. Le projet Slackware a pour but de rester le plus Unix-like possible.\\
En cas de probl<62>me de s<>curit<69>, une liste de diffusion d<>di<64>e est accessible sur \url{http://www.slackware.org/security/}. Les mises <20> jour sont faites sous forme de packages <20> installer.
\subsection{Suse}
\url{http://www.novell.com/linux/suse/}\\
\url{http://www.novell.com/documentation/suse93/pdfdoc/user93-screen/user93-screen.pdf}\\
Suse est une soci<63>t<EFBFBD> allemande qui appartient d<>sormais au groupe Novell. La distribution du m<>me nom est bas<61>e sur Slackware et le syst<73>me de paquets RPM de Redhat. La configuration peut <20>tre facilement r<>alis<69>e par le Centre de Control YAST, qui est pass<73>, depuis plus d'un an sous licence GPL.
Vu l'orientation de Novell sur le monde des r<>seaux, le rachat de Suse a marqu<71> l'int<6E>gration de nombreux protocoles r<>seau etc.\\
Novell propose actuellement plusieurs versions~:
\begin{itemize}
\item SUSE LINUX Professional : version professionnelle principalement mise en avant par Novell
\item Novell Linux Desktop : version orient<6E>e poste de travail
\item SUSE LINUX Enterprise Server : version sp<73>ciale pour les entreprises (certifi<66>e par exemple pour les machines IBM Xseries ou le logiciel Oracle)
\end{itemize}
Novell propose <20>galement de nombreux produits ou services bas<61>s sur Linux. On notera des sortes de packages comprenant une distribution Linux et des services~:
\begin{itemize}
\item Novell Linux Small Business Suite : bas<61>e sur Novell Linux Desktop
\item Novell Open Enterprise Server : bas<61>e sur SUSE LINUX Enterprise Server
\end{itemize}
~\\
~\\
Pour les probl<62>mes de s<>curit<69>, Suse dispose d'un service en ligne \\
(<28> l'adresse \url {http://www.novell.com/linux/security/securitysupport.html}). ~\\
Une liste des failles ayant affect<63> Suse est disponible <20> la m<>me adresse de fa<66>on textuelle, ou en flux RSS <20> l'adresse (\url{http://www.novell.com/linux/security/suse\_security.xml}).
\subsection{Debian}
Le projet Debian a <20>t<EFBFBD> lanc<6E> en ao<61>t 1993 par Ian Murdock. Debian est alors une nouvelle distribution produite de fa<66>on ouverte, dans l'esprit de Linux et de GNU. Debian a la r<>putation d'<27>tre soigneusement et consciencieusement mise en place, maintenue et support<72>e. Cela a commenc<6E> par la constitution d'un petit groupe tr<74>s soud<75> de hackers (codeurs) de logiciels libres. Graduellement, le groupe s'est agrandi pour devenir une vaste communaut<75> de d<>veloppeurs et d'utilisateurs bien organis<69>e\footnote{\url{http://www.debian.org/intro/organization}}. Le projet Debian est bas<61> sur un contrat social\footnote{\url{http://www.debian.org/social\_contract.fr.html}}, des directives d<>finissant les logiciels libres, DFSG - Debian Free Software Guidelines\footnote{\url{http://www.debian.org/social\_contract\#guidelines}} et une constitution\footnote{\url{http://www.debian.org/devel/constitution}} d<>finissant l'organisation du projet.
Organis<EFBFBD>s de fa<66>on d<>mocratique, le leader, le comit<69> technique et le secr<63>taire ainsi que chaque contributeur Debian poss<73>dent un r<>le bien d<>fini (responsable de paquets, de projets, etc.). Ainsi Debian n'est pas soumis <20> des exigences commerciales et se permet d'avoir un avenir serein. Aujourd'hui, on compte pr<70>s d'un millier de d<>veloppeurs Debian r<>partis dans le monde entier\footnote{\url{http://www.debian.org/devel/developers.loc}}, des dizaines de milliers de paquets\footnote{\url{http://www.debian.org/distrib/packages}}, le support de plusieurs
architectures\footnote{\url{http://www.debian.org/ports/}} ainsi que des versions utilisant un noyau diff<66>rent de Linux (GNU/Hurd ou FreeBSD).
\textit{Lien~:} \url{http://www.debian.org/doc/manuals/project-history/} \\
Les versions~:\\
Debian propose trois ou quatre versions de distributions aux utilisateurs. \\
La distribution "stable" contient la derni<6E>re distribution officiellement sortie de Debian. Il s'agit de la derni<6E>re production de Debian qu'il est recommand<6E> d'utiliser.\\
La distribution "testing" contient des paquets en attente d'entr<74>e dans la distribution "stable". Elle contient donc des versions assez r<>centes des logiciels mais moins bien surveill<6C>s par les d<>veloppeurs Debian.\\
En pratique, la distribution "testing" passe par une p<>riode de gel (freeze) o<> son <20>volution est fig<69>e et seules les corrections de bogues ou mises-<2D>-jours mineures sont accept<70>es (on parle parfois de distribution "frozen"). Apr<70>s de minutieuses v<>rifications, la version "testing gel<65>e" peut remplacer la version stable. \\
\\
La troisi<73>me distribution est appel<65>e "unstable". C'est celle sur laquelle se concentre les activit<69>s de d<>veloppement. Elle est utilis<69>e par "les d<>veloppeurs et par ceux qui aiment vivre sur le fil" car c'est une sorte de laboratoire destin<69> <20> tester et corriger les bogues des paquets. Son nom Sid (nom de l'enfant qui casse les jouets dans \textit{Toys Story}) signifie officieusement : Still In Development.\\
2012-05-21 16:07:10 +02:00
% TODO : parler de CUT ?%
% Le projet CUT pour Constantly Usable Testing a pour objectif de permettre de rendre Debian testing continuellement installable et utilisable.%
Les nouveaux paquets des d<>veloppeurs arrivent en effet directement en unstable apr<70>s inspection et validation des ftpmasters (les personnes responsables des mises en ligne sur le serveur FTP principal). Chaque mise en ligne est r<>percut<75>e sur les miroirs en moins de 24h (on peut retouver les nouveaux paquets des d<>veloppeurs directement dans le r<>pertoire Incoming\footnote{\url{http://incoming.debian.org/}}. Les paquets de la version "unstable" remplissant certains crit<69>res (absence de bogues critiques, dur<75>e sup<75>rieure <20> 10 jours dans "unstable", support de toutes les architectures et d<>pendances toutes satisfaites) basculent dans la distribution "testing".\\
\\
Derni<EFBFBD>re distribution plus particuli<6C>re, il s'agit de la version "experimental" : il s'agit d'une archive mise <20> la disposition par des d<>veloppeurs pour avoir des retours d'utilisateurs exp<78>riment<6E>s sur des modifications importantes des logiciels (la version "experimental" n'est pas une distribution compl<70>te). Cette <20>tape est ind<6E>pendante du processus de validation des paquets Debian.
On se rend donc compte des pr<70>cautions qui entourent le statut des paquets Debian. En contrepartie, ce processus prend du temps et les versions de paquets de la distribution "stable" ont souvent du retard par rapport aux derni<6E>res versions des logiciels.
Voici le tableau des noms de distribution Debian (tir<69>s du Film Toy Story)~:
\begin{center}
\begin{tabular}{|c|c|c|c|}
\hline
- & 0.01->1.1 & ao<61>t 1993->juin 1996 & - \\
\hline
Buzz & 1.1 & juin 1996 & Le ranger de l'espace \\
\hline
Rex & 1.2 & d<>cembre 1996 & le tyrannosaure \\
\hline
Bo & 1.3 & juillet 1997 & La berg<72>re \\
\hline
Hamm & 2.0 & juillet 1998 & Le cochon-tirelire \\
\hline
Slink & 2.1 & mars 1999 & Le chien <20> ressort \\
\hline
Potato & 2.2 & ao<61>t 2000 & Monsieur Patate \\
\hline
Woody & 3.0 & mai 2002 & Le cow-boy \\
\hline
Sarge & 3.1 & juin 2005 & Le chef des soldats \\
\hline
Etch & 4.0 & avril 2007 & L'<27>cran magique \\
\hline
Lenny & 5.0 & mars 2009 & La paire de jumelles \\
\hline
2012-05-21 16:07:10 +02:00
Squeeze & 6.0 & f<>vrier 2011 & L'extraterrestre <20> trois yeux \\
2012-05-21 02:43:27 +02:00
\hline
2012-05-21 16:07:10 +02:00
Wheezy & 7.0 & ? & Le pingouin au noeud papillon \\
\hline
Sid & - & toujours unstable & L'enfant qui casse les jouets \\
\hline
\end{tabular}
\end{center}
% http://kernel-handbook.alioth.debian.org/