Запуск Продукты Bitnami Документацияimaxe CLI Блог Контакты
imaxe os система v1.0.0

База сервера — в порядке

Держите операционную систему в актуальном и настроенном виде: обновления (и автоматические установки), язык, часовой пояс, имя машины и синхронизированное время. Всё горсткой понятных команд.

$ imaxe os update --security-only --reboot-if-needed
Версия
v1.0.0
Подкоманды
9
Конфиг
/etc/imaxe/os.yml
Требуется root
да
Архитектура
linux/amd64

Что делает этот модуль #

Каждый раз при запуске сервера нужно привести базу в порядок: установить ожидающие обновления, выбрать язык, на котором говорят программы, задать правильный часовой пояс, дать имя машине и убедиться, что часы идут верно. Это мелкие, но повторяющиеся задачи, и у каждой свой собственный Linux-команда со своим синтаксисом.

Модуль os собирает их все за единым согласованным интерфейсом. Обновляет систему (или только часть, связанную с безопасностью) и сообщает, нужна ли перезагрузка; включает автоматические установки, чтобы обновления безопасности применялись сами; идемпотентно задаёт локаль, часовой пояс и hostname; и управляет синхронизацией NTP, чтобы время никогда не сбивалось. Каждое действие безопасно повторять: если нужное состояние уже достигнуто, модуль ничего не трогает.

Прежде чем начать

Подкоманды, которые меняют что-либо (обновить, задать локаль, часовой пояс, hostname или NTP), пишут в систему и требуют привилегий root: запускайте их с sudo. Те, что только читают (status, list, check), этого не требуют.

Краткое руководствопошаговые задачи

Типовые задачи #

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

1

Посмотреть и применить обновления

Проверьте, что ожидает установки, и обновитесь за мгновение.

Сначала посмотрите общее состояние и какие обновления ожидают:

терминал
$ imaxe os status
$ imaxe os check

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

терминал
$ sudo imaxe os update --security-only --reboot-if-needed
Система приведена в актуальное состояние. Чтобы узнать, ожидает ли перезагрузка, используйте imaxe os reboot-required (код 0 = да, нужна).
2

Оставить обновления безопасности на автомате

Чтобы обновления безопасности применялись сами, без вашего участия.

Включите автоматические установки. Это сгенерирует конфигурацию unattended-upgrades за вас:

терминал
$ sudo imaxe os autoupdate enable

Убедитесь, что они активны, и когда будет следующий запуск:

терминал
$ imaxe os autoupdate status
С этого момента патчи безопасности устанавливаются сами. Хотите отключить? sudo imaxe os autoupdate disable.
3

Задать часовой пояс и время

Установите свою зону IANA и убедитесь, что часы синхронизируются по NTP.

Если не помните точное название своей зоны, сначала отфильтруйте её:

терминал
$ imaxe os timezone list Europe

Задайте зону (это идемпотентно) и включите синхронизацию времени:

терминал
$ sudo imaxe os timezone set Europe/Madrid
$ sudo imaxe os timesync enable
Машина показывает правильное местное время и поддерживает его синхронизированным. Проверьте NTP через imaxe os timesync status.
4

Установить язык системы

Определите LANG и сгенерируйте локаль, если её ещё нет.

Задайте язык системы. Команда генерирует локаль и устанавливает пакет locales, если его нет:

терминал
$ sudo imaxe os locale set es_ES.UTF-8

Нужно больше доступных языков без смены LANG? Сгенерируйте их отдельно:

терминал
$ sudo imaxe os locale generate es_ES.UTF-8 en_US.UTF-8
Система говорит на выбранном языке. Проверьте текущий LANG и сгенерированные локали через imaxe os locale status.
5

Изменить имя машины

Задайте понятный hostname и держите /etc/hosts согласованным.

Назначьте hostname. Допускаются только буквы, цифры и дефисы, до 63 символов:

терминал
$ sudo imaxe os hostname set web-01
Имя применено, а /etc/hosts обновлён в соответствии с ним. Проверьте через imaxe os hostname status.
Осторожно с hostname в облаке

Если экземпляром управляет cloud-init, он может переписывать hostname при каждой загрузке. Поэтому os.yml по умолчанию оставляет поле hostname пустым: задавайте его, только если уверены, что cloud-init его не перезапишет.

Справочник CLIкоманды, флаги и файлы

Синопсис #

использование
imaxe os <subcomando> [<acción>] [<argumento>...] [flags]

Подкоманды, которые меняют систему (обновить, автоматические установки, локаль, часовой пояс, hostname, NTP), требуют привилегий root (используйте sudo). Добавьте --json к любому status или check, чтобы получить машиночитаемый вывод, пригодный для скриптинга.

