Obter lista dos repositórios pela linha de comando no Ubuntu ou derivados Debian
Distribuições Linux derivadas do Debian como Ubuntu, Linux Mint entre outras usam o gerenciador de pacotes APT para fornecerem um método cômodo e eficaz de instalar aplicativos sem a necessidade de o usuário se preocupar com dependência entre pacotes.
Contudo, o advento de novos releases e versões pode gerar um amontoado de repositórios que o iniciantes podem sentir-se tentados a misturar para instalar alguma aplicação específica. Principalmente devido a dicas de Internet antigas.
Quando é necessário obter ajuda, é necessário fornecer a lista completa dos repositórios de pacotes configurados na máquina.
Quando esses problemas acontecem, a solução consiste em desabilitar os repositórios “alienígenas”. Para isso, é importante obter a listagem dos repositórios. As distribuições normalmente fornecem ferramentas gráficas para lidar com os repositórios, mas quando é necessário fornecer essa listagem para uma equipe de suporte ou para um fórum de usuários, é necessário usar a linha de comando para gerar um relatório conciso e completo.
Há dois comandos que podem ser usados com esse propósito:
1. APT
É a ferramenta de gestão de pacotes dos sistemas derivados do DEBIAN. Podemos usar o comando policy para obter a lista dos repositórios:
leandro@leandro:~$ apt policy
Arquivos de pacote:
100 /var/lib/dpkg/status
release a=now
500 http://ppa.launchpad.net/ubuntuhandbook1/avidemux/ubuntu focal/main i386 Packages
release v=20.04,o=LP-PPA-ubuntuhandbook1-avidemux,a=focal,n=focal,l=Avidemux,c=main,b=i386
origin ppa.launchpad.net
500 http://ppa.launchpad.net/ubuntuhandbook1/avidemux/ubuntu focal/main amd64 Packages
release v=20.04,o=LP-PPA-ubuntuhandbook1-avidemux,a=focal,n=focal,l=Avidemux,c=main,b=amd64
origin ppa.launchpad.net
500 http://ppa.launchpad.net/ondrej/php/ubuntu focal/main i386 Packages
release v=20.04,o=LP-PPA-ondrej-php,a=focal,n=focal,l=***** The main PPA for supported PHP versions with many PECL extensions *****,c=main,b=i386
origin ppa.launchpad.net
500 http://ppa.launchpad.net/ondrej/php/ubuntu focal/main amd64 Packages
release v=20.04,o=LP-PPA-ondrej-php,a=focal,n=focal,l=***** The main PPA for supported PHP versions with many PECL extensions *****,c=main,b=amd64
origin ppa.launchpad.net
500 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages
release v=1.0,o=Google LLC,a=stable,n=stable,l=Google,c=main,b=amd64
origin dl.google.com
500 http://security.ubuntu.com/ubuntu focal-security/multiverse i386 Packages
release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=multiverse,b=i386
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages
release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=multiverse,b=amd64
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu focal-security/universe i386 Packages
release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=universe,b=i386
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages
release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=universe,b=amd64
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu focal-security/restricted i386 Packages
release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=restricted,b=i386
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages
release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=restricted,b=amd64
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu focal-security/main i386 Packages
release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=main,b=i386
origin security.ubuntu.com
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
release v=20.04,o=Ubuntu,a=focal-security,n=focal,l=Ubuntu,c=main,b=amd64
origin security.ubuntu.com
100 http://br.archive.ubuntu.com/ubuntu focal-backports/universe i386 Packages
release v=20.04,o=Ubuntu,a=focal-backports,n=focal,l=Ubuntu,c=universe,b=i386
origin br.archive.ubuntu.com
100 http://br.archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages
release v=20.04,o=Ubuntu,a=focal-backports,n=focal,l=Ubuntu,c=universe,b=amd64
origin br.archive.ubuntu.com
100 http://br.archive.ubuntu.com/ubuntu focal-backports/main i386 Packages
release v=20.04,o=Ubuntu,a=focal-backports,n=focal,l=Ubuntu,c=main,b=i386
origin br.archive.ubuntu.com
100 http://br.archive.ubuntu.com/ubuntu focal-backports/main amd64 Packages
release v=20.04,o=Ubuntu,a=focal-backports,n=focal,l=Ubuntu,c=main,b=amd64
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal-updates/multiverse i386 Packages
release v=20.04,o=Ubuntu,a=focal-updates,n=focal,l=Ubuntu,c=multiverse,b=i386
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages
release v=20.04,o=Ubuntu,a=focal-updates,n=focal,l=Ubuntu,c=multiverse,b=amd64
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal-updates/universe i386 Packages
release v=20.04,o=Ubuntu,a=focal-updates,n=focal,l=Ubuntu,c=universe,b=i386
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages
release v=20.04,o=Ubuntu,a=focal-updates,n=focal,l=Ubuntu,c=universe,b=amd64
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal-updates/restricted i386 Packages
release v=20.04,o=Ubuntu,a=focal-updates,n=focal,l=Ubuntu,c=restricted,b=i386
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages
release v=20.04,o=Ubuntu,a=focal-updates,n=focal,l=Ubuntu,c=restricted,b=amd64
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal-updates/main i386 Packages
release v=20.04,o=Ubuntu,a=focal-updates,n=focal,l=Ubuntu,c=main,b=i386
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
release v=20.04,o=Ubuntu,a=focal-updates,n=focal,l=Ubuntu,c=main,b=amd64
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal/multiverse i386 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=multiverse,b=i386
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=multiverse,b=amd64
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal/universe i386 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=universe,b=i386
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=universe,b=amd64
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal/restricted i386 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=restricted,b=i386
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal/restricted amd64 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=restricted,b=amd64
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal/main i386 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=main,b=i386
origin br.archive.ubuntu.com
500 http://br.archive.ubuntu.com/ubuntu focal/main amd64 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=main,b=amd64
origin br.archive.ubuntu.com
Pacotes alfinetados (“pinned”):
A listagem mostra os repositórios por arquitetura (acima amd64 e i386).
2.INXI
É um comando para obter informações sobre a máquina.
É uma ferramenta já construída com o propósito de fornecer relatórios para suporte. Porém, não vem instalado por padrão na maioria dos sistemas, embora geralmente faça parte dos repositórios. Nesse caso, é necessário instalar via:
leandro@leandro:~$ sudo apt install inxi
Para obter a lista dos repositórios, é necessário executar o comando com a opção -r
leandro@leandro:~$ inxi -r
Repos: Active apt repos in: /etc/apt/sources.list
1: deb http://br.archive.ubuntu.com/ubuntu/ focal main restricted
2: deb http://br.archive.ubuntu.com/ubuntu/ focal-updates main restricted
3: deb http://br.archive.ubuntu.com/ubuntu/ focal universe
4: deb http://br.archive.ubuntu.com/ubuntu/ focal-updates universe
5: deb http://br.archive.ubuntu.com/ubuntu/ focal multiverse
6: deb http://br.archive.ubuntu.com/ubuntu/ focal-updates multiverse
7: deb http://br.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
8: deb http://security.ubuntu.com/ubuntu focal-security main restricted
9: deb http://security.ubuntu.com/ubuntu focal-security universe
10: deb http://security.ubuntu.com/ubuntu focal-security multiverse
Active apt repos in: /etc/apt/sources.list.d/google-chrome.list
1: deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
Active apt repos in: /etc/apt/sources.list.d/ondrej-ubuntu-php-focal.list
1: deb http://ppa.launchpad.net/ondrej/php/ubuntu focal main
No active apt repos in: /etc/apt/sources.list.d/thopiekar-ubuntu-miraclecast-focal.list
Active apt repos in: /etc/apt/sources.list.d/ubuntuhandbook1-ubuntu-avidemux-focal.list
1: deb http://ppa.launchpad.net/ubuntuhandbook1/avidemux/ubuntu focal main
Quando o usuário não consegue nem mesmo executar apt update, será quase impossível rodar o inxi.
O relatório mostra apenas os repositórios(não separa por arquitetura).
CONCLUSÃO
Quando o usuário mistura repositórios de diferentes versões ou mesmo de diferentes distribuições Linux pode ser necessário gerar uma listagem para conferência.
Há dois aplicativos de linha de comando que podem ser usados para gerar essa listagem: o comando apt e o comando inxi.
Quando o usuário não consegue nem mesmo atualizar a lista de pacotes disponíveis, usar o comando apt é mais vantajoso, visto que já vem instalado por padrão nas distribuições derivadas do DEBIAN.