Subversion Repositories livecd

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 beyerle@PS 1
#!/bin/bash
2
#
3
###############################################################
4
#
5
# Restore the system to a usable and bootable installation
6
#
7
# Urs Beyerle, PSI
8
#
9
###############################################################
10
 
11
# source livecd.conf
12
. livecd.conf
13
 
14
###############################################################
15
 
16
function usage() {
17
 
18
   ## Usage
19
   # ----------------------------------------------------------
20
 
21
   cat <<EOF
22
 
23
   Options:
24
 
25
    -h:       print this screen
26
    -psi:     customize for PSI Live CD
27
 
28
EOF
29
 
30
}
31
 
32
###############################################################
33
 
34
### read options from command-line
35
PSI=""
36
while [ $# -gt 0 ]; do
37
 
38
    case "$1" in
39
       -h)
40
            usage; exit;;
41
       -psi)
42
            PSI=true; shift; continue;;
43
       *)
44
            usage; exit;;
45
    esac
46
 
47
done
48
 
49
 
50
###############################################################
51
 
52
### check if I run inside my directory
53
if [ ! -x $( basename $0 ) ]; then
54
    echo "Please run $( basename $0 ) within its directory"
55
    exit 1
56
fi
57
 
58
LIVECD_DIR=$( pwd )
59
 
60
### restore /etc/rc.d/rc.sysinit
61
cp /etc/rc.d/rc.sysinit.ori /etc/rc.d/rc.sysinit
62
 
63
### enable ssh again
64
chkconfig sshd on 2>/dev/null
65
 
66
### create link to liblinuxlive
67
mkdir -p /livecd/live
68
rm -f /livecd/live/liblinuxlive
69
ln -s $LIVECD_DIR/linux-live.sl/initrd/liblinuxlive /livecd/live/liblinuxlive
70
 
71
### restore /etc/resolv.conf
72
mv -f /etc/resolv.conf.ori /etc/resolv.conf
73
 
74
### move /etc/yum.repos.d, it will interfere with our yum.conf.psi
75
if [ -d /etc/yum.repos.d ]; then
76
    rm -rf /etc/yum.repos.d.ori
77
    mv -f /etc/yum.repos.d /etc/yum.repos.d.ori
78
fi
79
 
80
### restore folders from /mini
81 beyerle@PS 81
echo "restore folders from /mini ..."
82
mv /mini/usr/share/doc/* /usr/share/doc/ 2>/dev/null
1 beyerle@PS 83
if [ -f /mini/usr/share/info/bash.info.gz ]; then
84
    ./mini-livecd.sh -restore
85
fi
80 beyerle@PS 86
echo "done."
81 beyerle@PS 87
echo
1 beyerle@PS 88
 
89
### restore cronjobs
90
mv /etc/cron_backup/sysstat /etc/cron.d/ 2>/dev/null
91
mv /etc/cron_backup/00-makewhatis.cron.weekly /etc/cron.weekly/00-makewhatis.cron 2>/dev/null
92
mv /etc/cron_backup/* /etc/cron.daily/
93
 
94
### set root password again
14 beyerle@PS 95
[ "$SET_ROOTPWD" = "yes" ] && passwd
108 beyerle@PS 96
if [ "$SET_ROOTPWD" != "yes" ]; then
97
    echo "Please note:"
98
    echo "If you are not building the LiveCD in chroot,"
99
    echo "root password is unset. Run passwd to set it again."
100
fi