Назад | Перейти на главную страницу

Я не могу получить нужные элементы для загрузки на ubuntu-16.04 и systemd

Мне нужно было создать новый образ, и я выбрал новую ubuntu 16.04, чтобы я мог получать более новые версии некоторых пакетов, а не устанавливать их из исходников. Пока что я сожалею об этом решении, так как онлайн-документов мало.

В версиях 12.04 и 14.04 мне часто удавалось переназначить сценарии запуска для пользовательских компиляций, установив пакет, а затем удалив (не очищая) его, чтобы создать сценарии запуска ubuntu. Затем я мог бы просто отредактировать их, чтобы они указывали на правильный файл конфигурации и двоичный файл.

Например, чтобы использовать последнюю версию openresty, я мог бы просто сделать следующее:

apt-get install nginx
apt-get remove nginx

Тогда я мог бы просто обновить /etc/init.d/nginx script, чтобы указать на мой собственный двоичный / конфигурационный файл, и у меня есть счастливый сценарий запуска ubuntu. Большой!

Этот метод больше не работает с 16.04.

Я редактировал:

ubuntu никогда не извлекает мой двоичный файл (который находится в /usr/local/openresty/nginx/sbin/nginx). это всегда работает /sbin/nginx при загрузке (сначала я пропустил удаление nginx-core) или вообще ничего. То же самое и с другими пакетами.

Документы Ubuntu по переходу от выскочки отсутствуют в этой области, они связаны с «старт-стоп».

у меня есть без понятия где ubuntu решает это. я не могу найти никаких файлов конфигурации, которые указывают на /sbin/nginx. Никакие логи не помогают. Каждый потенциальный файл, с которым я сталкивался, указывает на альтернативный двоичный файл и конфигурацию.

Если кто-нибудь сможет поделиться хорошим ресурсом об использовании новой системы запуска и о том, где она выглядит / хранит информацию, я был бы невероятно благодарен.

Похоже, здесь задействована база данных, поскольку она обнаружила изменения файлов и попросила меня перезагрузить, но я ее не нашел.

Обновить

после того, как я много поигрался, я понял следующее:

Кажется, что пакет nginx установил два типа настроек, но использует только один. некоторые проблемы были связаны с этим.

  1. /etc/init.d/nginx и /etc/init/nginx.conf
  2. /lib/systemd/system/nginx.service и /etc/systemd/system/nginx.service

методом проб и ошибок: * запустить systemctl disable nginx.service для отключения / удаления большинства ссылок и файлов * удалить файл в /etc/systemd/system/nginx.service, если он существует * поместить новый файл в /lib/systemd/system/nginx.service * запустить systemctl enable nginx.service

файл в /lib/systemd/system/nginx.service должен быть файлом; это не может быть символическая ссылка (в противном случае появляется ошибка слишком большого количества символических ссылок)

похоже, пока это работает. Я хотел бы использовать символические ссылки, поскольку эти файлы привязаны к системе контроля версий.

Не могли бы вы создать новую службу для своей пользовательской установки, а затем сделать ее автозапуском?

[Unit]
Description=Jonathan Vanasco nginx

[Service]
ExecStart=STARTUP COMMAND YOU WANT FOR CUSTOM

[Install]
WantedBy=multi-user.target

Потом проверка начинается:

systemctl start NAMEOFCUSTOM.service

Затем установите автоматический запуск при загрузке:

systemctl enable NAMEOFCUSTOM.service