Sobre o Exherbo
Distribuição criada em 2008 por um dos ex-desenvolvedores do Gentoo, Bryan Østergaard, que conta com uma lista de desenvolvedores que pode ser vista, em:
- Trata-se, mais ou menos, de um fork do Gentoo. Por que "mais ou menos"?
- Porque é independente do Gentoo, mas foi inspirada em sua filosofia.
Dentre as principais diferenças entre Exherbo e Gentoo, destaco o gerenciador de pacotes 
Paludis, ao invés do 
Portage, e o seu nível de "hostilidade" ao usuário.
- Por que 
Exherbo é considerado hostil ao usuário?
- Esta é minha opinião: Exherbo tem pouca documentação e é recomendado ao usuário ter prévia experiência com distribuições 
source-based. Os usuários de Exherbo são 
incentivados a serem também desenvolvedores do projeto, de acordo com a página oficial.
Ainda na página oficial da distribuição, podemos encontrar o seguinte:
"You're to think for yourself. Exherbo is not a system where we document everything so you'll need a basic understanding of how Linux systems work to be able to set up many things and work out problems efficiently when necessary."
Numa tradução livre:
"Pense por si mesmo. Exherbo não é um sistema onde se documenta tudo, então o que você vai precisar é de uma compreensão básica de como funciona o Linux para ser capaz de fazer as coisas e resolver problemas de forma eficiente quando necessário."
O site oficial do Exherbo contém apenas a documentação mínima, como processo de instalação da distro e pouco mais:
Exherbo passa a imagem de ser uma distribuição hermética e os responsáveis por ela, aparentemente, não querem facilitar muito o seu uso por parte de usuários "comuns", de propósito, ao contrário de Gentoo e Funtoo, onde os responsáveis se esforçam para 
ajudar os usuários.
Num texto de manifesto do Exherbo, podemos encontrar coisas como:
"Exherbo is a distribution designed for people who know what they're doing with Linux... In other words, go and use Gentoo or Ubuntu please."
"Exherbo é uma distribuição voltada para usuários que sabem o que estão fazendo com Linux... Em outras palavras, vá e use Gentoo ou Ubuntu, por favor."
"We don't provide support."
"Não damos suporte."
E também:
"It's not that we hate you (unless we do). It's just that we have nothing to offer you, and you have nothing to offer us."
"Não que odiemos você (a menos que odiemos), nós apenas não temos nada a lhe oferecer e você não tem nada a nos oferecer."
Meio radical, não? Por essas e outras, Exherbo não é apenas considerada uma distribuição hermética, pouco documentada, voltada para desenvolvedores e hostil ao usuário, mas possivelmente, também seja elitista.
Sobre o artigo
O artigo é curto, simples e direto, primeiro porque Exherbo Linux é para usuários que não precisam de explicação sobre o que cada comando faz e segundo, porque eu sou completamente iniciante em Exherbo e ainda não tenho bagagem para dissecar esse 
sistema e detalhá-lo como merece.
Não sou usuário avançado (longe disso), mas fui capaz de instalar o Exherbo. Agora, mantê-lo é outro problema e eu ainda não decidi se vou tentar fazer isso, pois não gostei da distro.
Mesmo assim, espero que este artigo ajude outros usuários a instalá-lo também, como um pontapé inicial e, a partir disso, espero que surjam cada vez mais material sobre Exherbo para, quem sabe, desmistificarem esse lance de distribuição difícil. O que existe 
é distribuição pouco documentada e com poucas pessoas dispostas a compartilhar conhecimento.
Não que Exherbo seja fácil, mas creio que a maior dificuldade do Exherbo não é a distribuição em si, mas a falta de documentação e suporte.
Início da instalação
Eis a minha tabela de partição durante a instalação:
  Dispositivo Inicializar    Início      Fim     Blocos  Id Sistema
  /dev/sda1                    2048    206847    102400   7 HPFS/NTFS/exFAT
  /dev/sda2                  206848 205123583 102458368   7 HPFS/NTFS/exFAT
  /dev/sda3               205123645 625142447 210009401+  5 Extended
  /dev/sda5               205123647 305128208  50002281  83 Linux
  /dev/sda6   *           305128272 405132178  50001953+ 83 Linux
  /dev/sda7               405132897 614848511 104857807+ 83 Linux
  /dev/sda8               614850560 625141759   5145600  82 Linux swap / Solaris
