[Pkg-sysvinit-devel] Bug#683103: mkdir: cannot create directory `/run/shm': File exists

Roger Leigh rleigh at codelibre.net
Tue Aug 7 08:43:02 UTC 2012


On Tue, Aug 07, 2012 at 09:18:39AM +0200, Vincent Danjean wrote:
>   I've just been hit by this bug in a schroot.
>   The host has initscripts 2.88dsf-28 installed.
>   When upgrading my sid schroot, I got the error:
> mkdir: cannot create directory `/run/shm': File exists
> dpkg: error processing initscripts (--configure):
> 
>   Looking at the situation on this system, I see:
> atsina:/users/huron/danjean# mountpoint /dev
> /dev is a mountpoint
> atsina:/users/huron/danjean# mountpoint /dev/shm
> mountpoint: /dev/shm: not a directory
> atsina:/users/huron/danjean# ls -ld /dev/shm /run/shm
> lrwxrwxrwx 1 root root 8 Jul  6 18:58 /dev/shm -> /run/shm
> lrwxrwxrwx 1 root root 8 May 22  2011 /run/shm -> /dev/shm
> 
>   I do not know from where the circular symlink come from.
> The schroot worked well (up-to-date) before I go to holidays, 3 weeks ago.

I think vorlon's patch to improve the shm upgrade broke some
particular cases.  I've got a patch to fix it in progress.
However, I do need to work out how to deal with all
possible combinations of:

/dev being a mountpoint
/dev/shm being a mountpoint
/run being a mountpoint
/dev/shm being a symlink or directory
/run/shm being a symlink or directory

We need to take special care never to alter the bind mounted
host environment, so as to not alter any state where a mountpoint
is present.  I should hopefully have time for this tonight.  It's
not such a combinatorial explosion as indicated above--if any
mountpoints are present it restricts what we can do.  So e.g.
if /dev is a mountpoint and /dev/shm is a symlink, then /run/shm
must be a directory since we can't alter the symlink.  And vice
versa if it's a directory, then /run/shm must be a symlink.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux    http://people.debian.org/~rleigh/
 `. `'   schroot and sbuild  http://alioth.debian.org/projects/buildd-tools
   `-    GPG Public Key      F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800



More information about the Pkg-sysvinit-devel mailing list