1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
#!/bin/sh
set -e
install_local_dir() {
if [ ! -d $1 ]; then
mkdir -p $1
fi
chown root:staff $1 2> /dev/null || true
chmod 2775 $1 2> /dev/null || true
}
install_from_default() {
if [ ! -f $2 ]; then
cp -p $1 $2
fi
}
install_directory() {
if [ ! -d /$1 ]; then
mkdir /$1
chown root:$3 /$1
chmod $2 /$1
fi
}
preserve_directory() {
if [ -f /etc/base-files.create-$1 ]; then
install_directory $1 755 root
rm -f /etc/base-files.create-$1
fi
}
if [ "$1" = "configure" ] && [ "$2" = "" ]; then
install_from_default /usr/share/base-files/nsswitch.conf /etc/nsswitch.conf
install_from_default /usr/share/base-files/dot.profile /root/.profile
install_from_default /usr/share/base-files/dot.bashrc /root/.bashrc
install_from_default /usr/share/base-files/profile /etc/profile
install_from_default /usr/share/base-files/motd /etc/motd
install_directory srv 755 root
install_directory opt 755 root
install_directory etc/opt 755 root
install_directory var/opt 755 root
install_directory media 755 root
install_directory initrd 755 root
install_directory var/mail 2775 mail
if [ ! -L /var/spool/mail ]; then
ln -s ../mail /var/spool/mail
fi
install_local_dir /usr/local
install_local_dir /usr/local/share
install_local_dir /usr/local/share/man
install_local_dir /usr/local/bin
install_local_dir /usr/local/games
install_local_dir /usr/local/lib
install_local_dir /usr/local/include
install_local_dir /usr/local/sbin
install_local_dir /usr/local/src
install_local_dir /usr/local/etc
ln -sf share/man /usr/local/man
fi
if [ "$1" = "configure" ] && [ "$2" != "" ]; then
if [ ! -d /var/spool/mail ] && [ ! -L /var/spool/mail ]; then
if [ -f /etc/base-files.mailsymlink ]; then
ln -sf `cat /etc/base-files.mailsymlink` /var/spool/mail
else
install_directory var/spool/mail 2775 mail
fi
fi
if [ ! -L /var/mail ] && [ ! -d /var/mail ]; then
ln -sf spool/mail /var/mail
fi
fi
preserve_directory floppy
preserve_directory cdrom
preserve_directory initrd
if [ ! -f /etc/adjtime ]; then
echo "0.000000 1162000000 0.000000" > /etc/adjtime
echo "1162000000" >> /etc/adjtime
echo "UTC" >> /etc/adjtime
chmod 644 /etc/adjtime
fi
if [ ! -f /var/run/utmp ]; then
echo -n>/var/run/utmp
fi
if [ ! -f /var/log/wtmp ]; then
echo -n>/var/log/wtmp
fi
if [ ! -f /var/log/btmp ]; then
echo -n>/var/log/btmp
fi
if [ ! -f /var/log/lastlog ]; then
echo -n>/var/log/lastlog
fi
chown root:utmp /var/run/utmp /var/log/wtmp /var/log/btmp /var/log/lastlog
chmod 664 /var/run/utmp /var/log/wtmp /var/log/btmp /var/log/lastlog
if [ ! -d /var/lib/dpkg ]; then
mkdir -m 755 -p /var/lib/dpkg
chown root:root /var/lib/dpkg
fi
if [ ! -f /var/lib/dpkg/status ]; then
echo > /var/lib/dpkg/status
chmod 644 /var/lib/dpkg/status
chown root:root /var/lib/dpkg/status
fi
if [ ! -f /usr/info/dir ] && [ ! -f /usr/share/info/dir ]; then
install_from_default /usr/share/base-files/info.dir /usr/share/info/dir
chmod 644 /usr/share/info/dir
chown root:root /usr/share/info/dir
fi
rm -f /etc/base-files.mailsymlink
if [ "$1" = "configure" ] && [ "$2" != "" ]; then
if [ -f /etc/motd ]; then
oldmd=`awk 'NR > 2' /etc/motd | md5sum | awk '{print $1}'`
newmd=`awk 'NR > 2' /usr/share/base-files/motd | md5sum | awk '{print $1}'`
if [ "$oldmd" != "$newmd" ]; then
if grep -q "$oldmd" /usr/share/base-files/motd.md5sums; then
awk 'NR <= 2' /etc/motd > /etc/motd.new
awk 'NR > 2' /usr/share/base-files/motd >> /etc/motd.new
mv /etc/motd /etc/motd.old
mv /etc/motd.new /etc/motd
fi
fi
fi
fi
if [ -f /var/lib/dpkg/info/base.list ]; then
:> /var/lib/dpkg/info/base.list
rm -f /var/lib/dpkg/info/base.conffiles
echo
echo "Note: You have the old \`base' package installed"
echo "It is very important that you do not try to remove this package"
echo "using dpkg. Please read /usr/share/doc/base-files/README.base to"
echo "get rid of the \`base' package completely in a safe way."
echo
echo -n "Press <Return> to continue "
read dummy
fi
|