[5.2] Ligne de commandes – Cinquième et dernière partie ! Un peu de tout…. »Système »

(Bonjour et bienvenus pour la deuxième parties de ce dernier chapitre concernant la ligne de commandes. Ce chapitre sera accès sur le « système« .

Système :
Comment gérer les utilisateurs du système et leurs droits ? Comment gérer ses paquets logiciels ? Comment faire le ménage sur son disque dur ? Comment gérer les différents services du système ? Comment identifier précisément son matériel et ses capacités ? …

kvm-kernel.png (Image PNG, 800 × 579 pixels) - Mozilla Firefox

01 ) Gérer les utilisateurs de votre système et leurs permissions. 

Linux est un système multi-utilisateur, vous pouvez donc en créer autant que vous le souhaitez. Chacun peut en outre se voir doté de plus ou moins de droits sur le système, ce qui va déterminer les actions qui lui sont permises. Mais ça, c’est vous qui décidez !

01Avoir tout les droits ; sudo :

La création de nouveaux utilisateurs fait partie des tâches nécessitant les droits super-utilisateur du système (root), qui peuvent être acquis momentanément grâce à la commande sudo ; elle doit alors précéder la commande nécessitant ces privilèges. Vous devez saisir votre mot de passe utilisateur et vous pourrez exécuter des commandes en tant que root pendant un certain laps de temps (généralement 15 minutes par défaut).

root

Mais attention, pour pouvoir faire usage de sudo, l’utilisateur courant doit faire partie du fichier /etc/sudoers. Sous certaines distributions (comme Ubuntu), le premier utilisateur du système y est automatiquement inscrit. Sous d’autres distributions (comme Debian), il est nécessaire d’ajouter au préalable l’utilisateur au fichier sudoers. Pour l’éditer, on utilise la commande visudo, qui elle-même demande les droits de root…
On fait alors appel à la commande su (pour substitute user) sans option ni argument, qui contrairement à la commande sudo, octroie les droits d’administration à l’utilisateur pendant toute la durée de la session :

~$ su 
Mot de passe : 
~# visudo 

1

Dans le fichier /etc/sudoers, on s’intéresse à la section suivante :

# User privilege specification
root     ALL=(ALL:ALL) ALL

2

Cela signifie que l’utilisateur root, quelle que soit la machine (premier ALL), peut utiliser sudo pour lancer n’importe quel programme (troisième ALL), en tant que n’importe qui (deuxième ALL).

Pour que l’utilisateur « alice » puisse utiliser la commande sudo, on ajoute alors la ligne :

alice ALL=(ALL:ALL) ALL

À savoir que la commande sudo utilisée avec l’option -u suivie du nom d’un utilisateur du système permet d’agir en tant que n’importe quel autre utilisateur.

02Créer un utilisateur :

L’ajout d’un nouvel utilisateur « bob » s’effectue via la commande adduser :

~$ sudo adduser bob

6

Comme indiqué dans les lignes retournées par la commande, le répertoire personnel du nouvel utilisateur est crée dans /home. Ce nouveau compte est basé sur le contenu du répertoire /etc/skel/ qui représente le « squelette » de tous les nouveaux comptes : tout ce qui s’y trouve sera recopié par défaut dans le répertoire de chaque nouvel utilisateur. Dans la foulée, le système vous demande de saisir le mot de passe de l’utilisateur ; les autres informations demandées sont facultatives.

Le mot de passe de l’utilisateur peut être modifié à n’importe quel moment avec la commande passwd :

~$ sudo passwd bob

4

À savoir aussi que la commande passwd -l permet de verrouiller le compte utilisateur (-u pour le déverrouiller le compte).

~# passwd -l bob

5

~# passwd -u bob

5.1

Pour supprimer un compte utilisateur, on utilise la commande deluser :

~# deluser bob

7

03Qui (s’) est connecté ?

Lorsque plusieurs utilisateurs existent sur le système, vous pouvez savoir à tout moment quels sont les utilisateurs connectés à l’aide des commandes who ou finger (cette dernière est plus détaillée).

