Skip to content


Порядок настройки свежеустановленной Linux

Здесь описан порядок начальной настройки свежеустановленной операционной системы (на примере RedHat-подобных дистрибутивов, таких как Fedora, CentOS и т.п).

  1. Проверить, что рутовый пароль достаточно сложный, если нет – сделать его таковым.
  2. Настроить сетевые интерфейсы, шлюз, DNS-сервера.
  3. Отключить ipv6, если не планируется его использовать. Для этого в директории /etc/modprobe.d создать файл disableipv6.conf следующего содержания:
    1. install ipv6 /bin/true
  4. Включить magic key чтобы можно было с клавиатуры делать Sync (Alt-PrintScreen-S) и перегружать машину (Alt-PrintScreen-B) в случае проблем. Для этого в файле /etc/sysctl.conf проверяем наличие строки
    kernel.sysrq = 1
    и говорим

    1. sysctl -w kernel.sysrq=1

    чтобы эта фича заработала прямо сейчас.

  5. Сделать конфиг firewall-а, добавить в автозагрузку новый сервис (если он называется не iptables, в этом случае нужно также выключить сервис iptables). Важно: если в конфиге firewall-а используются конструкции, работа которых зависит от текущей конфигурации сетевых интерфейсов (например, анализируется вывод команды "/sbin/ip addr show"), то нужно проверить, что сервис firewall-а запускается после сервиса network. Иначе возможны проблемы.
  6. Выключить лишние сервисы. Для centos-сервера лишними, на мой взгляд, являются нижеперечисленные:
    1. for serv in anacron atd autofs bluetooth cups firstboot gpm ip6tables isdn mcstrans mdmonitor netfs nfslock pcscd portmap readahead_early readahead_later restorecond rpcgssd rpcidmapd sendmail yum-updatesd hidd lvm2-monitor ; do chkconfig $serv off ; done
  7. Выключить backresolv-ы в sshd. Для этого проверяем, что в файле
    /etc/ssh/sshd_config есть строка
    UseDNS no
  8. Удалить лишние пакеты. Для CentOS 5.3 на сервере я считаю лишними следующие:
    avahi bluez-gnome bluez-utils bluez-libs cadaver cairo cups GConf2 libnotify gtk2 libwnk pango notification-daemon paps redhat-lsb cups-libs dhcpv6-client irda-utils isdn4k-utils iptables-ipv6 firstboot-tui system-config-securitylevel-tui nfs-utils-lib nfs-utils pcmciautils portmap ypbind yp-tools wireless-tools NetworkManager rhpl wpa_supplicant system-config-network-tui sendmail ORBit2 anacron aspell ccid fbset hesiod ifd-egate dhclient dhcdbd libX11 libXext libXxf86vm mesa-libGL startup-notification.i386 nss_ldap nscd oddjob-libs oddjob rng-utils rp-pppoe wvdial.
  9. Поставить пакет yum-priorities чтобы можно было задавать приоритеты репозиториев yum-а.
  10. Поставить пакет yum-utils, который содержит такие полезные утилиты как yumdownloader (скачивание пакетов с зависимостями без установки) и package-cleanup.
  11. Найти и удалить оставшиеся неиспользуемые/ненужные пакеты с помощью команд:
    1. /usr/bin/package-cleanup --orphans
    2. /usr/bin/package-cleanup --problems
    3. /usr/bin/package-cleanup --leaves
    4. /usr/bin/package-cleanup --dupes
  12. Удалить sendmail, установить exim, поправить конфиг, добавить в автозагрузку.
  13. Установить ntpd для автоматической синхронизации времени, поправить конфиг, добавить в автозагрузку.
  14. Опционально: выключить selinux, для чего в файле /etc/selinux/config поменять строку "SELINUX=enforcing" на "SELINUX=disabled". Это может потребоваться если используется система виртализации OpenVZ -- там даже в официальной доке пишут, что SELINUX нужно обязательно отключать. Также может быть полезно при необъяснимых ошибках в работе сетевых сервисов (в моей практике встречались случаи, когда включённый SELINUX мешал работе vsftpd, named). Но более разумно всё-таки SELINUX не отключать, а лучше правильно его настроить (читая как минимум /var/log/audit, вывод 'ls -Z' и маны по командам chcon, runcon)
  15. Проверить, что часовой пояс установлен правильно. Для Киева поменять его можно так:
    1. ln -sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime
    2. vim /etc/sysconfig/clock
  16. Добавить дополнительные репозитории, такие как rpmforge (в котором есть много всяких полезностей). Для этого создаем файл /etc/yum.repos.d/rpmforge.repo со следующим содержимым (для CentOS):
    1. # Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
    2. # URL: http://rpmforge.net/
    3. [rpmforge]
    4. name = Red Hat Enterprise $releasever - RPMforge.net - dag
    5. #baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
    6. mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
    7. #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
    8. enabled = 1
    9. protect = 0
    10. gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
    11. gpgcheck = 1
    12. priority = 10

    Для основных репозиториев значение параметра priority лучше ставить меньшее, чем для сторонних. Это повысит приоритет основных репозиториев.

    Update: идеологически более правильным методом является установка пакета rpmforge-release – тогда и repo-файл сам создастся и публичные ключи в директории /etc/pki/rpm-gpg появятся. Подробнее тут: https://rpmrepo.org/RPMforge/Using.

    Также иногда полезно включить репозиторий EPEL.

  17. Установить необходимые сервисы (httpd, samba и т.д.) и настроить их.
  18. Обновить систему
    yum update
  19. Включить запись даты и времени в историю команд bash:
    1. export HISTTIMEFORMAT="%Y%m%d %H:%M:%S " >> ~/.bashrc
  20. Перегрузиться, проверить что все в порядке.
  21. Построить систему резервного копирования, например через fsbackup. А вот здесь можно скачать немного изменённую версию, в которой весь русский текст в комментариях в кодировке UTF-8 (в оригинальной - KOI8-R). Также можно воспользоваться rpm-пакетом, который я наконец-то собрал (давно собирался, да всё руки не доходили), взять можно тут: /soft/repo/fsbackup.rpm

