Categories: CentOSlinux

Установка и базовая настройка CentOS 8

В этой статье мы рассмотрим чистую установку с нуля и в базовую настройку сервера CentOS 8 в минимальной конфигурации.

Что нового в CentOS 8?

24 сентября 2019 года, вышел релиз 8-ой версии CentOS . CentOS — дистрибутив Linux, основанный на коммерческом Red Hat Enterprise, компании Red Hat и совместимый с ним.

Рассмотрим наиболее крупные изменения в релизе CentOS 8:

  • Используется ядро Linux kernel 4.18.
  • Переход с пакетного менеджера yum на dnf . В данный момент yum существует как алиас к dnf .
  • Выполнено разделение основного репозитория на 2 — это BaseOS и AppStream . Сделано это для того, чтобы у пользователя появилась возможность устанавливать разные версии пакетов на сервер. BaseOS работает как и раньше.
  • Обновилось все ПО, в том числе и ядро. В базовом репозитории теперь устанавливается php версии 7.2 (наконец-то).
  • Замена iptables на nftables . Лично я пока еще со вторым не работал напрямую, поэтому не могу сказать, хорошо это или плохо. Единственный момент, если нужно будет переносить какие-то проекты на новую ОС, придется разбираться с правилами, так как есть сервера с чистым iptables .
  • network-skripts не используются по умолчанию для настройки сети, теперь управления сетью возложено на Network Manager .
  • По умолчанию устаналивается веб-интерфейс управления сервером cockpit (удобно для новичков).
  • Для управления контейнерами используется podman (вместо docker и mobdy).
  • Новая версия стека TCP/IP 4.16 с улучшенной производительностью и поддержкой алгоритмов контроля BBR и NV.
  • Новые версии дситрибутивов:

Установка CentOS 8 с помощью ISO-образа