Les commandes last et lastb (cette dernière est à exécuter en tant que root) permettent respectivement de lister les derniers utilisateurs connectés au système et les dernières tentatives de connexion qui ont échoué. Cela peut par exemple permettre de relever une tentative d’intrusion non souhaitée.

~# who -a
~# finger
~# last -F

Pour plus d’info, tapez : who –help ; finger –help ; last .

8

04Modifier les permissions sur les fichiers :

Nous avons vu dans l’introduction (première partie) que chaque fichier du système appartenait à un utilisateur et à un groupe et que ces derniers, de même que tous les autres utilisateurs, avaient certaines autorisations sur ces fichiers : les droits de lecture (r), d’écriture (w), et/ou d’exécution (x). Si ces lettres sont présentes lorsque vous affichez les propriétés d’un fichier, cela signifie qu’elles accordent la permission qu’elles désignent ; un tiret signifie en revanche que la permission n’est pas accordée.

Pour modifier les droits sur un fichier, on utilise la commande chmod (pour change mode). Pour l’utiliser, il faut que vous soyez propriétaire du fichier en question, ou bien que vous soyez root. La syntaxe est la suivante :

chmod <qui?>+

superuser-superhero

<qui?> représente l’un ou plusieurs des caractères suivants :

u ; (pour user), le propriétaire du fichier
g ; (pour group), le groupe auquel est lié le fichier.
o ; (pour other), le reste du monde.
a ; (pour all), qui inclut les trois types précédents.

Les signes + ou permettent respectivement d’ajouter ou de supprimer un droit et représente l’un ou une combinaison des droits r, w ou x.

Par exemple :

~$ chmod u+x fichier.sh

9

Ces deux commandes permettent de rendre le fichier fichier.sh exécutable par son propriétaire.

À noter que pour attribuer ou modifier les droits d’un répertoire et de tout son contenu (fichiers et sous-répertoires compris), que ce soit en mode littéral ou numérique, il faut utiliser l’option -R .

05Changer de propriétaire :

Comme évoqué plus haut, chaque fichier est lié à un propriétaire et à un groupe. Il est possible de changer le propriétaire d’un fichier à l’aide de la commande chown (pour change owner). La syntaxe est la suivante (à exécuter en tant que root) :

chown <nom_propriétaire> <fichiers_ou_répertoire>

La commande chown permet aussi de changer simultanément le propriétaire et le groupe du fichier, comme ceci :

chown <nom_propriétaire>: <fichier_ou_répertoire>

Par exemple :

~# chown -R www-data:www-data un_repertoire/

Notez l’utilisation de l’option -R ici, qui à nouveau, implique la récursivité de l’opération. Pour changer uniquement le groupe auquel appartient le fichier, on utilisera la commande chgrp (pour change group) :

chgrp <fichiers_ou_répertoire>

10

02 ) Gérer les paquets logiciels de sa distribution .

À chaque distribution correspond un format de paquet logiciel et chacune intègre son propre gestionnaire de paquets. Apt, Yum, Zypper, …, ils ont tous pour point commun de gérer également les dépendances entre paquets, ce qui facilite grandement l’installation de logiciels supplémentaires. Encore faut-il connaître les commandes adéquates.

apt-get

01Synchroniser le gestionnaire de paquets :

Pour que votre gestionnaire de paquets soit totalement synchrone avec le contenu des dépôts de votre distribution, il faut régulièrement mettre à jour l’index des paquets (et aussi dès que vous effectuez une modification quelconque dans la définition des dépôts.)

Sous Debian/Ubuntu :

~# aptitude update
ou
~# apt-get update
ou encore :
~# apt update && apt list –upgradable

Chez Fedora :

~# yum makecache

L’équivalent chez OpenSUSE correspond à :

~# zypper refresh 

02Mise à jour des paquets installés :

Sous Debian/Ubuntu, ceci s’effectue via la commande :

~# aptitude safe–upgrade 

11

Elle retourne la liste des changements qui vont être effectués (installations, suppressions de paquets obsolètes et mise à jour) et attend confirmation de votre part pour s’exécuter.

Sous Fedora et OpenSUSE :

~# yum update
~# zypper update

03 Rechercher un paquet :

Pour rechercher un paquet dans les dépôts d’une distribution Debian/Ubuntu :

~# aptitude search

12

Cette commande retourne une liste de paquets comportant le motif passé en paramètre dans leur nom et/ou dans leur description. Le premier caractère de chaque ligne indique l’état courant du paquet :

p ; signifie qu’il n’y a aucune trace du paquet sur le système.
c ; signifie que le paquet a été supprimé, mais que ses fichiers de configuration sont toujours présents sur le système.
i ; signifie que le paquet est installé.
v ; signifie que le paquet est virtuel.

Pour obtenir plus d’informations sur un paquet avant de l’installer, notamment sa description et la liste de ses dépendances :

~# aptitude show

13

04Installer un nouveau paquet :

Sur les systèmes type Debian/Ubuntu, on installera un paquet via la commande :

~# aptitude install

14

Si vous récupérez un paquet DEB manuellement ou via l’utilitaire wget, il vous faudra utiliser dpkg pour l’installer :

15

16

~# dpkg -i paquet.deb
(ou –install)

17

Mais attention ! N’oubliez pas que dpkg ne résout pas les dépendances !

Pour un paquet RPM, on utilisera :

~# rpm -ivh paquet.rpm

L’installation est réalisée avec l’option pour -i, l’option -v active le mode verbeux et l’option -h  permet de visualiser les barres de progression. Attention, ici encore, la résolution des dépendances n’est pas prise en charge par rpm.

05 Recherche les fichiers installés :

Pour visualiser l’ensemble des fichiers d’un paquet qui ont été installés et leur emplacement, on exécutera :

~$ dpkg -L

18

06 Supprimer un paquet :

Lors de la suppression d’un paquet, les dépendances sont également supprimées, sauf si elles sont nécessaires à d’autres paquets bien entendu.
Pour supprimer un paquet, il nous faut exécuter :

~# aptitude remove

Si vous souhaitez supprimer par la même occasion les fichiers de configuration propres au logiciel en question, il faudra utiliser l’option purge :

~# aptitude purge

aptitude
.
03 ) Connaître son système et identifier son matériel.

Vous venez d’acheter un nouvel ordinateur, votre installation Linux est toute fraîche. Bien sûr vous avez vaguement en tête les caractéristiques techniques de la machine en question, mais « vaguement » ce n’est parfois pas suffisant pour configurer au mieux son système. Voici une sélection de quelques commandes incontournables pour pallier ce problème.

01Votre système : version et fonctionnalités :

Pour connaître la version du noyau utilisé, ainsi que le nom de la machine et le type de processeur :

~$ uname -a

19

Pour obtenir des informations spécifiques à votre distribution, vous pouvez utiliser la commande lsb_release (« lsb » pour Linux Standard Base) accompagnée de l’option -a :

~$ lsb_release -a 

20

La liste des modules chargés par le noyau et leurs dépendances s’obtient via la commande lsmod. La commande modinfo suivie du nom d’un module permet d’obtenir des informations détaillées sur ce dernier :

~$ modinfo i2c-dev

21

02Le processeur :

Pour obtenir toutes les informations concernant le/les processeur(s) de votre machine (nom du fabricant,modèle,fréquence,ect),on étudiera le contenu du fichier /proc/cpuinfo :

~$ cat /proc/cpuinfo

22

03La mémoire :

La commande free retourne les quantités totales de RAM et de swap, libres et utilisées, ainsi que la mémoire partagée et les tampons (buffers) utilisés par le noyau. L’option -h permet d’exprimer les valeurs avec les unités les plus adéquates (pour une meilleur lisibilité) ; l’option -t permet d’afficher une ligne supplémentaire comportant la somme des deux types de mémoire.

~$ free -ht

23

04Les disques :

► Pour récupérer le descriptif détaillé d’un disque :

~# hdparm -I /dev/sda

24

L’utilitaire hdparm (à exécuter en tant que root) permet d’interagir avec les disques reliés à des contrôleurs SATA/IDE (disques durs, lecteurs CD/DVD, graveurs,ect). La première ligne retournée par la commande nous renseigne sur le modèle du disque. L’option -I permet d’obtenir davantage d’informations, classées par type. L’option -t permettra quant à elle de tester la vitesse de lecture de votre disque sur 3 secondes :

~# hdparm -t /dev/sda

25

► la commande df retourne l’espace disponible sur chaque partition. Comme plus haut. On utilisera l’option -h pour un format plus « lisible » ; l’option -T permet quant à elle d’afficher le type de système de fichiers :

~$ df -hT

26

(changement de couleur du texte …. J’espère que ça vous dérangera pas ? (surtout, n’hésitez pas à me donner votre avis sur la couleur pour une meilleur lisibilité. Merci.))

► la commande du permet de visualiser la taille d’un répertoire (de façon récursive) ou de l’ensemble de votre système de fichiers. Pour les grosses arborescences, pensez à utiliser l’option -s qui n’affiche que la taille total.

27

► la commande fdisk -l permet de lister les partitions du disque passé en argument, leur système de fichiers et leur taille.

~$ fdisk -l
~$ fdisk -l /dev/sda

28

► Pour connaître le point de montage des systèmes de fichiers montés, on utilisera simplement la commande  mount sans option ni argument.

~$ mount

29

S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology) est un système de surveillance aujourd’hui intégré dans tous les disques durs ATA et SCSI modernes. Le paquet smartmontools fournit deux utilitaires pour surveiller vos périphériques de stockage  et anticiper  les défaillances : smartctl et smartd. Ce dernier scanne l’ensemble des disques du système au démarrage et vous alerte dès qu’un certain seuil est atteint.

On pourra obtenir le diagnostic d’un disque via la commande :

~# smartctl -a /dev/sda

30

L’indicateur Pre-fail signifie que le disque peut potentiellement vous causer bientôt quelques soucis (apparemment, à ce niveau,moi ça va), alors soyez vigilant ! Notez que si le support de SMART n’est pas activé, on effectuera au préalable :

~# smartctl -s on /dev/sda 

31

05Cartes et périphériques USB :

Pour identifier les cartes et adaptateurs reliés au bus PCI (cartes son, cartes réseau, cartes graphiques…), on utilisera la commande lspci, avec l’option -v, -vv ou -vvv selon le niveau de détail souhaité. L’option -n retourne les identifiants numériques des différents périphériques ; vous pouvez alors spécifier un seul périphérique via l’option -d suivie de son identifiant.

Pour obtenir la liste et les caractéristiques de vos périphériques USB (clés, disques, claviers, souris, baladeurs, webcams, ect.), une seul commande à connaître : lsusb. Là encore, vous obtiendrez davantage d’informations avec l’option -v :

~$ lsusb -v

32.jpg

06 Les « couteaux suisses » :

Pour connaître votre machine sur le bout des doigts, retenez la commande lshw (hardware lister), qui permet de recueillir quantité d’informations sur l’ensemble de votre matériel (carte mère, mémoire, CPU, bus, contrôleur audio, paramètres réseau,ect.). Pour lire l’ensemble de ces données sur une page web, on utilisera l’option -html suivie d’un nom de fichier de destination :

~# lshw -html > mon_materiel.html

