tmpfs (Français)

tmpfs est un système de fichiers temporaire qui réside en mémoire et/ou sur une ou plusieurs partitions d'échange. Monter des répertoires en tant que tmpfs peut être un moyen efficace d'accélérer les accès à leurs fichiers ou de s'assurer que leur contenu est automatiquement effacé au redémarrage.

Astuce: Les fichiers temporaires dans les répertoires tmpfs peuvent être recréés au démarrage en utilisant systemd-tmpfiles.

État de la traduction: Cet article est la version francophone de Tmpfs. Date de la dernière traduction: 2022-10-03. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Utilisation

Les répertoires où tmpfs(5) est couramment utilisé sont /tmp, /var/lock et /var/run. Ne l'utilisez pas sur /var/tmp, car ce répertoire est destiné aux fichiers temporaires qui sont préservés lors des redémarrages.

Arch utilise un répertoire tmpfs /run, avec /var/run et /var/lock existant simplement comme liens symboliques pour la compatibilité. Il est également utilisé pour /tmp par la configuration par défaut de systemd et ne nécessite pas d'entrée dans fstab sauf si une configuration spécifique est nécessaire.

glibc 2.2 et supérieur s'attend à ce que tmpfs soit monté sur /dev/shm pour POSIX shared memory. Le montage de tmpfs sur /dev/shm est géré automatiquement par systemd et une configuration manuelle dans fstab n'est pas nécessaire.

En général, les tâches et les programmes qui exécutent des opérations de lecture/écriture fréquentes peuvent bénéficier de l'utilisation d'un répertoire tmpfs. Certaines applications peuvent même bénéficier d'un gain substantiel en déchargeant une partie (ou la totalité) de leurs données sur la mémoire partagée. Par exemple, la relocalisation du profil de Firefox en RAM montre une amélioration significative des performances.

Exemples

Note: La consommation réelle de mémoire/swap dépend de la quantité utilisée, car les partitions tmpfs ne consomment pas de mémoire avant d'en avoir réellement besoin.

Par défaut, la taille maximale d'une partition tmpfs est fixée à la moitié de la RAM disponible, mais il est possible de modifier cette valeur. Pour définir explicitement une taille maximale, dans cet exemple pour remplacer le montage /tmp par défaut, utilisez l'option de montage  :

Pour spécifier un montage plus sécurisé, spécifiez l'option de montage suivante :

Consultez la page de manuel tmpfs(5) et Security#File systems pour plus d'informations.

Redémarrez pour que les changements prennent effet. Notez que même s'il peut être tentant d'exécuter simplement mount -a pour que les changements prennent effet immédiatement, cela rendra inaccessibles tous les fichiers résidant actuellement dans ces répertoires (ceci est particulièrement problématique pour l'exécution de programmes avec des fichiers de verrouillage, par exemple). Cependant, si tous ces répertoires sont vides, il devrait être sûr d'exécuter mount -a au lieu de redémarrer (ou de les monter individuellement).

Après avoir appliqué les changements, vérifiez qu'ils ont pris effet en regardant dans et en utilisant findmnt :

Les tmpfs peuvent également être temporairement redimensionnés sans avoir besoin de redémarrer, par exemple lorsqu'un gros travail de compilation doit être exécuté prochainement. Dans ce cas, exécutez :

# mount -o remount,size=4G,noatime /tmp

Désactiver le montage automatique

Sous systemd, /tmp est automatiquement monté en tant que tmpfs, si ce n'est pas déjà un point de montage dédié (soit tmpfs, soit sur le disque) dans . Pour désactiver le montage automatique, masquez l'unité .

Les fichiers ne seront plus stockés dans un tmpfs, mais sur le périphérique de type bloc à la place. Le contenu de /tmp sera maintenant préservé entre les redémarrages, ce qui peut ne pas être le comportement souhaité. Pour retrouver le comportement précédent et nettoyer le répertoire /tmp automatiquement au redémarrage, pensez à utiliser  :

Dépannage

L'ouverture de liens symboliques dans tmpfs en tant que root échoue

Si /tmp utilise tmpfs, changez le répertoire actuel en /tmp, puis créez un fichier et un lien symbolique vers ce fichier dans le même répertoire /tmp. Il faut s'attendre à des erreurs de permission refusée lors de la tentative de lecture du lien symbolique car /tmp a le bit collant activé.

Ce comportement peut être contrôlé via ou simplement via sysctl : . Consultez Sysctl#Configuration pour rendre cela permanent.

Voir aussi

gollark: The syntax isn't very important, the semantics are what matter, and Python is basically your standard modern high-level multiparadigm language so the concepts transfer fine to JS and whatever else.
gollark: Don't start with C++, it has similar problems plus masses of complexity stacked on.
gollark: Which doesn't really matter much.
gollark: Java and C# and JS aren't more C-like than Python except in syntax.
gollark: Well, if you're new to programming then probably python.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.