Sommaire
Le principal avantage de Gentoo est sa flexibilité, son gestionnaire de paquets Portage vous permettant de créer un système adapté à toute tâche. Cela ne devrait plus vous préoccuper que votre secrétaire, qui ne connaît rien aux ordinateurs, aille compiler Firefox (Dieu sait si cela ne se terminerait en une explosion atomique si oui...). Et pour les pros, il n'y a rien de mieux qu'une distribution après l'installation de laquelle vous n'aurez rien à faire de plus : 5-10 minutes d'installation, et vous voilà devant des logiciels configurés et optimisés à votre goût.
Dans cet article, j'explique comment on peut créer sa propre distribution à base de Gentoo et à l'aide des utilitaires Calculate 2.2. {{more}} A l'issue de cette opération, vous recevrez une image ISO hybride qui peut être gravée sur un CD, un DVD ou une clé USB, entièrement compatible avec Gentoo, supportant l'installation sur un disque dur externe, une clé USB, un disque dur, avec le support des LVM et Raid, et le système de fichiers de votre choix, soit ext4, ext3, ext2, reiserfs, btrfs, xfs, jfs, nilfs2 ou encore fat32.
Je m'adresse aux usagers de Gentoo, aux administrateurs système, aux enseignants d'informatique et, en général, à tous les fans de Linux. Toutes les opérations que je décris s'effectuent dans la console et avec les droits de l'utilisateur root.
Prérequis
Bien sûr que vous devez disposer de Gentoo Linux (ou une autre distribution apparentée à Gentoo) et de la connection Internet. Personnellement, j'ai opté pour Calculate Linux Desktop KDE (64 bits), mais vous n'êtes pas obligé de faire de même, toute distribution gentooesque fera l'affaire.
Commencez par installer les paquets calculate-assemble
et calculate-builder
si vous ne les avez pas déjà. Sur une Gentoo pur sang il faudra d'abord ajouter l'overlay Calculate :
emerge layman
layman -a calculate
emerge calculate-assemble calculate-builder
Maintenant, vous devez décider quel environnement vous préférez. Vous pouvez choisir entre
- Gentoo Stage3 - le minimum nécessaire pour commencer à construire votre système ;
- Calculate Scratch Server (CSS) - en fait, le même Gentoo Stage3 avec le noyau, les pilotes, le bootloader, Portage et les utilitaires Calculate ;
- Calculate Linux Scratch (CLS) - CSS + Xorg + wireless ;
- Calculate Linux Desktop avec l'environnement de bureau KDE (CLD), Gnome (CLDG) ou XFCE (CLDX) ou Calculate Directory Server (CDS).
Téléchargez (suivant vos objectifs) le dernier archive de Gentoo Stage ou un stage de Calculate et mettez-le dans le répertoire /var/calculate/remote/stages
ou /var/calculate/linux
, respectivement :
cd /var/calculate/remote/stages
wget http://mirror.yandex.ru/gentoo-distfiles/releases/x86/current-stage3/stage3-i686-20111018.tar.bz2
ou
cd /var/calculate/linux
wget http://mirror.cnet.kz/calculate/CLDX/stages/i686/cldx-20111024-i686.iso
L'image stage de Calculate inclut l'arbre Portage. En fait, c'est ce qui distingue un stage de Calculate d'un Gentoo Stage. En construisant le système à partir d'un Gentoo Stage, vous devrez mettre les portages dans le répertoire /var/calculate/remote/snapshots
cd /var/calculate/remote/snapshots
wget http://mirror.yandex.ru/gentoo-distfiles/snapshots/portage-20111024.tar.bz2
N'oubliez pas que les paquets contenus dans Portage sont régulièrement mis à jour.
Pour cet article, j'ai choisi CLDX (32 bits), et ce, pour plusieurs raisons :
- La distribution inclut déjà la plupart des utilitaires nécessaires ;
- Elle n'est pas rattaché à Gnome/KDE ;
- XFCE est très léger et peut être vite supprimé si vous vous en lassez.
Préparer votre environnement pour l'installation
cl-assemble
va préparer votre environnement à la construction. Vous pouvez choisir parmi les profils disponibles. Dans Calculate Linux, l'environnement choisi déterminera les paramètres. CLD est optimisé pour l'utilisation de Qt/KDE, CLDG pour Gtk/Gnome, XFCE pour Gtk. Ce dernier vous conviendra parfaitement si vous vous opposez à KDE comme à Gnome.
Si vous indiquez le profil "CLDX
", le système vous demandera de préciser le nom :
Vous devrez également indiquer la partition pour l'installation. Cela peut être une partition sur le disque dur (10-15 Go) ou un répertoire. Si vous préférez le répertoire, il vous faudra quelque temps pour en supprimer les anciens fichiers. Par défaut l'utilitaire se sert de l'image de Gentoo Stage3 et des derniers portages.
Nous avons choisi, je vous le rappelle :) un CLDX 32 bits qui peut être téléchargé d'ici. Précisez donc le profil, et si vous travaillez dans un système 64 bits, indiquez que vous voulez l'architecture i686 :
cl-assemble -p desktop/CLDX/x86/binary -d /dev/sda2 --source=CLDX --march=i686
Tous ces préparatifs ont pris 10 minutes sur mon ordinateur.
Mettre le système à jour
L'utilitaire cl-make
vous aidera à construire l'environnement. Mais arrêtons-nous sur certains points. Si vous voulez installer le système d'un Stage3, utilisez l'option -m
(ou, si on l'écrit en toutes lettres, --make
) ; pour une installation faite à partir d'une image de Calculate, utilisez -u
, (--update
). L'option -V
(ou --withvideo
) va copier des pilotes vidéo propriétaires. La copie sans installation permet de ne pas violer la licence GPL, mais vous pouvez toujours choisir le pilote propriétaire qui sera installé pendant le démarrage.
cl-make -u -V
Mettons notre système à jour.
Vous aurez remarqué que je ne mets pas de profil dans cet exemple. En effet, il ne doit être précisé que si vous installez plusieurs systèmes simultanément, par exemple, des versions 32-bits et 64-bits ; si c'est bien le cas, saisissez -p amd64
et -p x86
. Le programme comparera les versions et essaiera de choisir le bon profil.
Dans mon exemple, 40 paquets ont été mis à jour.
Notez que les utilitaires Calculate enregistrent leurs opérations dans /etc/calculate/assemble.env
:
Certaines valeurs, par exemple, le serveur de portages rsync ou les partitions disponibles, peuvent être définies dans des variables des utilitaires Calculate. Ceci est un exemple que j'emprunte à un vrai serveur :
Une fois les partitions indiquées, vous n'êtes pas obligé d'utiliser l'option de la partition pour construire le système.
J'ai eu le temps d'écrire ce texte pendant la mise à jour. Les premiers à être renouvelés étaient gtk et python ; décidément, j'aurais dû prendre l'image d'aujourd'hui ! Malgré le choix du profil binaire, les derniers paquets sont compilés du code source. Vous permettez que je me fasse un petit café ? :)
Apporter des modifications
Enfin, le plus intéressant ! Nous pouvons modifier plein de choses :
- le contenu des paquets ;
- les paramètres ;
- la configuration des programmes ;
- la configuration de l'environnement ;
- les thèmes, etc.
Comme vous pouvez le voir, le système est déployé dans le répertoire /mnt/calculate-desktop-CLDX-x86-binary/
. Utilisez ce répertoire pour toutes vos modifications. On voit sur mes captures d'écran que le système déployé est en train d'être réglé. Tous les gabarits sont stockés dans /usr/share/calculate/templates/assemble/
. L'essentiel, quand on modifie les réglages, est d'éviter les collisions. Parfois, vous pouvez créer vos propres gabarits pour les modifications ou utiliser des fichiers alternatifs. On va l'expliquer plus en détail par la suite.
Paramètres d'assemblage
Le contrôle des paramètres d'assemblage s'effectue à l'aide des options USE. En réduisant les dépendances vous gagnez en souplesse :
- les programmes sont exécutés plus rapidement ;
- la sécurité du système est renforcée ;
- vous voilà délivré des dépendances inutiles ;
- le système a besoin de moins d'espace disque.
Regardons le contenu de la variable USE. Pour ce faire, exécutez :
linux32 chroot /mnt/calculate-desktop-CLDX-x86-binary /bin/bash -c "emerge --info"
Vous pouvez voir que j'ai utilisé chroot
avec linux32
, car j'ai l'intention de créer un système 32 bits sur une plateforme 64 bits. Pas vous ? alors, vous n'aurez pas besoin de cet outil.
Il y aura beaucoup de paramètres. Pour l'information supplementaire voir /usr/portage/profiles/use.desc
pour les paramètres globaux et /usr/portage/profiles/use.local.desc
pour les paramètres locaux.
Pour que la modification des paramètres soit appliquée à tous les paquets, c'est le fichier make.conf
qui est utilisé directement. Or, la construction du nouveau système va modifier le contenu du fichier ; je vous conseille donc d'utiliser, plutôt, /etc/portage/make.conf
.
Par exemple, désactivons le support de ipv6 dans tous les paquets. Ajoutez au fichier /mnt/calculate-desktop-CLDX-x86-binary/etc/portage/make.conf
la ligne suivante :
USE="-ipv6"
Voyons le résultat. Cette fois-ci, servons-nous de l'option -U
au lieu de -u
. Cela nous permettra de gagner du temps pour la synchronisation des arbres Portages. Executez cl-make -U -V
:
Remarque. Comme le serveur Xorg a été recompilé, ses modules seront également recompilés à la fin. Si vous faites plusieurs compilations de suite, l'utilitaire va analyser le fichier emerge.log
et recompiler les pilotes de Xorg. Pour y échapper, vous pouvez supprimer le fichier var/log/emerge.log
dans le système compilé. De toute façon, ce fichier sera supprimé une fois l'image ISO est créée.
Paramètres USE et masquage de paquets
Pour modifier les paramètres et les masques, on utilisera les répertoires suivants: etc/portage/package.use
, etc/portage/package.keywords
, etc/portage/package.mask
, etc/portage/package.unmask
. Sachez que emerge-2.2
est capable de démasquer, à lui seul, les dépendances.
Je vais vous montrer comment démasquer les paquets sur l'exemple d'un navigateur Web, Firefox. Pour commencer, on va chrooter :
linux32 chroot /mnt/calculate-desktop-CLDX-x86-binary
env-update && source /etc/profile
Pour connaître le nom correct du paquet firefox
et avoir la liste des versions disponibles :
eix firefox
* www-client/firefox
Available versions: *3.6.12 3.6.20 ~3.6.21 ~3.6.22 ~7.0.1-r1
La dernière version stable du paquet est donc 3.6.20. Tiens, ça date un peu... Démasquons la version 7.0.1-r1 :
Pour la mise à jour des réglages utilisons dispatch-conf
au lieu de env-update
:
L'utilitaire va nous aider avec la mise à jour des masques et des paramètres USE. Dans les deux cas appuyez sur "u" pour accepter les modifications suggérées.
Ici vous pouvez vérifier et copier d'autres paquets requis pour la compilation. Terminez par vérifier les dépendances:
emerge -p paquet1 paquet2 ..
Ajouter des paquets
Tous les paquets qu'on installe, à part les dépendances, sont inscrits dans le fichier 'world'. Dès que vous ayez installé un paquet, il est porté sur le système avec les bibliothèques dépendantes. Si le système n'a plus besoin de certaines bibliothèques, la commande emerge --depclean
les supprimera. Pour cette raison, tous les paquets (sans dépendances) que vous avez installés en supplément doivent figurer sur le fichier 'world'. On peut les supprimer également par le biais de la commande emerge --unmerge
en indiquant le(s) paquet(s), sinon à la main, en éditant le fichier et en exécutant emerge --depclean
.
Pour la compilation de l'arbre des dépendances l'utilitaire Calculate utilise des méta-paquets, à base de app-misc/calculate-meta
. Les paramàtres USE compilent l'arbre des dépendances en entier. Comme vous auriez utilisé des logiciels ciblés pour la vérification du système, le fichier var/lib/portage/world
ne contiendra qu'un seul méta-paquet avant la création du système.
Pour que vous puissiez gérer les paquets que vous ajoutez à la distribution avec plus de facilité, Portage fournit un excellent outil, qui est les sets. Les sets vous permettent de faire vos sélections thématiques. Les sets supportent également des imbrications ce qui est aussi très commode. Vous pouvez éditer votre liste des paquets à l'aide du set @custom qui est défini dans le fichier /etc/portage/sets/custom
, en y ajoutant:
www-client/firefox
Ou vous pouvez créer un nouveau set, par exemple 'web', en y ajoutant le paquet, et porter le lien correspondant sur le fichier 'custom' :
@web
Le set peut donc contenir les sets imbriqués tout comme les paquets.
Pendant la mise à jour du système les programmes des sets seront installés, puisque tout set est listé dans son fichier world, stocké dans /var/lib/portage/world_sets
.
Supprimer des paquets
Si nous supprimons le fichier world
et exécutons emerge --depclean
, nous aurons l'image Stage3. En d'autres termes, la configuration minimale sera préservée comme 'system'. Pour sa mise à jour on utilise soit la commande emerge system
, soit le set @system
. Le méta-paquet calculate-meta
compile les dépendances en fonction du profil choisi. Avec les paramètres USE calculate_nowireless
, calculate_nonetwork
, calculate_noxfce
, etc., on peut supprimer certaines dépendances. Dans le fichier /var/lib/layman/calculate/profiles/desc/calculate.desc
vous pouvez voir la liste complète des paramètres. Supposons que nous souhaitons supprimer le support des périphériques sans fil. Pour cela, éditez /etc/portage/make.conf
, en y ajoutant :
CALCULATE="nowireless"
Le paquet firefox
sera installé, et les dépendances superflues, supprimées :
Créer la nouvelle image système
Pour créer l'image ISO du nouveau système, utilisez cl-image
:
cl-image --live iso
L'option --live
permettra de gagner quelques secondes sur le démarrage du système à partir d'un LiveCD ou d'un USB-Flash. Ajoutez cette option si vous utilisez la dernière image Stage de Calculate Linux.
Finaliser l'installation
Si besoin est, ou si votre installation est terminée, vous pouvez abandonner l'assemblage à tout moment, en exécutant :
cl-make --break
Bilan
J'ai expérimenté avec Calculate Linux Desktop XFCE et son profil binaire CLDX. Désormais, je vais mettre à jour le système à l'aide de la commande emerge -uDNa world
, pour que mes paramètres USE personnalisés soient pris en considération. Si les paramètres sont identiques aux valeurs par défaut, les paquets seront installés du dépôt. Sinon, le paquet sera (re)compilé sur mon ordinateur.
J'ai obtenu l'image avec les logiciels que je voulais. Bien entendu, toutes les possibilités ne sont pas décrites ici. On pourrait, disons, préparer des gabarits pour l'environnement de bureau, et plus.
Initialement publié sur : http://habrahabr.ru/blogs/linux/131234/
# à l'usage des débutants avec gentoo
Posté par bubar🦥 (Mastodon) . Évalué à 1.
Je ne connaissais pas "calculate", c'est toujours sympa comme découverte.
Pour ce tuto, il semble destiné aux débutants avec Gentoo. Alors serait il possible que tu le postes sur un wiki ou sur un etherpad ? Parceque là il me semble manquer beaucoup de points essentiel aux débutants.
La doc de Gentoo se suffit à elle même, et est remarquable dans tout les sens du terme. Si on souhaite faire un tuto supplémentaire "à l'usage des débutants", on peut alors en prendre quelques parties essentielles, permettant de : 1.mettre en valeur les points à comprendre immédiatement, pour éviter de se retrouver avec une distribution pas_top à l'arrivée. Et 2. Donner les bonnes astuces pour leur éviter que leur laptop ne reboot tout seul pour cause de surchauffe (qui servira aussi lors des mises à jour). J'ajouterai que plutôt que de partir d'une distribution "gentooesque", faire le tuto de départ en ciblant une distribution ordinaire, de type Ubuntu ou Fedora. Ainsi on aborde aussi les principes du chroot. Pour terminer j'ajouterai les principes de bases de gentoo concernant les branches et les ports.
Bref, moins un sur le tuto en l'état. J'aurai préféré une présentation de "calculate linux".
[^] # Re: à l'usage des débutants avec gentoo
Posté par claudex . Évalué à 5.
Par exemple: http://linuxfr.org/wiki
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: à l'usage des débutants avec gentoo
Posté par flor_de_azucena . Évalué à 4.
Pourquoi pas, je veux bien :)
[^] # Re: à l'usage des débutants avec gentoo
Posté par flor_de_azucena . Évalué à 6.
...d'ailleurs c'est déjà fait.
[^] # Re: à l'usage des débutants avec gentoo
Posté par flor_de_azucena . Évalué à 4.
Merci pour la critique et les conseils, tankey.
C'est que je suis novice au site, je ne sais pas trop ce qui serait d'intérêt pour les habitués. Si Calculate l'est, bien sûr que je pourrais en parler.
[^] # Re: à l'usage des débutants avec gentoo
Posté par NeoX . Évalué à 2.
c'est tres bien comme article, ca pourrait meme faire l'objet d'une depeche
[^] # Re: à l'usage des débutants avec gentoo
Posté par flor_de_azucena . Évalué à 4.
Merci, j'ai réfléchirai :)
C'est vrai que pour le moment, il n'y a que l'article sur Wikipédia qui parle de Calculate Linux en français.
[^] # Re: à l'usage des débutants avec gentoo
Posté par bubar🦥 (Mastodon) . Évalué à 4.
J'ai mal compris le sujet, avec l'introduction : j'ai cru qu'il s'agissait d'installer une Gentoo. Or ce n'est pas le cas. Du coup je trouve ton journal excellent. J'ai posé quelques propositions, questions, sur le wiki. Mais du coup le sujet n'est pas de faire un tuto pour "Gentoo pour les nuls, en 30 minutes et une nuit d'attente"
[^] # En chantier
Posté par flor_de_azucena . Évalué à 2.
Voilà, je suis en train de rédiger les paragraphes à ajouter au wiki.
P.S. ah la belle Nimage ;)
[^] # Re: à l'usage des débutants avec gentoo
Posté par bubar🦥 (Mastodon) . Évalué à 3.
Pour me faire pardonner de mon commentaire débile (inutile) initial, voilà une jolie Nimage
[^] # Re: à l'usage des débutants avec gentoo
Posté par gaaaaaAab . Évalué à 2.
alors ça, c'est un précédent dangereux. Si on se met tous à poster des Nimages pour nos commentaires débiles, on tourne 4chan en 2 mins ! :D
Je m'empresse donc de ne pas mettre de jolie Nimage pour ce commentaire.
[^] # Re: à l'usage des débutants avec gentoo
Posté par flor_de_azucena . Évalué à 0.
ça ne serait pas une réaction en chaîne, des fois ? xD
...ok,
je ferme la bouchej'abandonne le clavier pour ne pas catalyser la transformation...# Bravo
Posté par Mais qui suis-je ? :) . Évalué à 10.
Et bien pour un premier journal, bravo
moi je dis si toutes les nouvelles têtes sur DLFP elles étaient comme ça
Toujours est il que Patrick_g à du soucis à se faire
[^] # Re: Bravo
Posté par flor_de_azucena . Évalué à 3.
T'es gentil :)
# UPD
Posté par flor_de_azucena . Évalué à 4.
un petit update du wiki
# Remarque à la con
Posté par Marotte ⛧ . Évalué à 3.
Dans la première capture d'écran on voit une calculatrice. Est-ce que des gens sous GNU/linux utilisent vraiment cette application ?
Personnellement je lance bc -lq dans un terminal, ça permet d'avoir un historique de ses calculs.
Mise à part ça l'article à l'air très bon même si je n'ai pas tout lu, car pas gentooiste moi-même.
[^] # Re: Remarque à la con
Posté par dj_ (site web personnel) . Évalué à 3.
Oui moi j'utilise gcalctool (la calculatrice par défaut de gnome), dans son apparence "simple" et pour l'usage basique que j'en fais ça me suffit
[^] # Re: Remarque à la con
Posté par flor_de_azucena . Évalué à 2.
Oui, je me sers de
galculator
(sous XFCE), assez souvent même : il m'arrive de compter mes horaires.[^] # Re: Remarque à la con
Posté par Paul . Évalué à 2.
galculator c'est la meilleure du genre en affichage "paper mode"
# Deux ou trois questions :)
Posté par Fopossum . Évalué à 3.
Tout d'abord, merci à toi de nous faire découvrir une autre distribution basée sur Gentoo.
Cependant, une ou deux question me taraudent.
L'arbre portage principal est-il synchronisé régulièrement côté Gentoo ou Funtoo ? Car je vois dans ton "tuto" que tu utilises des fonctionnalités de portage 2.2 qui est hard-masked normalement.
Quelles sont les spécificités par rapport à une Gentoo standard ?
En tout cas, content de voir que Gentoo sert de base à autre chose que Sabayon et le system rescue CD :)
cd /pub && more beer
[^] # Re: Deux ou trois questions :)
Posté par Fopossum . Évalué à 3.
Oki, moinssez-moi, je n'avais pas lu le wiki qui répond à au moins une des questions. Celles des spécificités.
Reste le "taux" de divergence par rapport à une gentoo et comment gérer les divergences...
Pour utiliser pas mal d'overlays, je sais d'expérience qu'il peut être assez "tricky" de faire une mise à jour lorsque les overlays ne sont pas mis à jour à jour assez vite par leurs mainteneurs par rapport à l'arbre principal portage.
Un retour d'expérience sur le long-terme de Calculate pourrait être utile.
cd /pub && more beer
[^] # Re: Deux ou trois questions :)
Posté par flor_de_azucena . Évalué à 2.
Moi aussi, il faut me moinsser, j'avais pas lu ton deuxième commentaire avant de répondre :D
Je ne saurais pas dire si c'est beaucoup, deux overlays... Il faudrait peut-être que je pose la question directement la question au chef du projet, pour savoir comment il gère. A priori, la migration sur Git a résolu, autant que je sache, le problème de divergences (voir ici).
[^] # Re: Deux ou trois questions :)
Posté par flor_de_azucena . Évalué à 2.
Oui, c'est le même. Contrairement à Funtoo, Calculate ne modifie pas l'arbre portage (sauf pour les paquets qui ont été patchés ou localisés par l'équipe Calculate et qui, de ce fait, sont disponibles maintenant dans leur overlay).
En outre, les dépôts ont migré (depuis peu) sur Git, ce qui accélère beaucoup la synchronisation, mais ça, c'est la réponse à une question que tu ne m'avais pas posée :)
Pour ce qui est des spécificités, je les ai précisées dans le wiki pour faire plus clair, mais il n'y aura pas de mal si je récapitule :
Voilà, j'espère que j'ai répondu à tes questions :)
[^] # Re: Deux ou trois questions :)
Posté par Fopossum . Évalué à 3.
Merci pour tout ça :)
Et merci pour la réponse à la question non posée :p
cd /pub && more beer
# La poule et l’œuf
Posté par Paul Chavent (site web personnel) . Évalué à 1.
Dans "Créer son système Linux personnalisé basé sur Gentoo", je ne sais pas si je dois comprendre que c'est la création qui est basée sur Gentoo ou le système créé ?
J'avais l'impression que cela allait permettre de créer un système basé sur Gentoo, le graal pour qui veux un système optimisée...
Mais dans les pré-requis, je vois qu'il faut une Gentoo. Bon ce n'est pas très grave, en effet, il existe des lives cd...
Bref, du premier coup d’œil, je n'ai pas compris de quelle système on part et quel système on obtient...
[^] # Re: La poule et l’œuf
Posté par flor_de_azucena . Évalué à 2.
En fait tu as bien compris, les deux sont basés sur Gentoo :) Mais on part d'un système déjà fait pour en arriver à un système configuré, optimisé et tout, qu'on pourra facilement installer par la suite sur n'importe quel ordinateur.
C'est un bon équilibre entre rapidité de création/installation et souplesse, je trouve.
[^] # Re: La poule et l’œuf
Posté par Michaël (site web personnel) . Évalué à 2.
C'est un peu comme pour écrire un compilateur: dans les temps reculés les premiers assembleurs ont été écrits à la main et directement en langage machine, ils ont servi à écrire les premiers compilateurs qui ont ensuite permis d'écrire des compilateurs de plus en plus puissants… et aujourd'hui pour compiler un compilateur, il faut un compilateur.
[^] # Re: La poule et l’œuf
Posté par BAud (site web personnel) . Évalué à 3.
le fameux Bootstrap_(compilateur) ;-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.