Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # Copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
- # Copyright © 2005-2008 Martin F. Krafft <madduck@debian.org>
- # Distributable under the terms of the GNU GPL version 2.
- #
- . /usr/share/debconf/confmodule
- # See #369953 for ordering
- set -eu
- case "${1:-}" in
- configure|reconfigure)
- if [ ! -f /proc/mdstat ] && [ -x $(command -v modprobe 2>/dev/null) ]; then
- modprobe md >/dev/null 2>&1 || :
- fi
- if [ ! -f /proc/mdstat ]; then
- echo 'W: mdadm: failed to load MD subsystem.' >&2
- fi
- MAKEDEV=/dev/MAKEDEV
- if [ ! -e /dev/md15 ] \
- && [ ! -e /dev/.static/dev/md15 ] \
- && [ ! -e /dev/.devfsd ] \
- && [ -x $MAKEDEV ]; then
- echo -n 'Generating array device nodes... ' >&2
- cd /dev
- if $MAKEDEV md >&2 >/dev/null; then
- echo 'done.' >&2
- else
- echo 'failed.' >&2
- fi
- fi
- DEBIANCONFIG=/etc/default/mdadm
- CONFIG=/etc/mdadm/mdadm.conf
- ALTCONFIG=/etc/mdadm.conf
- MDADM=/sbin/mdadm
- if [ -z "${2:-}" ] && [ -s /etc/mdctl/mdctl.conf ] \
- && [ ! -f /etc/mdadm/mdadm.conf ]; then
- cp -a /etc/mdctl/mdctl.conf /etc/mdadm/mdadm.conf
- fi
- # load current settings, most of which will be overwritten.
- [ -f $DEBIANCONFIG ] && . $DEBIANCONFIG
- db_get mdadm/mail_to
- MAILADDR="${RET:-root}"
- [ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG
- if [ ! -f $CONFIG ]; then
- echo -n 'Generating mdadm.conf... ' >&2
- # pass the MAILADDR variable into the script
- MDADM_MAILADDR__="$MAILADDR"; export MDADM_MAILADDR__
- if /usr/share/mdadm/mkconf generate $CONFIG 2>/dev/null; then
- echo done. >&2
- else
- echo "done (failed to scan arrays; /proc probably not mounted)." >&2
- fi
- elif dpkg --compare-versions "${2:-2.5.3-1}" le 2.5.3-1; then
- # we're upgrading from before 2.5.3-1 and there's apparently already
- # a configuration file which we cannot verify. We'll use the sentinel
- # during initramfs creation.
- md5sum $CONFIG > /var/lib/mdadm/CONF-UNCHECKED
- fi
- if [ -w $CONFIG ] && [ -z "${MDADM_MAILADDR__:-}" ]; then
- # if the configuration is writeable but has not been written just
- # before, then edit it to reflect the MAILADDR preference
- if grep -q '^MAILADDR' $CONFIG; then
- sed -i -e "s/^MAILADDR.*/MAILADDR $MAILADDR/" $CONFIG
- else
- echo "MAILADDR $MAILADDR" >> $CONFIG
- fi
- fi
- unset MDADM_MAILADDR__
- db_get mdadm/autocheck
- AUTOCHECK="${RET:-true}"
- db_get mdadm/start_daemon
- START_DAEMON="${RET:-true}"
- #db_get mdadm/daemon_options
- [ -n "${DAEMON_OPTIONS:-}" ] || DAEMON_OPTIONS='--syslog'
- cat <<_eof > $DEBIANCONFIG
- # mdadm Debian configuration
- #
- # You can run 'dpkg-reconfigure mdadm' to modify the values in this file, if
- # you want. You can also change the values here and changes will be preserved.
- # Do note that only the values are preserved; the rest of the file is
- # rewritten.
- #
- # AUTOCHECK:
- # should mdadm run periodic redundancy checks over your arrays? See
- # /etc/cron.d/mdadm.
- AUTOCHECK=$AUTOCHECK
- # START_DAEMON:
- # should mdadm start the MD monitoring daemon during boot?
- START_DAEMON=$START_DAEMON
- # DAEMON_OPTIONS:
- # additional options to pass to the daemon.
- DAEMON_OPTIONS="$DAEMON_OPTIONS"
- # VERBOSE:
- # if this variable is set to true, mdadm will be a little more verbose e.g.
- # when creating the initramfs.
- VERBOSE=${VERBOSE:-false}
- # MAIL_TO:
- # this variable is now managed in /etc/mdadm/mdadm.conf (MAILADDR).
- # Please see mdadm.conf(5).
- _eof
- db_stop
- # try to undo udev rules (installed by 2.5.2-10, see 2.5.3.git200608202239-1
- # changelog). Do this before update-initramfs, which copies udev into
- # initrd.
- V=2.5.3.git200608202239-1~
- if [ "${1:-}" = "configure" ] && [ -n "${2:-}" ] \
- && dpkg --compare-versions $2 ge 2.5.2-10 \
- && dpkg --compare-versions $2 lt $V; then
- # first, disable the rules
- rm -f /etc/udev/rules.d/z60_mdadm.rules
- if echo "0843432c9c01ed95c42481eee0cf6fbf /etc/udev/mdadm.rules" \
- | md5sum -c >/dev/null; then
- # no changes by user, so remove
- rm -f /etc/udev/mdadm.rules
- else
- echo "W: mdadm: I tried to remove /etc/udev/mdadm.rules (see changelog)," >&2
- echo "W: mdadm: but you have modified it, so I won't touch it. Please" >&2
- echo "W: mdadm: remove the file at your leisure." >&2
- fi
- fi
- # Remove old init script
- update-rc.d mdadm-raid remove
- update-initramfs -u
- if type update-grub2 1>/dev/null 2>/dev/null; then
- update-grub || true
- fi
- ;;
- esac
- # See #369953
- set +u
- # Automatically added by dh_installinit
- if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
- if [ -x "/etc/init.d/mdadm" ]; then
- update-rc.d mdadm defaults 25 >/dev/null
- fi
- if [ -x "/etc/init.d/mdadm" ] || [ -e "/etc/init/mdadm.conf" ]; then
- invoke-rc.d mdadm start || exit $?
- fi
- fi
- # End automatically added section
- # Automatically added by dh_installinit
- if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
- if [ -x "/etc/init.d/mdadm-waitidle" ]; then
- update-rc.d mdadm-waitidle stop 98 0 6 . >/dev/null || exit $?
- fi
- fi
- # End automatically added section
- # Automatically added by dh_installdeb
- dpkg-maintscript-helper rm_conffile /etc/default/grub.d/dmraid2mdadm.cfg 3.3-2ubuntu5~ -- "$@"
- # End automatically added section
Add Comment
Please, Sign In to add comment