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
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:
adduser -r
ou adduser --system
)/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: