[Lxc-users] PostgreSQL - "sh: cannot create /dev/null: Permission denied" - LXC Issue?

Patrick Kevin McCaffrey pkm at uwm.edu
Mon Jan 23 21:27:12 UTC 2012



...

>> I'm working on a database container, but when I run:
>>
>> "/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data"
>>
>> to set up my database, it errors out with:
>>
>> "sh: cannot create /dev/null: Permission denied
>> fgets failure: Success
>> The program "postgres" is needed by initdb but was not found in the
>> same directory as "/usr/local/pgsql/bin/initdb".
>> Check your installation."
>>

>Try adding this to config file:


>lxc.cgroup.devices.allow = c 1:3 rwm
##This line is already in my config file.  The entire config file is further below.


>This allows the container to read/write/mknod
>character device major 1, minor 3

>tmike at tmike-Inspiron-1464:~/lxc/oneiric$ ls -l /dev/null
>crw-rw-rw- 1 root root 1, 3 2012-01-13 13:45 /dev/null

>This should take care of the

>"sh: cannot create /dev/null: Permission denied




##  Again, sorry for the how long it took me to reply.  Getting this system setup is sort of a side project, and other things have gotten in the way of me working on it lately.  Anyway, When I "ls -l" on /dev/nul, I get the following:

crw-r--r-- 1 root root 1, 3 Jan 16 23:24 null

It looks like I definitely don't have write support, if I understand that output correctly.  Here is my entire config file for this container:

---------------------------------------------------------------------

lxc.utsname = PE1800-db0
lxc.tty = 4
lxc.pts = 1024
lxc.rootfs = /lxc/PE1800-db0/rootfs
lxc.cgroup.devices.deny = a
lxc.network.type = veth
lxc.network.link = br0
#lxc.network.veth.pair = 
lxc.network.ipv4 = 192.168.80.4
# /dev/null and zero
lxc.cgroup.devices.allow = c 1:3 rwm
lxc.cgroup.devices.allow = c 1:5 rwm
# consoles
lxc.cgroup.devices.allow = c 5:1 rwm
lxc.cgroup.devices.allow = c 5:0 rwm
lxc.cgroup.devices.allow = c 4:0 rwm
lxc.cgroup.devices.allow = c 4:1 rwm
# /dev/{,u}random
lxc.cgroup.devices.allow = c 1:9 rwm
lxc.cgroup.devices.allow = c 1:8 rwm
lxc.cgroup.devices.allow = c 136:* rwm
lxc.cgroup.devices.allow = c 5:2 rwm
# rtc
lxc.cgroup.devices.allow = c 254:0 rwm

# mounts point
lxc.mount.entry=proc /lxc/PE1800-db0//rootfs/proc proc nodev,noexec,nosuid 0 0
lxc.mount.entry=sysfs /lxc/PE1800-db0//rootfs/sys sysfs defaults  0 0

----------------------------------------------

I still get exactly the same output when running "/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data":

sh: cannot create /dev/null: Permission denied
fgets failure: Success
The program "postgres" is needed by initdb but was not found in the
same directory as "/usr/local/pgsql/bin/initdb".
Check your installation.


Anyone?

>
> ----- Original Message -----
> From: "Guido Jäkel" <G.Jaekel at dnb.de>
> To: "Patrick Kevin McCaffrey" <pkm at uwm.edu>, "lxc-users"  
> <lxc-users at lists.sourceforge.net>
> Sent: Tuesday, December 20, 2011 2:06:49 AM
> Subject: Re: [Lxc-users] PostgreSQL - "sh: cannot create /dev/null:  
> Permission denied" - LXC Issue?
>
> Dear Patrick,
>
> As I understand /dev/null isn't writable in your container. That's  
> definitely a wrong configuration.
>
> Please check, that there is a real device node for  /dev/null  (and  
> others) in your container and you have it (and others) in the lxc  
> device access control list (lxc.cgroup.devices.allow = c 1:3 rw)
>
> Note that -- depending on the linux flavor in your LXC container --  
> you might have to populate /dev by your own, because it's not  
> reasonable to run udev or something like this inside a container.
>
> Greetings
>
> Guido
>
> ------------------------------------------------------------------------------
> Keep Your Developer Skills Current with LearnDevNow!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-d2d
> _______________________________________________
> Lxc-users mailing list
> Lxc-users at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-users
>





More information about the lxc-users mailing list