Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

Tag - système de fichiers

Fil des billets - Fil des commentaires

jeudi 19 janvier 2017

Vérifier (proprement) si un volume est monté ou non

Sous Linux, les disques durs amovibles et autres clés USB peuvent être montés de manière automatique ou non.

Lorsque ces derniers sont utilisés à des fins de sauvegarde on a besoin de vérifier si le média de sauvegarde est disponible ou non.

Imaginons que notre disque externe de sauvegarde soit monté sur /media/backup, une première façon de vérifier si on peut procéder à la sauvegarde consiste à vérifier si le répertoire de montage est vide:

mount_point="/media/external-backup"

Puis:

if [ "$(ls -A $mount_point)" ]; then
    echo "Backup disk is present."
fi

ça n'est pas très élégant mais cela fonctionne.

On peut aussi "parser" la sortie standard de la commande mount:

if mount | grep $mount_pount >/dev/null; then
    echo "Backup disk is present."
fi

C'est déjà un peu plus propre mais on peut faire encore mieux. En effet, la commande mountpoint est là pour cela:

if mountpoint -q $mount_point; then
    echo "Backup disk is present."
fi

Je vous fait grâce des méthodes (sales) qui consistent à parser les fichier /etc/mtab ou /procs/mounts.

vendredi 13 janvier 2017

Trier les fichiers et répertoires sous Linux par taille

Quand on doit archiver le contenu d'un répertoire ou qu'on manque de place sur un système de fichiers, la question de savoir quels fichiers ou répertoires occupent le plus d'espace se pose nécessairement.

On voit beaucoup de commandes sur Internet pour trier les fichiers et répertoires sous Linux, à base de find, ls, plus ou moins compliquées, alors que Linux fournit nativement une commande simple pour cet usage, la commande du, qui signifie "disk usage".

Par défaut, la commande du affiche la place utilisée dans chaque répertoire dans /var/log:

du /var/log
1140    /var/log/cups
32      /var/log/mysql
12      /var/log/fsck
48      /var/log/exim4
8       /var/log/dbconfig-common
104     /var/log/apt
4       /var/log/firebird
36      /var/log/lightdm
32      /var/log/tor
4       /var/log/speech-dispatcher
88      /var/log/apache2
14516   /var/log/installer/cdebconf
16724   /var/log/installer
27636   /var/log

Il s'agit de l'espace cumulé dans chaque répertoire: le chiffre affiché pour /var/log/installer tient compte de l'espace occupé par /var/log/installer/cdebconf.

Si on veut que du affiche strictement ce qui est occupé par chaque répertoire, il faut utiliser l'option -S:

du -S /var/log/installer/
14516   /var/log/installer/cdebconf
2208    /var/log/installer/

On retrouve bien que 14516 + 2208 font 16724.

Si vous n'êtes pas convaincus:

du /var/log/installer/
14516   /var/log/installer/cdebconf
16724   /var/log/installer/

Voià pour la base.

Maintenant, on peut obtenir un affiche plus sympatique avec l'option -h, --human-readable:

du -Sh /var/log/
1,2M    /var/log/cups
32K     /var/log/mysql
12K     /var/log/fsck
48K     /var/log/exim4
8,0K    /var/log/dbconfig-common
104K    /var/log/apt
4,0K    /var/log/firebird
36K     /var/log/lightdm
32K     /var/log/tor
4,0K    /var/log/speech-dispatcher
88K     /var/log/apache2
15M     /var/log/installer/cdebconf
2,2M    /var/log/installer
9,2M    /var/log/

Et si on cherche les répertoires qui occupent le plus de place, il suffit de faire appel à la commande sort:

du -Sh /var/log/ | sort -hr
15M     /var/log/installer/cdebconf
9,2M    /var/log/
2,2M    /var/log/installer
1,2M    /var/log/cups
104K    /var/log/apt
88K     /var/log/apache2
48K     /var/log/exim4
36K     /var/log/lightdm
32K     /var/log/tor
32K     /var/log/mysql
12K     /var/log/fsck
8,0K    /var/log/dbconfig-common
4,0K    /var/log/speech-dispatcher
4,0K    /var/log/firebird

Le flag -h de sort signifie --human-numeric-sort, et le flag -r signifie -reverse.

Et si en plus de l'espace occupé par les répertoires, je souhaite inclure celui des fichiers, il faut ajouter aux options de du le flag -a, --all.

Enfin, quand la commande du nous retourne trop de résultats, on peut en limiter l'affichage par un | head -n 25 par exemple.

vendredi 2 décembre 2016

Utiliser Debian Live sur un système Linux qui pose problème

Quoi de plus agaçant que de démarrer une machine Linux un beau matin et de constater qu'elle ne démarre plus normalement ou qu'elle ne démarre pas du tout !

La dernière des choses à faire dans ces cas là est de paniquer !!!

Si votre système ne démarre plus ou qu'une erreur se produit au démarrage du système ou de l'interface graphique, il est temps de démarrer avec un CD Live comme celui de Debian.

Première précaution donc, on a sous la main un ou plusieurs CD de ce genre et ils sont prêts avant l'éventuel crash ou problème, sinon il faut une deuxième machine quand cela arrive et ça énerve encore plus. Ah oui on a dit qu'on restait calme :-)

Le projet Debian livre une image Live de son système avec plusieurs GUI possibles, images qui tiennent sur un DVD mais pas sur un CD.

Un fois le système Debian démarré, vous constaterez que vous êtes en Anglais, langue et clavier .... Arrhhhhh !

On serait quand même heureux de pouvoir choisir la langue au démarrage. C'est fatiguant à la fin ces gens qui croient que tout le monde parle Anglais ... C'était la première chose pas pratique avec Debian Live.

Si vous essayez de changer cela dans "Region & Language", vous constaterez comme moi qu'on ne peut pas ajouter le Français .... Re Arrhhhhh.

Par contre, dans un terminal si vous arrivez à entrer la commande setxkbmap fr, vous êtes sauvé.

Deuxième chose pas pratique du tout, l'économiseur d'écran qui ne met en marche pendant que vous vous faites un café et vous demande au retour un mot de passe .... Re Re Arrhhhhh ! C'est malin ça de mettre un mot de passe sur un système Live, on avait bien besoin de ça.

Comme vous êtes très doué, vous aurez trouvé comme moi que le mot de passe est "live". Ouf !

Et pour passer root ? Vous avez de la chance, sur Debian Live l'utilisateur par défaut a les droits sudo sans qu'il soit nécessaire de saisir de mot de passe.

Vous pouvez donc faire par exemple:

sudo fdisk /dev/sda

pour consulter les partitions de votre premier disque.

Maintenant, pour vérifier un système de fichiers qui pose problème:

sudo fsck.ext4 -v -f /dev/sda1

Si vous souhaitez utiliser gparted qui n'est pas installé par défaut:

sudo apt-get install gparted

Enfin:

Si vous souhaitez changer le mot de passe de l'utilisateur root, qu'on ne connaît pas, vous pouvez procéder comme ceci:

sudo passwd root

Et saisir le mot de passe souhaité ensuite.

- page 1 de 2