Не сомневаюсь, что благородные доны — администраторы Linux — стремятся максимально минимизировать набор устанавливаемых на сервер пакетов. Это экономичнее, безопаснее и вселяет в администратора ощущение полного контроля и понимания происходящих процессов.
Поэтому типичный сценарий начальной установки операционной системы выглядит как выбор минимального варианта, а далее — наполнение необходимыми пакетами.
Однако, минимальный вариант, предлагаемый установщиком CentOS, оказывается не совсем минимальным. Есть способ уменьшить размер начальной установки системы стандартным документированным способом.
РЕКОМЕНДУЕМ:
Проверка скорости интернета в терминале Linux
Используя операционную систему CentOS в работе рано или поздно открываешь для себя автоматизацию ее установки при помощи механизма Kickstart. Я давно уже не инсталлирую CentOS стандартным установщиком. За время работы накопился достаточный арсенал настроечных kickstart файлов, позволяющих в автоматическом режиме разворачивать системы, в том числе на LVM, крипто разделах, с минимальным GUI и т.п.
И вот, в каком-то из релизов 7-ой версии RedHat добавила удивительную опцию в Kickstart, позволяющую еще более минимизировать образ устанавливаемой системы:
—nocore
Disables installation of the Core package group which is otherwise always installed by default. Disabling the Core package group should be only used for creating lightweight containers; installing a desktop or server system with —nocore will result in an unusable system.
RedHat честно предупреждает о возможных последствиях применения этой опции, однако годы использования мною в реальном окружении подтверждает ее стабильность и применимость.
Ниже представлен пример kickstart файла минимальнейшей установки. Отважные могут исключить из него yum. Будьте готовы к сюрпризам:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
install text url --url="http://server/centos/7/os/x86_64/" eula --agreed firstboot --disable keyboard --vckeymap=us --xlayouts='us' lang en_US.UTF-8 timezone Africa/Abidjan auth --enableshadow --passalgo=sha512 rootpw --plaintext *** ignoredisk --only-use=sda zerombr bootloader --location=mbr clearpart --all --initlabel part /boot/efi --fstype="efi" --size=100 --fsoptions="umask=0077,shortname=winnt" part / --fstype="ext4" --size=1 --grow network --bootproto=dhcp --hostname=localhost --onboot=on --activate #reboot poweroff %packages --nocore --nobase --excludedocs yum %end %addon com_redhat_kdump --disable %end |
Хочу заметить, что CentOS/RedHat лояльнее Fedora в интерпретации опции. Последняя настолько сильно выхолостит систему, что потребуется повторная установка с добавлением жизненно важных утилит.
РЕКОМЕНДУЕМ:
Выполнение действий при появлении файла в каталоге Linux
В качестве бонуса приведу «заклинание» по установке минимального графического окружения в CentOS/RedHat (7-ой версии):
1 2 3 |
yum -y groupinstall x11 yum -y install gnome-classic-session systemctl set-default graphical.target |
Как минимальный образ операционной системы, так и минимальное графическое окружение опробовано мною и работает на реальных системах.