Message : unable to write to /tmp

Tags: #<Tag:0x00007f63e437e4d0> #<Tag:0x00007f63e437e408>

Bonjour,
sans savoir pourquoi, lors du lancement de Debian 11, j’ai le message d’erreur suivant :
" X session : Warning : unable to write to /tmp ; X session may exit with an error ".
Et il m’est impossible d’accéder à ma session.
J’ai cherché des solutions sur les forums mais sans conviction.
Certains disent que le dossier tmp est saturé.
A partir de Grub, j’ai ouvert la session recovery, en me mettant en root, j’ai accès à ce dossier /tmp qui contient un fichier : systemd-private-(beaucoup de lettres et chiffres)-systemd-timesyncd.service-ltnwn5
Est-ce que je peux supprimer ce fichier sans créer d’autres problèmes et espérer ainsi corriger le message d’erreur ?
Merci pour vos réponses.

(Sujet déplacé dans Support Debian)

Tout ce qui est antérieur au dernier démarrage dans /tmp peut être supprimé. Ce sous-répertoire est créé à chaque démarrage, donc vérifie sa date avant.

On peut voir la sortie de

df -T /tmp
du -hs /tmp
ls -ld /tmp

Oui, c’est ce que je me disais, le dossier /tmp est normalement vidé automatiquement à chaque redémarrage… me semble t’il.

Il a des droits spécifiques que l’on peut attribuer à d’autres répertoires où les fichiers « swap » ; de l’allumage du PC au redémarrage seraient supprimés… me semble t’il, un truc du genre.

J’ajoute ce lien qui explique les « sticky bit » ou « bit collant » et autres droits linux.

Merci pour vos réponses.
Voilà les résultats :

  • df -T /tmp
Sys. de fichiers Type blocs de 1K  Utilisé Disponible Uti% Monté sur
/dev/sda8        ext4    53367772 38087348   12537080  76% /
  • du -hs /tmp
du: impossible de lire le répertoire '/tmp/systemd-private-521fab8dd2264146a576719377858fe2-upower.service-Jhqb65': Permission non accordée
du: impossible de lire le répertoire '/tmp/systemd-private-521fab8dd2264146a576719377858fe2-colord.service-oRayHe': Permission non accordée
du: impossible de lire le répertoire '/tmp/systemd-private-521fab8dd2264146a576719377858fe2-systemd-logind.service-VwlpAN': Permission non accordée
du: impossible de lire le répertoire '/tmp/systemd-private-521fab8dd2264146a576719377858fe2-ModemManager.service-3Q84oc': Permission non accordée
du: impossible de lire le répertoire '/tmp/systemd-private-521fab8dd2264146a576719377858fe2-systemd-timesyncd.service-FN1cUY': Permission non accordée
64K	/tmp
  • ls -ld /tmp
drwxrwxrwt 13 root root 12288 30 mai   10:06 /tmp

Normalement le dossier /tmp doit se vider à l’arrêt de l’ordinateur, c’est ce qu’il s’est toujours produit jusqu’ici, mais après un essai d’acquisition vidéo avec Kino, j’ai eu le message « unable to write to /tmp ».

J’ai pu résoudre le problème en allant sur une console par Ctrl-Alt-F1, puis en root j’ai fait apt-get clean, le nettoyage a eu lieu et j’ai pu récupérer ma session.

Mais j’ai encore des dossiers systemd-private qui s’installe dans /tmp, avec impossibilité de les supprimer, sauf en root avec rm -r.
Salutations.

/tmp n’est pas un système de fichiers séparé mais fait partie du système de fichiers racine qui a 12 Go d’espace libre, donc ce n’est pas (ou plus) un problème d’espace libre.

Le « mode » rwxrwxrwt est correct et permet à tout le monde d’y écrire, donc ce n’est pas un problème de permissions.

Les sous-répertoires (et non dossiers) /tmp/systemd-private* sont recréés à chaque démarrage, il n’y a pas lieu de chercher à les supprimer.

apt-get clean ne touche pas /tmp mais /var. Si /var est aussi dans le système de fichiers racine, une hypothèse est que ce dernier était plein et le vidage du cache d’apt a libéré de l’espace. Mais 12 Go de cache apt, ça me paraît beaucoup.

Bonjour,

je me permets de me mêler de ce qui ne me regarde pas, mais je trouve curieuse ta remarque :

car je me suis amusé à comparer ce qu’a donné l’OP et qui ressemble à ça après mise en forme :

avec ce que j’obtiens chez moi (disque système de 240 Go, tout dessus sauf les data, et à l’installation j’ai laissé faire l’installeur de Debian 10, suivi un an plus tard par la màj Debian 11) :

$ df -T /tmp/
Sys. de fichiers Type  blocs de 1K Utilisé Disponible Uti% Monté sur
tmpfs            tmpfs     7176276      12    7176264   1% /tmp

On comparera avec intérêt le Sys. de fichiers, son Type, et l’utilisation en %.

D’où ma question bête : comment déduis-tu ce que tu as écrit ?
Merci,

Ben, tu vois, j’ai exactement pareil :

Sys. de fichiers Type  blocs de 1K Utilisé Disponible Uti% Monté sur
tmpfs            tmpfs     7124204   92376    7031828   2% /tmp

mais ça n’a d’importance car c’est la force de Linux, tu configures ça comme tu veux et ça ne change pas grand chose par rapport au sujet.

Du contenu du champ « monté sur » qui désigne le point de montage du système de fichiers auquel le répertoire passé en argument à df appartient. Dans ton cas, /tmp est un système de fichiers séparé de type tmpfs.

Merci.

Donc c’est à l’install que j’ai choisi cette option ? Je n’en ai aucun souvenir…

Merci à toi aussi. Ton post et ses valeurs me rassurent.

Je n’ai jamais vu cette option ni ce résultat avec l’installateur Debian classique. Même quand on sélectionne le partitionnement assisté avec /home, /tmp, /var séparés, /tmp est une partition ou un volume logique classique et non un tmpfs. Je n’ai jamais utilisé l’installateur alternatif Calamares des images Debian live donc je ne sais pas ce qu’il fait. Par contre on peut l’activer dans /etc/default/tmpfs ou directement dans /etc/fstab.

Ha oui, ça doit être ça ! N’ayant pas de fichier /etc/default/tmpfs, j’ai regardé mon fstab où il y a bien une ligne
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
qui n’est pas de mon fait. Donc l’install est venue avec ça.

Et pour l’OP au fait,

ça refonctionne ?

Merci encore.
Moi je n’ai pas précisé le tmpfs à l’installation donc /tmp n’a pas été séparé du système de fichiers racine.
Donc, si j’ai bien compris, je ne touche à rien car tout fonctionne normalement après avoir nettoyé le répertoire /var.
Ce n’est pas moi qui ai décidé d’accorder 12 Go de cache apt, cela s’est fait naturellement.

salut
peux-tu expliquer et/ou donner un man / une doc sur ce fichier dont je n’ai jamais entendu parler

je n’ai trouvé que cette phrase comme explication/exemple :

The /etc/default/tmpfs file contains variable settings in POSIX format:

    VAR=VAL 

mpa

Oui, mais surveille l’espace libre et nettoie le cache d’apt de temps en temps pour éviter que cela se reproduise.

/etc/default/tmpfs provient du paquet initscripts, qui contient également une page de manuel « tmpfs » (consultable sur manpages.debian.org si le paquet n’est pas installé). Ce paquet n’est plus installé par défaut et /etc/default/tmpfs est ignoré si le gestionnaire d’init est systemd.

1 J'aime

merci

Il me semble que la mise en place de /tmp sur un système séparé tmpfs dépend de la taille mémoire, en tout cas c’était le cas avant l’apparition de systemd. La taille de ce tmpfs est une fraction de la mémoire vive.
Avec systemd, c’est le service systemd-tmpfiles qui s’en occupe. La configuration est faite par les fichiers sous /usr/lib/tmpfiles.d. Il y a un man de tmpfiles.d

@Arobasse, est-ce que ton problème est résolu ?
Si c’est le cas, pense à mettre cliquer sur la coche qui se trouve dans le message contenant la solution.

D’accord, c’est résolu, mais je considère que le tutoiement n’est pas indispensable et malvenu sur un site où les gens ne se connaissent pas.
Il faut rester respectueux des autres, certains sont très âgés et d’autres très jeunes.

Désolé mon frère mais je suis dans le fluide sur gaia je traverse l’infini au milieu du vide à plus de 100000 km / h tout en tournant sur moi mème à plus e 1000 km/h essayant d’éviter les trous noirs , le néant c’est compliqué tu vois ! :grinning: :kissing_heart: :rofl: