Gentoo : Bien commencer avec Gentoo

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Gentoo est une distribution Linux dite source. Elle a été conçue pour être modulaire, portable et optimisée pour le matériel de l'utilisateur. Ainsi, tous les programmes devront être compilés à partir du code source. Toutefois, de nombreux logiciels disponibles sous forme de paquets précompilés pour différentes architectures, peuvent également être utilisés. Ceci est géré grâce au système Portage de Gentoo.

Sa particularité est la compilation complète (ou en partie) d'un système GNU/Linux à partir des sources, à la manière de Linux From Scratch mais automatisée.

Ses outils de gestion de paquets s'inspirent des ports des BSD. Ce processus permet une optimisation et une personnalisation complète du système mais prend un certain temps pour compiler tous les logiciels nécessaires.

Ce type d'installation permet de tirer partie au mieux de l'architecture de la machine. En effet, le code source sera compilé en tenant compte des optimisations possibles du jeu d'instructions du processeur. La majeure partie des distributions sont compilées avec le jeu d'instructions i386 et non pas pour un processeur plus récent, ceci afin de conserver un fonctionnement sur le maximum de machines. Les processeurs plus récents fonctionnent alors de façon minimale sans utiliser les optimisations du fondeur.

De plus, ce type d'installation permet de gérer facilement les dépendances, et ceci même lors d'une mise à jour majeure de toute la distribution. En effet, lors de l'installation de chaque programme les bibliothèques de développement qui l'accompagnent sont automatiquement installées, et les autres programmes qui utilisent ces bibliothèques seront automatiquement recompilés avec la nouvelle version de ces bibliothèques lors de la mise à jour. Le résultat est un système performant, cohérent et stable.

Gentoo étant un peu spécial sur certains points, je vais noter ici les points essentiels qui m'ont permis de faire une installe propre.

2 Après une installation

2.1 Autoriser un utilisateur à se connecter avec root

Pour des raisons de sécurité, les utilisateurs peuvent passer en root avec su seulement s'ils appartiennent au groupe wheel. Pour ajouter un nom d'utilisateur (username) au groupe wheel, tapez la commande suivante en tant que root :

gpasswd -a username wheel

2.2 Mettre à jour la liste des packets

Utilisez cette commande :

 emerge --sync

2.3 Installer un logiciel

Pour installer un soft :

emerge screen

Ici j'installe screen.

2.4 Mettre à jour sa gentoo

2.4.1 Mise à jour logiciels

Voici une commande pour sa voir ce qu'il reste à mettre à jour :

emerge -Dvp world

Maintenant mettons gentoo à jour :

ermerge world

Cette commande ci permet de recompiler tout le système :

emerge -e world

2.4.2 Mise à jour configuration

Si vous avez un message du type :

* IMPORTANT: 33 config files in /etc need updating. 

Vous pouvez connaitre les fichiers de configurations qui veulent etre remplacés :

find /etc -iname '._cfg????_*'

Pour plus d'infos, consultez la commande :

emerge --help config

2.5 Chercher un package

Pour chercher un package ou une description :

emerge --searchdesc searchword

Note: Actuellement sur Gentoo, il est préférable d'installer "esearch" ou "eix" pour faire des recherches. Ensuite, ca s'utilise comme ceci :

eix searchword
esearch searchword

2.6 Installer un package précis

J'aimerais par exemple installer munin. Seulement voilà, je rencontre des soucis car je suis en version stable ("x86") et je veux installer la version qui est en unstable ("~x86") car elle n'existe pas en stable. Lorsque je fais :

emerge munin

J'ai ceci :

Calculating dependencies
!!! All ebuilds that could satisfy "munin" have been masked.
!!! One of the following masked packages is required to complete your request:
- net-analyzer/munin-1.3.2-r1 (masked by: ~x86 keyword)
- net-analyzer/munin-1.3.2-r2 (masked by: ~x86 keyword)
- net-analyzer/munin-1.3.2 (masked by: ~x86 keyword)
- net-analyzer/munin-1.3.2-r3 (masked by: ~x86 keyword)

Je veux installer la dernière version :

ACCEPT_KEYWORDS="~x86" emerge ='net-analyzer/munin-1.3.2-r3'

Dans le cas ou je veux qu'en permanence il m'installe la version unstable de munin, rien de plus simple :

echo "net-analyzer/munin-1.3.2-r3 ~x86" >> /etc/portage/package.keywords

A la prochaine mise à jour, tout sera en stable sauf munin :-)

Mais là encore on peut rencontre un autre problème. Comme si rrdtool n'était pas compilé avec perl par exemple :

!!! Sorry, munin needs net-analyzer/rrdtool built with USE=perl.
!!! If you need support, post the topmost build error, and the call stack if relevant.

A ce moment là, on peut vérifier les dire :

emerge -pv rrdtool
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] net-analyzer/rrdtool-1.2.15-r3  USE="-doc -perl -python -rrdcgi -tcl (-uclibc)" 0 kB

Le "-perl" indique qu'il n'est pas compilé avec cette option. Pour recompiler rrdtool avec, faites ceci :

 USE=perl emerge rrdtool

3 Faq

3.1 configuration error - unknown item 'GETPASS_ASTERISKS' (notify administrator)

GETPASS_ASTERISKS est une variable définie dans /etc/login.defs. Il faut juste commenter la variable :

#GETPASS_ASTERISKS 0