Meu objetivo, conforme você verá lendo o artigo, é instalar Exherbo em 
/dev/sda6 e montar a 
/home em 
/dev/sda7, compartilhando assim a 
/home com os dois sistemas (Exherbo e Funtoo). Usei o 
stage amd64 current.
Levo em consideração que o suporte para a instalação (seja live-CD ou um  
GNU/Linux instalado em outra partição) esteja com internet funcionando e que o particionamento já esteja feito ao gosto e/ou necessidade do usuário.
Por favor, se familiarize com o guia de instalação do Exherbo, antes de tudo:
Para evitar confusões, como já vi antes: este artigo não tem intenção de substituir ou complementar o manual oficial. É apenas um método que funcionou e está documentado e pode servir como material de consulta.
Comandos iniciais para instalação:
# mkfs.ext4 /dev/sda6
# mkdir /mnt/exherbo && mount /dev/sda6 /mnt/exherbo && cd /mnt/exherbo
# wget http://dev.exherbo.org/stages/exherbo-amd64-current.tar.xz
# wget http://dev.exherbo.org/stages/sha1sum
# grep exherbo-amd64-current.tar.xz sha1sum | sha1sum -c
Saída deve ser:
  exherbo-amd64-current.tar.xz: SUCESSO
Para outros 
stages, por favor, veja:
Continuando:
# tar xJpf exherbo*xz
# vi /mnt/exherbo/etc/fstab
Configurei-o da seguinte maneira:
  #/dev/BOOT       /boot           ext2        noauto,noatime       1 2
  /dev/sda7        /home           ext4        noatime              0 2
  /dev/sda6        /               ext4        noatime              0 1
  /dev/sda8        none            swap        sw                   0 0
  /dev/cdrom       /mnt/cdrom      auto        noauto,ro            0 0
  #/dev/fd0        /mnt/floppy     auto        noauto               0 0
Agora, algo importante, pois usaremos o "maledetto" systemd. Use o comando 
blkid para gerar a UUID de cada partição e substitua na tabela, deixando, por exemplo, assim:
  #/dev/BOOT       /boot           ext2        noauto,noatime       1 2
  UUID="1cd40733-c1a9-4137-a872-73bc98432201" TYPE="ext4" PARTUUID="0005f439-07"    /home           ext4        noatime              0 2
  UUID="e0df6c87-7fbb-4256-802c-4ad9df30e643" TYPE="ext4" PARTUUID="0005f439-06"    /               ext4        noatime              0 1
  UUID="3b741cf6-98c5-43c2-a7d8-97578a5d5f71" TYPE="swap" PARTUUID="0005f439-08"    none            swap        sw                   0 0
  #/dev/cdrom       /mnt/cdrom      auto        noauto,ro            0 0
  #/dev/fd0        /mnt/floppy      auto        noauto               0 0
Se não fizer isso, ao dar boot, cairá em 
Emergency Mode.
Continuando:
# mount -o rbind /dev /mnt/exherbo/dev/
# mount -o bind /sys /mnt/exherbo/sys/
# mount -t proc none /mnt/exherbo/proc/
# cp /etc/resolv.conf etc/resolv.conf
No meu caso, o 
/home já estava montado. No seu caso, se for necessário, monte o 
/boot ou o 
/home, se for preciso.
Continuando:
# env -i TERM=$TERM SHELL=/bin/bash HOME=$HOME $(which chroot) /mnt/exherbo /bin/bash
# source /etc/profile
# export PS1="(chroot) $PS1"
# cd /etc/paludis
# ls
Resultado:
  bashrc        licences.conf  platforms.conf  repository_defaults.conf
  general.conf  options.conf   repositories    repository.template
