Filesystem Hierarchy
no
no
20100326
20100812
mkdir -p /etc
touch /etc/{passwd,group}
groupadd -f -g 0 root
useradd -u 0 -g root -d /root -c root -s /bin/bash root
groupadd -f -g 1 bin
useradd -u 1 -g bin -d /bin -c bin -s /bin/sh bin
groupadd -f -g 2 daemon
useradd -u 2 -g daemon -d /usr/sbin -c daemon -s /bin/sh daemon
groupadd -f -g 35 lp
useradd -u 35 -g lp -c lp -s /bin/sh lp
groupadd -f -g 3 tty
groupadd -f -g 4 mail
groupadd -f -g 5 uucp
groupadd -f -g 6 audio
groupadd -f -g 17 disk
groupadd -f -g 23 network
groupadd -f -g 25 cdrom
groupadd -f -g 28 usb
groupadd -f -g 18 wheel
groupadd -f -g 22 video
groupadd -f -g 41 lock
groupadd -f -g 44 power
groupadd -f -g 48 input
groupadd -f -g 59 render
groupadd -f -g 100 users
if grep -q ^nogroup:x:65534: /etc/group ; then
groupdel -f nogroup
groupdel -f nobody || true
fi
groupadd -f -g 65534 nobody
useradd -u 65534 -g nobody -c nobody -s /bin/false nobody
touch /etc/ld.so.conf
sed -e '/^\/lib$/d' -e '/^\/usr\/lib$/d' -e '/^\/usr\/local\/lib$/d' /etc/ld.so.conf > /etc/ld.so.conf.tmp
echo "/usr/local/lib" > /etc/ld.so.conf
cat /etc/ld.so.conf.tmp >> /etc/ld.so.conf
rm -f /etc/ld.so.conf.tmp
mkdir -p /{boot,dev,etc,home,mnt,proc,root,run,sys,tmp,usr,var}
[ -e /bin ] || ln -Tsvf usr/bin /bin
[ -e /sbin ] || ln -Tsvf usr/bin /sbin
[ -e /lib ] || ln -Tsvf usr/lib /lib
mkdir -p /etc/skel
chmod 0750 /root
mkdir -p /usr/{bin,include,lib,local,share}
[ -e /usr/sbin ] || ln -Tsvf bin /usr/sbin
mkdir -p /usr/local/{bin,include,lib,share}
[ -e /usr/local/sbin ] || ln -Tsvf bin /usr/local/sbin
mkdir -p /usr/{,local/}share/{man,doc,info}
mkdir -p /usr/{,local/}share/man/man{1,2,3,4,5,6,7,8}
mkdir -p /var/{cache,lib,local,log,spool,tmp,mail}
[ ! -e /var/lock ] || [ -L /var/lock ] || grep -q /var/lock /proc/mounts || rm -rf /var/lock
[ -e /var/lock ] || ln -Tsvf /run/lock /var/lock
chmod 1777 /tmp /var/tmp
ln -svf bash /bin/sh
[ ! -e /var/run ] || [ -L /var/run ] || grep -q /var/run /proc/mounts || rm -rf /var/run
[ -e /var/run ] || ln -Tsvf /run /var/run
mkdir -p /etc/profile.d
[ -e /etc/hosts ] || echo "127.0.0.1 paldo.localdomain paldo localhost" > /etc/hosts
grep -q ::1 /etc/hosts || echo "::1 localhost" >> /etc/hosts
[ -e /etc/hostname ] || echo "paldo" > /etc/hostname
[ -e /etc/domainname ] || echo "localdomain" > /etc/domainname
[ -e /etc/networks ] || echo "loopback 127.0.0.1" > /etc/networks
[ -e /etc/resolv.conf ] || echo "nameserver 127.0.0.1" > /etc/resolv.conf
chmod 1777 /tmp /var/tmp
touch /var/log/{btmp,lastlog,wtmp}
chmod 644 /var/log/{btmp,lastlog,wtmp}
ln -svf /proc/self/mounts /etc/mtab
ln -svf /usr/lib/os-release /etc/os-release
[ -e /bin/bash ] || ln -sf /stage2/bin/bash /bin
[ -e /bin/pwd ] || ln -sf /stage2/bin/pwd /bin
[ -e /bin/cat ] || ln -sf /stage2/bin/cat /bin
[ -e /bin/m4 ] || ln -sf /stage2/bin/m4 /bin
[ -e /usr/bin/perl ] || ln -sf /stage2/bin/perl /usr/bin
[ -e /usr/lib/libupkg-watch.so ] || ln -sf /stage2/lib/libupkg-watch.so /usr/lib