0outils : les outils de 0linux

Les outils « maison » commencent tous par « 0 », afin de tous les visualiser facilement en tapant 0 suivi de deux pressions sur TAB.

Ce sont de simples scripts bash très basiques, voire rudimentaires. Éditer directement les fichiers concernés est bien plus didactique, chaque fichier contenant des commentaires en français tentant d'expliquer leur rôle et leur syntaxe.

0bureau             # Choisir un environnement graphique par défaut
0clavier            # Choisir une disposition de clavier pour la console
0comparer_config    # Nettoyer le système des fichiers ''*.0nouveau'' en les comparant avec les fichiers configuration originaux
0creation_initrd    # Créer un « initrd » (ou « initramfs ») pour 0Linux pour permettre l'amorçage de la racine via les champs LABEL ou UUID des partitions
0creation_live      # Créer un système 0linux autonome amorçable sur DVD ou clé USB
0g                  # Mettre à jour son système et installer des dépôts distants
0horloge            # Régler l'horloge système
0locale             # Choisir la localisation francophone du système (la « locale »)
0nouvel_utilisateur # Ajouter un utilisateur
0police             # Choisir une police de caractères pour la console
0reseau             # Configurer le nom d'hôte de la machine

0bureau

Ce script sert à spécifier quel environnement de bureau on souhaite activer par défaut au lancement de X. Il se charge de créer le lien /etc/X11/xinit/xinitrc vers le fichier xinitrc de l'environnement voulu ainsi que d'activer le service ad-hoc. Ce script est le seul disponible à un utilisateur normal. S'il est lancé en root, il permet de choisir l'environnement graphique par défaut commun à tous les utilisateurs.


0clavier

Ce script sert à spécifier quel disposition de clavier utiliser en mode terminal/console. Il revient à éditer soi-même /etc/0linux/clavier en renseignant la variable $POLICE avec une disposition de clavier parmi celles disponibles dans /usr/share/kbd/keymaps/i386.


0comparer_config

Ce script permet de nettoyer le système des fichier de configuration nommés *.0nouveau. Ces fichiers existent si un fichier de configuration déjà existant déjà sur le système présente des différences : on évite ainsi l'écrasement des fichiers originaux, tout en ayant connaissance de l'existence d'un nouveau fichier de configuration qui peut éventuellement connaître un changement dans sa syntaxe ou bien contenir de nouveaux commentaires.

Prenons le cas du fichier /etc/inittab, contenu dans le paquet initialisation-systeme. Si un fichier inittab.0nouveau fait son apparition lors d'un mise à jour de ce paquet, c'est qu'il présente une différence avec le fichier inittab original du système. On va donc avoir une décision à prendre parmi 3 :

  • supprimer purement et simplement le fichier inittab.0nouveau : on conserve notre configuration originale
  • renommer inittab.0nouveau en inittab : on écrase notre configuration existante avec la nouvelle, il faut donc connaitre les changements que cela implique
  • ne rien faire du tout : on conserve notre configuration et le .0nouveau sera conservé sur le système mais n'aura aucune incidence

Le script 0comparer_config est une aide à la prise de décision : il va rechercher tout fichier nommé *.0nouveau sous /etc, le comparer à l'original, vous montrer les différences trouvées et vous demander quoi faire avec ce fichier (supprimer, ignorer, renommer).

:!: Ce script s'appelle en étant connecté en root.


0creation_initrd

Ce script permet de créer un « initrd » (ou « initramfs »), c'est-à-dire une archive contenant un mini-système installé sur une racine très légère (elle ne contient que les paquets busybox et base-systeme) à charger en RAM avant le montage effectif de la racine système. Cela permet de pouvoir amorcer une racine via son champ LABEL ou UUID et évite les problèmes de renommage des périphériques /dev/sdX qui arrivent de plus en plus souvent de nos jours avec les disque durs branchables à chaud, les clefs USB, etc.

Il crée un fichier /usr/local/temp/initrd à ajouter à la configuration du chargeur d'amorçage. Le contenu de l'archive initrd se trouve dans le répertoire /usr/local/temp/initrd_temp.

:!: Ce script s'appelle en étant connecté en root.

Exemple :

0creation_initrd /quelque/part/paquets/ # initrd de 0.9 Mo, contenant BusyBox, un squelette système et un
                                        # script 'init' qui va déduire le périphérique demandé à amorcer.

0creation_live

Ce script permet de créer un système autonome (ou système « live ») avec installateur et paquets, le tout permettant d'installer 0linux en se servant d'une copie du dépôt des paquets, présente sur le système. Il crée une image ISO amorçable de 0linux et de son installateur, à graver sur un DVD ou à copier sur une clé/carte USB amorçable via l'outil dd, avec au choix :

  • le système autonome nu, comprenant installateur, noyau et l'initrd contenant le système
  • le système autonome comprenant les paquets de 0linux, plus l'installateur, le noyau et l'initrd contenant le système. Peut peser très lourd, plusieurs giga-octets selon la taille du dépôt.

:!: Ce script s'appelle en étant connecté en root.

Exemples :

0creation_live --mini /quelque/part/paquets/ # système autonome nu (sans aucun paquet), 97 Mo environ
0creation_live --maxi /quelque/part/paquets/ # système autonome maximal (contenant le dépôt de paquets spécifié. Pensez à l'alléger si vous voulez faire tenir l'ISO sur un DVD ou un petit lecteur).

0g

Cet outil permet de mettre à niveau tous les paquets ainsi que les dépôts installés sur son système. Il se connecte aux serveurs de 0linux, compare les paquets et dépôts installés à ceux présents sur les serveurs et permet leur mise à niveau automatique, permettant de garder la distribution à jour et de profiter de nouvelles versions ou de mise à jour de sécurité.

:!: Cet outil s'appelle en étant connecté en root.


0g sous 0Linux I, II et zeta (obsolète)

:!: 0g a évolué et gère les dépendances depuis 0Linux eta, reportez-vous donc à la section plus bas !

Mettre à jour le système et les dépôts installés :

0g

Les dépôts de paquets s'indiquent en les préfixant d'un arobase « @ ». Les paquets s'appellent en tapant simplement leur nom.

Télécharger et installer le paquet libtruc. Les mises à jour du paquet seront désormais installées automatiquement :

0g libtruc

Télécharger et installer le dépôt @xfce Les mises à jour du dépôt seront désormais installées automatiquement :

0g @xfce

Cette commande va ajouter la ligne @xfce au fichier de suivi des dépôts /etc/0outils/0g/apps. On peut également s'occuper de renseigner ce fichier manuellement. Ajouter KDE aux dépôts pour le télécharger/installer et le mettre à jour au prochain lancement de 0g :

echo "@kde" >> /etc/0outils/0g/apps

On dispose également d'un fichier /etc/0outils/0g/liste_noire, une « liste noire » qui permet d'ignorer les mises à jour d'un ou plusieurs paquets au choix. Il faut spécifier un paquet par ligne, suivi d'un espace et d'un « 0 » ou d'un « 1 ». « 0 » ne télécharge ni n'installe les mises à jour du paquet spécifié. « 1 » télécharge les mises à jour sans les installer.

Exemples :

Pour un usage serveur sur lequel on ne voudra pas de mise à niveau du noyau Linux, on ajoutera alors la ligne linux au fichier /etc/0outils/0g/liste_noire. Le paquet ne sera même pas téléchargé si une mise à jour est trouvée :

echo "linux 0" >> /etc/0outils/0g/liste_noire

Pour certains paquets recompilés différemment par ses propres soins, on peut décider de maintenir ses propres paquets et ainsi avoir besoin d'ignorer les mises à jour officielles de 0linux. Si on maintient notre propre paquet libtruc, alors :

echo "libtruc 0" >> /etc/0outils/0g/liste_noire

Les informations sur les dépôts s'obtiennent avec les options -l ou –liste pour une lister tous les dépôts disponibles sur les serveurs, et -i ou –info pour consulter les fiches d'information sur chaque dépôt.

Consulter la liste de tous les dépôts disponibles sur les serveurs :

0g -l

Affichera :

@0ad
@ardour
@arj
@audacious
@audacity
@blender
@bluefish
@brasero
@claws-mail
@ddrescue
@dovecot
@ekd
@enlightenment
@exaile
@exim
@filezilla
@firefox
(etc.)

Consulter la fiche informative de KDE :

0g -i @kde

Affichera :

Description du dépôt @kde
fatalerrors - jeff.levasseur@free.fr
Juin 2013
 
 
  Description de @kde
  ===================
 
Ce dépôt contient l'environnement de bureau Plasma complet, accompagné d'une importante sélection de logiciels du projet KDE-Sc. Parmi ces logiciels vous trouverez des ténors du monde du libre :
 
 - bureautique : la suite Calligra Office, Skrooge, Tellico...
 - multimedia : Amarok, K3B, KDE'n'Live...
 - messagerie et réseau : la suite Kontact, KVIRC, Kopete, KTorrent, Konqueror...
 - outils divers : Konsole, Yakuake, Dolphin...
 - éducatif : Kalgebra, Kalzium, KStars, Marble...
 - programmation : la suite KDevelop, Kate, Lokalize...
 - les très nombreux jeux de la suite kdegames.
 
 
  Le dépôt @kde pour 0linux
  ===========================
 
