Préparer un nouveau remaster PCLinuxOS

En tout premier, installer un nouveau fichier sources.list, comme indiqué sur ce post : [Synaptic] Des dépôts à jour – fichier sources.list à jour.

Puis, recharger la liste des paquets, configurer les préférences pour ne pas garde de paquets en cache et faire une mise à jour complète.

Installer Bleachbit afin de nettoyer tous fichiers devenus inutiles. Lancer Bleachbit une fois en mode utilisateur : configurer la ou les langues à conserver dans les préférences.

Lancer une fois Bleachbit en root avec la commande : kdesu bleachbit si on utilise KDE, gksu bleachbit si on utilise Xfce4 ou Gnome, donner le mot de passe root à la petite fenêtre qui le demande, configurer la ou les langues à conserver, dans les préférences, puis afficher les fichiers à supprimer, regarder lesquels ils sont, et les supprimer.

Dans la version Xfce4 en FR et EN en cours de test[¹], j’ai ajouté une entrée de menu pour pouvoir lancer Bleachbit en mode root. Le mot de passe sera demandé directement.

Ensuite je tenterai un remaster en chroot depuis l’installation PCLinuxOS voisine.

Les répertoires à nettoyer : sous /root, certains fichiers conservant l’historique des fichiers ouverts récemment, des logs de synaptic, des répertoires d’applications utilisateur ayant été lancées, peuvent être effacés. (Il faut afficher les fichiers cachés). Sous /var/log, tous les logs peuvent être supprimés. Si on est en chroot, on peut aussi supprimer tous les fichiers sous /dev à l’exception de trois d’entre eux : console, null et zero.

Sous le home de l’utilisateur, même chose que sous /root, sous /etc suprimer le contenu du répertoire skel (mais pas le répertoire skel) et y copier tout le contenu du home utilisateur, sauf le répertoire temporaire que l’on y crée pour y déposer le remaster, qu’on nommera temp, pour ne pas le confondre avec tmp.

On peut aussi supprimer les locales inutiles dans /usr/share/man/locales. Sous /usr/share/docs tout peut être supprimé, sauf HTML.

Ce listing n’est pas définitif. (démonter toute partition externe avant de commencer, si on lance mklivecd depuis le système en fonctionnement, vérifier que le swap soit sur on… )

[¹] La version en cours de test étant parfaitement fonctionnelle, et ne nécessitant que deux ou trois détails sans gravité à corriger, comme un fichier vimrc qui traîne dans le home de l’utilisateur, et un ou deux paquets comme evince, et printer drake, je vais m’attaquer rapidement à la description complète afin de pouvoir la présenter lors de sa prochaine diffusion. En attendant, pour essayer, c’est ici:

PCLinuxOS-2009-Xfce4-fr-6-Aout.iso

PCLinuxOS-2009-Xfce4-fr-6-Aout.md5.txt

Firefox et historique bleu

Un truc curieux dans la dernière version Firefox sous PCLinuxOS : les caractères des polices dans la barre de navigation (pour l’historique et l’appel aux bookmarks) sont devenus bleus foncés.

J’ai demandé de l’aide sur le canal de discussion #firefox, sur irc.freenode.net et voici la solution qui m’a été donnée, pour prendre la main par rapport à des bugs de style, ajouter dans userChrome.css:

/* The following 3 lines were to forbid navigation bar history and bookmark to display in blue caracters*/
.ac-url-text {color: MenuText !important;background-color: Menu !important;}
.autocomplete-richlistitem[selected= »true »] .ac-url-text {color: HighlightText !important;background-color: Highlight !important;}
.autocomplete-richlistitem {border-bottom: 1px solid ThreeDShadow !important;}

Autre chose, comme il est de mise, bien des plugins sympas ne sont pas ou plus mis à jour quand vient la nouvelle version.

Pour le plugin « copy to plain text », ben y’en a plus. Si vous voulez copier en texte brut un bout pris sur une page html (sur le web quoi) passez par geany : cet éditeur de texte dédié au développement vous offre un menu permettant de définir l’encodage (none est le bon encodage à choisir quand vous voulez copier en texte brut).

PCLinuxOS ligne de commande mklivecd

C’est sur le forum PCLinuxOS et sur le canal IRC de soutien que le problème principal concernenant la création d’une version issue d’une installation modifiée, (=remaster) a été résolu. C’était en même temps un problème de compréhension du mécanisme, et couplé à des changements importants suite à des mises à jour, en particulier la mise à jour de l’interface graphique.

