Como forçar o 16.04 a adicionar um repositório, mesmo que não seja considerado suficientemente seguro?

9

Eu realmente preciso instalar a Nvidia Cuda, mas estou recebendo o erro

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

Posso forçá-lo a instalá-lo assim mesmo? Eu realmente preciso usá-lo, mesmo que seja inseguro. Duvido que a Nvidia esteja atualizando o repositório para funcionar com o 16.04 em breve.

rajlego
fonte

Respostas:

9

Eu tive o mesmo problema ao instalar o CUDA 7.5 no Ubuntu 16.04. Isso ocorre devido à falta de uma entrada SHA256 ou SHA512 no pacote CUDA (conforme relatado pela equipe Debian aqui ).

Parece que não podemos forçar o apt-get update a buscar um "repositório não seguro", mas eu poderia evitar completamente o problema usando o arquivo .run. Aqui está o que eu fiz passo a passo:

  1. Em vez de baixar o pacote .deb, baixe o arquivo .run ( nesta página )
  2. Instale um compilador compatível (parece que o cuda 7.5 não é compatível com o compilador padrão do Ubuntu 16.04):

    sudo apt-get install gcc-4.9 g++-4.9
    
  3. Pode ser necessário instalar alguns pacotes adicionais (depende da sua configuração):

    sudo apt-get install nvidia-modprobe freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
    
  4. Inicie o arquivo de execução e siga as instruções:

    sudo sh cuda_7.5.18_linux.run
    

Isso funcionou bem para mim (não esqueça de instalar o driver NVIDIA)

EDIT: Após as etapas 2 e 3, se o instalador do CUDA tentar usar o gcc 5.3.1 (padrão para o ubuntu 16.04) como compilador em vez da versão 4.9, você pode tentar remover a versão 5.3.1, instalar o CUDA e reinstalar o último gcc versão.

Amine Horseman
fonte
Não sei se é novo, mas, ao ver minha versão "errada" do gcc, o script de instalação sugeriu executá-lo novamente com o sinalizador '--override'. Por isso, executei novamente sh cuda_7.5.18_linux.run --overridee tudo parece funcionar bem por enquanto: posso executar um código TensorFlow simples usando minha placa NVidia. A instalação é quase instantânea e não acho que tenha compilado nada. Não sei por que o compilador precisa ser especificado ... Posso ter alguns problemas mais tarde.
Toto2
Devo especificar que pulei a instalação do driver, pois ela já estava instalada. Não tenho certeza se isso poderia ter ignorado alguma compilação.
Toto2 22/05
Eu pensei que o driver Nvidia não é instalado automaticamente no 16.04? Também pedi aos desenvolvedores da Nvidia que resolvessem o problema do repositório Cuda .deb, mas eles disseram que o Cuda 7.5 ainda não é suportado no 16.04. Parece estranho, porque usando o .sh instalador trabalha muito bem e eu posso até usá-lo com tensorflow
Amine Horseman
O driver NVidia realmente não está instalado por padrão. Tentei instalá-lo diretamente da NVidia e atrapalhei meu sistema. Mas percebi que você pode instalá-lo facilmente acessando o aplicativo Configurações> Software e atualizações> Drivers adicionais. Pode não ser o mais recente, mas é bastante simples.
Toto2 28/05
5

Mude /var/cuda-repo-7-5-local/Releasepara o seguinte:

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

Execute sudo apt-get updateignorando avisos sobre assinaturas inválidas e pronto.

Se isso falhar, substitua a soma SHA256 pela saída de

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

e

gunzip -c /var/cuda-repo-7-5-local/Packages.gz | sha256sum
Huazuo Gao
fonte
2

Atualmente, você pode usar os seguintes comandos no Ubuntu 16.04 para instalar o CUDA Toolkit 7.5:

sudo apt install nvidia-cuda-toolkit
SentinalBais
fonte
Obrigado pela edição, então você não precisa do cuda-dev?
SentinalBais
0

Não posso comentar, mas adicionando à resposta do @ Horse-man: Você não precisa desinstalar / reinstalar o gcc se já possui o gcc 4.9 instalado. Para mim, foi o suficiente para

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

Meu gcc-4.9 era realmente 4.9.3 que o instalador do CUDA não gostava, então eu o executei usando

sudo sh cuda_7.5.18_linux.run --override

E foi instalado corretamente.

Guy Rapaport
fonte
0

A solução é simples:

cd /etc/apt/
rm cuda-VERSIONHERE-local.list
apt-key net-update
apt-get update
Mr Purple
fonte