Cross-Distro Compatibility- O que está parando?

4

Por exemplo, por que não posso rodar programas do Ubuntu no Fedora ou no Arch e vice-versa? E na mesma nota, por que não posso usar apt-get no Fedora ou pacman no LFS? E quanto aos arquivos .deb e .rpm ? Alguém poderia explicar por um principiante Linux completo?

    
por hkk 08.12.2013 / 23:37

2 respostas

4

Existem várias camadas do problema, principalmente:

  1. compatibilidade binária - o software em cada distribuição é compilado em bibliotecas dessa distribuição. Estes podem diferir nos sinalizadores de compilador / compilador usados para construí-los e / ou recursos selecionados. Assim, você pode encontrar problemas onde algumas partes de uma biblioteca da distribuição A não estão disponíveis na mesma biblioteca na distribuição B. O software de A rodando em B pode estar procurando por algo que simplesmente não existe.

  2. gerenciamento de pacotes - você pode usar vários sistemas de gerenciamento de pacotes, mas está ligado a problemas, porque eles não se conhecem. Se você usar pacman para instalar o X, então rpm no mesmo sistema não saberá sobre isso. E isso é apenas o começo - a próxima coisa é rpm sobrescrevendo algum arquivo de um pacote instalado via pacman , assim muito provavelmente quebrando o pacote em questão e provavelmente algo mais (ver 1.).

    Existem algumas ferramentas que podem converter pacotes de um formato para outro, mas geralmente são inúteis exatamente por causa de 1.

    Também depende muito do gerenciador de pacotes que você acumula. Compilar suas próprias versões em uma distribuição subjacente é bom, você só precisa manter o controle dos arquivos instalados. É provável que o uso de gerenciadores de pacotes avançados sobre o LSB seja mais problemático, pois eles podem remover / alterar arquivos para os quais eles acham que estão livres para fazê-lo.

por 08.12.2013 / 23:58
0

Eles são todos os mesmos programas; é apenas uma questão de como eles são empacotados. O maior motivo é simplesmente porque você quer ter o gerenciamento dos pacotes centralizado. O gerenciador de pacotes de cada distribuição não é compatível com pacotes de uma distribuição diferente, portanto, para força bruta instalar um pacote de uma distribuição diferente (sem convertê-lo) você teria que ter vários gerenciadores de pacotes gerenciando pacotes. Isso causa problemas em cada um deles não saber quais pacotes o outro pode estar gerenciando. Então, você acabará com muitos conflitos entre eles.

Na nota de usar um gerenciador de pacotes com o LFS, realmente não há muito o impedindo de usar apt, pacman ou yum no topo do LFS. Eu não recomendaria isso. Poderia funcionar se você tentasse agora mesmo. Você poderia compilar o pacman do Arch Linux, configurá-lo para usar os repositórios do Arch no topo de um sistema LFS. Existe a possibilidade de que poderia funcionar se você fornecesse tudo no pacote "base". Se funcionar agora, não há garantia de que continuará a funcionar no futuro. Você pode acabar com bibliotecas conflitantes e incompatíveis, grandes mudanças em como o sistema de arquivos é configurado (como a recente mudança do Arch de / var / run para / run). Os mantenedores de pacotes estão esperando que o sistema em que os pacotes estão sendo instalados seja de uma certa maneira, portanto, se você puder garantir que seu sistema LFS atenderá a essas expectativas, isso deve funcionar. Isso exigiria muita manutenção de sua parte.

    
por 09.12.2013 / 22:42