[SCM] live-debconfig branch, debian-next, updated. debian/3.0_a1-1-7-gd5c6ae5
Daniel Baumann
daniel at debian.org
Sat Jul 21 15:57:31 UTC 2012
The following commit has been merged in the debian-next branch:
commit d5c6ae56ae388fb7d2882a0e3693bc057f4d8035
Author: Daniel Baumann <daniel at debian.org>
Date: Sat Jul 21 17:41:27 2012 +0200
Making sysvinit script more robust.
diff --git a/scripts/debconfig/0030-sysvinit b/scripts/debconfig/0030-sysvinit
index eeda749..47a5e21 100755
--- a/scripts/debconfig/0030-sysvinit
+++ b/scripts/debconfig/0030-sysvinit
@@ -16,10 +16,17 @@ Defaults ()
{
_LXC_ENABLE="${_LXC_ENABLE:-false}"
_LXC_CONSOLES="${_LXC_CONSOLES:-6}"
+ _LXC_DISABLE_SERVICES="${_LXC_DISABLE_SERVICES:-checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot}"
}
-#db_get live-debconfig/sysvinit/lxc-enable
-#_LXC_ENABLE="${RET}" # boolean
+db_get live-debconfig/sysvinit/lxc-enable
+_LXC_ENABLE="${RET}" # boolean
+
+db_get live-debconfig/sysvinit/lxc-consoles
+_LXC_CONSOLES="${RET}" # string (w/o empty)
+
+db_get live-debconfig/sysvinit/lxc-disable-services
+_LXC_DISABLE_SERVICES="${RET}" # string (w/o empty)
Defaults
@@ -29,6 +36,9 @@ db_fset live-debconfig/sysvinit/lxc-enable seen false
db_set live-debconfig/sysvinit/lxc-consoles "${_LXC_CONSOLES}"
db_fset live-debconfig/sysvinit/lxc-consoles seen false
+db_set live-debconfig/sysvinit/lxc-disable-services "${_LXC_DISABLE_SERVICES}"
+db_fset live-debconfig/sysvinit/lxc-disable-services seen false
+
db_settitle live-debconfig/title
db_input high live-debconfig/sysvinit/lxc-enable || true
db_go
@@ -42,9 +52,16 @@ case "${_LXC_ENABLE}" in
db_input high live-debconfig/sysvinit/lxc-consoles || true
db_go
+ db_settitle live-debconfig/title
+ db_input high live-debconfig/sysvinit/lxc-disable-services || true
+ db_go
+
db_get live-debconfig/sysvinit/lxc-consoles
_LXC_CONSOLES="${RET}" # string (w/o empty)
+ db_get live-debconfig/sysvinit/lxc-disable-services
+ _LXC_DISABLE_SERVICES="${RET}" # string (w/o empty)
+
Defaults
;;
@@ -57,21 +74,22 @@ db_stop
case "${_LXC_ENABLE}" in
true)
- # Updating file /etc/inittab..."
+ # Revert /etc/inittab
+ cp -p /usr/share/sysvinit/inittab /etc/inittab.tmp
# Disable sulogin
# ~~:S:wait:/sbin/sulogin
- sed -i -e 's|\(^[^#].*S:wait:.*$\)|#\1|' /etc/inittab
+ sed -i -e 's|\(^[^#].*S:wait:.*$\)|#\1|' /etc/inittab.tmp
# Disable ctrlaltdel
# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
- sed -i -e 's|\(^[^#].*:ctrlaltdel:.*$\)|#\1|' /etc/inittab
+ sed -i -e 's|\(^[^#].*:ctrlaltdel:.*$\)|#\1|' /etc/inittab.tmp
# Disable power
# pf::powerwait:/etc/init.d/powerfail start
# pn::powerfailnow:/etc/init.d/powerfail now
# po::powerokwait:/etc/init.d/powerfail stop
- sed -i -e 's|\(^[^#].*:power.*:.*$\)|#\1|' /etc/inittab
+ sed -i -e 's|\(^[^#].*:power.*:.*$\)|#\1|' /etc/inittab.tmp
# Disable normal getty
# 1:2345:respawn:/sbin/getty 38400 tty1
@@ -83,7 +101,7 @@ case "${_LXC_ENABLE}" in
# c1:23:respawn:/sbin/getty 38400 tty1
# c2:23:respawn:/sbin/getty 38400 tty2
# ...
- sed -i -e 's|\(^[^#,^c].*:respawn:/sbin/getty.*[^console,linux]$\)|#\1|' /etc/inittab
+ sed -i -e 's|\(^[^#,^c].*:respawn:/sbin/getty.*[^console,linux]$\)|#\1|' /etc/inittab.tmp
# Enable container getty
# 1:2345:respawn:/sbin/getty 38400 console
@@ -101,8 +119,7 @@ case "${_LXC_ENABLE}" in
_CONSOLES="${_CONSOLES}\n#-- live-debconfig end"
# Remove old entries
- sed -e '/#-- live-debconfig begin/,/#-- live-debconfig end/d' /etc/inittab > /etc/inittab.tmp
- mv -f /etc/inittab.tmp /etc/inittab
+ sed -e '/#-- live-debconfig begin/,/#-- live-debconfig end/d' /etc/inittab.tmp > /etc/inittab
# Add new entries
_CONSOLE="$(grep '#[0-9].*:respawn:/sbin/getty' /etc/inittab | tail -1)"
@@ -121,12 +138,13 @@ case "${_LXC_ENABLE}" in
done
# Remove pointless services in a container
- for _SERVICE in checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot
+ for _SERVICE in ${_LXC_DISABLE_SERVICES}
do
if [ -e "/etc/init.d/${_SERVICE}" ]
then
- update-rc.d -f ${_SERVICE} disable | \
- grep -v "update-rc.d: using dependency based boot sequencing" || true
+ update-rc.d -f ${_SERVICE} disable 2>&1 | \
+ grep -v "update-rc.d: using dependency based boot sequencing" | \
+ grep -v "update-rc.d: error: cannot find a LSB script for mountroot" || true
fi
done
;;
@@ -136,12 +154,13 @@ case "${_LXC_ENABLE}" in
cp -p /usr/share/sysvinit/inittab /etc/inittab
# Renable services
- for _SERVICE in checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot
+ for _SERVICE in ${_LXC_DISABLE_SERVICES}
do
if [ -e "/etc/init.d/${_SERVICE}" ]
then
update-rc.d -f ${_SERVICE} defaults | \
- grep -v "update-rc.d: using dependency based boot sequencing" || true
+ grep -v "update-rc.d: using dependency based boot sequencing" | \
+ grep -v "update-rc.d: error: cannot find a LSB script for mountroot" || true
fi
done
;;
diff --git a/scripts/debconfig/0030-sysvinit.templates b/scripts/debconfig/0030-sysvinit.templates
index 3f42141..5b89d23 100644
--- a/scripts/debconfig/0030-sysvinit.templates
+++ b/scripts/debconfig/0030-sysvinit.templates
@@ -17,3 +17,11 @@ Description: live-debconfig: How many consoles for LXC?
How many concurrent consoles should the current container provide?
.
This defaults to 6 and will result in six getty processes per container.
+
+Template: live-debconfig/sysvinit/lxc-disable-services
+Type: string
+Default: checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot
+Description: live-debconfig: Which services to disable for LXC?
+ Some services are not useful in containers and should be disabled.
+ .
+ This defaults to checkroot.sh hwclockfirst.sh hwclock.sh module-init-tools umountfs umountroot.
--
live-debconfig
More information about the debian-live-changes
mailing list