Ubuntu 16.04: программа обновления программного обеспечения и блок перестали работать

OK. Ну, после изучения ошибок Debian, я нашел эту страницу об этом человеке, который жалуется на новое поведение dselect-upgrade, которое сопровождает сопровождение. Тем не менее, похоже, что manpage позволяет пользователям, которые мы с вами, полностью завязаны в результате изменения. Теплый прием на бесплатное программное обеспечение:)

Итак, решение довольно ясное. Вам нужно установить пакет dctrl-tools:

$ sudo apt-get install dctrl-tools

Затем вам нужно синхронизировать базу данных, так как в противном случае новое поведение dselect-upgrade будет информировать только о текущем наборе пакетов в apt database.

$ sudo sync-available
Merging available database in /tmp/apt-available.80qLJ6...done.
Replacing available packages info, using /tmp/apt-available.80qLJ6.
Information about 88311 packages was updated.
$ 

Далее, как обычно:

$ sudo dpkg --set-selections < Xenial.16.04.Installed.Packages.GA-Z370-AORUS-G7.log
dpkg: warning: package not in database at line 29: adobereader-enu:i386
[...]
dpkg: warning: package not in database at line 7929: zint-qt
dpkg: warning: package not in database at line 7929: zint-qt-devel
dpkg: warning: found unknown packages; this might mean the available database
is outdated, and needs to be updated through a frontend method
$ 

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

$ sudo apt-get dselect-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libavcodec-ffmpeg56
The following NEW packages will be installed:
  aaphoto abiword abiword-common abiword-plugin-grammar account-plugin-aim account-plugin-foursquare
  account-plugin-identica account-plugin-instagram account-plugin-jabber account-plugin-salut account-plugin-twitter
  account-plugin-yahoo acetoneiso acpica-tools acpidump activity-log-manager-control-center adequate advancecomp
[...]
  xsel xserver-xephyr xsltproc xtightvncviewer xtrans-dev xubuntu-icon-theme xutils-dev xvfb xvid4conf xzdec xzgv
  y-ppa-manager yad yasm yelp-tools youtube-dl zeitgeist zim zlib1g:i386 zlib1g-dev zsh zsh-common
0 upgraded, 6074 newly installed, 1 to remove and 0 not upgraded.
Need to get 7,138 MB/7,140 MB of archives.
After this operation, 24.2 GB of additional disk space will be used.
Do you want to continue? [Y/n] n
$ 

С целью документирования этого вопроса Ask Ubuntu я ответил нет. Позже я буду использовать процесс, описанный в моем вопросе выше, чтобы сохранить трассировку файла обновления. Но на этот раз он работает, как ожидалось, наконец!

0
задан 14 April 2018 в 03:29

3 ответа

Я нашел, что похоже на ответ, который решил мою проблему, но это скорее метод кувалды, который в конце концов не помогает. Удаление целого каталога, вероятно, не самый изящный способ:

sudo rm -rf /usr/local/lib/python3.5/dist-packages

После этого пип не был установлен, поэтому я переустановил его с помощью

sudo apt-get update
sudo apt-get install python3-pip 

pip вернулся и работал и проблема с Software Updater была также решена как ожидалось. Это «решение» работает, хотя оно удаляет многие библиотеки, такие как matplotlib, которые впоследствии необходимо переустановить. Но когда я переустановил matplotlib 2.1.2, была вызвана ошибка pip. Я действительно не могу рекомендовать этот подход.

tl; dr: Не делайте этого.

Итак, вернемся к квадрату. Решена проблема переустановки pip и каждой следующей библиотеки с sudo -H, например

sudo -H apt install --reinstall python3-pip

Без флага -H установка matplotlib вызвала ту же проблему pip , Но все же я получил сообщение об ошибке. Решение похоже на ответ, который решил мою проблему , исходящую здесь:

Я отредактировал строку # 2121 ~ 2122 этого файла: /usr/local/lib/python3.5/ dist-packages / pip / _vendor / pkg_resources / __ init__.py
#orig_path.sort(key=position_in_sys_path)
#module.__path__[:] = [_normalize_cached(p) for p in orig_path]
orig_path_t = list(orig_path)
orig_path_t.sort(key=position_in_sys_path)
module.__path__[:] = [_normalize_cached(p) for p in orig_path_t]

Этот восстановленный pip / pip3 и я смогли установить модули. Пока все работает. Будем надеяться, это будет последним.

Редактирование: через неделю проблема не возникла, поэтому я отмечаю это как принятый ответ.

Редактировать 2: обновление pip возродило проблему. По-видимому, обновление переписало модификацию. Не было никаких проблем повторно вводить его снова и избавиться от аберрантного поведения.

