Rudix: pacotes GNU e para UNIX adicionais para o Mac
Por Rudá Moura*
O Rudix procura estender as funcionalidades presentes no ambiente UNIX do Mac OS X, através de um conjunto de softwares pré-compilados e prontos para usar.
Estes softwares estão disponíveis no formato package (.pkg), que é uma das formas de instalação recomendadas pela Apple.
Quem veio do Ubuntu ou Red Hat pode entender o Rudix como se fosse uma espécie de “distribuição Linux” para Mac, e quem veio de algum BSD certamente verá o Rudix como algo semelhante às ferramentas de buildsystem e ports do FreeBSD ou OpenBSD.
Mas para o usuário final, pouco importa que seja um buildsystem ou uma distribuição, pois o objetivo primordial do Rudix é facilitar a instalação de softwares UNIX para Mac, de maneira rápida, segura e sempre “do jeito Mac”.
Estes são alguns dos programas que podem ser instalados através do Rudix:
- Midnight Commander;
- GNU Wget (wget), GNU sed, GNU findutils;
- Ferramentas de desenvolvimento como Mercurial, Bazaar e Git;
- Serviços como Memcached, Varnish e NGINX;
- Recentemente incorporados: Node.js, Terminal multiplexor (tmux).
História
A história do Rudix começa no ano de 2005 em um iBook G3 e o meu know-how anterior com desenvolvimento em Linux.
Procurei por soluções que me entregassem o GNU Wget compilado, mas não gostei do que achei na época: Fink e Darwin Ports - atual Mac Ports, pois mantinham as complicações de empacotamento herdadas do Linux.
Mesmo com opções mais amigáveis como o Homebrew, o Rudix continua mais vibrante e original que os outros. O Rudix ganhou maturidade na versão 2010 e agora desponta para mais uma versão.
O Diferencial
E o que diferencia o Rudix dos outros sistemas? O Rudix procura manter fidelidade aos padrões de comportamento que o Mac OS X exige. Em primeiro lugar, os softwares são instalados como pacotes independentes e auto-suficientes. Isso quer dizer que não existem dependências de outras bibliotecas, a não ser as nativas do próprio Mac.
Importante: o Rudix nunca substitui os componentes originais do Mac e não “contamina” a instalação original. Procuro manter a instalação dos pacotes dentro do consagrado diretório /usr/local/
em vez de inventar uma opção maluca, como /opt/rudix/
.
Por manter o jeito “Mac OS X friendly” de ser, acredito que o Rudix tem um espaço garantido para um público exigente mas ao mesmo tempo, que não gosta de perder muito tempo pensando em dependências e compilações.
Rudix 2011
A nova versão do Rudix encontra-se em fase de desenvolvimento e caminha para um estado alfa de desenvolvimento. O projeto está hospedado no site de código do Google.
A maioria dos pacotes do Rudix já foram atualizados para a versão 2011. O gerenciador de pacotes está em fase de estabilização, pois recentemente adquiriu algumas características novas, como instalação de software através da internet.
O site do projeto ainda necessita ser atualizado para as versões novas de pacote, pois ainda encontra-se na versão 2010, que confesso que ficou um pouco “fora de moda”.
Gerenciando pacotes
A maneira mais fácil de começar a usar o Rudix 2011 é instalar primeiro o gerenciador de pacotes Rudix, pois através dele fica mais fácil ir acrescentando os softwares conforme for sentindo necessidade.
A última versão do gerenciador de pacotes está disponível na área de downloads do Rudix. No momento que escrevo este artigo, a versão do gerenciador é a 11.2 (Leia-se fevereiro de 2011).
Uma maneira rápida de fazer o “bootstrap” do Rudix na linha de comando é através das seguintes linhas:
curl -O http://rudix.googlecode.com/hg/Ports/rudix/rudix.py
sudo python rudix.py install rudix
Ou em uma linha só
curl http://rudix.googlecode.com/hg/Ports/rudix/rudix.py | sudo python - install rudix
A partir desse ponto, fica fácil instalar novos programas, por exemplo, para instalar o GNU Wget, eu faço:
sudo rudix install wget
Simples, não é?
Instalação direta de pacotes
Mas se tudo o que você precisa do Rudix for um pequeno conjunto de pacotes (ou o próprio GNU Wget), então nem perca tempo com os passos acima.
Vá até o mesmo endereço de download, baixe só os pacotes desejados diretamente e instale, sem complicação alguma, seguindo apenas o roteiro de instalação de qualquer software para Mac, como na imagem acima.
O Inferno das Dependências (NOT)
Os mais atentos podem querer me perguntar agora: e como resolver as dependências?
A resposta é: não se resolve ou melhor, não há dependências a resolver, pois tudo que é dependência externa e que não é nativo do Mac OS X é resolvido através de compilação estática.
O pacote do GNU Wget é um bom exemplo, pois durante a compilação ele necessita do GNU GetText, que é compilado estaticamente e inserido no GNU Wget para distribuição.
Não pense que o pacote do wget vai ficar enorme! Não é que toda a biblioteca vai fazer parte do pacote e deixar o software mais gordo, apenas o que o wget necessita do gettext é incorporado. O resultado final é um bom equilíbrio entre o tamanho do programa e a comodidade de evitar dependências!
Mais informações
Para mais informações, visite rudix.org e code.google.com/p/rudix.
O Rudix está no Facebook e com o twitter @rudix4mac.
Sou o autor original do Rudix, e o meu twitter é @ruda_moura. Desde o final de 2010, o Rudix conta também com a participação e a contribuição de Leonardo Santagada (@santagada).
Comentar
Comentários arquivados