
Introducao ao GOBOLINUX
No mundo Linux, existem várias distribuições, muitas mesmo. Porém, não são poucos aqueles que sentem uma certa decepção ao testar novas distros. Afinal, na maioria das vezes parecem ser as mesmas distros antigas com alguns enfeites. Para mim, isso parece ser verdade. Também fico com um pé atrás quando sou apresentado a outra distribuição.
Há alguns dias fui surpreendido com uma distro brasileira (pelo menos de início, pois hoje já possui uma comunidade internacional) e com uma idéia interessante e relativamente nova: Gobolinux. Tal distribuição 'redesenha' a árvore de diretórios do Linux. Não é uma idéia exatamente original. Eu mesmo já estava pensando nisso :) Porém certamente é uma pioneira em colocar tal idéia de forma prática, útil. Visite www.gobolinux.org.
Mas vamos lá: o Gobolinux possui os mesmos objetivos de distribuições gerais, mas sua abordagem para gerenciamento de pacotes é bem diferente. Cada programa possui seu próprio diretório, incluindo diretórios diferentes para cada versão. Todos os programas estão no diretório /Programs. Assim, um programa chamado ''maceio'' na versão 1.2, ficará em /Programs/Maceio/1.2, e assim por diante. Se quiser ver todos os programas instalados, basta fazer
$ ls /Programs
E a compatibilidade com as outras distros, com as Unix-like? Sem problemas: todo um esquema de links simbólicos mantém as relações em equilíbrio. Além disso, como consequência o próprio sistema gerencia os pacotes. E de quebra, fica mais fácil para os iniciantes compreender o que está acontecendo, embora esse não seja o objetivo de tal mudança – pelo menos oficialmente.
Outra característica do Gobolinux é sua inicialização. Não é usado System V ou BSD-like. Nós encontramos tudo que é preciso em /System/Settings/BootScripts: há comandos indicando cada passo, cada tarefa. Por exemplo, encontramos 'BootUp' e 'Shutdown' para o boot e para o shutdown, obviamente! Você faz as alterações desejadas e está tudo certo.
Árvore de diretórios
Veja como os diretórios estão organizados:
* /Programas - É o diretório com os programas instalados.
* /Users - Diretório home dos usuários. Por exemplo, se você for o usuário joao, não terá um diretório /home/joao. Seu diretório no Gobolinux será /Users/joao.
* /System - Arquivos importantes do sistema. Em sua maioria, os arquivos nesse diretório são 'usados' ou pelos aplicativos ou pelos scripts do Gobolinux.
o /System/Links/ - Aqui estão os links usados para 'indexar' os arquivos em /Programs
+ /System/Links/Executables – Links para os arquivos dos diretórios /bin e /sbin da árvore 'tradicional' de diretórios do Linux.
+ /System/Links/Libraries - Links para os diretórios 'lib' dos programas.
+ /System/Links/Manuals - Diretórios man e info.
o /System/Kernel/ - Diretórios relacionados ao kernel
+ /System/Kernel/Boot - Programas e arquivos de configuração usados no boot do sistema.
+ /System/Kernel/Modules - Módulos do kernel, organizados por versões do kernel.
* /Files - Arquivos relacionados com os programas, mas que não fazem parte deles. Exemplos são codecs, fontes, plugins, etc.
o /Files/Descriptions - Descrição dos programas instalados.
o /Files/Compile - Aqui estão as recipes(''receitas'' para instalação de pacotes), sources, etc, usados pela ferramente Compile.
* /Mount - Pontos de montagem dos dispositivos e sistemas de arquivos. Alguns subdiretórios contidos aqui são 'Floppy', 'NTFS', 'CD-ROM', 'SDA2', etc.
* /Depot - Arquivos dos usuários.
Pacotes
A instalação de pacotes no Gobolinux também é bastante simples. Para baixar dos repositórios e instalar em seu sistema, basta fazer
# InstallPackage
Se quiser instalar um pacote já baixado para sua máquina, o mesmo script InstallPackage faz isso para você:
# InstallPackage nomedopacote.tar.bz2
Durante sua execução, InstallPackage chama outro script, Dependencies, para verificar se há alguma dependência pendente. Esta verificação é apenas para nos informar. Se for preciso instalar tais dependências, nós mesmos precisamos fazer.
Também podemos usar os pacotes do LiveCD para instalar pacotes no sistema mesmo após instalar no HD. Os passos são os seguintes:
# mount /Mount/CD-ROM/GoboLinux-NonBase.squashfs /Mount/SquashFS -t squashfs -o loop=/System/Kernel/Devices/loop0
Note que o comando acima é em uma única linha. Então, você estará apto para instalar os pacotes contidos no Live-CD do Gobolinux para o HD. Use o script InstallPackage normalmente:
# InstallPackage /Mount/SquashFS/Programs/NomeDoPrograma
Lembre que, após usar o CD, você deve desmontá-lo.
# umount /Mount/SquashFS
No caso acima, também é possível instalar as dependências automaticamente: use o parâmetro ''--batch'':
# InstallPackage --batch nomedopacote
Removendo pacotes
Mais uma vez, a equipe do Gobolinux provê um script que facilita a vida do usuário. No Gobolinux, não seria suficiente remover um pacote específico: é necessário retirar as referências que criam o 'suporte' ao esquema de diretórios normal Unix-like. O script é o RemoveProgram. Tal script remove o programa e também todos os links que apontam que apontam para /System/Links.
# RemoveProgram nomedoprograma versao
Se ocorrer por qualquer motivo de surgirem links quebrados em /System/Links, use o script RemoveBroken. Isso pode ocorrer quando removemos programas sem usar o RemoveProgram.
# cd /System/Links
# find | RemoveBroken
A ferramenta 'compile'
Uma ponto que chama a atenção na equipe Gobolinux, como já dissemos, são as ferramentas disponibilizadas. O Compile é mais uma ferramenta, e pode ser usada para instalar programas compilando em nossa própria máquina. O que o Compile produz? Ele baixa o código fonte, compila e instala o programa com um único comando. Veja:
# Compile nomedopacote
Fantástico!! Rápido e eficiente. O melhor: nos repositórios oficiais já existe uma quantidade muito grande de pacotes disponíveis para tal ferramenta.
Compilando manualmente
Em situações onde não temos os pacotes disponíveis nos repositórios e também não podemos usar a ferramenta Compile, ainda podemos fazer como sempre: compilar 'na mão'. Porém, em vista da árvore de diretórios diferente, temos que fazer uma pequena adaptação no conhecido ./configure-make-make install. Siga os passos abaixo.
Primeiro, entre no diretório onde está o código fonte.
$ cd novopacote
Agora use o script PrepareProgram, já disponível no Gobolinux (mais uma ferramenta útil). Nesta primeira vez, use a opção -t para criar a árvore de diretórios necessária em /Programs/NovoPacote/CVS:
# PrepareProgram -t NovoPacote CVS
Agora rode novamente o PrepareProgram sem opções. Ele usará o famoso './configure'.
# PrepareProgram NovoPacote CVS
Vai surgir várias mensagens na tela, e no fim estaremos com tudo necessário para compilar o pacote. Ou seja, rode o 'make':
# make
Agora, mais uma mudança quando usamos o Gobolinux. Em vez de 'make install' usaremos o script SandboxInstall:
# SandboxInstall novopacote CVS
Há apenas um passo adicional: construir os links para o pacote trabalhar normalmente com a árvore tradicional Unix-like. Aqui vai mais um script da equipe Gobolinux: SymlinkProgram:
# SymlinkProgram NovoPacote CVS
Pronto!! O pacote estará instalado. Note que há apenas um passo adicional quando comparado com sistemas 'tradicionais': o último passo, justamente para manter a compatibilidade.
A ferramenta 'rootless'
Uma ferramenta interessante, para dizer o mínimo, disponível pela equipe Gobolinux é o Rootless. Com o Rootless, podemos usar o estilo de organização do Gobolinux dentro de outras distros. E mais: não é preciso acessar o sistema via root (daí o 'rootLESS').
Ou seja, mesmo que você não tenha acesso ao superusuário, poderá instalar programas e muito mais. Você poderá, por exemplo, instalar várias versões do mesmo programa. E por não acessar o root, é uma ferramenta segura.
Para instalar o Rootless, conforme a própria equipe da distro, siga os passos abaixo:
$ wget http://svn.gobolinux.org/tools/trunk/Scripts/bin/CreateRootlessEnvironment
$ chmod u+x CreateRootlessEnvironment
$ ./CreateRootlessEnvironment
$ ./Programs/Rootless/Current/bin/StartRootless
$ Compile MTail
Nos passos acima, comece as operações dentro de seu diretório home. Lembre que essa ferramenta ainda não é perfeita, mas funcionará bem na maioria dos casos.
Conclusão
Seja você iniciante ou usuário experiente, sugerimos que teste o Gobolinux. Eu mesmo fiquei um pouco impressionado com a simplicidade de gerenciamento dos pacotes. A comunidade de usuários dispõe de diversos manuais, onde há ajuda para as mais diversas tarefas.
Para os iniciantes no mundo Linux, é certamente mais fácil aprender usando a árvore de diretório do Gobolinux. A sensação comum de deslocamento fica um pouco amenizada pela clareza da estrutura.
E se você já é experiente nesse universo, com certeza gostará da lógica sempre presente no Gobolinux. É certamente mais confortável ter todos os arquivos de um programa juntos no mesmo lugar, sem estar espalhados por diversos diretórios. Sem falar na possibilidade de ter mais de uma versão do mesmo programa, de forma simples e rápida.
0 comentários:
Postar um comentário