1
ответ дан 22 May 2018 в 12:55
  • 1
    Вы должны иметь возможность достичь того же без строки sudo rm. НИКОГДА не удаляйте места файлов менеджером пакетов, если вы действительно не знаете, что делаете. Выполнение так часто решает непосредственную проблему, но создает гораздо худшую проблему позже, когда вы обнаружите, что ваш менеджер пакетов загадочно разбит. – user535733 24 February 2018 в 21:25
  • 2
    Это было исправлено в github.com/pypa/pip/commit/… около года назад. И реальное исправление должно использовать virtualenvs вместо iffy «sudo pip». ;) – jhermann 12 March 2018 в 20:04

Я нашел, что похоже на ответ, который решил мою проблему, но это скорее метод кувалды, который в конце концов не помогает. Удаление целого каталога, вероятно, не самый изящный способ:

sudo rm -rf /usr/local/lib/python3.5/dist-packages

После этого пип не был установлен, поэтому я переустановил его с помощью

sudo apt-get update sudo apt-get install python3-pip

pip вернулся и работал и проблема с Software Updater была также решена как ожидалось. Это «решение» работает, хотя оно удаляет многие библиотеки, такие как matplotlib, которые впоследствии необходимо переустановить. Но когда я переустановил matplotlib 2.1.2, была вызвана ошибка pip. Я действительно не могу рекомендовать этот подход.

tl; dr: Не делайте этого.

Итак, вернемся к квадрату. Решена проблема переустановки pip и каждой следующей библиотеки с sudo -H, например

sudo -H apt install --reinstall python3-pip

Без флага -H установка matplotlib вызвала ту же проблему pip , Но все же я получил сообщение об ошибке. Решение похоже на ответ, который решил мою проблему , исходящую здесь:

Я отредактировал строку # 2121 ~ 2122 этого файла: /usr/local/lib/python3.5/ dist-packages / pip / _vendor / pkg_resources / __ init__.py #orig_path.sort(key=position_in_sys_path) #module.__path__[:] = [_normalize_cached(p) for p in orig_path] orig_path_t = list(orig_path) orig_path_t.sort(key=position_in_sys_path) module.__path__[:] = [_normalize_cached(p) for p in orig_path_t]

Этот восстановленный pip / pip3 и я смогли установить модули. Пока все работает. Будем надеяться, это будет последним.

Редактирование: через неделю проблема не возникла, поэтому я отмечаю это как принятый ответ.

Редактировать 2: обновление pip возродило проблему. По-видимому, обновление переписало модификацию. Не было никаких проблем повторно вводить его снова и избавиться от аберрантного поведения.

1
ответ дан 17 July 2018 в 20:05

Я нашел, что похоже на ответ, который решил мою проблему, но это скорее метод кувалды, который в конце концов не помогает. Удаление целого каталога, вероятно, не самый изящный способ:

sudo rm -rf /usr/local/lib/python3.5/dist-packages

После этого пип не был установлен, поэтому я переустановил его с помощью

sudo apt-get update sudo apt-get install python3-pip

pip вернулся и работал и проблема с Software Updater была также решена как ожидалось. Это «решение» работает, хотя оно удаляет многие библиотеки, такие как matplotlib, которые впоследствии необходимо переустановить. Но когда я переустановил matplotlib 2.1.2, была вызвана ошибка pip. Я действительно не могу рекомендовать этот подход.

tl; dr: Не делайте этого.

Итак, вернемся к квадрату. Решена проблема переустановки pip и каждой следующей библиотеки с sudo -H, например

sudo -H apt install --reinstall python3-pip

Без флага -H установка matplotlib вызвала ту же проблему pip , Но все же я получил сообщение об ошибке. Решение похоже на ответ, который решил мою проблему , исходящую здесь:

Я отредактировал строку # 2121 ~ 2122 этого файла: /usr/local/lib/python3.5/ dist-packages / pip / _vendor / pkg_resources / __ init__.py #orig_path.sort(key=position_in_sys_path) #module.__path__[:] = [_normalize_cached(p) for p in orig_path] orig_path_t = list(orig_path) orig_path_t.sort(key=position_in_sys_path) module.__path__[:] = [_normalize_cached(p) for p in orig_path_t]

Этот восстановленный pip / pip3 и я смогли установить модули. Пока все работает. Будем надеяться, это будет последним.

Редактирование: через неделю проблема не возникла, поэтому я отмечаю это как принятый ответ.

Редактировать 2: обновление pip возродило проблему. По-видимому, обновление переписало модификацию. Не было никаких проблем повторно вводить его снова и избавиться от аберрантного поведения.

1
ответ дан 23 July 2018 в 20:49

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

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