#!/bin/sh # Filename: blacklist / unblacklist # Purpose: blacklist module via module-init-tools # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. ################################################################################ PN="$(basename "$0")" [ -n "$MODPROBEFILE" ] || MODPROBEFILE=/etc/modprobe.d/grml.conf # shellcheck disable=SC1091 [ -r /etc/grml/lsb-functions ] && . /etc/grml/lsb-functions if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ] ; then echo "Usage: $PN " echo "$PN (un)blacklists module via $MODPROBEFILE" exit 1 fi if [ "$(id -ru)" != "0" ] ; then echo "Error: become root before starting $0" >& 2 exit 100 fi [ -f "$MODPROBEFILE" ] || touch "$MODPROBEFILE" if [ "$PN" = 'blacklist' ] ; then if grep -q "^blacklist $1\$" $MODPROBEFILE ; then eerror "Module $1 already on blacklist in $MODPROBEFILE" ; eend 1 else einfo "Adding module $1 to blacklist $MODPROBEFILE" if ! modinfo "${1}" >/dev/null 2>&1 ; then ewarn "Notice: module $1 does not seem to exist. Adding anyway." eend 0 fi echo "blacklist $1" >> $MODPROBEFILE echo "alias $1 off" >> $MODPROBEFILE ; eend $? fi fi if [ "$PN" = 'unblacklist' ] ; then if grep -q "^blacklist $1" $MODPROBEFILE ; then einfo "Removing module $1 from blacklist $MODPROBEFILE" sed -i "s/^blacklist.*$1$/# &/" $MODPROBEFILE sed -i "s/^alias.*$1 off$/# &/" $MODPROBEFILE ; eend $? else eerror "Module $1 not blacklisted in $MODPROBEFILE" ; eend 1 fi fi ## END OF FILE #################################################################