Зависит ли openjdk-7-jdk от systemd?

Я пытаюсь установить openjdk-7-jdk в Ubuntu Trusty (с apt или aptitude), но, похоже, это зависит от systemd, чего я бы хотел избежать. Но также, я не вижу systemd в выводе debtree или apt-rdepends. Почему это так? [F11] зависит от systemd или нет?

Чтобы предоставить вам более крупную картинку, я предоставляю сервер. И все это происходит при установке elasticsearch. Он хочет java, а java хочет systemd. Но после установки systemd он не может включить elasticsearch, поскольку он поставляется с init-скриптом, а не с файлом unitd. Он видит systemctl и предполагает, что он должен использоваться, а не service.

UPD Это не нужно systemd, пока я не apt update. Перед apt update:

# apt-cache policy openjdk-7-jdk
openjdk-7-jdk:
  Installed: (none)
  Candidate: 7u101-2.6.6-0ubuntu0.14.04.1
  Version table:
     7u101-2.6.6-0ubuntu0.14.04.1 0
        500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     7u51-2.4.6-1ubuntu4 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

# apt-cache policy systemd
systemd:
  Installed: (none)
  Candidate: (none)
  Version table:

После apt update:

# apt-cache policy openjdk-7-jdk
openjdk-7-jdk:
  Installed: (none)
  Candidate: 7u121-2.6.8-1ubuntu0.14.04.1
  Version table:
     7u121-2.6.8-1ubuntu0.14.04.1 0
        500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     7u51-2.4.6-1ubuntu4 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

# apt-cache policy systemd
systemd:
  Installed: (none)
  Candidate: 204-5ubuntu20.20
  Version table:
     204-5ubuntu20.20 0
        500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages

Не переключение Ubuntu Trusty на systemd?

Также , ОС работает в контейнере lxc, но я сомневаюсь, что это связано с этим. И это новая установка, так сказать. Я создаю контейнер, войдите в систему, apt update, apt install openjdk-7-jdk, и он хочет systemd.

/etc/apt/sources.list:

deb http://archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse

И ничего в /etc/apt/sources.list.d.

1
задан 30 December 2016 в 21:20

1 ответ

Доступен пакет openjdk-7-jdk для Ubuntu 14.04 (Trusty). 14.04 основан на Upstart, а не на доверии. Поэтому пакет должен запускаться 14.04 без системы system init.

Пакет systemd, на который вы ссылаетесь, представляет собой пакет openjdk-7-jdk, доступный для Ubuntu 14.04 (Trusty) . С этой страницы вы можете загрузить и просмотреть пакеты, добавленные Debian для создания пакета.

В сжатом архиве вы найдете это в файле README:

systemd может быть установленный рядом с sysvinit и не изменит поведение системы из коробки. Это намеренно. Чтобы проверить systemd, добавьте:
init=/bin/systemd
в командную строку ядра, а затем перезагрузитесь или установите пакет systemd-sysv.

systemd предоставляет несколько пакетов, из которых OpenJDK должен зависеть от одного. Вы можете подтвердить, что пакет systemd-sysv не является зависимым.

Я не знаю об обстоятельствах, при которых установка стандартных пакетов на Ubuntu 14.04 приведет к переключению системы на использование systemd в качестве системы init без пользователь явно выбирает.

Если ваша система 14.04 каким-то образом заканчивается установкой Upstart и systemd, вы можете прервать процесс загрузки, войти в меню grub и изменить командную строку ядра, чтобы добавить init=/sbin/upstart в загрузите его с помощью Upstart, а затем удалите или измените то, что вам нужно.

Чтобы решить проблему с запуском elasticsearch, используйте для загрузки и просмотра пакетов, которые Debian добавлен, чтобы сделать пакет. , чтобы найти версию elasticsearch из trusty или ранее, и скопируйте сценарий «init.d» оттуда. Это исправление будет продолжаться с помощью обновлений elasticsearch, которые вы можете сделать.

Я думаю, что вы поймали странное состояние, потому что, хотя вы используете 14.04, некоторые сторонники пакетов ожидают systemd. Я не думаю, что вы найдете лучшее решение, чем обходной путь.

6
ответ дан 23 May 2018 в 02:54
  • 1
    Не стесняйтесь задавать вопросы о моей среде. И проверьте мой вопрос, пожалуйста, я добавил более подробную информацию. – x-yuri 30 December 2016 в 21:17
  • 2
    Здесь вы идете, systemd в trusty-updates. – x-yuri 30 December 2016 в 21:22
  • 3
    Ответ обновлен. – Mark Stosberg 31 December 2016 в 15:24
  • 4
    You can confirm that the systemd-sysv package is not a dependency. Я вижу единственный способ (если systemd-sysv еще не установлен): apt install openjdk-7-jdk и посмотреть, хочет ли он его установить. Как я сказал ранее, мне не удалось найти цепочку зависимостей, которая приводит к пакету systemd. Вы можете помочь здесь? Тогда я не говорю, что моя система переключилась на systemd. Я говорю, что после установки openjdk-7-jdk ansible видит / bin / systemctl и пытается использовать его для включения elasticsearch. Но elasticsearch не поставляется с системным файлом systemd. Он поставляется с скриптом инициализации. И невозможно. – x-yuri 31 December 2016 в 16:32
  • 5
    Ответ обновлен, чтобы справиться с неудачным поиском elastics. – Mark Stosberg 31 December 2016 в 21:47

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

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