Безопасность и оптимизация Linux.Редакция для Red Hat

Удаление программ, файлов и строк связанных с модулями.


Когда вы инсталлируете Linux в первый раз (как это делали мы) у вас устанавливается модульное ядро. Это означает, что каждый элемент или функция, которые нам нужны, существует в виде модуля и контролируется демоном ядра, который называется kmod. Он автоматически загружает модули и функции в память, когда это нужно, и выгружает их, когда необходимости в них отпадает.
Шаг 1.

kmod и другие программы, управляющие модулями, включенные в RPM пакет “modutils” используют файл “conf.modules”, который находится в каталоге “/etc”. В этом файле определяется, например, какие Ethernet карты вы имеете и какие параметры настройки она использует. Так как мы не используем модулей в нашем новом ядре, мы удаляем файл “conf.modules” и полностью деинсталлируем пакет “modutils”.
[root@deep /]# rm -f /etc/conf.modules


[root@deep /]# rpm -e --nodeps modutils

Шаг 2.

Теперь необходимо редактировать файл “rc.sysinit” и закомментировать все строки, в которых упоминается “depmod -a”, вставив в их начало символ “#”. Это нужно потому, что при загрузке система читает скрипт “rc.sysinit” для поиска модульных зависимостей.

Под Red Hat Linux 6.1

Комментируем строку 260 в rc.sysinit file (vi +260 /etc/rc.d/rc.sysinit):
if [ -x /sbin/depmod -a -n "$USEMODULES" ]; then

должна читаться:
#if [ -x /sbin/depmod -a -n "$USEMODULES" ]; then

Комментируем строки с 272 по 277 в rc.sysinit file (vi +272 /etc/rc.d/rc.sysinit):
if [ -L /lib/modules/default ]; then


INITLOG_ARGS= action "Finding module dependencies" depmod -a default


else


INITLOG_ARGS= action "Finding module dependencies" depmod -a


fi


fi



должны читаться:
# if [ -L /lib/modules/default ]; then


# INITLOG_ARGS= action "Finding module dependencies" depmod -a default


# else


# INITLOG_ARGS= action "Finding module dependencies" depmod -a


# fi


#fi

ЗАМЕЧАНИЕ: Процедура описанная выше связана с пакетом initscripts-4_70-1 package дистрибутива Red Hat Linux 6.1.

Под Red Hat Linux 6.2


Комментируем строку 243 в rc.sysinit file (vi +243 /etc/rc.d/rc.sysinit):
if [ -x /sbin/depmod -a -n "$USEMODULES" ]; then

должна читаться:
#if [ -x /sbin/depmod -a -n "$USEMODULES" ]; then

Комментируем строки с 255 по 260 в rc.sysinit file (vi +255 /etc/rc.d/rc.sysinit):
if [ -L /lib/modules/default ]; then

INITLOG_ARGS= action "Finding module dependencies" depmod -a default

else

INITLOG_ARGS= action "Finding module dependencies" depmod -a

fi

fi

должны читаться:
# if [ -L /lib/modules/default ]; then

# INITLOG_ARGS= action "Finding module dependencies" depmod -a default

# else

# INITLOG_ARGS= action "Finding module dependencies" depmod -a

# fi

#fi

Замечание. Еще раз повторим, вся эта часть (“Удаление программ, файлов и строк связанных с модулями.”) требуется только если вы ответили No на вопрос “Enable loadable module support (CONFIG_MODULES)” при конфигурировании ядра.
Шаг 3.

Когда система перезагрузится и вы подключитесь к серверу, проверьте версию используемого ядра:
[root@deep /]# uname -a

Linux deep.openna.com 2.2.14 #1 Mon Jan 10 10:40:35 EDT 2000 i686 unknown

[root@deep]#

Поздравляем.


Содержание раздела