Может ли systemd сохранять свое состояние при перезагрузках?

Вы проверили, где был размещен iwconfig , с помощью dpkg -L wireless-tools ]?

Я мог быть установлен в / sbin / или / usr / sbin , который мог отсутствовать в $ PATH обычного пользователя.

3
12.04.2017, 18:40
1 ответ

Я начну этот ответ со следующего:

Я рекомендую вам заставить разработчиков использовать такие вещи, как enable, disable, after и хочет в службах systemd правильно, а не делать дамп и восстановление того, что работает.

Теперь, когда я удалил это из своей системы...


systemctl snapshot может помочь вам сделать то, что вы ищете.

При запуске снимка systemctl ${SNAPSHOT_NAME} systemd создает юнит с именем ${SNAPSHOT_NAME}.snapshot. Эта единица, кажется, существует только в памяти. Однако вы все равно можете запросить его, используя systemctl.

Использование systemctl show ${SNAPSHOT_NAME}.snapshot отобразит всю информацию systemd, собранную для моментального снимка, особенно обратите внимание на Wants= / After= разделы (которые оба кажутся одинаковыми), в которых перечислены все устройства, которые были активны на момент создания снимка.Если бы вы проанализировали этот список и добавили его в настраиваемую цель, вы могли бы достичь того, что ищете, используя systemctl isolate ${CUSTOM_TARGET}.

systemctl isolate

Запустить модуль, указанный в командной строке, и его зависимости и остановить все остальные. Если указано имя модуля без расширения, предполагается расширение «.target».

Это похоже на изменение уровня запуска в традиционной системе инициализации. Команда isolate немедленно остановит процессы, которые не включены в новом устройстве, возможно, включая графическую среду или терминал, который вы используете в данный момент.

Обратите внимание, что это разрешено только для устройств, для которых включен параметр AllowIsolate=. Подробности смотрите в systemd.unit(5).

Можно даже написать службу, которая обновляет разделы ${CUSTOM_TARGET} Wants / After при завершении работы.

0
27.01.2020, 21:36

Теги

Похожие вопросы