Рейтинг:3

Удаление CUDA, удаление пакета невозможно

флаг es

В моей системе разработки (Kubuntu 20.04) я только что установил CUDA 11.3. После проверки установки я обнаружил несколько старых установленных пакетов CUDA, которые являются остатками экспериментов, проведенных некоторое время назад. Эта установка CUDA 11.2 была неполной, поэтому мне нужно было удалить пакеты один за другим (не через метапакет «cuda»). Я смог удалить их все, кроме одного: cuda-cudart-11-2.

При работе sudo apt удалить cuda-cudart-11-2 или же sudo apt --purge удалить cuda-cudart-11-2, подходящий называет два новых пакета, которые необходимо установить перед удалением cuda-cudart-11-2:

  • cuda-toolkit-11-config-общий
  • cuda-toolkit-config-общий

Мой первый вопрос: Как может удаление пакет требует установка новые пакеты? Я никогда не видел этого раньше.

Я подтвердил установку этих пакетов, предложенных подходящий и получил ошибки:

me@mypc:~$ sudo apt удалить cuda-cudart-11-2
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Будут установлены следующие дополнительные пакеты:
  cuda-toolkit-11-config-common cuda-toolkit-config-common
Следующие пакеты будут УДАЛЕНЫ:
  cuda-cudart-11-2
Будут установлены следующие НОВЫЕ пакеты:
  cuda-toolkit-11-config-common cuda-toolkit-config-common
0 обновлено, 2 недавно установлено, 1 удалено и 0 не обновлено.
Нужно получить 0 Б/32,2 КБ архивов.
После этой операции освободится 514 кБ дискового пространства.
Вы хотите продолжить? [Да/нет] г
(Чтение базы данных... На данный момент установлено 380817 файлов и каталогов.)
Подготовка к распаковке .../cuda-toolkit-11-config-common_11.3.109-1_all.deb ...
Распаковка cuda-toolkit-11-config-common (11.3.109-1)...
dpkg: ошибка обработки архива /var/cache/apt/archives/cuda-toolkit-11-config-common_11.3.109-1_all.deb (--unpack):
 попытка перезаписать '/etc/ld.so.conf.d/989_cuda-11.conf', который также находится в пакете cuda-cudart-11-2 11.2.152-1
Подготовка к распаковке .../cuda-toolkit-config-common_11.3.109-1_all.deb ...
Распаковка cuda-toolkit-config-common (11.3.109-1)...
dpkg: ошибка обработки архива /var/cache/apt/archives/cuda-toolkit-config-common_11.3.109-1_all.deb (--unpack):
 попытка перезаписать '/etc/ld.so.conf.d/000_cuda.conf', который также находится в пакете cuda-cudart-11-2 11.2.152-1
При обработке возникли ошибки:
 /var/cache/apt/archives/cuda-toolkit-11-config-common_11.3.109-1_all.deb
 /var/cache/apt/archives/cuda-toolkit-config-common_11.3.109-1_all.deb
E: Подпроцесс /usr/bin/dpkg возвратил код ошибки (1)

Насколько я понимаю, это говорит о том, что cuda-toolkit-11-config-общий не может быть установлен, потому что файл конфигурации /etc/ld.so.conf.d/989_cuda-11.conf не может быть перезаписан, потому что он используется cuda-cudart-11-2 (которое нельзя удалить, пока cuda-toolkit-11-config-общий установлено).Это звучит как своего рода тупик для меня.

Мой второй вопрос: Если это действительно тупик, как я могу его решить?

Jerare avatar
флаг in
Просто выполните процесс и попробуйте удалить cuda-toolkit-11-config-common после. Возможно, это решит проблему зависимости, и вы сможете удалить CUDA. Если это не сработает, то вы в тупике :/
флаг es
@Jerare Я не могу установить cuda-toolkit-11-config-common, потому что он хочет перезаписать используемый файл конфигурации. Мой английский неясен в этом?
user.dz avatar
флаг ng
Не могли бы вы попробовать решение в https://askubuntu.com/q/56761/26246. Что касается вашего вопроса, возможно, что у apt уже были зависшие пакеты, и они будут появляться всякий раз, когда вы запускаете apt. Также, если вы использовали aptitude или synaptic, если есть пакеты, которые устанавливаются вручную и зависят от этого пакета. aptitude и synaptic могут искать альтернативы, чтобы не нарушать зависимости.
флаг es
@user.dz Никогда не использовал aptitude или synaptic. Если это застрявшие пакеты, apt должен предлагать их в любое время, даже при установке чего-то совершенно не связанного? Я попытался установить какой-то случайный пакет приложений, и apt не упомянул пакеты cuda-toolkit*-config-common.
флаг es
@user.dz Связанное решение сработало. Я смог принудительно установить предложенные пакеты и сразу же удалить старый пакет. Файлы конфигурации не были обновлены, но я думаю, что они все еще действительны.
флаг es
Тем не менее мой первый вопрос не ответил
user.dz avatar
флаг ng
@Silicomancer это зависимости от cuda в соответствии с https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/Packages, просто установка не была завершена в первую очередь. Когда вы впервые заметили, что у APT возникла проблема, запускали ли вы когда-нибудь apt по другой причине, например, для обновления после установки cuda?
флаг es
@ user.dz Я почти уверен, что больше ничего не делал после установки пакета cuda. Я установил его, затем заметил, что версия, которую я получил, была новее, чем ожидалось (11.3 вместо 11.2), затем я перечислил все пакеты, содержащие «cuda», нашел старые пакеты 11.2 и удалил их (ну, большинство из них). Я не заметил ошибки во время установки cuda. Есть ли какой-нибудь журнал в Linux, который содержит запуски установки пакетов?
user.dz avatar
флаг ng
Да, `/var/log/dpkg.log*`
флаг es
Заглянул в лог. Я не понимаю. Я не вижу ничего, что выглядело бы как сбой, даже для неудачных удалений или неудачных установок.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.