Voici le post où j’ai enfin pu annoncer que ça avait fonctionné.

mklivecd –splash silent –md5sum –fstab=rw,noauto –boottheme bluephase –keyboard=fr –nodir=/home/guest/temp –tmp=/home/guest/temp –lzma /home/guest/temp/PCLinuxOS-2009-Gnome-fr-16-Juil.iso

Enfin, ne pas oublier de générer un fichier md5sum pour l’accompagner:

# cd to iso directory
# set $ISOFILE as needed
ISOFILE="remaster.iso"
md5sum $ISOFILE > $ISOFILE.md5.txt


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

Optimiser Firefox (sous GNU/Linux)

Les bases sqlite3 ont besoin d’être nettoyées de temps en temps. Les fichiers du sous-répertoire .mozilla/firefox/ dont les noms comportent la chaîne « sqlite » en seront allégés.

Lancer en mode utilisateur, depuis son /home ou depuis le répertoire .mozilla (ou depuis son sous-répertoire firefox) la ligne de commande suivante:

find . -name ‘*sqlite*’ -exec sqlite3 {} ‘vacuum’ ;

Elle pourra être précédée d’une commande destinée à lister les fichiers depuis le répertoire .mozilla concernés, comme ceci : find . -name ‘*sqlite*’ -exec ls -l {} ; *

Cette dernière, lancée une fois avant et une fois après la commande comportant «vacuum», permettra d’apprécier le gain de place sur chacun des fichiers listés.

Une autre modification pouvant apporter un plus, vous êtes par exemple en train de surfer… (que faire d’autre avec un navigateur web ? 😉 et puis vous ne pouvez plus afficher certaines pages, elles renvoient tout au plus un message disant que la page n’est pas accessible (pas une erreur 404 mais ça y ressemble).

Il peut y avoir une page coincée dans le cache DNS de Firefox (où est-il celui-là ?). Pour le désactiver, une solution est proposée sur Commentcamarche.net : Supprimer le cache DNS de Mozilla Firefox.

Ainsi, pour totalement désactiver le cache DNS il suffit de suivre la procédure suivante :

  • Dans la barre d’adresses de Firefox, saisir « about:config »
  • Cliquer avec le bouton droit dans la liste, puis cliquer sur nouvelle / valeur numérique,
  • Saisir network.dnsCacheExpiration, puis valider
  • Saisir la valeur 0, puis valider à nouveau.

* Mise à jour 18/10/2016 : les commandes suivantes fonctionnent
$ for i in *.sqlite; do echo "vacuum;" | sqlite3 $i ; done

ou bien cette ligne de commande pour compresser tous les profils:
$ for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f "vacuum;"; done

Source (modifié de sorte à ce que ça fonctionne, le shell n’aimant pas les majuscules dans ce cas, ni les guillemets à la française):

http://monubuntu.com/html/ubuntu/96.optimiser_firefox.php

Et pour lister les fichiers, ce sera cette ligne de commande:

$ find . -name '*sqlite*' ; -exec ls -l {} \;

 

Proxy cache Polipo

Voici une alternative à Squid, à essayer à l’occasion. Polipo permet tout comme Squid, de rendre la navigation sur Internet plus confortable, pour les connexions internet de faible capacité, tout en prenant moins sur les ressources de la machine où il est installé.

Polipo – a caching web proxy : http://www.pps.jussieu.fr/~jch/software/polipo/

Polipo is a small and fast caching web proxy (a web cache, an HTTP proxy, a proxy server). While Polipo was designed to be used by one person or a small group of people, there is nothing that prevents it from being used by a larger group.

Sous Archlinux, il y a des PKGBUILDS sur AUR:

1 aur/polipo 1.0.4-3 (48)
A small and fast caching web proxy.

2 aur/polipo-darcs darcs-2 (2)

A small and fast HTTP proxy (can be used with Tor)

IP sur escargot

Ce que la traction animale peut être au transport de données.

Transport de data par escargot
Transport de data par escargot

Le blog où je l’avais lu semble avoir disparu. Voici l’article complet: Snails, slugs, and speed sur le site «improbable.com».

Le site fournit aussi une documentation pdf relative à la mise en service de cet attelage.

Jean-Louis CANNELLE, éleveur de chevaux de trait comtois et formateur en attelage, disait bien qu’on peut atteler n’importe quel animal, pourvu que le harnais soit bien ajusté !

🙂