(ceci ne représente que 10% du résultat rendu sur le matériel de machine contenu dans la page HTML récolté en à peine 5 secondes. De ce fait, cette commande pourrait s’avérer être « excellente » au niveau de la sécurité d’un système en terme de récolte d’informations (hardware) sur la machine ciblée (« forensic »).


La commande dmidecode retourne elle aussi de nombreuses informations : elle permet de lire la table DMI (Desktop Management Interface) de l’ordinateur. Vous obtiendrez ainsi des informations sur l’état actuel de votre machine, mais aussi sur ses possibilités (quantité mémoire, vitesse maximale du processeur,ect.). On l’utilise habituellement avec l’option -s ou l’option -t suivies d’un mot-clé : je vous invite à consulter la page de manuel de dmidecode pour prendre connaissance des mots-clés disponibles.

34

Le répertoire /proc constitue lui aussi une vraie mine d’informations :

► le fichier /proc/cpuinfo (évoqué plus haut) : contient toutes les informations sur le ou les processeur(s) de la machine (modèle,famille,taille du cache,ect).

► le fichier /proc/devices : liste les différents périphériques classés par groupe (caractère et bloc).

► le fichier /proc/meminfo : donne de nombreuses informations sur la mémoire vive du système.

► le fichier /proc/modules : affiche une liste de tous les modules chargés dans le noyau.

► le fichier /proc/mounts : renferme une liste de tous les montages utilisés par le système.

► le fichier /proc/version : contient les informations sur la version du noyau en cours d’utilisation.

► le fichier /proc/uptime : renvoie le temps écoulé depuis le démarrage, ainsi que le temps passé à ne rien faire (en secondes).

04 ) Comment monter un système de fichiers ?

Pour accéder aux fichiers d’une partition, il est nécessaire que celle-ci soit « montée » sur votre système, autrement dit, l’arborescence de fichiers qui se trouve sur ladite partition doit être attachée à un répertoire du sytème de fichiers actif.

35

01Montage :

La plupart des périphériques de stockage amovibles, quels qu’ils soient, sont aujourd’hui montés automatiquement sur la plupart des distributions Linux ; vous le connectez et le périphérique est de suite accessible via votre gestionnaire de fichiers habituel. Il n’en est pas de même pour le systèmes de fichiers distants par exemple, où il est parfois nécessaire d’effectuer le « montage » manuellement ….

Le montage d’un système de fichiers se fait via la commande mount, selon la syntaxe suivante :

~# mount [-t type] [-o options[,…]] /chemin/vers/répertoire/à/monter /chemin/vers/point_de_montage

36

L’option -t est facultative ; si elle n’est pas mentionnée, le programme essayera de déterminer lui-même le type de système de fichiers concerné.

« le répertoire /mnt de votre système est historiquement dédié aux montages de systèmes de fichiers, son utilisation n’est cependant pas une obligation. »

Parmi les options de la commande mount, on retiendra :

defaults : elle englobe les options les plus utilisées, décrites ci-après : rw, suiddev, exec, auto, nouser et async.

auto/noauto : signifie que le système de fichiers peut être monté automatiquement (ou non).

dev/nodev : implique que les fichiers spéciaux de périphériques de type caractère ou bloc présents sur le système de fichiers seront interprétés (ou non).

exec/noexec : permet l’exécution (ou non) des fichiers binaires.

suid/nosuid : prend en compte (ou non) les bits « s » des fichiers.

user/nouser : signifie que n’importe quel utilisateur ou que seul root a le droit de monter le système de fichiers ; l’utilisation de user implique les options noexec, nosuid, nodev.

ro/rw : implique un montage en lecture seule ou en lecture/écriture du système de fichiers.

sync/async : active ou désactive les écritures synchrone. En général, on active l’écriture synchrone pour les systèmes de fichiers de supports amovibles.

Dans le cas d’une image ISO, qui est un système de fichiers au format , le montage pourra s’effectuer comme suit :

~# mount -t iso9660 -o loop image.iso /mnt/ISO

Constatez qu’on utilise ici l’image comme un périphérique ; elle est en fait rattachée à un périphérique loopback (qui permet de simuler un périphérique bloc). Comme on peut le voir dans la fiche dédiée à la gravure de CD/DVD, ceci permet entre autres de vérifier le contenu de l’image.

Pour visualiser l’ensemble des montages effectifs sur le système, on exécute la commande mount sans option, ni paramètre :

~$ mount

37

On peut visualiser sur chaque ligne le fichier de périphérique, le point de montage, le type de système de fichiers, ainsi que les options de montage. La commande mount retourne ici le contenu du fichier /etc/mtab (mounted file systems table).

02Démontage :

