Versions personnalisées de PCLinuxOS

J’ai fait plusieurs versions successives en procédant de la manière qui me semblait le plus juste, pour faire de nouvelles versions plus conformes à ce que j’aime dans une distribution : localisée en français, deux champs pour les identifiants de connexion et pas plus, ni offre de se connecter en root ni autres options curieuses… (voyez dans d’autres de mes billets au sujet des remasters avec mklivecd… je ne parle pas de mkliveusb, mais il existe aussi, d’ailleurs).

Puis, j’ai découvert Master the remaster (Maîtrisez les remasters)

http://mypclinuxos.com/forum/index.php?topic=2529.0 Fermé pour cause de vandalisme et de SPAM la méthode préconisée par Texstar, le développeur de PCLinuxOS, et j’ai pu ainsi apprendre une ou deux choses utiles de plus.

Remaster pour distribution

Éléments requis:

  • Un live CD PCLinuxOS
  • Une partition libre sur le disque dur. (Peut être fait dans VirtualBox également)
  • Un gros fichier de swap (2 Go recommandé)

Démarrez sur le live CD. Connectez vous en mode root. Éditez /usr/share/draklive-install/drakelive-install et commentez les lignes suivantes à l’aide d’un # en début de chacune de ces lignes:

# enable back some disabled services
require services;
services::start_service_on_boot($_) foreach qw(dkms anacron atd crond syslog);
sync_logs();

# Automatically delete the guest account on first boot
system(« chroot $::prefix touch /etc/delete-guest-account »);

# Setup for root password and create new user at 1st boot
system(« rm -f $::prefix/etc/sysconfig/finish-install »);
system(« touch $::prefix/etc/sysconfig/finish-install »);

open FINISH, ‘>’, « $::prefix/etc/sysconfig/finish-install »;
print FINISH « FINISH_INSTALL=yesn »;
print FINISH « LICENSE=non »;
print FINISH « LANGUAGE=non »;
print FINISH « KEYBOARD=non »;
print FINISH « TIMEZONE=non »;
print FINISH « NETWORK=non »;
print FINISH « AUTHENTICATION=non »;
print FINISH « USERS=with_rootn »;
print FINISH « USER_AUTOLOGIN_FIRST=non »;
print FINISH « GLX=non »;
close FINISH;

Sauvegardez le fichier.

Note : j’ai remarqué ce ce fichier ne contient pas ces lignes présentées ainsi lorsque vous démarrez sur le live CD, mais il ressemble à ça après l’installation par contre. Je m’en suis arrangée, sachant que l’intérêt est de faire une installation qui ne va pas utiliser dkms et harddrake pour reconnaître le matériel : parce que d’une part, au premier reboot après installation, ils seront activés à nouveau, (c’est prévu dans les scripts de post-installation, si j’ai bien tout compris) et ensuite, ça permet de gagner du temps sur le boot du live CD qui va en résulter, car dkms et haddrake seront désactivés à ce moment là.

Installation:

Cliquez sur le lanceur de l’installation qui est sur le bureau. Quand l’écran vous invitant à supprimer les drivers vidéo apparait à l’écran, cliquez sur le bouton « Cancel ». L’installeur continuera ensuite l’installation en conservant les drivers Nvidia et ATI.

Je sélectionne généralement « partitions personnalisées » et je crée une partition / (dite « root », ou « système », celle qui contiendra tous les répertoires du système d’exploitation), pour réaliser mon installation.

Ceci installera une réplique exacte du live CD, préservant le compte invité et prévenant les services désactivés d’être démarrés.

Connectez-vous sur votre nouvelle partition en mode root. Revenez sur le fichier modifié, et restaurez les sections commentées dans draklive-install (n’oubliez pas).

Si vous voulez économiser de l’espace sur votre Live CD, éditez /etc/rpm/macros et ajoutez la ligne %_excludedocs 1 Ceci empêchera tout fichier de documentation de s’installer lors d’une mise à jour par Synaptic ou lors de l’ajout d’une application. Après installation, après suppression ou mise à jour de vos applications revenez sur ce fichier et changez la ligne pour %_excludedocs 0 ou supprimez-la.

Note : ça peut être une bonne idée, pour une distribution installée à fins de création de remasters, pour le mettre en place entre deux créations de remasters. Il ne s’agit pas d’oublier de remettre la ligne à 0 avant de remastériser, sinon les pauvres utilisateurs qui vont l’installer après n’auront jamais les docs dans leur système (cela leur sert-il à quelque chose, me direz-vous ? 😀 )

Après avoir fait vos mises à jour, vous pouvez gagner encore plus de place en supprimant les fichiers suivants:

le répertoire /usr/share/man (la plupart des utilisateurs de machines de bureau n’en auront jamais l’usage)

/!  Le paragraphe qui précède est une traduction des paroles de Texstar. Imaginez-vous qu’il est hors de question que je fasse une chose pareille. :>

Moi supprimer les man ? Eh bien seulement ceux qui sont en langue autre que français ou anglais : sous /usr/share/man, il y a un certain nombre de répertoires comportant des noms explicites : it, es, ru, et ainsi de suite. Pour un remaster à l’attention des utilisateurs francophones, Ce sont uniquement ceux-là que je supprime.

Personnalisations:

Un répertoire intéressant, est le répertoire /etc/skel. Quand un nouvel utilisateur est créé, tous les fichiers de /etc/skel sont copiés dans le répertoire de l’utilisateur. Si vous décidez de modifier des configurations dans KDE, assurez-vous de copier le fichier .kde de root dans votre /etc/skel de sorte à ce que le nouvel utilisateur qui sera créé à l’issue de l’installation bénéficie de vos personnalisations. Les utilisateurs de Gnome copieront .gconf, .gconfd, .gnome2, .gnome2_private dans leur répertoire /etc/skel.

Note : pour me simplifier, je fais un cp -Ra en root sur tout le répertoire /home/guest vers /etc/skel, puis je vais dans /etc/skel et je supprime quelques fichiers et répertoires inutiles, je vide le bash_history…

Il y a 3 domaines qui peuvent influencer vos possibilités de créer un remaster. Assurez-vous que la partition que vous remastérisez ne contient pas pour plus de 4 Go d’applications installées. Assurez-vous que d’autres partitions ne soient pas montées quand vous lancez une commande remasterme ou mklivecd. Désactivez toute entrée dans fstab qui contient une ligne tmpfs. Après avoir enlevé les entrées, redémarrez de sorte à ce qu’aucun système de fichier en ram ne soit créé.

Exemple de choses à enlever (nda:où désactiver) dans /etc/fstab:

none /tmp/jack tmpfs defaults 0 0
none /tmp tmpfs defaults 0 0
none /dev/shm tmpfs defaults 0 0

Maintenant que vous avez votre installation configurée, vous pouvez lancer remasterme dans la console et créer une nouvelle image iso.

Note : et Texstar concluait:

Amusez-vous bien !
Tex