Agora, se faz necessário ler sobre o 
Paludis e seus arquivos de configuração. O link para a página do 
Paludis, é:
Aqui, uma breve introdução sobre os arquivos de configuração.
* general.conf :: este arquivo contém a localização dos arquivos 
world (algo como o 
set world do Gentoo). O padrão, é:
world = ${root}/var/db/paludis/repositories/installed/world
* platforms.conf :: arquivo onde se configuram as variáveis dos pacotes que serão aceitos. O padrão, para o 
stage que usei, é:
*/* amd64 ~amd64
O "~" inclui pacotes instáveis.
Você pode configurá-lo, por exemplo, com aplicativos específicos assim:
app-misc/blah amd64 ~amd64
Ou então:
*/*                      amd64 ~amd64
app-misc/blah            -* amd64
Os sinais se acumulam, e os pacotes instáveis não são aceitos automaticamente. Você pode usar 
-* para negá-lo. O sinal "*", pode ser usado para aceitar tudo, inclusive sinais vazios.
* options.conf :: arquivo com mais opções para compilação dos pacotes. O padrão tem:
*/* build_options: jobs=2
Aqui, é onde se faz mais necessário modificá-lo. De acordo com a página do 
Paludis, há o seguinte exemplo:
*/* -doc nls -apache2
*/* LINGUAS: en
*/* INPUT_DEVICES: keyboard mouse
*/* VIDEO_CARDS: -* ati
app-editors/vim -nls
Com base nisso, e principalmente nas minhas necessidades iniciais, eu alterei para:
*/* build_options: -recommended_tests jobs=5
*/* video_drivers: intel vesa fbdev
*/* input_drivers: keyboard synaptics evdev
*/* linguas: pt_BR
*/* X systemd ncurses nl80211 xfce -kde -gnome
* mirrors.conf :: este arquivo não existe por padrão, é preciso criá-lo. O site do 
Paludis tem o seguinte exemplo de seu conteúdo:
gentoo http://gentoo.blueyonder.co.uk/distfiles/
gnu http://gnu.blueyonder.co.uk/
debian http://debian.blueyonder.co.uk/
Eu resolvi não criá-lo.
* bashrc :: mais opções de compilação, mas não deve incluir nenhum valor que seja relacionado a dependências, como USE, LINGUAS, etc. É para definir CFLAGS e similares. Para mais informações veja a página do 
Paludis, cujo link foi mostrado antes.
Para a minha realidade, eu alterei, comentando o padrão e adicionando as mesmas especificações do Funtoo. Deixei assim:
#CHOST="x86_64-pc-linux-gnu"
#CFLAGS="-march=native -pipe -O2"
#CXXFLAGS="${CFLAGS}"
CFLAGS="-march=native -fomit-frame-pointer -O2 -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="x86_64-pc-linux-gnu"
* repositories :: diretório onde há um arquivo para cada repositório. De imediato, não fiz alterações nele, mas é bom que leia sobre o mesmo no site do 
Paludis. O principal repositório é o 
arbor, de árvore em latim.
Após checar esses arquivos. Atualize o 
Paludis:
# cave resolve paludis -x
# cave sync
Saída:
  Sync results
  * accounts:                   no syncing required
  * arbor:                      success
  * installed:                  no syncing required
  * installed-accounts:         no syncing required
  * installed-unpackaged:       no syncing required
  * repository:                 no syncing required
  * unavailable:                success
  * unavailable-unofficial:     success
  * unwritten:                  success
  * x-graveyard:                success
    * Regenerating cache for installable repositories...
  Fixing cache for accounts...
  Fixing cache for arbor...
  Fixing cache for graveyard...
  Fixing cache for unavailable...
  Fixing cache for unavailable-unofficial...
  Fixing cache for unwritten...
    * Done regenerating cache for installable repositories
    * You have 2 unread news items (use 'eclectic news' to read)
Para ler os itens, execute:
# eclectic news list
# eclectic news read all
Como instalar um pacote pelo 
Paludis? Como exemplo, vamos instalar o 
Axel.
# cave resolve axel -x
Sem o 
-x, ele não executa.
Vai dar erro, com a seguinte mensagem:
  Masked by unavailable (In a repository which is unavailable)
Consulte o FAQ sobre isso:
E lá, vai dizer que basta executar:
# cave resolve repository/nome-do-repositório -x
Então, executo:
# cave resolve repository/rorgoroth -x
E tento novamente instalar o 
Axel:
# cave resolve axel -x
Dessa vez, com sucesso.
Na próxima página, veremos o kernel e outras configurações.