web-dev-qa-db-fra.com

16.04 LTS et / dev / shm / Files Disappearing

Je migre une application Web qui fonctionnait auparavant sur Ubuntu 12.04 LTS. Il utilise beaucoup /dev/shm/. Je constate que les données de l'application disparaissent de /dev/shm/ sur le serveur Ubuntu 16.04 LTS.

Y at-il une sorte de garbage collection qui supprime les fichiers et les répertoires à partir de là? Je vois que 12.04 est configuré avec ce lien symbolique: /dev/shm -> /run/shm, alors que 16.04 a exactement le contraire: /run/shm -> /dev/shm. Je ne vois pas en quoi cela ferait une différence.


MET À JOUR

  • Je soupçonnais AppArmor, mais le supprimer ne changeait pas le comportement
  • La suppression des structures de répertoires semble avoir lieu toutes les cinq minutes
  • Les répertoires contenant des fichiers sont éventuellement supprimés, mais pas aussi rapidement
  • Je soupçonne que l'âge des fichiers/répertoires affecte la suppression
  • Il ressemble à ce gars connaît le même problème .
4
Sonny

Après des heures de recherche et de lecture, j'ai trouvé le coupable. C'est un réglage pour systemd . Le /etc/systemd/logind.conf contient les options de configuration par défaut, chacune étant commentée. L'option RemoveIPC est définie sur yes par défaut. Cette option demande à systemd de nettoyer la communication interprocessus (IPC) des "comptes d'utilisateur" non connectés. Cela n'affecte pas les "comptes système".

Dans mon cas, les fichiers et les répertoires ont été créés pour un compte d'utilisateur, pas un compte système.

Il y a deux solutions possibles:

  1. Créer les fichiers avec/pour un utilisateur système - un utilisateur créé avec l'option système (adduser -r ou adduser --system)
  2. Éditez /etc/systemd/logind.conf, décommentez la ligne RemoveIPC=yes, remplacez-la par RemoveIPC=no, sauvegardez et redémarrez le système.

Dans mon cas, j'ai opté pour l'option n ° 2, car l'utilisateur était déjà créé.

Références:

6
Sonny