Thierry Nuttens a rédigé ce guide d'utilisation, il s'est inspiré du guide d'utilisation de CRUX puisque les deux distributions ont des fonctionnalités similaires. Pierre (sibelle) et François V. (fanch) l'ont contrôlé et corrigé. Vous trouverez également des informations concernant le projet NuTyX sur le wiki de LinuxPedia.
Le système d'exploitation est basé sur l'excellente documentation Linux From Scratch et utilise le gestionnaire de paquets emprunté de la distribution CRUX avec quelques fonctionnalités supplémentaires comme la gestion directe des paquets binaires. La recette d'un paquet binaire est extrèmement simple, il est donc très facile d'ajouter ses propres paquets. Si votre langue maternelle est le français, NuTyX vous permettra de rentrer facilement dans le système, toute la documentation est en français. A chaque nouvelle version de NuTyX, l'intégralité des paquets est recompilée pour assurer une plus grande stabilité et une cohérence du système. Si vous le souhaitez, un script d'installation suffit pour installer NuTyX sur votre disque dur. NuTyX fournit à la fois un système d'exploitation complet avec au choix: KDE ou XFCE comme interface graphique mais aussi un système de maintenance graphique avec les outils nécessaires pour faire la maintenance de votre NuTyX. Le système de maintenance se charge en mémoire RAM et donc ne monte aucune unité de stockage ce qui permet de faire toutes les opérations possibles sur ces unités. Une fois installée, vous trouverez dans ce guide d'utilisation toutes les informations nécessaires pour profiter pleinement de votre nouvelle distribution.
NuTyX étant une distribution GNU/linux, elle contient des logiciels écrits par un grand nombre de développeurs. Chaque paquet de logiciel est donc fourni avec sa propre licence d'utilisation choisie par son (ses) auteur(s). Pour connaître le type de licence utilisée pour un paquet particulier, veuillez consulter les codes sources dudit paquet.
Les scripts provenant du projet Linux From Scratch sont sous licence Creative Commons License 2.0. Certains scripts sont ajustés pour l'usage de NuTyX par Thierry Nuttens. Les ports de NuTyX sont sous licence GNU Generic Public Licence.
Le système de maintenance est développé depuis zéro par Thierry Nuttens et est sous licence GNU Generic Public Licence.
NuTyX est proposée dans le but de pouvoir être utilisée en espérant qu'elle vous sera utile. Aucune garantie n'est fournie ni la possibilité d'en faire un produit commercial. Vous utilisez NuTyX à vos propres risques. NuTyX ne peut en aucun cas être responsable pour la perte de données personnelles quelle qu'elles soient.
IMPORTANT:Si vous choisissez d'installer le système de base uniquement, il faut savoir que seul l'utilisateur root est créé. Il est conseillé de créer l'utilisateur normal après avoir installé son interface graphique favorite. La commande (spécifique à NuTyX) pour créer un utilisateur s'appelle nu :
[ ~ ] nu Nom de l'utilisateur: Description de l'utilisateur: Création de test. Changement du mot de passe de test Entrez le nouveau mot de passe (minimum de 5, maximum de 8 caractères). Utilisez une combinaison de lettres majuscules, minuscules et de chiffres. Nouveau mot de passe : Nouveau mot de passe (pour vérification) : [ ~ ]
Les paquets binaires de NuTyX sont compilés avec une optimisation pour les processeurs i686 (Pentium-Pro/Celeron/Pentium-II ou supérieur). Il n'est pas possible de faire fonctionner NuTyX sur un i586 (Pentium, AMD K6/K6-II/K6-III) ou processeur plus ancien.
Un minimum de 1024 MB de mémoire RAM (système) est recommendé pour l'installation de NuTyX depuis le liveDVD, 512 MB pour l'installation depuis le liveCD et 128 MB suffisent pour l'installation du système de base depuis le script ou depuis le système de maintenance.
Quelque soit votre choix de média, l'image est toujours identique. Téléchargez l'image iso de votre choix. Pour vous assurez de l'intégrité de l'image, utilisez la commande md5sum pour la vérifier.
$ md5sum NuTyX_i686-sekong-LIVE-XFCE.isoComparez le résultat de la commande ci-dessus avec celui de l'iso que vous avez téléchargé sur la page de téléchargement. Si vous choisissez le CD ou DVD, prenez votre logiciel de gravure favori et gravez l'iso. Dans le cas du choix d'une clé USB, vous utilisez la commande:
# dd if=NuTyX_i686-sekong-LIVE-XFCE.iso of=/dev/xxxen root pour transférer l'image iso sur la clé usb. Veuillez ajuster /dev/xxx à votre cas. Pour connaître l'emplacement de votre clé USB, la commande fdisk -l pourra vous informer. Veuillez noter que l'on utilise toujours la commande dd en spécifiant le média complet cad /dev/sdb et non sdb1 qui est une partition sur le média.

Vous pouvez lire plusieurs infos sur lors de l'amorçage du media: il est en effet possible d'utiliser ce media pour installer NuTyX sur votre disque dur OU pour lancer une NuTyX déjà installé mais n'ayant aucune methode d'amorçage. Dans ce deuxième cas tapez simplement le nom et numéro de la partition sur laquelle se trouve NuTyX ex: sda3 (sans /dev/) sinon tapez simplement "Entrée" (Return). Une fois la séquence d'amorçage du média terminée ( +/- 10 secondes en fonction de votre matériel ), un nouvel écran se présente comme sur la Figure 2.

