?

Log in

No account? Create an account
Previous Entry Поделиться Next Entry
[SOLVED] Sonatype Nexus 2 на Debian Stretch.
ещё одна
dyasya wrote in ru_linux
Всем привет.

Ставлю $SUBJ. Чистый-непорочный Debian 9.6 netinstall, на него развёрнут Oracle JDK8, ln -s /usr/java/latest/bin/java /usr/bin/. Создал пользователя nexus, в $HOME развернул nexus-2.14.10-01-bundle.tar.gz, руками запустил .../bin/nexus start - живёт.

Естественно захотел автостарт при загрузке ОС. Делаю всё как сказано в https://help.sonatype.com/repomanager2/installing-and-running/configuring-nexus-repository-manager-as-a-service - "а включаешь - не работает" (с) МихМих.

1. Create a nexus user with sufficient access rights to run the service - сделано.
2. Copy $NEXUS_HOME/bin/nexus to /etc/init.d/nexus и
3. Make the /etc/init.d/nexus script executable and owned by the root user - вот:
/etc/init.d:
-rwxr-xr-x 1 root root 14775 янв 9 18:32 nexus
4. Edit this script changing the following variables: - сделано:
a. NEXUS_HOME="/home/nexus/nexus-2.14.10-01"
b. RUN_AS_USER="nexus"
c. PIDDIR="/home/nexus/nexus-2.14.10-01"
5. Change the owner and group of the directories used by the repository manager, including nexus-work configured in nexus.properties defaulting to sonatype-work/nexus, to the nexus user that will run the application. - само собой, ибо в $HOME.
6. If Java is not on the default path for the user running the repository manager, add a JAVA_HOME variable which points to your local Java installation and add a $JAVA_HOME/bin to the PATH. - не надобно, ибо which java => /usr/bin/java, и собственно по умолчанию она нормально и вызывается.

Ключ на старт: Runs as a Service on Ubuntu and Debian
# cd /etc/init.d
# update-rc.d nexus defaults
# service nexus start
Ага, стартанул.
# tail -f /usr/local/nexus/logs/wrapper.log
Ага, и хвост годный показал.

А теперь, на радостях:
# reboot
... и тишинааааа.

Захожу, пускаю руками - работает.

ЧЯДНТ? Ткните носом, плс.

UPDATE/SOLVED: Всем спасибо за намёки на системду. Взял "рецепт" для включения rc.local: https://softnastroy.com/content/vklyuchaem-rclocal-v-debian-9-stretch.html - и аналогично сделал nexus.service. Доволен аки слон. :)


  • 1
скрипты из /etc/init.d/ сами по себе не запускаются.
Может, попробовать "systemctl enable nexus" ?

update-rc.d nexus defaults должно быть достаточно.

Да ведь update-rc.d обрабатывает ссылки в директориях /etcd/rc*.d/ , которые использовались раньше, а теперь systemd вроде туда не смотрит, его надо systemctl'ем подправлять.

сейчас в дебиане системный демон имеется (systemd), мне кажется он вообще на /etc/init.d кладёт, ему надо свои спец-файлы писать (что-то в этом духе unix.stackexchange.com/questions/47695)

Ну, может, при установке этого nexus, уже добавилось что надо, и осталось просто указать в systemd, чтоб оно автоматически запускалось при загрузке опреационной системы, а это systemctl'ем делается.

это едва ли, оно конечно пальцем в небо ткну, но раз уж ваша инструкция по ссылке подробно упоминает скрипты для system V init, но совершенно не упоминает ничего про systemd, то едва ли скрипты для systemd включены. Но зачем гадать, вы ж можете сами посмотреть, что там установилось

Ну если systemctl status nexus его покажет, то enable будет вполне достаточно.

Хммм, а вы в чём-то правы:

# systemctl enable nexus
nexus.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nexus
update-rc.d: error: nexus Default-Start contains no runlevels, aborting.

Пойду гуглить про contains no runlevels.

я бы всё таки проверил вывод
journalctl -u nexus
systemctl status nexus

и ставил java через make-jpkg и пакета java-package. Но это уже дело вкуса.

  • 1