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

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

Чтобы дать вам более полную картину, я готовлю сервер. И все это происходит при установке elasticsearch. Он хочет java, а java хочет systemd. Но после установки systemd он не может включить elasticsearch, так как он поставляется со скриптом инициализации, а не с файлом systemd unit. Он видит 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.

4
задан 31 December 2016 в 06:20

2 ответа

Это сложилось, systemd был втянут как рекомендация, а именно:

http://packages.ubuntu.com/trusty-updates/openjdk-7-jdk
http://packages.ubuntu.com/trusty-updates/openjdk-7-jre
http://packages.ubuntu.com/trusty-updates/libgtk-3-0
http://packages.ubuntu.com/trusty/libcolord1 (рекомендует окрашенный),
http://packages.ubuntu.com/trusty/colord
http://packages.ubuntu.com/trusty-updates/policykit-1
http://packages.ubuntu.com/trusty-updates/libpam-systemd
http://packages.ubuntu.com/trusty-updates/systemd-services

И здесь мы видим различие в поведении между контейнерами LXC и физическими серверами. Контейнеры LXC обычно идут с основным набором пакетов. Вещи как они могли бы отсутствовать: man, less, ping, vi, curl.

Точка быть, systemd-services зависит от systemd или systemd-shim (> = 3). После новой установки Ubuntu Вы обычно имеете systemd-shim установленный. Так установка openjdk-7-jdk не сдерживается systemd пакет.

В случае контейнера LXC ни один из тех двух не установлен, поэтому при выяснении apt устанавливать openjdk-7-jdk это choses первый: systemd пакет.

Одним способом бороться с ним является установка systemd-shim перед установкой openjdk-7-jdk. Который мне нравится больше, начиная с другой одного (apt install --no-install-recommends openjdk-7-jdk) мог бы отклонить некоторые полезные зависимости.

Дополнительную информацию см. в этом обсуждении списка рассылки.

Посмотрите этот вопрос для получения дополнительной информации о прослеживании зависимостей.

1
ответ дан 31 December 2016 в 06:20
  • 1
    Обратите внимание, что -d обновления версии разработки, и вероятны плохая идея для большинства пользователей, взгляните на эту опцию вместо этого: askubuntu.com/questions/1085295/… – Ciro Santilli 新疆改造中心996ICU六四事件 15 December 2018 в 06:11

Существует пакет openjdk-7-jdk, доступных для Ubuntu 14.04 (Надежный человек) . 14.04 основан на Выскочке, не надежном человеке. Поэтому пакет должен работать 14.04 без systemd init система.

systemd пакет Вы относящийся к systemd от испытанных обновлений . От той страницы Вы можете загрузка и рассматривать пакеты, которые Debian добавил для создания пакета.

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

systemd может быть установлен вместе с sysvinit и не изменит поведение системы из поля. Это является намеренным. Для тестирования systemd добавьте:

init=/bin/systemd

к командной строке ядра и затем перезагрузке или установке systemd-sysv пакет.

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

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

Должен Ваши 14,04 систем так или иначе заканчиваться и с Выскочкой и с установленным systemd, можно прервать процесс начальной загрузки, ввести меню личинки и изменить командную строку ядра для добавления init=/sbin/upstart, чтобы загрузить его назад с Выскочкой, и затем удалить или изменить то, что Вы должны.

<час>

Для решения проблемы с elasticsearch, не запускающимся, используйте http://packages.ubuntu.com , чтобы найти версию elasticsearch от trusty или ранее и скопировать "init.d" сценарий оттуда. Эта фиксация сохранится посредством обновлений elasticsearch, который можно сделать.

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

0
ответ дан 16 April 2019 в 12:34

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

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