Problemas que não sinto saudades
Relembrando o Caos do apt
Ontem ajudei uma amiga a instalar o Elementary OS em seu notebook. O processo de instalação correu bem até chegarmos à parte de instalação de programas como Docker, algumas IDEs da JetBrains, PostgreSQL e outras ferramentas. Foi então que me lembrei do caos que é gerenciar pacotes em sistemas baseados no apt
.
Sou usuário de Nixos há alguns anos e me acostumei a configurar o sistema operacional de forma declarativa, caso quisesse instalar a steam
, idea-ultimate
, docker
, faria mais ou menos assim:
home.packages = with pkgs; [
jetbrains.idea-ultimate
];
programs.steam.enable = true;
virtualisation.docker.enable = true;
Porém, no Elementary OS (baseado em Ubuntu), pode instalar os pacotes de algumas formas:
- Alguns estão disponÃveis como
.deb
, mas frequentemente dependem de bibliotecas que precisam ser instaladas manualmente. - Outros como
.AppImage
, mas requerem configuração adicional para integração com o sistema. - Alguns softwares exigem a adição de PPAs (Personal Package Archive)
Então levei um tempo até conseguir ajuda-la a instalar os programas. Completamente skill issue da minha parte, porém não sinto saudades de passar por isso.
O Problema com as PPAs
Um dos momentos mais frustante foi tentar instalar o pgAdmin 4, seguindo o tutorial oficial:
# Instale a chave pública do repositório:
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
# Crie o arquivo de configuração do repositório:
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
# Instale o pgadmin4:
sudo apt install pgadmin4
Embora o processo pareça simples e direto, o problema surgiu no trecho:
curl -fsS https://.../pgadmin4/apt/$(lsb_release -cs)
O comando lsb_release -cs
retorna o codename do sistema operacional. Em distribuições baseadas no Ubuntu 22.04 LTS
, como o Elementary OS, seria esperado que fosse "jammy"
. No entanto, o Elementary OS 7.1
tem o codename "horus"
, que não é reconhecido pelo repositório do pgAdmin. Isso resultou em um link inválido na configuração da PPA.
A solução foi editar manualmente o arquivo de repositório gerado e substituir horus
por jammy
. Apesar de simples, esse problema acabou passando despercebido. O que deveria ser um script simples de automatização se transformou em um pequeno contratempo, exigindo tempo e trabalho manual para ser resolvido. Essa experiência me fez lembrar o quanto aprecio usar Nix/Os.