| edix_developpeur_gentoo_majeur(7f) | edix_developpeur_gentoo_majeur(7f) |
NOM
edix_developpeur_gentoo_majeur - Modification majeure (par un développeur) des logiciels administrés via gentoo
INTRODUCTION
La page de manuel edix_developpeur_gentoo(7f) décrit les deux types de mise à jour gentoo qui existent. Nous nous intéressons ici à la seconde, dite "majeure" car elle implique un changement de la base de donnée des paquets gentoo et une recompilation de l'ensemble du système.
On admet que le développeur a le nom d'utilisateur lamenaire sur une machine linux où il a chrooté l'image de référence et s'est connecté en tant que lafrier sur cette image (voir edix_developpeurs(7f)).
ALLERTE
La procédure décrite ci-dessous ne fonctionnera jamais sans ajustement. Il est ici question de ce que la gestion d'un système d'exploitation a de plus délicat, notamment en termes d'interdépendance de chacune des briques logicielles du système. Vous recontrerez des problèmes de conflit qu'il faudra régler de façon ad-hoc à l'aide des ressources proposées par la communauté gentoo.
AVANT TOUTE CHOSE METTRE A JOUR L'IMAGE
On passe sur le chroot en tant que lafrier et on commence par faire une mise à jour usuelle, comme le ferait l'administrateur d'une machine clone.
Voir edix_mise_a_jour(7f).
CHOISIR LA CONFIGURATION MINIMALE
Aller dans /home/lafrier/edix/configuration.txt et mettre des "no" devant toutes les options de configuration :
lafrier:~ $ vim /home/lafrier/edix/configuration.txt vim:
nolatex
nomath
nobureautique
noblob_office
nolaplace
noportable
nosyrthes
novirtuel
Puis relancer une mise à jour gentoo mineure :
lafrier:~ $ doas mise_a_jour_systeme_gentoo.sh
Enfin, stabiliser python avec
lafrier:~ $ doas emerge -1vUD @world
Le fait de réduire la configuration au minimum permettra que les premiers essais de compilation, suite à la mise à jour de la base de donnée des paquets gentoo, ne portent que sur un nombre minimum de paquets.
RQ: Dans les étapes de compilation suivantes, si vous observez que cela ne suffit pas, c'est à dire que certains conflits dans les paquets empêchent la compilation et que vous ne parvenez pas à les résoudre, alors vous pourrez ouvrir le fichier /var/lib/portage/world et commenter les paquets qui vous semblent les moins prioritaires jusqu'à obtenir une compilation sans conflit.
TELECHARGEMENT DE LA BASE DE DONNEE gentoo LA PLUS RECENTE
lafrier:~ $ doas emerge --sync
Y-A-T'IL QUELQUE CHOSE A FAIRE POUR PYTHON ?
Si c'était le cas, il s'agirait de
lafrier:~ $ doas emerge -1vUD @world
RQ : La dernière tentative n'a pas fonctionnée
MISE A JOUR DE PORTAGE
lafrier:~ $ doas emerge -av --oneshot sys-apps/portage
MISE A JOUR DE TOUS LES PAQUETS ET CREATION DES BINAIRES
lafrier:~ $ doas mise_a_jour_systeme_gentoo.sh
Puis dans le fichier /home/lafrier/edix/configuration.txt, on rajoute graduellement toutes les possibilités de configuration, par exemple on remplace nolatex par latex et on relance mise_a_jour_systeme_gentoo.sh. Si tout se passe bien, on remplace nomath par math et on recommence, etc.
Si tout se passe bien, à la fin toutes les options de configuration sont sélectionnées :
lafrier:~ $ vim /home/lafrier/edix/configuration.txt vim:
latex
math
bureautique
blob_office
laplace
portable
syrthes
virtuel
et on fait la mise à jour gentoo finale :
lafrier:~ $ doas mise_a_jour_systeme_gentoo.sh
Cela permet de vérifier que toutes les options sont opérationnelles (s'assurer qu'il n'y a pas de conflit et que la compilation se passe bien) et cela construit une base de donnée binaire complète.
RQ : Vous pouvez rencontrer un problème de place disque (no space left on device). Dans ce cas vous pouvez tenter la commande suivante :
lafrier:~ $ doas eclean distfiles
NETOYAGE
lafrier:~ $ doas perl-cleaner --all
lafrier:~ $ doas eclean distfiles
lafrier:~ $ doas eclean packages
DEPLOIEMENT DE LA MISE A JOUR GENTOO MAJEURE
A ce stade, tout a été mis à jour sur l'image, pour toutes les configurations disponibles. Cela signifie
- une nouvelle base de donnée de paquets gentoo (/var/db/repos/gentoo) ;
- un nouveau jeu de paquets binaires (/var/cache/binpkgs).
Il faut alors déployer ces nouvelles données sur le serveur.
Pour /var/db/repos/gentoo
lamenaire:~ $ cd "${EDIXDEVELOPPEUR}"/bin_developpeur
lamenaire:~/edix/bin_developpeur $ doas ./hors_du_chroot_recopie_et_compression_de_var_db_repos_gentoo.sh /tmp
lamenaire:~ $ doas chown lamenaire:lamenaire /tmp/var_db_repos_gentoo.tar.gz
lamenaire:~ $ doas chown lamenaire:lamenaire /tmp/version_var_db_repos_gentoo.txt
lamenaire:~ $ scp /tmp/var_db_repos_gentoo.tar.gz nastar:/nastar/www/Edix/.
lamenaire:~ $ scp /tmp/version_var_db_repos_gentoo.txt nastar:/nastar/www/Edix/.
lamenaire:~ $ cp /tmp/version_var_db_repos_gentoo.txt ${EDIXDEVELOPPEUR}/reference/gentoo/.
puis on commite et on pousse le projet edix.
Pour /var/cache/binpkgs
lamenaire:~ $ cd "${EDIXDEVELOPPEUR}"/bin_developpeur
lamenaire:~/edix/bin_developpeur $ doas ./hors_du_chroot_recopie_et_compression_de_var_cache_binpkgs.sh /tmp
lamenaire:~ $ doas chown lamenaire:lamenaire /tmp/var_cache_binpkgs.tar.gz
lamenaire:~ $ doas chown lamenaire:lamenaire /tmp/version_var_cache_binpkgs.txt
lamenaire:~ $ scp /tmp/var_cache_binpkgs.tar.gz nastar:/nastar/www/Edix/.
lamenaire:~ $ scp /tmp/version_var_cache_binpkgs.txt nastar:/nastar/www/Edix/.
lamenaire:~ $ cp /tmp/version_var_cache_binpkgs.txt ${EDIXDEVELOPPEUR}/reference/gentoo/.
puis on commite et on pousse le projet edix.
SELECTION DES OPTIONS DE CONFIGURATION DE L'IMAGE
On choisit les options de configuration que l'on souhaite retenir pour l'image que l'on distribue sur le web, celle qui sera utilisée par les personnes souhaitant tester edix en bootant sur une clé usb, ou qui souhaiteront installer edix.
Typiquement,
lafrier:~ $ vim /home/lafrier/edix/configuration.txt vim:
latex
math
bureautique
noblob_office
nolaplace
noportable
nosyrthes
novirtuel
et on fait la mise à jour gentoo pour une image de référence :
lafrier:~ $ doas mise_a_jour_systeme_gentoo.sh
DEPLOIEMENT DE L'IMAGE
Configuration des fichiers d'ammorçage
A ce stade, l'image est mise à jour. Par principe, on reprend la configuration des fichiers d'ammorçage. On chroot sur l'image en tant que lafrier et on lance les commandes suivantes :
lafrier:~ $ doas grub-install --target=x86_64-efi --efi-directory=/boot lafrier:~ $ doas grub-install --target=x86_64-efi --efi-directory=/boot --boot-directory=/boot --removable
Puis on quitte le chroot.
Compression de l'image
L'image est normalement située dans le répertoire nastar_www_Edix, qui est supposé être un clone du répertoire /nastar/www/Edix sur le nastar. On se place dans ce répertoire et lance la commande de compression suivante :
lamenaire:˜/nastar_www_Edix $ xz -k edix-57G.img
Recopie de l'image sur le nastar
On utilise rsync pour recopier la nouvelle image compressée sur le nastar :
lamenaire:˜/nastar_www_Edix $ rsync -av --delete -e ssh --rsync-path=/usr/bin/rsync /home/lamenaire/nastar_www_data_Edix/edix-57G.img.xz nastar:/nastar/www/Edix/edix-57G.img.xz
VOIR AUSSI
edix_developpeur(7f), edix_developpeur_gentoo(7f), edix_mise_a_jour(7f)
| 2026-04-10 | UNIX |