Правильный и красивый способ добавлять модули ядра в автозагрузку в CentOS 5.X
Наткнулся на блог с красивым и правильным методом добавления модулей в автозагрузку centos 5.x.
Все уже есть в самой системе и, как всегда, не нужно изобретать велосипед =) В файле /etc/rc.sysinit есть вот такая конструкция:
# Load other user-defined modules for file in /etc/sysconfig/modules/*.modules ; do [ -x $file ] && $file done
Т.е. для добавления модуля достаточно создать файл some_name.modules в каталоге /etc/sysconfig/modules/, внутри которого будет команда на его загрузку. Что-то такое:
# cat /etc/sysconfig/modules/some_name.modules modprobe some_module
Попробуем автоматизировать процесс добавления/удаление/просмотра модулей, для этого пишем скрипт:
#!/bin/sh
check_action ()
{
if [ $ACTION != "list" ] && [ $ACTION != "add" ] && [ $ACTION != "del" ]; then
show_help
exit 1
fi
}
show_help ()
{
echo Usage: `basename $0` ACTION [ MODULE_NAME ]
echo ACTION - list\|add\|del
echo MODULE_NAME - module name for add\|del ACTION
}
make_action ()
{
case $ACTION in
"list")
for i in `find $WORKDIR -type f -name "*.modules"`; do
module=`echo $i|sed 's/\.modules//'`
echo `basename $module`
done
;;
"add")
echo "modprobe $MODULE_NAME" > $WORKDIR/$MODULE_NAME.modules
chmod 750 $WORKDIR/$MODULE_NAME.modules
;;
"del")
rm -f $WORKDIR/$MODULE_NAME.modules
;;
esac
}
ACTION="$1"
MODULE_NAME="$2"
WORKDIR="/etc/sysconfig/modules/"
: ${ACTION:="list"}
check_action
make_action
|
|
Метки
allied telesis
asterisk
ccna
centos
cisco
daylight saving
dba
debug
disk
env
environment
epoch
freebsd
hardware
ipset
iptables
linux
mysql
nagios
network
nrpe
perl
pnp4nagios
portages gentoo portageq
process
programming
sata
scripting
security
sh
shell
ssh
subversion
svn
switch
timezone
tips
unix
voip
vpn
yum
Книги