Как передать аргументы командной строки скрипту atd init в Ubuntu 16.04

Было бы лучше, если бы вы перезапустили свой ubuntu-сервер, чтобы освободить блокировку, а затем попытайтесь переустановить phpmyadmin.

В качестве последнего ресурса вы можете удалить файл блокировки, это обсуждается здесь: невозможно заблокировать каталог администрирования (/ var / lib / dpkg /) - это другой процесс с его использованием?

4
задан 16 November 2017 в 21:27

3 ответа

То, что вы смотрите, есть старый файл SysV в старом стиле. Хотя systemd предоставляет механизм (для обратной совместимости) для запуска служб через такие файлы через режим совместимости с sysv, Ubuntu 16.04, похоже, не делает этого в этом случае, поэтому ваши изменения в файле инициализации просто игнорируются - m не уверен, почему файл все еще присутствует.

Вместо этого служба atd запускается непосредственно с помощью systemd, используя файл unit /lib/systemd/system/atd.service. Однако, вместо того, чтобы напрямую редактировать этот файл, вы должны использовать systemctl edit для создания настраиваемой конфигурации, как описано в превосходном ответе @ muru s Совместимость с svv

В частности, [!d4 ]

sudo systemctl edit atd

затем добавить, например,

[Service]
ExecStart=
ExecStart=/usr/sbin/atd -l 7.5 -f

Сохранить и выйти, а затем перезапустить служебный блок

sudo systemctl restart atd.service

После этого вы можете подтвердить, что ваши изменения вступили в силу используя

systemctl status atd.service

Вы должны увидеть что-то вроде

● atd.service - Deferred execution scheduler
   Loaded: loaded (/lib/systemd/system/atd.service; enabled; vendor preset: enab
  Drop-In: /etc/systemd/system/atd.service.d
           └─override.conf
   Active: active (running) since Sat 2017-06-10 09:38:30 EDT; 8min ago
     Docs: man:atd(8)
 Main PID: 17247 (atd)
   CGroup: /system.slice/atd.service
           └─17247 /usr/sbin/atd -l 7.5 -f

Jun 10 09:38:30 xenial-vm systemd[1]: Started Deferred execution scheduler.
2
ответ дан 22 May 2018 в 21:41
  • 1
    Благодарю. Интересно, что, сделав это изменение, я проверил, что происходит при запуске /etc/init.d/atd start (теперь я понимаю, что это устарело, но я вырос с Solaris в 1990-х годах, и старые привычки сильно ушли), и теперь он дает сообщение " Начиная с atd (через systemctl) ... », который я почти уверен, что раньше этого не делал. Показана ошибка в выпуске Ubuntu 16.04? (Это довольно близко к ванили) – nickcrabtree 11 June 2017 в 00:21
  • 2
    В случае, когда существует оба ".service" файла и "init.d" файл, файл .service " выигрывает " и файл init.d не загружен. Оба могут присутствовать просто потому, что программное обеспечение упаковано для нескольких операционных систем или для поддержки смелых душ, которые переключают свою систему init Ubuntu 16.04 с системы обратно на Upstart. – Mark Stosberg 12 June 2017 в 22:59

То, что вы смотрите, есть старый файл SysV в старом стиле. Хотя systemd предоставляет механизм (для обратной совместимости) для запуска служб через такие файлы через режим совместимости с sysv, Ubuntu 16.04, похоже, не делает этого в этом случае, поэтому ваши изменения в файле инициализации просто игнорируются - m не уверен, почему файл все еще присутствует.

Вместо этого служба atd запускается непосредственно с помощью systemd, используя файл unit /lib/systemd/system/atd.service. Однако, вместо того, чтобы напрямую редактировать этот файл, вы должны использовать systemctl edit для создания настраиваемой конфигурации, как описано в превосходном ответе @ muru s Совместимость с svv

В частности,

sudo systemctl edit atd

затем добавить, например,

[Service] ExecStart= ExecStart=/usr/sbin/atd -l 7.5 -f

Сохранить и выйти, а затем перезапустить служебный блок

sudo systemctl restart atd.service

После этого вы можете подтвердить, что ваши изменения вступили в силу используя

systemctl status atd.service

Вы должны увидеть что-то вроде

● atd.service - Deferred execution scheduler Loaded: loaded (/lib/systemd/system/atd.service; enabled; vendor preset: enab Drop-In: /etc/systemd/system/atd.service.d └─override.conf Active: active (running) since Sat 2017-06-10 09:38:30 EDT; 8min ago Docs: man:atd(8) Main PID: 17247 (atd) CGroup: /system.slice/atd.service └─17247 /usr/sbin/atd -l 7.5 -f Jun 10 09:38:30 xenial-vm systemd[1]: Started Deferred execution scheduler.
2
ответ дан 18 July 2018 в 11:53

То, что вы смотрите, есть старый файл SysV в старом стиле. Хотя systemd предоставляет механизм (для обратной совместимости) для запуска служб через такие файлы через режим совместимости с sysv, Ubuntu 16.04, похоже, не делает этого в этом случае, поэтому ваши изменения в файле инициализации просто игнорируются - m не уверен, почему файл все еще присутствует.

Вместо этого служба atd запускается непосредственно с помощью systemd, используя файл unit /lib/systemd/system/atd.service. Однако, вместо того, чтобы напрямую редактировать этот файл, вы должны использовать systemctl edit для создания настраиваемой конфигурации, как описано в превосходном ответе @ muru s Совместимость с svv

В частности,

sudo systemctl edit atd

затем добавить, например,

[Service] ExecStart= ExecStart=/usr/sbin/atd -l 7.5 -f

Сохранить и выйти, а затем перезапустить служебный блок

sudo systemctl restart atd.service

После этого вы можете подтвердить, что ваши изменения вступили в силу используя

systemctl status atd.service

Вы должны увидеть что-то вроде

● atd.service - Deferred execution scheduler Loaded: loaded (/lib/systemd/system/atd.service; enabled; vendor preset: enab Drop-In: /etc/systemd/system/atd.service.d └─override.conf Active: active (running) since Sat 2017-06-10 09:38:30 EDT; 8min ago Docs: man:atd(8) Main PID: 17247 (atd) CGroup: /system.slice/atd.service └─17247 /usr/sbin/atd -l 7.5 -f Jun 10 09:38:30 xenial-vm systemd[1]: Started Deferred execution scheduler.
2
ответ дан 24 July 2018 в 19:52

Другие вопросы по тегам:

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