Подкоманды #

ПодкомандаЧто делаетДействия / флаги
statusСводка состояния обновлений системы.--json
updateПрименяет сейчас ожидающие обновления.--security-only, --reboot-if-needed
checkВыводит список ожидающих обновлений, не применяя их.--json
reboot-requiredУказывает, ожидает ли перезагрузка (exit 0 = да, 1 = нет).--json
autoupdateУправляет автоматическими необслуживаемыми обновлениями.enable · disable · status
localeУправляет локалью системы (генерирует и устанавливает необходимое).status · list · set · generate
timezoneПоказывает или меняет часовой пояс системы.status · list · set
hostnameПоказывает или меняет hostname (согласованно с /etc/hosts).status · set
timesyncУправляет синхронизацией времени (NTP).status · enable · disable

Аргументы и флаги #

Аргумент / флагТипГде применяетсяОписание
--jsonboolstatus · checkВыдаёт результат в виде структурированного JSON в stdout, пригодного для скриптинга.
--security-onlyboolupdateПрименяет только обновления безопасности.
--reboot-if-neededboolupdateАвтоматически перезагружает, если система требует этого после обновления.
<locale> обяз.string…locale set · locale generateЛокаль в формате es_ES.UTF-8. В set — одна (LANG системы); в generate — одна или несколько для генерации.
<zona> обяз.stringtimezone setЧасовой пояс IANA, напр. Europe/Madrid.
<filtro>stringtimezone listНеобязательный фильтр для сужения списка зон (напр. Europe).
<nuevo> обяз.stringhostname setНовый hostname: строчные a-z, цифры 0-9 и дефисы, максимум 63 символа.

Файлы и пути #

ПутьСодержимое
/etc/imaxe/os.ymlКонфигурация модуля: автоматические установки, политика обновлений, локаль, часовой пояс, hostname и NTP.
/var/log/imaxe/os.logСтруктурированный лог каждого обновления и изменения конфигурации системы.
/etc/apt/apt.conf.d/20auto-upgradesКонфиг, сгенерированный autoupdate enable, который включает автоматические установки.
/etc/apt/apt.conf.d/50unattended-upgradesПравила unattended-upgrades (что обновляется, окно перезагрузки, список исключений).

Пример os.yml:

/etc/imaxe/os.yml
unattended:
  enabled: true
  security_only: true
  automatic_reboot: false
  automatic_reboot_time: "03:00"
  blacklist: []
update:
  default_security_only: false
locale:
  lang: es_ES.UTF-8
  generate: [es_ES.UTF-8, en_US.UTF-8]
timezone: Europe/Madrid
hostname: ""
ntp:
  enabled: true

Пустые поля ("") означают «не трогать»: модуль оставляет эту настройку такой, какая она есть. Поэтому hostname идёт пустым — экземпляром обычно управляет cloud-init.

Коды возврата и логи #

Каждый запуск возвращает код, который можно проверить через echo $? — удобно для цепочек в скриптах:

0OKОперация успешно завершена.
1ERRОбщая неклассифицированная ошибка. Проверьте лог.
2USAGEНедопустимые или отсутствующие аргументы.

reboot-required использует код возврата в качестве ответа: 0 означает «да, нужна перезагрузка», а 1 означает «нет». Так вы можете напрямую встроить его в скрипт без разбора текста.

Следите за логом в реальном времени во время отладки:

терминал
$ sudo tail -f /var/log/imaxe/os.log

Устранение неполадок #

СимптомВероятная причинаРешение
Выходит USAGE (код 2)Отсутствует обязательный аргумент (локаль, зона или hostname) либо формат недопустим.Проверьте таблицу аргументов: hostname допускает только a-z0-9 и дефисы (≤63).
Hostname снова меняется после перезагрузкиcloud-init переписывает hostname при каждой загрузке.Отключите управление hostname в cloud-init или оставьте поле в os.yml пустым и не задавайте его вручную.
locale set тормозит или падаетПакета locales нет, его нужно установить/сгенерировать.Повторите с системой в актуальном состоянии (imaxe os update); модуль устанавливает locales и сам генерирует локаль.
Время по-прежнему сбитоСинхронизация NTP отключена.Включите её через sudo imaxe os timesync enable и проверьте через imaxe os timesync status.
Автоматические установки не применяютсяАвтоматические установки на этой машине никогда не включались.Запустите sudo imaxe os autoupdate enable и подтвердите через imaxe os autoupdate status.

Застряли с модулем Система?

Напишите нам, приложив вывод «imaxe <module> status --json», и мы быстро ответим.

Связаться с поддержкой