Так как я проводил установку операционной системы на виртуальной машине KVM , предварительно я скачал установочный ISO -образ с одного из официальных зеркал ( https://www.centos.org/download/mirrors/ ) и примонтировал его для установки на виртуальном сервере (при установке на физический сервер залейте установочный образ СentOS на USB флешку). Сразу скажу, процесс установки CentOS 8 , не отличается от установки предыдущей версии и данная статья рассчитана на то, что будет служить помощником для пользователей, которые выполняют подобное впервые.

В рекомендуемых требования указано, что для установки CentOS 8 необходимо минимум 10 Гб места на диске и 512 Мб RAM на одно ядро процессора

Перезапустив виртуальную машину с примонтированным образом, я вошел в VNC-консоль. Первым шагом, вам будет предложено выбрать дальнейшие действия. Так как вы выполняем установку, нам интересен первый пункт меню:

Install CentOS Linux 8.0.1905

Выбрав его, у вас запустится процесс установки:

В процессе пока все необходимое ПО загружается, можно просто наблюдать за процессом, от вас не требуется никаких действий.

И когда черный экран сменится на интерактивный с логотипом CentOS , пора брать в руки мышь и клавиатуру.

В приветствии, система попросит вас выбрать язык, я всегда ставлю English (английский), потому что мне так удобнее работать (да и не понимаю, зачем вообще ставить русский язык на сервере). Нажмите кнопку “Continue” . В следующем меню нужно выбрать основные настройки для установки CentOS.

Для запуска установки, обязательно настроить только один пункт “Installation Destination” , там вы указываете разбивку диска, но я предпочитаю так же, сразу настроить сеть и дату со временем.

В зависимости от вашего часового пояса, вы устанавливаете свои параметры, для меня это Москва.

Чтобы настроить сеть, переходим в пункт “Network & Host Name”

В поле “Host Name” указываем имя сервера и для конфигурации сетевых интерфейсов нажимаем “Configure”

В главной вкладке, нужно отметить галочкой “Automatically connect to this network when it is available” , это нужно для того, чтобы сетевой интерфейс поднимался автоматически.

Перейдите во вкладку “IPv4 Settings” (либо IPv6 если вы используете данный протокол) настройте IP -адрес, маску подсети и шлюз:

Для ввода конкретного IP , нужно выбрать метод “Manual” и нажать кнопку “Add” , после чего у вас появится возможность ввести нужные данные. Сохранив все, мы вернемся к начальному окну настроек сети

Как можно увидеть на скриншоте, IP адрес добавился и сетевой интерфейс уже поднят (состояние Connected).

Следующим шагом мы перейдем к разбивке диска:

Для примера установки я воспользовался автоматической разбивкой от разработчиков CentOS . Если вы хотите разбить диск по-своему, нужно выбрать пункт “Custom”.

Если контроллер вашего сервера не поддерживает аппаратный RAID, в этом пункте меню вы можете собрать программный RAID из дисков сервера на базе mdadm .

Так как на моей виртуальной машине, ранее была установлена ОС, система установки увидела это. Я удалил разделы предыдущей операционной системы в последующих открывающихся меню:

Удалить разделы можно кнопкой “Delete all” , после чего потребуется нажать кнопку “Reclaim space” , чтобы размер дискового пространства стал актуальным.

Список пакетов для установки выбирается в пункте Software Selection. Если вы планируете использовать CentOS 8 в качестве сервера, достаточно выбрать Minimal Install, а из добавлений Standard и Guest Agents (если вы ставите гостевую ОС в виртуальной машине).

После вышеописанных действий, можно запускать установку кнопкой “Begin Installation”

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

Нажмите на кнопку “Root Password” , введите и повторите пароль и нажмите “Done” , чтобы вернуться к установке:

Изначально я задаю простой пароль, чтобы в случае проблем с сетью, я мог легко его ввести в VNC -консоли и исправить проблемы. После того, как система будет установлена, пароль рекомендуется изменить на более сложный. Установка CentOS 8 у меня заняла порядка 5-7 минут и когда в окне установки загорится кнопка “Reboot”, это означает, что все было установлено и нужно перезапустить сервер.

На этом установка CentOS 8 завершена.

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

Базовая настройка CentOS 8 практически не отличается от настройки CentOS, я делаю базовые настройки одинаковые на всех серверах.

CentOS 8: Установка обновлений и инструментов администратора

Как уже отмечалось ранее, в CentOS 8 на замену yum , пришел dnf .

Dnf – это следующее поколение приложения YUM , менеджер пакетов для дистрибутивов Linux на основе RPM -пакетов. Ранее dnf использовался в дистрибутивах Fedora , а теперь и в CentOS 8 .

Первое действие, которое я выполняю на вновь установленном сервере, это обновление системы:

dnf update -y

Если образ свежий, то скорее всего у вас не будет пакетов для обновлений как в моем случае:

[root@centos var]# dnf update

Last metadata expiration check: 0:21:47 ago on Wed 09 Oct 2019 02:36:45 PM +06._x000D_Dependencies resolved._x000D_Nothing to do._x000D_Complete!_x000D_

Если у вас обнаружатся обновления, обязательно их установите.

Следующим шагом, подключим репозиторий EPEL и установим необходимые утилиты для удобного администарирования сервера:

dnf install epel-release -y
dnf install mc wget screen nano net-tools bind-utils curl lsof vim -y

Мне для комфортного администрирования хватает этого набора утилит, вы можете установить свои привычные утилиты.

Автоматическое обновление системы я не включаю, так как всегда устанавливаю необходимые обновления вручную. Если вы хотите настроить автоматическое обновление, установите пакет dnf-automatic :

dnf install -y dnf-automatic

Чтобы проверить активные задания на обновления системы введите:

systemctl list-timers *dnf-*

Отключение SELinux

На начальном этапе я всегда отключаю SELinux (для применения изменения нужно перезагрузить сервер):

nano /etc/sysconfig/selinux
reboot

Отключение SELinux налету, можно выполнить командой:

setenforce 0

Настройка сети в CentOS 8

Так как сеть я настроил на этапе установки системы, настройка ее в данный момент не требуется (подробная статья по настройке сети в CentOS ). Хочу лишь сказать, что в CentOS 8 , сеть управляется только через Network Manager и утилиту nmcl. Network-scripts по умолчанию не поддерживаются. Если честно, в своей работе я всегда отключал NM и не использовал, для меня это не удобный инструмент, теперь придется разбираться и с ним.

Проверка статуса сети:

[root@server ~]# systemctl status NetworkManager

● NetworkManager.service - Network Manager_x000D_Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)_x000D_Active: active (running) since Mon 2019-10-07 08:23:11 MSK; 3h 37min ago_x000D_Docs: man:NetworkManager(8)_x000D_Main PID: 870 (NetworkManager)_x000D_Tasks: 3 (limit: 5060)_x000D_Memory: 4.7M_x000D_CGroup: /system.slice/NetworkManager.service_x000D_└─870 /usr/sbin/NetworkManager --no-daemon_x000D_

