Базовая настройка клиента на CentOS

В данной статье будет описано, как настроить CentOS, таким образом чтобы корневая файловая система монтировалась в режиме только для чтения, а те каталоги изменение информации в которых, требуется для корректной работы системы будут находиться в памяти на RAM-дисках, а также некоторые другие настройки логичные для данной конфигурации.

Такая схема актуальна для систем, которые редко обновляются и от работы которых требуется повышенная надежность и отказоустойчивость, конечно корневая файловая система в режиме только для чтения – не панацея, но это все же шаг в сторону повышения устойчивости. Например, такая конфигурация актуальна для различных тонких клиентов, где помимо прочего требуется, чтобы пользователь мог нанести минимум вреда системе. Еще одиним фактором повышающим актуальность данной конфигурации является все большая рапространенность SSD дисков, на которых число циклов записи имеет обозримые пределы и продление срока жизни, которых мы получаем используя read-only корневую файловую систему без журналирования ext2.

Установка

Итак, первый шаг – это установка ОС из образа Minimal, она описываться здесь не будет. Надо отметить, что во время установки весь диск сдедует разбить на два раздела: кореневой и при необходимости, но не обязательно, можно добавить раздел подкачки. Я считаю что, если памяти достаточно, то лучше обойтись без раздела подкачки, но тут нужно быть осторожнее, потому что мне, например, приходилось сталкиваться с ситуацией, когда при установке ОС с 768Мб ОЗУ без раздела подкачки зависал сам установщик. Каталоги /var и /tmp должны располагаться в корневом разделе, чтобы потом корректно прошел переход к корневой ФС в режиме, только для чтения.

Настройка сети

Далее следует настроить сеть, если адрес должен назначиться статически, то можно записать следующую конфиграцию в файл /etc/sysconfig/network-scripts/ifcfg-eth0:

NM_CONTROLLED=»no»
ONBOOT=»yes»
BOOTPROTO=none
IPADDR=XXX.XXX.XXX.XXX
NETMASK=XXX.XXX.XXX.XXX
IPV6INIT=no

Маршрут по умолчанию в /etc/sysconfig/network:

GATEWAY=XXX.XXX.XXX.XXX

DNS-сервер в /etc/resolv.conf:

nameserver XXX.XXX.XXX.XXX

При небходимости также стоит обновить файл /etc/hosts.

Обновление

Следующий шаг, также опционален – обновление установленной системы:

# yum update && yum upgrade

Отключение IPv6

При желании отключаем IPV6, например так:

/etc/sysconfig/network
NETWORKING_IPV6=no

Cоздать файл /etc/modprobe.d/ipv6off.conf:

alias net-pf-10 off
alias ipv6 off

Или так:

# echo «net.ipv6.conf.default.disable_ipv6 = 1″ >> /etc/sysctl.conf

Также отлючим не нужный теперь сервис iptables для IPv6:

# service ip6tables stop
# chkconfig ip6tables off

После перезгрузки сервисы IPv6 будут отключены.

Установка ПО

На данном этапе, пока мы еще не перемонтировали корневую файловую систему в read-only, стоит установить необходимое ПО, в моем случае нужен X-server и VNC-клиент. Задачей тонкого клиента как раз и будет только отображение информации с удаленного серевера. Плюс я устанавливаю небольшое количество дополнительного ПО, которое может понадобиться для адиминистративных задач. Далее добавляем дополнительный репозиторий RmpForge и устанавливаем ПО:

# wget http://pkgs.repoforge.org/rpmforge-release/\
rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# rpm —import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# rpm -K rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# rpm -i rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
# yum install xorg-x11-server-Xorg artwiz-aleczapka-fonts \
imlib2 libXinerama pyxdg fluxbox

Корневая ФС только для чтения

Теперь сделаем так, чтобы файловая система монтировалась в режиме только для чтения. В CentOS за нас уже почти все сделано, поэтому нам нужно только в файле /etc/sysconfig/readonly-root устанавливить переменные READONLY и TEMPORARY_STATE в значение “yes”. А из файла /etc/fstab убирать строку, в которой монтируется devpts. Затем перезагружаемся и проверяем все ли корректно работает.

Вернуться в режим чтения-записи можно командой:

mount -n -o rw,remount /

Заключение

Безусловно, здесь приведено базовое описание, далее в зависимости от конкретной ситуации можно доустановить или удалить пакеты, удалить ненужные модули ядра, настроить его параметры и др.

Источник статьи: blog.iv-t.ru/posts/1183


Понравилась статья? Поделись с остальными.

Комментарии закрыты.