Initialisation
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
====== Choisir entre adduser et useradd ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
[[informatique:linux:commandes:useradd|useradd]] et [[informatique:linux:commandes:adduser|adduser]] sont deux commandes UNIX différentes pour ajouter un nouvel utilisateur sur un système Linux. La principale différence entre les deux commandes est que ''adduser'' est une commande de niveau supérieur qui est conçue pour être plus conviviale et interactive, tandis que ''useradd'' est une commande plus basique qui nécessite que l'utilisateur spécifie plus de détails lors de l'ajout d'un utilisateur.
|
||||
|
||||
Voici quelques différences plus spécifiques entre les deux commandes :
|
||||
|
||||
* ''adduser'' est une commande interactive qui demande à l'utilisateur de saisir les détails de l'utilisateur qu'il veut ajouter, comme le nom complet, le mot de passe, le groupe principal, etc. En revanche, useradd ne demande que le nom d'utilisateur, et l'utilisateur doit spécifier les autres détails dans les options de la commande.
|
||||
|
||||
* ''adduser'' crée un nouveau répertoire de travail pour l'utilisateur dans le répertoire ''/home'', tandis que useradd ne crée pas automatiquement ce répertoire.
|
||||
|
||||
* ''adduser'' ajoute automatiquement l'utilisateur aux groupes supplémentaires spécifiés dans le fichier de configuration ''/etc/adduser.conf'', tandis que ''useradd'' ne le fait pas.
|
||||
|
||||
Dans l'ensemble, ''adduser'' est souvent plus convivial et pratique pour ajouter des utilisateurs, tandis que ''useradd'' est plus approprié pour une utilisation dans des scripts ou pour des situations où les détails de l'utilisateur sont déjà connus.
|
||||
|
||||
===== Exemple de script =====
|
||||
|
||||
Voici un exemple de script shell qui utilise la commande ''useradd'' et reprend les fonctionnalités de la commande ''adduser'' :
|
||||
|
||||
<code BASH>
|
||||
#!/bin/bash
|
||||
|
||||
# Définition des couleurs pour l'affichage de messages
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Fonction pour afficher un message d'erreur
|
||||
function print_error() {
|
||||
echo -e "${RED}[ERROR] $1${NC}"
|
||||
}
|
||||
|
||||
# Fonction pour afficher un message d'information
|
||||
function print_info() {
|
||||
echo -e "${YELLOW}[INFO] $1${NC}"
|
||||
}
|
||||
|
||||
# Fonction pour afficher un message de succès
|
||||
function print_success() {
|
||||
echo -e "${GREEN}[SUCCESS] $1${NC}"
|
||||
}
|
||||
|
||||
# Fonction pour ajouter un nouvel utilisateur avec la commande useradd
|
||||
function add_user() {
|
||||
local username=$1
|
||||
local realname=$2
|
||||
local password=$3
|
||||
local homedir=$4
|
||||
local shell=$5
|
||||
local groups=$6
|
||||
|
||||
# Vérifier si l'utilisateur existe déjà
|
||||
if id -u "$username" >/dev/null 2>&1; then
|
||||
print_error "L'utilisateur $username existe déjà."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Créer un nouveau répertoire home pour l'utilisateur
|
||||
if [ ! -d "$homedir" ]; then
|
||||
mkdir -p "$homedir"
|
||||
chmod 700 "$homedir"
|
||||
chown "$username:$username" "$homedir"
|
||||
fi
|
||||
|
||||
# Ajouter l'utilisateur avec la commande useradd
|
||||
useradd -c "$realname" -d "$homedir" -s "$shell" -G "$groups" -m "$username"
|
||||
|
||||
# Définir le mot de passe de l'utilisateur
|
||||
if [ -n "$password" ]; then
|
||||
echo "$username:$password" | chpasswd
|
||||
fi
|
||||
|
||||
print_success "L'utilisateur $username a été ajouté avec succès."
|
||||
}
|
||||
|
||||
</code>
|
||||
|
||||
Dans ce script, nous avons défini une fonction ''add_user'' qui prend en paramètre les mêmes arguments que la commande ''adduser'' : le nom d'utilisateur, le nom réel de l'utilisateur, le mot de passe, le répertoire home, le shell et les groupes supplémentaires. La fonction vérifie d'abord si l'utilisateur existe déjà, puis crée un nouveau répertoire ''home'' pour l'utilisateur si nécessaire, puis ajoute l'utilisateur avec la commande ''useradd''. Enfin, la fonction définit le mot de passe de l'utilisateur si un mot de passe a été fourni.
|
||||
|
||||
Nous avons également défini des fonctions pour afficher des messages d'erreur, d'information et de succès. Ces fonctions peuvent être utilisées pour fournir des commentaires sur les opérations effectuées par le script.
|
||||
|
||||
Exemple d'utilisation de la fonction ''add_user'' :
|
||||
<code BASH>
|
||||
add_user "jdoe" "John Doe" "password" "/home/jdoe" "/bin/bash" "sudo,www-data"
|
||||
</code>
|
||||
|
||||
L'exemple d'utilisation ajoute un nouvel utilisateur avec le nom ''jdoe'', le nom réel "John Doe", le mot de passe "password", le répertoire home ''/home/jdoe'', le shell ''/bin/bash'' et les groupes supplémentaires ''sudo'' et ''www-data''.
|
||||
@@ -0,0 +1,20 @@
|
||||
====== 600 · Choisir entre apt et apt-get ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
De nos jours, il est généralement recommandé d'utiliser la commande ''apt'' pour installer des paquets sur un système **Debian** ou **Ubuntu**, car elle offre une interface utilisateur plus conviviale et plus simple que la commande ''apt-get''.
|
||||
|
||||
En effet, ''apt'' est une interface utilisateur plus moderne pour le système de gestion des paquets "Advanced Packaging Tool" (APT), qui permet une gestion plus facile des dépendances, des mises à jour et des options de recherche.
|
||||
|
||||
Cependant, la commande ''apt-get'' est toujours disponible et fonctionnelle, et est encore utilisée par certains utilisateurs pour sa flexibilité et ses options plus avancées.
|
||||
|
||||
En somme, si vous débutez dans l'utilisation de Linux, il est recommandé d'utiliser ''apt'' pour sa simplicité d'utilisation. Si vous êtes un utilisateur plus avancé et que vous avez besoin de fonctionnalités plus avancées, ''apt-get'' peut être un meilleur choix.
|
||||
|
||||
===== Ressources =====
|
||||
|
||||
* La documentation officielle d'APT : https://manpages.debian.org/stretch/apt/apt.8.fr.html
|
||||
* Un article sur howtogeek : https://www.howtogeek.com/791055/apt-vs.-apt-get-whats-the-difference-on-linux/
|
||||
* Une discussion sur Ask Ubuntu : https://askubuntu.com/questions/445384/what-is-the-difference-between-apt-and-apt-get
|
||||
|
||||
--- //[[user:cedricabonnel]]//
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
====== 190 · Choix du nom d'utilisateur ======
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
Lors de la création de comptes d'utilisateurs sur un système Linux, il est important de suivre les politiques de sécurité et de confidentialité en place pour choisir des noms d'utilisateurs appropriés.
|
||||
|
||||
Les politiques de sécurité et de confidentialité pour choisir des noms d'utilisateurs appropriés varient en fonction de l'organisation ou de l'entreprise. Cependant, voici quelques éléments courants que les politiques peuvent inclure :
|
||||
|
||||
* Longueur minimale et maximale du nom d'utilisateur : Les politiques de sécurité peuvent spécifier une longueur minimale et maximale pour les noms d'utilisateurs. Par exemple, une politique pourrait exiger que les noms d'utilisateurs soient compris entre 6 et 20 caractères.
|
||||
|
||||
* Caractères autorisés : Les politiques de sécurité peuvent spécifier les types de caractères autorisés dans les noms d'utilisateurs. Par exemple, une politique pourrait exiger que les noms d'utilisateurs contiennent uniquement des lettres, des chiffres et des caractères spéciaux spécifiques, tels que le point, le tiret ou le soulignement.
|
||||
|
||||
* Préfixes ou suffixes : Les politiques de sécurité peuvent spécifier l'utilisation de préfixes ou de suffixes pour les noms d'utilisateurs. Par exemple, une politique pourrait exiger que les noms d'utilisateurs commencent tous par "user" ou "utilisateur".
|
||||
|
||||
* Noms basés sur les rôles ou les fonctions : Les politiques de sécurité peuvent spécifier l'utilisation de noms d'utilisateurs basés sur les rôles ou les fonctions des utilisateurs. Par exemple, un administrateur système pourrait avoir le nom d'utilisateur "admin" ou "sysadmin", tandis qu'un employé des ressources humaines pourrait avoir le nom d'utilisateur "hruser".
|
||||
|
||||
* Utiliser des noms d'utilisateurs basés sur les noms des employés : Les noms d'utilisateurs peuvent également être basés sur les noms des employés. Cela peut être utile pour les organisations ayant un petit nombre d'utilisateurs ou lorsque les comptes sont créés manuellement.
|
||||
|
||||
* Éviter les informations personnelles : Les politiques de sécurité peuvent interdire l'utilisation d'informations personnelles sensibles, telles que les noms complets, les dates de naissance ou les numéros de sécurité sociale, comme noms d'utilisateurs. Cela peut réduire le risque de violation de la confidentialité ou de l'usurpation d'identité.
|
||||
|
||||
* Conformité aux règles de l'entreprise : Les politiques de sécurité peuvent exiger que les noms d'utilisateurs soient conformes aux règles de l'entreprise ou de l'organisation en matière de sécurité et de confidentialité.
|
||||
|
||||
Il est important de noter que les politiques de sécurité et de confidentialité pour les noms d'utilisateurs peuvent varier considérablement en fonction de l'organisation ou de l'entreprise. Les politiques doivent être élaborées en tenant compte des exigences de sécurité et de confidentialité, de l'environnement informatique et des besoins de l'entreprise.
|
||||
|
||||
===== Le compte "alice" =====
|
||||
|
||||
L'utilisation du nom d'utilisateur ''alice'' dans les exemples de comptes Linux remonte à de nombreuses années. L'origine de l'utilisation du nom ''alice'' n'est pas claire, mais il est possible que cela ait commencé comme un exemple de nom d'utilisateur générique dans les premières documentations de Linux ou dans les manuels des systèmes Unix.
|
||||
|
||||
Depuis lors, ''alice'' est devenu un nom d'utilisateur communément utilisé dans les exemples de comptes Linux, et est souvent associé à des exemples de comptes d'utilisateurs réguliers.
|
||||
|
||||
L'utilisation de noms d'utilisateurs génériques dans les exemples de comptes Linux n'est pas une norme officielle, et que les noms d'utilisateurs réels varieront en fonction de l'organisation ou de l'individu qui les crée.
|
||||
46
data/pages/informatique/linux/system/copr.txt
Normal file
46
data/pages/informatique/linux/system/copr.txt
Normal file
@@ -0,0 +1,46 @@
|
||||
====== copr ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
**Copr** est un service de construction de paquets pour les distributions Linux basées sur **RPM**, telles que **Fedora**, **CentOS** et **Red Hat Enterprise Linux** (RHEL). Il permet aux utilisateurs de créer, de construire et de partager des paquets logiciels tiers qui ne sont pas disponibles dans les dépôts officiels de leur distribution.
|
||||
|
||||
**Copr** est développé et maintenu par la communauté **Fedora**, avec le soutien de **Red Hat**. **Fedora** est une distribution **Linux** basée sur **RPM**, et **Copr** a été créé pour offrir aux utilisateurs un moyen facile de créer et de distribuer des paquets tiers pour **Fedora** et les distributions basées sur **Fedora**, telles que **CentOS** et **Red Hat Enterprise Linux** (RHEL).
|
||||
|
||||
**Copr** est un projet open source, ce qui signifie que tout le monde peut contribuer à son développement et à son amélioration. Le code source de Copr est hébergé sur GitHub, où la communauté peut soumettre des problèmes, des demandes de fonctionnalités et des pull requests pour améliorer le service.
|
||||
|
||||
**Copr** utilise un environnement de construction isolé pour compiler les paquets, ce qui permet aux utilisateurs de construire des paquets à partir des dernières sources de logiciels. Les utilisateurs peuvent ensuite distribuer ces paquets à d'autres utilisateurs via le référentiel **Copr**.
|
||||
|
||||
**Copr** est un projet open-source, ce qui signifie que les utilisateurs peuvent contribuer au développement et amélioration du service. Le site web officiel de **Copr** fournit des informations détaillées sur la façon de l'utiliser et de commencer à construire des paquets.
|
||||
|
||||
===== Installer un paquet Copr =====
|
||||
|
||||
Pour installer des paquets provenant de **Copr**, vous devez d'abord ajouter le référentiel **Copr** à votre système, puis vous pouvez installer les paquets à partir de ce référentiel en utilisant votre gestionnaire de paquets.
|
||||
|
||||
Voici les étapes générales pour ajouter un référentiel **Copr** et installer un paquet à partir de ce référentiel sur une distribution basée sur **RPM**, telle que **Fedora** ou **CentOS** :
|
||||
|
||||
* Recherchez le nom du référentiel **Copr** qui contient le paquet que vous souhaitez installer. Vous pouvez le trouver sur le site web de **Copr** en utilisant la fonction de recherche : https://copr.fedorainfracloud.org/
|
||||
|
||||
* Ajoutez le référentiel **Copr** à votre système en utilisant la commande suivante dans un terminal :
|
||||
|
||||
<code BASH>
|
||||
sudo dnf copr enable <nom_du_referentiel>
|
||||
</code>
|
||||
|
||||
Remplacez <nom_du_referentiel> par le nom du référentiel que vous souhaitez ajouter.
|
||||
|
||||
* Mettez à jour la liste des paquets disponibles sur votre système en utilisant la commande suivante :
|
||||
|
||||
<code BASH>
|
||||
sudo dnf update
|
||||
</code>
|
||||
|
||||
* Installez le paquet à partir du référentiel Copr en utilisant la commande suivante :
|
||||
|
||||
<code BASH>
|
||||
sudo dnf install <nom_du_paquet>
|
||||
</code>
|
||||
|
||||
Remplacez <nom_du_paquet> par le nom du paquet que vous souhaitez installer.
|
||||
|
||||
--
|
||||
|
||||
Ces étapes peuvent varier légèrement en fonction de votre distribution et de votre gestionnaire de paquets. Il est donc recommandé de consulter la documentation de votre distribution ou de Copr pour des instructions spécifiques.
|
||||
53
data/pages/informatique/linux/system/dconf-editor.txt
Normal file
53
data/pages/informatique/linux/system/dconf-editor.txt
Normal file
@@ -0,0 +1,53 @@
|
||||
====== 300 · Dconf Editor ======
|
||||
|
||||
**Dconf Editor** est principalement associé à l'environnement de bureau **GNOME**, bien qu'il puisse également être utilisé avec d'autres environnements de bureau tels que MATE, XFCE, Cinnamon, Unity, etc. (car basés sur GNOME). Il est également couramment utilisé sur les distributions Linux qui utilisent GNOME comme environnement de bureau par défaut, telles que **Fedora**, **Debian**, **Ubuntu**, etc.
|
||||
|
||||
**Dconf Editor** est développé par la communauté GNOME et est généralement inclus dans les dépôts officiels des distributions Linux. Il est souvent préinstallé sur les systèmes qui utilisent GNOME comme environnement de bureau par défaut. Le système de stockage de configuration **Dconf**, qui est utilisé par **Dconf Editor**, a été développé pour remplacer le système de stockage de configuration **Gconf**, qui était utilisé dans les anciennes versions de GNOME. Le système de stockage de configuration **Dconf** a été conçu pour être plus rapide et plus efficace que **Gconf**.
|
||||
|
||||
<WRAP center round todo 60%>
|
||||
sudo dnf install dconf-editor
|
||||
</WRAP>
|
||||
|
||||
|
||||
Résultat
|
||||
|
||||
<code>
|
||||
Dépendances résolues.
|
||||
================================================================================
|
||||
Package Architecture Version Dépôt Taille
|
||||
================================================================================
|
||||
Installation de:
|
||||
dconf-editor x86_64 3.20.3-1.fc24 updates 252 k
|
||||
|
||||
Résumé de la transaction
|
||||
================================================================================
|
||||
Installation 1 Paquet
|
||||
|
||||
Taille totale des téléchargements : 252 k
|
||||
Taille d'installation : 891 k
|
||||
Est-ce correct [o/N] : o
|
||||
Téléchargement des paquets :
|
||||
dconf-editor-3.20.3-1.fc24.x86_64.rpm 238 kB/s | 252 kB 00:01
|
||||
--------------------------------------------------------------------------------
|
||||
Total 112 kB/s | 252 kB 00:02
|
||||
Test de la transaction en cours
|
||||
La vérification de la transaction a réussi.
|
||||
Lancement de la transaction de test
|
||||
Transaction de test réussie.
|
||||
Exécution de la transaction
|
||||
Installation de : dconf-editor-3.20.3-1.fc24.x86_64 1/1
|
||||
Vérification : dconf-editor-3.20.3-1.fc24.x86_64 1/1
|
||||
|
||||
Installé:
|
||||
dconf-editor.x86_64 3.20.3-1.fc24
|
||||
|
||||
Terminé !
|
||||
</code>
|
||||
|
||||
Exemple : modifier le taille du curseur
|
||||
org > gnome > desktop > interface
|
||||
modifier la valeur cursor-size
|
||||
|
||||
Exemple : afficher la date et les secondes dans la barre des taches
|
||||
org > gnome > desktop > interface
|
||||
modifier les valeurs clock-show-date et clock-show-seconds
|
||||
@@ -0,0 +1,33 @@
|
||||
====== /boot ======
|
||||
{{tag>"linux systeme"}}
|
||||
{{ :dummy.png?75x75|linux system}}
|
||||
|
||||
Le dossier ''/boot'' est un dossier clé dans un système d'exploitation Linux. Il contient les fichiers nécessaires pour amorcer le système, tels que les fichiers du noyau et les fichiers d'initialisation.
|
||||
|
||||
===== Structure du dossier /boot =====
|
||||
|
||||
Le dossier ''/boot'' est situé à la racine du système de fichiers Linux. Il contient plusieurs fichiers et sous-dossiers, chacun ayant un objectif spécifique. Voici une brève description de certains des fichiers et sous-dossiers les plus importants :
|
||||
|
||||
* /boot/grub : contient les fichiers de configuration pour le chargeur de démarrage GRUB.
|
||||
* /boot/initrd.img : contient le fichier d'image RAM initial, qui est utilisé pour démarrer le système.
|
||||
* /boot/System.map : contient une carte des symboles du noyau pour le débogage.
|
||||
* /boot/vmlinuz : contient le noyau Linux.
|
||||
|
||||
===== Fichiers et sous-dossiers importants =====
|
||||
|
||||
Le dossier ''/boot'' contient plusieurs fichiers et sous-dossiers importants qui sont utilisés pour amorcer le système. Voici quelques exemples de fichiers et sous-dossiers couramment utilisés :
|
||||
|
||||
* /boot/grub/grub.cfg : contient les fichiers de configuration pour le chargeur de démarrage GRUB.
|
||||
* /boot/initrd.img-<version> : contient le fichier d'image RAM initial pour une version spécifique du noyau.
|
||||
* /boot/System.map-<version> : contient une carte des symboles du noyau pour une version spécifique du noyau.
|
||||
* /boot/vmlinuz-<version> : contient le noyau Linux pour une version spécifique du noyau.
|
||||
|
||||
===== L'importance du dossier /boot =====
|
||||
|
||||
Le dossier ''/boot'' est essentiel pour le démarrage du système d'exploitation Linux. Il contient les fichiers nécessaires pour amorcer le système, tels que les fichiers du noyau et les fichiers d'initialisation. Sans ces fichiers, le système ne peut pas démarrer.
|
||||
|
||||
Lorsqu'un système Linux démarre, le chargeur de démarrage (tel que GRUB) charge les fichiers du noyau et les fichiers d'initialisation à partir du dossier ''/boot''. Le noyau Linux est responsable de la gestion des ressources système, telles que le matériel, les processus et les périphériques. Les fichiers d'initialisation sont utilisés pour configurer le système et exécuter les scripts nécessaires pour le démarrage des services.
|
||||
|
||||
|
||||
|
||||
--- //[[user:cedricabonnel]] assisté par [[user:cpt]] 2023/02/15 22:37//
|
||||
@@ -0,0 +1,33 @@
|
||||
====== /dev ======
|
||||
{{tag>"linux systeme"}}
|
||||
{{ :dummy.png?75x75|Linux Système}}
|
||||
|
||||
Le dossier ''/dev'' sur un système Linux contient des fichiers de périphériques, qui sont des entrées et sorties spéciales qui permettent au système d'interagir avec les différents périphériques connectés à l'ordinateur, comme les disques durs, les lecteurs de disque, les imprimantes, les réseaux, les claviers, les souris, etc. Ces fichiers de périphériques sont généralement des fichiers de type "pseudo-fichiers" qui sont créés à la volée par le noyau lorsque le périphérique est détecté et qui sont utilisés par les programmes pour accéder aux périphériques.
|
||||
|
||||
Il contient des fichiers spéciaux appelés "périphériques de caractères" et "périphériques de blocs", qui sont utilisés pour interagir avec les périphériques matériels du système.
|
||||
|
||||
Les fichiers dans le dossier ''/dev'' sont créés par le noyau du système d'exploitation lors du démarrage, et représentent les différents périphériques matériels connectés au système, tels que les disques durs, les lecteurs de CD/DVD, les cartes réseau, les ports USB, les interfaces audio et bien d'autres encore.
|
||||
|
||||
Les périphériques de blocs sont utilisés pour accéder aux périphériques de stockage de masse, tels que les disques durs et les clés USB. Ils permettent aux utilisateurs de lire et d'écrire des données sur ces périphériques de manière séquentielle. Par exemple, le périphérique de bloc pour le premier disque dur du système peut être référencé par le nom ''/dev/sda''.
|
||||
|
||||
Les périphériques de caractères, quant à eux, sont utilisés pour interagir avec les périphériques matériels de manière séquentielle. Ils sont utilisés pour des périphériques tels que les ports série, les imprimantes et les interfaces audio. Par exemple, le périphérique de caractères pour le port série peut être référencé par le nom "/dev/ttyS0".
|
||||
|
||||
Dans le dossier ''/dev'', il y a également des fichiers spéciaux qui sont utilisés pour représenter des périphériques virtuels, tels que des consoles virtuelles et des ports de communication avec le noyau.
|
||||
|
||||
Le dossier ''/dev'' est généralement utilisé par les programmes et les utilitaires du système pour interagir avec les périphériques matériels. Par exemple, les programmes d'installation peuvent accéder aux périphériques de bloc pour installer le système d'exploitation sur un disque dur, tandis que les programmes de gestion de fichiers peuvent accéder aux périphériques de bloc et de caractères pour lire et écrire des données sur des périphériques de stockage de masse ou des périphériques d'interface.
|
||||
|
||||
Sous le dossier ''/dev'', il y a plusieurs fichiers ou dossiers remarquables, en voici quelques-uns :
|
||||
|
||||
* /dev/null : Il s'agit d'un fichier spécial qui ne stocke pas de données. Tout ce qui est écrit dans ce fichier est simplement supprimé. Il est souvent utilisé pour rediriger les sorties de programmes ou de scripts qui ne nécessitent pas de sortie.
|
||||
|
||||
* /dev/random et /dev/urandom : Ce sont des fichiers spéciaux qui fournissent des données aléatoires. Ils sont souvent utilisés pour générer des clés de chiffrement ou pour les jeux.
|
||||
|
||||
* /dev/tty : Il s'agit du périphérique de caractères qui représente le terminal actif pour un utilisateur. Tous les caractères entrés sur le clavier sont envoyés à ce périphérique et tous les caractères sortants sont affichés sur l'écran associé.
|
||||
|
||||
* /dev/sda, /dev/sdb, etc. : Ce sont des périphériques de blocs qui représentent les disques durs ou les SSD connectés au système. Chaque disque dur est représenté par un périphérique différent, par exemple, le premier disque dur est représenté par ''/dev/sda''.
|
||||
|
||||
* /dev/cdrom : Il s'agit d'un lien symbolique qui pointe vers le périphérique de bloc qui représente le lecteur de CD-ROM ou de DVD connecté au système.
|
||||
|
||||
* /dev/null : Il est un fichier spécial qui est souvent utilisé pour rediriger les sorties de programmes ou de scripts qui ne nécessitent pas de sortie.
|
||||
|
||||
* /dev/null0 et /dev/full : Ce sont des fichiers spéciaux similaires à /dev/null, mais avec des comportements différents. /dev/null0 est utilisé pour ignorer toutes les données entrantes, tandis que /dev/full est utilisé pour indiquer que le périphérique est plein.
|
||||
@@ -0,0 +1,9 @@
|
||||
====== /etc/bashrc ======
|
||||
{{tag>"Linux systeme"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
''/etc/bashrc'' est un fichier de configuration pour la shell **Bash** qui est généralement utilisé par les systèmes d'exploitation basés sur UNIX ou Linux. Il peut contenir des commandes et des paramètres de configuration pour la shell Bash qui doivent être exécutés pour tous les utilisateurs de la machine.
|
||||
|
||||
Il peut contenir des définitions de **variables d'environnement**, des **[[informatique:linux:commandes:alias|alias]] de commandes**, des **options de configuration pour Bash**, et d'autres commandes qui doivent être exécutées pour tous les utilisateurs de la machine au démarrage de la session. Il est généralement utilisé pour configurer des paramètres tels que la **mise en forme de la ligne de commande**, les couleurs, les **options de historique de commandes**, les **options de tabulation automatique**, et d'autres paramètres de configuration pour tous les utilisateurs. A noter que cela dépend des paramétrages de l'administrateur système de chaque distribution.
|
||||
|
||||
Voir [[https://www.abonnel.fr/informatique/linux/dossiers-remarquables/home/bash-profile|.bash_profile]] pour obtenir des exemples.
|
||||
@@ -0,0 +1,299 @@
|
||||
====== /etc/fstab ======
|
||||
{{ :dummy.png?75x75|Gestion des fichiers}}
|
||||
|
||||
----
|
||||
|
||||
Le fichier ''/etc/fstab'' est un fichier de configuration utilisé par le système d'exploitation Linux pour monter automatiquement des systèmes de fichiers. ''fstab'' signifie "File System Table" (Table des systèmes de fichiers).
|
||||
|
||||
Malgré l'amélioration des systèmes d'exploitation, il y a encore des éléments "à l'ancienne" dont nous ne pouvons tout simplement pas nous passer. Les systèmes de fichiers, et par nécessité, les tables de systèmes de fichiers, font partie de ces éléments constants.
|
||||
|
||||
Le fichier ''/etc/fstab'' contient une liste de systèmes de fichiers et de périphériques de stockage qui doivent être montés au démarrage du système. Pour chaque périphérique de stockage, le fichier ''/etc/fstab'' contient des informations telles que le point de montage (où le système de fichiers doit être monté dans la hiérarchie des répertoires), le type de système de fichiers, les options de montage et les paramètres de sécurité.
|
||||
|
||||
La structure de la table elle-même est composée de **6 colonnes**, où chaque colonne désigne un paramètre spécifique et doit être configurée dans l'ordre correct. Les colonnes de la table sont les suivantes, de gauche à droite :
|
||||
|
||||
* **Périphérique** : généralement le nom donné ou l'UUID du périphérique monté.
|
||||
* **Point de montage** : désigne le répertoire où le périphérique est ou sera monté.
|
||||
* **Type de système de fichiers** : indique le type de système de fichiers en cours d'utilisation.
|
||||
* **Options** : liste toutes les options de montage actives. Si vous utilisez plusieurs options, elles doivent être séparées par des virgules.
|
||||
* **Opération de sauvegarde** : (le premier chiffre) il s'agit d'un système binaire où 1 = une sauvegarde à l'aide de l'utilitaire //dump// d'une partition. 0 = pas de sauvegarde. Il s'agit d'une méthode de sauvegarde obsolète et **NE DOIT PAS être utilisée**.
|
||||
* **Ordre de vérification du système de fichiers** : (deuxième chiffre) ici, nous pouvons voir trois résultats possibles. 0 signifie que ''fsck'' ne vérifiera pas le système de fichiers. Les nombres supérieurs à celui-ci représentent l'ordre de vérification. Le système de fichiers racine doit être défini sur 1 et les autres partitions sur 2.
|
||||
|
||||
<panel type="default" title="Exemple de fichier" subtitle="/etc/fstab" icon="fa fa-laptop">
|
||||
<code>
|
||||
UUID=9a1046f4-e5b1-44cc-9e9d-a9b1d8d56be3 / ext4 defaults,relatime,discard 0 1
|
||||
UUID=53d697a8-877e-468c-8fa8-fda6dd3f01d1 /boot ext4 defaults,discard,noatime 0 2
|
||||
UUID=13d65e2a-21ac-486e-9e48-cc5aac3cc0df /home ext4 defaults,relatime 0 2
|
||||
UUID=005f62eb-a70e-46ab-b457-3c4dcfc22280 /tmp ext4 defaults,discard,noatime 0 2
|
||||
UUID=09b1e2ca-269e-4971-b91a-498847cb4221 none swap defaults 0 0
|
||||
#
|
||||
# Baie 1
|
||||
rpinas.acegrp.lan:/media/disk_14 /media/disk_14 nfs defaults,users,auto,nofail,noexec,soft,intr,rsize=1048576,wsize=1048576 0 0
|
||||
</code>
|
||||
</panel>
|
||||
Les informations contenues dans le fichier ''/etc/fstab'' sont utilisées par le système d'exploitation pour monter automatiquement les systèmes de fichiers au démarrage, ce qui permet d'accéder facilement aux fichiers stockés sur ces systèmes de fichiers. Sans ce fichier, il serait nécessaire de monter manuellement chaque système de fichiers chaque fois que le système d'exploitation est démarré, ce qui serait fastidieux et source d'erreurs.
|
||||
|
||||
===== Type de système de fichiers =====
|
||||
|
||||
==== NFS ====
|
||||
|
||||
Le type de système de fichiers **NFS** (Network File System) est un système de fichiers distribué qui permet à un utilisateur d'accéder à des fichiers et des répertoires sur un ordinateur distant comme s'ils étaient locaux. Le système de fichiers **NFS** est largement utilisé dans les environnements informatiques distribués et les réseaux locaux pour partager des fichiers et des données entre plusieurs systèmes. Il est souvent utilisé pour partager des fichiers entre des systèmes **Unix** et **Linux**. Le système de fichiers **NFS** utilise un protocole de communication réseau pour permettre aux clients d'accéder aux fichiers sur le serveur **NFS**.
|
||||
|
||||
Bien que le système de fichiers **NFS** soit principalement utilisé sur des systèmes **Unix** et **Linux**, il existe également des implémentations pour Windows. Microsoft propose un client NFS gratuit pour Windows, appelé "**Client for NFS**", qui permet aux utilisateurs Windows d'accéder à des fichiers stockés sur des serveurs NFS distants.
|
||||
|
||||
https://learn.microsoft.com/en-us/windows-server/storage/nfs/nfs-overview
|
||||
|
||||
Les options couramment utilisées pour monter des systèmes de fichiers NFS sont :
|
||||
|
||||
* **lookupcache=mode** : spécifie comment le noyau doit gérer le cache des entrées de répertoire pour un point de montage donné.
|
||||
* **nfsvers**=version : spécifie la version du protocole NFS à utiliser, où version peut être 3 ou 4.
|
||||
* **noacl** : désactive le traitement des ACL (Access Control Lists).
|
||||
* **nolock** : désactive le verrouillage de fichiers. Depuis NFS version 3.
|
||||
* **noexec** : empêche l'exécution de binaires sur les systèmes de fichiers montés. Cela peut être utile si le système de fichiers monté contient des binaires incompatibles avec le système local.
|
||||
* **nosuid** : désactive les bits set-user-identifier ou set-group-identifier pour empêcher les utilisateurs distants d'obtenir des privilèges supérieurs en exécutant un programme setuid.
|
||||
* **port=num** : spécifie le numéro de port numérique du serveur NFS. Si num est 0 (la valeur par défaut), mount interroge le service rpcbind de l'hôte distant pour connaître le numéro de port à utiliser.
|
||||
* **rsize=num** et **wsize=num** : ces options définissent le nombre maximum d'octets à transférer dans une seule opération de lecture ou d'écriture NFS.
|
||||
* **sec=flavors** : spécifie les mécanismes de sécurité à utiliser pour accéder aux fichiers sur l'export NFS monté. Exemple : ''sys'', ''krb5p''
|
||||
* **tcp** : indique au montage NFS d'utiliser le protocole TCP.
|
||||
* **udp** : indique au montage NFS d'utiliser le protocole UDP.
|
||||
|
||||
La configuration optimale dépend de l'environnement spécifique et des besoins du système. Cependant, voici quelques recommandations générales pour la configuration des options NFS dans ''/etc/fstab'' :
|
||||
|
||||
* Pour la sécurité, il est généralement recommandé d'utiliser l'option **sec=krb5p** pour chiffrer le trafic NFS et empêcher l'interception ou la modification des données. Cette option nécessite cependant une **infrastructure Kerberos** en place pour l'authentification.
|
||||
|
||||
* Pour améliorer les performances, il est souvent conseillé de définir des valeurs personnalisées pour les options ''rsize'' et ''wsize'' à une valeur maximale de **1048576** (ou **1 Mo**), qui est la valeur par défaut pour NFS version 3 et 4. Cela permet de maximiser le débit de données et d'optimiser les performances du système : ''rsize=1048576,wsize=1048576''.
|
||||
|
||||
* Pour éviter les problèmes de verrouillage de fichiers vous pouvez utiliser l'option ''nolock''. Lorsqu'un client NFS accède à un fichier sur un serveur, il utilise le verrouillage de fichiers pour empêcher d'autres clients d'accéder ou de modifier le même fichier simultanément. Toutefois, dans certains cas, l'utilisation du verrouillage de fichiers NFS peut entraîner des problèmes de performance ou de fiabilité. En utilisant l'option "nolock", les clients NFS peuvent désactiver la gestion de verrouillage de fichiers NFS pour les fichiers sur un serveur NFS particulier. Cela peut être utile dans des situations où la performance est plus importante que la cohérence des données, ou lorsque le serveur NFS ne supporte pas la gestion de verrouillage de fichiers. **Il N'EST PAS conseillé d'utiliser l'option ''nolock''**. L'option "nolock" est spécifique à NFS version 3. Dans les versions antérieures de NFS, le verrouillage de fichiers est toujours utilisé pour empêcher les accès concurrents aux fichiers.
|
||||
|
||||
* Pour garantir la disponibilité continue des systèmes de fichiers NFS et éviter les problèmes de blocage, il est recommandé d'utiliser l'option ''soft'' plutôt que l'option ''hard''. Les options ''soft'' et ''hard'' sont spécifiques à NFS et ne s'appliquent qu'aux montages NFS. L'option ''soft'' permet au client NFS de renvoyer une erreur si le serveur ne répond pas ou est indisponible, alors que l'option ''hard'' fait en sorte que le client continue d'essayer d'atteindre le serveur même si celui-ci est indisponible, ce qui peut entraîner un blocage du système.
|
||||
|
||||
* Pour améliorer la tolérance aux erreurs réseau, il est possible d'utiliser l'option ''intr'' pour interrompre les opérations NFS en cours sur un système de fichiers lorsque le serveur NFS ne répond pas. Si l'option ''intr'' n'est pas spécifiée, les opérations NFS sont bloquées et le client ne répond plus aux entrées utilisateur tant que le serveur NFS distant ne répond pas ou ne se termine pas. Cela peut être un problème pour les applications interactives ou les scripts qui utilisent NFS, car ils peuvent devenir bloqués si le serveur ne répond pas.
|
||||
|
||||
Enfin, il est important de bien comprendre les implications de chaque option et de tester les différentes configurations dans votre environnement avant de les déployer en production.
|
||||
===== Les options =====
|
||||
|
||||
==== noatime ====
|
||||
|
||||
L'option ''noatime'' dans **fstab** est utilisée pour améliorer les performances du système de fichiers locaux. Normalement, chaque fois qu'un fichier est accédé sur un système de fichiers Linux, l'horodatage de dernière accès (//atime//) est mis à jour. Cela peut entraîner une surcharge inutile du système de fichiers, car même la simple lecture d'un fichier peut entraîner une écriture sur le disque pour mettre à jour l'//atime//.
|
||||
|
||||
En utilisant l'option ''noatime'' , le système de fichiers ne mettra pas à jour la date et l'heure du dernier accès (//atime//) lorsqu'un fichier est accédé. Cela peut considérablement réduire la charge sur le disque et améliorer les performances du système, en particulier pour les systèmes de fichiers très fréquemment utilisés, tels que les systèmes de fichiers racine ou les systèmes de fichiers de base de données.
|
||||
|
||||
L'utilisation de l'option ''noatime'' peut entraîner une perte d'informations d'audit, car le système ne gardera plus une trace du moment où les fichiers ont été accédés pour la dernière fois. Si cela est important pour vos besoins, vous pouvez envisager d'utiliser l'option ''relatime'' à la place, qui met à jour l'//atime// uniquement si le fichier a été accédé plus récemment que la dernière modification ou l'écriture.
|
||||
|
||||
L'option "noatime" est prise en charge par la plupart des systèmes de fichiers Linux modernes, y compris les systèmes de fichiers **ext2**, **ext3**, **ext4**, **XFS**, **Btrfs**, **JFS**, **ReiserFS** et **NTFS** (via le pilote **NTFS-3G**, voir la section [[informatique:linux:cfp:modifier-le-noyau-linux#fichier-de-configuration-du-noyau|Fichier de configuration du noyau]]).
|
||||
|
||||
Cependant, l'utilisation de l'option ''noatime'' peut ne pas être appropriée pour tous les types d'applications ou de charges de travail. Par exemple, certains programmes de surveillance de fichiers ou de sauvegarde peuvent avoir besoin de suivre l'horodatage de dernière accès pour fonctionner correctement. Par conséquent, il est recommandé de tester soigneusement l'impact de l'option ''noatime'' sur votre système avant de l'utiliser en production.
|
||||
|
||||
==== nodev ====
|
||||
|
||||
L'option ''nodev'' est une option de montage utilisée dans le fichier ''/etc/fstab'' pour spécifier que les fichiers sur le système de fichiers ne peuvent pas être des fichiers spéciaux de périphérique.
|
||||
|
||||
En d'autres termes, si l'option ''nodev'' est utilisée, les utilisateurs ne pourront pas créer de fichiers spéciaux de périphérique (tels que des fichiers de périphérique de bloc ou de caractère) sur le système de fichiers monté.
|
||||
|
||||
L'option ''nodev'' est souvent utilisée pour des raisons de sécurité, car elle empêche les utilisateurs d'exécuter du code malveillant en créant des fichiers spéciaux de périphérique sur un système de fichiers monté.
|
||||
|
||||
Exemple de ligne dans le fichier ''/etc/fstab'' avec l'option ''nodev'' :
|
||||
|
||||
/dev/sda1 /mnt/data ext4 defaults,nodev 0 2
|
||||
|
||||
Dans cet exemple, le système de fichiers ''ext4'' monté sur ''/mnt/data'' ne permet pas la création de fichiers spéciaux de périphérique.
|
||||
|
||||
==== defaults ====
|
||||
|
||||
L'option ''defaults'' est une option de montage simplifiée qui inclut un ensemble prédéfini d'options de montage pour un système de fichiers spécifique. Les options incluses dans l'option ''defaults'' varient en fonction du type de système de fichiers.
|
||||
|
||||
En général, les options suivantes sont incluses dans l'option ''defaults'' :
|
||||
|
||||
* **rw** : autorise les opérations de lecture et d'écriture sur le système de fichiers
|
||||
* **suid** : permet l'exécution des fichiers binaires en tant qu'utilisateur propriétaire
|
||||
* **dev** : autorise la création et la suppression de périphériques spéciaux dans le système de fichiers
|
||||
* **exec** : permet l'exécution de fichiers binaires
|
||||
* **auto** : monte le système de fichiers automatiquement au démarrage
|
||||
* **nouser** : n'autorise pas les utilisateurs ordinaires à monter ou démonter le système de fichiers
|
||||
* **async** : monte un système de fichiers pour spécifier le mode d'écriture de données asynchrone.
|
||||
|
||||
Notez que les options incluses dans l'option ''defaults'' peuvent varier selon la distribution Linux ou le type de système de fichiers utilisé. Il est important de vérifier la documentation appropriée pour votre système avant de modifier ou de configurer les options de montage.
|
||||
|
||||
==== sync, async ====
|
||||
|
||||
En utilisant l'option ''async'', les entrées/sorties peuvent être envoyées à la partition plus rapidement, car le système de fichiers n'attendra pas la confirmation de chaque écriture pour continuer. Cela signifie que les données peuvent être écrites plus rapidement, mais cela peut également entraîner une perte de données en cas de panne du système.
|
||||
|
||||
Si l'option ''sync'' est utilisée, le système de fichiers attendra la confirmation de chaque écriture avant de continuer, ce qui peut ralentir le processus d'écriture, mais garantira l'intégrité des données.
|
||||
|
||||
Il est important de noter que l'utilisation de l'option ''async'' est généralement déconseillée sur des systèmes critiques tels que des serveurs de bases de données ou de fichiers, car cela peut augmenter les risques de perte de données en cas de panne du système ou de coupure de courant.
|
||||
|
||||
Pour un SSD, il est généralement recommandé d'utiliser l'option ''discard'' plutôt que ''async'' ou ''sync'' dans le fichier ''/etc/fstab''.
|
||||
|
||||
L'option ''discard'' permet au système de fichiers de renvoyer les blocs de données qui ne sont plus nécessaires au SSD, ce qui peut améliorer les performances et la durée de vie du SSD.
|
||||
==== user, users ====
|
||||
|
||||
Si un disque n'est pas monté au démarrage du système et que vous souhaitez qu'un utilisateur standard puisse le monter manuellement, vous pouvez utiliser l'option ''users'' ou ''user'' dans le fichier ''/etc/fstab'' pour autoriser les utilisateurs à monter le disque.
|
||||
|
||||
L'option ''users'' permet à n'importe quel utilisateur de monter le système de fichiers, tandis que l'option ''user'' ne permet que à l'utilisateur propriétaire du point de montage de monter le système de fichiers. Voici comment utiliser ces options:
|
||||
|
||||
-- Ajoutez l'option ''users'' à la liste des options pour le système de fichiers dans le fichier ''/etc/fstab'', par exemple:
|
||||
|
||||
/dev/sdb1 /mnt/data ext4 defaults,users 0 0
|
||||
|
||||
Cela permettra à tous les utilisateurs de monter manuellement le système de fichiers avec la commande ''mount /mnt/data''.
|
||||
|
||||
-- Ajoutez l'option ''user'' à la liste des options pour le système de fichiers dans le fichier ''/etc/fstab'', par exemple:
|
||||
|
||||
/dev/sdb1 /mnt/data ext4 defaults,user 0 0
|
||||
|
||||
Cela permettra à l'utilisateur propriétaire du point de montage de monter manuellement le système de fichiers avec la commande ''mount /mnt/data''.
|
||||
|
||||
==== auto ====
|
||||
|
||||
L'option ''auto'' est une option de montage qui spécifie que le système de fichiers doit être automatiquement monté au démarrage du système.
|
||||
|
||||
Lorsque l'option ''auto'' est utilisée pour un système de fichiers spécifique, le système tentera automatiquement de monter le système de fichiers au démarrage, sans intervention de l'utilisateur. Cela peut être utile pour les systèmes de fichiers qui contiennent des données essentielles au fonctionnement du système et doivent être montés automatiquement à chaque démarrage.
|
||||
|
||||
==== nofail ====
|
||||
|
||||
L'option ''nofail'' est une option de montage qui peut être utilisée dans le fichier ''/etc/fstab'' pour spécifier qu'un système de fichiers ne doit pas empêcher le démarrage du système si le montage échoue.
|
||||
|
||||
Par défaut, lorsqu'un système de fichiers spécifié dans le fichier ''/etc/fstab'' n'est pas monté avec succès au démarrage, cela peut entraîner des erreurs ou des blocages du système. Cela peut être particulièrement problématique si le système de fichiers contient des données essentielles pour le fonctionnement du système.
|
||||
|
||||
En utilisant l'option ''nofail'' dans le fichier ''/etc/fstab'', le système de fichiers sera monté de manière à ne pas bloquer le démarrage du système si le montage échoue. Cela peut être utile dans des situations où un système de fichiers peut ne pas être disponible au démarrage ou où il n'est pas critique pour le fonctionnement du système.
|
||||
|
||||
Lorsqu'elle est utilisée en combinaison avec l'option ''auto'', l'option ''nofail'' indique au système de tenter automatiquement de monter le système de fichiers au démarrage, mais de ne pas bloquer le démarrage si le montage échoue.
|
||||
|
||||
==== realtime ====
|
||||
|
||||
Cette option est obsolète et n'est plus utilisée dans les versions récentes des distributions Linux.
|
||||
|
||||
L'option ''realtime'' est utilisée pour les systèmes de fichiers locaux, où elle permet de définir que le système de fichiers doit être monté en mode temps réel pour un accès à haute priorité.
|
||||
|
||||
Cependant, pour les systèmes de fichiers NFS, l'option ''realtime'' n'a pas de sens car les opérations NFS sont déjà exécutées en temps réel. L'utilisation de cette option pourrait donc entraîner des comportements inattendus ou des performances médiocres.
|
||||
|
||||
En outre, il est important de noter que le système de fichiers **ext4** ne supporte pas la fonctionnalité en temps réel, contrairement à certains autres systèmes de fichiers tels que **XFS**.
|
||||
|
||||
|
||||
==== relatime ====
|
||||
|
||||
L'option ''relatime'' est une option de montage pour les systèmes de fichiers Linux qui permet de mettre à jour le champ d'horodatage d'accès (atime) d'un fichier uniquement si celui-ci est plus ancien que le champ d'horodatage de modification (mtime) ou de création (ctime) du fichier.
|
||||
|
||||
L'option ''relatime'' est une amélioration de l'option ''noatime'', qui désactive complètement la mise à jour du champ d'horodatage d'accès lors de la lecture d'un fichier. En comparaison, l'option ''relatime'' permet de conserver l'horodatage d'accès lorsqu'il est nécessaire pour certaines applications (comme les programmes de surveillance de fichiers), tout en évitant la mise à jour inutile du champ d'horodatage d'accès pour les fichiers qui sont régulièrement consultés.
|
||||
|
||||
L'utilisation de l'option ''relatime'' permet de réduire les opérations d'écriture sur le disque dur par rapport à l'option ''atime'' par défaut, tout en conservant les horodatages d'accès pour les fichiers qui en ont besoin. Cela peut contribuer à améliorer les performances globales du système de fichiers.
|
||||
|
||||
/dev/sda1 /mnt/data ext4 defaults,relatime 0 2
|
||||
|
||||
L'option ''relatime'' n'est pas prise en charge par tous les systèmes de fichiers et toutes les versions de Linux. Elle est généralement prise en charge par les systèmes de fichiers couramment utilisés, tels que ''ext4'' et ''XFS'', à partir des versions du noyau Linux 2.6.20 et ultérieures.
|
||||
==== bind ====
|
||||
|
||||
L'option ''bind'' dans le fichier ''/etc/fstab'' permet de monter un répertoire à un emplacement différent dans le système de fichiers, sans avoir besoin de copier les données.
|
||||
|
||||
Lorsque vous utilisez l'option ''bind'', vous montez un répertoire existant (source) sur un autre répertoire (destination) qui peut être n'importe où dans le système de fichiers. Le contenu du répertoire source apparaîtra alors dans le répertoire de destination, et toute modification apportée à l'un des deux répertoires sera reflétée dans l'autre.
|
||||
|
||||
L'option ''bind'' est souvent utilisée pour partager des répertoires entre différentes parties du système de fichiers, ou pour créer des liens symboliques persistants entre des répertoires.
|
||||
|
||||
Voici un exemple d'utilisation de l'option ''bind'' dans le fichier ''/etc/fstab'':
|
||||
|
||||
/home/user1/docs /home/user2/shared-docs none bind 0 0
|
||||
|
||||
Dans cet exemple, le répertoire ''/home/user1/docs'' est monté sur ''/home/user2/shared-docs'' en utilisant l'option ''bind''. Cela permettra à l'utilisateur ''user2'' d'accéder aux documents de l'utilisateur ''user1'' sans avoir à les copier dans son propre répertoire.
|
||||
|
||||
Si vous utilisez l'option ''bind'' pour partager un répertoire entre deux utilisateurs, vous pouvez ajouter l'option ''uid'' ou ''gid'' pour spécifier le propriétaire ou le groupe propriétaire du répertoire de destination, afin que les fichiers créés dans ce répertoire appartiennent au bon utilisateur ou groupe.
|
||||
|
||||
Voici un exemple d'utilisation de l'option ''bind'' avec l'option ''uid'' pour spécifier le propriétaire du répertoire de destination:
|
||||
|
||||
/home/user1/docs /home/user2/shared-docs none bind,uid=user2 0 0
|
||||
|
||||
Dans cet exemple, le répertoire ''/home/user1/docs'' est monté sur ''/home/user2/shared-docs'' en utilisant l'option ''bind'' et l'option ''uid'' pour spécifier que le propriétaire du répertoire de destination est l'utilisateur ''user2''.
|
||||
|
||||
==== discard ====
|
||||
|
||||
L'option ''discard'' dans le fichier ''/etc/fstab'' est utilisée pour activer la fonction de libération de blocs inutilisés (TRIM ou DISCARD) pour les disques SSD. Lorsqu'un système de fichiers est monté avec l'option ''discard'', le système d'exploitation peut informer le disque SSD des blocs de données qui ne sont plus utilisés et qui peuvent être effacés. Cette fonctionnalité de libération des blocs inutilisés peut aider à améliorer les performances et la durée de vie du SSD en évitant la fragmentation des données sur le disque.
|
||||
|
||||
Il est important de noter que tous les disques SSD ne prennent pas en charge la fonction TRIM ou DISCARD, et que certains contrôleurs de disque SSD peuvent avoir des performances médiocres lorsqu'ils sont utilisés avec l'option ''discard''. Il est donc recommandé de vérifier la compatibilité de votre SSD avant d'utiliser l'option ''discard''.
|
||||
|
||||
Pour vérifier que votre SSD prend en charge la fonction TRIM ou DISCARD, vous pouvez exécuter la commande suivante en tant que superutilisateur :
|
||||
|
||||
sudo hdparm -I /dev/sda | grep TRIM
|
||||
|
||||
Si la commande ''hdparm'' n'est pas reconnu, installez le programme ''hdparm'' avec votre gestionnaire de paquets (dnf, yum, apt...).
|
||||
|
||||
Assurez-vous de remplacer ''/dev/sda'' par le nom de périphérique correspondant à votre disque SSD. Si la commande renvoie ''Data Set Management TRIM supported (limit 8 blocks)'', cela signifie que votre SSD prend en charge la fonction TRIM.
|
||||
|
||||
Vous pouvez également utiliser la commande suivante pour vérifier que la fonction TRIM est activée sur votre système de fichiers :
|
||||
|
||||
sudo tune2fs -l /dev/sda1 | grep "Discard"
|
||||
|
||||
Assurez-vous de remplacer ''/dev/sda1'' par le nom de périphérique correspondant à votre partition contenant le système de fichiers. Si la commande renvoie ''Discard options: (0)'', cela signifie que la fonction TRIM est désactivée. Si la commande renvoie ''Discard options: (0x0002)'', cela signifie que la fonction TRIM est activée.
|
||||
|
||||
{{ :informatique:linux:system:dossiers-remarquables:pasted:20230605-220115.png }}
|
||||
===== Conseils =====
|
||||
|
||||
__Ajouter l'option ''discard'' pour le système de fichiers ''root'' et ''home''__
|
||||
|
||||
L'option ''discard'' permet au système de fichiers de libérer rapidement les blocs inutilisés, améliorant ainsi les performances et la durée de vie des **disques SSD**. Pour ajouter cette option, modifiez les lignes correspondantes comme suit :
|
||||
|
||||
<code>
|
||||
LABEL=root_35 / ext4 defaults,noatime,discard 0 1
|
||||
LABEL=home_35 /home ext4 defaults,noatime,discard 0 2
|
||||
</code>
|
||||
|
||||
Il est important d'aller consulter le chapitre [[#discard|discard]].
|
||||
|
||||
__Utiliser l'option ''relatime'' plutôt que ''noatime''__
|
||||
|
||||
L'option ''relatime'' permet au système de fichiers de mettre à jour les horodatages d'accès aux fichiers uniquement si l'accès est plus récent que l'horodatage de modification. Cela permet de réduire le nombre d'écritures sur le disque et d'améliorer les performances. Pour utiliser l'option ''relatime'', modifiez les lignes correspondantes comme suit :
|
||||
|
||||
<code>
|
||||
LABEL=root_35 / ext4 defaults,relatime,discard 0 1
|
||||
LABEL=boot_35 /boot ext4 defaults,relatime 0 1
|
||||
LABEL=home_35 /home ext4 defaults,relatime 0 2
|
||||
</code>
|
||||
|
||||
__Ajouter l'option ''noexec'' pour les systèmes de fichiers qui ne nécessitent pas l'exécution de fichiers__
|
||||
|
||||
L'option ''noexec'' empêche l'exécution de fichiers sur le système de fichiers, ce qui peut aider à renforcer la sécurité. Pour ajouter cette option, modifiez la ligne correspondante pour le système de fichiers ''/media/disk_14'' comme suit :
|
||||
|
||||
<code>
|
||||
rpinas.acegrp.lan:/media/disk_14 /media/disk_14 nfs users,auto,nofail,noexec 0 2
|
||||
</code>
|
||||
|
||||
|
||||
===== Vérifier la configuration du fichier /etc/fstab =====
|
||||
|
||||
Il est possible de vérifier la syntaxe et l'intégrité du fichier ''/etc/fstab'' sans exécuter les instructions en utilisant la commande ''findmnt''. Cette commande est disponible sur les systèmes Linux modernes et permet de lister les points de montage actifs et les systèmes de fichiers correspondants.
|
||||
|
||||
Pour vérifier la syntaxe du fichier ''/etc/fstab'', vous pouvez utiliser la commande suivante :
|
||||
|
||||
findmnt --verify --evaluate --fstab /etc/fstab
|
||||
|
||||
Cette commande vérifie la syntaxe du fichier ''/etc/fstab'' en utilisant l'option ''--verify'' et affiche les erreurs éventuelles. L'option ''--evaluate'' permet d'interpréter les expressions du fichier ''/etc/fstab'' et de les afficher sous forme de chaînes de montage complètes. L'option ''--fstab'' spécifie le chemin du fichier ''/etc/fstab'' à vérifier.
|
||||
|
||||
Si la commande affiche un message ''Succès, aucune erreur ni avertissement détecté'', cela signifie que le fichier ''/etc/fstab'' est syntaxiquement correct.
|
||||
|
||||
La commande ''findmnt'' ne vérifie pas si les systèmes de fichiers sont réellement accessibles ou s'ils sont correctement configurés. Elle ne simule que le processus de montage et vérifie la syntaxe du fichier ''/etc/fstab''. Il est donc recommandé de vérifier manuellement la configuration de chaque système de fichiers pour s'assurer de son accessibilité et de sa sécurité.
|
||||
|
||||
===== Vérifier les options de montage en cours =====
|
||||
|
||||
Vous pouvez vérifier les options de montage actuelles pour un système de fichiers en utilisant la commande ''mount'' sur Linux :
|
||||
|
||||
* Ouvrez un terminal sur votre système Linux.
|
||||
|
||||
* Tapez la commande suivante pour afficher une liste de tous les systèmes de fichiers montés :
|
||||
|
||||
mount
|
||||
|
||||
* Recherchez le système de fichiers que vous souhaitez vérifier dans la liste. Par exemple, si vous souhaitez vérifier les options de montage pour le système de fichiers racine (/), recherchez la ligne correspondante dans la liste.
|
||||
|
||||
* Les options de montage sont affichées entre parenthèses à la fin de la ligne. Les options sont séparées par des virgules.
|
||||
|
||||
<code>
|
||||
...
|
||||
/dev/sda2 on / type ext4 (rw,noatime,seclabel)
|
||||
...
|
||||
/dev/sda1 on /boot type ext4 (rw,noatime,seclabel)
|
||||
/dev/sdb2 on /home type ext4 (rw,relatime,seclabel)
|
||||
/dev/sdc on /home/cedric24c/_tmp type ext4 (rw,relatime,seclabel)
|
||||
</code>
|
||||
|
||||
--
|
||||
|
||||
Si une option est présente, cela signifie qu'elle est activée pour le système de fichiers correspondant. Si une option est absente, cela signifie qu'elle n'est pas activée pour ce système de fichiers.
|
||||
|
||||
--- //[[user:cedricabonnel]]// & [[user:cpt]]
|
||||
@@ -0,0 +1,13 @@
|
||||
====== /etc/profile.d/ ======
|
||||
{{tag>"Linux système"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
''/etc/profile.d/'' est un répertoire qui contient des fichiers shell (.sh) qui sont exécutés au démarrage de la session pour tous les utilisateurs du système. Ces fichiers peuvent contenir des variables d'environnement, des [[informatique:linux:commandes:alias|alias]] de commandes, des fonctions personnalisées, et d'autres paramètres de configuration pour la session de l'utilisateur.
|
||||
|
||||
Ce genre de répertoire est souvent utilisé par les systèmes d'exploitation basés sur Linux pour permettre une meilleure gestion des fichiers de configuration, il permet de séparer les configurations en plusieurs fichiers et de les organiser dans des sous-répertoires. Cela facilite l'ajout, la suppression ou la modification de configurations spécifiques sans avoir à toucher aux fichiers de base.
|
||||
|
||||
Il est possible de trouver ce genre de répertoire sur des distributions Linux comme **Debian**, **Ubuntu**, **Fedora**, **RedHat**, entre autres. Il est important de noter que cela dépend des paramétrages de l'administrateur système de chaque distribution.
|
||||
|
||||
Voir également [[.:etc-profile]]
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
====== /etc/profile ======
|
||||
{{tag>"Linux système"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
''/etc/profile'' est un fichier de configuration qui est exécuté pour tous les utilisateurs lors de l'ouverture d'une session sur un système basé sur Linux. Il est généralement utilisé pour définir des variables d'environnement, des [[informatique:linux:commandes:alias|alias]] et des chemins d'accès pour tous les utilisateurs sur le système. Il peut également être utilisé pour exécuter des commandes automatiquement lors de l'ouverture d'une session, comme la configuration de paramètres de terminal, l'affichage d'un message de bienvenue, ou l'exécution d'autres tâches de démarrage.
|
||||
|
||||
Il est important de noter que les modifications apportées à ce fichier auront un impact sur tous les utilisateurs du système. Il est donc important de s'assurer que les modifications apportées sont appropriées pour tous les utilisateurs et de les tester en conséquence avant de les mettre en production. Il est également important de conserver une sauvegarde de ce fichier avant de le modifier, pour pouvoir le restaurer en cas de problème.
|
||||
|
||||
Voir également [[.:home:bash-profile]]
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
====== /etc/shadow ======
|
||||
{{tag>"linux systeme"}}
|
||||
|
||||
Le fichier ''/etc/shadow'' est un fichier de système qui contient les informations cryptées des utilisateurs, y compris les mots de passe. Il est généralement accessible uniquement par les utilisateurs **root** et les utilisateurs du groupe **shadow**. Le format de chaque ligne du fichier est généralement le suivant :
|
||||
|
||||
<code>
|
||||
username:password:lastchg:min:max:warn:inactive:expire:flag
|
||||
</code>
|
||||
|
||||
* username : Le nom d'utilisateur pour lequel les informations sont stockées.
|
||||
|
||||
* password : Le mot de passe crypté de l'utilisateur. Les mots de passe cryptés sont généralement stockés sous forme d'une chaîne de caractères commençant par $, suivi d'un chiffre indiquant le type de cryptage utilisé (comme $6$ pour SHA-512) et d'une série de caractères alphanumériques qui représentent le mot de passe crypté.
|
||||
|
||||
* lastchg : La date (en jours depuis le 1er janvier 1970) à laquelle le mot de passe a été modifié pour la dernière fois.
|
||||
|
||||
* min : La période minimale (en jours) requise entre les modifications de mot de passe.
|
||||
|
||||
* max : La période maximale (en jours) autorisée entre les modifications de mot de passe.
|
||||
|
||||
* warn : Le nombre de jours avant l'expiration du mot de passe où l'utilisateur est prévenu de changer son mot de passe.
|
||||
|
||||
* inactive : Le nombre de jours après l'expiration du mot de passe où le compte de l'utilisateur est désactivé.
|
||||
|
||||
* expire : La date d'expiration du mot de passe (en jours depuis le 1er janvier 1970).
|
||||
|
||||
* flag : Un champ optionnel qui peut contenir des informations supplémentaires, telles que l'indication que le compte est verrouillé ou que le mot de passe a été réinitialisé.
|
||||
|
||||
Certains de ces champs peuvent être vide ou ne pas être utilisés selon la configuration de votre système.
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
====== /etc ======
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
Le dossier ''/etc'' est l'un des dossiers les plus importants dans un système Linux. Il contient des fichiers de configuration pour diverses applications et services du système, ainsi que des fichiers de configuration système importants. Il ne doit contenir aucun fichier binaire ; si vous en trouvez, déplacez-les vers ''/usr/bin/'' ou ''/usr/sbin/''.
|
||||
===== Structure du dossier /etc =====
|
||||
|
||||
Le dossier ''/etc'' est situé à la racine du système de fichiers Linux. Il contient plusieurs sous-dossiers, chacun ayant un objectif spécifique. Voici une brève description de certains des sous-dossiers les plus importants :
|
||||
|
||||
* ''/etc/skel/'' stocke les fichiers d'utilisateur "squelette", qui sont utilisés pour peupler un répertoire personnel lorsqu'un utilisateur est créé pour la première fois. (Red Hat)
|
||||
* ''/etc/init.d/'' : contient des scripts de démarrage pour les services système.
|
||||
* ''/etc/opt'' : configuration pour les programmes présents dans ''/opt'' (FHS 3.0)
|
||||
* ''/etc/sgml'' : confiugration pour SGML (FHS 3.0)
|
||||
* ''/etc/sysconfig'' : contient des fichiers de configuration pour les paramètres système.
|
||||
* ''/etc/xml'' : configuration XML (FHS 3.0)
|
||||
* ''/etc/X11'' : Configuration pour le système de fenêtres X11 (FHS 3.0)
|
||||
|
||||
===== Fichiers de configuration système =====
|
||||
|
||||
Le dossier ''/etc'' contient également des fichiers de configuration système importants qui sont utilisés par de nombreuses applications et services du système. Voici quelques exemples de fichiers de configuration système couramment utilisés :
|
||||
|
||||
| ''/etc/passwd'' | contient des informations sur les comptes d'utilisateurs, comme le nom d'utilisateur, le groupe d'utilisateurs et le répertoire de travail de l'utilisateur. | FHS 3.0 |
|
||||
| ''/etc/group'' | contient des informations sur les groupes d'utilisateurs du système. | FHS 3.0 |
|
||||
| ''/etc/fstab'' | contient des informations sur les systèmes de fichiers montés automatiquement au démarrage du système. |
|
||||
| ''/etc/exports'' | liste du contrôle d'accès du système de fichiers NFS. | FHS 3.0 |
|
||||
|
||||
|
||||
|
||||
* ''/etc/hosts'' : contient des informations sur les noms de domaine et les adresses IP pour la résolution de noms. (FHS 3.0)
|
||||
* ''/etc/passwd'' : contient des informations sur les comptes d'utilisateurs du système.
|
||||
* ''/etc/group'' : contient des informations sur les groupes d'utilisateurs du système. (FHS 3.0)
|
||||
* [[.:etc-fstab]] : contient des informations sur les systèmes de fichiers montés automatiquement au démarrage du système. (FHS 3.0)
|
||||
* ''/etc/hosts'' : contient des informations sur les noms de domaine et les adresses IP pour la résolution de noms. (FHS 3.0)
|
||||
* ''/etc/ssh/sshd_config'' : contient des paramètres de configuration pour le serveur SSH.
|
||||
* [[.:etc-shadow]] : contient les mots de passe chiffrés pour les comptes d'utilisateurs.
|
||||
* ''/etc/sudoers'' : contient des informations sur les utilisateurs qui ont le droit d'exécuter des commandes avec les privilèges d'administrateur.
|
||||
|
||||
===== L'importance du dossier /etc =====
|
||||
|
||||
Le dossier ''/etc'' est l'un des dossiers les plus importants dans un système Linux, car il contient des fichiers de configuration pour de nombreuses applications et services du système. Les fichiers de configuration sont utilisés pour spécifier les paramètres du système, les options de sécurité et les préférences des utilisateurs. Sans ces fichiers de configuration, de nombreuses applications et services ne pourraient pas fonctionner correctement.
|
||||
|
||||
Il est important de noter que les fichiers de configuration du dossier ''/etc'' peuvent être modifiés uniquement par l'utilisateur **root**. Cela permet de garantir que les paramètres du système ne peuvent être modifiés que par des utilisateurs disposant des privilèges appropriés.
|
||||
|
||||
|
||||
--- //[[user:cedricabonnel]] assisté par [[user:cpt]] 2023/02/15 22:30//
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
====== Dossiers pour Gnome ======
|
||||
{{tag>"Linux système"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
GNOME (GNU Network Object Model Environment) est un environnement de bureau libre et open-source pour les systèmes d'exploitation basés sur Linux. Il a été développé pour fournir une interface utilisateur moderne et facile à utiliser pour les systèmes d'exploitation basés sur Linux.
|
||||
|
||||
GNOME 3 est la version actuelle de l'environnement de bureau GNOME (GNU Network Object Model Environment), qui est un environnement de bureau libre et open-source pour les systèmes d'exploitation basés sur Linux. GNOME 3 a été introduit en 2011, et a remplacé l'ancienne version GNOME 2. Il a été développé pour fournir une interface utilisateur moderne, graphique et facile à utiliser pour les systèmes d'exploitation basés sur Linux. Il a également fournit nouvelles fonctionnalités telles que l'intégration de gestion de fichiers et de recherche, un menu de démarrage plus rapide et plus efficace, une gestion des fenêtres plus intuitive, etc.
|
||||
|
||||
GNOME 3 est utilisé par défaut sur de nombreuses distributions Linux telles que Fedora, Debian, Ubuntu, Mint, etc. Il est connu pour son interface utilisateur moderne, sa facilité d'utilisation, et ses nombreuses fonctionnalités avancées. Il est également entièrement personnalisable et extensible grâce à l'utilisation de thèmes et d'extensions.
|
||||
|
||||
Les fichiers de configuration pour les environnements de bureau tels que GNOME 3 et GNOME 2 se trouvent généralement dans le répertoire ''/etc/''. Les fichiers de configuration pour l'interface utilisateur et les paramètres de l'utilisateur se trouvent généralement dans le répertoire personnel de l'utilisateur, comme ''~/.config/''.
|
||||
|
||||
Il est important de noter que les exemples suivants sont donnés à titre indicatif et que la localisation des fichiers de configuration peut varier en fonction de la distribution Linux utilisée et de la version de GNOME utilisée. Il est donc recommandé de vérifier la documentation de votre distribution Linux.
|
||||
|
||||
===== ~/.config =====
|
||||
|
||||
This is the default location for the environment variable XDG_CONFIG_HOME, if it is not set. User defined menus can be created at menus/applications.menu.
|
||||
|
||||
===== ~/.config/user-dirs.dirs =====
|
||||
|
||||
{{:informatique:linux:pasted:20220326-075231.png|exemple de contenu du fichier user-dirs.dirs}}
|
||||
|
||||
Voir le fichier de configuration par défaut ''/etc/xdg/user-dirs.defaults''
|
||||
|
||||
===== ~/.config/autostart =====
|
||||
|
||||
Contient des fichiers ''.desktop''.
|
||||
|
||||
===== ~/.fonts =====
|
||||
|
||||
Contains fonts specific to a particular user. When a user installs a font by dragging it to the <nowiki>fonts:///</nowiki> URI in nautilus, it is copied to this location.
|
||||
|
||||
|
||||
===== ~/.esd_auth =====
|
||||
|
||||
Contains the authentication cookie for the GNOME sound daemon. The GNOME sound daemon is the Enlightened Sound Daemon (ESD).
|
||||
|
||||
NOTE: This is a file, not a directory.
|
||||
|
||||
|
||||
===== ~/.gconf =====
|
||||
|
||||
Contient des paramètres pour les applications GNOME.
|
||||
|
||||
===== ~/.gconfd =====
|
||||
|
||||
Contient des données pour les applications GNOME.
|
||||
|
||||
===== ~/.gnomerec =====
|
||||
|
||||
Contient des paramètres pour l'interface utilisateur GNOME.
|
||||
|
||||
|
||||
|
||||
===== ~/.local/share =====
|
||||
|
||||
This is the default location for the environment variable XDG_DATA_HOME, if it is not set. User defined desktop entries can be created in the subdirectory applications. User defined mime types can be created in mime/packages/Overrides.xml.
|
||||
|
||||
===== ~/.local/share/icc/ =====
|
||||
|
||||
Dossier de profils de couleur pour applications.
|
||||
|
||||
Voir la page https://wiki.scribus.net/canvas/Getting_and_installing_ICC_profiles
|
||||
|
||||
===== ~/.local/share/applications =====
|
||||
|
||||
Description d'un raccourci applicatif.
|
||||
Le fichier de configuration doit avoir l'extension ''.desktop''.
|
||||
La référence du dossier est stockée dans la variable ''$XDG_DATA_HOME''. par défaut, elle est définie sur ''~/.local/share''. Puis elle est cherchée dans la variable ''$XDG_DATA_DIRS''. Si cette dernière n'est pas pas définie, c'est le chmein ''/usr/share'' qui est utilisé.
|
||||
|
||||
Par exemple :
|
||||
<code>
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=AZ Launcher - Minecraft
|
||||
Icon=az-launcher
|
||||
Exec=${desktop_exec}
|
||||
Comment=A Minecraft Modpack
|
||||
Categories=Game;
|
||||
Terminal=false
|
||||
</code>
|
||||
|
||||
===== ~/.local/share/icons/hicolor/256x256/apps =====
|
||||
|
||||
Dossier des icones. Taille des icônes possibles : 8x8, 13x13, 20x20, 24x24, 32x32, 40x40, 48x48, 64x64, 96x96, 128x128, 256x256
|
||||
|
||||
|
||||
===== ~/.metacity =====
|
||||
|
||||
Contains session data for the Metacity window manager.
|
||||
|
||||
===== ~/.nautilus =====
|
||||
|
||||
Contains file manager data that is specific to the user. For example, this directory can contain the following:
|
||||
|
||||
* Metadata for the directories with which the user works.
|
||||
* Nautilus emblems that the user adds.
|
||||
* Nautilus desktop images.
|
||||
|
||||
===== ~/.themes =====
|
||||
|
||||
|
||||
Contains controls theme options, window frame theme options, and icons theme options that the user adds. The user can add themes from the Theme preference tool.
|
||||
|
||||
===== ~/.thumbnails =====
|
||||
|
||||
|
||||
Contains image thumbnails for the user. The image thumbnails are used in the file manager. The file manager contains a preference that the user can select to stop generation of thumbnail images.
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
====== .bash_aliases ======
|
||||
{{tag>"Linux systeme"}}
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
Le fichier ''~/.bash_aliases'' contient des [[informatique:linux:commandes:alias|alias]] de commandes qui sont des raccourcis pour des commandes plus longues ou complexes. Ces alias sont généralement définis par l'utilisateur pour faciliter l'utilisation de commandes fréquemment utilisées.
|
||||
|
||||
Il peut contenir des alias pour des commandes courantes, comme [[informatique:linux:commandes:ls|ls]] pour ''ls --color=auto'', ou des commandes plus complexes, comme ''v'' pour [[informatique:linux:commandes:vim|vim]] ou ''g'' pour [[informatique:linux:commandes:git|git]].
|
||||
|
||||
{{:informatique:linux:pasted:20220326-074032.png|exemple de contenu du fichier .bash_aliases}}
|
||||
|
||||
|
||||
Le fichier ''.bash_aliases'' est généralement utilisé par les systèmes d'exploitation basés sur Linux, comme **Fedora**, **Ubuntu**, **Debian**, etc. Il est généralement appelé dans le fichier ''.bashrc'' pour exécuter les alias lorsque l'utilisateur ouvre un nouveau terminal. Si le fichier n'existe pas, il peut être créé manuellement par l'utilisateur et les alias peuvent être ajoutés à la main.
|
||||
@@ -0,0 +1,20 @@
|
||||
====== .bash_history ======
|
||||
{{tag>"Lorem"}}
|
||||
{{ :dummy.png?75x75|''.bash_history'' contient l'historique des commandes entrées par l'utilisateur dans le terminal.}}
|
||||
|
||||
Le fichier ''~/.bash_history'' est un fichier qui contient l'historique des commandes que vous avez entrées dans un terminal Bash. Cela peut être utile pour vous rappeler des commandes que vous avez utilisées récemment ou pour résoudre des problèmes en consultant l'historique des commandes.
|
||||
|
||||
Il est stocké dans votre répertoire personnel (''~''), et est enregistré pour chaque utilisateur séparément. Le fichier est automatiquement mis à jour chaque fois que vous exécutez une commande dans un terminal.
|
||||
|
||||
Vous pouvez afficher le contenu de ce fichier en utilisant la commande ''cat ~/.bash_history'' ou ''less ~/.bash_history'' pour naviguer dans le fichier, et utiliser la commande ''history'' pour afficher l'historique de commande dans le terminal.
|
||||
|
||||
{{:informatique:linux:pasted:20220326-074132.png|exemple de contenu du fichier .bash_history · Crédit image : Cédric Abonnel}}
|
||||
|
||||
Vous pouvez désactiver l'enregistrement de l'historique de commandes avec la commande ''unset HISTFILE''. Il est important de noter que l'historique de commandes enregistrées dans ce fichier ne peut être vu que par l'utilisateur qui a exécuté les commandes. Si vous voulez que d'autres utilisateurs puissent voir l'historique de commandes, vous devrez utiliser une méthode de partage différente, comme un fichier de journal de commandes partagé.
|
||||
|
||||
Le fichier ''.bash_history'' est utilisé par les systèmes d'exploitation basés sur Linux pour enregistrer l'historique des commandes entrées par l'utilisateur dans un terminal. Il est généralement utilisé par les distributions basées sur les shells bash, comme **Fedora**, **Ubuntu**, **Debian**, **Red Hat**, **CentOS**, etc.
|
||||
|
||||
A noter que la plupart des distributions basées sur Linux utilisent le //shell// **Bash** comme //shell// par défaut, donc il est très probable que le fichier ''.bash_history'' est utilisé dans presque toutes les distributions Linux, mais il peut y avoir des exceptions. Il est possible que d'autres //shells// (comme **zsh**, **fish**, etc) utilisent des fichiers d'historique différents ou des méthodes différentes pour enregistrer l'historique des commandes.
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
====== .bash_logout ======
|
||||
{{tag>"Linux système"}}
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
''bash_logout'' est un fichier de script exécuté automatiquement par le //shell// **Bash** lorsqu'un utilisateur se déconnecte de son compte. Il est généralement utilisé pour nettoyer les variables d'environnement, les [[informatique:linux:commandes:alias|alias]] et les chemins d'accès, ainsi que pour effectuer d'autres tâches de nettoyage ou d'entretien avant la déconnexion. Il est généralement stocké dans le répertoire personnel de l'utilisateur, comme ''~/.bash_logout''.
|
||||
|
||||
Il peut être utilisé pour effectuer des tâches administratives telles que la suppression des fichiers temporaires ou pour afficher un message de bienvenue ou de déconnexion, ou pour effectuer des tâches plus importantes comme supprimer les fichiers temporaires, fermer les applications en cours d'exécution, etc. Il est important de noter que le fichier ''.bash_logout'' n'est pas créé par défaut et doit être créé manuellement si l'on souhaite utiliser cette fonctionnalité.
|
||||
|
||||
Voici quelques exemples de tâches administratives qui peuvent être effectuées dans un fichier ''.bash_logout'' :
|
||||
|
||||
# Suppression des fichiers temporaires :
|
||||
rm -rf ~/.cache/
|
||||
|
||||
# Affichage d'un message de bienvenue ou de déconnexion :
|
||||
echo "Au revoir, à bientôt !"
|
||||
|
||||
# Fermeture d'applications en cours d'exécution :
|
||||
killall -u $USER
|
||||
|
||||
# Suppression des fichiers temporaires :
|
||||
find ~/.local/share/Trash/files/ -mindepth 1 -delete
|
||||
|
||||
# Nettoyage de l'historique des commandes :
|
||||
history -c
|
||||
|
||||
# Purger les paquets inutilisés :
|
||||
sudo apt-get autoremove
|
||||
|
||||
Il est important de noter que ces exemples sont donnés à titre indicatif et que vous devriez vous assurer de comprendre ce qu'ils font avant de les utiliser dans votre propre fichier ''.bash_logout'' pour éviter tout dommage potentiel à votre système. **Je ne conseille de mettre aucun de ces scripts en production.** Il est également conseillé de faire une sauvegarde de vos fichiers importants avant de supprimer ou de nettoyer des fichiers ou dossiers.
|
||||
|
||||
Voir également [[.:bash-profile]]
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
====== .bash_profile ======
|
||||
{{tag>"Linux systeme"}}
|
||||
{{ :dummy.png?75x75|.bash_profile contient les commandes exécutées lorsque l'utilisateur se connecte à son compte. Il est généralement utilisé pour définir des variables d'environnement, des alias et des chemins d'accès.}}
|
||||
|
||||
===== Définition et exemples =====
|
||||
|
||||
|
||||
''~/.bash_profile'' est un fichier de configuration pour la //shell// ''Bash'', qui est utilisé sur les systèmes d'exploitation Linux. Il est situé dans le répertoire personnel de l'utilisateur et est exécuté lorsque l'utilisateur se connecte au système. Il peut être utilisé pour définir des variables d'environnement, des [[informatique:linux:commandes:alias|alias]] de commande, des fonctions personnalisées, et d'autres paramètres de configuration pour la session de l'utilisateur.
|
||||
|
||||
**Équivalents** : [[.:profile]], [[.:bashrc]], [[.:bash_login]]
|
||||
|
||||
**Ne pas confondre avec** : [[..:etc-profile]], [[..:etc-bashrc]]
|
||||
|
||||
{{:informatique:linux:pasted:20220326-074256.png|exemple de contenu du fichier .bash_profile}}
|
||||
|
||||
À moins d'avoir la présence de l'indicateur **—noprofile**, un **shell de connexion** Bash lira et exécutera les commandes trouvées dans certains **fichiers d'initialisation**.
|
||||
|
||||
Il est important de noter que certains système d'exploitation utilisent ''.bashrc'' pour les fichiers d'initialisation du //shell// d'utilisateur, il est donc important de vérifier quel fichier utilise votre système d'exploitation.
|
||||
|
||||
Quelques exemples d'utilisation :
|
||||
|
||||
* [[informatique:linux:system:variables#path|Modifier le PATH]]
|
||||
|
||||
* [[journal_geek:2023:20230113-afficher-le-nombre-de-mise-a-jour-avec-dnf-a-l-ouverture-de-session|Afficher le nombre de mise à jour en attente avec DNF]]
|
||||
|
||||
|
||||
* [[journal_geek:2023:20230113-afficher-le-nombre-de-mise-a-jour-avec-yum-a-l-ouverture-de-session|Afficher le nombre de mise à jour en attente avec YMU]]
|
||||
|
||||
===== Ordre d’exécution des fichiers d'initialisation =====
|
||||
|
||||
Sous Unix-like, comme Linux et macOS, l'ordre d'exécution des fichiers d'initialisation pour la shell //Bash// est généralement le suivant:
|
||||
|
||||
1. ''/etc/profile'' : Ce fichier contient des paramètres de configuration généraux pour tous les utilisateurs du système.
|
||||
|
||||
2. (''/etc/bashrc'') : contient les commandes et les paramètres de configuration qui doivent être exécutés pour tous les utilisateurs du système.
|
||||
|
||||
3. (''/etc/profile.d/*.sh'') : contient des fichiers shell (.sh) qui sont exécutés au démarrage de la session pour tous les utilisateurs du système.
|
||||
|
||||
4. ''~/.bash_profile'', ''~/.bash_login'', ou ''~/.profile'': Ces fichiers contiennent des paramètres de configuration spécifiques à l'utilisateur et sont exécutés dans cet ordre. Le premier fichier qui existe dans ce groupe sera utilisé.
|
||||
|
||||
5. (''~/.bashrc'') : Ce fichier contient des paramètres de configuration pour chaque session de l'utilisateur.
|
||||
|
||||
Le fichier ''/etc/profile'' va normalement se sourcer dans ''/etc/bashrc'', en lisant et en exécutant les commandes qui s'y trouvent, puis recherche dans ''/etc/profile.d'' tous les fichiers avec une extension ''.sh'' à lire et à exécuter. De plus, le fichier ''~/.bash_profile'' se sourcera normalement dans le fichier ''~/.bashrc''. ''/etc/bashrc'' et ''~/.bashrc'' ont tous deux des vérifications pour éviter le double sourçage.
|
||||
|
||||
|
||||
===== Ordre d’exécution des fichiers en sortie de shell =====
|
||||
|
||||
Lorsque l'utilisateur **quitte le shell de connexion**, ou si le script appelle la sortie intégrée dans le cas d'un shell de connexion non interactif, **Bash** lit et exécute les commandes trouvées dans ''~/.bash_logout'' suivi de ''/etc/bash_logout'' s'il existe.
|
||||
|
||||
1. ''~/.bash_logout''
|
||||
|
||||
2. ''/etc/bash_logout''
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
====== .config ======
|
||||
|
||||
|
||||
{{page>..:..:..:dossiers-remarquables:gnome:}}
|
||||
@@ -0,0 +1,11 @@
|
||||
====== /home ======
|
||||
{{tag>"Linux système"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Ce répertoire contient les répertoires personnels pour chaque utilisateur du système.
|
||||
|
||||
Chaque utilisateur a son propre répertoire sous ''/home'', nommé avec son nom d'utilisateur, ex: ''/home/john''. Ces répertoires contiennent généralement les fichiers personnels de l'utilisateur, tels que les documents, les images, les vidéos, les musiques, les fichiers de configuration, les scripts, etc. Il peut également contenir des sous-répertoires tels que ''Documents'', ''Téléchargements'', ''Bureau'', etc.
|
||||
|
||||
Il est important de noter que l'architecture et les répertoires de chaque distribution Linux peut varier selon les paramétrages de l'administrateur système.
|
||||
|
||||
<nspages . -h1 -simpleList -hideNoSubns -subns -nbCol=1 -textNS=" " -textPages=" " -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
@@ -0,0 +1,7 @@
|
||||
====== .kde ======
|
||||
{{tag>"Linux système"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Le dossier ''~/.kde'' est un répertoire qui contient des fichiers de configuration pour l'environnement de bureau KDE (K Desktop Environment) sous Linux. Il est généralement situé dans le répertoire personnel de l'utilisateur et contient des paramètres tels que la **disposition des fenêtres**, les **paramètres de thèmes**, les **raccourcis clavier**, les **paramètres de l'écran d'accueil**, les **paramètres de lanceur d'application**, et d'autres paramètres de configuration pour l'environnement de bureau KDE. Il peut également contenir des sous-répertoires pour des applications spécifiques, comme Konsole ou KMail, qui contiennent des paramètres de configuration pour ces applications.
|
||||
|
||||
À noter que cela dépend des paramétrages de l'administrateur système de chaque distribution.
|
||||
@@ -0,0 +1,19 @@
|
||||
====== .local ======
|
||||
{{tag>"Linux systeme"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Le dossier ''~/.local'' est un répertoire qui est généralement utilisé pour stocker les **fichiers de configuration** et les **données utilisateur** spécifiques à l'utilisateur pour les applications qui suivent les spécifications de la **FreeDesktop.org**. Il est généralement situé dans le répertoire personnel de l'utilisateur et contient des sous-répertoires tels que:
|
||||
|
||||
* ~/.local/bin : contient des **scripts et des binaires utilisateur** spécifiques
|
||||
|
||||
* ~/.local/share : contient des **données utilisateur pour les applications** telles que les thèmes, les polices, les modèles, etc.
|
||||
|
||||
* ~/.local/lib : contient des **bibliothèques et des modules pour les applications**
|
||||
|
||||
* ~/.local/etc : contient des **fichiers de configuration pour les applications**
|
||||
|
||||
Ce répertoire est créé automatiquement lorsque l'utilisateur installe une application qui suit les spécifications de la **FreeDesktop.org**. Il permet de séparer les données utilisateur des données système pour une meilleure sécurité et une gestion plus facile des données utilisateur.
|
||||
|
||||
À noter que cela dépend des paramétrages de l'administrateur système de chaque distribution.
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
====== .profile ======
|
||||
{{tag>"Linux systeme"}}
|
||||
{{ :dummy.png?75x75|.bash_profile contient les commandes exécutées lorsque l'utilisateur se connecte à son compte. Il est généralement utilisé pour définir des variables d'environnement, des alias et des chemins d'accès.}}
|
||||
|
||||
===== Définition et exemples =====
|
||||
|
||||
|
||||
''~/.profile'' est un fichier de configuration pour la //shell// ''Bash'', qui est utilisé sur les systèmes d'exploitation Linux. Il est situé dans le répertoire personnel de l'utilisateur et est exécuté lorsque l'utilisateur se connecte au système. Il peut être utilisé pour définir des **variables d'environnement**, des [[informatique:linux:commandes:alias|alias]] de commande, des **fonctions personnalisées**, et d'autres **paramètres de configuration** pour la session de l'utilisateur.
|
||||
|
||||
Voir l'article sur [[.:bash-profile]] pour plus d'explication et d'exemples.
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
====== /home/ ======
|
||||
|
||||
[[.:]]
|
||||
|
||||
<nspages . -h1 -simpleList -hideNoSubns -subns -nbCol=1 -textNS=" " -textPages=" " -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
|
||||
--
|
||||
|
||||
retour à [[..:]]
|
||||
|
||||
{{page>:sidebar}}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
====== .var ======
|
||||
{{tag>"Liunx système"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Le dossier ''~/.var'' est un répertoire qui est généralement utilisé pour stocker les données utilisateur qui peuvent changer fréquemment ou être générées par les applications, telles que **les journaux**, les **fichiers temporaires**, les **fichiers de cache**, etc. Il est généralement situé dans le répertoire personnel de l'utilisateur et contient des sous-répertoires tels que :
|
||||
|
||||
* ~/.var/log : contient les **journaux des applications**.
|
||||
|
||||
* ~/.var/cache : contient les fichiers de **cache des applications**.
|
||||
|
||||
* ~/.var/tmp : contient les **fichiers temporaires** générés par les applications.
|
||||
|
||||
Ce répertoire est généralement créé automatiquement pour stocker les données utilisateur qui peuvent changer fréquemment ou être générées par les applications. Il permet de séparer les données utilisateur des données système pour une meilleure sécurité et une gestion plus facile des données utilisateur.
|
||||
|
||||
À noter qu'il n'est pas systématique de trouver ce genre de répertoire sur toutes les distributions Linux, en fait cela dépend des paramètres de l'administrateur système et des choix de l'équipe de développement de chaque distribution. Il est donc possible que le répertoire ''~/.var'' ne soit pas présent sur certaines distributions Linux. C'est un des raison pour lesquelles il est important de vérifier les spécifications et les paramètres de chaque distribution pour comprendre l'architecture de fichier utilisée.
|
||||
@@ -0,0 +1,73 @@
|
||||
====== 200 · Répertoires et fichiers remarquables sous Linux ======
|
||||
{{ :informatique:linux:pasted:20211107-095450.png?400}}
|
||||
|
||||
|
||||
La structure de répertoires pour les systèmes d'exploitation Linux et Unix est définit par le standard FHS (Filesystem Hierarchy Standard). Il a pour but de fournir une structure de répertoires pour les différents types de fichiers commune pour toutes les distributions Linux et Unix, afin de rendre les systèmes d'exploitation plus portables et plus faciles à utiliser. Il décrit également les règles de nommage des fichiers et des répertoires, ainsi que les conventions pour les fichiers de configuration et les fichiers de données.
|
||||
|
||||
La structure de répertoire décrite par le **FHS** est divisée en plusieurs sections principales :
|
||||
|
||||
* / : la racine de tous les répertoires
|
||||
|
||||
Depuis le répertoire racine, vous trouverez les répertoires suivants :
|
||||
|
||||
|
||||
* /[[.:home:|home]] : contient les répertoires des utilisateurs,
|
||||
|
||||
* /bin : contient les commandes couramment utilisées,
|
||||
|
||||
* /[[.boot:index|boot]] : contient les fichiers nécessaires pour démarrer le système d'exploitation,
|
||||
|
||||
* /[[.:dev|dev]] : contient des fichiers de périphériques,
|
||||
|
||||
* /[[.:etc|etc]] : contient les fichiers de configuration,
|
||||
|
||||
* /lib : contient les bibliothèques de système et bibliothèques partagées,
|
||||
|
||||
* /[[.:media|media]] : contient des sous-dossiers pour les périphériques de stockage amovibles,
|
||||
|
||||
* /[[.:mnt|mnt]] : contient des sous-dossiers pour monter des systèmes de fichiers externes,
|
||||
|
||||
* /[[.opt:index|opt]] : contient des logiciels tiers ou des applications qui ne font pas partie des paquets de distribution standard,
|
||||
|
||||
* /[[.:run|run]] : contient des informations sur les processus en cours d'exécution et les périphériques connectés,
|
||||
|
||||
* /[[.:sbin|sbin]] : contient les commandes pour les administrateurs système. Peut-être remplacé par ''/usr/sbin''.
|
||||
|
||||
* /[[.:srv|srv]] : contient les données de service spécifiques,
|
||||
|
||||
* /[[.:tmp|tmp]] : contient des fichiers temporaires qui sont utilisés par les programmes en cours d'exécution. Peut être remplacer par ''/var/tmp'' ou ''/run/tmp''.
|
||||
|
||||
* /[[.:usr|usr]] : contient les programmes, les documents et les données utilisateur qui sont utilisés par tous les utilisateurs du système,
|
||||
|
||||
* /var : contient les fichiers qui peuvent changer pendant l'exécution du système.
|
||||
|
||||
Le respect de cette structure de répertoires est important car cela permet d'éviter les conflits de nom, de faciliter la maintenance des systèmes, et de rendre les systèmes d'exploitation plus portables entre les différentes distributions.
|
||||
|
||||
===== Répertoires et fichiers remarquables =====
|
||||
|
||||
Il existe de nombreux répertoires remarquables dans une installation de Linux Fedora, voici quelques exemples.
|
||||
|
||||
<nspages . -h1 -simpleList -hideNoSubns -subns -nbCol=1 -textNS=" " -textPages=" " -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
|
||||
===== Dans le dossier personnel =====
|
||||
|
||||
Le dossier personnel (ou répertoire de l'utilisateur) est généralement situé dans le répertoire ''/home/'' sur un système Linux. Le nom du répertoire de l'utilisateur est généralement le même que le nom d'utilisateur, par exemple : ''/home/john'' pour un utilisateur nommé "john". Le répertoire de l'utilisateur en cours est représenté par le symbole ''~ ''.
|
||||
|
||||
Ce répertoire contient généralement des sous-répertoires pour les documents, les images, les musiques, les vidéos et les téléchargements, ainsi que des fichiers de configuration pour les différents programmes utilisés par l'utilisateur. Il est également utilisé comme un espace de travail pour les fichiers et les projets de l'utilisateur.
|
||||
|
||||
Les utilisateurs ont généralement des autorisations en écriture sur ce répertoire, ce qui leur permet de créer, de supprimer et de modifier les fichiers et dossiers qu'il contient. Cependant, les autres utilisateurs ou les utilisateurs qui se connectent en tant qu'invité n'ont généralement pas accès à ce répertoire.
|
||||
|
||||
Il existe plusieurs fichiers et répertoires remarquables dans le répertoire personnel d'un utilisateur sur un système Linux, voici quelques exemples :
|
||||
|
||||
<nspages .:home -h1 -simpleList -hideNoSubns -subns -nbCol=1 -textNS=" " -textPages=" " -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
|
||||
|
||||
|
||||
--- //[[user:cedricabonnel]] et [[user:CPT]] //
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
====== /media ======
|
||||
{{tag>"linux systeme"}}
|
||||
{{ :dummy.png?75x75|Système Linux}}
|
||||
|
||||
Le dossier ''/media'' sur un système Linux contient généralement des sous-dossiers pour les périphériques de stockage amovibles tels que les clés USB, les disques durs externes, les lecteurs de mémoire flash, les CD et les DVD qui ont été montés sur le système. Chacun de ces sous-dossiers contient les fichiers et dossiers qui se trouvent sur le périphérique de stockage amovible. C'est là où vous pouvez accéder aux fichiers sur ces périphériques.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
====== /mnt ======
|
||||
{{tag>"linux système"}}
|
||||
{{ :dummy.png?75x75|Linux système}}
|
||||
|
||||
Le dossier ''/mnt'' sur un système Linux est généralement utilisé pour monter des systèmes de fichiers externes de manière temporaire. Il peut contenir des sous-dossiers pour les périphériques de stockage externes tels que les disques durs externes, les lecteurs de CD/DVD, les clés USB, les systèmes de fichiers réseau (NFS, SMB, etc) ou les partitions de disques durs internes qui ont été montés à des fins de sauvegarde ou de partage de données. Chacun de ces sous-dossiers contient les fichiers et dossiers qui se trouvent sur le système de fichier externe qui a été monté.
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
====== /opt ======
|
||||
{{tag>"linux system"}}
|
||||
{{ :dummy.png?75x75|linux systeme}}
|
||||
|
||||
===== Définition du répertoire /opt =====
|
||||
|
||||
Le dossier ''/opt'' sur un système Linux est généralement utilisé pour stocker des logiciels tiers ou des applications qui ne font pas partie des paquets de distribution standard. Il peut contenir des sous-dossiers pour chaque logiciel ou application installée, chacun contenant les fichiers nécessaires pour l'exécution de ce logiciel ou application. Dans la plupart des cas, de tels packages suivent une structure de sous-répertoires prévisible ; la plupart stockent leurs binaires dans ''/opt/nomdupackage/bin/'' et leurs pages de manuel dans ''/opt/nomdupackage/man/''.
|
||||
|
||||
Les paquets installés dans ''/opt'' sont généralement installés par l'utilisateur ou par un administrateur, et non pas par le système de gestion de paquet (comme **apt**, **yum**, **dnf**, etc) qui est utilisé pour installer les paquets de la distribution standard. Certains logiciels peuvent également placer des liens vers leurs exécutables dans ''/usr/local/bin'' pour faciliter l'accès.
|
||||
|
||||
Il est courant de voir des sous-répertoires créés dans ''/opt'' pour organiser les différents programmes et applications installés. Par exemple, un développeur pourrait installer un jeu dans ''/opt/games/mygame'', ou un utilisateur pourrait installer un logiciel de traitement de texte dans ''/opt/office/wordprocessor''. Il est également courant de voir des sous-répertoires pour les différentes versions d'une application, comme ''/opt/myapp/1.0'' et ''/opt/myapp/2.0''.
|
||||
|
||||
--
|
||||
|
||||
Il est possible de créer un lien symbolique (également appelé raccourci ou alias) vers un script qui se trouve dans ''/usr/local/bin'' depuis un emplacement comme ''/opt''. Cela permet à l'utilisateur d'accéder facilement au script depuis un autre emplacement, sans avoir à se rappeler ou saisir l'emplacement complet du script. Pour créer un lien symbolique, vous pouvez utiliser la commande ''ln -s'' suivie de l'emplacement du script cible et de l'emplacement où vous souhaitez créer le lien. Par exemple:
|
||||
|
||||
ln -s /usr/local/bin/myscript /opt/myapp/myscript
|
||||
|
||||
Cela crée un lien symbolique nommé ''myscript'' dans le répertoire ''/opt/myapp'' qui pointe vers le script ''myscript'' dans le répertoire ''/usr/local/bin''.
|
||||
|
||||
--
|
||||
|
||||
Il est également possible de créer un script dans ''/usr/local/bin'' qui exécute un programme qui se trouve dans ''/opt''. Cela permet à l'utilisateur d'accéder au programme en utilisant un nom de commande simple, plutôt que de devoir saisir l'emplacement complet du programme dans ''/opt''.
|
||||
|
||||
Pour ce faire, vous pouvez créer un script shell dans ''/usr/local/bin'' qui contient les commandes pour exécuter le programme dans ''/opt''. Par exemple :
|
||||
|
||||
<code>
|
||||
#!/bin/bash
|
||||
/opt/myapp/myprogram
|
||||
</code>
|
||||
|
||||
Le script doit avoir les autorisations d'exécution.
|
||||
|
||||
Enfin, les programmes dans ''/opt'' peuvent nécessiter des librairies ou des exécutables pour fonctionner, il est donc important de s'assurer que ces dépendances soient présentes et accessibles.
|
||||
|
||||
|
||||
~~NOCACHE~~
|
||||
|
||||
|
||||
--- //[[user:cedricabonnel]] et [[user:CPT]] //
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
====== /run ======
|
||||
{{tag>"Lorem"}}
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
Le dossier ''/run'' sur un système Linux est un système de fichiers en mémoire qui contient des informations sur les processus en cours d'exécution et les périphériques connectés. Il peut contenir des informations sur les sockets, les tuyaux, les informations de démarrage et les informations de configuration, les informations sur les processus en cours d'exécution et les informations sur les périphériques connectés. Il remplace généralement les anciens répertoires ''/var/run'' et ''/var/lock'', qui ont été utilisés pour stocker des informations similaires, mais qui ont été stockées sur le disque dur plutôt que dans la mémoire. Il est utilisé pour stocker des informations qui doivent être disponibles immédiatement après le démarrage du système, mais qui ne doivent pas être conservées après un redémarrage.
|
||||
|
||||
--- //[[user:cedricabonnel]] et [[user:cpt|CPT]] //
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
====== sbin ======
|
||||
{{tag>"script linux"}}
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
Les utilitaires utilisés pour l'administration système (ainsi que d'autres commandes réservées à l'administrateur) sont stockés dans ''/sbin'', ''/usr/sbin'' et ''/usr/local/sbin''. **/sbin** contient des exécutables essentiels au démarrage, à la restauration, à la récupération et/ou à la réparation du système, en plus des exécutables dans ''/bin''. Les programmes exécutés une fois que ''/usr'' est monté (lorsqu'il n'y a pas de problèmes) sont généralement placés dans ''/usr/sbin''. Les programmes d'administration système installés localement doivent être placés dans ''/usr/local/sbin''.
|
||||
@@ -0,0 +1,10 @@
|
||||
====== Répertoires et fichiers ======
|
||||
|
||||
<nspages . -h1 -simpleList -hideNoSubns -nbCol=1 -textNS=" " -textPages=" " -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404 ]>
|
||||
|
||||
--
|
||||
|
||||
retour à [[..:..:]]
|
||||
|
||||
{{page>:sidebar}}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
====== /srv ======
|
||||
{{tag>"Liunx système"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Le répertoire **/srv** est défini dans le FHS (Filesystem Hierarchy Standard) pour stocker les **données de service** spécifiques à un système.
|
||||
|
||||
Le but principal de spécifier ceci est que les utilisateurs puissent trouver l'emplacement des fichiers de données pour un service particulier, et que les services qui nécessitent un seul arbre pour les données en lecture seule, les données en écriture et les scripts (comme les scripts **CGI**) puissent être raisonnablement placés. Les données qui n'intéressent qu'un utilisateur spécifique doivent être placées dans le répertoire personnel de cet utilisateur. Si la structure de répertoire et de fichier des données n'est pas exposée aux consommateurs, elle doit être placée dans ''/var/lib''.
|
||||
|
||||
La méthodologie utilisée pour nommer les sous-répertoires de ''/srv'' n'est pas spécifiée, car il n'existe actuellement aucun consensus sur la manière de le faire. Une méthode pour structurer les données sous ''/srv'' est par protocole, par exemple **ftp**, **rsync**, **www** et **cvs**. Sur de grands systèmes, il peut être utile de structurer ''/srv'' en fonction du contexte administratif, comme ''/srv/physics/www'', ''/srv/compsci/cvs'', etc. Cette configuration variera d'un hôte à l'autre. Par conséquent, aucun programme ne doit compter sur une structure spécifique de sous-répertoire de ''/srv'' existant ou sur le fait que les données sont nécessairement stockées dans ''/srv''. Cependant, ''/srv'' devrait toujours exister sur les systèmes conformes à la norme FHS et devrait être utilisé comme emplacement par défaut pour de telles données.
|
||||
|
||||
Les distributions doivent veiller à ne pas supprimer les fichiers placés localement dans ces répertoires sans l'autorisation de l'administrateur.
|
||||
@@ -0,0 +1,54 @@
|
||||
====== /tmp ======
|
||||
{{tag>"Système Liunx"}}
|
||||
{{ :dummy.png?75x75|Système Linux}}
|
||||
|
||||
Le dossier ''/tmp'' sur un système Linux contient des fichiers temporaires qui sont utilisés par les programmes en cours d'exécution. Ces fichiers sont créés pour stocker des données temporaires, comme les fichiers de traitement intermédiaires, les fichiers de journalisation, les fichiers de cache, etc.
|
||||
|
||||
Il est recommandé de supprimer les fichiers et répertoires situés dans ''/tmp'' chaque fois que le système est démarré, pour éviter l'encombrement inutile. FHS a ajouté cette recommandation sur la base de précédents historiques et de pratiques courantes, mais n'a pas fait une exigence car l'administration système n'est pas dans le cadre de cette norme.
|
||||
|
||||
===== Nettoyage de /tmp au démarrage =====
|
||||
|
||||
Vous pouvez utiliser un script Bash pour supprimer tous les fichiers et répertoires dans ''/tmp'' au démarrage grâce à **systemd**.
|
||||
|
||||
* Placer le script ''cleartmp.sh'' dans le dossier ''/usr/local/bin'' :
|
||||
|
||||
<code BASH cleartmp.sh>
|
||||
#!/bin/bash
|
||||
|
||||
# script to clear /tmp directory on system startup
|
||||
|
||||
echo "Cleaning /tmp directory..."
|
||||
|
||||
# remove all files and directories in /tmp
|
||||
rm -rf /tmp/*
|
||||
|
||||
echo "Cleaning done."
|
||||
</code>
|
||||
|
||||
* Créez un fichier de service **systemd** pour exécuter votre script. Par exemple, dans ''/etc/systemd/system/cleartmp.service'' :
|
||||
|
||||
<code>
|
||||
[Unit]
|
||||
Description=Clear /tmp directory on startup
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/local/bin/cleartmp.sh
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
</code>
|
||||
|
||||
* Rechargez **systemd** pour prendre en compte le nouveau fichier de service :
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
* Activez le service pour qu'il démarre au démarrage :
|
||||
|
||||
sudo systemctl enable cleartmp.service
|
||||
|
||||
* Vérifiez que le service est bien configuré et actif :
|
||||
|
||||
sudo systemctl status cleartmp.service
|
||||
|
||||
Avec cette configuration, votre script sera exécuté automatiquement au démarrage du système, et vous pourrez suivre son état et les journaux d'erreur avec les commandes de **systemd**.
|
||||
@@ -0,0 +1,32 @@
|
||||
====== /usr ======
|
||||
{{tag>"Linux système"}}
|
||||
{{ :dummy.png?75x75|Description du répertoire usr}}
|
||||
|
||||
Le répertoire ''/usr'' contient les programmes, les documents et les données utilisateur qui sont utilisés par tous les utilisateurs du système. Le répertoire ''/usr/'' est destiné aux fichiers qui peuvent être partagés entre plusieurs machines. Le répertoire ''/usr/'' est souvent sur sa propre partition et est monté en lecture seule.
|
||||
|
||||
* ''/usr/bin'' : Ce répertoire est généralement utilisé pour stocker **les commandes système**. Il est également accessible pour tous les utilisateurs, mais nécessite des privilèges d'administrateur pour y installer des scripts.
|
||||
|
||||
* ''/usr/etc'' : Ce répertoire est utilisé pour les fichiers de configuration à l'échelle du système.
|
||||
|
||||
* ''/usr/games''
|
||||
|
||||
* ''/usr/include'' : Ce répertoire est utilisé pour les fichiers d'en-tête C.
|
||||
|
||||
* ''/usr/kerberos'' : Ce répertoire est utilisé pour les binaires et les fichiers liés à Kerberos.
|
||||
|
||||
* ''/usr/lib'' : Ce répertoire est utilisé pour les fichiers objets et les bibliothèques qui ne sont pas destinés à être directement utilisés par des scripts shell ou des utilisateurs.
|
||||
Il contient également les bibliothèques nécessaires à l'exécution des binaires dans ''/usr/bin/'' et ''/usr/sbin/''. Ces images de bibliothèque partagées sont utilisées pour démarrer le système ou exécuter des commandes dans le système de fichiers racine.
|
||||
|
||||
* ''/usr/libexec'' : Ce répertoire contient de petits programmes d'assistance appelés par d'autres programmes.
|
||||
|
||||
* ''/usr/local/'' : Conformément à la FHS (Filesystem Hierarchy Standard), ce sous-répertoire est utilisé par l'administrateur système lors de l'installation de logiciels localement et devrait être préservé des écrasements lors des mises à jour système. Le répertoire ''/usr/local'' a une structure similaire à celle de ''/usr/''.
|
||||
|
||||
* ''/usr/sbin'' : Ce répertoire est généralement utilisé pour stocker **les commandes système qui nécessitent des privilèges d'administrateur** pour être exécutées. Cela signifie qu'il contient toutes les binaires d'administration système, y compris celles essentielles au démarrage, à la restauration, à la récupération ou à la réparation du système. Les binaires dans ''/usr/sbin/'' nécessitent des privilèges root pour être utilisés. À partir de Red Hat Enterprise Linux 7.0, ''/sbin'' a été déplacé vers ''/usr/sbin''.
|
||||
|
||||
* ''/usr/share'' : Fichiers indépendants de la plateforme (non binaires)
|
||||
|
||||
* ''/usr/src'' : Optionnel. Code source divers, généralement limité au noyau et aux bibliothèques système. FHS 2.2 demandait que toutes les sources soient dans ce répertoire, ce que certains Unix continuent de faire bien que ce ne soit plus recommandé.
|
||||
|
||||
* ''/usr/tmp''
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
====== 250 · Fichier de paquet Debian .deb ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Un fichier ''.deb'' est un fichier de paquet Debian, qui contient des fichiers et des informations nécessaires pour installer et configurer un logiciel sur un système Debian ou dérivé de Debian.
|
||||
|
||||
Le fichier ''.deb'' est un fichier archive qui contient les éléments suivants :
|
||||
|
||||
* Les fichiers du programme : les fichiers binaires, les bibliothèques partagées, les scripts d'installation, les fichiers de configuration, etc. qui sont nécessaires pour le fonctionnement du logiciel.
|
||||
|
||||
* Les métadonnées du paquet : les informations sur le nom du paquet, la version, la description, les dépendances, les conflits, les informations de mainteneur, etc. Ces métadonnées sont stockées dans un format binaire dans le fichier ''DEBIAN/control''.
|
||||
|
||||
* Les scripts d'installation : des scripts qui sont exécutés lors de l'installation, la mise à jour ou la suppression d'un paquet. Les scripts ''preinst'', ''postinst'', ''prerm'' et ''postrm'' sont exécutés aux différentes étapes de l'installation.
|
||||
|
||||
* Les fichiers de configuration du paquet : les fichiers de configuration du paquet, qui peuvent être modifiés par les administrateurs système.
|
||||
|
||||
Les fichiers du programme et les fichiers de configuration sont stockés dans des répertoires spécifiques à l'intérieur du fichier ''.deb'', tandis que les métadonnées du paquet et les scripts d'installation sont stockés dans un répertoire spécial appelé ''DEBIAN'' à la racine du fichier.
|
||||
|
||||
Les fichiers ''.deb'' peuvent être installés sur un système **Debian** ou dérivé de **Debian** à l'aide de la commande ''dpkg''. La commande ''dpkg'' extrait les fichiers du programme, les scripts d'installation et les fichiers de configuration du fichier ''.deb'' et les installe sur le système.
|
||||
|
||||
Bien que les fichiers ''.deb'' ne soient pas exactement les mêmes que les archives ''tar.gz'', il est possible de les extraire et de les manipuler avec certains programmes d'archive, tels que ''ar'', ''tar'', ''dpkg-deb'', ''alien'', etc.
|
||||
|
||||
Voici quelques exemples de commandes pour extraire et manipuler des fichiers ''.deb'' :
|
||||
|
||||
<panel title="Extraction du fichier .deb">
|
||||
Pour extraire les fichiers du programme et les fichiers de configuration d'un fichier ''.deb'', vous pouvez utiliser la commande ''dpkg-deb'' :
|
||||
pkg-deb -x nom_du_fichier.deb dossier_destination/
|
||||
|
||||
Cette commande extrait les fichiers du programme et les fichiers de configuration du fichier .deb et les place dans le dossier spécifié.
|
||||
|
||||
Si vous extrayez ou manipulez des fichiers ''.deb'' à l'aide d'autres programmes d'archive que ''dpkg-deb'', vous risquez de perdre les métadonnées et les scripts d'installation, ce qui peut rendre les fichiers inutilisables ou instables. Il est donc recommandé d'utiliser ''dpkg-deb'' ou d'autres outils conçus spécifiquement pour manipuler les fichiers ''.deb''.
|
||||
</panel>
|
||||
|
||||
|
||||
<panel title="Extraction des métadonnées et scripts du fichier .deb">
|
||||
Pour extraire les fichiers de contrôle (métadonnées et scripts d'installation) d'un fichier ''.deb'', vous pouvez utiliser la commande ''dpkg-deb'' :
|
||||
dpkg-deb -e nom_du_fichier.deb dossier_destination/DEBIAN/
|
||||
|
||||
Cette commande extrait les fichiers de contrôle du fichier ''.deb'' et les place dans le dossier spécifié.
|
||||
</panel>
|
||||
|
||||
|
||||
<panel title="Convertir un fichier .deb en tar.gz">
|
||||
Pour convertir un fichier ''.deb'' en une archive tar.gz, vous pouvez utiliser la commande ''alien'' :
|
||||
alien --to-tgz nom_du_fichier.deb
|
||||
Cette commande convertit le fichier ''.deb'' en une archive ''tar.gz''.
|
||||
</panel>
|
||||
|
||||
|
||||
|
||||
<panel title="Extraction des programmes et scripts du fichier .deb">
|
||||
Pour extraire les fichiers du programme et les fichiers de configuration d'un fichier ''.deb'' à l'aide de ''tar'', vous pouvez utiliser la commande ''ar'' pour extraire le contenu du fichier ''.deb'' dans un fichier temporaire, puis utiliser ''tar'' pour extraire les fichiers du programme et les fichiers de configuration du fichier temporaire :
|
||||
ar x nom_du_fichier.deb
|
||||
tar -xf data.tar.* -C dossier_destination/
|
||||
|
||||
Cette commande extrait les fichiers du programme et les fichiers de configuration du fichier ''.deb'' et les place dans le dossier spécifié.
|
||||
</panel>
|
||||
|
||||
|
||||
--- //[[user:cedricabonnel]]//
|
||||
|
||||
33
data/pages/informatique/linux/system/index.txt
Normal file
33
data/pages/informatique/linux/system/index.txt
Normal file
@@ -0,0 +1,33 @@
|
||||
====== Administration système ======
|
||||
{{tag>"script linux"}}
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
Cette sous-catégorie inclus des articles sur l'administration système de Linux, la gestion des utilisateurs et des groupes, la gestion de stockage, la sauvegarde et la récupération, etc
|
||||
|
||||
===== Table des matières =====
|
||||
|
||||
<WRAP clear/>
|
||||
|
||||
|
||||
<WRAP group>
|
||||
<WRAP half column>
|
||||
==== Les pages ====
|
||||
|
||||
<nav stacked="true" fade="true">
|
||||
<nspages . -h1 -nbCol=1 -textNS=" " -textPages=" " -simpleList -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
</nav>
|
||||
</WRAP>
|
||||
|
||||
<WRAP half column>
|
||||
==== Les sous-catégories ====
|
||||
|
||||
<nav stacked="true" fade="true">
|
||||
<nspages . -h1 -nbCol=1 -noPages -subns -textNS=" " -textPages=" " -simpleList -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
</nav>
|
||||
</WRAP>
|
||||
</WRAP>
|
||||
|
||||
|
||||
~~NOTOC~~
|
||||
~~NOCACHE~~
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
====== Installer tous les packs de langue français sous Fedora ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Vous pouvez installer tous les packs de langue français disponibles pour votre système en utilisant la paquet ''langpacks-fr''.
|
||||
|
||||
Le paquet ''langpacks-fr'' est un méta-paquet (ou paquet de métadonnées) dans le système de gestion de paquets DNF de Fedora qui permet d'installer tous les packs de langue français pour les applications disponibles dans les dépôts officiels de Fedora.
|
||||
|
||||
Le paquet ''langpacks-fr'' ne contient pas de fichiers de langue réels, mais il liste simplement tous les packs de langue français disponibles pour les applications supportées sur Fedora. Lorsque vous installez le paquet ''langpacks-fr'', DNF va automatiquement télécharger et installer tous les packs de langue français nécessaires pour les applications installées sur votre système.
|
||||
|
||||
Cela permet de simplifier l'installation des packs de langue français pour toutes les applications disponibles dans les dépôts officiels de Fedora, sans avoir à installer manuellement chaque pack de langue individuellement.
|
||||
|
||||
Notez que si vous avez déjà installé le paquet ''langpacks-fr'' sur votre système, vous n'aurez pas besoin de l'installer à nouveau pour installer les packs de langue français pour les nouvelles applications que vous installez. DNF va automatiquement télécharger et installer les packs de langue nécessaires pour les nouvelles applications que vous installez, en utilisant les informations de langage contenues dans les fichiers d'installation de l'application.
|
||||
|
||||
sudo dnf install langpacks-fr
|
||||
106
data/pages/informatique/linux/system/partitions-sous-linux.txt
Normal file
106
data/pages/informatique/linux/system/partitions-sous-linux.txt
Normal file
@@ -0,0 +1,106 @@
|
||||
====== 120 · Partitions sous Linux ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Sous Linux, les partitions sont des sections distinctes du disque dur ou de la mémoire flash qui peuvent être utilisées pour stocker des données séparément. Les partitions peuvent être créées pour différentes raisons, telles que :
|
||||
|
||||
* Séparer le système d'exploitation du reste des données pour une meilleure gestion et une plus grande flexibilité.
|
||||
|
||||
* Créer des partitions de secours pour les données importantes en cas de problèmes avec le système d'exploitation.
|
||||
|
||||
* Utiliser plusieurs systèmes d'exploitation sur un seul ordinateur en les installant sur des partitions distinctes.
|
||||
|
||||
===== Liste des périphériques =====
|
||||
|
||||
Avant toutes choses, vous devez connaître vos disques en utilisant la commande [[:informatique:linux:commandes:lsblk]]. Cette commande liste tous les périphériques de stockage connectés au système, y compris les disques durs, les mémoires flash USB et les disques SSD.
|
||||
|
||||
<panel type="default" title="Exemple de résultat" subtitle="de la commande lsblk" icon="fa fa-laptop">
|
||||
<code>
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||||
sda 8:0 0 59,6G 0 disk
|
||||
├─sda1 8:1 0 500M 0 part /boot
|
||||
└─sda2 8:2 0 59,1G 0 part /
|
||||
sdb 8:16 0 465,8G 0 disk
|
||||
├─sdb1 8:17 0 2G 0 part [SWAP]
|
||||
└─sdb2 8:18 0 433,8G 0 part /home
|
||||
sdc 8:32 0 119,2G 0 disk /home/cedric24c/_tmp
|
||||
sdd 8:48 1 0B 0 disk
|
||||
sde 8:64 1 0B 0 disk
|
||||
sr0 11:0 1 1024M 0 rom
|
||||
zram0 252:0 0 8G 0 disk [SWAP]
|
||||
</code>
|
||||
</panel>
|
||||
|
||||
|
||||
===== Créer ou modifier des partitions =====
|
||||
|
||||
Pour créer des partitions sous Linux, vous pouvez utiliser des outils tels que [[:informatique:linux:commandes:fdisk]] ou [[:informatique:linux:commandes:parted]]. La création de partitions peut entraîner **la perte de données**. Il est donc recommandé de **faire une sauvegarde complète des données** avant de procéder à la création de partitions.
|
||||
|
||||
<panel type="default" title="Exemple d’exécution" subtitle="de la commande fdisk" icon="fa fa-laptop">
|
||||
<code>
|
||||
sudo fdisk /dev/sda1
|
||||
</code>
|
||||
</panel>
|
||||
|
||||
Je conseille l'utilisation d'outils graphiques comme **GParted**, ou **GNOME Disk Utility** (basé sur UDisks).
|
||||
|
||||
===== En mode graphique =====
|
||||
|
||||
**Gparted** est un outil graphique open source pour gérer les partitions de disques durs sous Linux. Il peut être utilisé pour créer, redimensionner, déplacer, copier et supprimer des partitions sans perte de données. Il est également capable de gérer plusieurs systèmes de fichiers, tels que NTFS, FAT32, ext2, ext3 et bien d'autres.
|
||||
|
||||
Pour utiliser **Gparted**, vous devez le télécharger et l'installer sur votre système Linux. Une fois installé, vous pouvez l'ouvrir à partir du menu des applications ou en tapant ''gparted'' dans un terminal. **Gparted** affichera alors une vue graphique de vos disques et partitions, vous permettant de les gérer en toute simplicité.
|
||||
|
||||
La modification des partitions peut entraîner la perte de données si elle n'est pas effectuée correctement. Il est donc fortement recommandé de faire une sauvegarde complète de vos données avant de procéder à toute modification de partitions. **Gparted** offre également la possibilité de vérifier l'intégrité des données avant de procéder à des modifications, ce qui peut aider à minimiser le risque de perte de données.
|
||||
|
||||
{{:informatique:linux:pasted:20230214-001433.png}}
|
||||
|
||||
===== Choix des partitions =====
|
||||
|
||||
Lors de l'installation de Linux, il est recommandé de créer au moins deux partitions :
|
||||
- une partition **racine** (/), qui contiendra le système d'exploitation et les logiciels installés, et
|
||||
- une partition de **swap**, qui sera utilisée comme zone de mémoire virtuelle par le système.
|
||||
|
||||
Il est également recommandé de créer une partition séparée (**/home**) pour stocker vos fichiers personnels (documents, images, vidéos, etc.), afin de pouvoir réinstaller facilement le système d'exploitation sans perdre vos fichiers personnels.
|
||||
|
||||
Voici un exemple de répartition des partitions pour une installation de Linux:
|
||||
|
||||
* Partition **/boot/efi** : 512 Mo (taille minimale), voir l'article [[informatique:linux:system:uefi|UEFI]]. Système de fichier **fat32**.
|
||||
* Partition **racine** (/): 20 Go (taille minimale recommandée, voir l'article concernant la [[journal_geek:billets:taille-de-partition-racine|taille de partition racine]]). Système de fichiers **ext4** ou **Btrfs**.
|
||||
* Partition de **swap**: 2 Go (taille recommandée, mais cela dépend de votre quantité de RAM et de vos besoins en matière de mémoire virtuelle. Voir le chapitre concernant le [[journal_geek:billets:calcul-de-la-taille-de-la-partition-swap]])
|
||||
* Partition **/home**: taille restante du disque dur. Système de fichiers **ext4** ou **Btrfs**. Un système de fichiers **NTFS** ou **exFAT** peut être choisi pour que la partition puisse être partagée entre les systèmes d'exploitation différents.
|
||||
|
||||
Bien que cette répartition des partitions soit recommandée, vous pouvez en créer d'autres en fonction de vos besoins et de votre utilisation prévue de l'ordinateur. Par exemple, vous pouvez créer une partition supplémentaire (**/var**) pour stocker les fichiers de logs du système, ou une partition (**/usr**) pour stocker les logiciels installés par l'utilisateur.
|
||||
|
||||
Ces partitions doivent être créées sur un disque dur ou une partition séparée, et non sur un fichier ou un système de fichiers virtuel. Les fichiers ou systèmes de fichiers virtuels ne sont pas adaptés pour stocker un système d'exploitation complet et peuvent causer des problèmes de performance ou de stabilité.
|
||||
|
||||
En outre, il est également possible de créer des partitions supplémentaires pour d'autres besoins spécifiques, comme pour l'échange de données, la sauvegarde, le stockage de fichiers temporaires, etc.
|
||||
|
||||
|
||||
===== Créer ces partitions lors de l'installation de Linux =====
|
||||
|
||||
{{ :informatique:linux:pasted:20230214-083024.png }}
|
||||
|
||||
L'installation de Linux Mint suit un processus similaire à celui de la plupart des distributions Linux. Voici les étapes générales pour créer des partitions lors de l'installation avec Linux Mint. Lorsque vous arrivez sur l'écran vous proposant le choix du partitionnement :
|
||||
|
||||
* Sélectionnez "Installation personnalisée" et cliquez sur "Continuer".
|
||||
* Sélectionnez le disque dur sur lequel vous souhaitez installer Linux Mint.
|
||||
* Cliquez sur "Ajouter une nouvelle partition".
|
||||
* Spécifiez la taille de la partition, le type de système de fichiers et le [[point-de-montage|point de montage]].
|
||||
* Répétez les étapes 7 et 8 pour créer d'autres partitions si nécessaire.
|
||||
* Cliquez sur "Installer maintenant" pour lancer l'installation.
|
||||
|
||||
|
||||
===== Installation du Boot Loader =====
|
||||
|
||||
Lors de l'installation d'un système d'exploitation, vous devez choisir l'emplacement où installer le chargeur de démarrage (boot loader). Le chargeur de démarrage est un programme qui permet au système d'exploitation de démarrer lorsque vous allumez votre ordinateur. Vous pouvez installer le chargeur de démarrage sur le disque dur ou sur une partition.
|
||||
|
||||
En général, il est recommandé d'**installer le chargeur de démarrage sur le disque dur** plutôt que sur une partition. Cela permet au chargeur de démarrage de localiser plus facilement le système d'exploitation et d'effectuer le démarrage plus rapidement et plus efficacement.
|
||||
|
||||
Si vous installez plusieurs systèmes d'exploitation sur un seul ordinateur, vous devrez peut-être installer le chargeur de démarrage sur une partition spécifique pour éviter que les systèmes d'exploitation ne s'entremêlent et que les fichiers de démarrage ne soient pas corrompus.
|
||||
|
||||
Si vous devez choisir une partition pour installer le chargeur de démarrage, vous devez choisir la partition qui contient le système d'exploitation que vous voulez démarrer. Cela est particulièrement important si vous avez plusieurs systèmes d'exploitation installés sur un seul ordinateur.
|
||||
|
||||
Par exemple, si vous avez installé **Linux Mint** sur une partition séparée, vous devez choisir cette partition pour installer le chargeur de démarrage. Si vous avez installé **Windows** et **Linux Mint** sur des partitions différentes, vous pouvez choisir la partition de Linux Mint pour installer le chargeur de démarrage.
|
||||
|
||||
Si vous n'êtes pas sûr de la partition à choisir pour installer le chargeur de démarrage, il est recommandé de laisser le programme d'installation le faire automatiquement. La plupart des programmes d'installation de systèmes d'exploitation sont conçus pour installer le chargeur de démarrage sur le disque dur par défaut, à moins que vous ne spécifiiez un emplacement différent.
|
||||
|
||||
|
||||
21
data/pages/informatique/linux/system/point-de-montage.txt
Normal file
21
data/pages/informatique/linux/system/point-de-montage.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
====== 125 · Point de montage ======
|
||||
{{ :dummy.png?75x75|Un point de montage est un emplacement dans l'arborescence de fichiers d'un système d'exploitation où un système de fichiers peut être accessible.}}
|
||||
|
||||
En informatique, un point de montage est un emplacement dans l'arborescence de fichiers d'un système d'exploitation où un système de fichiers peut être accessible. Cela signifie que si vous montez un disque ou une partition à un point de montage, vous pouvez accéder à ses fichiers et dossiers à partir de cet emplacement.
|
||||
|
||||
Lorsqu'un disque dur ou une partition est monté, son contenu devient accessible aux utilisateurs à partir du point de montage. Par exemple, si vous montez une clé USB à un point de montage appelé ''/mnt/usb'', vous pouvez accéder à ses fichiers en naviguant vers ce répertoire.
|
||||
|
||||
Le système d'exploitation Linux utilise un arbre de répertoires pour organiser les points de montage. Le répertoire racine est le point de départ de l'arborescence, et tous les autres répertoires et points de montage se trouvent en dessous de ce répertoire. Les points de montage courants sous Linux comprennent ''/home'' pour les fichiers personnels de l'utilisateur, ''/mnt'' pour les périphériques de stockage externes et ''/media'' pour les périphériques amovibles tels que les clés USB.
|
||||
|
||||
Les points de montage sont utiles pour organiser et accéder facilement aux fichiers et dossiers de différents disques et partitions. Ils permettent également de monter et démonter facilement les périphériques de stockage externes, tels que les clés USB et les disques durs externes.
|
||||
|
||||
Il existe plusieurs commandes pour lister les points de montage sous Linux en ligne de commande. Voici quelques-unes des commandes les plus courantes :
|
||||
|
||||
* [[:informatique:linux:commandes:mount|mount]] : cette commande affiche la liste de tous les points de montage actifs, ainsi que les périphériques de stockage associés et les options de montage.
|
||||
|
||||
* [[:informatique:linux:commandes:df|df]] : cette commande affiche l'utilisation de l'espace disque pour chaque partition montée, ainsi que l'espace disponible et l'espace utilisé.
|
||||
|
||||
* [[:informatique:linux:commandes:lsblk|lsblk]] : cette commande affiche la liste de tous les périphériques de stockage et les partitions associées, ainsi que les points de montage actifs.
|
||||
|
||||
--- //[[user:cedricabonnel]]//
|
||||
|
||||
71
data/pages/informatique/linux/system/sandbox.txt
Normal file
71
data/pages/informatique/linux/system/sandbox.txt
Normal file
@@ -0,0 +1,71 @@
|
||||
====== sandbox ======
|
||||
{{ :dummy.png?75x75|Environnement isolé}}
|
||||
|
||||
Une **sandbox** est un environnement isolé et sécurisé dans lequel un programme peut s'exécuter sans affecter le reste du système. Lorsqu'un programme s'exécute dans une **sandbox**, il est restreint dans les actions qu'il peut effectuer, afin de prévenir les problèmes de sécurité.
|
||||
|
||||
|
||||
> Pourquoi ?
|
||||
|
||||
Les technologies de **sandboxing** existent depuis plusieurs décennies et ont été utilisées dans divers contextes, notamment pour isoler des applications sur des systèmes d'exploitation en temps partagé.
|
||||
|
||||
Cependant, les **sandboxes** modernes utilisent des techniques plus avancées pour créer des environnements de **sandbox** sécurisés et faciles à utiliser. Le concept de **sandboxing** est devenu plus important avec l'augmentation des menaces de sécurité sur les ordinateurs personnels et les serveurs, ainsi qu'avec l'essor des technologies de virtualisation et de conteneurisation.
|
||||
|
||||
La popularité des technologies de **sandboxing** a également augmenté avec l'avènement des smartphones et des tablettes, qui ont introduit de nouveaux risques de sécurité. Les **sandboxes** sont maintenant couramment utilisées dans les environnements mobiles pour protéger les données personnelles des utilisateurs et empêcher les applications malveillantes d'accéder à des ressources sensibles, telles que les contacts, les messages ou les photos.
|
||||
|
||||
> Principe de fonctionnement
|
||||
|
||||
Le mécanisme de **sandbox** repose sur l'utilisation de mécanismes de virtualisation, d'isolation et de contrôle d'accès.
|
||||
|
||||
En général, les **sandboxes** sont mises en place en utilisant des techniques de virtualisation pour créer un environnement isolé et sécurisé dans lequel une application peut s'exécuter. Les machines virtuelles ou les conteneurs sont des exemples de technologies de virtualisation qui peuvent être utilisées pour créer des **sandboxes**.
|
||||
|
||||
Une fois que l'environnement de **sandbox** est créé, des mécanismes d'isolation sont utilisés pour restreindre l'accès de l'application à certaines ressources système, telles que les fichiers, les entrées/sorties réseau ou les processus. Cela permet d'empêcher l'application d'interagir avec le système hôte et de causer des dommages ou des compromissions de sécurité.
|
||||
|
||||
Enfin, des mécanismes de contrôle d'accès sont mis en place pour autoriser ou refuser l'accès de l'application à certaines ressources du système en fonction de son niveau de privilège et des permissions qui lui ont été accordées.
|
||||
|
||||
Dans l'ensemble, les mécanismes de virtualisation, d'isolation et de contrôle d'accès permettent aux **sandboxes** de créer des environnements de sécurité isolés pour les applications. Cela réduit les risques de sécurité en limitant les actions qu'une application peut effectuer sur le système hôte.
|
||||
|
||||
En général, la mise en place d'une **sandbox** nécessite un certain niveau de configuration pour autoriser l'accès aux ressources du système que l'application a besoin d'utiliser. Lors de la création d'une **sandbox**, il est souvent nécessaire de spécifier les permissions que l'application sera autorisée à utiliser.
|
||||
|
||||
Par exemple, si une application a besoin d'accéder à des fichiers sur le système de fichiers local, il faudra autoriser explicitement l'application à accéder à ces fichiers en définissant les bonnes permissions. De même, si l'application a besoin d'accéder à Internet, il faudra spécifier les permissions nécessaires pour permettre à l'application d'utiliser le réseau.
|
||||
|
||||
Cependant, la configuration d'une **sandbox** est généralement simplifiée autant que possible pour éviter les erreurs de configuration qui pourraient compromettre la sécurité. Les mécanismes de **sandboxing** modernes, tels que ceux utilisés dans **Flatpak**, sont conçus pour simplifier autant que possible la configuration de la **sandbox** tout en garantissant un niveau élevé de sécurité. Les utilisateurs n'ont souvent pas besoin de configurer manuellement les permissions de la **sandbox**, car celles-ci sont gérées automatiquement par le système de **sandboxing**.
|
||||
|
||||
> Technologie
|
||||
|
||||
Il existe plusieurs autres technologies de **sandboxing** disponibles, en plus de **Flatpak**, qui sont utilisées pour isoler les applications et renforcer la sécurité sur les systèmes d'exploitation.
|
||||
|
||||
Voici quelques exemples de technologies de **sandboxing** populaires :
|
||||
|
||||
* Docker : une plateforme de conteneurs qui utilise des mécanismes de virtualisation pour isoler les applications dans des environnements de conteneurs. Les conteneurs Docker offrent une isolation de processus et de réseau, ainsi que des mécanismes de contrôle d'accès pour limiter l'accès aux ressources du système.
|
||||
|
||||
* Firejail : un outil de **sandboxing** pour Linux qui utilise des mécanismes d'isolation de processus pour limiter les actions qu'une application peut effectuer sur le système. Firejail est conçu pour être facile à utiliser et propose une interface en ligne de commande simple pour configurer la **sandbox**.
|
||||
|
||||
* AppArmor et SELinux : des outils de contrôle d'accès obligatoire (MAC) pour Linux qui permettent de restreindre les actions qu'une application peut effectuer en fonction de ses permissions et de son niveau de privilège. Ces outils sont utilisés pour limiter l'accès aux ressources du système et prévenir les attaques.
|
||||
|
||||
Ces technologies de **sandboxing** et bien d'autres sont utilisées pour renforcer la sécurité sur les systèmes d'exploitation en isolant les applications et en restreignant l'accès aux ressources du système.
|
||||
|
||||
> Firefox
|
||||
|
||||
**Firefox**, le navigateur web populaire, utilise également un mécanisme de **sandboxing** pour améliorer la sécurité. Le **sandboxing** de Firefox, appelé ''Content Process Sandbox'', isole le contenu web dans des processus distincts qui sont séparés du processus principal du navigateur.
|
||||
|
||||
Lorsqu'un utilisateur visite un site web, le contenu web (HTML, JavaScript, etc.) est exécuté dans un processus distinct qui est limité dans les actions qu'il peut effectuer sur le système. Si un contenu malveillant ou un code malicieux est exécuté sur le site web, il ne pourra pas affecter le processus principal du navigateur, ce qui peut protéger l'utilisateur contre les attaques de type ''drive-by'' ou ''drive-by-download'' (attaque par téléchargement automatique de logiciel malveillant à l'insu de l'utilisateur).
|
||||
|
||||
De plus, **Firefox** utilise également une fonctionnalité appelée ''Strict Site Isolation'' qui isole les processus de contenu pour chaque site web visité. Cela empêche les sites web de partager des informations entre eux, même si un site malveillant est capable d'exécuter du code dans le processus du navigateur.
|
||||
|
||||
En somme, le **sandboxing** de Firefox est un élément important de la sécurité du navigateur, car il permet d'isoler le contenu web dans des processus distincts pour empêcher les attaques de se propager à travers le navigateur ou sur le système.
|
||||
|
||||
> ... et bien d'autres
|
||||
|
||||
De nombreux programmes et systèmes d'exploitation utilisent le mécanisme de **sandboxing** pour renforcer la sécurité. Voici quelques exemples d'autres programmes et systèmes d'exploitation qui utilisent le mécanisme de **sandboxing** :
|
||||
|
||||
* __Google Chrome__ : le navigateur web de Google utilise également un mécanisme de sandboxing pour isoler les onglets dans des processus distincts et limiter les actions qu'ils peuvent effectuer sur le système.
|
||||
|
||||
* __Microsoft Office__ : les versions les plus récentes de Microsoft Office utilisent un mécanisme de **sandboxing** appelé "Protected View" pour ouvrir les fichiers téléchargés à partir d'Internet ou d'autres sources non fiables dans un environnement isolé et sécurisé.
|
||||
|
||||
* __Adobe Reader__ : le lecteur de PDF d'Adobe utilise un mécanisme de **sandboxing** pour isoler le processus de lecture de PDF dans un environnement de **sandbox** distinct et limiter les actions qu'il peut effectuer sur le système.
|
||||
|
||||
* __Android__ : le système d'exploitation mobile d'Android utilise un mécanisme de **sandboxing** pour isoler les applications dans des environnements distincts et limiter l'accès des applications aux ressources du système.
|
||||
|
||||
* __iOS__ : le système d'exploitation mobile d'Apple utilise également un mécanisme de **sandboxing** pour isoler les applications dans des environnements de **sandbox** distincts et empêcher les applications de partager des informations entre elles.
|
||||
|
||||
En somme, de nombreux programmes et systèmes d'exploitation utilisent le mécanisme de **sandboxing** pour renforcer la sécurité en isolant les processus dans des environnements de **sandbox** distincts et en limitant l'accès des processus aux ressources du système.
|
||||
18
data/pages/informatique/linux/system/sidebar.txt
Normal file
18
data/pages/informatique/linux/system/sidebar.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
{{ :informatique:1200px-gnulinux.jpg?75x75|GNU / Linux}}
|
||||
|
||||
==== Les pages ====
|
||||
|
||||
<nav stacked="true" fade="true">
|
||||
<nspages . -h1 -nbCol=1 -textNS=" " -textPages=" " -simpleList -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
</nav>
|
||||
|
||||
==== Les sous-catégories ====
|
||||
|
||||
<nav stacked="true" fade="true">
|
||||
<nspages . -h1 -nbCol=1 -noPages -subns -textNS=" " -textPages=" " -simpleList -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
~~NOTOC~~
|
||||
~~NOCACHE~~
|
||||
25
data/pages/informatique/linux/system/specification-trash.txt
Normal file
25
data/pages/informatique/linux/system/specification-trash.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
====== Spécification trash ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
La **spécification Trash**, également connue sous le nom de **spécification FreeDesktop.org Trash**, est une norme commune utilisée par de nombreux environnements de bureau Linux pour gérer les fichiers supprimés.
|
||||
|
||||
Cette spécification a été créée par le projet **FreeDesktop.org**, qui est une initiative open-source visant à standardiser les composants de bureau et les protocoles pour les systèmes d'exploitation de bureau Linux.
|
||||
|
||||
La **spécification Trash** définit un format standard pour stocker les fichiers supprimés dans un dossier de corbeille. Ce dossier est généralement situé dans le répertoire personnel de chaque utilisateur et peut être géré via une interface utilisateur graphique ou via des commandes en ligne de commande telles que celles fournies par les outils ''trash-cli''.
|
||||
|
||||
L'utilisation de cette spécification permet aux utilisateurs de récupérer facilement des fichiers supprimés accidentellement ou de manière intentionnelle et permet également une gestion cohérente des fichiers supprimés dans différents environnements de bureau Linux.
|
||||
|
||||
Les éléments clés de cette spécification incluent :
|
||||
|
||||
* Un dossier ''Trash'' situé dans le répertoire personnel de chaque utilisateur, qui sert de corbeille par défaut.
|
||||
* Les fichiers supprimés sont renommés pour inclure un préfixe de nom de fichier contenant le nom du dossier original, la date et l'heure de la suppression, afin d'éviter les conflits de noms de fichiers.
|
||||
* Les fichiers supprimés sont stockés dans le dossier Trash avec une structure de répertoires basée sur la date et l'heure de la suppression.
|
||||
* Les fichiers supprimés ne sont pas immédiatement supprimés de la corbeille, mais plutôt déplacés dans un répertoire spécial ''files'' ou ''info'' (selon la version) qui contient des informations supplémentaires sur le fichier supprimé.
|
||||
* Les fichiers dans le répertoire ''files'' sont stockés avec le même nom de fichier et le même chemin relatif que le fichier original, tandis que les fichiers dans le répertoire "info" contiennent des métadonnées telles que l'heure de suppression et l'emplacement d'origine du fichier.
|
||||
|
||||
La **spécification FreeDesktop.org Trash** permet aux différents environnements de bureau Linux de fournir une interface utilisateur cohérente pour la gestion de la corbeille et permet également aux applications tierces de s'intégrer facilement avec la corbeille du système en utilisant les commandes standardisées pour la suppression et la récupération de fichiers.
|
||||
|
||||
La **spécification Trash** soit largement utilisée dans les environnements de bureau Linux, elle n'est pas universelle et il peut y avoir des différences dans la manière dont différentes distributions Linux implémentent la corbeille.
|
||||
|
||||
Il est possible de paramétrer la corbeille et ses comportements en ligne de commande sur un système Linux compatible avec la **spécification Trash**. Les outils de ligne de commande [[informatique:linux:applications:trash-cli|trash-cli]] fournissent une variété de commandes pour effectuer des actions sur la corbeille, telles que la suppression de fichiers, la restauration de fichiers, le vidage de la corbeille et la configuration des paramètres de la corbeille.
|
||||
|
||||
|
||||
52
data/pages/informatique/linux/system/tmpfs.txt
Normal file
52
data/pages/informatique/linux/system/tmpfs.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
====== 128 · tmpfs ======
|
||||
{{ :informatique:linux:pasted:20211108-001406.png?400}}
|
||||
|
||||
Par défaut, Fedora monte le système de fichiers **tmpfs** sur le point de montage ''/tmp'', ce qui signifie que tous les fichiers temporaires créés dans ce dossier seront stockés en mémoire vive.
|
||||
|
||||
**tmpfs** est un système de fichiers temporaire en mémoire vive (RAM) qui permet de stocker des fichiers temporaires pendant que le système est en cours d'exécution.
|
||||
|
||||
Cela présente certains avantages, notamment des temps d'accès plus rapides aux fichiers temporaires, car la mémoire vive est plus rapide que les disques durs ou les SSD. Cela permet également de réduire l'usure du disque dur ou du SSD, car les fichiers temporaires ne sont pas écrits en permanence sur le disque.
|
||||
|
||||
Cependant, l'utilisation de **tmpfs** peut également avoir des inconvénients si votre système est en manque de mémoire vive, car cela peut entraîner une utilisation accrue de la mémoire vive et ralentir les performances de votre système.
|
||||
|
||||
Si vous avez besoin de plus d'espace pour stocker des fichiers temporaires sur votre système Fedora, vous pouvez modifier le point de montage ''/tmp'' pour utiliser un système de fichiers différent, tel qu'un disque dur ou un SSD. Pour ce faire, vous devez modifier le fichier ''/etc/fstab'' et modifier la ligne correspondant à ''/tmp'' pour monter un autre système de fichiers à la place de **tmpfs**.
|
||||
|
||||
sudo systemctl mask tmp.mount
|
||||
|
||||
La commande ''systemctl mask tmp.mount'' permet de désactiver complètement le montage du système de fichiers **tmpfs**. En utilisant cette commande, le système ne montera plus le système de fichiers **tmpfs** au démarrage, même si la ligne correspondante est toujours présente dans le fichier ''/etc/fstab''.
|
||||
|
||||
Redémarrez votre système pour que les modifications prennent effet.
|
||||
|
||||
Cela désactivera complètement le montage du système de fichiers **tmpfs**, ce qui peut avoir un impact sur les performances de votre système si vous utilisez des applications qui ont besoin d'un accès rapide aux fichiers temporaires.
|
||||
|
||||
===== Combiner tmpfs et fichier =====
|
||||
|
||||
Pour combiner la mémoire vive et le stockage de fichiers pour le dossier ''/tmp'' sous Fedora, vous pouvez monter **tmpfs** sur le dossier ''/tmp''. Cela permet de stocker les fichiers temporaires dans la mémoire vive, ce qui peut accélérer l'accès aux fichiers temporaires et réduire l'usure du disque dur ou du SSD.
|
||||
|
||||
Éditez le fichier ''/etc/fstab'' :
|
||||
|
||||
tmpfs /tmp tmpfs defaults,size=1G 0 0
|
||||
|
||||
Cette ligne monte **tmpfs** sur le dossier "/tmp" avec une taille de 1 Go. Vous pouvez ajuster la taille en fonction de vos besoins.
|
||||
|
||||
Ajoutez une autre ligne pour monter un système de fichiers de disque dur sur un point de montage de votre choix, comme ''/var/tmp''. La ligne devrait ressembler à quelque chose comme ceci :
|
||||
|
||||
/dev/sda1 /var/tmp ext4 defaults 0 2
|
||||
|
||||
Cette ligne monte le système de fichiers de disque dur ''/dev/sda1'' sur le point de montage ''/var/tmp'' en utilisant le système de fichiers "ext4".
|
||||
|
||||
Montez tmpfs sur le dossier ''/tmp'' et le système de fichiers de disque dur en utilisant la commande suivante :
|
||||
|
||||
sudo mount -a
|
||||
|
||||
Cette commande va monter **tmpfs** sur le dossier ''/tmp'' et le système de fichiers de disque dur sur le point de montage "/var/tmp" en utilisant les paramètres définis dans le fichier ''/etc/fstab''.
|
||||
|
||||
Après avoir effectué ces étapes, les fichiers temporaires seront stockés en mémoire vive dans le dossier ''/tmp'' jusqu'à ce que l'espace alloué soit rempli, puis les fichiers supplémentaires seront stockés sur le système de fichiers de disque dur monté sur le point de montage ''/var/tmp''.
|
||||
|
||||
En utilisant cette méthode, vous pouvez bénéficier des avantages de la mémoire vive pour stocker des fichiers temporaires, tout en évitant les inconvénients d'un manque d'espace de stockage.
|
||||
|
||||
Le système est conçu pour rechercher le point de montage ''/tmp'' en premier lorsqu'il recherche un emplacement pour stocker des fichiers temporaires. Si le dossier ''/tmp'' est plein, le système tentera alors de stocker les fichiers temporaires dans le dossier ''/var/tmp''. Si ce dernier est également plein, le système affichera un message d'erreur indiquant qu'il n'y a plus d'espace disponible pour stocker des fichiers temporaires.
|
||||
|
||||
Toutefois, si vous souhaitez configurer le système pour utiliser le dossier ''/var/tmp'' comme emplacement principal pour stocker des fichiers temporaires, vous pouvez modifier la variable d'environnement ''TMPDIR'' pour qu'elle pointe vers le dossier ''/var/tmp''. Pour ce faire, vous pouvez ajouter la ligne suivante à votre fichier ".bashrc" :
|
||||
|
||||
export TMPDIR=/var/tmp
|
||||
26
data/pages/informatique/linux/system/types-de-partitions.txt
Normal file
26
data/pages/informatique/linux/system/types-de-partitions.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
====== 121 · Types de partitions ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
|
||||
Sous Linux, il existe plusieurs types de partitions que vous pouvez utiliser en fonction de vos besoins :
|
||||
|
||||
* Partition de système de fichiers Linux (ext2, ext3, ext4, btfrs) : il s'agit du type de partition le plus couramment utilisé sous Linux. Ces partitions prennent en charge les autorisations de fichiers et de répertoires, ainsi que la journalisation des fichiers pour aider à prévenir la corruption des données.
|
||||
|
||||
* Partition de swap : cette partition est utilisée pour stocker temporairement des données lorsque la RAM du système est pleine. Il s'agit généralement d'une partition séparée, car elle doit être rapidement accessible.
|
||||
|
||||
* Partition FAT32 : cette partition est compatible avec Windows, Mac et Linux. Elle est souvent utilisée pour les disques durs externes et les clés USB.
|
||||
|
||||
* Partition NTFS : cette partition est spécifique à Windows et prend en charge les autorisations de fichiers et de répertoires. Elle est souvent utilisée pour les disques durs externes et les disques durs internes partagés entre Windows et Linux.
|
||||
|
||||
* Partition de démarrage EFI : cette partition est utilisée pour stocker les fichiers de démarrage pour les systèmes compatibles EFI.
|
||||
|
||||
Il existe d'autres types de partitions, mais ceux-ci sont les plus couramment utilisés. Lorsque vous créez des partitions, il est important de prendre en compte vos besoins en matière de stockage et de performance, ainsi que la compatibilité avec d'autres systèmes d'exploitation.
|
||||
|
||||
|
||||
==== Les pages ====
|
||||
|
||||
<nav stacked="true" fade="true">
|
||||
<nspages .:types-de-partitions -h1 -nbCol=1 -textNS=" " -textPages=" " -simpleList -exclude:cookie: -exclude:user: -exclude:playground: -exclude:[sidebar index start rightsidebar navbar topheader header help pageheader pagefooter legal-notices footer 404]>
|
||||
</nav>
|
||||
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
===== Btrfs =====
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
**Btrfs**, qui signifie "Système de fichiers B-Tree" en français, est un système de fichiers moderne et riche en fonctionnalités, conçu pour les systèmes Linux. Il utilise une structure de données en arbre appelée "B-Tree" pour organiser les fichiers et les métadonnées. Cette structure permet de gérer efficacement les gros volumes de données et les fichiers de taille importante.
|
||||
|
||||
**Btrfs** offre de nombreuses fonctionnalités avancées, telles que la __compression de données__, la __déduplication__, la création de __snapshots__, la __migration de blocs défectueux__ et la prise en charge de plusieurs dispositifs de stockage en __mode RAID__. Il prend également en charge __les sous-volumes__, qui sont des sous-partitions logiques du système de fichiers, ce qui permet de mieux organiser les données et de les gérer plus efficacement.
|
||||
|
||||
**Btrfs** est considéré comme étant un système de fichiers stable pour un usage courant sur les systèmes Linux modernes. Cependant, il convient de noter que **certaines fonctionnalités plus avancées** de **Btrfs**, telles que la __déduplication__ et le __RAID5/6__, peuvent être **moins matures** et moins testées que les fonctionnalités de base.
|
||||
|
||||
**Btrfs** a été initialement développé par **Oracle en 2007** pour être inclus dans le noyau Linux. Depuis lors, il est développé et maintenu par une communauté de développeurs bénévoles, ainsi que par des entreprises telles que **SUSE**, **Facebook**, **Fujitsu** et **Western Digital**.
|
||||
|
||||
Le développement de **Btrfs** se poursuit activement, avec de nouvelles fonctionnalités et améliorations étant régulièrement ajoutées au système de fichiers. **Btrfs** est inclus dans le noyau **Linux** depuis la version **2.6.29** et est devenu de plus en plus populaire en tant que système de fichiers par défaut pour certaines distributions Linux, telles que **SUSE Linux Enterprise Server**, **openSUSE** ou **Fedora Linux**.
|
||||
|
||||
==== Les commandes avec Btfrs ====
|
||||
|
||||
=== Créer un système de fichiers Btrfs ===
|
||||
|
||||
Pour créer un système de fichiers Btrfs sur un périphérique de stockage, vous pouvez utiliser la commande suivante :
|
||||
|
||||
sudo mkfs.btrfs /dev/sdX
|
||||
|
||||
où ''/dev/sdX'' représente le périphérique de stockage sur lequel vous souhaitez créer le système de fichiers Btrfs.
|
||||
|
||||
|
||||
=== Monter un système de fichiers ===
|
||||
|
||||
Pour monter un système de fichiers **Btrfs** sur un point de montage, vous pouvez utiliser la commande suivante :
|
||||
|
||||
sudo mount /dev/sdX /mnt/point-de-montage
|
||||
|
||||
où ''/dev/sdX'' représente le périphérique de stockage sur lequel est situé le système de fichiers **Btrfs**, et ''/mnt/point-de-montage'' représente le point de montage où vous souhaitez monter le système de fichiers.
|
||||
|
||||
|
||||
=== Afficher des informations ===
|
||||
|
||||
Pour afficher des informations sur un système de fichiers **Btrfs**, vous pouvez utiliser la commande suivante :
|
||||
|
||||
sudo btrfs filesystem show
|
||||
|
||||
Cette commande affichera des informations telles que la version du système de fichiers, la taille totale de l'espace de stockage et les options de montage actuelles.
|
||||
|
||||
=== Créer un sous-volume ===
|
||||
|
||||
Créer un sous-volume Btrfs peut être utile pour plusieurs raisons :
|
||||
- Vous pouvez utiliser des sous-volumes pour **isoler des ensembles de fichiers** et de données spécifiques, par exemple pour séparer les données utilisateur des données système.
|
||||
- Vous pouvez définir des **quotas de disque** pour des ensembles de données spécifiques.
|
||||
- Les **snapshots Btrfs** sont créés à partir de sous-volumes.
|
||||
- Vous pouvez créer des sous-volumes de manière dynamique, les supprimer et les renommer à tout moment, ce qui permet de réorganiser facilement les données.
|
||||
|
||||
Pour créer un sous-volume dans un système de fichiers **Btrfs**, vous pouvez utiliser la commande suivante :
|
||||
|
||||
sudo btrfs subvolume create /chemin/vers/sous-volume
|
||||
|
||||
où ''/chemin/vers/sous-volume'' représente le chemin d'accès au nouveau sous-volume que vous souhaitez créer.
|
||||
|
||||
=== Les SnapShots avec Btrfs ===
|
||||
|
||||
Voir https://fedoramagazine.org/working-with-btrfs-snapshots/
|
||||
|
||||
== Créer des snapshots ==
|
||||
|
||||
Pour créer des snapshots dans un système de fichiers **Btrfs**, vous devez d'**abord créer un sous-volume** (''btrfs subvolume create''). Les snapshots Btrfs sont en fait des copies instantanées d'un sous-volume, ce qui signifie que vous devez avoir au moins un sous-volume pour créer des snapshots.
|
||||
|
||||
Pour créer un snapshot d'un sous-volume **Btrfs**, vous pouvez utiliser la commande suivante :
|
||||
|
||||
sudo btrfs subvolume snapshot /chemin/vers/source /chemin/vers/destination
|
||||
|
||||
où ''/chemin/vers/source'' représente le chemin d'accès au sous-volume source à partir duquel vous souhaitez créer le snapshot, et ''/chemin/vers/destination'' représente le chemin d'accès au nouveau sous-volume snapshot.
|
||||
|
||||
Les **snapshots** et les **sous-volumes** Btrfs peuvent être utilisés pour organiser et gérer efficacement les données dans un système de fichiers **Btrfs**. Les **sous-volumes** peuvent être utilisés pour isoler différents ensembles de fichiers et de données, tandis que les **snapshots** peuvent être utilisés pour créer des copies de sauvegarde ou des points de restauration de l'état du système de fichiers à un moment donné.
|
||||
|
||||
== Lister les snapshots ==
|
||||
|
||||
Pour lister les snapshots présents dans un système de fichiers Btrfs, vous pouvez utiliser la commande btrfs subvolume list. Cette commande affichera une liste de tous les sous-volumes et snapshots présents dans le système de fichiers Btrfs.
|
||||
|
||||
Voici la syntaxe générale de la commande :
|
||||
|
||||
sudo btrfs subvolume list [chemin/vers/systeme-de-fichiers]
|
||||
|
||||
où ''chemin/vers/systeme-de-fichiers'' représente le chemin d'accès au système de fichiers **Btrfs** que vous souhaitez lister. Si aucun chemin d'accès n'est spécifié, la commande listera les **sous-volumes** et **snapshots** du système de fichiers monté sur le point de montage courant.
|
||||
|
||||
== Effacer un snapshot ==
|
||||
|
||||
Pour effacer un **snapshot** dans un système de fichiers **Btrfs**, vous pouvez utiliser la commande ''btrfs subvolume delete''. Voici la syntaxe générale de cette commande :
|
||||
|
||||
sudo btrfs subvolume delete [chemin/vers/snapshot]
|
||||
|
||||
où ''chemin/vers/snapshot'' représente le chemin d'accès au snapshot que vous souhaitez effacer.
|
||||
|
||||
=== Vérifier l'intégrité Btrfs ===
|
||||
|
||||
Pour vérifier l'intégrité d'un système de fichiers **Btrfs**, vous pouvez utiliser la commande suivante :
|
||||
|
||||
sudo btrfs scrub start /chemin/vers/systeme-de-fichiers
|
||||
|
||||
où ''/chemin/vers/systeme-de-fichiers'' représente le chemin d'accès au système de fichiers **Btrfs** que vous souhaitez vérifier.
|
||||
|
||||
=== La compression avec Btrfs ===
|
||||
|
||||
Avec la **compression transparente** de **Btrfs**, il n'est pas nécessaire d'installer les programmes de compression car *Btrfs les prend en charge directement :
|
||||
|
||||
* zstd
|
||||
* lzo
|
||||
* zlib
|
||||
|
||||
La **compression transparente** est une fonctionnalité qui **permet de compresser des données sur un système de fichiers sans que l'utilisateur ait à s'en soucier**. Cela signifie que lorsque les fichiers sont écrits sur le disque, ils sont automatiquement compressés et, lorsqu'ils sont lus, ils sont automatiquement décompressés. Cette fonctionnalité peut aider à économiser de l'espace de stockage sur le disque dur, car les fichiers compressés prennent moins de place que les fichiers non compressés.
|
||||
|
||||
La compression transparente du système de fichiers dans Btrfs est configurable de plusieurs façons :
|
||||
* En tant qu'option de montage lors du montage du système de fichiers (s'applique à tous les sous-volumes du même système de fichiers Btrfs)
|
||||
* Avec les propriétés de fichiers Btrfs
|
||||
* Lors de la défragmentation du système de fichiers Btrfs (pas permanente)
|
||||
* Avec l'interface d'attributs de fichier ''chattr''
|
||||
|
||||
== Montage système de fichiers fstab ==
|
||||
|
||||
|
||||
En utilisant l'option de montage ''compress'' lors du montage du système de fichiers Btrfs. Cette option s'applique alors à tous les sous-volumes de ce système de fichiers. Par exemple, pour monter un système de fichiers Btrfs en utilisant l'algorithme de compression ''zstd'' sur le niveau 3, la commande suivante doit être utilisée : ''sudo mount -o compress=zstd:3 ...''.
|
||||
|
||||
Il est important de noter que l'option de montage ''compress'' s'applique à tout le système de fichiers Btrfs et à tous ses sous-volumes. De plus, c'est la seule méthode supportée pour spécifier le niveau de compression à utiliser.
|
||||
|
||||
Pour appliquer la compression au système de fichiers racine, elle doit être spécifiée dans le fichier ''/etc/fstab''. Par exemple, l'installeur de Fedora Linux active la compression ''zstd'' sur le niveau 1 par défaut, et cela est reflété dans le fichier ''/etc/fstab''.
|
||||
|
||||
<code>
|
||||
UUID=47b03671-39f1-43a7-b0a7-db733bfb47ff / btrfs subvol=root,compress=zstd:1,[ ... ] 0 0
|
||||
</code>
|
||||
|
||||
== Activation de la compression par fichier ==
|
||||
|
||||
Une autre méthode de spécification de la compression consiste à utiliser les propriétés du système de fichiers Btrfs. Pour lire le paramètre de compression pour n'importe quel fichier, dossier ou sous-volume, utilisez la commande suivante :
|
||||
|
||||
sudo btrfs property get <CHEMIN> compression
|
||||
|
||||
De même, vous pouvez configurer la compression de la manière suivante :
|
||||
|
||||
sudo btrfs property set <CHEMIN> compression <VALEUR>
|
||||
|
||||
Par exemple, pour activer la compression zlib pour tous les fichiers sous /etc :
|
||||
|
||||
sudo btrfs property set /etc compression zlib
|
||||
|
||||
Vous pouvez obtenir une liste de valeurs prises en charge avec ''man btrfs-property''. Gardez à l'esprit que cette interface ne permet pas de spécifier le niveau de compression. De plus, si une propriété de compression est définie, elle remplace toute autre compression configurée au moment du montage.
|
||||
|
||||
|
||||
==== Bibliographie ====
|
||||
|
||||
|
||||
* Documentation : https://btrfs.readthedocs.io/en/latest/man-index.html
|
||||
@@ -0,0 +1,10 @@
|
||||
====== ext4 ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
**ext4** (quatrième version de l'//Extended File System//) est le système de fichiers par défaut sur de nombreuses distributions Linux modernes, mais il est également compatible avec les systèmes de fichiers plus anciens tels que **ext2** et **ext3**, ce qui permet de faciliter la migration vers une version plus récente.
|
||||
|
||||
Le système de fichiers **ext4** offre de nombreuses améliorations par rapport à ses prédécesseurs, notamment une __meilleure résilience aux pannes__, une __prise en charge de fichiers plus volumineux__ et une __amélioration des performances en lecture/écriture__. Il __utilise des techniques de journalisation__ pour garantir l'intégrité des données en cas de panne de système, et prend en charge des fonctionnalités avancées telles que la __déduplication__, le __chiffrement__ et la __compression de fichiers__.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
====== EFI ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
Voir la page [[informatique:linux:system:uefi]]
|
||||
39
data/pages/informatique/linux/system/uefi.txt
Normal file
39
data/pages/informatique/linux/system/uefi.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
====== 050 · UEFI ======
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
L'**UEFI** (Unified Extensible Firmware Interface) est un micrologiciel plus moderne qui a remplacé le Legacy BIOS dans de nombreux ordinateurs personnels. Contrairement au BIOS traditionnel, qui est principalement basé sur du code en langage assembleur, l'**UEFI** est basé sur du code en langage de haut niveau, ce qui le rend plus facile à développer et à mettre à jour. De plus, l'**UEFI** prend en charge des disques durs plus grands, des interfaces graphiques utilisateur plus modernes, la sécurité améliorée, et une meilleure prise en charge des périphériques d'entrée et de sortie.
|
||||
|
||||
L'**UEFI** fonctionne en utilisant des pilotes pour communiquer avec les différents périphériques matériels de l'ordinateur, tels que le disque dur, la carte graphique, le clavier et la souris. Ces pilotes sont stockés dans une zone spéciale de l'**UEFI** appelée l'EFI System Partition (ESP). La partition ESP est généralement formatée en FAT32 et contient des fichiers tels que les fichiers de configuration de l'**UEFI**, les pilotes matériels, les fichiers de démarrage de l'OS et les fichiers de secours du système. Dans les systèmes multiboot, il peut y avoir plusieurs partitions ESP sur un même disque dur, une pour chaque système d'exploitation installé. L'ESP doit être présente et correctement configurée pour que le système puisse démarrer en mode **UEFI**.
|
||||
|
||||
Lorsque l'ordinateur démarre, l'**UEFI** charge les pilotes nécessaires à partir de l'ESP et initialise les périphériques matériels. Il charge ensuite le système d'exploitation et lui transfère le contrôle de l'ordinateur.
|
||||
|
||||
L'**UEFI** prend également en charge la fonctionnalité **Secure Boot**, qui vérifie la signature numérique des pilotes et des programmes qui sont exécutés lors du démarrage de l'ordinateur. Cela aide à prévenir l'exécution de logiciels malveillants au niveau du micrologiciel.
|
||||
|
||||
===== Accéder au BIOS UEFI =====
|
||||
|
||||
La manipulation courante pour accéder au BIOS UEFI consiste à redémarrer l'ordinateur et à appuyer sur une touche spécifique dès que l'ordinateur démarre. Cette touche varie en fonction du fabricant de l'ordinateur et du modèle, mais elle est souvent indiquée à l'écran lors du démarrage de l'ordinateur. Les touches couramment utilisées pour accéder au BIOS UEFI incluent <key>F2</key>, <key>F10</key>, <key>F12</key>, <key>ESC</key> ou <key>Del</key>. En général, il est recommandé d'appuyer plusieurs fois sur la touche spécifique dès que l'ordinateur démarre pour s'assurer que le BIOS UEFI est bien accessible. Une fois dans le BIOS UEFI, il est possible de configurer les paramètres matériels et de sécurité de l'ordinateur.
|
||||
|
||||
===== Préparer son installation UEFI =====
|
||||
|
||||
Sur un système **UEFI**, les disques sont partitionnés différemment que sur les systèmes BIOS. Au lieu d'utiliser une table de partitionnement MBR (Master Boot Record) comme sur les systèmes BIOS, les systèmes UEFI **utilisent une table de partitionnement GPT** (GUID Partition Table).
|
||||
|
||||
Pour créer des partitions sous Linux sur un disque avec un système UEFI, vous devrez créer une partition séparée pour le stockage de l'ESP (EFI System Partition). Cette partition doit être formatée en **FAT32** et doit être montée sur ''/boot/efi''. En général, une partition ''/boot/efi'' 512 Mo est suffisante pour la plupart des installations Linux modernes.
|
||||
|
||||
|
||||
===== Remplacer un Système d'Exploitation avec Secure Boot =====
|
||||
|
||||
Le remplacement d'un système d'exploitation avec **Secure Boot** activé peut nécessiter quelques étapes supplémentaires pour garantir que le nouveau système est démarré en toute sécurité et sans compromettre l'intégrité du système. Voici une procédure générale que vous pouvez suivre :
|
||||
|
||||
* Désactivez Secure Boot : avant d'installer un nouveau système d'exploitation, vous devrez peut-être désactiver Secure Boot dans l'UEFI de l'ordinateur. Cela permettra au nouveau système d'exploitation de s'installer correctement.
|
||||
|
||||
* Créez un support de démarrage : créez un support de démarrage pour le nouveau système d'exploitation, tel qu'une clé USB ou un DVD d'installation.
|
||||
|
||||
* Démarrez à partir du support de démarrage : insérez le support de démarrage dans l'ordinateur et redémarrez l'ordinateur. Sélectionnez le support de démarrage dans l'interface de démarrage de l'UEFI.
|
||||
|
||||
* Installez le nouveau système d'exploitation : suivez les instructions à l'écran pour installer le nouveau système d'exploitation. Assurez-vous de sélectionner le disque dur approprié pour l'installation.
|
||||
|
||||
* Activez Secure Boot : une fois le système d'exploitation installé, vous pouvez réactiver Secure Boot dans l'UEFI. Cela permettra de sécuriser le démarrage du nouveau système d'exploitation.
|
||||
|
||||
* Vérifiez l'intégrité du nouveau système d'exploitation : si vous avez installé un système d'exploitation signé, assurez-vous que la signature est correcte et valide. Vous pouvez utiliser les outils de vérification de signature fournis par le système d'exploitation ou les outils tiers pour effectuer cette vérification.
|
||||
|
||||
* Installez les pilotes nécessaires : enfin, installez les pilotes nécessaires pour les périphériques matériels de l'ordinateur, tels que la carte graphique, la carte réseau, etc. Cela garantira que tous les composants matériels fonctionnent correctement sous le nouveau système d'exploitation.
|
||||
11
data/pages/informatique/linux/system/upstart.txt
Normal file
11
data/pages/informatique/linux/system/upstart.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
====== 220 · upstart ======
|
||||
{{tag>"Linux systeme"}}
|
||||
{{ :dummy.png?75x75|}}
|
||||
|
||||
**Upstart** est un système de gestion de processus qui a été utilisé pour gérer les processus et les services sur les systèmes d'exploitation basés sur **Linux**, tels que **Ubuntu**, **Debian** et **Fedora**. Il a été conçu pour remplacer le système **init** traditionnel et offre des fonctionnalités avancées de gestion de processus, telles que la gestion de dépendances entre les processus, la gestion de l'état des processus et la gestion des événements déclenchés par les utilisateurs.
|
||||
|
||||
Upstart utilise un fichier de configuration appelé ''.conf'' pour gérer les processus et les services. Ces fichiers de configuration décrivent les processus et les services à exécuter, ainsi que les événements qui déclenchent ces processus et services.
|
||||
|
||||
Avec l'arrivée de **systemd** en 2014, **Upstart** a été progressivement remplacé sur les distributions **Linux**, bien que certains systèmes continuent d'utiliser **Upstart**.
|
||||
|
||||
|
||||
57
data/pages/informatique/linux/system/variables.txt
Normal file
57
data/pages/informatique/linux/system/variables.txt
Normal file
@@ -0,0 +1,57 @@
|
||||
====== 180 · Variables sous Linux ======
|
||||
{{tag>"linux system"}}
|
||||
{{ :dummy.png?75x75|Nom de la section}}
|
||||
|
||||
===== PATH =====
|
||||
|
||||
==== Historique ====
|
||||
|
||||
La variable d'environnement **PATH** a été inventée par les développeurs du système d'exploitation **Unix**. Elle a été introduite pour permettre aux utilisateurs d'exécuter des commandes en utilisant simplement leur nom, plutôt que de devoir entrer le chemin complet vers le fichier binaire. Cela a facilité l'utilisation des commandes en rendant le système plus convivial pour les utilisateurs. La variable **PATH** est devenue un élément standard de la plupart des systèmes d'exploitation modernes, y compris **Linux**, **macOS**, et **Windows**.
|
||||
|
||||
**Microsoft** a repris le principe de la variable d'environnement **PATH** lorsqu'il a développé la commande "cmd" pour son système d'exploitation **Windows NT**. Cela a permis aux utilisateurs de Windows de trouver et d'exécuter des commandes en utilisant simplement leur nom, comme sur les systèmes Unix. La variable **PATH** a été introduite dans **Windows NT 3.5**, qui a été publié en 1993. Depuis lors, elle est devenue un élément standard de toutes les versions de Windows, y compris les versions les plus récentes. La variable d'environnement **PATH** n'a pas été incluse dans le système d'exploitation **MS-DOS** de **Microsoft**. Pour exécuter des commandes sur MS-DOS, les utilisateurs devaient entrer le chemin complet vers le fichier binaire.
|
||||
|
||||
Il y avait plusieurs utilitaires disponibles pour MS-DOS qui permettaient d'ajouter une sorte de fonctionnalité de variable PATH pour exécuter des commandes en utilisant simplement leur nom. Certains des utilitaires les plus populaires étaient:
|
||||
|
||||
* [[https://fr.wikipedia.org/wiki/4DOS|4DOS]] (1989) : un remplacement de commande pour **COMMAND.COM** qui ajoutait de nombreuses fonctionnalités, y compris la possibilité de définir des variables d'environnement, y compris PATH.
|
||||
|
||||
* [[https://fr.wikipedia.org/wiki/4DOS#NDOS|NDOS]] (inclus à partir de [[https://en.wikipedia.org/wiki/Norton_Utilities|Norton Utilies 8.0]], 1994 - 2003 ((En 2003, Norton Utilities a été fusionné avec Norton SystemWorks, mais a été plus tard séparé à nouveau)) ): un remplacement de commande pour **COMMAND.COM** qui ajoutait des fonctionnalités similaires à 4DOS, y compris la possibilité de définir des variables d'environnement.\\ Voir le site https://winworldpc.com/product/norton-utilities/80 - Norton Utilities 8.0 fonctionne avec un [[informatique:technologie:processeur:286-cpu|80286]] et +.
|
||||
|
||||
* [[https://en.wikipedia.org/wiki/DOSKEY|DOSKEY]] (1991) : un utilitaire de Microsoft qui a été introduit dans MS-DOS 5.0 pour améliorer l'expérience de la ligne de commande en ajoutant des fonctionnalités telles que la possibilité de rappeler des commandes antérieures et de créer des macros. Il a également ajouté la possibilité de définir des variables d'environnement, y compris **PATH**.
|
||||
|
||||
==== Exploitation du PATH sous Linux ====
|
||||
|
||||
Sous Linux, la variable **PATH** est définie dans le fichier de configuration de l'utilisateur, comme ''.bashrc'' ou ''.bash_profile''. Voir la page [[informatique:linux:system:dossiers-remarquables:home:bash-profile]] pour plus d'informations.
|
||||
|
||||
Elle peut également être définie dans le fichier de configuration global pour tous les utilisateurs, comme ''/etc/bashrc''. Voir la page [[informatique:linux:system:dossiers-remarquables:etc-bashrc]] pour plus d'informations.
|
||||
|
||||
Enfin, la variable PATH peut-être modifié dans le SHELL uniquement dans la session courante en l’exécutant à l'invite de commandes.
|
||||
|
||||
=== Ajouter un chemin dans le PATH ===
|
||||
|
||||
Voici un exemple de définition de la variable **PATH** pour ajouter un répertoire à la recherche de commandes :
|
||||
|
||||
export PATH=$PATH:/usr/local/bin
|
||||
|
||||
Cette ligne ajoutera le répertoire ''/usr/local/bin'' à la liste des chemins de recherche de commandes.
|
||||
|
||||
Voici un autre exemple pour ajouter plusieurs répertoires :
|
||||
|
||||
export PATH=$PATH:/usr/local/bin:/usr/local/sbin
|
||||
|
||||
Cela ajoutera les répertoires ''/usr/local/bin'' et ''/usr/local/sbin'' à la liste des chemins de recherche de commandes.
|
||||
|
||||
Pour que les modifications de **PATH** prennent effet, il faut recharger le fichier de configuration ou se reconnecter.
|
||||
|
||||
=== Afficher le contenu de la variable PATH ===
|
||||
|
||||
Pour vérifier la valeur de la variable **PATH** actuelle, vous pouvez utiliser la commande :
|
||||
|
||||
echo $PATH
|
||||
|
||||
Cela affichera la liste des chemins séparés par des deux-points qui sont actuellement inclus dans la variable **PATH**.
|
||||
|
||||
|
||||
--- //[[user:cedricabonnel]] et [[user:CPT]] //
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user