Правда удобно, когда правишь сервис через svccfg и что-то пошло не так и нужно быстро откатиться к предыдущему состоянию? Начиная с 11.2 такая возможность есть. И так, есть 4 состояния (покажу на примере сервиса spamd):
# svccfg -s svc:/application/network/spamd:default listsnap
running
initial
previous
start
Что означают значения? Пояснение ниже:
- runnning – для уже запущенного сервиса (текущее)
- initial – дефолтные значения при установке сервиса
- previous – предыдущие значения относительно текущего
- start – значения при следующем запуске
Состояние previous по умолчанию отсутствует и появляется после первой правки. Снепшоты меняются после выполнения любой из команд:
# svcadm restart manifest-import
# svcadm refresh
# svccfg refresh
Покажу на примере разницу значений для свойства start/exec:
# svcprop -s previous -p start/exec svc:/application/network/spamd:default
/export/home/spamd/.local/bin/spamd\ -r\ %{config/pid}\ %{config/extra_options}
# svcprop -s running -p start/exec svc:/application/network/spamd:default
/lib/svc/method/spamd
# svcprop -s initial -p start/exec svc:/application/network/spamd:default
/export/home/spamd/.local/bin/spamd.py\ -C\ %{config/config_dir}\ -r\ %{config/pid}
Откатимся на предыдущее:
# svccfg -s svc:/application/network/spamd:default revert previous
# svcadm refresh svc:/application/network/spamd:default
# svcprop -p start/exec svc:/application/network/spamd:default
/export/home/spamd/.local/bin/spamd\ -r\ %{config/pid}\ %{config/extra_options}