GoboLinux DownloadsDocumentaçãoComunidadeReceitasScreenshots


O FAQ do GoboLinux (Perguntas Frequentemente Respondidas)

O que diabos é o GoboLinux?

GoboLinux é uma distribuição Linux que rompe com a hierarquia tradicional de diretórios do Unix. Basicamente, isto significa que não existem diretórios tais como /usr e /etc. A idéia principal da hierarquia alternativa é a de armazenar todos os arquivos pertencentes a uma aplicação na sua própria sub-árvore separada; desta forma, temos diretórios como /Programs/FooPlayer/1.0/lib.

Para permitir que o sistema encontre estes arquivos, eles estão logicamente agrupados em diretórios como /System/Links/Executables, que, como você deve imaginar, contém links simbólicos para todos os executáveis dentro da hierarquia Programs.

Para manter compatibilidade com aplicações tradicionais do Unix/Linux, existem links simbólicos que reproduzem a árvore Unix, como "/usr/bin -] /System/Links/Executables", e "/sbin -] /System/Links/Executables" (este exemplo mostra que a diferenciação arbitrária entre arquivos de uma mesma categoria também foi removida).

Aqui está uma apresentação mais visual.

Vocês reprojetaram a árvore de diretórios para ajudar usuários iniciantes?

Não. Na realidade, a motivação principal foi satisfazer as necessidades de usuários que preferem instalar aplicativos a partir de seu código fonte original, ao invés de depender da distribuição. Essa é a maior razão pela qual cada aplicação recebe seu próprio diretório: assim é possível instalá-lo a partir de seu código fonte e então removê-lo com um "rm -rf". Então, como você pode ver, o GoboLinux é orientado para o usuário experiente que não gosta que as coisas sejam feitas automagicamente. Nossos scripts servem como meros automatizadores de procedimentos, mas eles não "tomam desisões", e caso haja alguma necessidade, eles irão perguntar antes.

A coleção de pacotes binários foi criada como uma forma de evitar duplicação de trabalho entre os usuários. O projeto de pacotes source foi criado para armazenar "regras de compilação" dos reais pacotes source das aplicações. Nós não queremos estabelecer um "modelo de empacotamento" como o RPM. Achamos que não há uma verdadeira necessidade de "pacotes" se o original .tar.gz estiver propriamente feito. Por exemplo, quando uma aplicação usa os GNU AutoTools (autoconf, automake, ...), compilar para o GoboLinux é trivial; para casos não triviais, o Compile se encarrega de acumular o conhecimento necessário sobre como compilar as coisas.

Entretanto, com esta árvore de diretórios mais lógica, o GoboLinux poderia servir, com uma coleção grande de pacotes binários e front-ends gráficos para os scripts, como uma distribuição amigável a iniciantes, mas este não é um objetivo específico pelo qual procuramos (ao menos não em curto ou médio prazo).

O GoboLinux está "pronto"?

Sim, ele está pronto no sentido de que você pode, hoje, ter um sistema operacional completo rodando 100% no GoboLinux.

Qual é o seu status atual?

Esta poderia ser dividida em duas questões, uma sobre o status das ferramentas do GoboLinux, e outra sobre a disponibilidate dos pacotes.

O GoboLinux conta com uma série de ferramentas que automatizam várias tarefas, como a geração, instalação e remoção de pacotes, e mais o importante, manutenção dos links simbólicos que mantém o sistema consistente. Estas ferramentas são consideravelmente estáveis, visto que elas já tem alguns anos de idade hoje.

Outra importante nota para quando estiver usando a distribuição é a disponibilidade de pacotes, isto é, software que pode ser baixado em forma binária e instalado de forma fácil. Neste aspecto, o GoboLinux é bastante novo e ainda longe das distribuições já estabelecidas. Nós temos, no entanto, todos os pacotes necessários para ter um sistema rodando (todos os pacotes que fazem parte dos projetos "Linux From Scratch" e "Beyond Linux From Scratch", por exemplo), e muitos outros, como o KDE e todos os pacotes relacionados, Tcl/Tk, e a lista não pára de crescer. Além disso, também temos um ainda maior conjunto de receitas de compilação para serem usadas pela ferramenta Compile do GoboLinux, que permite que as pessoas criem pacotes a partir dos seus fontes.

Quem criou o GoboLinux? Quais são as suas origens?

O conceito foi criado por Hisham Muhammad. A primeira versão do GoboLinux foi criada pelo Hisham e pelo André Detsch.

O GoboLinux amadureceu bastante em um período de dois anos. Inicialmente ele começou como uma forma de instalar programas facilmente dentro de uma conta de um usuário comum na Universidade (já que não tínhamos a árvore real do Linux disponível de qualquer forma, foi uma oportunidade de reprojetá-la).

Um dia, após A Grande Falha do Sistema de Arquivos no computador do Hisham, ele precisou reinstalar o sistema inteiro.Foi quando veio a idéia de usar, no novo sistema, apenas a árvore alternativa (que no sistema antes do crash já abrigava cerca de 80% de todos os softwares instalados). O André também estava considerando reinstalar seu Linux, então eles pegaram uma semana na casa dele, e fizeram o processo inteiro do Linux From Scratch, mudando-o para usar a árvore de diretórios alternativa. Em uma brincadeira, o resultado foi batizado de GoboLinux, e como geralmente acontece, o nome ficou.

Quem desenvolve o GoboLinux?

Desde sua concepção (descrita na resposta anterior), nós começamos a receber mais e mais usuários, muitos dos quais, no verdadeiro espírito do Software Livre, também tornaram-se contribuidores do projeto. Como em todo projeto, pessoas vêm e vão, então torna-se impossível listar todos os nomes aqui, mas confira a página do time de desenvolvimento.

Quais são os seus objetivos quanto ao GoboLinux?

O primeiro objetivo é ter um sistema que nós iremos gostar de usar, que não será destruído por algum pacote estúpido de gerenciamento de software que tenta administrar nossa máquina por nós. A maior parte das distribuições baseadas em Linux tentam deixar a vida mais fácil para os usuários novatos, mas desta forma eles estão fazendo a vida muito mais difícil para os usuários mais experientes. Não digo que GoboLinux é mais fácil, apenas que ele "faz mais sentido". No entanto, pessoas que o usam dizem que ele é de fato mais fácil de administrar, dado que ele permite que você entenda seu sistema melhor (se você estiver disposto a entendê-lo).

Como costumam dizer, "a dominação do mundo é apenas um objetivo secundário". :)

Existe uma perda de performance no uso de links simbólicos, levando o GoboLinux a ser uma má escolha para, digamos, servidores altamente sobrecarregados?

A resposta curta: teoricamente sim, mas não, nós nunca a medimos (para saber por que "teoricamente", leia a "resposta longa").

A resposta longa: o real impacto do uso de links simbólicos é provavelmente menor do que você imagina. Em uma distribuição regular Linux, bibliotecas já encontram-se atualmente sendo acessadas através de links simbólicos. No GoboLinux, nossos links apontam diretamente para o arquivo final, então existe apenas um nível de indireção para encontrar a biblioteca.

Pegue a libc.so.6 por exemplo. Ela encontra-se em /lib, que é um link para /System/Links/Libraries, mas o arquivo atual encontra-se em /Programs/Glibc/Current, onde Current é um link para 2.2.3, e dentro do diretório lib da Glibc, você terá um arquivo libc.so.6 que é na verdade um link para libc-2.2.3.so. Então existe uma série de links, correto? No entanto, as bibliotecas são acessadas da seguinte forma: o diretório /System/Links/Libraries (que não é um link) é o único diretório na configuração do ldconfig (e no LD_LIBRARY_PATH). Lá, libc.so.6 aponta diretamente para /Programs/Glibc/2.2.3/lib/libc-2.2.3.so (nenhum há nenhum link neste caminho todo). Então temos exatamente um nível de indireção, assim como em distribuições comuns de Linux. Você pode *ver* uma grande quantidade de links, mas eles estão lá mais para facilitar a manutenção do sistema.

Aplicações também são compiladas com --prefix configurado para seus "homes" em /Programs/App/versão, então quando um programa procurar por arquivos de dados ele não irá através dos links. Procurar por executáveis envolve ir através de um link mas, diferente de distribuições Linux regulares, ele não precisa procurar através de todos itens do PATH (e eu acredito que a estrutura de árvores do ReiserFS de um diretório é mais otimizada do que a busca que o shell irá fazer através dos elementos do $PATH. É claro, pode sempre haver a hash da shell, mas também há sempre a cache do sistema de arquivos).

Por que vocês usam o GoboHide? Vocês não podem modificar todos os programas para morarem na hierarquia do GoboLinux?

Nós os persuadimos a permitir usar a árvore do GoboLinux através de opções de compilação sempre que possível. No entanto, muitos programas não são capazes de permitir isto completamente, apresentando caminhos pré-definidos ("hardcoded") em seus códigos fonte e por aí vai. Em última instância, qualquer software livre pode ser modificado para torná-lo completamente compatível, mas nós simplesmente não temos pessoas suficientes para fazer uma tarefa dessas e manter todas as modificações depois. Seria no mínimo uma grande chateação, então nós geralmente preferimos reduzir a quantidade de patches aplicados ao mínimo. Pelo menos o /bin, /lib e /sbin são críticos. Nós já fizemos testes em um ambiente chroot e é engraçado ver todas as coisas estranhas que acontecem quando estes diretórios não existem.

O que é /Depot? O que é /Files?

/Depot é uma "área livre" para armazenar seus documentos, como arquivos de mídia, downloads diversos, etc. Você pode vê-lo como uma "área comunitária", um "home para todos usuários" (alguns sistemas UNIX tem um diretório /pub para este propósito). O GoboLinux como sistema ignora o conteúdo do /Depot -- ele apenas existe para encorajar os usuários a armazenar seus arquivos aleatórios em um único lugar do sistema e manter o resto do sistema limpo.

/Files, por outro lado, é um diretório padrão do GoboLinux. Dentro dele, existem diretórios como Fonts e Plugins, onde arquivos compartilhados que são necessários por aplicações (mas não necessariamente partes delas) são armazenados.

Quem é Gobo?

Fora o Fibo, seu leal serviçal, ninguém que o viu sobreviveu para contar a história. Assim, nós nunca arriscamos a ir mais fundo neste assunto.

Que coisa sem noção é essa?

Não pergunte.

Você está falando sério?

É claro que não. :-) Você pode desconsiderar as duas questões acima -- elas são apenas uma das muitas piadas internas no mundo do GoboLinux. Gobo não existe -- uh, o que é aquilo?? AAAAAAAAHHH!!!! ;-) brincadeira