Le dépôt contient l'environnement de bureau Plasma Desktop et Plasma Netbook avec de nombreux thèmes, plus d'une centaine d'applications pour tous les usages et leurs documentations.
 
 
  Installation sous 0linux
  ========================
 
# 0g @kde

Pour en savoir plus, voyez le manuel de 0g(8).


0g à partir de eta

0g gère les dépendances depuis 0Linux eta et la structure des dépôts en a été grandement modifiée. La configuration a également été simplifiée.

Mettre à jour le système :

0g

On peut voir les mises à jour qui seront téléchargées ainsi que leur taille, sans rien modifier au système (mode « démo ») :

0g -d
[démo] Téléchargement de gcc-4.8.3-x86_64-1.spack : 48.4 Mio
[démo] Téléchargement de ddrescue-1.18.1-x86_64-1.spack : 92.0 Kio
[démo] Téléchargement de dbus-1.6.20-x86_64-1.spack : 2.0 Mio
[démo] Téléchargement de openssl-1.0.1h-x86_64-1.spack : 3.3 Mio
[démo] Téléchargement de kfilemetadata-4.13.0-x86_64-2.spack : 84.0 Kio
[démo] Téléchargement de nepomuk-core-4.13.0-x86_64-2.spack : 809.0 Kio
[démo] Téléchargement de 0outils-12.5.2-x86_64-1.spack : 260.0 Kio
[démo] Téléchargement de gnutls-3.2.15-x86_64-1.spack : 2.8 Mio
[démo] Téléchargement de tzdata-2014e-x86_64-1.spack : 196.0 Kio
[démo] Téléchargement de curl-7.37.0-x86_64-1.spack : 681.0 Kio
[démo] Téléchargement de nautilus-3.12.2-x86_64-1.spack : 3.7 Mio
[démo] Téléchargement de tracker-1.0.1-x86_64-1.spack : 1.5 Mio
[démo] Téléchargement de evas_generic_loaders-1.9.0-x86_64-3.spack : 60.0 Kio
[démo] Téléchargement de mutter-3.12.2-x86_64-1.spack : 1.3 Mio
[démo] Téléchargement de glade-3.18.2-x86_64-1.spack : 2.6 Mio
[démo] Téléchargement de okular-4.13.0-x86_64-2.spack : 1.5 Mio
[démo] Téléchargement de calligra-2.8.2-x86_64-6.spack : 56.8 Mio
[démo] Téléchargement de cheese-3.12.2-x86_64-1.spack : 1.4 Mio
[démo] Téléchargement de gnome-shell-3.12.2-x86_64-2.spack : 1.1 Mio
[démo] Téléchargement de geoclue-2.1.8-x86_64-1.spack : 192.0 Kio
[démo] Téléchargement de glibc-2.19-x86_64-2.spack : 35.9 Mio
[démo] Téléchargement de tumbler-0.1.30-x86_64-4.spack : 208.0 Kio
[démo] Téléchargement de flashplayer-11.2.202.378-x86_64-1.spack : 10.0 Mio
[démo] Téléchargement de firefox-30.0-x86_64-1.spack : 30.3 Mio
[démo] Téléchargement de glibmm-2.40.0-x86_64-1.spack : 5.0 Mio
[démo] Téléchargement de tellico-2.3.8-x86_64-4.spack : 4.8 Mio
[démo] Téléchargement de chrome-35.0.1916.141-x86_64-1.spack : 44.4 Mio
[démo] Téléchargement de evince-3.12.1-x86_64-2.spack : 2.3 Mio
[démo] Téléchargement de cups-filters-1.0.53-x86_64-2.spack : 685.0 Kio
[démo] Téléchargement de epdfview-0.1.8-x86_64-2.spack : 124.0 Kio
[démo] Téléchargement de gnome-online-accounts-3.12.3-x86_64-1.spack : 973.0 Kio
[démo] Téléchargement de thunderbird-24.6.0-x86_64-1.spack : 23.2 Mio
[démo] 32 paquet(s) concerné(s) -- 286.5 Mio téléchargés.

Les dépôts n'existent plus, désormais tout est paquet. Deux types de paquets sont à distinguer : les paquets normaux et les paquets-abonnements, lesquels permettent d'installer des ensemble de logiciels triés par thématique (tout KDE, serveur LAMP, studio multimédié, etc.).

Les paquets s'appellent en tapant simplement leur nom. 0g va analyser la base de données distante et installer les paquets demandés ainsi que leurs dépendances.

Télécharger et installer le paquet libtruc et ses dépendances (et leurs dépendances propres). Les mises à jour du paquet et des dépendances seront désormais installées automatiquement :

0g libtruc

:!: 0g va également mettre à jour le système en plus de vous installer libtruc. Ce comportement a été modifié à la demande des utilisateurs à partir de 0outils 12.9. La mise à jour du système complet ne se fait dorénavant que si 0g est appelé seul.

Télécharger et installer le paquet-abonnement kde-abonnement, lequel contient un ensemble de dépendances arbitraires permettant de profiter de l'ensemble de l'offre KDE tel qu'il est livré dans 0Linux (plus d'une centaine de paquets). Les mises à jour de ce paquet, des paquets de l'abonnement ainsi que des dépendances seront désormais installées automatiquement :

0g kde-abonnement

On peut installer plusieurs paquets d'une seule commande :

0g firefox thunderbird fluxbox vlc clementine gimp

On peut avoir des renseignements sur le contenu du dépôt avec l'opion -i. Elle liste tous les paquets disponibles si elle est appelée seule et elle affiche la description du ou des paquets demandés s'ils sont spécifiés :

Lister tous les paquets disponibles :

0g -i
0-art-25102012-x86_64-9
0ad-0.0.15-x86_64-1
0outils-12.6.5-x86_64-1
0polices-dafont-libre-0.1-x86_64-1
a2ps-4.14-x86_64-8
about-distro-1.0.1-x86_64-3
accountsservice-0.6.34-x86_64-4
acl-2.2.52-x86_64-17
acpid-2.0.22-x86_64-1
akonadi-1.12.1-x86_64-1
alsa-lib-1.0.27.2-x86_64-8
alsa-plugins-1.0.26-x86_64-9
alsa-utils-1.0.27-x86_64-11
(etc.)

Afficher la description de paquets en particulier :

0g -i firefox thunderbird fluxbox vlc clementine gimp
firefox-30.0-x86_64-1.txt
+----------+
* Navigateur Web de la fondation Mozilla
+----------+
vlc-2.1.4-x86_64-4.txt
+----------+
* Le lecteur multimédia polyvalent VLC
+----------+
clementine-1.2.3-x86_64-3.txt
+----------+
* Un lecteur audio moderne avec gestion d'audiothèque
+----------+
thunderbird-24.6.0-x86_64-1.txt
+----------+
* Client de messagerie électronique de la fondation Mozilla
+----------+
gimp-2.8.10-x86_64-2.txt
+----------+
* Le programme de manipulation et de retouche d'images GIMP
+----------+
fluxbox-1.3.5-x86_64-1.txt
+----------+
* Le gestionnaire de fenêtres Fluxbox
+----------+

Voyez le fichier de configuration /etc/0outils/0g.conf, il est clair et commenté. Il permet notamment de mettre des paquets en liste noire, d'utiliser un cache local, d'ignorer certains paquets, etc.

Pour en savoir plus, voyez la page manipuler_les_paquets_de_0linux_eta_et_plus, 0g -h ou bien le manuel de 0g(8).


0horloge

Ce script se charge de configurer le fuseau horaire. Cela revient à manuellement créer le lien /etc/localtime vers le fichier fuseau horaire ad-hoc, sous /usr/share/zoneinfo, que l'on peut connaître grace à la commande tzselect.


0locale

Ce script positionne les variables d'environnement $LANG et $LC_ALL, permettant de définir la langue et la localisation du système, au sein du fichier /etc/0linux/locale.


0nouvel_utilisateur

Ce script crée un nouvel utilisateur sur le système et se charge de définir les groupes supplémentaires auxquels il appartient, afin de disposer des droits permettant une utilisation bureautique et multimédia standard (typiquement, les groupes audio, lp, netdev, plugdev, power, scanner, video et wheel). La commande standard est useradd. Voir :

man useradd
man usermod

0police

Ce script permet de choisir une police compatible Unicode pour l'affichage en mode console/terminal. Il revient à éditer soi-même le fichier /etc/0linux/police en spécifiant une police parmi celles disponibles dans /usr/share/kbd/consolefonts.


0reseau

Ce script définit le nom d'hôte de la machine et configure la connexion au réseau (par DHCP, IP statique, IP de passerelle, etc.). Il revient à éditer soi-même les fichiers /etc/hostname et /etc/0linux/reseau.