Что такое $ OPTIONS в системном файле systemd?

Я просматриваю следующую строку в файле /usr/lib/systemd/system/sshd.service в поле Fedora 25:

 ExecStart=/usr/sbin/sshd -D $OPTIONS 

Я не уверен, откуда $OPTIONS . Он выглядит как переменная среды, хотя, когда я устанавливаю переменную оболочки таким образом, она игнорируется, например

 # OPTIONS='-p 9999' # systemctl start sshd 

Я прочитал часть командной строки на странице systemd.service man, которая указывает, что переменные окружения могут быть установлены через линию Environment :

 Environment="ONE=one" 'TWO=two two' 

Однако такой переменной OPTIONS нет.

Кроме того, существует строка EnvironmentFile , например:

 EnvironmentFile=-/etc/sysconfig/sshd 

Нет переменной $OPTIONS . К чему относятся $OPTIONS , и как он устанавливается?

  • systemd: Как авторизовать файловую систему USB с помощью / etc / fstab?
  • Как получить стандартный вывод / ошибку службы, управляемой systemd на EL7, чтобы перейти куда-нибудь, кроме / var / log / messages?
  • Как получить журнал загрузки ядра с помощью журналаctctl?
  • Как сообщить systemd запустить sshd позже в последовательности загрузки?
  • Устранение неполадок сообщения об ошибке «противоречит существующим заданиям» systemd
  • Каким интерфейсом привязывается nspawn по умолчанию?
  • shellinabox на arch linux
  • Как настроить службу пользователя Systemd с помощью таймера
  • One Solution collect form web for “Что такое $ OPTIONS в системном файле systemd?”

    Файл блока в Debian аналогичен, содержащий:

     [Service] EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID и [Service] EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID по [Service] EnvironmentFile=-/etc/default/ssh ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID 

    Здесь EnvironmentFile назначает SSHD_OPTS :

     # Options to pass to sshd SSHD_OPTS= 

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

    Здесь упоминается, что, например, httpd.service использует OPTIONS аналогично, и устанавливает его в /etc/sysconfig/httpd . Так что по какой-то причине это скорее всего не работает.

    Вы можете проверить командную строку sshd с помощью ps чтобы узнать, к какой переменной добавлена ​​переменная, а также установить ее в файл sysconfig, чтобы проверить, работает ли она, если она установлена.


    Что касается установки переменной окружения в командной строке оболочки, AFAIU systemd не запускает службы в среде оболочки, вызывающей systemctl , но systemctl их из основного процесса systemd. Таким образом, они не наследуют настройки среды оболочки даже случайно. Переменные среды могут иметь широкий спектр эффектов, и было бы неприятно, если бы ваши службы действовали по-разному в зависимости от того, запускаются они при загрузке системы или перезапускаются из командной строки.

    Однако этот $MAINPID особенный .

    Interesting Posts

    Как эффективно искать журналы электронной почты с помощью `RegEx`

    Сопоставление функциональных клавиш в сеансе telnet для приложения Universe

    / dev / sdb * недоступно после загрузки – initramfs не загружает модули uas и usb_storage

    Проблемы подключения с KVM на RHEL6.5 на сервер лицензий

    Установите драйвер wifi для Macbook 11.1 под Tails

    Очистка apt-get не полностью удаляется

    терминал преобразует первую букву в верхний регистр

    Почему экран ноутбука называется eDP1?

    Нельзя использовать псевдоним в скрипте, даже если я его определяю чуть выше!

    Переместить файлы в вложенных каталогах в папку dest, но сохранить basename и удалить структуру папок?

    Каковы правила, определяющие содержимое по умолчанию файла / etc / hosts?

    Замена LXDE на XFCE, проблемы с startx

    Редактирование isolinux приводит к ошибке паники ядра в Centos Live CD

    Одна командная строка оболочки, которая находит всех студентов в LEC05 и печатает свое имя в отсортированном порядке

    Как установить mplayer с терминала?

    Linux и Unix - лучшая ОС в мире.