Подробное пошаговое руководство для CentOS 5 со скриншотами:
http://www.howtoforge.com/installation-guide-centos5.1-desktop

После регистрации, игра онлайн рулетка с дилерами будет доступна всем. . ламинат где купить Киев .

Размещено в категории *nix, Howto. Теги: , , , , , .

Комментариев: 12

Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.

  1. Andron said

    Говорят, сервисы readahead_early и readahead_later ускоряют процесс загрузки путём упреждающего чтения файлов с диска, которые нужны для запуска сервисов. Я проверял, в работающей системе ps не показывает readahead в списке процессов, поэтому целесообразность отключения этих двух сервисов мне кажется сомнительной. Хотя, с другой стороны, я и не уверен что они реально что-то ускоряют. Надо будет на досуге потестить с секундомером...

  2. Колян said

    Мне кажется отключение IPV6 - это в наше время не совсем разумно. Лучше правильно настроить firewall (через ip6tables). Очень скоро он будет повсеместно использоваться и тогда придётся везде назад включать...

  3. anonymous said

    >> Выключить selinux
    Дурак чтоли

  4. Admin said

    Нед.

  5. DMB said

    Колян:
    then it's better not to disable anything, in case it could be usefull in a couple of years...

  6. Юрий said

    Вот это круто!
    Особенно список ненужного софта, давно искал что-бы лишнего грохнуть. Хотя я бы dhclient все-же оставил.
    И относительно 3-его пункта еще: ipv6 можно отключить, добавив в /etc/sysconfig/network строку
    NETWORKING_IPV6=no

  7. Admin said

    Что оставить, а что удалить, это каждый решает сам. Мне лично dhclient на серваках со статическими адресами в датацентрах как-то совсем не нужен.

    Не знаю как на других дистрах, а в CentOS, когда я последний раз пробовал, одного только "NETWORKING_IPV6=no" было недостаточно - ipv6 адреса всё равно присутствовали на сетевых интерфейсах.

  8. Alex said

    Графическая оболочка при этом не будет работать?

  9. Admin said

    Alex, если эта самая графическая оболочка была установлена, то будет. Разве что 8-м пункте пакет libX11 и прочие связанные с X-ми в этом случае, пожалуй, удалять не стоит.

  10. botnet said

    selinux выключать не стоит

  11. Подробное пошаговое руководство для CentOS 6 со скриншотами: http://www.howtoforge.com/perfect-server-centos-6.5-apache2-mysql-php-pureftpd-postfix-dovecot-and-ispconfig3

  12. Статья про различные варианты black-list-инга модулей ядра
    https://wiki.archlinux.org/index.php/Kernel_modules

    (вариант в пункте 3 статьи не всегда сработает).

Some HTML is OK

(required)

(required, but never shared)

, или ответить через trackback.

Страница 1 из 11