Как я разрешаю конфликты пакета между Ubuntu и GIMP?

В Ubuntu 18.04 (Корица), пакет cpp-7 зависит точно от версии 7.3.0-27ubuntu1~18.04 из пакета gcc-7-base:

$ aptitude why gcc-7-base
i   cpp-7 Depends gcc-7-base (= 7.3.0-27ubuntu1~18.04)

Между тем, пакет libgfortran4 зависит точно от версии 7.3.0-16ubuntu3 из того же пакета gcc-7-base:

$ apt-cache show libgfortran4
Package: libgfortran4
...
Depends: gcc-7-base (= 7.3.0-16ubuntu3), libc6 (>= 2.27), libgcc1, libquadmath0

и libgfortran4 не установит, если у меня будет другая версия пакета, уже установленного:

$ sudo apt-get install libgfortran4
...
The following packages have unmet dependencies:
 libgfortran4 : Depends: gcc-7-base (= 7.3.0-16ubuntu3) but 7.3.0-27ubuntu1~18.04 is to be installed
                Depends: libquadmath0 but it is not going to be installed

cpp-7 находится в графе зависимостей ubuntu-desktop. libgfortran4 находится в графе зависимостей gimp. Разве это не подразумевает, что никто никогда не может устанавливать GIMP из репозиториев на Ubuntu 18.04? Исправьте меня, если я неправ, но я, конечно, не могу.

Сделать вопрос еще более невыносимым, apt-cache showpkg шоу, что две различных версии gcc-7-base приезжайте из того же репозитория и имейте тот же хеш MD5:

$ apt-cache showpkg gcc-7-base
Package: gcc-7-base
Versions: 
7.3.0-27ubuntu1~18.04 (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_Packages
                  MD5: b6e93638a6d08ea7a18929d7cf078e5d
...
7.3.0-16ubuntu3 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_Packages
                  MD5: b6e93638a6d08ea7a18929d7cf078e5d

при значении (снова, исправьте меня, если я неправ), что они - тот же самый код. Так, нет фактического конфликта зависимости здесь, только одной из маркировок.

Как это происходит и как я фиксирую его? Например, есть ли способ для меня сказать также cpp-7 или libgfortran4 то, что это должно хорошо принять другую версию gcc-7-base, потому что это - тот же самый код? Я должен был вовлечь специалиста (специалистов) по обслуживанию пакета?

Править: Несколько дней назад я отправил вопрос по этой теме. Текущим вопросом является вниз суженный результат работы, которую я сделал на нем тем временем.

Править: Это мои активные источники:

$ grep -Ev '(^#|^ *$|deb-src)' /etc/apt/sources.list /etc/apt/sources.list.d/*
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic universe
/etc/apt/sources.list:deb http://us.archive.ubuntu.com/ubuntu/ bionic multiverse
/etc/apt/sources.list:deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main
/etc/apt/sources.list.d/keybase.list:deb http://prerelease.keybase.io/deb stable main
/etc/apt/sources.list.d/keybase.list.save:deb http://prerelease.keybase.io/deb stable main
/etc/apt/sources.list.d/vscode.list~:deb [arch=amd64] http://packages.microsoft.com/repos/vscode stable main

Существует прокомментированный deb-src для обновлений,

# deb-src http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

но ничто не прокомментировало или непрокомментированный для обновлений, это справедливо deb. Если я добавляю строку

deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

?

Править: Добавление

deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

к моему /etc/apt/sources.list файл, затем $ sudo apt-get update обработанный. GIMP, установленный как ожидалось с $ sudo apt-get install gimp. Спасибо всем!

6
задан 2 December 2018 в 09:46

3 ответа

Этот вид проблемы обычно фиксируется простым apt update.

Давайте посмотрим почему путем запросов мадисонской базы данных для доступных 18,04 версий gcc-7-base и libgfortran4.

$ rmadison gcc-7-base
 gcc-7-base | 7.3.0-16ubuntu3       | bionic         | amd64, arm64, armhf, i386, ppc64el, s390x
 gcc-7-base | 7.3.0-27ubuntu1~18.04 | bionic-updates | amd64, arm64, armhf, i386, ppc64el, s390x

$ rmadison libgfortran4
 libgfortran4 | 7.3.0-16ubuntu3       | bionic         | amd64, arm64, armhf, i386, ppc64el, s390x
 libgfortran4 | 7.3.0-27ubuntu1~18.04 | bionic-updates | amd64, arm64, armhf, i386, ppc64el, s390x

Вы видите это libgfortran4 бионическое (необновления) версия и имеет бионическое (необновления) зависимость. gcc-7-base, с другой стороны, использует более новую зависимость бионических обновлений.

Существует две общих причины этого вида de-синхронизации между основным репозиторием, и это является соответствующим - репозиторий обновлений в единой системе.

  1. Пользователь недавно отключил - репозиторий обновлений. Достаточно легкий проверить и зафиксировать в/etc/apt/sources.list или Вашем программном обеспечении и Исходной панели управления.

  2. Пользователь просто не работал apt update в некоторое время для обновления (обновляют) локальную базу данных Кв. доступных пакетов из обоих источников. Это - легкая фиксация, также.

Ваш файл/etc/apt/sources.list должен иметь некоторую комбинацию зеркал и источников, который составляет в целом:

deb [mirror URL] bionic main
deb [mirror URL] bionic-updates main
deb [mirror URL] bionic-security main

Дополнительное universe, multiverse, и restricted repos может быть включен в те же строки.

9
ответ дан 23 November 2019 в 07:25

Другая опция состоит в том, чтобы установить поспешную версию GIMP. Я понимаю, что некоторым людям не нравятся снимки, но это может быть более приемлемым решением для случайного пользователя Linux.

sudo snap install gimp
3
ответ дан 23 November 2019 в 07:25

В дополнение к принятому ответу: Если у Вас есть только включенные источники по умолчанию и последний список пакета (apt update) и все еще встретьтесь с такими конфликтами на основных пакетах как калека, затем сообщите об ошибке. Это - что-то, что должно быть зафиксировано специалистом по обслуживанию пакета и что, вероятно, довольно легко зафиксировать для него. Это также может влиять на большее количество людей, чем просто Вы. Такие ошибки время от времени происходят, но специалисты по обслуживанию должны знать.

Конечно, необходимо удостовериться, что состояние конфигурации и пакета не является проблемой прежде, потому что, если у Вас, например, есть калека (или некоторые ее зависимости) из стороннего репозитория, специалисты по обслуживанию человечности не могут помочь Вам.

0
ответ дан 23 November 2019 в 07:25

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

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