Всего при этом устанавливается ~192 пакета, однако даже среди них не все являются необходимыми для работы сервера на котором не требуется наличие графической оболочки.
Вот список пакетов которые были удаелны (слева) и добавлены (справа) в процессе последующей настройки сервера:
atk bitstream-vera-fonts bzip2 cairo cups-libs dhcpv6-client ecryptfs-utils-75 fontconfig freetype gnu-efi gpg-pubkey-e8562897-459f07a4 gpm groff gtk2 hicolor-icon-theme iptables-ipv6 libjpeg-6b libpng libtiff libX11 libXau libXcursor libXdmcp libXext libXfixes libXft libXi libXinerama libXrandr libXrender lsof man pango rhpl trousers vsftpd wireless-tools-28 xorg-x11-filesystem
Вообще удивляет наличие таких пакетов как TrueType шрифты bitstream-vera-fonts, fontconfig и freetype, множество иксовых библиотек (все libX*, ), gtk2, иконок hicolor-icon-theme, wireless-tools-28 в минимальной установке сервера предназначенного исключительно для работы в текстовом режиме. Как и зачем они попадают в инсталляцию и что думают по этому поводу те, кто их прописывал для установки не понятно, как не понятно и дефолтное отсутствие man, хотя все пакеты исправно устанвливают свои ман-страницы. Наверное ни один нормальный человек не сможет на память пользоваться всеми нужными ключами команд, которые могут понадобиться во время настройки и работы.
Удалённые пакеты все вместе с друг-дружкой деинсталлируются без нарушения зависимостей, кроме пакета iptables-ipv6, который требуется для утилиты конфигурации system-config-securitylevel-tui (текстовый вариант гномовской панели управления system-config-securitylevel) для настройки selinux и фаервола.
system-config-securitylevel-tui обеспечивает настройку только базового функционала файрвола сохраняя свои данные в файле /etc/sysconfig/system-config-securitylevel) и перезаписывает вручную внесённые настройки iptables. Так что этой утилитой лучше либо не пользоваться совсем либо пользоваться только ей. Формальное отсутствие пакета из зависимости не как не сказывается на её работе, тем более что IPv6 в системе всё равно отключен.
Как отключить поддержку IPv6 сказано в вики CentOS FAQ:
http://wiki.centos.org/FAQ/CentOS5#head-47912ebdae3b5ac10ff76053ef057c366b421dc4
Сперва требуется Установить опцию "NETWORKING_IPV6=no" в /etc/sysconfig/network (по умолчанию в инсталляции это так и есть). Далее если сделать как сказано для 5.4 и прописать в /etc/modprobe.d/disable-ipv6 строчку "options ipv6 disable=1", то модуль ядра ipv6 всё-равно будет загружаться. Поэтому если в системе не устанавливается демон iSCSI-инициатора для которого он нужен, можно добавить также строчку "install ipv6 /bin/true" что предотвратит загрузку модуля ipv6, а также добавить сточку "install ip6_tables /bin/true" чтобы предотвратить загрузку этого модуля ядра в случае использования system-config-securitylevel-tui (он загружается этой утилитой при сохранении настроек).
Приведённый список был получен сравнением отсортированных данных из файла /root/install.log и вывода команды rpm -qa с помощью утилиты comm -3. Кандидаты на удаление выбирались по назначению (например, избавиться от ненужных пакетов поддержки IPv6), а также большинство из удаляемых пакетов было найдено при просмотре списка пакетов, деинсталляция которых не приводит к нарушению каких-либо зависимостей для других пакетов. Перечень таких пакетов теоретически доступных для безопасного удаления не приводящего к нарушению зависимостей можно получить по команде:
В общем случае посторение и просмотр этого списка требуется повторить пару раз т.к. после деинсталляции некоторых пакетов теоретически могут появиться новые доступные для удаления ненужные пакеты от которых ранее существовали зависимости.for p in $(rpm -qa); do [[ $(rpm -q --whatrequires "$p" ) == "no package"* ]] && echo "$p" >>no_package_requires; done
for p in $(rpm -qa | sed 's/-[0-9]\+.*$//'); do [[ $(rpm -q --whatrequires "$p" ) == "no package"* ]] && echo "$p" >>no_package_requires; done
No comments:
Post a Comment