CentOS est la version communautaire de Red Hat Enterprise Linux (RHEL). Son principal avantage sur la RHEL est la gratuité.
Installation
Rien de plus facille, il suffit de suivre le guide de Howtoforge jusqu'à la page 3 avec quelques remarques :
- pas besoin de supprimer SeLinux qui n'est pas si pénalisant que ça
- penser à désactiver IPv6 si on ne s'en sert pas
- sélectionner uniquement Desktop GNOME dans les paquets à installer
Désactivation des services
De nombreux services sont activés par défaut.
Les seuls intéressants pour une station de travail sont :
- acpid : le démon de gestion des événements ACPI
- anacron : exécute les jobs de cron qui n'ont pas pu fonctionner pour cause d'arrêt de la machine
- auditd : le démon d'audit du système pour SeLinux
- crond : le démon cron, le gestionnaire de tâches
- cups : le système d'impression UNIX
- gpm : le gestionnaire de souris en mode console
- haldaemon : le démon HAL chargé de collecter et de maintenir les informations sur le matériel
- iptables : démarre le pare-feu iptables
- kudzu : script permettant de détecter au démarrage les changements de matériel
- mcstrans : le démon de changement de contexte pour SeLinux
- messagebus : le démon chargé de transmettre les événements du système et d'autres messages
- network : script responsable de la gestion des interfaces réseaux
- ntpd : un démon NTPv4, assurant la synchronisation du temps de la machine avec le temps de référence
- readahead_early : charge les programmes en mémoire durant le démarrage avant qu'ils ne soient utilisés pour augmenter la vitesse de démarrage
- readahead_later : idem
- restorecond : surveille la création des nouveaux fichiers et leur applique le contexte de sécurité correct (SeLinux)
- smartd : démon surveillant les disques durs grâce aux informations SMART
- syslog : le collecteur de logs
- xfs : le serveur de polices pour X
Modification de /etc/fstab
Pour augmenter un peu les performances en lecture et éviter des écritures inutiles sur le disque, on peut utiliser les options de montage :
- noatime : ne met pas à jour les temps d'accès aux inodes des fichiers
- nodiratime : ne met pas à jour les temps d'accès aux inodes des répertoires
Par exemple :
LABEL=/ / ext3 defaults,noatime,nodiratime 1 1 LABEL=/tmp /tmp ext3 defaults,noatime,nodiratime 1 2 LABEL=/var /var ext3 defaults,noatime,nodiratime 1 2 LABEL=/usr /usr ext3 defaults,noatime,nodiratime 1 2 LABEL=/home /home ext3 defaults,noatime,nodiratime 1 2 LABEL=/boot /boot ext3 defaults,noatime,nodiratime 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 LABEL=SWAP-hda10 swap swap defaults 0 0
Rajout de dépôts
Parmi les dépôts non officiels disponibles pour CentOS, deux sont assez indispensables : rpmforge, pour tout ce qui touche au multimédia en autres, et adobe, pour Flash.
Rajout de rpmforge et d'abobe
Pour les installer, il suffit de télécharger les rpm mis à disposition :
- rpmforge-release sur http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/
- adobe-release sur http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash (Option 3 : Yum)
et soit de double-cliquer dessus, soit de faire un rpm -i *.rpm
Mise en place des priorités
Avant d'installer un paquet, il faut d'abord mettre en place les priorités : ainsi si un paquet est à la fois disponible dans les dépôts CentOS et dans des dépôts tiers, on privilégiera les dépôts CentOS pour garantir une stabilité et un suivi optimal.
Il faut d'abord installer le module de gestion de priorités pour yum
yum install yum-priorities
On vérifie que yum gére bien les priorités en regardant si dans /etc/yum/pluginconf.d/priorities.conf est bien présent
[main] enabled=1
Ensuite, il faut éditer les différents fichiers .repo présents dans /etc/yum.repos.d, en mettant à :
- priority=1 pour [base], [addons], [updates], [extras] …
- priority=2 pour [centosplus], [contrib] …
- priority=N avec N> 10 pour les dépôts tiers comme rpmforge …
Ainsi, par exemple :
- pour CentOS-Base.repo
[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 #packages used/produced in the build but not released [addons] name=CentOS-$releasever - Addons mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons #baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=1 <file>[centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 priority=2
- pour CentOS-Media.repo
[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-beta
priority=1
- pour adobe-linux-i386.repo
[adobe-linux-i386] name=Adobe Systems Incorporated baseurl=http://linuxdownload.adobe.com/linux/i386/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux priority=11
- pour rpmforge.repo
[rpmforge] name = Red Hat Enterprise $releasever - RPMforge.net - dag #baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge enabled = 1 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1 priority=11
Rajout de logiciels
Depuis les dépôts
- ffmpeg
- flash-plugin
- gftp
- gstreamer-plugins-bad
- gstreamer-plugins-ugly
- k3b
- k3b-extras
- mplayer
- mplayer-fonts
- mplayerplug-in
- mplayer-skins
- unrar
- yum-fastestmirror
- yum-kernel-module
- yum-kmod
- yum-skip-broken
- yum-updateonboot
Autres
on récupére le fichier jre-6u6-linux-i586-rpm.bin, on l'exécute avec un
chmod a+x jre-6u6-linux-i586-rpm.bin && ./jre-6u6-linux-i586-rpm.bin
et on l'installe avec
rpm -i jre-6u6-linux-i586-rpm
- msttcorefonts :
il faut récupérer le rpm msttcorefonts-2.0-1.noarch.rpm et l'installer avec
rpm -i msttcorefonts-2.0-1.noarch.rpm
- w32codecs :
on crée le répertoire de destination
mkdir -p /usr/local/lib/codecs
on récupère l'archive all-20071007.tar.bz2 que l'on décompresse avec
tar xvfj all-20071007.tar.bz2
on déplace les fichiers résultants dans le répertoire créé précédemment
mv all-20071007/* /usr/local/lib/codecs
et enfin, on attribue les bons droits
chown -R root.root /usr/local/lib/codecs && chmod 755 -R /usr/local/lib/codecs