Estou atualizando o NodeJS e o NPM para a versão LTS mais recente no meu antigo servidor Debian 11 (bullseye). Limpei os pacotes e dependências nodejs e npm originais da distribuição e instalei com sucesso o NodeJS v22.15.0 e o NPM v10.9.2 usando o nodesource .
Agora estou tentando remover o pacote nodejs-legacy que — presumo — provavelmente não é mais necessário, mas tanto o apt quanto o apt-get (eles se comportam exatamente da mesma forma nesse aspecto) reclamam que:
$ sudo apt remove nodejs-legacy
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Virtual packages like 'nodejs-legacy' can't be removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Pelo que entendi, pacotes virtuais apenas definem dependências e/ou instalam arquivos de configuração. Por que um pacote, mesmo "virtual" — ou como quiserem chamá-lo — não pode ser desinstalado? O apt (ou apt-get ) não pode simplesmente atualizar o banco de dados de pacotes e/ou remover esses arquivos?
Este pacote em particular nem sequer faz parte de nenhuma dependência:
$ sudo apt depends nodejs-legacy
<nodejs-legacy>
$ sudo apt rdepends nodejs-legacy
<nodejs-legacy>
Acho que posso simplesmente deixar assim, já que não parece entrar em conflito com mais nada (pelo menos até agora). Mas prefiro manter meus servidores livres de lixo velho espalhado por aí.
Qual é a maneira recomendada de livrar um sistema Debian de pacotes virtuais antigos que não são mais necessários?