hostnamectl, а перезагрузку и выключение выполняют через systemctl. Перед командой на удалённом сервере нужно проверить активные работы и путь восстановления доступа, а после старта — убедиться, что система действительно загрузилась и нужные службы работают.Определите ОС, ядро, архитектуру и имя хоста
Не пытайтесь получить всю информацию одной командой. /etc/os-release описывает установленную ОС, uname -r — версию ядра, которое запущено сейчас, а hostname — текущее имя узла. Установленный пакет ядра и работающее ядро могут различаться, например если обновление уже установило новое ядро, но сервер ещё не перезагружали.
cat /etc/os-releaseuname -runame -mhostnameЕсли файла нет или данные выглядят необычно
/etc/os-release является документированным форматом, но в минимальных, старых или специализированных системах файл может отсутствовать либо быть неполным. Сначала проверьте документацию используемого выпуска ОС и локальные справочные страницы man os-release, man uname и man hostname. Не определяйте дистрибутив по одному названию пакета или баннеру SSH.Базовая информация о системе Linux
Следующие команды дают первичный снимок CPU, памяти, Swap и времени работы. Они не заменяют диагностику нагрузки, дефицита памяти или проблем процессов: для этого нужны отдельные проверки.
Состав полей и доступные параметры `hostnamectl`, `uname`, `lscpu`, `free`, `swapon` и `uptime` зависят от версии утилит и дистрибутива. Для точной интерпретации используйте локальные страницы `man` и документацию целевого выпуска.
| Что посмотреть | Команда | Что означает результат |
|---|---|---|
| Процессор и архитектура | lscpu | Архитектура, число CPU, модель и топология в пределах сведений, доступных системе. |
| Оперативная память и swap | free -h | Общий объём, использование RAM и swap. Занятая RAM сама по себе не означает нехватку памяти: часть может занимать кэш страниц. |
| Активный swap | swapon --show | Подключённые области или файлы swap, если утилита доступна. |
| Время работы и средняя нагрузка | uptime | Время после загрузки, число пользователей и load average. |
| Сводка systemd | hostnamectl status | Имя хоста, ОС, ядро и архитектуру, если в системе есть systemd и hostnamectl. |
free -huptimeКак сменить hostname Linux
Сначала установите, какая система инициализации запущена. Наличие Linux не означает наличие systemd или hostnamectl. В systemd имя ведёт служба systemd-hostnamed, а в других системах постоянную настройку выполняют только средствами, документированными для конкретного дистрибутива и его выпуска.
ps -p 1 -o comm=hostnamectl statusStatic, transient и pretty hostname в systemd
По документации systemd, systemd-hostnamed различает три представления имени. Static hostname — постоянное имя, обычно хранимое локально и сохраняемое после перезагрузки. Transient hostname — текущее динамическое имя, хранимое в ядре; его могут изменять во время работы средства сетевой конфигурации, а при отсутствии отдельного transient hostname система может использовать static hostname. Pretty hostname — свободно оформленное имя для отображения, которое может содержать пробелы и символы, недопустимые для сетевого имени.
Изменение имени в системе с systemd
Команды требуют административных прав. Доступность ключей и детали поведения зависят от версии systemd и дистрибутива; перед применением на рабочем сервере сверяйтесь с man hostnamectl и документацией целевой ОС.
- 1Выберите корректное постоянное имяПодготовьте имя, допустимое в вашей DNS- и сетевой схеме, например
app01. Не включайте в техническое hostname пробелы и произвольные символы; для отображаемого названия предназначен pretty hostname. - 2Задайте постоянное имяВыполните
sudo hostnamectl set-hostname app01 --static. Параметр--staticизменяет только постоянное представление имени. Проверьте его черезhostnamectl status; командаhostnameотдельно показывает текущее имя ядра, которое не обязано сразу совпасть со static hostname. Постоянное имя используется после следующих загрузок, если его не переопределяет другая конфигурация. - 3При необходимости задайте временное имяДля transient hostname используйте
sudo hostnamectl set-hostname app01 --transient. Это не заменяет настройку постоянного имени и может быть перезаписано сетевой конфигурацией или при следующей загрузке. - 4При необходим ости задайте отображаемое имяНапример,
sudo hostnamectl set-hostname "Сервер приложения 01" --pretty. Проверяйте его черезhostnamectl status; это имя не следует считать DNS-именем. - 5Проверьте, какие представления изменилисьВызов
hostnamectl set-hostname НОВОЕ_ИМЯбез--static,--transientи--prettyпо документации systemd изменяет все три представления. Если указан хотя бы один из этих параметров, изменяются только выбранные представления. Если pretty hostname задают одновременно со static или transient, исходная строка сохраняется как pretty hostname, а для выбранных технических представлений systemd использует её упрощённый вариант с допустимыми для них символами.
Hostname — не настройка DNS и сети
/etc/hosts, /etc/nsswitch.conf, DNS-резолвера и сетевой конфигурации. Проверку и настройку разрешения имён выполняйте отдельно — см. «Настройка DNS-резолвера в Linux: resolv.conf и systemd-resolved».В системе без systemd не предполагайте, что достаточно изменить /etc/hostname: путь, формат и механизм применения зависят от дистрибутива, его релиза и init-системы. Используйте официальное руководство целевой ОС. Временно изменить имя в текущей работающей системе иногда позволяет команда sudo hostname НОВОЕ_ИМЯ, но её доступность и взаимодействие с сетевыми менеджерами также нужно проверить в документации; это не универсальный способ постоянной настройки.
Что проверить перед перезагрузкой удалённого сервера
Успешное завершение команды перезагрузки не доказывает, что сервер снова станет доступен. Особенно это важно при работе через SSH: соединение оборвётся ш татно, но ошибки загрузки, сети или службы удалённого доступа могут оставить узел недоступным.
- Подтвердите, что выбрали нужный сервер: сверяйте hostname, IP-адрес, роль узла и окружение, а не только вкладку терминала.
- Согласуйте окно работ и предупредите пользователей либо владельцев зависимых систем о возможном перерыве.
- Проверьте, что не идут критичные операции: резервное копирование, миграция, пакетная транзакция, работа с базой данных, запись на хранилище или иная задача, которую нельзя безопасно прервать.
- Убедитесь, что доступна консоль управления, виртуальная консоль, физический доступ или другой согласованный путь восстановления, если SSH не вернётся.
- Зафиксируйте, какие службы и прикладные функции должны работать после запуска. Не ограничивайтесь проверкой самого факта ответа на ping.
- Если перезагрузка связана с обновлением, используйте отдельный план: «Обновление Linux-сервера: пакеты, ядро, перез агрузка и откат».
Как штатно перезагрузить или выключить Linux-сервер
Используйте интерфейс той init-системы, которая действительно работает на сервере. В systemd основными командами являются systemctl reboot и poweroff. Команды reboot, poweroff и shutdown существуют во многих системах, но их реализация, доступные параметры, взаимодействие с systemd и правила отложенного выполнения зависят от дистрибутива и версии. Не считайте их универсально эквивалентными.
Перезагрузка или выключение в системе с systemd
Выполняйте команды из локальной консоли или удалённой SSH-сессии после проверок. Они требуют прав суперпользователя либо разрешённого sudo.
- 1Уведомьте пользователей и завершите работыСогласуйте простой и дождитесь безопасного завершения критичных операций. При необходимости используйте внутренний регламент уведомлений; сама команда управления питанием не заменяет этот этап.
- 2Перезагрузите серверВыполните
sudo systemctl reboot. В SSH-сессии соединение будет закрыто во время остановки системы. - 3Или штатно выключите серверЕсли нужен именно останов, выполните
sudo systemctl poweroff. После выключения для физического сервера может потребоваться действие через контроллер управления или кнопку питания согласно процедуре эксплуатации. - 4Используйте отложенное выключение только после проверки документацииВо многих systemd-дистрибутивах
shutdownподдерживает планирование, напримерsudo shutdown -r +5 "Перезагрузка для обслуживания". Однако синтаксис, уведомления, отмена и доступность отложенного режима нужно сверить поman shutdownи документации конкретного выпуска. Не переносите эту команду между системами без проверки.
Не используйте принудительные варианты как обычный способ
systemctl reboot --force и сходные принудительные варианты по документации systemd обходят часть обычной процедуры завершения работы; повторное применение может приводить к ещё более жёсткому перезапуску. Они предназначены для аварийных случаев и могут оставить незавершёнными запись дан ных, остановку служб и размонтирование файловых систем. Принудительное отключение питания также остаётся аварийной мерой с риском повреждения данных. При проблеме загрузки используйте согласованный план восстановления и статью «Linux-сервер не загружается: GRUB, initramfs, emergency mode и kernel panic».Проверки после запуска сервера
После возврата доступа проверьте не только факт загрузки, но и ожидаемое состояние системы. Список нужных служб и прикладных проверок зависит от роли сервера.
hostnamectl statusuname -r && uptimesystemctl --failedjournalctl -b -p warningjournalctl -b -1- Проверьте подключение по ожидаемому адресу и имени, но помните: это разные проверки DNS, сети и SSH.
- Проверьте состояние конкретных критичных служб через
systemctl status ИМЯ.serviceи доступность прикладной функции. Подробности управления службами — в статье «systemd и systemctl: управление службами и автозагрузкой Linux». - Просмотрите релевантные ошибки текущей загрузки. Полный порядок поиска, хранения и ротации журналов описан в статье «Журналы Linux: journalctl, rsyslog и logrotate».
- Если менялось имя хоста, отдельно подтвердите требуемое разрешение имён и работу зависимых интеграций, сертификатов и мониторинга.
Где сверять синтаксис
man os-release, man hostnamectl, man systemctl, man reboot, man poweroff, man shutdown, man journalctl, man uname, man lscpu, man free и man uptime.Термины в статье
- Дистрибутив Linux
- Дистрибутив Linux — готовая операционная система на базе ядра Linux, включающая набор программ, репозитории, пакетный менеджер и правила обновления и сопровождения.
- Имя хоста
- Имя хоста — идентификатор узла в сети и операционной системе, используемый для отображения, журналирования и разрешения имени в IP-адрес при наличии DNS или hosts.
- Кэш страниц
- Кэш страниц — управляемый ядром Linux кэш в оперативной памяти, хранящий данные файлов и блочных устройств для ускорения повторных чтений и буферизации записей.
- Пакетная транзакция
- Пакетная транзакция — согласованный набор действий по установке, обновлению, удалению и настройке пакетов, формируемый менеджером пакетов в рамках одной команды или задания.
- Процесс
- Процесс — экземпляр выполняемой программы в Linux с PID, виртуальным адресным пространством, состоянием и связанными с ним ресурсами.
- Системная служба
- Системная служба — программный компонент, которым ОС управляет как логической единицей для фонового выполнения задач или предоставления функций программам и пользователям.
- Ядро Linux
- Ядро Linux — центральный компонент ОС, управляющий аппаратными ресурсами и предоставляющий системные интерфейсы; оно не включает пользовательские утилиты и менеджер пакетов.
- journalctl
- journalctl — консольная утилита чтения и фильтрации журнала systemd, выводящая сообщения по времени, юниту, загрузке системы, приоритету и другим полям.
- SSH
- SSH — криптографический сетевой протокол для удалённого доступа и передачи данных, аутентифицирующий стороны и защищающий сеанс от перехвата.
- Swap
- Swap — область на диске или SSD, используемая ядром Linux для размещения вытесненных страниц памяти, когда RAM требуется более активным данным.
- systemctl
- systemctl — командная утилита управления systemd, которая запускает и останавливает юниты, показывает их состояние и настраивает автоматическую активацию.
- systemd
- systemd — система инициализации и менеджер служб Linux, управляющий службами и другими ресурсами как объектами unit, обычно описанными unit-файлами.
- systemd-journald
- systemd-journald — служба systemd для приёма, индексации и хранения структурированных журналов ядра, служб, процессов и системных сообщений.
