Как я могу заставить 16.04 добавить репозиторий, даже если он не считается достаточно безопасным?

9

Мне действительно нужно установить Nvidia Cuda, но я получаю ошибку

E: Failed to fetch file:/var/cuda-repo-7-5-local/Release  No Hash entry in Release file /var/lib/apt/lists/partial/_var_cuda-repo-7-5-local_Release which is considered strong enough for security purposes

Могу ли я заставить его установить его в любом случае? Мне действительно нужно использовать это, даже если это небезопасно. Я сомневаюсь, что Nvidia будет обновлять репозиторий для работы с 16.04 в ближайшее время.

rajlego
источник

Ответы:

9

У меня была такая же проблема при попытке установить CUDA 7.5 в Ubuntu 16.04. Это связано с отсутствием записи SHA256 или SHA512 в пакете CUDA (как сообщается командой Debian здесь ).

Кажется, что мы не можем заставить apt-get update извлечь «незащищенный репозиторий», но я мог бы полностью избежать этой проблемы, используя файл .run. Вот что я сделал шаг за шагом:

  1. Вместо загрузки пакета .deb загрузите файл .run (с этой страницы )
  2. Установите совместимый компилятор (кажется, что cuda 7.5 несовместим со стандартным компилятором Ubuntu 16.04):

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. Вам может потребоваться установить некоторые дополнительные пакеты (зависит от вашей конфигурации):

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. Запустите файл запуска и следуйте инструкциям:

    sudo sh cuda_7.5.18_linux.run
    

Это хорошо сработало для меня (не забудьте установить драйвер NVIDIA)

РЕДАКТИРОВАТЬ: После шагов 2 и 3, если установщик CUDA пытается использовать gcc 5.3.1 (по умолчанию для ubuntu 16.04) в качестве компилятора вместо версии 4.9, вы можете попробовать удалить версию 5.3.1, установить CUDA, а затем переустановить последнюю версию gcc версия.

Амин Всадник
источник
Я не знаю, является ли она новой, но, увидев мою «неправильную» версию gcc, скрипт установки фактически предложил запустить ее снова с флагом «--override». Поэтому я запустил его снова, sh cuda_7.5.18_linux.run --overrideи на данный момент все работает нормально: я могу запустить простой код TensorFlow, используя мою карту NVidia. Установка происходит практически мгновенно, и я не думаю, что она скомпилирована. Я не уверен, почему нужно указывать компилятор ... У меня могут возникнуть некоторые проблемы позже.
toto2
Я должен указать, что я пропустил установку драйвера, так как он уже был установлен. Я не уверен, что это могло бы обойти какую-то компиляцию.
toto2
Я думал, что драйвер Nvidia не устанавливается автоматически в 16.04? Я также попросил разработчиков Nvidia решить проблему с хранилищем CUDA .deb, но они сказали, что Cuda 7.5 не поддерживается 16.04. Кажется странным, потому что с помощью установщика .sh он работает нормально, и я даже могу использовать его с tenorflow
Amine Horseman
Драйвер NVidia действительно не установлен по умолчанию. Я попытался установить его непосредственно от NVidia, и я испортил свою систему. Но потом я понял, что вы можете легко установить его, выбрав «Настройки»> «Программное обеспечение и обновления»> «Дополнительные драйверы». Это может быть не последним, но это довольно просто.
toto2
5

Измените /var/cuda-repo-7-5-local/Releaseна следующее:

Origin: NVIDIA
Label: NVIDIA CUDA
Architecture: repogenstagetemp
MD5Sum:
 51483bc34577facd49f0fbc8c396aea0            75379 Packages
 4ef963dfa4276be01db8e7bf7d8a4f12            21448 Packages.gz
SHA256:
 532b1bb3b392b9083de4445dab2639b36865d7df1f610aeef8961a3c6f304d8a            75379 Packages
 2e48cc13b6cc5856c9c6f628c6fe8088ef62ed664e9e0046fc72819269f7432c            21448 Packages.gz

Запустите sudo apt-get updateигнорирование предупреждений о недействительных подписях, и все готово.

Если это не удалось, замените сумму SHA256 на вывод

sha256sum /var/cuda-repo-7-5-local/Packages.gz

а также

gunzip -c /var/cuda-repo-7-5-local/Packages.gz | sha256sum
Хуазуо Гао
источник
2

В настоящее время вы можете использовать следующие команды в Ubuntu 16.04 для установки CUDA Toolkit 7.5:

sudo apt install nvidia-cuda-toolkit
SentinalBais
источник
Спасибо за редактирование, так что вам не нужен cuda-dev?
SentinalBais
0

Я не могу комментировать, но добавляю к ответу @ Horse-man: Вам не нужно удалять / переустанавливать gcc, если у вас уже установлен gcc 4.9. Для меня этого было достаточно

sudo unlink /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.9 /usr/bin/gcc

Мой gcc-4.9 был действительно 4.9.3, который не понравился установщику CUDA, поэтому я выполнил его, используя

sudo sh cuda_7.5.18_linux.run --override

И это установлено правильно.

Гай Рапапорт
источник
0

Решение простое:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
Мистер пурпурный
источник