Установка и смена hostname

Если вы не задали корректный hostname сервера при установке или просто хотите изменить, это можно выполнить несколькими способами. Измените его в файле /etc/hostname или поменяйте с помощью команды:

hostnamectl set-hostname нужный_хостнейм

Настройка firewalld в CentOS 8

Добавим в доверенные зоны на firewalld , нужные для начальной работы сервисы (SSH и HTTP/HTTPS):

firewall-cmd –-add-service=ssh
firewall-cmd --permanent –-add-service=http
firewall-cmd --permanent –-add-service=https

Настройка времени и часового пояса (time-zone)

Чтобы посмотреть текущее время и time-zone, нужно ввести команду date :

[root@centos var]# date

Wed Oct 9 13:03:00 MSK 2019

Мы указали time-zone при установке самой системы, поэтому у нас время по Москве. Чтобы поменять time-zone , нужно воспользоваться соответствующей командой:

timedatectl set-timezone Europe/Moscow

Где вместо Europe/Moscow вы можете указать свой вариант, например:

[root@server network-scripts]# date
Mon Oct 7 12:46:09 MSK 2019

[root@server network-scripts]# timedatectl set-timezone Asia/Almaty
[root@server network-scripts]# date

Mon Oct 7 15:46:22 +06 2019

Для синхронизации времени используется chronyd , мы включим его и добавим в автозагрузку через systemctl :

systemctl start chronyd
systemctl enable chronyd

[root@server network-scripts]# systemctl status chronyd

● chronyd.service - NTP client/server_x000D_Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)_x000D_Active: active (running) since Mon 2019-10-07 16:13:48 +06; 9s ago_x000D_Docs: man:chronyd(8)_x000D_man:chrony.conf(5)_x000D_Main PID: 31700 (chronyd)_x000D_Tasks: 1 (limit: 5060)_x000D_Memory: 1.1M_x000D_CGroup: /system.slice/chronyd.service_x000D_└─31700 /usr/sbin/chronyd

Настройка истории команда в bash_history

Для удобного просмотра истории, я всегда добавляю пару строк в .bashrc , чтобы в последствии можно было легко ориентироваться в отчетах.

При настройке по умолчанию, вывод history выглядит следующим образом:

[root@centos ~]# history

1 dnf repolist_x000D_2 dnf install epel-release

То есть мы видим, что выполнялось на сервере, но не видим время и точную дату, для меня это критично, так как доступ к серверам могут иметь несколько специалистов. Поэтому приведем history к приятному виду:

Откроем файл /root/.bashrc и добавим в него нужные строки:
nano /root/.bashrc

export HISTSIZE=10000_x000D_export HISTTIMEFORMAT="%h/%d/%y - %H:%M:%S "

Теперь при проверке history, мы видим точное время выполнения той или иной команды:

[root@centos ~]# history

1 Oct/07/19 - 16:16:29 dnf repolist_x000D_2 Oct/07/19 - 16:16:29 dnf install epel-release

Cockpit: Веб-интерфейс управления сервером в CentOS 8

Как мы уже упоминали, в CentOS 8 предустановлен веб-интерфейс управления сервером cockpit . Он также управляется через systemctl. Вы можете запустить его и добавить в автозгрузку:

# systemctl enable cockpit.socket
# systemctl start cockpit.socket

По–умолчанию веб сервер Cockpit слушает на порту 9090. Добавьте этот порт в разрешенные:

# firewall-cmd --get-active-zones
# firewall-cmd --add-port=9090/tcp --zone=MY_ACTIVE_ZONE --permanent
# firewall-cmd --reload

Для доступа к веб-интерфейсу Cockpit, откройте в браузере URL адрес https://your-CentOS8-IP:9090 и авторизуйтесь.

С помощью веб-интерфейса Cockpit вы можете смотреть загрузку своего сервера, управлять сетями и хранилищами, контейнерами, смотреть логи.

На этом моя типовая настройка CentOS сервера закончена, далее я выполняю настройки согласно технического задания по различным проектам и обычно они отличаются.

admin

Share
Published by
admin

Recent Posts

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

2 недели ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

2 недели ago

Предварительный просмотр накопительного обновления не устанавливается — решение

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

2 недели ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

2 недели ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

2 недели ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

2 недели ago