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).

* O autor convidado Rudá Moura é entusiasta da linguagem Python, desenvolvedor UNIX e aficcionado por Macs.
 

Comentar

Comentários arquivados

Artigos recentes: