Qual é a distribuição Linux que tem mais pacotes em seus repositórios oficiais?

A resposta curta é: OpenSUSE, na data deste post!
No decorrer deste texto vou mostrar como obter suas próprias respostas e, com certeza, mais atualizadas.
No momento em que escrevo, a distro “do camaleão” é a que tem a maior quantidade de softwares disponíveis para a instalação — se você a sincronizar com todos os seus possíveis repositórios.
Por anos, a Debian foi a distro conhecida por ter a maior quantidade de pacotes em seus repositórios. Mas estas coisas mudam com mais frequência que a gente imagina.
Portanto, se quiser saber qual a distro Linux com mais aplicativos disponíveis, vai ter que fazer uma contagem.

Há alguma maneira “racional” de contar quantos pacotes de aplicativos estão disponíveis para uma distro?

Como contar os programas disponíveis em uma distribuição Linux

Esta pergunta pode ser respondida em 2 fases:

  1. primeiro você obtém a lista e
  2. depois, se estiver em formato texto simples, com um pacote relacionado a cada linha, basta contar as linhas da lista.

Não é difícil encontrar as listas de pacotes disponíveis para as distribuições, mas precisamos prestar atenção a algumas variáveis que as influenciam:

  • Versões alfa do sistema operacional podem ter uma lista num dia e outra em outro — softwares entram e saem todos os dias nesta fase de uma distribuição.
  • Diferentes plataformas demandam softwares específicos às vezes. Portanto a lista do Arch Linux para a plataforma ARM é uma e a lista do mesmo sistema operacional para a plataforma PC 64 bit é outra.

É difícil fazer comparações objetivas entre uma distro e outra, por que precisamos levar estes e outros fatores em conta.

A lista de softwares disponíveis para uma distro vai muito além dos repositórios oficiais. Elas aumentam significativamente, ao acrescentar outros repositórios, backports, PPAs etc.

Onde encontrar a relação de softwares do Ubuntu

A relação atual de softwares disponíveis, da distribuição Ubuntu que se encontra instalada no seu computador, depende dos repositórios incluídos no arquivo de configuração /etc/apt/sources.list.
Para obter a relação use os seguintes comandos:


sudo apt update
apt list | wc -l

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

69323

O resultado, acima, se refere à minha máquina Ubuntu 16.04 Xenial Xerus, com a minha configuração atual do sources.list.
O comando responde à pergunta sobre a quantidade de softwares disponível para a instalação local e atual do Ubuntu.
É importante dizer que a lista inclui 6 linhas de cabeçalho — que precisam ser excluídas da conta, para obter um resultado exato.


E se eu não tiver o Ubuntu instalado? E se eu quiser obter o número e a relação para uma versão diferente da que tenho instalada?
Quando a lista que você deseja não está presente no seu sistema, o jeito é buscar a informação online.
A lista de pacotes disponíveis para Ubuntu pode ser encontrada a partir do site http://packages.ubuntu.com/.
site com lista de versões do Ubuntu
O site permite escolher exatamente qual distro/versão ou repositório a ser pesquisado.
Para este artigo, vou escolher a relação allpackages do Ubuntu 16.04 LTS Xenial Xerus.
Se você quiser, pode acessar a lista aqui: http://packages.ubuntu.com/xenial/allpackages?format=txt.gz.
O cabeçalho da lista tem informações importantes, como a data em que ela foi gerada — que ajuda a estabelecer se é atual.
Eu preferi baixar o arquivo compactado com o wget.
Depois de baixado, descompactei o arquivo e alterei o nome (apenas por comodidade). Veja os meus procedimentos:


wget http://packages.ubuntu.com/xenial/allpackages?format=txt.gz

gunzip allpackages?format=txt.gz

mv allpackages\?format\=txt xenial64bit-desktop.txt 

Se quiser “passear” dentro do arquivo, use o comando less:


less xenial64bit-desktop.txt

Como você pode ver, cada programa ocupa uma única linha. Basta determinar quantas linhas há no arquivo (subtraídas as 6 linhas do cabeçalho), para obter a minha resposta. Para isto, use o comando wc:

wc -l xenial64bit-desktop-allpackages.txt

69323 xenial64bit-desktop-allpackages.txt

A resposta, neste caso, é 69.317 pacotes de software no Ubuntu 16.04 LTS Desktop 64 bit — já descontadas aquelas linhas iniciais.

Como obter a relação de pacotes do Arch Linux

A lista oficial pode ser encontrada fácil no site da distribuição.
arch linux lista de pacotes do repositório
Por sorte, o site tem um contador, do lado esquerdo superior à relação.
Você encontra a informação atualizada neste link: https://aur.archlinux.org/packages/?O=0&SeB=nd&K=&SB=n&SO=a&do_Search=Go.

Como determinar a quantidade de pacotes do Debian

O procedimento para obter esta informação do Debian é semelhante ao Ubuntu.
Se você usa Debian, pode ir para o terminal e obter o número de pacotes disponíveis para instalação, de acordo com a configuração do sources.list.
No meu sistema Debian 9 Stretch, obtive o seguinte resultado:

apt list | wc -l

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

51750

Os sites contendo as relações de pacotes são https://packages.debian.org/testing/allpackages?format=txt.gz (testing) e https://packages.debian.org/stable/allpackages?format=txt.gz (stable).
Você pode salvar o conteúdo desta página, direto do seu navegador, com CTRL+S (o que te poupa o trabalho de descompactar e renomear o arquivo posteriormente).
Eu salvei a página (do stable) com o nome de Jessie.txt e executei o wc no arquivo:

wc -l jessie.txt 
57286 jessie.txt

De forma que a nossa resposta é: 57.280 pacotes — descontadas as 6 linhas do cabeçalho.
Para a lista online do Stretch, obtive o resultado seguinte:

wc -l stretch.txt 
68675 stretch.txt

… o que dá 68.669 pacotes.

Por curiosidade, fui verificar também a quantidade atual de pacotes no Sid ou unstable:

wc -l sid.txt 
103440 sid.txt

O número é expressivo mas, sabemos que nada é definitivo no unstable.

Quantos pacotes de software estão presentes no Trisquel Linux

Derivado direto do Debian, podemos usar um método semelhante para obter esta informação.
A página com a relação de pacotes do Belenos é esta: http://packages.trisquel.info/belenos/allpackages?format=txt.gz.

wc -l belenos.txt 
52753 belenos.txt

Como resultado, obtive, então 52.747 pacotes, nesta versão do Trisquel GNU/Linux.

Quantos pacotes há no Fedora?

O Fedora 26 alpha apresentava uma relação de mais de 57 mil pacotes, como é possível observar nos meus exemplos abaixo. Até o lançamento, o número deve mudar.
Na linha de comando, você pode inquirir os repositórios com o comando yum ou dnf.
fedora 26 alpha running under VirtualBox
Veja como fazer com o comando yum:


yum list | wc -l

57219

Antes de rodar o comando dnf, optei por atualizar/sincronizar o sistema com os repositórios — para obter um número mais atual, claro:


dnf update
dnf list | wc -l

57222

Como determinar a quantidade de pacotes de softwares disponíveis nos repositórios do OpenSUSE

O OpenSUSE permite o uso do yum — mas tem que ser instalado — nos mesmos moldes que já mostrei neste texto.
O ideal é usar o zypper para obter a informação.


zypper packages | wc -c

69367

Conclusão

A quantidade de softwares disponíveis para instalar e usar no seu sistema operacional é um fator de escolha importante para algumas pessoas ou empresas.
A outras, basta que tenha o que precisa ser usado (eu).
Quando temos a tarefa de indicar distribuições para outras pessoas, contudo, pode ser interessante levar em conta este número — principalmente se você não tem certeza sobre como a pessoa vai usar o computador.
Somado a isso, a lista de possibilidades é muito flexível em qualquer distro Linux.
É muito raro um aplicativo estar disponível para uma distro e “ser impossível” de instalar em outras. Se o código fonte estiver disponível, o impossível perde seu significado.
Por fim, a wikipedia tem um tópico comparativo entre as diversas distribuições e que vale a pena consultar sempre. Veja o link abaixo!

Referências

https://en.wikipedia.org/wiki/Comparison_of_Linux_distributions#Package_management_and_installation.

Conteúdo relacionado pelo Google

Ferramentas online para configurar fácil o sources.list do Debian e Ubuntu

A lista de repositórios no Ubuntu e no Debian fica em um arquivo chamado sources.list.
Não é um dos arquivos de configuração mais difíceis de se editar mas… se podemos facilitar as coisas, por que não?
sources.list
Usar um gerador online pode ser uma forma bem prática de obter um arquivo sources.list totalmente personalizado e ajustado às suas necessidades.


Se tiver interesse em conhecer melhor o sources.list e como ele pode ser editado manualmente, leia este post.
Para este post, analisei 2 dos geradores — tanto para Debian quanto para distribuições baseadas no Ubuntu. Você escolhe.

É recomendado usar estas ferramentas com cuidado.
Você pode bagunçar terrivelmente o seu sistema ao fazer escolhas erradas.
Portanto, se você não sabe o que está fazendo, é melhor não fazer.

Antes de prosseguir, faça o backup do seu repositório atual:

cp /etc/apt/sources.list ~/sources.list.bak

Gerador de sources.list online só para distribuições baseadas no Debian

Se quiser gerar rapidamente e sem complicações um sources.list para a sua distro baseada no Debian, use este aqui.
O site https://debgen.xyz é um projeto voltado para criar rapidamente uma “lista de fontes” simplificada, que serve para a maioria dos usuários.
debian.xyz sources list generator
Siga os passos:

  1. Comece escolhendo o país hospedeiro do seu espelho (mirror). O ideal é optar pelo que estiver mais próximo de você.
  2. Em seguida, selecione o release e a arquitetura atual: stable, testing ou unstable (Sid).
  3. Escolha os repositórios que te interessam entre source, contrib, non-free e security. Na dúvida, não faz mal selecionar todos.

Quando terminar a configuração, clique no botão azul “Make it go!“.
O texto, acima do botão, irá mudar para refletir as suas escolhas.
Agora substitua o conteúdo do arquivo /etc/apt/sources.list pelo texto novo.
Rode o apt:

sudo apt update

Gerador complexo para Debian

O site https://debgen.simplylinux.ch/ é “complexo” no sentido de ter (bem) mais opções.
Vai funcionar tal como eu descrevi o site anterior, com algumas diferenças.
Acompanhe o passo a passo para quem vai optar pelo repositório Debian:

  1. Desative a opção Fast Server, para obter um menu mais extenso.
    debian fast server
  2. Escolha o espelho e o release em uso.
  3. Vá rolando o site para baixo e selecionando os repositórios que te interessam
  4. Ao final, clique no botão “Generate“.

debgen simplylinux
Se você escolheu repositórios de terceiros, provavelmente terá que executar o comando “apt-key adv” indicado em uma das caixas, antes de executar o “apt update”. Fique atento a isso.

Gerador de sources.list para Ubuntu

Se você usa Ubuntu ou uma das várias distribuições Linux baseadas nele, use o gerador do site https://repogen.simplylinux.ch/ e siga os passos:

  1. Comece por selecionar o país em que se encontra hospedado o mirror que você deseja usar. Em seguida, informe o release atual do seu Ubuntu.
  2. Continue rolando a página e selecionando os repositórios desejados.
  3. Ao final, clique em “Generate
  4. A tela com o resultado tem o texto a ser copiado, em substituição ao conteúdo atual do arquivo /etc/apt/sources.list.
    Se achar melhor, apenas execute os comandos sugeridos pela página (veja as setas, na figura abaixo) — eles podem ser copiados e colados direto no terminal.
    sources.list online generator
    Um dos comandos altera o sources.list e o outro (se houver) adiciona as chaves públicas necessárias para eventualmente acessar algum repositório.

Divirta-se!

Conteúdo relacionado pelo Google

Como detalhar as atualizações de pacotes com apt, apt-get e aptitude

Sempre surge alguma curiosidade específica, sobre algum pacote de software, em particular, que está para ser atualizado no meu sistema.
Esta dica funciona no Ubuntu e no Debian e pode ser aplicada com os comandos apt, apt-get ou o aptitude.
Quem usa o Debian Testing ou o Ubuntu Alpha/Beta, pode ter que atualizar diariamente o seu sistema.
Este “incômodo” é o preço que se paga para usar software atualizado e (razoavelmente) seguro.
Claro que o processo de atualização diária do sistema sempre pode ser incluído no cron, caso seja um incômodo.
Eu gosto, contudo, de acompanhar as mudanças no software instalado em meu notebook pessoal.
Portanto, diariamente, tenho o costume de rodar o comando apt para verificar e fazer as atualizações necessárias.

Este texto é para aqueles casos em que você se pergunta “que diabos estão atualizando neste pacote, aí?”

Como detalhar atualizações de um pacote com o apt-get, apt ou aptitude

Tanto faz usar um como o outro. O resultado é o mesmo.
Com a opção ‘changelog’, é possível baixar e mostrar os relatório de atualizações dos pacotes. Veja um exemplo, envolvendo o pacote do wget:

apt-get changelog wget

O resultado exibe o log de atualizações e correções de bugs em ordem de data, a partir da mais recente:

wget (1.18-2) unstable; urgency=medium

  * added OpenSSl 1.1.0 patch from upstream git. closes: #828599

 -- Noël Köthe <noel@debian.org>  Sat, 02 Jul 2016 16:45:14 +0200

wget (1.18-1) unstable; urgency=medium

  * new upstream release from 2016-06-10
    - fixed CVE-2016-4971 closes: #827003
    - fixed segmentation fault when terminal width is small. closes: #823891
  * debian/control: updated Standards-Version, no changes needed
  * debian/changelog fixed spelling errors

 -- Noël Köthe <noel@debian.org>  Sat, 11 Jun 2016 20:30:44 +0200

wget (1.17.1-2) unstable; urgency=low

  * applied patch from Margarita Manterola. Thanks a lot:
    - Add udeb support, taken from the work done by Colin Watson for Ubuntu
      in 1.10.2-2ubuntu2 and forward.
    - Added dependency on libssl-dev for the udeb, as gnutls does not provide
      a udeb package.

...

Só pela curiosidade, é possível ver, na listagem acima, que existe trabalho da hacker argentina Margarita Manterola, na correção de bugs no wget.
Se você prefere usar o apt para realizar o trabalho, tudo funciona igual. Veja:

apt changelog systemd

Esta é uma forma de acompanhar a evolução de seus aplicativos favoritos.
Para os que preferem usar o aptitude, o procedimento é idêntico:

aptitude changelog wget

wget changelog

Conteúdo relacionado pelo Google

Os ovos de páscoa do comando apt

Ovos de páscoa ou easter eggs, em inglês, são pequenos segredinhos escondidos em programas de computador.
Eles estão ali, escondidos, prontos para serem revelados diante do procedimento certo.
Eu já havia escrito sobre os ovos de páscoa contidos nos comandos apt-get e aptitude, no Debian e no Ubuntu.
Leia mais sobre eles aqui.
Com a crescente popularização do comando apt, contudo, me senti tentado a ir descobrir se os mesmos procedimentos revelariam alguma coisa neste comando.
No decorrer dos testes, usei o Debian 9 Stretch (Testing) e o Ubuntu 16.04 LTS Xenial Xerus.
Vamos ver um por um.
apt command easter eggs
Me acompanhe:

apt | grep -i "super"
                                   Este APT tem Poderes de Super Vaca.

Aparentemente, até o momento, este é a única parte do ovo de páscoa que está traduzido, no apt.
O que segue, mostra uma imagem, em ASCII, de uma vaquinha:

apt moo
                 (__) 
                 (oo) 
           /------\/ 
          / |    ||   
         *  /\---/\ 
            ~~   ~~   
..."Have you mooed today?"...

A frase “Have you mooed today?” quer dizer “Você já mugiu hoje?”.
Se quiser ver apenas a frase, use o seguinte comando:

apt moo | grep -i today
#WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

..."Have you mooed today?"...

debian flat badge
Infelizmente, não é possível se livrar do aviso (ou warning), em inglês, que informa que a estabilidade da interface CLI do apt ainda está em desenvolvimento.
Se você quiser ver a versão atual do seu apt, basta executá-lo com a opção ‘-v’ ou ‘–version’:

apt -v
apt 1.3~pre2 (amd64)

Conteúdo relacionado pelo Google

Como atualizar Debian e Ubuntu com o comando apt

O comando apt, vem sendo introduzido como padrão no Debian e no Ubuntu nos últimos anos.
Embora você possa realizar todos estes procedimentos com os tradicionais apt-get ou aptitude, não vai fazer mal investir algum tempo em aprender a usar o apt.
Se quiser se aprofundar um pouco mais no assunto, sugiro que leia 10 exemplos de uso do comando apt.
Debian & Ubuntu badges together

A importância de manter o sistema atualizado

Em outro post, mostramos o quanto é importante manter seu sistema em dia.
Além disto, verificar se os repositórios estão sincronizados e o sistema atualizado é uma tarefa simples e recomendada antes de começar algum procedimento de instalação de softwares novos no seu sistema. Desta forma, se garante que novos programas cheguem e encontrem um ambiente sempre fresco.
O sistema irá avisar, automaticamente, quando houver atualizações. Mas, se você perder alguma e não quiser esperar pelo próximo aviso, pode abrir um terminal e executar o apt por conta própria.

Como atualizar o sistema com o comando apt

Este post foi escrito e testado em máquinas rodando o Debian 9 Stretch (Testing) e Ubuntu 16.04 LTS Xenial Xerus. O procedimento, para os dois casos é exatamente o mesmo.
Se você usa versões anteriores destes sistemas operacionais, leia o artigo Como atualizar o Ubuntu manualmente.
Abra o terminal e rode estes 3 comandos:

# para atualizar os repositórios
sudo apt update

# opcionalmente, se quiser ver o que será atualizado (pressione 'q' para sair da lista):
sudo apt list --upgradable | less

# por fim, para aplicar as atualizações necessárias (se houver):
sudo apt full-upgrade

Se preferir, é possível rodar tudo na mesma linha de comando, também:

sudo apt update; sudo apt full-upgrade

Você pode minimizar o terminal, enquanto o sistema baixa e atualiza os pacotes.

Qual a diferença entre apt upgrade e full-upgrade

O manual do apt vai mostrar dois métodos para realizar a atualização: através do ‘upgrade’ ou do ‘full-upgrade’.
No exemplo acima, escolhi usar o segundo — e “na vida real” é o que costumo usar sempre.
Segue as funções de cada um, de acordo com a documentação oficial:

  • upgrade — é usado para baixar e instalar atualizações disponíveis de todos os pacotes de softwares presentes no sistema — a partir das fontes, conforme a configuração contida em sources.list.
    Se houver novos pacotes disponíveis – e se forem necessários – estes serão instalados para satisfazer dependências.
    Contudo, pacotes de softwares existentes não são removidos do sistema.
    Ainda que uma atualização requeira a remoção de um pacote, esta ação terá que ser feita manualmente.
    Equivale ao apt-get upgrade.
  • full-upgrade — realiza o mesmo trabalho do método anterior, com a diferença de que este remove os pacotes que forem necessários para realizar uma atualização completa do sistema.
    Equivale ao apt-get dist-upgrade.

De forma resumida, em termos de eficiência no processo de atualização, tanto faz.
O método upgrade é mais conservador e é indicado para quem deseja se manter no lado seguro e deseja ter maior controle sobre os procedimentos.
O full-upgrade é a opção automática e indicada para quem prefere ter um sistema mais limpo, sem pacotes de softwares “sobrando” por aí.
Para finalizar, a execução periódica do comando apt, com a opção ‘autoremove’, se faz necessária nos dois casos, se quiser ter um sistema enxuto.

Conteúdo relacionado pelo Google