Xterminator2
(usa Fedora)
Enviado em 05/10/2018 - 18:52h
Isto se chama fragmentação de pacotes, se der uma pesquisada talvez ache alguma coisa sobre o assunto, antigamente os pacotes .deb e rpm eram pacotes completos, porém devido as conexões ná época serem muito lentas era um fardo atualizar a distro baixando pacotes completos então os dividiram por funcionalidades por exemplo, se você não pretende compilar nada as bibliotecas de desenvolvimento são inuteis pra você e por aí vai, por este motivo são fornecidos mais pacotes, em outras distros esta fragmentação quase não existe.
Vou colocar um texto que postei no GDH em 2005 extraído do site da Conectiva que foi uma das pioneiras a fazer isto junto com o Debian devido ao APT, espero que ajude a sanar sua dúvida.
https://www.hardware.com.br/comunidade/conectiva-repositorios/204924/
Fragmentar um pacote é relativamente simples: basta separá-los por funcionalidade. Estas podem ser definidas pelos arquivos (como o caso de fontes para idiomas pouco utilizados e binários de programas) ou em tempo de compilação (como o caso de suporte a uma ou outra opção - X, SVGALib, PAM, SSL, etc). Utilizar o bom senso e prezar por compatibilidade e consistência são os fatores que mais devem ser considerados ao decidir-se pela fragmentação ou não.
O bom senso nos diz que os pacotes não devem ocupar muito espaço em disco, então procuramos pelos maiores, que acabam tornando-se nossos grandes candidados à fragmentação, mas a regra básica é realmente fragmentar todo e qualquer software que agrupe mais de uma funcionalidade que possa ser utilizada de maneira independente.
A grande maioria dos softwares hoje utilizados vem acompanhados de arquivos de tradução e documentação extra. Além disso, boa parte traz bibliotecas para desenvolvimento e várias funcionalidades adicionais, algumas como módulos carregados dinamicamente outros em tempo de compilação. Potencialmente podemos criar pacotes para todas essas características.
Algumas classes de softwares fragmentados no Conectiva Linux 7.0:
o Ambientes como o KDE e o Gnome
o Softwares complexos, como o Koffice, XFree86, etc
o Suporte a internacionalização (-i18n-xxx)
o Bibliotecas e headers para desenvolvimento (-devel)
o Documentação (-doc)
A partir do Conectiva Linux 7.0, uma nova política de empacotamento foi adotada na distribuição. Esta visa alcançar um maior equilíbrio entre facilidade de instalação e flexibilidade na manutenção dos pacotes instalados, e pode ser resumida pela palavra "fragmentação".
Com esta nova política, os pacotes do Conectiva Linux passam a ter uma característica única: são fragmentados em pacotes menores, divididos por funcionalidades. Essa característica permite a instalação e configuração de estações enxutas, com baixa requisição de espaço em disco e maior facilidade de atualização remota através de ferramentas como o apt-get.
Uma distribuição pode adotar várias políticas de empacotamento. Uma delas seria criar um único pacote com tudo o que o usuário supostamente precisa e instalá-lo. Com isso, ganhamos facilidade na instalação/atualização enquanto perdemos todos os pontos na questão flexibilidade. Num outro extremo, poderíamos ter um pacote para cada arquivo (\!) instalado, chegando então a um ponto caótico em termos de gerenciamento de dependências ou o total abandono do gerenciamento de pacotes.
No caso de uma atualização automatizada (como via apt-get), o primeiro caso seria trivial, porém tremendamente custoso em termos de banda de rede e espaço em disco. Já no segundo, utilizaríamos a banda de maneira bastante eficiente, mas, como já citado, teríamos um total abandono do controle de pacotes, versões e interdependências ou um estado caótico em termos de manutenção dos pacotes em sí. É óbvio que ambos são extremos sem sentido, muito longes de um ponto de equilíbrio.
A política adotada atualmente pela maioria das distribuições supre de maneira razoável a primeira necessidade, mas deixa a desejar na segunda. Inúmeras vezes somos obrigados a instalar megabytes de bibliotecas, documentação e outros dados (a maioria deles não desejados) para rodar uma simples aplicação devido ao número de dependências de um pacote. Podemos citar como um exemplo o Gnumeric, um dos componentes do gnome que em sua versão atual (0.67) requer mais de 60 bibliotecas diferentes para ser executado. Ao mesmo tempo, temos um número muitas vezes absurdo de arquivos em um único pacote, como no caso dos pacotes do XFree86, onde encontramos fontes com suporte a linguagens pouco utilizadas e recursos já até mesmo abandonados em pacotes de instalação obrigatória.
Claramente o "ponto de equilíbrio" não está sendo alcançado. É necessário um ponto onde ambas as necessidades sejam cumpridas, o usuário não tenha problemas em se adaptar e, principalmente, um ponto onde a compatibilidade com a política adotada atualmente seja mantida.
Essa é a proposta da nova política já adotada no Conectiva Linux 7.0. Não tem sido trivial alcançar todos esses objetivos. Na verdade, tem consumido um tempo bastante considerável de desenvolvimento e testes, mas acreditamos estar chegando um pouco mais perto do que poderia ser considerado o ponto de equilíbrio ideal.