SO: Linux Mint 18.3. Semelhante ao Ubuntu.
Como sempre com o Linux, eu realmente não sei como devo proceder para instalar o software:
- já está no sistema? Neste caso sim, mas é muito antigo: 4.2.6. A versão LTS atual no momento da escrita é 10.16.3.
- devo usar o apt?
- devo usar o Gerenciador de Software?
- devo usar um PPA?
- devo baixar um arquivo compactado e extrair?
Os comentários do Gerenciador de software de outros usuários são coisas como "vá aqui para a versão mais recente" ( https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions )
O primeiro comando que existe
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Isso falha:
>
mike@M17A ~ $ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
[sudo] password for mike:
## Installing the NodeSource Node.js 10.x repo...
## Populating apt-get cache...
+ apt-get update
Ign:1 http://dl.google.com/linux/chrome/deb stable InRelease
Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease
Hit:3 http://dl.google.com/linux/chrome/deb stable Release
Hit:4 http://ppa.launchpad.net/adabbas/1stppa/ubuntu xenial InRelease
Get:5 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:6 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
... // then many messages like this:
Ign:42 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main all Packages
Ign:43 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en_GB
Ign:44 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en_GB
Ign:44 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en
Fetched 329 kB in 23s (14.0 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repository.spotify.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: Failed to fetch http://repository.spotify.com/dists/stable/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
W: Some index files failed to download. They have been ignored, or old ones used instead.
Error executing command, exiting
... Eu não tenho certeza do que todos esses comandos mariadb são. Eu tenho o MariaDB no meu sistema e estou preocupado que algo ali esteja com o problema.
NB tentar o próximo comando parece indicar que isso falhou:
mike@M17A ~ $ sudo apt-get install -y nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
nodejs is already the newest version (4.2.6~dfsg-1ubuntu4.2).
0 to upgrade, 0 to newly install, 0 to remove and 600 not to upgrade.
... ou seja, o sistema ainda acredita que 4.2.6 é a versão mais recente.
De maneira mais geral, qual é exatamente o protocolo para instalar um novo software no Linux: a lista numerada acima, de 1 a 5, é a metodologia correta? Usando que ordem de prioridade para o método os especialistas instalam o novo software?
O que eu tentei então
Parecia que a falha sudo apt-get update
estava na raiz do problema.
Inspirado por outras perguntas, tentei isso:
sudo rm /var/lib/apt/lists/* -vf
seguido disso:
sudo apt-get update
Mais listas de erros e avisos que não significam muito para mim:
...
Err:40 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main amd64 Packages
404 Not Found
Ign:41 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main i386 Packages
Ign:42 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main all Packages
Ign:43 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en_GB
Ign:44 https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena/main Translation-en
Fetched 329 kB in 28s (11.6 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://repository.spotify.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: Failed to fetch http://repository.spotify.com/dists/stable/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
W: Some index files failed to download. They have been ignored, or old ones used instead.
Mais tarde tentei a "instalação manual" na página do github ...
mike@M17A ~ $ VERSION=node_10.16.3
mike@M17A ~ $ DISTRO="$(lsb_release -s -c)"
mike@M17A ~ $ echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_10.16.3 sylvia main
mike@M17A ~ $ echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list
deb-src https://deb.nodesource.com/node_10.16.3 sylvia main
mike@M17A ~ $ sudo apt-get update
Hit:1 http://ppa.launchpad.net/adabbas/1stppa/ubuntu xenial InRelease
...
Ign:57 https://deb.opera.com/opera-stable stable/non-free Translation-en
Err:58 https://deb.opera.com/opera-stable stable/non-free amd64 Packages
503 Backend unavailable, connection timeout
Ign:59 https://deb.opera.com/opera-stable stable/non-free i386 Packages
Fetched 3,316 B in 34s (95 B/s)
Reading package lists... Done
W: The repository 'https://deb.nodesource.com/node_10.x sylvia Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://repository.spotify.com stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4773BD5E130D1D45
W: The repository 'http://repository.spotify.com stable InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu serena Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: The repository 'https://deb.opera.com/opera-stable stable Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://deb.nodesource.com/node_10.x/dists/sylvia/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://mirrors.evowise.com/mariadb/repo/10.2/ubuntu/dists/serena/main/binary-amd64/Packages 404 Not Found
E: Failed to fetch https://deb.opera.com/opera-stable/dists/stable/non-free/binary-amd64/Packages 503 Backend unavailable, connection timeout
E: Some index files failed to download. They have been ignored, or old ones used instead.
Quando você está instalando
node.js
usandosudo apt install nodejs
, está obtendo uma versão, que é testada para ser estável em sua distribuição Linux. Isso também significa que você obtém uma versão bastante desatualizada do software e que alguns pacotes simplesmente se recusam a trabalhar com ela. Por exemplo, a versão atual doRocket.Chat
requirenode.js >= 12
, e no meuUbuntu 20.04
a versão oficial é algo como 10.x. No momento em que você estava escrevendo sua pergunta, provavelmente era muito novo e é por isso que você estava usando um comandoque executa um script, que instala a versão
node.js-10.x
.Até onde posso ver, o problema que o script reclama é que ele não consegue encontrar chaves públicas para alguns dos repositórios que está usando. Muitas vezes, o problema com as chaves é que, devido a algumas configurações estranhas para
root
o usuário, as permissões para arquivos de chave acabam sendo erradas.A solução é verificar as permissões nos diretórios
Eles devem ficar assim (
-rw-r--r--
é permissão644
)Se a saída de alguns arquivos for diferente, altere-a manualmente
Eu consegui. No final, descobri que tinha que ajustar um script de instalação.
Especificamente, isso veio daqui . No entanto, em vez de executar o comando CURL, baixei o script dessa URL e comentei as duas linhas com "apt-get update" ...
Então eu fui
e então eu fui
O motivo foi que
apt-get update
está retornando com erros no meu sistema, e parece que isso matou o script antes de configurar o PPA na lista de fontes (este é o termo certo?). Eu posso estar errado sobre isso. Eu sou uma pessoa Linux de baixo nível.NB um script parece ser necessário, pelo menos notei que havia uma seção onde o arquivo "traduziu" o "Linux Mint"-"sylvia" encontrado do meu sistema para "Ubuntu"-"xenial". De fato, no site de download, a URL ".../Linux Mint/sylvia/..." é inexistente e retorna um 404.