]> gitweb.fluxo.info Git - padrao.git/commitdiff
Adicionando procedimento de instalacao
authorSilvio Rhatto <rhatto@riseup.net>
Tue, 2 Feb 2010 23:29:47 +0000 (21:29 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Tue, 2 Feb 2010 23:29:47 +0000 (21:29 -0200)
install.mdwn

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8ec562779f3cfd31a6ea7248d666b5f286667e0a 100644 (file)
@@ -0,0 +1,209 @@
+Sistema Debian 
+==============
+
+A seguir, o procedimento de instalação de um sistema com disco criptografado e gerenciamento de partida via dispositivo de armazenamento USB.
+
+Local de instalação 
+-------------------
+
+O procedimento a seguir utiliza LVM e assume que o nome de volume group vg esteja disponível para utilização. Assim, recomenda-se que, durante o procedimento de instalação, seja utilizado
+
+1. Um sistema simples sem LVM.
+2. Ou um sistema que utilize LVM mas que não tenha um volume group de nome vg. 
+
+Caso contrário, você ainda poderá utilizar um nome de volume group intermediário durante a instalação, reiniciar a máquina com um outro sistema onde o nome vg esteja disponível e utilizar o vgrename(8) para renomear o volume group.
+
+Instalação 
+----------
+
+Antes de tudo, determine qual o dispositivo no qual o sistema será instalado, a arquitetura, a versão do sistema e o domínio principal:
+
+    export device=/dev/nome_do_dispositivo
+    export arch=amd64
+    export version=lenny
+    export hostname=nome_da_maquina
+    export domain=projeto.org
+
+A primeira etapa é o particionamento do disco. Neste exemplo, consideremos o seguinte layout para o disco:
+
+    fdisk -l $device
+
+Como exemplo, assumiremos o seguinte layout, ajuste-o conforme as suas necessidades e gostos:
+
+    Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
+    255 heads, 63 sectors/track, 121601 cylinders
+    Units = cilindros of 16065 * 512 = 8225280 bytes
+    Disk identifier: 0x00000000
+    
+    Dispositivo Boot      Start         End      Blocks   Id  System
+    /dev/sdb1               1         249     2000061   82  Linux swap
+    /dev/sdb2   *         250         273      192780   83  Linux
+    /dev/sdb3             274      121601   974567160   8e  Linux LVM
+
+Em seguida vem a criação do LVM:
+
+    pvcreate "$device"3
+    vgcreate vg "$device"3
+    lvcreate -L20G -n root vg
+    vgchange -a y vg
+
+Em seguida, preencher o dispositivo com sujeira:
+
+    dd if=/dev/urandom of=/dev/vg/root
+
+A saída do comando acima deve ser algo como
+
+    dd: escrevendo em `/dev/vg/root': Não há espaço disponível no dispositivo
+    41943041+0 registos dentro
+    41943040+0 registos fora
+    21474836480 bytes (21 GB) copiados, 8544 s, 2,5 MB/s
+
+Proceder igualmente com a partição swap:
+
+    dd if=/dev/urandom of="$device"1
+    
+    dd: escrevendo em `/dev/sdb1': Não há espaço disponível no dispositivo
+    4000123+0 registos dentro
+    4000122+0 registos fora
+    2048062464 bytes (2,0 GB) copiados, 972,049 s, 2,1 MB/s
+
+Com isso, já é possível passar para a criação do volume criptografado:
+
+    cryptsetup -h sha256 -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/vg/root
+    cryptsetup luksOpen /dev/vg/root debootstrap
+    mkfs.ext3 /dev/mapper/debootstrap
+
+Montando esse dispositivo num local temporário e instalar o sistema básico:
+
+    mkdir /tmp/debootstrap
+    mount /dev/mapper/debootstrap /tmp/debootstrap/
+    debootstrap --arch=$arch $version /tmp/debootstrap/
+
+Configuração inicial 
+--------------------
+
+    mount none -t proc /tmp/debootstrap/proc/
+    mount -o bind /dev/ /tmp/debootstrap/dev
+    cp -L /etc/resolv.conf /tmp/debootstrap/etc
+    echo $hostname.$domain >> /tmp/debootstrap/etc/hostname
+    echo "127.0.0.1 localhost $hostname $hostname.$domain" >> /tmp/debootstrap/etc/hosts
+    
+    chroot /tmp/debootstrap/
+    export PS1="chroot $PS1"
+    apt-get update ; apt-get upgrade
+    apt-get install locales cryptsetup lvm2 initramfs-tools grub
+
+O /etc/crypttab deve conter (substitua /dev/sda1 pelo seu valor correspondente para $device:
+
+    # <target name>    <source device>         <key file>      <options>
+    root            /dev/mapper/vg-root     none            luks,cipher=aes-cbc-essiv:sha256
+    cswap           /dev/sda1               /dev/random     swap,cipher=aes-cbc-essiv:sha256
+
+E o /etc/fstab deve conter:
+
+    /dev/mapper/cswap none swap sw 0 0
+    /dev/mapper/root  /    ext3 defaults,errors=remount-ro
+
+Partida 
+-------
+
+Agora é a hora de configurar o gerenciador de partida:
+
+    mkfs.ext3 /dev/"$device"2
+    mount /dev/"$device"2 /boot
+    grub-install --no-floppy "$device"
+
+Conteúdo do /boot/grub/menu.lst (substitua de acordo com os valores de $arch e da versão do kernel instalado:
+
+    title      Servidor (hd0)
+    root       (hd0,1)
+    kernel     /vmlinuz-2.6.26-1-vserver-amd64 root=/dev/mapper/root ro quiet rootdelay=10
+    initrd     /initrd.img-2.6.26-1-vserver-686
+    
+    title      Servidor (hd0) (single)
+    root       (hd0,1)
+    kernel     /vmlinuz-2.6.26-1-vserver-amd64 root=/dev/mapper/root ro single rootdelay=10
+    initrd     /initrd.img-2.6.26-1-vserver-686
+
+Note que a opção rootdelay é importante no caso de sistemas contidos dentro de volumes USB, já que o kernel demora alguns instantes para detectar tais volumes. Detalhes a respeito em
+
+* [Installing Linux on USB - Part 5: Installing Debian Linux on USB flash memory drives](http://blogs.koolwal.net/2009/02/03/installing-linux-on-usb-part-5-installing-debian-linux-on-usb-flash-memory-drives/).
+* [initramfs-tools: lvm is not initialized on USB disks](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366175#37).
+* [When root on USB: add rootdelay=xx to kernel command line](https://blueprints.launchpad.net/ubuntu/+spec/kernel-boot-usb-roodelay).
+
+Para que a partição de boot seja montada após a partida do sistema, adicione a seguinte entrada no /etc/fstab, substituindo, se necessário, sda2 pela partição correspondente:
+
+    /dev/sda2  /boot    ext3 defaults,errors=remount-ro
+
+Kernel 
+------
+
+O /etc/initramfs-tools/modules deve conter as linhas
+
+    dm-mod
+    dm-crypt
+    aes
+    twofish
+    sha256
+
+Já o /etc/kernel-img.conf deve possuir a linha
+
+    do_initrd = Yes
+
+Proceda [desabilitando o firewire do sistema](firewire) e, em seguida, instale o kernel:
+
+    if [ "$arch" == "i386" ]; then
+      kernel_arch="686"
+    else
+      kernel_arch="$arch"
+    fi
+    
+    apt-get install linux-image-2.6-vserver-$kernel_arch
+
+Imagem de partida 
+-----------------
+
+Para que o sistema consiga inicializar, atualize a imagem de partida:
+
+    update-initramfs -v -u
+
+Continuando remotamente 
+
+Para que seja possível continuar remotamente com a configuração, é preciso instalar um servidor SSH:
+
+    apt-get install openssh-server
+    ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub
+    ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
+
+Aproveite para instalar aplicativos básicos:
+
+    apt-get install sudo cron lsb-release
+
+Por fim,
+
+    passwd root
+
+Agora a máquina já está quase a ponto de poder ser administrada remotamente. Antes disso, configure a rede, instale o sudo e adicione as contas de usuário/a iniciais:
+
+    vi /etc/network/interfaces # configuracao de rede
+    vi /etc/udev/rules.d/70-persistent-net.rules # ajuste das placas de rede
+    vi /etc/resolv.conf # para usar o dns disponivel no data center
+    apt-get install sudo && adduser nome-de-usuario
+
+Antes de largar a máquina no data center, lembre-se de anotar os fingerprints do ssh que você listou anteriormente.
+
+Expansão de espaço em disco 
+---------------------------
+
+* [How to resize a LUKS-encrypted partition created over LVM2](http://www.saout.de/tikiwiki/tiki-index.php?page=ResizeLUKSPartitions).
+* [Resizing Encrypted Filesystems](http://www.debian-administration.org/articles/536).
+* [Resizing a dm-crypt / LVM / ext3 partition](http://www.hermann-uwe.de/blog/resizing-a-dm-crypt-lvm-ext3-partition). 
+
+Referências 
+-----------
+
+Algumas referências para instalação:
+
+* [Encrypted Root LVM](http://www.howtoforge.com/encrypted-root-lvm).
+* [Encrypted filesystem - rigacci.org](http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/cryptfs).
+* [EncryptedFilesystems - Ubuntu Documentation](https://help.ubuntu.com/community/EncryptedFilesystems).