Em sistemas Linux, você geralmente gerencia todo o software instalado via um sistema de gerenciamento de pacotes, como por exemplo APT no ou e Ubuntuno RPM do RedHat. Por outro lado, várias linguagens de programação chegaram com seu próprio conjunto de ferramentas para instalação e atualização de software, como Gems do Ruby ou Eggs do Python. Isto certamente fazsentido em sistemas operacionais que não fornecem o serviço de gerenciador de pacotes, mas também provocam muitos inconvenientes em sistemas Linux, porque "ele tira o controle do gerenciador de pacotes padrão do sistema ", um desenvolvedor de software livre Diego Pettenò escreve e elabora em detalhes.
Phusion, a empresa por trás do Ruby Enterprise Edition e o Phusion Passenger (a.k.a. mod_rails), oferece uma solução para administradores de sistema aborrecidos, fornecendo um repositório APT para a maioria dos Gems. Instalando um Gem, RMagick por exemplo, é tão simples como digitar apt-get install librmagick-ruby
e isso será instalado junto com todas as suas dependências, como o libmagick10
.
DebGem está atualmente num período beta gratuito para todo o público, mas o plano é cobrar pelo serviço uma vez que os pacotes são de qualidade suficientemente boa. Nós conversamos com Hongli Lai e Ninh Bui da Phusion para saber mais sobre como funciona o DebGem:
Podemos dizer-lhe que o processo é parcialmente automatizado. Isto não é surpreendente porque nós somos programadores. Demorou algum tempo para escrever um sistema de conversão automatizado. Entretanto, nem tudo pode ser automatizado (nem todos os Gems podem ser facilmente convertidos) então nós temos que especificar exceções à mão. Descobrir essas exceções bem como testá-las também é feito a mão. Nós estamos armados com um exército de máquinas virtuais a fim de compilar e testar em várias distribuições e plataformas. Pelo fato de que há muitos gems (aproximadamente 25.000) tipicamente um completo processo de conversão leva várias horas, mesmo se nós paralelizarmos os processos com várias maquinas. Carregar o resultado dos pacotes para o servidor leva várias horas. De modo geral não é trivial e requer tempo, cuidado e manutenção constante.
Existem planos para suportar outros gerenciadores de pacotes?
Até neste momento não temos planos para suportar outros sistemas de gerenciamento de pacotes, mas nos podemos reconsiderar se pessoas suficientes expressem a demanda para ele.
Há alguma relação entre o DebGem e o Ruby Enterprise Edition?
DebGem não tem nenhuma relação com Ruby Enterprise Edition, embora um dos nossos planos a longo prazo é de fornecer pacotes DebGem compilados contra REE. Existem várias motivos pelos quais isso não é trivial, que é o porque de nós não termos feito isso ainda.
Portanto, mesmo que o DebGem não seja uma solução para os problemas subseqüentes, parece ser uma boa solução e pode deixar os administradores felizes. Para saber mais, visite o site do DebGem ou dê uma olhada na sua FAQ.