Категорії
Solaris

[Solaris] non global zone sync time

Как не глобальная зона синхронизирует время? По дефолту – берёт время из global зоны. Но этим можно управлять через параметр global-time (задаётся в конфигурационном файле зоны)

  • true – означает синхронизировать время из global зоны
  • false – означает, что время будет установлено через ntpdate/ntpd (при этом на зону должны быть выданы привилегии sys_time, без этого нельзя будет синхронизировать время)

Путём экспериментов выяснил, что изменения данного параметра влияют только после ребута зоны: простое выполнение zoneadm -z ZONE apply по факту не применяется.

ПС. Статья является вольным переводом этой

Категорії
Solaris

[Solaris] Некоторые хитрости при работе с сервисами

В этой статье я расскажу о некоторых особенностях, которые очень помогают при работе с сервисами.

Категорії
FreeBSD Linux Misc, staff, other OpenBSD Solaris

Гарантированный запуск единичной копии скрипта

Принцип ее работы прост: для каждого процесса она создает файл и вешает на него lock. Как только процесс завершается, лок пропадает. Лок также пропадает в случае внезапной смерти процесса, и нет необходимости проверять pid на существование или делать другие телодвижения. Если процесс запускается повторно, а лок-файл еще не освободился, работа скрипта прерывается и выдается сообщение в STDERR.

Категорії
Solaris

[Solaris] Снепшоты сервисов

Правда удобно, когда правишь сервис через svccfg и что-то пошло не так и нужно быстро откатиться к предыдущему состоянию? Начиная с 11.2 такая возможность есть. И так, есть 4 состояния (покажу на примере сервиса spamd):

# svccfg -s svc:/application/network/spamd:default listsnap
running
initial
previous
start

Категорії
Misc, staff, other Solaris

Solaris: установка пакета, когда идёт ругань на swap

Пробуем ставить:

# pkg update -v network/zabbix_agent
pkg: update failed (linked image exception(s)):
A 'zone1' operation failed for child 'zone:zone1' with an unexpected
exception:
[Errno 28] No space left on device

смотрим dmesg:

tmpfs: [ID 518458 kern.warning] WARNING: /tmp: File system full, swap space limit exceeded

Категорії
Misc, staff, other Solaris

Warning – Invalid account: ‘webservd’ not allowed to execute cronjobs

# crontab -l webservd
Warning - Invalid account: 'webservd' not allowed to execute cronjobs
crontab: can't open your crontab file.

Решение:

Категорії
FreeBSD Linux Solaris

Виртуальная память: что это такое?

Здесь будет рассказано о разных типах памяти, в разных ОС, при использовании разных диагностических утилит.

Категорії
Solaris

[Solaris] zfs_params

Ниже будут перечислены используемые параметры для тюнинга ZFS.

Категорії
Solaris

Запрет удаления файлов в Solaris

Вот такая нехитрая задача возникающая перед администраторами: писать можно, удалять нельзя и всё это ограничение применить только к конкретному пользователю. Решается она просто: через ACL. Причём нужно иметь ввиду, что бы запретить удаление, нужно явно это указать (если у пользователя отсутствуют явные запреты, то он всё равно сможет их “нарушить”).

Стандартные права выглядят так: rwxpdDaARWcCos, где буквы dD означают разрешение на удаление (d – удаление файла, D – удаление файла или папки внутри директории).

Категорії
Solaris

Создание файлов в /var/run для НЕ root’a

Предположим, вам надо запустить сервис не от root’a и при этом, создать файл (например, сокет или pid) в системной папке /var/run от этого юзера. Правильный Solaris-way следующий:

Создаём группу

# svccfg -s svc:/network/test1234 addpg method_context framework

Выставляем необходимого юзера и группу

# svccfg -s svc:/network/test1234 setprop 'method_context/user = astring: "webservd"'
# svccfg -s svc:/network/test1234 setprop 'method_context/group = astring: "webservd"'

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP