0 votos positivos 0 votos negativos
230 visitas
em Debian GNU/Linux por monitor (11,3K pontos)

Boa tarde a todos!

Veriquei que alguns programas para serem instalados no Debian tem que adicionar o repositório.

Gostaria de saber se tem alguma forma para eu listar todos os programas que já estão nos repositórios oficiais do Debian?

Debian 10.7.0 (Stable)

Desde já agradeço a atenção

2 Respostas

2 votos positivos 0 votos negativos
por colaborador (6,8K pontos)
selecionada por
 
Melhor resposta

Olá Diego,

somente programas que não estão no Debian precisariam adicionar repositórios, prática não aconselhável. Deixará de ser realmente um Debian.

Se não tiver jeito, pode baixar o arquivo deb do programa, mas você mesmo que terá que cuidar de eventuais inconsistências com a base de pacotes do Debian.

Se optar por incluir um repositório externo estará abdicando da integridade do sistema de pacotes por sua conta e risco.

Para descobrir se um pacote está no Debian pode pesquisar:

  • Via linha de comandos:
    apt search pacote-procurado

  • Pelo site:

https://www.debian.org/distrib/packages
https://packages.debian.org

1 voto positivo 0 votos negativos
por monitor (15,8K pontos)

Outra forma de conseguir essa listagem é lendo o conteúdo dos arquivos em /var/lib/apt/lists/. Nele você encontra diversos arquivos com as informações de todos os pacotes de todos os repositórios incluídos no APT. Com um pouco de engenhosidade, nós podemos usar o AWK para ler e filtrar os nomes dos pacotes nesses arquivos. No meu caso, todos os arquivos de pacotes do Debian possuem debian.org no nome, portanto, eu usei isso como padrão no comando abaixo:

:~$ awk '/^Package:/ { print $2 }' /var/lib/apt/lists/*debian.org* | sort -u

Isso resulta numa lista com mais de 67 mil pacotes, todos do Debian.

Para entender o comando, /^Package:/ fará com que o AWK só capture as linhas que contenham essa string no início. A segunda parte, a instrução print $2 faz com que o AWK exiba a segunda coluna de dados de cada linha capturada, que é o nome do pacote (para o AWK, cada coluna de dados numa linha é separada das demais por um espaço). Por último, a saída do AWK é mandada por pipe para o utilitário sort com a opção -u (unique), que ordenará os resultados e excluirá as linhas repetidas.

Pode parecer inútil listar tantos pacotes assim, mas você poderia utilizar essa lista como uma fonte de dados para um script com algo como o programa fuzzy finder (fzf) e, a partir da sua escolha, exibir as informações completas do pacote com o comando:

apt info <nome do pacote>

Para meu uso, eu criei uma função aqui que faz mais ou menos isso. A diferença é que eu monto minha listagem a partir do apt-cache search que mostra todos os pacotes disponíveis, sejam ou não do Debian:

# busca pacotes no cachê e exibe informações
fpkg() { 
    [[ -n $1 ]] && local q="-q $1" 
    p=$(apt-cache search ^.*$ | sed 's/ - /\t\t/' | fzf $q --reverse -e -i --tiebreak=begin)
    [[ -n $p ]] && apt-cache show $p | less
}

Este é o resultado:

Para ver como utilizar essa função, aqui está o link:
https://gitlab.com/blau_araujo/debian-scripts/-/snippets/1957614

Seja bem-vindo(a) à comunidade debxp, onde você pode fazer perguntas e receber respostas de outros membros.
Atenção pessoal, esta plataforma não é um fórum, embora se pareça muito com um. Neste tipo de ferramenta, o objetivo é fazer e responder perguntas que possam resultar em material de consulta para outras pessoas que tenham as mesmas dúvidas e dificuldades. Portanto, não há sentido em utilizarmos o Ask para socialização, para emitir opiniões pessoais ou para perguntas do tipo "quem usa isso ou aquilo". Espero que compreendam o nosso propósito. :-)
...