L’opération de démontage permet de synchroniser les données en mémoire avec celles réellement inscrites sur le périphérique. Le démontage s’effectue avec la commande umount, suivie au choix du fichier de périphérique ou bien du point de montage :

~# umount <périphérique>

ou :

~# umount

38

Le démontage d’un système de fichiers ne peut être effectué que si aucun autre processus n’y accède simultanément ; dans le cas contraire, le système vous répond que le démontage est impossible. Il faut alors vérifier par exemple qu’aucune application n’est en train de lire un fichier stocké sur le périphérique.

Pour prendre connaissance de tous les processus manipulant un fichier, vous pouvez utiliser la commande fuser ainsi :

~$ fuser -vm /dev/sda1

39

03Montages automatiques :

Il est possible de prédéfinir différents montages de systèmes de fichiers dans le fichier /etc/fstab de votre système ; les montages qui s’y trouvent seront effectués automatiquement au démarrage de la machine (du moins, tous ceux qui ne possèdent pas l’option noauto).

Le fichier fstab est généré automatiquement lorsque vous installez une distribution Linux ; on y trouve par défaut les différents points de montage que vous avez définis lors de l’installation, par exemple :

40

Vous pourrez ajouter les différents montages que vous utilisez régulièrement, à condition de bien respecter la syntaxe du fichier. Dans l’ordre, on trouve sur chaque ligne :

► le périphérique à monter ; il est préférable d’indiquer son label (voir ci dessous) ou son UUID (identifiant unique universel), comme ici, plutôt qu’un fichier de périphérique statique.

► le point de montage.

► le type du système de fichiers.

► les options de montage, séparées par des virgules.

► la fréquence de dump (pour les outils de dump ou de sauvegarde).

► la fréquence de vérification du système de fichiers par fsck ; la valeur 0 signifie que le système doit être ignoré, 1 signifie qu’il doit être vérifié en premier, 2 en deuxième, ect.

Comprenez que l’utilisation de ce fichier permet aussi de saisir des commandes mount « allégées » ; il suffira de saisir le point de montage (ou le nom du périphérique) pour monter le sytème de fichiers correspondant avec les options adéquates.

04Identifiez vos périphériques avec les labels :

Un label est un lien symbolique vers le fichier de périphérique correspondant ; pour visualiser les labels utilisés :

~$ ls -l /dev/disk/by-label/

41

L’utilisation de labels est intéressante, car les périphériques deviennent alors identifiables quel que soit leur emplacement. Sans label, si vous êtes amené à réorganiser les disques, il faut systématiquement penser à modifier le fichier /etc/fstab .

Lors du montage, on utilisera l’option -L suivie du label :

~# mount -L USBDISK

► Pour visualiser le label d’un système de fichiers de type ext2/3/4, on utilise la commande e2label (fournie par le paquet e2fsprogs) :

~# e2label <périphérique>

Pour modifier le label (16 caractères maximum, sinon il sera tronqué).

~# e2label <périphérique>

42

► Pour un système de fichiers de type btrfs (il devra être démonté au préalable) :

~# btrfs filesystem label <périphérique>

43

► Pour les systèmes de type vfat, on se tournera vers mlabel, fourni par le paquet mtools.
Pour afficher le label :

~# mlabel -si <périphérique> ::

Pour le modifier, après avoir démonté le système de fichiers, on saisira :

~# mlabel -i <périphérique> ::

44

05 ) Faire le ménage sur son disque .

À force de télécharger de la musique et des vidéos, de tester les toutes dernières versions de logiciels et distribution à la mode (comme moi), votre disque peut se retrouver très vite saturé et voilà que vous manquez d’espace pour des données essentielles ! Nous allons donc voir ici comment supprimer des fichiers devenus obsolètes ou inutiles afin de gagner un peu d’espace disque.

disque

01Le cache des paquets logiciels :

Les paquets téléchargés et installés sur le système sont stockés « en cache » dans le répertoire /var/cache/apt/archives/ sur une distribution type Debian/Ubuntu. Pour vider le cache, on lancera :

~# aptitude clean

ou :