Il est recommandé d'avoir la partition de destination déjà formatée. Vous pouvez utiliser un des systèmes de fichiers ext2, ext3, ext4 ou reiserfs. Le système de fichiers btrfs est également supporté, mais si celui-ci est choisi, il faudra spécifier une partition séparée pour le dossier boot cad pour l'amorçage de la machine. GRUB (le système d'amorçage de NuTyX) ne supporte pas encore le système de fichiers btrfs. Il est à noter que si vous n'avez pas de partitions formatées lors du lancement de l'installation, l'installateur propose d'office de formater en reiserfs. Une fois la touche "Entrée" validée, un nouvel écran se présente comme la Figure 3.

La première chose à choisir est le clavier utilisé, sur la figure 2, c'est le clavier suisse français qui sera choisi. Il est important de choisir immédiatement le bon clavier, le choix du clavier ne sera plus demandé lors de l'installation de NuTyX et donc la même disposition de clavier sera utilisée dans NuTyX une fois installée. Dès que le clavier sera spécifié, si l'image que vous avez téléchargée est un liveCD, vous vous trouverez sur le bureau de XFCE comme il est présenté sur la Figure 4.

Vous pouvez désormais créer, réorganiser, supprimer des partitions pour l'installation de NuTyX, une fois la (les) partitions prêtes, vous pouvez cliquer sur "Installer NuTyX sur votre disque dur", le mot de passe du compte root vous sera demandé comme dans la figure 5.

Une fois l'installateur lancé, il est important d'ajuster la date et l'heure de la machine afin que le système de fichiers se monte sans erreur lors de l'amorçage de NuTyX. La figure 6. propose l'ajustement de la date.

Dès que la date et l'heure sont ajustées, l'installateur vous demande sur quelle partition installer NuTyX. Il est toujours possible à ce moment d'annuler l'installation en choisissant "Menu principal". Si vous relancez l'installeur de NuTyX, la date et l'heure ne seront plus demandées.

Si la partition de destination n'est pas formatée, l'installateur proposera de la formater en reiserfs. Une fois la partition choisie, on choisit le type d'installation comme le montre la figure 8.

Par défaut et si vous avez choisi le liveCD comme iso, c'est l'installation du liveCD qui sera choisie, si vous choisissez "Installation du système de base, vous aurez une NuTyX de base fonctionnelle sur laquelle il sera possible d'installer les logiciels de votre choix. L'installation du liveCD permet d'avoir une NuTyX avec interface graphique immédiatement fonctionnelle. L'installation du système de base permet de "se monter" une NuTyX "sur mesure". Dans les 2 cas, le mot de passe du compte administrateur root sera demandé comme sur la figure 10.


Le mot de passe du compte administrateur doit être suffisament complexe pour assurer un minimum de protection en cas de tentative de connection. Une fois le mot de passe du compte administrateur root entré, l'installateur crée un nouvel utilisateur de votre choix comme le montre la figure 11.

L'utilisateur habituel est la personne qui utilise la machine le plus souvent. Le nom d'utilisateur ne peut pas contenir d'espace ni de majuscules. La description de l'utilisateur peut contenir espace et majuscules. Le mot de passe peut être vide, nous recommandons de spécifier un mot de passe, indispensable si un accès à distance ssh sera configuré. Une fois le mot de passe validé, l'installation de NuTyX est terminée comme le montre la figure 12.

L'installation de NuTyX et l'installation d'un système d'amorçage sont 2 choses indépendantes sous NuTyX. La raison de ce choix est que la plupart du temps les utilisateurs avertis ne choisissent pas d'installer de système d'amorçage car il y en a déjà un d'actif. Nous pouvons donc maintenant choisir d'installer ou pas un système d'amorçage comme le montre la figure 13.

Un système d'amorçage est indispensable pour que le PC puisse amorcer le système d'exploitation se trouvant sur le disque dur cad NuTyX dans notre cas. NuTyX utilise actuellement GRUB comme système d'amorçage par défaut. Pour que GRUB puisse fonctionner correctement, il faut spécifier 2 emplacements. La figure 13 montre la sélection du disque dur sur lequel le MBR (Master Boot Record) cad les 440 tous premiers octets du disque dur que le bios de la machine est capable d'amorcer. Soyez attentif que si vous ne souhaitez pas modifier le MBR du disque, il existe d'autre méthode de configuration d'amorçage. Dès que le disque a été choisi, la figure 14 nous demande sur quelle partition installer l'application GRUB

Il faut spécifier sur quelle partition seront installées les fichiers de l'application GRUB ainsi que le menu.lst. Il est important que la partition de destination soit formatée en ext2, ext3, ext4 ou reiserfs. Si vous avez installez NuTyX sur une partition formatée en btrfs et que vous ne disposez que d'une partition, vous ne pourrez pas l'amorcer avec GRUB. Il est donc indispensable de prévoir une partition séparée pour l'amorçage de la machine. Dans ce cas l'installation de GRUB sera faite sur cette partition. Conclusion, l'installation de GRUB peut se faire sur la même partition que celle utilisée par NuTyX ou sur une autre partition. Une fois la partition sélectionnée, l'installation de GRUB se termine comme le montre la figure 15.

GRUB est installé et une copie du MBR avant modification a été sauvegardée dans le dossier grub (/boot/grub/MBR.original) afin de pouvoir récupérer l'état de l'amorçage de la machine AVANT installation de GRUB. Cela peut s'avérer très utile si on constate que ce n'est pas du tout ce que l'on souhaitait comme methode d'amorçage...
Le système de maintenance permet d'installer (ou mettre à jour) NuTyX sur votre ordinateur. Elle se trouve dans l'initrd qui est installée sur votre NuTyX. Au démarrage de la machine, il suffit de choisir dans le premier menu: Maintenance de NuTyX comme le montre la figure 15.

Une fois amorcée, le système de maintenance dispose exactement des mêmes menus que l'iso. Pour la suite de l'explication, j'utiliserai l'iso de BASE. Donc comme dans le liveD, après une dizaine de secondes un nouvel écran se présente comme sur la figure 17.

Pour l'explication de l'installation nous allons faire une mise à jour de NuTyX tout en gardant le dossier personel (/home). Donc dans notre exemple, nous avons déjà une NuTyX installée sur le disque dur. Une fois la touche "Entrée" validée, un nouvel écran se présente comme la Figure 18.

La première chose à choisir est le clavier utilisé, sur la figure 18, c'est le clavier suisse français qui sera choisi. Il est important de choisir immédiatement le bon clavier, le choix de celui-ci ne sera plus demandé lors de l'installation de NuTyX et donc la même disposition de clavier sera utilisée dans NuTyX une fois installée. Dès que le clavier sera spécifié, un nouveau message apparaît comme le montre la figure 19:

Il est très utile d'avoir des consoles d'accès dans le système de maintenance / dans l'iso. Elles vous permettent de faire quelques petites manipulations si nécessaire. Pour y accèder, il suffit d'utiliser les flèches de directions gauche et droite ensemble avec la touche alt. Comme dans le liveCD, il est important d'ajuster la date et l'heure de la machine comme sur la figure 20.

Dès que la date et l'heure sont ajustées, l'installateur vous demande sur quelle partition installer NuTyX. Notez que la question reste valable même si vous souhaitez faire une mise à jour de NuTyX comme le montre la figure 21.

La partition de destination est bien formatée, l'installateur analyse la partition et affiche un message comme sur la figure 22.

Comme il existe déjà une distribution sur la partition (NuTyX ou autre), l'installateur nous propose de vérifier dans une console son contenu. Dans notre exemple, nous savons que l'on souhaite mettre à jour la NuTyX qui est sur sda1. Une fois pressé OK, nous sommes dans le menu principal et choisissons Effacer une distribution comme sur la figure 23.


Une fois que le choix est confirmé, la partition s'efface dossier par dossier à l'exception de /home et tous les dossiers qui ne sont pas liés à NuTyX comme le montre la figure 25.

Seuls les dossiers /bin, /sbin, /etc, /usr, /opt, /var, /lib, /proc, /sys sont supprimés. Il est temps de réinstaller maintenant NuTyX sur la même partition en choisissant Installer NuTyX et son amorçage dans le menu principal comme le montre la figure 26.

Il suffit de choisir à nouveau la partition de destination comme le montre la figure 27.

Et l'installation du système de base se lance comme le montre la figure 27.

Une fois les paquets de base installés, l'installateur demande un mot de passe pour le compte root. Aucun autre compte n'est créé. Il est alors possible d'installer GRUB


Il faut spécifier sur quelle partition seront installés les fichiers de l'application GRUB ainsi que le menu.lst. Il est important que la partition de destination soit formatée en ext2, ext3, ext4 ou reiserfs. Si vous avez installez NuTyX sur une partition formatée en btrfs et que vous ne disposez que d'une partition, vous ne pourrez pas l'amorcer avec GRUB. Il est donc indispensable de prévoir une partition séparée pour l'amorçage de la machine. Dans ce cas l'installation de GRUB sera faite sur cette partition. Conclusion, l'installation de GRUB peut se faire sur la même partition que celle utilisée par NuTyX ou sur une autre partition. Une fois la partition sélectionnée, l'installation de GRUB se termine comme le montre la figure 30.

GRUB est installé et une copie du MBR avant modification a été sauvegardée dans le dossier grub (/boot/grub/MBR.original) afin de pouvoir récupérer l'état de l'amorçage de la machine AVANT installation de GRUB. Cela peut s'avérer très utile si on constate que ce n'est pas du tout ce que l'on souhaitait comme méthode d'amorçage...
Sur les isos, le script d'installation est appelé par l'installeur semi-graphique. Si vous le souhaitez, il est possible d'installer NuTyX en utilisant directement ce même script depuis votre distribution actuelle. La procédure est assez simple. Cette méthode est très utile et peut être utilisée pour installer NuTyX sur une partition ou un dossier. Si vous installez NuTyX dans un dossier, vous pourrez "entrer" dans NuTyX en chroot par exemple. Pour pouvoir installer NuTyX via le script, il faut s'assurer que les conditions suivantes soient remplies:
[ ~ ] bash install-sekong.ash /dev/sda3 reiserfs fr_FRL'installation commence directement. Veuillez ajuster la disposition du clavier au vôtre. Si vous installez depuis NuTyX, le clavier peut être omis, le script prendra celui défini par la NuTyX host.
Si la disposition de votre clavier n'est pas reconnue par le script, vous pouver utiliser la variable KEYMAP pour le spécifier. Exemple:
[ ~ ] KEYMAP=slovene bash install-sekong.ash /dev/sda3 reiserfsSi vous avez votre propre dépot de paquets binaire, vous pouvez spécifier l'URL du dépot en utilisant la variable URL. Le même miroir sera utilisé une fois NuTyX installée.
[ ~ ] URL="http://192.168.1.1/NuTyX/" bash install-sekong.ash /dev/sda3 reiserfs fr_FR
Il faut savoir que si vous avez un média inséré dans le lecteur avec les dépots des paquets NuTyX (par exemple un liveCD ou une iso de base), le script identifiera le media et l'utilisera comme source de dépot. Cela peut vous paraître idiot, mais dans le cas de l'installation d'une NuTyX chroot, c'est évidement très pratique car l'install se fait en moins de 5 minutes.
[ ~ ] pkg-get sync /srv/NuTyX/release/PKGREPO [ OK ] /srv/NuTyX/release/PKGINST [ OK ] /srv/NuTyX/release/PKGREAD [ OK ] /srv/NuTyX/release/PKGGRP [ OK ] /srv/NuTyX/release/PKGDEPS [ OK ] /srv/NuTyX/release/PKGFILES.gz [ OK ] /srv/NuTyX/release/PKGBUILDS.gz [ OK ] [ ~ ]
Utilisez l'option help pour connaître toutes les options possibles de pkg-get.
[ ~ ] pkg-get depinst curl 1: Télécharge le(s) paquet(s) /srv/NuTyX/release/libidn#1.19-1.pkg.tar.xz [ OK ] /srv/NuTyX/release/curl#7.21.7-2.pkg.tar.xz [ OK ] 2: Installe le(s) paquet(s) Installe libidn [ OK ] Installe curl [ OK ] 3:Résumé Success [ ~ ]
[ ~ ] pkg-get diff Différences entre paquets installés et paquets disponibles dans les dépots Paquet Installé Disponible dans le dépot chromium 5.0.375.125-1 5.0.375.127-1 initrd 2.6.34.2-2 2.6.34.5-1 iproute2 2.6.33-1 2.6.35-1 kernel 2.6.34.2-1 2.6.34.5-1 ktsuss 1.4-3 1.4-4 libarchive 2.8.3-1 2.8.3-2 pkg-get 0.5.0-1 0.5.1-1 ports 1.5-5 1.5-6 prt-get 5.16-4 5.18-2 xz-utils 4.999.9beta-1 4.999.9beta-143-g3e49-1 [ ~ ]
Maintenant si l'on souhaite mettre tous les ports à jour avec une seule commande.
[ ~ ] pkg-get sysupTous les paquets à mettre à jour seront mis à jour.
[ ~ ] pkg-get listinst Liste des paquets installés: aaabasicfs 2011-4 Système de base de NuTyX, contient les répertoires et scripts de demarrage. autoconf 2.68-1 Permet la production de scripts pouvant configurer automatiquement le code source ... zlib 1.2.5-1 Librairie de compression/décompression 86 Paquets installés [ ~ ]
[ ~ ] pkg-get list Liste des paquets disponibles sur le dépot: a2ps 4.14-1 Convertisseur ASCII vers Postscript aaabasicfs 2011-4 Système de base de NuTyX, contient les répertoires et scripts de demarrage. aalib 1.4rc5-2 Librairie pour le rendu de graphismes en mode ascii ... zope-interface 3.6.1-1 Addon pour zope zsh 4.3.10-1 shell pour un usage interactif et langage puissant de script. 1132 Paquets disponibles [ ~ ]
[ ~ ] pkg-get info kernel Nom : kernel Paquet : /srv/www/htdocs/nutyx/release/kernel#3.2.10-1.pkg.tar.xz Description : Le kernel avec les modules nvidia, ati, broadcom et virtualbox URL mirroir : http://nutyx.meticul.eu/sekong/x86_64/release/kernel%233.2.10-1.pkg.tar.xz URL sources : http://www.kernel.org Mainteneur : Linus Torvalds, Greg Kroah-Hartman and many more Empaqueteur : thierryn1 at hispeed dot ch, tyrry33 at gmail dot com Taille : approx. 62 MBytes (62485144 octets) Somme MD5 : 208d6e6575a832a0e5ae22309c8f91bd [local copy OK] Version : 3.2.10-1 Fichiers : pre-install post-install README Le paquet kernel 3.2.7-2 est installé. [ ~ ]
Comme on peut le voir dans l'exemple ci-dessus, sont affichés: le nom du paquet, le nom du fichier du paquet, la description, l'URL du mirroir, l'URL des sources, le(s) mainteneur(s) du projet, l'empaqueteur(s), la taille du paquet (empaqueté), la signature md5sum, la version du paquet et si le paquet contient des scripts de pré, post install ains qu'un readme. Pour lire le README du paquet, on utilisera l'option readme> suivi du nom du paquet:
[ ~ ] pkg-get readme kernel Pour la construction du kernel il est necessaire d'avoir git et prt-get d'installé. [ ~ ]
Et enfin si l'on souhaite connaître la recette de fabrication d'un paquet, on utilise l'option cat suivi du nom du paquet:
[ ~ ] pkg-get cat kdeadmin
# Description: programmes pour gérer les utilisateurs, initialisation de fichiers, programateur de taches, et connections réseaux pour KDE
# URL: http://www.kde.org
# Maintainer: KDE Project : https://projects.kde.org/projects/kde
# Packager: lesibel at free dot fr
# Depends on: cmake,automoc4,kdelibs,kdepimlibs,pykde4,system-config-printer,libcups
# Run on: kdelibs,kdepimlibs,pykde4,system-config-printer,libcups
name=kdeadmin
version=4.8.1
release=1
source=( ftp://ftp.kde.org/pub/kde/stable/$version/src/$name-$version.tar.bz2)
build() {
cd $name-*
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
-DKDE_DEFAULT_HOME=.kde \
-DSYSCONF_INSTALL_DIR=/etc \
-DPYTHON_EXECUTABLE=/usr/bin/python2 \
-DCMAKE_{SHARED,MODULE,EXE}_LINKER_FLAGS='-Wl,--no-undefined -Wl,--as-needed'
make
make DESTDIR=$PKG install
}
[ ~ ]
Pour connaître les dépendances d'un paquet, c'est l'option depends toujours suivi du nom du paquet qui est utilisé:
[ ~ ] pkg-get depends glib Liste des dépendances pour: glib [i] = installé, [u] mise à jour disponibles [i] expat 2.0.1-1 [ ] glib 2.30.1-2 [ ~ ]
Si les dépendances sont déjà installées un [i] apparaît devant le nom, si la dépendance peut être mise à jour, un [u] s'affiche devant le nom et [ ] si elle n'est pas encore installée.
[ ~ ] pkg-get search lxde lxde lxde-common lxde-icon-theme [ ~ ] pkg-get dsearch lxde lxappearance Réglage de l'apparence pour lxde lxde Bureau X11 très léger basé sur gtk lxde-common set of default configuration for LXDE lxde-icon-theme Icones pour lxde lxdm Gestionnaire de sessions très légé (partie de lxde) lxlauncher launcher pour lxde lxpanel Panel lxde lxsession Gestionnaire de session pour lxde lxshortcut Gestionnaire de raccourcis pour lxde lxterminal Terminal pour lxde menu-cache Cache des menus lxde [ ~ ]
Grace au fichier inittab, il est possible de définir la façon de lancer NuTyX, en effet nous disposons de 4 modes d'initialisation:
# Begin /etc/inittab # Pour le lancement de la console: id:3 # Pour le lancement de lxdm: id:4 # Pour le lancement de kdm: id:5 id:5:initdefault: ....Dans cet exemple, ce sera donc le gestionnaire de sesssion de KDE qui sera lancé par défaut.
La configuration du clavier se fait à l'aide de 2 fichiers. Le fichier /etc/sysconfig/console définit la disposition du clavier dans une console non graphique. Le fichier /etc/X11/xorg.conf.d/20-keyboard.conf définit la disposition du clavier dans les interfaces graphiques tournant sur le serveur graphique xorg.
Exemple du fichier console:
FONT="lat0-16 -m 8859-15" UNICODE="1" LOGLEVEL=1 KEYMAP=fr_CH-latin1.mapLa variable KEYMAP est utilisée pour définir la disposition du clavier. Vous trouverez toutes les infos concernant le fichier /etc/sysconfig/console sur le site de linuxfromscratch.
Exemple du fichier 20-keyboard.conf:
Section "InputClass" Identifier "Generic Keyboard" Driver "evdev" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "ch" Option "Xkbrules" "xorg" Option "XkbVariant" "fr" Option "XkbOptions" "grp:alt_shift_toggle" EndSectionVous trouverez beaucoup d'information sur le net concernant les possibilités de configuration du fichier /etc/X11/xorg.conf.d/20-keyboard.conf.
La configuration du nom de la machine se trouve dans le fichier /etc/sysconfig/network. On y défini tout simplement la variable HOSTNAME. Pour changer le nom de la machine, le plus simple est d'utiliser la commande echo en root:
[ ~ ] echo "HOSTNAME=MaMachineNuTyX" > /etc/sysconfig/networkLe nom de la machine s'appelle désormais MaMachineNuTyX.
Si vous utilisez NuTyX de base, la configuration du réseau se fait via le fichier de configuration /etc/sysconfig/network-devices/ifconfig.eth0/dhcpcd. Il n'y a pas grand chose à configurer mais si malgré tout vous souhaitez connaître toutes les possibilités du fichier, vous trouverez les informations sur le site de BLFS
Si vous avez choisi d'utiliser l'une des interfaces graphique, la configuration du réseau est configurée par défaut via l'interface wicd.
Si vous souhaitez configurer une adresse statique sur NuTyX, vous avez 2 solutions:
ONBOOT=yes SERVICE=ipv4-static IP=192.168.1.1 GATEWAY=192.168.1.2 PREFIX=24 BROADCAST=192.168.1.255Vous trouverez toutes les infos concernant la configuration d'une adresse statique sur le site de linuxfromscratch.
Pour pouvoir accéder NuTyX via le protocole de connection shell sécurisée (SSH), il est nécessaire de configurer le fichier de configuration /etc/hosts.allow. Le minimum nécessaire pour que l'accès soit possible est d'y spécifier:
sshd: ALL
Il est cependant préférable de spécifier un filtre minimum.
L'amorçage de la machine se fait via l'utilitaire GRUB. Le fichier de configuration est le fichier /boot/grub/menu.lst. Ce fichier permet de spécifier quel système d'exploitation la machine doit amorcer. Dans le cas de NuTyX, la configuration est très simple.
title NuTyX PAKXE 2.6.35 sur /dev/sda5 root (hd0,4) kernel /boot/kernel root=/dev/sda5 ro quiet vga=791
Pour lancer le système de maintenance, il suffit de supprimer la variable root=/... et d'ajouter la ligne qui spécifiera l'initrd. Par exemple:
title NuTyX système de maintenance PAKXE 2.6.35 sur /dev/sda4 root (hd0,4) kernel /boot/kernel ro quiet vga=791 initrd /boot/nutyx-initrd
Lorsque vous installez le paquet xorg. les pilotes graphique seront installés pour les cartes graphiques suivante
Ca y est votre NuTyX est installée, il est temps de démarrer votre nouvelle installation NuTyX. Nous allons voir que la mise en route de NuTyX se fait en 3 étapes:
Si l'installation s'est faite correctement et depuis le média, le premier écran que vous voyez au démarrage du système est le menu du programme d'amoçage GRUB. Le premier choix est votre NuTyX fraîchement installée. On peut voir que l'installateur de GRUB a pris soin de préciser le système de fichiers utilisé et la partition utilisée. Si le système ne démarre pas ou se comporte de façon anormale, en deuxième choix, vous pouvez démarrer le système de maintenance. Ce choix de menu démarre une NuTyX qui se charge entièrement en mémoire vive. Une fois démarrée, vous pourrez effectuer toutes sortes de manipulations qui seront expliquées dans un chapitre dédié. Pour le moment, nous supposons que votre NuTyX est correctement installée.
Pour que GRUB puisse démarrer NuTyX, il doit connaître le disque, la partition, le système de fichiers de celle-ci. Le grand intérêt de GRUB est qu'il est capable de gérer des changement de configuration de menu sans devoir être réinstallé. Il dispose également de son propre langage de programmation avec lequel on configure et installe les fichiers de GRUB.
Si l'application GRUB est installée sur une partition dédiée, vous aurez la chance de ne plus jamais devoir le réinstaller. Le grand intérêt de GRUB (à condition que vous ne touchez plus jamais à la partition sur laquelle GRUB est installée), c'est qu'il est capable de gérer des changements de configuration de son menu et donc de pouvoir ajouter/supprimer des partitions sur lequelles vous pouvez ajouter supprimer des systèmes d'exploitation. La seule chose à faire est de mettre à jour le menu.lst. Les fichiers nécessaires au bon fonctionnement de GRUB sont (par ordre de lancement):
# The first entry is for System Maintenance. title Maintenance de NuTyX root (hd0,0) kernel /kernel ro quiet vga=791 initrd /nutyx-initrdIl y a 2 autres lignes très importantes à analyser:
# Begin /etc/inittab # Pour le lancement de la console: id:3 # Pour le lancement de lxdm: id:4 # Pour le lancement de kdm: id:5 id:5:initdefault: si::sysinit:/etc/rc.d/init.d/rc sysinit l0:0:wait:/etc/rc.d/init.d/rc 0 l1:S1:wait:/etc/rc.d/init.d/rc 1 l2:2:wait:/etc/rc.d/init.d/rc 2 l3:3:wait:/etc/rc.d/init.d/rc 3 l4:4:wait:/etc/rc.d/init.d/rc 4 l5:5:wait:/etc/rc.d/init.d/rc 5 l6:6:wait:/etc/rc.d/init.d/rc 6 ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -h now su:S016:once:/sbin/sulogin 1:2345:respawn:/sbin/agetty tty1 9600 2:2345:respawn:/sbin/agetty tty2 9600 3:2345:respawn:/sbin/agetty tty3 9600 4:2345:respawn:/sbin/agetty tty4 9600 5:2345:respawn:/sbin/agetty tty5 9600 6:2345:respawn:/sbin/agetty tty6 9600 20:4:respawn:/usr/sbin/lxdm >& /dev/null 30:5:respawn:/usr/bin/kdm # End /etc/inittabToutes lignes commençant par le symbole # sont des commentaires. Chaque ligne est constituée de plusieurs champs séparés par le symbole :.Le premier champ est une étiquette qui doit être unique. Le deuxième champ spécifie le numéro d'init. Le troisième champ spécifie le type d'action à effectuer sur la commande spécifiée en quatrième champ. La première ligne de code est l'exeption à la règle:
id:5:initdefault:spécifie dans quel numéro d'init NuTyX doit fonctionner. La commande /sbin/init est sans doute la seule commande linux qui voit son comportement changer en fonction du numéro de processus que le kernel lui attribue. En effet si vous exécutez la commande en root, vous n'allez pas initialiser depuis zéro votre machine mais plutôt faire basculer la machine dans le numéro que vous avez passez en argument. Par exemple, la commande:
init 3fera passer la machine en init 3.
si::sysinit:/etc/rc.d/init.d/rc sysinitva donc être exécuté lors de l'amorçage de NuTyX c'est à dire quand le numéro d'init n'est pas encore défini. C'est donc en toute logique que le deuxième champ n'est pas concerné. Tous les scripts d'initialisation sont situés sous le dossiers /etc/rc.d/init.d/la commande qui sera donc exécutée est
/etc/rc.d/init.d/rc sysinitLe fichier /etc/rc.d/init.d/rc va exécuter tous les fichiers qui se trouvent dans le dossier spécifié en argument. Pour l'argument sysinit, ce seront les fichiers placé dans le dossier /etc/rc.d/rcsysinit.d L'astuce c'est que dans ce dossier, ce sont tout des liens qui se réfèrent aux scripts situés dans le dossier des scripts /etc/rc.d/init.d/.
lrwxrwxrwx 1 root root 21 4 jui 16:44 S01mountkernfs -> ../init.d/mountkernfs lrwxrwxrwx 1 root root 20 4 jui 16:44 S02consolelog -> ../init.d/consolelog lrwxrwxrwx 1 root root 17 4 jui 16:44 S05modules -> ../init.d/modules lrwxrwxrwx 1 root root 14 4 jui 16:44 S10udev -> ../init.d/udev lrwxrwxrwx 1 root root 18 4 jui 16:44 S15setclock -> ../init.d/setclock lrwxrwxrwx 1 root root 18 4 aoû 08:37 S19lvmnodes -> ../init.d/lvmnodes lrwxrwxrwx 1 root root 17 4 jui 16:44 S20checkfs -> ../init.d/checkfs lrwxrwxrwx 1 root root 17 4 jui 16:44 S30mountfs -> ../init.d/mountfs lrwxrwxrwx 1 root root 14 4 jui 16:44 S40swap -> ../init.d/swap lrwxrwxrwx 1 root root 17 4 jui 16:44 S45cleanfs -> ../init.d/cleanfs lrwxrwxrwx 1 root root 20 4 jui 16:44 S50udev_retry -> ../init.d/udev_retry lrwxrwxrwx 1 root root 17 4 jui 16:44 S70console -> ../init.d/console lrwxrwxrwx 1 root root 18 4 jui 16:44 S80localnet -> ../init.d/localnet lrwxrwxrwx 1 root root 16 4 jui 16:44 S90sysctl -> ../init.d/sysctlLorsque le script rc a terminé d'exécuter tous les scripts spécifiés dans le dossier /etc/rc.d/rcsysinit.d/, comme le montre l'exemple d'inittab ci-dessus la commande init va exécuter dans l'ordre les lignes dont le deuxième champ contient le chiffre 5 c'est à dire les 2 lignes suivantes:
l5:5:wait:/etc/rc.d/init.d/rc 5 30:5:respawn:/usr/bin/kdmIl va donc exécuter les scripts spécifiés dans le dossier /etc/rc.d/rc5.d:
lrwxrwxrwx 1 root root 18 4 jui 16:44 S10sysklogd -> ../init.d/sysklogd lrwxrwxrwx 1 root root 18 7 aoû 08:37 S19iptables -> ../init.d/iptables lrwxrwxrwx 1 root root 14 31 jui 11:03 S20dbus -> ../init.d/dbus lrwxrwxrwx 1 root root 17 4 jui 16:44 S20network -> ../init.d/network lrwxrwxrwx 1 root root 19 19 jui 14:39 S21haldaemon -> ../init.d/haldaemon lrwxrwxrwx 1 root root 17 7 jun 18:02 S22portmap -> ../init.d/portmap lrwxrwxrwx 1 root root 20 19 jun 18:28 S24nfs-server -> ../init.d/nfs-server lrwxrwxrwx 1 root root 14 10 aoû 10:32 S25cups -> ../init.d/cups lrwxrwxrwx 1 root root 18 6 jui 18:01 S25openldap -> ../init.d/openldap lrwxrwxrwx 1 root root 16 4 jui 16:44 S25random -> ../init.d/random lrwxrwxrwx 1 root root 15 7 jun 18:02 S28netfs -> ../init.d/netfs lrwxrwxrwx 1 root root 14 8 jun 17:56 S30sshd -> ../init.d/sshd lrwxrwxrwx 1 root root 15 13 jui 13:12 S45samba -> ../init.d/samba lrwxrwxrwx 1 root root 17 13 jui 13:12 S50winbind -> ../init.d/winbind lrwxrwxrwx 1 root root 13 4 jui 16:44 S70gpm -> ../init.d/gpmet pour terminer la commande init lancera le gestionnaire de connection de KDE, le fichier /usr/bin/kdm. Il y a une raison bien précise au choix d'utiliser des liens:
Vous avez sans doute remarqué que lorsque votre système d'exploitation NuTyX démarre, vous avez la possibilité de lancer le système de maintenance : A quoi peut-il bien servir ? Il faut savoir que le système de maintenance peut faire exactement la même chose que l'iso de base.
AVERTISSEMENTSoyez très prudent avec cette fonctionnalité. Vous pouvez en effet tout casser et tout réinstaller sans avoir besoin du mot de passe de l'administrateur de la machine (root). Ce qui veut dire que si cela vous semble dangereux ou que vous êtes dans un endroit où d'autres personnes peuvent accéder à votre machine, la meilleure chose à faire est d'activer un mot de passe au démarrage de la machine (GRUB) et/ou au lancement du bios (cette opération se fait dans le bios). Pensez également à désactiver le boot depuis le DVD et depuis le support externe.
Si cette fonctionnalité vous semble excessive voire trop permissive, il suffit de supprimer le fichier /boot/nutyx-initrd et de supprimer la ligne initrd dans le fichier de configuration de GRUB /boot/grub/menu.lst en se basant sur l'exemple-ci dessous.
# Begin /boot/grub/menu.lst # By default boot the first menu entry. default 0 # Allow 10 seconds before booting the default. timeout 10 # Use prettier colors. color green/black light-green/black # Le superbootsplash gfxmenu (hd0,0)/boot/message # The second entry is the first production one title NuTyX root (hd0,0) kernel /boot/kernel root=/dev/sda1 ro quiet # The third entry is for eventually Windows boot title Windows rootnoverify (hd0,X) chainloader +1
Depuis la version pakxe.3, l'outil de gestion des paquets binaires suffit amplement pour un utilisateur lambda qui ne souhaite donc pas trop compiler ses paquets soi-même. Cela signifie que désormais, NuTyX fait mieux la différence entre les paquets binaires et les paquets que l'on souhaite compiler soi-même. Pour pouvoir profiter des outils décrits ci-dessous, commencez par installer les outils de développement.
[ ~ ] get devTous les paquets binaires nécessaires au développement seront donc installés et vous serez paré pour construire vos propres paquets.
Le port est un dossier contenant un nombre de fichiers nécessaire pour la construction d'un paquet. La commande pkgmk permet de "construire" le paquet qui sera ensuite installable. Pour être fonctionnel, ce dossier doit contenir au minimum un fichier appelé Pkgfile. C'est grâce à ce fichier que la construction du paquet peut se faire. Le contenu de Pkgfile contient toutes les informations nécessaires pour pouvoir "construire" ou plus exactement compiler le paquet depuis les sources. Les ports officiels de NuTyX contiennent aussi toujours 2 autres fichiers dans le dossier: le .footprint et le .md5sum. Chaque paquet est constitué de fichiers et dossiers, pour s'assurer que la résultat de la compilation soit correct, cad que les fichiers produits par le fichier Pkgfile soient toujours identiques, l'outil compare la liste des fichiers et dossiers produits avec le contenu du fichier .footprint. Ce fichier sert en quelque sorte de signature du paquet. Le fichier .md5sum est sans doute le + important, il garantie que les sources à télécharger aient la bonne somme MD5. De cette façon vous êtes assuré de télécharger les bonnes sources du paquet. Si il y a une différence lors du téléchargement, il est important d'en identifier la raison.
Le nom port est emprunté du monde BSD où un port réfère à un logiciel "porté" sur un système d'exploitation ou une platforme. Dans notre cas, le port est simplement la définition de la construction d'un paquet.
Le terme système de ports se réfère à un dépot sur internet contenant les ports originaux. Une application client permet de télécharger et mettre à jour ce dépot depuis internet. Les utilisateurs NuTyX utilisent l'utilitaire ports(8) pour télécharger les ports depuis le dépot et ils sont stockés dans le dossier /usr/ports/. L'utilitaire utilise la commande rsync pour le téléchargement/synchronisation des ports.
Les ports de NuTyX sont organisés en collections. Nous trouvons deux groupes collections: les collections officielles et publiques
Dans la collection officielle, nous trouvons:
La base: Cette collection contient tous les ports installés par un système de base.
La collection extra contient toutes les applications pour le bon fonctionnement d'une interface graphique.
Des collections publiques sont désormais disponible. Ces ports sont proposé par la communautée de contributeurs. Les ports peuvent être intégré dans NuTyX en activant le fichier de configuration adéquoit.
Lorsque vous installez NuTyX, la structure des ports est également installée. Après un certain temps, il est temps de mettre à jour la structure locale avec le dépot à distance. On utilise en root la commande ports avec l'option -u. La commande ci-dessous:
[ ~ ] ports -uL'option -u signifie mettre à jour la liste et demande à ports de contacter le dépot et télécharger et/ou mettre à jour les ports. La sortie ressemble à ceci:
Updating file list from downloads.nutyx.org::ports/nutyx-sekong/base/ Updating collection base ... .... ... Finished successfully Updating file list from downloads.nutyx.org::ports/nutyx-sekong/extra/ Updating collection base .. .. .. Finished successfullyLa sortie montre les fichiers téléchargés, mis à jour ou effacés.
Pour afficher le contenu de la structure des ports et trouver ce qui est disponible, il suffit d'aller dans un des dossiers et de lister son contenu par exemple:
[ ~ ] cd /usr/ports/base [ /usr/ports/base ] ls aaabasicfs dosfstools hdparm libarchive liboil netcdf abook doxygen hicolor-icon-theme libart_lgpl libopendaap net-tools rpm2targz antiword dropbear htop libattr libpcap noip audiofile dvd+rw-tools httrack libburn libpng nspr rt2x00-rt61-fw autoconf e2fsprogs hunspell libcdaudio libraw1394 ntfs-3g automake ed hyphen libcdio libsidplay nutyxman sed b43-fwcutter eina iana-etc libdaemon libsigc++ opensp babl eject inetutils libdatrie libsigsegv openssh shadow bash elinks initrd libdca libtasn1 openssl bc ethtool initrd-lts libdvbpsi libtirpc p5-alien splashy beecrypt expat initrd-pae libdvdcss libtool p5-anyevent squashfs bin86 faad2 iproute2 libebml libtool226 p5-archive-zip sudo bind-utils fakeroot iptables libelf libusb p5-date-manip swig binutils fam ipw2100-fw libev libusb1 p5-exiftool sysfsutils bison fcron ipw2200-fw libevent libv4l p5-html-parser sysklogd blas file irssi libexif libvisual p5-html-tagset sysvinit boehm-gc findutils iwlwifi-3945-ucode libfame libvncserver p5-uri tar bogofilter flashplayer iwlwifi-4965-ucode libffi libxdg-basedir p5-xml-simple tcl btrfs-progs flex iwlwifi-5000-ucode libgadu libxmi p5-xml-writer tcp_wrappers busybox freetype iwlwifi-5150-ucode libggz libzip p5-yaml texinfo bwm-ng fuse jade libical links p7zip tidyhtml bzip2 gavl jam libiconv lm_sensors patch tla cabextract gawk jdk libid3tag lucene pciutils udev cdparanoia gcc jfsutils libidn lvm2 pcre units cdrdao gcc-fortran joe libiodbc lynx perl unixodbc chmlib gdbm john libixp m4 physfs unrar clamav gettext kbd libjbig madwifi pkg-config unzip coreutils glib kerberos libjpeg make pkg-get util-linux-ng cpio glib1 kernel libmad man-db pkgutils vim cryptsetup glibc kernel-2.6.35 libmikmod mc popt virtuoso ctags gmm kernel-pae libmodplug mdadm portmap wavpack cvs gmp kernel-pae-2.6.35 libmowgli mmsrip ports wget db gnet kqemu libmpc module-init-tools procps whois dbh gpm ladspa libmpdclient mpfr protobuf xfsprogs device-mapper grep lame libmpeg2 mtools prt-get xz-utils dhcpcd groff less libmysql nano psmisc yasm dialog gsl liba52 libmythes nanoblogger qingy zip diffutils guile libacpi libnl nasm readline zlib directfb-1.0 gzip libaio libogg ncurses reiserfsprogsVous pouvez également utiliser ports avec l'option-l pour lister tous les ports trouvés localement. Par exemple:
[ ~ ] ports -l base/aaabasicfs base/abook base/antiword base/audiofile base/autoconf base/automake base/b43-fwcutter base/babl base/bash ....
Si vous cherchez un paquet spécifique, une des approches pourrait être:
[~] ports -l | grep wifiVous devriez obtenir tous les ports contenant la chaîne wifi et dans quel categorie il est localisé.
Pour savoir si la collection de ports contient des paquets différents de ceux installés, vous pouvez utiliser l'option -d. Si des versions différentes existent la sortie de la commande ports -d peut ressembler à ceci:
Collection Name Port Installed base aaabasicfs 2010-24082010 2010-04072010 base bison 2.4.3-1 2.4.2-1 base initrd 2.6.34.5-1 2.6.34.2-2 base iproute2 2.6.35-1 2.6.33-1 ....Encore une fois vous pouvez passer le résultat de la commande à travers un tube à grep pour connaître le résultat d'un paquet spécifique.
[ ~ ] ports -d|grep phononSi aucune différence n'est trouvée sur votre NuTyX, votre système d'exploitation est donc à jour et ses ports sont synchronisés. Le résultat de la sortie sera simplement:
[ ~ ] ports -d No differences foundAucune différence trouvée.
Maintenant que vous connaissez les bases du fonctionnement des ports, il est temps de savoir comment les construire, etc.
Les ports se synchronisent avec le serveur grâce à un fichier de configuration spécifiant différentes informations:
Pour profiter des ports d'une collection publique, il faut un fichier du nom de la collection (ouvert,gnome,etc) avec extension .rsync. Un exemple de fichier de configuration d'une collection, ici la collection publique ouvert:
host=downloads.nutyx.org collection=ports/nutyx-sekong/ouvert/ destination=/usr/ports/ouvert
Le nom du fichier s'appelle ouvert.rsync et se trouve donc dans le dossier /etc/ports/. Il suffit de remplacer ouvert par gnome pour synchroniser les ports de la collection gnome. Et enfin pour que la commande prt-get trouve la nouvelle collection, il faut ajouter l'information dans le fichier de configuration.
Maintenant que vous connaissez le sens d'un port, vous souhaitez certainement savoir comment le construire et l'installer. Il suffit de se rendre dans le dossier du nom du paquet que vous souhaitez installer et utiliser la commande (le script) pkgmk pour le construire et ceci en root. Exemple:
[ ~ ] cd /usr/ports/base/bison [ /usr/ports/base/bison ] pkgmk -d
L'option -d demande au script de télécharger les sources spécifiées dans le Pkgfile du paquet. Quand le téléchargement est terminé, le paquet sera construit (compilé). Si le paquet est construit sans erreur, vous devriez obtenir un message similaire à ceci
=======> Building '/tmp/bison#2.4.3-1.pkg.tar.xz' succeeded. [ /usr/ports/base/bison ]
Félicitations, vous venez de compiler votre premier paquet. Comme vous pouvez le constater le résultat est un fichier dont le nom est composé du nom du paquet+sa version+sa release. Veuillez bien noter que pour l'instant vous avez juste construit le paquet, il n'est pas encore installé. C'est un fichier utilisable par la commande tar mais nous allons utiliser la commande adéquate pour installer le paquet compilé. La commande pour installer le paquet est:
[ /usr/ports/base/bison ] pkgadd /tmp/bison#2.4.3-1.pkg.tar.xzHeureusement, pour nous rendre la vie plus simple le script pkgmk est capable d'installer directement le paquet qu'il vient de compiler
[ /usr/ports/base/bison ] pkgmk -d -iCette commande téléchargera, compilera et installera le paquet bison
[ /usr/ports/base/bison ] pkgmk -d -uPour connaître toutes les options de pkgmk, vous pouvez taper:
[ ~ ] pkgmk -h usage: pkgmk [options] options: -i, --install compile et installe le paquet -u, --upgrade compile et installe le paquet (met à jour) -r, --recursive recherche et compile les paquets de façon récursive -d, --download télécharge les fichiers sources manquants -do, --download-only télécharge uniquement les fichiers sources sans compiler -eo, --extract-only extrait uniquement les source sans construire le paquet -utd, --up-to-date véridie uniquement si le paquet est à jour -uf, --update-footprint met à jour la signature du paquet résultant de la dernière compilation -if, --ignore-footprint compile le paquet en ignorant la signature -in, --ignore-new compile le paquet en ignorant la nouvelle signature -um, --update-md5sum met à jour le md5sum -im, --ignore-md5sum compile le paquet en ignorant le md5sum -cm, --check-md5sum vérifie seulement le md5sum -ns, --no-strip ne réduit pas les binairess ou librairies -f, --force force la compilation même si le paquet est à jour -c, --clean supprime le paquet et les sources -kw, --keep-work garde les dossiers de travail -kl, --keep-locale garde les autres locales que celles prédéfinies -cf, --config-fileLa commande pkgadd avec l'option -u mettra le paquet à jour avec le fichier (et son chemin complet) passé en argumentutiliser un fichier de configuration spécifique -v, --version affiche uniquement la version -h, --help affiche uniquement l'aide
[ /usr/ports/base/bison ] pkgadd -u /srv/NuTyX/locale/bison#2.4.3-1.pkg.tar.xz [ /usr/ports/base/bison ]
[ ~ ] pkgrm bison [ ~ ]Comme vous pouvez le voir aucune confirmation n'est demandée et aucun message n'est apparu, le paquet bison est pourtant bien supprimé.
[ ~ ]pkginfo -i aaabasicfs 2010-09082010 autoconf 2.65-1 automake 1.11-2 bash 4.1-1 binutils 2.20.1-1 bison 2.4.3-1 bzip2 1.0.5-1 coreutils 8.5-1 cpio 2.11-1 ...
[ ~ ]pkginfo -l bash bin/ bin/bash bin/bashbug usr/ usr/share/ usr/share/info/ usr/share/info/bash.info.gz usr/share/locale/ usr/share/locale/fr/ usr/share/locale/fr/LC_MESSAGES/ usr/share/locale/fr/LC_MESSAGES/bash.mo usr/share/man/ usr/share/man/man1/ usr/share/man/man1/bash.1.gz usr/share/man/man1/bashbug.1.gz
[ ~ ]pkginfo -o bin/ls Package File coreutils bin/ls e2fsprogs usr/bin/lsattr module-init-tools bin/lsmod util-linux-ng usr/bin/lscpu
# # /etc/pkgmk.conf: pkgmk(8) configuration # export CFLAGS="-O2 -march=i686 -pipe" export CXXFLAGS="-O2 -march=i686 -pipe" # PKGMK_SOURCE_MIRRORS=() PKGMK_SOURCE_DIR="/srv/sources" # PKGMK_PACKAGE_DIR="$PWD" PKGMK_WORK_DIR="/tmp/work" # PKGMK_DOWNLOAD="no" # PKGMK_IGNORE_FOOTPRINT="no" # PKGMK_IGNORE_NEW="no" # PKGMK_NO_STRIP="no" # PKGMK_WGET_OPTS="" PKGMK_COMPRESSION_MODE="xz" PKGMK_LOCALES="fr" # End of fileCe fichier configure les options de configuration en fonction de son microprocesseur. Les variables sont:
[ ~ ] prt-get depinst xorg prt-get: installing /usr/ports/base/expat .... prt-get: installing expat 2.0.1-1 prt-get: installing /usr/ports/xorg/libpthread-stubs ... prt-get: installing libpthread-stubs 0.3-1 ...Tous les paquets dont xorg dépend seront compilés et installés dans le bon ordre et enfin xorg sera compilé et installé.
[ ~ ] prt-get diff Differences between installed packages and ports tree: Port Installed Available in the ports tree initrd 2.6.34.2-3 2.6.34.5-1 pkg-get 0.5.0-1 0.5.1-1 ports 1.5-5 1.5-6 prt-get 5.18-1 5.18-2Maintenant si l'on souhaite mettre tous les ports à jour avec une seule ligne de commande.
[ ~ ] prt-get sysupTous les paquets à mettre à jour seront mis à jour.
[ ~ ] prt-get info python Name: python Path: /usr/ports/extra Version: 2.6.5 Release: 1 Description: Environnement de développement python URL: http://www.python.org Packager: thierryn1 at hispeed dot ch Maintainer: NuTyX core team Dependencies: pth,sqlite3Il existe encore beaucoup de possibilités à explorer, je vous renvoie aux pages de manuel de prt-get (en anglais) pour en connaître tous les détails.
NuTyX dispose actuellement de quelques 1300 applications disponibles en binaires. C'est à la fois beaucoup et pas beaucoup en effet les jours ou presque sortent de nouvelles applications sous licence libre (ou pas). Rien que sur le site de sourceforge.net, on peut y trouver plus de 5000 applications toutes platformes confondues. Si vous avez trouvez l'application de vos rêves, il faudra par un moyen ou un autre la compiler, l'installer et la faire fonctionner dans NuTyX. Pour mener à bien cette opération, voici comment procéder. Nous allons voir 2 approches différentes afin de vous familiariser avec la compilation. La première approche se fait entièrement "à la main". Pour éviter toute fausse manoeuvre, nous utilisons notre propre compte utilisateur , il n'est pas nécessaire d'utiliser le compte root. La deuxième approche est la methode utilisée pour la compilation de toutes applications disponible sous NuTyX. Il est recommandé de tester la compilation du port avec son propre compte, si tout se passe bien, on le recompilera en root.
Supposons que vous avez choisis de compiler une application depuis les sources. Pour pouvoir compiler une application sans trop de problème, il y a plusieurs choses à connaître: L'url du site du/des développeur(s), le lien où trouver les sources de l'application que l'on souhaite compiler, les dépendances de l'application qu'il faut avoir compilé et /ou installé au préalable. C'est sans doute la partie la plus délicate à connaître car pas toujours bien informée sur le site du développeur. Une lecture du fichier README ou INSTALL peut souvent aider.
Pour commencer, afin d'avoir tous les fichiers "sous le même toit", je crée un dossier et me place dedans:
[ ~ ] mkdir paquet-source [ ~ ] cd paquet-source [ ~/paquet-source ]Comme exemple nous allons choisir l'éditeur de texte scite du site scintilla. Les sources de l'application se trouvent ici. Première difficulté, il faut identifier l'url de téléchargement avec précision pour pouvoir la réutiliser dans la deuxième approche. Si le projet se trouve sur sourceforge.net, le lien de téléchargement est un peu spécial, il varie en fonction de votre région. Donc si je copie ici le lien de téléchargement des sources:
http://downloads.sourceforge.net/project/scintilla/SciTE/2.21/scite221.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fscintilla%2Ffiles%2F&ts=1284313048&use_mirror=ignumCe lien ne sera pas utilisable par la commande wget. Il faut donc l'adapter et tout supprimer ce qui se trouve derrière le ? Donc si l'on utilise la commande suivante
[ ~/paquet-source ] wget http://downloads.sourceforge.net/project/scintilla/SciTE/2.21/scite221.tgz --2010-09-12 19:45:37-- http://downloads.sourceforge.net/project/scintilla/SciTE/2.21/scite221.tgz Résolution de downloads.sourceforge.net... 216.34.181.59 Connexion vers downloads.sourceforge.net|216.34.181.59|:80...connecté. requête HTTP transmise, en attente de la réponse...302 Found Emplacement: http://sunet.dl.sourceforge.net/project/scintilla/SciTE/2.21/scite221.tgz [suivant] --2010-09-12 19:45:37-- http://sunet.dl.sourceforge.net/project/scintilla/SciTE/2.21/scite221.tgz Résolution de sunet.dl.sourceforge.net... 194.71.11.73 Connexion vers sunet.dl.sourceforge.net|194.71.11.73|:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 1920326 (1,8M) [application/x-gzip] Sauvegarde en : «scite221.tgz» 100%[=============================================================================================================>] 1.920.326 1,07M/s ds 1,7s 2010-09-12 19:45:39 (1,07 MB/s) - «scite221.tgz» sauvegardé [1920326/1920326] [ ~/paquet-source ]Les sources sont désormais dans le dossier personnel de l'utilisateur, afin de s'assurer que les sources soient correctement téléchargées, un moyen est d'analyser le début du contenu du fichier téléchargée:
[ ~/paquet-source] tar --list --file scite221.tgz | head scintilla/bin/ scintilla/bin/empty.txt scintilla/bin/.cvsignore scintilla/cocoa/ scintilla/cocoa/QuartzTextStyle.h scintilla/cocoa/Framework.mk scintilla/cocoa/ScintillaTest/ scintilla/cocoa/ScintillaTest/AppController.mm scintilla/cocoa/ScintillaTest/main.m scintilla/cocoa/ScintillaTest/ScintillaTest.xcodeproj/ tar: erreur d'écriture [ ~/paquet-source ]On peut ignorer le message tar: erreur d'écriture ce qui est important c'est de constater que lorsque les sources seront extraites du fichier, elles se trouveront dans le dossier scintilla. Ce n'est pas toujours le cas, souvent le développeur ajoute la version de l'application au nom du dossier. Nous allons maintenant tenter d'extraire les fichiers du téléchargement et entrer dans le dossier des sources.
[ ~/paquet-source ] tar xf scite221.tgz [ ~/paquet-source ] l total 1,9M drwxrwxr-x 4 install install 136 12 sep 19:51 . drwxr-xr-t 177 install install 12K 12 sep 19:38 .. drwxrwxr-x 14 install install 544 12 sep 19:51 scintilla drwxrwxr-x 11 install install 576 12 sep 19:51 scite -rw-rw-r-- 1 install install 1,9M 2 sep 03:00 scite221.tgz [ ~/paquet-source ]On peut voir que 2 dossiers ont été créés. Le fichier scite/README va nous expliquer comment compiler le paquet-source. En gros on peut y lire:
You must first have GTK+ 2.0 or later and GCC (4.1 or better) installed. GTK+ 1.x will not work. Other C++ compilers may work but may require tweaking the make file. To build Scintilla, use the makefile located in the scintilla/gtk directory cd scintilla/gtk make cd ../.. To build and install SciTE, use the makefile located in the scite/gtk directory cd scite/gtk make make install This installs SciTE into $prefix/bin. The value of $prefix is determined from the location of Gnome if it is installed. This is usually /usr if installed with Linux or /usr/local if built from source.Il faut donc s'assurer d'avoir gtk2
[ ~/paquet-source ] pkginfo -i|grep gtk gtk 2.20.1-1 gtk-doc 1.11-1 pygtk 2.17.0-1 [ ~ ]Nous sommes prêt maintenant pour compiler les sources.
[ ~/paquet-source ] cd scintilla/gtk [ ~/paquet-source/scintilla/gtk ] make ... .... touch ../bin/scintilla.a [ ~/paquet-source/scintilla/gtk ] cd ../.. [ ~/paquet-source ] cd scite/gtk [ ~/paquet-source/scite/gtk ] make ... ... g++ `` -rdynamic -Wl,--as-needed -Wl,--version-script lua.vers -DGTK SciTEGTK.o GUIGTK.o Widget.o FilePath.o SciTEBase.o SciTEBuffers.o SciTEIO.o String List.o Exporters.o StringHelpers.o PropSetFile.o MultiplexExtension.o DirectorExtension.o SciTEProps.o StyleWriter.o Utf8_16.o JobQueue.o GTKMutex.o IFace Table.o ../../scintilla/bin/scintilla.a LuaExtension.o lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o ltablib.o lstrlib.o loadlib.o loslib.o linit.o -o ../bin/SciTE -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 - lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -ldl -lstdc++ [ ~/paquet-source/scite/gtk ]La compilation prend du temps, une fois terminée et si aucune erreur n'est survenue, on devrait pouvoir l'installer et si possible pour ne pas de faire de bétises. Il suffit maintenant de s'assurer que les binaires attérissent au bon endroit. Comme nous sommes un utilisateur normale, la moindre tentative d'installer des binaires dans le système NuTyX sera voué à un échec et c'est très bien ainsi. Donc si on fait
[ ~/paquet-source/scite/gtk ] make install install -m 755 -d /usr/bin /usr/share/scite install: impossible de changer les permissions de « /usr/share/scite »: Aucun fichier ou dossier de ce type make: *** [install] Erreur 1 [ ~/paquet-source/scite/gtk ]Il faut donc spécifier la destination, quelque part dans le dosssier personnel. On commence donc par créer un dossier de destination:
[ ~/paquet-source/scite/gtk ] mkdir ~/paquet-binaireComme on a pu le lire dans le readme, le makefile utilise la variable destdir pour spécifier la destination des binaires. Pour installer le paquet au bon endroit c'est à dire dans ~/paquet-binaire, on utilise la syntaxe suivante
[ ~/paquet-source/scite/gtk ] make DESTDIR=~/paquet-binaire make install -m 755 -d /home/thierry/paquet-binaire/usr/bin /home/thierry/paquet-binaire/usr/share/scite install -m 755 ../bin/SciTE /home/thierry/paquet-binaire/usr/bin for files in ../src/*.properties ../doc/*.html ../doc/SciTEIco.png ../doc/PrintHi.png; \ do \ install -m 644 $files /home/thierry/paquet-binaire/usr/share/scite; \ done install -m 755 -D SciTE.desktop /home/thierry/paquet-binaire/usr/share/applications/SciTE.desktop install -m 644 -D Sci48M.png /home/thierry/paquet-binaire/usr/share/pixmaps/Sci48M.png [ ~/paquet/scite/gtk ]Et voilà vous venez de compiler votre paquet entièrement à la main. Il faut savoir que ce n'est pas toujours aussi simple de compiler un paquet depuis les sources. Beaucoup de choses peuvent varier, par exemple dans cet exemple, il n'y avait pas de commande de configuration. Les dépendances n'étaient pas trop nombreuses, il fallait juste s'assurer d'avoir gtk d'installé. Vous pouvez maintenant tester votre application:
[ ~/paquet/scite/gtk ] cd [ ~ ] paquet-binaire/usr/bin/SciTeL'application devrait s'ouvrir. Si tout se passe bien il ne vous reste plus qu'à transférer tous les fichiers se trouvant dans le dossier ~/paquet-binaire à la racine de NuTyX et cela doit se faire via le compte root. Avant de faire cela, je propose de vous expliquer pourquoi ce n'est pas une bonne idée et de plutôt préférer la deuxième approche ci-dessous.
Inconvénients
La première approche nous a appris quelques aspects bien utiles qui seront repris par l'outil pkgutils de façon transparente. Avec cette approche nous allons créer un port qui sera utilisé par pkgutils
# Description:
Cette ligne permet de donner des informations précises sur ce que fait, contient le paquet. L'information se retrouve lorsqu'on souhaite des informations sur le paquet:[ ~ ] prt-get info openoffice Name: libreoffice Path: /usr/ports/base Version: 3.6.4.3 Release: 2 Description: Suite complète de office en logiciel libre URL: http://www.openoffice.org Packager: lesibel at free dot fr Maintainer: NuTyX packager team Dependencies: rpmextract,libmspack,gconf,nss,pstoedit,poppler,openldap,kdelibs,qt,lpsolve,libmythes,hyphen [ ~ ]Cette information est également disponible sur le page des paquets
# URL:
Cette ligne spécifie le lien url des développeurs du paquet, c'est évidement indispensable de connaître le site.# Maintainer:
Cette ligne spécifie le groupe des mainteneurs ou des développeurs qui maintiennent le paquet. On peut y trouver l'adresse email du dévelopeur ou du mainteneur. Cela varie.# Packager:
Cette ligne vous informe qui (en spécifiant le courriel) a construit le paquet pour que le résultat de celui-ci fonctionne.# Depends on:
Les dépendances du paquet séparées par une virgule seront listées dans cette ligne. Ce qu'il faut savoir: - Il n'est pas obligatoire de spécifier toutes les dépendances du port mais seules les dépendances directes suffisent. En vérifiant par exemple les dépendances de gtk, on se rend compte que xorg est une dépendance de gtk. Si le port dépend de gtk, il est inutile de spécifier xorg comme dépendance puisque c'est déjà une dépendance de gtk. - Si vous utilisez pkgutils pour la construction d'un paquet, les dépendances ne seront pas prise en compte, ce qui peut parfois être utile et nécessaire si l'on souhaite une version allégée (par exemple) du port. Dans ce cas il est très probable que le résultat de la construction sera différente de celle du Packager du port, vous le saurez en recevant un message d'avertissement disant que le .footprint est différent. A vous de prendre la décision de le garder tel quel ou d'installer (ou de compiler via prt-get par exemple).# Run on:
Les dépendances binaires du paquets séparées par une virgule seront listées dans cette ligne. Elles peuvent être différentes des dépendances précédentes, en effet très souvent un paquet binaire ne necessite pas les mêmes dépendances pour être compilé et pour pouvoir fonctionner.Les variables utilisées par pkgutils
name=
Cette ligne spécifie le nom du paquet. Notez qu'il est IMPERATIF que le nom du paquet soit identique au nom du dossier dans lequel se trouve le fichier Pkgfile. Tous les paquets sont toujours écrit en minuscule. Les symboles - et _ sont autorisés. Dans le cas de module perl, le nom devrait commencer par p5 et dans le cas de module de python, par py. Il y a malheureusement certains nom qui ne suivent pas la règle.version=
Une application est toujours suivie d'une version, il s'agit dans 99 % des cas de la version des sources de l'application.release=
Le port peut connaître plusieurs évolutions, la variable release est utilisée pour informer l'utilisateur de l'évolution du port (et non des sources du port). Donc dans la plupart des cas, le numéro de release est égale à 1. Dans ce cas on a bien la première sortie du port.source=()
Pour pouvoir être compilé, la compilation nécessite les sources à télécharger. Cette ligne spécifie l'URL complète des sources. Les formats HTTP et FTP sont supportés. Notez que la définition de cette variable utilise des parenthères. Maintenant que nous avons définis toutes les variables, il ne reste plus qu'à fournir "le travail d'assemblage" que l'interpréteur va nous fournir en utilisant la fonctionbuild()
{
..
}
La fonction s'appelle build et se définie entre les accolades. On y retrouvera donc toutes les commandes nécessaire pour la
compilation du paquet.
SRC et PKG
Ces variables ne sont pas définies dans le port mais sont disponible. SRC désigne le dossier de base où sont chargés les fichiers concernant le port. PKG désigne le dossier finale des fichier binaires et qui sera la base du paquet empaqueté. Il contient donc l'ensemble des fichiers finaux, sorte d'arborescence qui sera utilisée pour faire un paquet archivé et compressé
# Description: Editeur de texte graphique
# URL: http://www.scintilla.org
# Maintainer: Future contributeur NuTyX
# Packager: john at bluewin dot ch
# Depends on: gtk
# Run on: gtk
name=scite
version=2.21
release=1
source=(http://downloads.sourceforge.net/project/scintilla/SciTE/${version}/${name}221.tgz
build() {
cd scintilla/gtk
make
cd ../../
cd $name/gtk
make
make DESTDIR=$PKG install
ln -s SciTe $PKG/usr/bin/$name
}
Il est recommandé de créer un dossier afin d'y placer tous ses ports personnel. En root:
[ ~ ] mkdir /usr/ports/personnel [ ~ ] cd /usr/ports/personnel [ /usr/ports/personnel ]Il faut maintenant créer le dossier dans lequel on y ajoutera le Pkgfile.
[ /usr/ports/personnel ] mkdir scite [ /usr/ports/personnel ] cd scite [ /usr/ports/personnel/scite ]Créez le Pkgfile comme ci-dessus et sauvegardez-le dans le dossier /usr/ports/personnel/scite. Il suffit maintenant de le compiler via la commande pkgmk -d -i
[ /usr/ports/personnel/scite ] pkgmk -d -i ... .. =======> WARNING: Footprint not found, creating new. =======> Building '/usr/ports/personnel/scite/scite#2.21-1.pkg.tar.xz' succeeded. =======> Installing '/usr/ports/personnel/scite/scite#2.21-1.pkg.tar.xz'. pkgadd /usr/ports/personnel/scite/scite#2.21-1.pkg.tar.xz =======> Installing '/usr/ports/personnel/scite/scite#2.21-1.pkg.tar.xz' succeeded. [ /usr/ports/personnel/scite ]Vous venez de créer, compiler et installer votre premier port. Si vous allez dans le menu -> utilitaires-> Editeur de Texte SciTE et l'application se lance. Vous pouvez maintenant maintenir ou supprimer très facilement le paquet ainsi construit.
[ /usr/ports/personnel/scite ] pkginfo -i|grep scite scite 2.21-1 [ /usr/ports/personnel/scite ]
BON À SAVOIRSi vous avez la chance de disposez un processseur multicores, pensez à ajouter la ligne:
export MAKEFLAGS="-j 5"dans le fichier /etc/pkgmk.conf, cela vous permet de profiter des 4 processeurs de votre machine. Ajustez en fonction de votre situation: nombre de processseurs + 1
[ ~ ] prt-get info scite Package 'scite' not found [ ~ ]Comme expliqué plus haut, il faut spécifier l'information dans le fichier de configuration /etc/prt-get.conf. On y ajoute donc:
prtdir /usr/ports/personelMaintenant toutes les informations du paquet scite sont disponibles. Il est également possible désormais de voir les dépendances nécessaires au paquet
[ ~ ] prt-get depends scite .... [i] xorg-xinit [i] xorg-xauth [i] xorg-twm [i] xorg-xclock [i] xorg-xterm [i] xorg [i] cairo [i] gobject-introspection [i] poppler [i] pango [i] atk [i] libcups [i] gtk [i] sciteComme on peut le voir toutes les dépendances sont listées.
[ ~ ] wget http://miroir1.nutyx.org/install-sekong.ash --2010-09-16 00:20:28-- http://miroir1.nutyx.org/install-sekong.ash Résolution de miroir1.nutyx.org... 88.191.61.139 Connexion vers miroir1.nutyx.org|88.191.61.139|:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 30503 (30K) [text/plain] Sauvegarde en : «install-sekong.ash» 100%[==============================================================================================================>] 30.503 155K/s ds 0,2s 2010-09-16 00:20:29 (155 KB/s) - «install-sekong.ash» sauvegardé [30503/30503] [ ~ ] export LFS=/NuTyX-chroot [ ~ ] sh install-sekong.ash /NuTyX-chroot Cette installation est une migration sur /NuTyX-chroot [ INFO ] *********************************************** fr_CH-latin1 ************************************************ Création du dossier des dépots Téléchargement de la liste des paquets... [ OK ] Téléchargement de pkgutils.. [ OK ] Extraction de pkgutils ... [ OK ] Installation de var/lib/pkg ... [ OK ] .... ******************************************************* Vous êtes maintenant dans la NuTyX sekong ******************************************************* Veuillez entrez un mot de passe pour le root Changement du mot de passe de root Entrez le nouveau mot de passe (minimum de 5, maximum de 8 caractères). Utilisez une combinaison de lettres majuscules, minuscules et de chiffres. Nouveau mot de passe : Mot de passe incorrect : trop simple. Attention : mot de passe trop simple (entrez-le à nouveau pour l'utiliser quand même). Nouveau mot de passe : Nouveau mot de passe (pour vérification) : passwd : mot de passe changé. ****************************************************** * Installation terminée. Merci d'avoir choisie NuTyX * * Si votre connection internet le permet, * * pour plus d'info, venez nous rendre visite sur: * * * * http://www.nutyx.org * * * ******************************************************Votre NuTyX chroot est maintenant installée. Pour pouvoir l'utiliser, il faut monter quelques dossiers indispensables au bon fonctionnement de la NuTyX chroot. Toujours en root, faîtes:
[ ~ ] mount -v --bind /dev /$LFS/dev [ ~ ] mount -vt devpts devpts $LFS/dev/pts [ ~ ] mount -vt tmpfs shm $LFS/dev/shm [ ~ ] mount -vt proc proc $LFS/proc [ ~ ] mount -vt sysfs sysfs $LFS/sys [ ~ ] mount --bind /srv/sources $LFS/srv/sourcesIl ne vous reste plus qu'à entrer dans votre NuTyX chroot:
[ ~ ] chroot "$LFS" /usr/bin/env -i \ [ ~ ] HOME=/root TERM="$TERM" PS1='\u@\h:\w\$ ' \ [ ~ ] PATH=/bin:/usr/bin:/sbin:/usr/sbin \ [ ~ ] /bin/bash --login [ / ]Vous êtes maintenant dans la NuTyX chroot, prêt à travailler en toute sécurité. Pour ressortir, tapez simplement:
[ / ] exit [ ~ ]Vous pouvez évidement vous créer un script avec toutes les commandes précitées.
Aujourd'hui, un utilisateur utilise très souvent de grosses quantités de données,la taille du dossier personnel peut très très vite grossir: Les MP3, les photos, les vidéos sont souvent des fichiers très gourmants en place disque. Imaginons que vous avez un disque dur de 250 Gbytes. Vous vous dîtes: OK je prends 100 G pour le système et 150 pour mes données. Super, vous venez de "couper" votre disque dur en 2 et la partition de données sera plus vite remplie que si vous aviez gardé une seule partition. Donc si on pouvait éviter de devoir découper son disque dur en partitions tout en pouvant s'assurer en cas de réinstallation de NuTyX de ne pas devoir "toucher" à la partition sur laquelle se trouve ses données personnelles, ce serait l'idéal. C'est exactement l'idée de l'installateur de NuTyX.
Si on résume, on peut dire que créer une partition séparée pour le dossier /home est aujourd'hui inutile, en tous cas sous NuTyX. On peut d'ailleurs se demander pourquoi le système d'exploitation de la pomme ne préconise pas non plus de partitions séparée.
[ ~ ] for i in `prt-get info e17|grep ^Dependencies|cut -d ":" -f2|sed 's/,/ /g'` [ ~ ] do echo $i [ ~ ] done eina evas ecore e_dbus embryo eet efreet edje curl alsa-lib [ ~ ]Exemple typique: curl et alsa-lib sont des paquets / librairies utilisées pour d'autres applications. Il n'est donc pas recommandé d'exécuter le deuxième script ci-dessous:
[ ~ ] for i in `prt-get info e17|grep ^Dependencies|cut -d ":" -f2|sed 's/,/ /g'` [ ~ ] do pkgrm $i [ ~ ] doneDans cette exemple vous supprimerez sans doute une librairie (alsa-lib) et une application qui est néssecaire pour d'autres applications. Au pire, vous pouvez les réinstaller, mais finalement est-ce bien nécessaire de vouloir supprimer des applications qui finalement ne ralentissent pas et n'encombrent pas vraiment le disque dur.