Як змусити 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.

Відповіді:


9

У мене була така ж проблема при спробі встановити CUDA 7.5 в Ubuntu 16.04. Це пов’язано з відсутнім записом SHA256 або SHA512 в пакеті CUDA (про що повідомляє команда Debian тут ).

Здається, що ми не можемо змусити оновлення apt-get для отримання "незахищеного сховища", але я міг повністю уникнути проблеми, використовуючи файл .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)

EDIT: Після кроків 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 він працює чудово, і я навіть можу його використовувати з tensorflow
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

Дякую за редагування, тож вам не потрібен 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

І встановлено правильно.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.