~# aptitude autoclean

45
Avec autoclean, on ne supprime que les paquets qui ne sont plus proposés au téléchargement et on visualise la liste des paquets supprimés, ainsi que la quantité d’espace libéré.

46

02Les résidus de configuration :

Sur un système de type Debian, pour lister les paquets non installés dont il reste des éléments de configuration sur le système, on pourra faire appel à la commande dpkg :

~$ dpkg -l | grep ^rc

47

Ensuite, pour supprimer ces éléments de configuration « résiduels », on pourra utiliser la commande suivante :

~$ dpkg -l | grep ^rc | awk {print$2} | xargs sudo dpkg -P

48

On récupère ici la liste des paquets retournés par la première commande (qui se trouvent dans la deuxième colonne), puis on purge ce paquets à l’aide de l’option -P.

03Les fichiers de langues inutilisés :

localpurge est un utilitaire pour distribution type Debian/Ubuntu, qui permet de supprimer tous les fichiers de localisation ou paramètres régionaux dont vous n’avez pas l’utilité. À l’installation, il vous est demandé de sélectionner (à l’aide de la touche [espace] les locales qui vous intéressent : on conservera bien entendu [fr], mais aussi [en], car tous les fichier ne sont peut être pas traduits en français …

49

Votre séléction se retrouve ensuite dans le fichier /etc/locale.nopurge. Ceci fait, on lance simplement la commande localepurge (sous root) ; si le programme a été configuré comme tel, il retourne l’espace disque libéré (option SHOWFREEDSPACE du fichier de configuration).

« Attention, la seule manière de réinstaller les locales est de réinstaller complètement les paquets Debian correspondants !« 

Pour redéfinir ultérieurement les locales à conserver (si vous changer d’avis..), vous pourrez lancer la commande :

~# dpkg -reconfigure localepurge

50

04Le cache et les logs de vos applications WEB :

Votre navigateur web utilise un cache pour stocker les pages récemment consultées, pour minimiser le temps de chargement si vous y revenez ultérieurement. Ce cache se trouve généralement dans votre répertoire personnel, dans le répertoire de configuration de l’application (~/.mozilla/firefox/xxxxxxxx.default/Cache/ pour Firefox/Iceweasel.). Un rm * dans ce répertoir et le tour est joué !

~# rm * ~/.mozilla/firefox/xxxxxxxx.default/Cache/

De même, le client de messagerie Thunderbird/Icedove, utilise un cache correspondant au répertoire à ~/.thunderbird/xxxxxxxx.default/Cache.

Retenez par ailleurs que bon nombre de clients de messagerie instantanéee stockent par défaut l’ensemble de vos conversations (dans un répertoire ou un fichier « log(s)« . Des services de synchronisation en ligne, tel que Ubuntu One, conservent également des traces des différentes opérations effectuées (dans .cache/ubuntuone/log/ par exemple).

[ASTUCE]

FICHIERS DE SAUVEGARDE :

Il peut également être intéressant de supprimer les éventuels fichiers de sauvegardes automatique, identifiables par le caractère ~ en fin de nom. Pour rechercher ces fichiers, on utilise la commande find :

~$ find ~/ -name ‘*~’

51

Après avoir vérifié la liste des fichiers retournés par la commande, vous pouvez lancer la suppression de l’ensemble via la commande :

~$ rm -i `find ~/ -name ‘*~’`

L’option -i, falcultative, permet de demander confirmation pour la suppression de chacun des fichiers.

06 ) Gérer les services disponibles :

Identifier les services qui sont lancés au démarrage de votre système, repérer parmi eux les services inutiles pour votre propre usage, savoir les contrôler (les arrêter ou les stopper momentanément), voilà les quelques opérations qui sont abordées ici.

52

01 Mais qu’est-ce qu’un service ?

Au démarrage de votre système, de nombreux programmes sont lancés de façon transparente, « en arrière plan », pour vous permettre d’effectuer les tâches habituelles (lancer des applications graphiques, écouter de la musique, accéder à vos différents répertoires, imprimer des documents, naviguer sur le Web,ect.). Ces programmes sont appelés « services » ou encore « démons » ou « daemons« . Chaque distribution fait le choix des services à lancer par défaut dès le démarrage du système.

On distingue plusieurs systèmes de gestion de services au sein des distributions GNU/Linux : System V (le plus ancien, qui tend à disparaître pour être remplacé par l’un des deux suivants), Upstart (intégré à Ubuntu depuis sa version 6.10), et Systemd, le plus récent (intégré à Fedora depuis sa version 15).

Les deux premiers fonctionnent selon des niveaux d’exécution (ou runlevels), Systemd, en revanche, fonctionne sur la base de « cibles » (ou targets). À chaque niveau d’exécution ou cible correspond un mode de fonctionnement du système, dans lequel certains services sont actifs et d’autres non. Et chaque distribution possède un niveau d’exécution ou une cible par défaut. Pour Debian et Ubuntu, il s’agit du niveau 2 ; chez Fedora, il s’agit de la cible graphical.target.

53

02 –  Gérer les services sur une distribution basée sur System V (ex.Debian) :

Après le processus de démarrage, le tout premier programme lancé, init, exécute tous les scripts de démarrage du  niveau d’exécution par défaut (le niveau 2 dans le cas Debian), situés dans /etc/rc2.d/ : on y trouve les liens pointant vers les scripts des différents services du services du système regroupés dans /etc/init.d/.

Un travail est en cours pour convertir la séquence d’amorçage de Debian, qui permettra à terme au système de démarrer bien plus vite. C’est pourquoi il est possible d’utiliser actuellement plusieurs outils pour gérer les services …

Pour commencer, la commande service permet d’agir sur les scripts de type System V contenus dans /etc/init.d/. Pour obtenir la liste des services disponibles sur le système, on tape :

~# service –status-all

54

Le [+] signifie que le service tourne ; le [-] signifie que le service n’est pas lancé ; et le [?] que l’état du service ne peut être déterminé ainsi ; on utilisera dans ce cas :

~# /etc/init.d/mysql status

55

Cette commande permet d’obtenir l’état courant d’un service particulier, que l’on peut visualiser également avec :

~# service apache2 status

56

Pour gérer les services, on utilisera la commande :

~# service <nom_du_service>
start | stop | restart |reload

ou bien :

~# /etc/init.d/ <nom_du_service>
start | stop | restart | reload

57

On démarre (start), arrête (stop), redémarre (restart) le service, ou lui demande de relire sa configuration (reload / force-reload).

À présent, voyons comment modifier la liste des services lancés au démarrage du système. Pour ajouter un service (ici le serveur web Apache) à cette liste :

~# update-rc.d apache2 defaults

Quand  l’option defaults est utilisée, update-rc.d crée des liens pour démarrer le service dans les niveaux d’exécution 2,3,4 et 5 et des liens pour arrêter le service dans les niveaux 0,1 et 6.

Depuis Debian 6.0 (Squeeze), on peut utiliser également la commande insserv :

~# insserv apache2

58

qui prend en paramètre – tout comme les commandes évoquées plus haut – un script exécutable se trouvant dans /etc/init.d/. La commande ne retourne rien si tout se déroule correctement.

Pour faire en sorte qu’un service ne soit plus lancé au démarrage, on utilise l’option -f qui va supprimer tous les liens associés au service en question :

~# update-rc.d -f bluetooth remove

Ou alors :

~# insserv -r bluetooth

Le service bluetooth est alors ôté de tous les niveaux de démarrage ; il ne sera pas démarré au prochain démarrage du système.

Et pour terminer cette partie sur le système, je vous conseil de jeter un oeil de connaître la commande systemd-analyze blame (issue du paquet éponyme) qui liste le temps de démarrage des différents services :

~# systemd-analyze time 

59

~# systemd-analyze blame 

60

Voilà que s’achève la partie « système » du chapitre « ligne de commandes« . La prochaine partie concernera le « Multimédia« .

À bientôt …….

logo_gnu_linux_pratiqueLinuxfrench

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s