La possibilité de modifier Linux exactement comme nous en avons besoin le rend puissant à utiliser. Alors que la plupart des distributions offrent des interfaces sophistiquées pour configurer le système, ces interfaces utilisateur modifient simplement les fichiers de configuration en texte brut répartis sur le système. Ainsi, la compréhension de ces fichiers de configuration supprimera notre dépendance à ces interfaces utilisateur et nous rendra plus compétents avec Linux.

Dans ce tutoriel, nous verrons où se trouvent ces fichiers et ce qu’ils font. Grâce à la norme de hiérarchie des systèmes de fichiers, les répertoires et fichiers abordés dans ce tutoriel doivent être cohérents entre les distributions.

Fichiers de Configuration Globaux

Les fichiers de configuration globaux définissent le comportement pour l’ensemble du système.

Ces fichiers sont généralement situés dans la partition racine (/) et nécessitent un accès superutilisateur.

/etc/

La plupart des fichiers de configuration globaux se trouvent dans le répertoire /etc.
freestar

Le répertoire /etc/ ressemble plus à un système de fichiers et a de nombreux sous-répertoires, chacun ayant des fichiers de configuration associés.

Voici une liste des sous-répertoires les plus utiles:

fichiers de configuration spécifiques à /etc/X11/–xorg
/etc/cups– - sous-répertoire contenant la configuration du Système d'impression UNIX commun
/etc/xdg/– configurations globales pour les applications suivantes freedesktop.org spécifications
/etc/ssh– - utilisé pour configurer le comportement du serveur OpenSSH pour l'ensemble du système
/etc/apparmor.d/ - contient des fichiers de configuration pour le système AppArmor
/etc/udev/ – configuration associée à udev

/ etc /opt/

Le répertoire /etc/opt/ est censé contenir la configuration globale des applications installées dans /opt/. Mais Linux ne l’applique pas. En conséquence, nous pouvons souvent voir le répertoire /opt/ plein de logiciels installés par l’utilisateur tandis que /etc/opt/ reste vide.

/etc/ par défaut/

Les fichiers de configuration sous /etc/default/historiquement contenaient des paramètres pour les services/démons à utiliser avec des systèmes d’initialisation tels que upstart. Mais, avec l’avènement de systemd, ce répertoire contient désormais principalement des paramètres pour les applications utilisateur.

Le système n’écrase pas les fichiers dans /etc/default/. Cela signifie qu’une fois que nous aurons défini le comportement des applications ici, elles resteront cohérentes grâce aux mises à niveau du système.
freestar

Fichiers de Configuration Globaux Importants

Certains des fichiers de configuration globaux les plus utiles sont:

/etc/resolv.conf - utilisé pour définir le(s) serveur(s) DNS à utiliser
/etc./ bash.bashrc - utilisé pour définir les commandes à exécuter lorsqu'un utilisateur lance le shell bash
/etc/profile – le shell de connexion exécute les commandes dans.script de profil au démarrage
/etc./dhcp/dhclient.conf - stocke les informations relatives au réseau requises par les clients DHCP
/etc/fstab – décide où monter toutes les partitions disponibles pour le système
/etc/hostname - définit le nom d'hôte de la machine
/etc/hosts - un fichier qui mappe les adresses IP à leurs noms d'hôte
/etc/hôtes.refuser – les hôtes distants répertoriés ici se voient refuser l'accès à la machine
/etc /mime.types - répertorie les TYPES MIME et les extensions de noms de fichiers qui leur sont associées
/etc/motd – configure le texte affiché lorsqu'un utilisateur se connecte à l'hôte
/etc/timezone - définit le fuseau horaire local
/etc/sudoers - le fichier sudoers contrôle l'autorisation liée à sudo pour les utilisateurs
/etc/httpd/conf et /etc/httpd.conf.d - configuration pour le serveur web apache
/etc/default/grub - contient la configuration utilisée par la mise à jour-grub pour générer /boot/grub/grub.GFC
/ boot / grub /grub.cfg - la commande update-grub génère automatiquement ce fichier en utilisant les paramètres définis dans /etc/default/grub

Configuration Spécifique à l’Utilisateur

Les fichiers de configuration spécifiques à l’utilisateur modifient le comportement du système uniquement pour l’utilisateur qui l’a défini.

Ces fichiers résident généralement dans le répertoire personnel d’un utilisateur et ne nécessitent pas d’autorisations de superutilisateur pour la modification.

Une chose à noter est que les config spécifiques à l’utilisateur ont toujours une priorité plus élevée que les config globales. Ainsi, une application préférera toujours une configuration spécifique à l’utilisateur tant qu’elle existe.

En ce qui concerne les configurations spécifiques à l’utilisateur, nous avons des applications suivant deux normes.
freestar

Configurations Traditionnelles

Traditionnellement, si une application avait un seul fichier de configuration, il serait stocké dans /home//.. Mais, s’il y avait plus d’un seul fichier, les configurations seraient stockées dans le répertoire /home//..

Un excellent exemple de ce comportement est l’éditeur vim.

Fichiers De Configuration Suivant La Norme XDG

freedesktop.org a décidé que l’ancien système était désordonné et a développé la spécification du répertoire de base XDG.

Selon la norme XDG, tous les fichiers de configuration spécifiques à l’utilisateur sont stockés dans le répertoire $XDG_CONFIG_HOME (généralement /home//.configuration).

Dans $XDG_CONFIG_HOME, chaque application crée ses propres sous-répertoires pour stocker les configurations.

L’éditeur NeoVim et de nombreuses applications activement développées suivent désormais la spécification du répertoire de base XDG. Ceci est également très pratique pour les utilisateurs car la sauvegarde du répertoire singleXDG_CONFIG_HOME enregistre toutes les configurations.

Fichiers De Configuration Importants Spécifiques À L’Utilisateur

Certains des fichiers de configuration spécifiques à l’utilisateur les plus couramment utilisés sont:

$MAISON/.xinitrc - cela nous permet de définir les directives pour démarrer un gestionnaire de fenêtres lors de l'utilisation de la commande startx
$MAISON/.configuration de vimrc–vim
$MAISON/.bashrc - script exécuté par bash lorsque l'utilisateur démarre un shell sans connexion
XXDG_CONFIG_HOME/nvim/initialisation.configuration de vim-neovim
$MAISON/.editor - définit l'éditeur par défaut pour l'utilisateur
$MAISON/.gitconfig - définit le nom et l'adresse e-mail par défaut à utiliser pour les commits git
$MAISON/.profil - le shell de connexion exécute les commandes dans le.script de profil au démarrage
$MAISON/.ssh/config - configuration ssh pour un utilisateur spécifique

Conclusion

Dans cet article, nous avons appris les deux types de fichiers de configuration disponibles sous Linux et où nous pouvons les trouver.