Quando usar pacotes no aptitude versus CPAN / Gems / PyPI?

5

Qual é a regra geral para quando instalar um pacote dos repositórios .deb oficiais, em comparação com quando instalar com o gerenciador de pacotes do idioma? Aqueles nos repositórios upstream estão frequentemente pelo menos um pouco desatualizados, mas eu também não quero que meus pacotes colidam com os "oficiais", e parece que o aptitude vai me forçar a instalar o servidor oficial. em muitos casos, de qualquer maneira.

    
por Benjamin Pollack 29.07.2010 / 15:22

3 respostas

6

Esta é uma pergunta difícil de responder em geral.

Os pacotes .deb oficiais oferecem estabilidade e suporte completo pela comunidade Ubuntu. Se você não precisa da versão mais recente, talvez seja melhor aproveitar essa solução. Você também tem o suporte do gerenciador de pacotes para atualizações, remoção, etc.

Se você precisar de suporte do upstream ou precisar dos recursos mais recentes, será melhor obtê-lo dos sistemas de distribuição, como CPAN, gem, pear, etc.

    
por txwikinger 29.07.2010 / 15:34
5

Na minha (reconhecidamente não tão vasta) experiência, os gerentes de pacotes específicos de cada idioma não fazem nenhum trabalho tão bom quanto .deb aqueles em rastrear dependências que estão totalmente fora da linguagem boundary (Eu estou especialmente pensando em dependências em bibliotecas codificadas em C que um pacote envolve para uso em Python, Perl, Ruby, etc).

Se (digamos) um pacote Python Python 'barfoo' requer alguma biblioteca libfoobar para construir a extensão _bf.so do Python que o pacote usa, e precisa de libfoobar para estar pelo menos no release 5.2 , Cabe a você rastrear qual .deb fornece versões adequadas de libfoobar (e você pode não encontrar uma, se o pacote Pypi estiver rastreando próximo ao mais recente e melhor do upstream) - e de alguma forma acompanhar isso no caso de você Desinstale barfoo mais tarde (para que o fornecedor libfoobar fique "órfão" e possa / deva ser removido).

Eu não acho que o problema de integrar o Pypi / CPAN / etc com outros sistemas de distribuição de pacotes ainda possa ser considerado um "resolvido". Para dores de cabeça de administração mínimas, se você puder conviver com um oficial .deb (não precisa de feechurz & amp; mais recente e maior), acho que seria aconselhável; no outro extremo, é claro, para um pacote que você faz deseja ser super atualizado (por exemplo, você é um dos autores / mantenedores do pacote ;-), existe a opção de manter um repo fresco em qualquer sistema de controle de versão que o pacote usa (svn, hg, git, bazaar, ...) e mantê-lo construído a partir de fontes. Pypi / CPAN / & c estão "no meio". Certamente, em algumas ocasiões, esse meio termo também será aconselhável.

E, uma opção que pode ser considerada é criar seu próprio pacote .deb (baseado no código Pypi / CPAN / & amp; c ou mesmo em fontes upstream) e manter seu repositório de tais pacotes (para aqueles pacotes para os quais você acha oficial .deb repos muito ruim ou atrasado). Não é muito mais problemático do que instalar de outra forma (monitorar manualmente as dependências fora do idioma) e ajudar na identificação de "pacotes órfãos" e similares (além disso, se você publicar sua embalagem, também poderá ajudar outras pessoas ;-).

    
por Alex Martelli 30.07.2010 / 16:56
1

Eu realmente não usei o Aptitude para gerenciar pacotes de outro Gerenciador de Pacotes. CPAN, Gems, Pecl, Pear, etc são gerentes de pacotes para seus respectivos idiomas. Eles são o que você deve usar como padrão - na minha opinião - porque é para isso que eles são projetados. Para não mencionar a maioria de todos os que lidam com upgrades e atualizações agora (atualização gem, upgrade gem, etc). Seria como usar o yum para instalar o Apache no seu Ubuntu Machine.

Dito isto, há algumas ocasiões em que a versão Aptitude reina suprema. Uma delas é quando uma instalação de um módulo de um gerenciador de pacotes de idiomas falha (isso é tipicamente devido a vários problemas de configuração). Eu raramente me deparo com esse problema - mas quando eu faço o pacote correlativo do Aptitude, o truque.

Prioridade na minha opinião Language Package Manager > Aptidão.

    
por Marco Ceppi 29.07.2010 / 17:02