Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
04 novembre 2016

FileSystems storages           Systèmes de fichier


e2fsck.conf

e2fsck.conf

Fichier de configuration pour e2fsck

e2fsck.conf utilise le format INI:
[section1]
    tag1 = value_a
    tag1 = value_b
    tag2 = value_c
    
[section 2]
    tag3 = {
        subtag1 = subtag_value_a
        subtag1 = subtag_value_b
        subtag2 = subtag_value_c
    }
    tag1 = value_d
    tag2 = value_e
}

[options] Contient les paramètres de configuration générales pour e2fsck
[problems] Permet de reconfigurer la gestion des inconsistance du système de fichier
[scratch_files] Contrôle l'utilisation de fichiers scratch pour réduire la mémoire nécessaire.

[options]

allow_cancellation (bool) autorise l'annulation par l'utilisateur avec ^C, et si le système de fichier ne contient pas d'erreus, e2fsck quitte avec le code 0 au lieu de 32. Défaut: false
accept_time_fudge (bool) Permet de truquer le temps du superblock de 24 heures pour palier au problème de Windows utilisant l'heure locale au lieu du temps UTC.
broken_system_clock (bool) e2fsck assume que l'horloge système est correct. De plus, de nombreux programmes système font de même. À true, permet d'éviter les vérifications basées sur le temps.
buggy_init_scripts (bool) contrôle si e2fsck efface le flage test_fs si ext4 est disponible. Défaut: true
defer_check_on_battery (boo) Contrôle si l'interval entre les vérification de système de fichier (soit basé sur le temps ou le nombre de montage) doivent être doublés si le système fonctionne sur batterie. Défaut: true.
indexed_dir_slack_percentage Quand e2fsck repack un répentoire indexé, il réserve un pourcentage d'espace vide dans chaque leaf node pour que de nouvelles entrées puissent être ajoutées sans splitter le leaf node. Défaut: 20%
log_dir Si log_filename contient un chemin relatif, le fichier de log sera placé dans ce répertoire nommé par log_dir
log_dir_fallback Contient un répertoire alternatif à utiliser si log_dir n'est pas disponible ou non écrivable
log_dir_wait (boot) à true, si log_dir ou log_dir_fallback ne sont pas disponibles ou non écrivable, e2fsck sauve la sortie en mémoire, et un processus enfant test périodiquement pour voir si le répertoire le log devient disponible après la séquence de boot
log_filename Spécifie le nom de fichier où copier la sortie de e2fsck
max_count_problems nombre maximum de problème d'un type particulier reporté sur stdout.
readahead_mem_pct % de mémoire à tenter de lire dans les blocks de métadonnées avant le principal thread e2fsck. devrait réduire de temps de traitement.
readahead_kb Quantité de mémoire à lire dans les blocks de métadonnées en avance. 0 désactive le readhead. Généralement 4Mio
report_features (bool) à true, e2fsck affiche les fonctionnalité du système de fichier dans son reporting verbeux
report_time (bool) à true, e2fsck se lance comme avec -tt
report_verbose (boo) à true, e2fsck se lance comme avec -v

[problems]

   Chaque tag dans cette section nomme un code problème spécifié avec '0x'. La valeur du tag est une sous-section où les paramètres remplacent le traitement par défaut. Noter que des paramètres inappropriés peuvent empêcher e2fsck de fonctionner correctement. Dans chaque sous-section, les tags suivants peuvent être utilisés

description Description à afficher
preen_ok (bool) contrôle si ce problème devrait être fixé automatiquement en mode preen (-p).
max_count remplace max_count_problems pour ce problème
no_ok (bool) spécifie si le système de fichier sera marqué comme inconsistant si l'utilisateur refuse de fixer le problème.
no_default (bool) indique que la réponse par défaut pour ce problème devrait être 'no'.
preen_nomessage (bool) contrôle si la description pour ce problème devrait être supprimé quand e2fsck est lancé en mode preen (-p).
no_nomsg (bool) contrôle si la description pour ce problème devrait être supprimé quand un problème est forcé à ne pas être fixé soit à cause de l'option -n ou parce que force_no est mis.
force_no (bool) à true, ne fixe jamais un problème. Écrase l'option -y.

[scratch_files]

directory Si le répertoire nommé par cette relation existe et est accessible en écriture, e2fsck tente d'utiliser ce répertoire pour stocker les fichiers scratch au lieu d'utiliser les structures en mémoire
numdirs_threshold Définis, les structures de donnée en mémoire sont utilisées si le nombre de répertoire dans le système de fichier est inférieur à ce nombre.
dirinfo (bool) Contrôle si le répertoire de fichiers schatch est utilisé au lieu des structures de données en mémoire pour les informations de répertoire. Défaut: true
icount (bool) Contrôle si le répertoire de fichiers scratch est utilisé au lieu des structures de données en mémoire en traquant les compteurs d'inode. Défaut: true

Logging

   e2fsck a des facilités pour sauver les informations dans un répertoire pour que l'administrateur puisse visualiser sa sortie. Cela permet de capturer des informations un preen, ou de garder une trace des opérations. Cette facilité est contrôlée par log_filename, log_dir, log_dir_fallback et log_dir_wait. Le fichier dans log_filename peut contenir les expressions suivantes qui sont étendues:

%d Jour du mois
%D date courante (%Y%m%d)
%h Nom d'hôte
%H heure (00..23)
%N Nom du périphérique block contenant le système de fichier, sans le chemin.
%p pid du processus e2fsck
%s Heure en seconde depuis epoch
%S secondes (00..59)
%T Heure courante (%H%M%S)
%u Nom de l'utilisateur qui a lancé e2fsck
%U n'étend rien, mais signal que les expressions de date et heure qui suivent devraient être exprimées en UTC.
%y Année (00.99)
%Y Année sur 4 chiffre.

Exemples

Cet exemple empêche e2fsck d'annuler durant le processus de boot quand un système de fichier contient des fichiers orphelins. Cela n'est pas toujours une bonne idée, vu que les fichiers critiques qui sont nécessaire pour la sécurité du système pourraient potentiellement finir dans lost+found, et démarrer le système sans avoir de vérification administrateur peut être dangereux.
[problems]
    0x040002 = {
        preen_ok = true
        description = "@u @i %i. "
    }

L'exemple suivant force e2fsck à logger dans le répertoire /var/log/e2fsck, avec un nom de fichier qui contient le nom du périphérique, nom d'hôte, date et heure. (ex: e2fsck-sda3.server.INFO.20120314-112142). Si le répertoire contenant /var/log est localisé dans le système de fichier racine qui est initialement monté en lecture seule, la sortie est conservée en mémoire et écris une fois le système de fichier remonté en rw. Pour éviter trop de détails à écrire dans la console série (ce qui peut ralentir la séquence de boot), seulement 16 instances de chaque type de problèmes sont affichés.
[options]
    max_count_problems = 16
    log_dir = /var/log/e2fsck
    log_filename = e2fsck-%N.%h.INFO.%D-%T
    log_dir_wait = true

Notes

   Les codes problème peuvent être trouvés dans 'e2fsck/problem.h'. Utiliser 'egrep -B1 -ri "0x[0-9]{5}" e2fsck/problem.h"'