- Distribuição Linux com configuração "up-front". Configuração up-front significa que você define anteriormente o que terá em tarefas administrativas, tais como instalação de pacotes e atualizações.
- Desenvolvimento descentralizado feito apropriadamente. Nós facilitamos o uso de repositórios não-oficiais bem como os oficiais.
- Para desenvolvedores - nós esperamos que os usuários participem do processo de desenvolvimento. No primeiro ano nós tivemos mais de 70 contribuintes adicionando pacotes aos nossos repositórios, desenvolvendo nosso website e iniciando novos projetos diretamente relacionados ao Exherbo. O número de usuários é estaticamente crescente bem como a qualidade das contribuições.
- Usa alguns bits de código e algumas idéias, de outros projetos opensource, mas a maioria do código é original, "não-fork". Exherbo usa algumas ideias de outros projetos opensource mas são as nossas idéias que diferem e definem o Exherbo.
- Usa o gerenciador de pacotes Paludis com uma EAPI personalizada. Paludis é um gerenciador de pacotes rápido e flexível que nos permite adicionar rapidamente novas funcionalidades voltadas específicamente para o Exherbo. Muitas das funcionalidades que definem o Exherbo são baseadas no Paludis e na forte cooperação entre os desenvolvedores do Paludis e do Exherbo.
Porquê.
- As nossas ideias são muito diferentes das outras distribuições e é muito mais fácil não ter que lidar com brigas sobre código legado e ideias.
- Nós precisamos da liberdade para "quebrar coisas" quando precisarmos :-)
Metas.
- Todas as nossas metas são elaboradas de modo que seja difícil de usá-las como slogans para justificar estupidez.
- O usuário alvo sabe o que está fazendo.
- Encorajar usuários a tomar parte no processo de desenvolvimento e suportá-los com bom feedback por suas contribuições.
- Nenhuma interatividade necessária. Comportamento repetitivo e controlado com configuração up-front.
- Flexibilidade onde faz sentido haver flexibilidade.
- Nenhuma centralização geral. Apenas os pacotes utilizados abertamente estão nos repositórios principais, e fazer ferramentas boas o bastante para lidar com muitos repositórios pequenos de terceiros para outros aplicativos aleatórios.
- Disponibilizar funcionalidades que as outras distribuições consideram muito ambiciosas.
Instalação
Exherbo não recomenda nenhum tipo de arquivo em particular ou procedimentos de instalação além do exemplo simples a seguir. Você pode personalizar o processo da maneira que desejar desde a escolha do tipo de arquivos a instalações mais avançadas incluindo LVM2 ou instalações sem disco.1. Leia a documentação.
- Leia novamente tudo em paludis.pioto.org e exherbo.org.
- Checar por posts recentes na lista de email oficial para possíveis problemas.
2. Inicializar um sistema live.
Faça o download do SystemRescueCD (suporta tanto 64 quanto 32 bits):
# links http://www.sysreccd.org/Download
Copie para um CD ou use Unetbootin para copiá-lo para um pendrive bootável.
Reinicie a máquina, selecione o kernel apropriado, e prepare sua rede:
# net-setup wlan0
3. Prepare o disco rígido.
Crie uma partição para boot (~16MB), uma partição root (>=4GB), e uma partição home:
# cfdisk /dev/sda
Formate o sistema de arquivos em cada partição:
# mkfs.ext2 /dev/sda1
# mkfs.ext3 /dev/sda2
# mkfs.ext3 /dev/sda3
Monte root e faça cd para dentro dele:
# mkdir /mnt/exherbo && mount /dev/sda2 /mnt/exherbo && cd /mnt/exherbo
Pegue o mais recente arquivo de estágio (stage) em http://dev.exherbo.org/stages/:
# wget http://dev.exherbo.org/stages/exherbo-amd64-current.tar.xz |tar xpf -
Atualize o fstab:
# cat << eof> /mnt/exherbo/fstab
#4. Faça chroot para dentro do sistema.
/dev/sda1 /boot ext2 defaults 1 2
/dev/sda2 / ext3 defaults 0 1
/dev/sda3 /home ext3 defaults 0 2
EOF
Monte tudo para o chroot:
# mount -o rbind /dev /mnt/exherbo/dev
IMPORTANTE: Observe sempre se está usando a opção "rbind" ao montar /dev, de outro modo o Paludis não irá funcionar adequadamente.
# mount -o bind /sys /mnt/exherbo/sys
# mount -t proc none /mnt/exherbo/proc
# mount /dev/sda1 boot
# mount /dev/sda3 home
Esteja certo de que a rede pode resolver DNS e mtab esteja correto:
# cp /etc/resolv.conf etc/resolv.conf
# grep -v rootfs /proc/mounts > etc/mtab
Mude seu root:
# env -i TERM=$TERM SHELL=/bin/bash HOME=$HOME chroot /mnt/exherbo /bin/bash
# source /etc/profile
# export PS1="(chroot) $PS1
5. Atualize a instalação.
Esteja certo de que o Paludis esteja configurado corretamente - mudar C/CXXFLAGS para -march=native pode ser uma boa ideia:
# cd /etc/paludis && vim bashrc && vim *.conf
IMPORTANTE: Atualize o Paludis antes de sincronizar - desde que o Paludis é ativamente desenvolvido, é uma boa ideia atualizar o "cliente" para aproveitar novas funcionalidades que podem aparecer com uma sincronia:
# cave resolve -x1 paludis
* Sincronize todas as árvores - agora é seguro sincronizar:
# cave sync
* Atualize os arquivos de configuração:
# eclectic config interactive
6. Torne inicializável.
Baixe o kernel estável mais recente no The Linux Kernel Archives:
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-${KERNEL_VERSION}.tar.bz2
Extraia:
# tar xvjf linux-${KERNEL_VERSION}.tar.bz2
Instale o kernel:
# cd linux-${KERNEL_VERSION} && make menuconfig
# make && make modules_install && cp arch/x86_64/boot/bzimage /boot/kernel
Instale o GRUB:
# grub-install /dev/sda
Exemplo de configuração de GRUB 2:
# cat <
set timeout=10Instale um sistema de inicialização.
set default=0
menuentry "Exherbo" {
set root=(hd0,1)
linux /kernel root=/dev/sda2
}
EOF
Não há sistema init em nossas imagens. Isso permite que você escolha qualquer (ou nenhum) sistema de inicialização que queira usar:
- sys-apps/systemd (recomendado) - Sistema de inicialização moderno e rápido. Necessita de um kernel >= 2.6.36-rc1.
- sys-apps/baselayout - O antigo e obsoleto Baselayout-1 do Gentoo.
- sys-apps/upstart - O sistema de inicialização do Ubuntu. Nós geralmente não fornecemos scripts para este sistema.
Aqui está um tutorial sobre como instalar o systemd no Exherbo: http://www.mailstation.de/wordpress/?p=48
Esteja certo de ativar a opção "systemd" ou "baselayout" (de preferência globalmente, por exemplo adicionando "*/* systemd" a /etc/paludis/options.conf) antes de continuar instalando pacotes para que você tenha os serviços/scripts de inicialização que necessitar.
Você pode querer reinstalar os pacotes incluídos na stage com suas respectivas flags:
# cave resolve world -cx
Isso irá efetuar as mudanças e reinstalar os pacotes afetados:
# cave resolve -x sys-apps/systemd
Configure o hostname para o sistema init escolhido:
- baselayout: edite /etc/conf.d/hostname
- systemd: edite /etc/hostname
Esteja certo de que o hostname é mapeado para localhost em /etc/hosts, de outro modo alguns testes de pacotes irão falhar por causa do "sandoboxing" da rede.
# cat<
127.0.0.1 localhost meu.dominio.foo meuhostnameInstale as "coisas" necessárias para seu hardware funcionar, cheque a FAQ (http://exherbo.org/docs/faq.html) por eventuais erros de "Masked by unavailable".
::1 localhost
EOF
# cave resolve -x iwlwifi-4965-ucode
Faça de /etc/mtab um link para /proc/mounts:
# ln -sf /proc/mounts /etc/mtab
Ative a senha de root:
# passwd
Instale os locales que necessitar:
# localedef -i pt_BR -f ISO-8859-1 pt_BR
# localedef -i pt_BR -f UTF-8 pt_BR.UTF-8
Reinicie:
# reboot && sacrifice a goat && pray