segunda-feira, 20 de abril de 2009

Debootstrap, como eu tenho instalado meu sistema a partir de outro *nix.

Basicamente o texto citado pelas referencias a baixo e algumas inserções minhas.

"fonte: http://www.debian.org/releases/stable/hppa/apds03.html.pt 19/11/2008
D.3. Instalar Debian GNU/Linux a partir de um sistema Unix/Linux

Esta secção explica como instalar Debian GNU/Linux a partir de um sistema Unix ou Linux existente, sem utilizar o instalador guiado pelo menu como é explicado no resto do manual. Este "cross-install" HOWTO foi pedido por utilizadores que mudam para Debian GNU/Linux a partir de Red Hat, Mandrake e SUSE. Nesta secção é assumida alguma familiaridade em introduzir comandos *nix e navegar através do sistema de ficheiros. Nesta secção, $ simboliza um comando a ser escrito pelo utilizador do sistema actual, e # refere-se a comandos introduzidos no chroot Debian.

Assim que tiver o novo sistema Debian configurado de acordo com as suas preferências, você pode migrar os dados existentes dos utilizadores (se os tiver) para lá, e continuar a rolar. Isto é portanto uma instalação Debian GNU/Linux com "zero paragens". É também uma maneira inteligente de lidar com hardware que de outro modo não se dá bem com os vários media ou tipos de arranque.
D.3.1. Começar

Com os seus actuais utilitários de particionamento *nix, reparticione o disco rígido conforme necessário, criando pelo menos um sistema de ficheiros e swap. Você necessita cerca de 350MB de espaço disponível para instalação de apenas consola, ou pelo menos cerca de 1GB se planeia instalar o X (mais se tencionar instalar ambientes de desktop como o GNOME ou o KDE).

De seguida, criar os sistemas de ficheiros nas partições. Por exemplo, para criar um sistema de ficheiros ext3 na partição /dev/hda6 (é a nossa partição raiz no nosso exemplo):

# mke2fs -j /dev/hda6

Em vez disso para criar um sistema de ficheiros ext2, omita -j.

Inicializar e activar a swap (substitua o número da partição pela partição swap Debian que deseja):

# mkswap /dev/hda5
# sync; sync; sync
# swapon /dev/hda5

Monte uma partição como /mnt/debinst (o ponto de instalação, para ser o sistema de ficheiros raiz (/) no seu novo sistema). O nome do ponto de montagem é estritamente arbitrário, é referenciado posteriormente mais abaixo.

# mkdir /mnt/debinst
# mount /dev/hda6 /mnt/debinst

Nota

Se deseja ter partes do sistema de ficheiros (e.g. /usr) montados em partições separadas, você tem de criar e montar manualmente esses directórios antes de proceder para a próxima etapa.
D.3.2. Instalar debootstrap

O utilitário utilizado pelo instalador Debian, e reconhecido como a forma oficial de instalar um sistema base Debian, é o debootstrap. Este utiliza o wget e ar, mas de outra forma depende apenas de /bin/sh e de utilitários Unix/Linux básicos[19]. Instale o wget e ar se não estiverem já no seu sistema actual, depois faça o download e instale o debootstrap.

Ou, pode utilizar o seguinte procedimento para instalá-lo manualmente. Crie um directório de trabalho para extrair lá o .deb:

# mkdir work
# cd work

O binário debootstrap está localizado no arquivo Debian (assegure-se que escolhe o ficheiro adequado para a sua arquitectura). Faça o download do .deb debootstrap a partir do pool, copie o pacote para o directório de trabalho, e extraia dele os ficheiros. Você necessita ter privilégios de root para instalar os ficheiros.

# ar -x debootstrap_0.X.X_arch.deb
# cd /
# zcat /full-path-to-work/work/data.tar.gz | tar xv

D.3.3. Corra debootstrap

O debootstrap pode fazer o download dos ficheiros necessários directamente do arquivo quando o executar. Você pode substituir qualquer mirror de arquivo por http.us.debian.org/debian no exemplo do comando abaixo, de preferência um mirror perto da sua rede. Os mirrors estão listados em http://www.debian.org/misc/README.mirrors.

Se você tem o CD Debian GNU/Linux etch montado em /cdrom, você pode substituir um URL de ficheiro em vez do URL http: file:/cdrom/debian/

Substitua um dos seguintes por ARCH no comando debootstrap: alpha, amd64, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, ou sparc.

# /usr/sbin/debootstrap --arch ARCH etch \
/mnt/debinst http://ftp.us.debian.org/debian
(a linha que eu uso tende a ser esta # debootstrap --arch i386 sid \
/mnt/debinst http://ftp.br.debian.org/debian)

D.3.4. Configurar o Sistema Base

Agora tem um verdadeiro sistema debian, embora um pouco leve, no disco. Faça chroot para lá:

# LANG=C chroot /mnt/debinst /bin/bash

Após fazer chroot pode querer configurar a definição do terminal para ser compatível com o sistema base Debian, por exemplo:

# export TERM=xterm-color

D.3.4.1. Partições a Montar

Você tem de criar /etc/fstab.

# editor /etc/fstab

Aqui está um exemplo que você pode modificar para ser adequado:

# /etc/fstab: informação estáctica do sistema de ficheiros
#
# file system mount point type options dump pass
/dev/XXX / ext3 defaults 0 1
/dev/XXX /boot ext3 ro,nosuid,nodev 0 2
/dev/XXX none swap sw 0 0
/proc /proc proc defaults 0 0
/dev/fd0 /mnt/floppy auto noauto,rw,sync,user,exec 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0
/dev/XXX /tmp ext3 rw,nosuid,nodev 0 2
/dev/XXX /var ext3 rw,nosuid,nodev 0 2
/dev/XXX /usr ext3 rw,nodev 0 2
/dev/XXX /home ext3 rw,nosuid,nodev 0 2


Para montar todos os sistemas de ficheiros que tem especificado no /etc/fstab utilize mount -a, ou para montar os sistemas de ficheiros individualmente utilize:

# mount /path # e.g.: mount /usr

Os actuais sistemas Debian têm pontos de montagem para media removível sob /media, mas mantém links simbólicos de compatibilidade em /. Se não utilizou mount -a, assegure-se que monta o proc antes de continuar:

# mount -t proc proc /proc
(Nesse ponto costumo montar como neste post.)

O comando ls /proc deve agora mostrar um directório não-vazio. Se isto falhar, você pode montar o proc fora da chroot:

# mount -t proc proc /mnt/debinst/proc

D.3.4.2. Configurar o Fuso Horário

Uma opção no ficheiro /etc/default/rcS determina se o sistema irá interpretar o relógio de hardware como estando definido para UTC ou hora local. O seguinte comando permite-lhe escolher o seu fuso horário.

# editor /etc/default/rcS
# tzconfig

D.3.4.3. Configurar a Rede

Para configurar a rede, edite /etc/network/interfaces, /etc/resolv.conf, /etc/hostname e /etc/hosts.

# editor /etc/network/interfaces

Aqui estão alguns exemplos simples retirados de /usr/share/doc/ifupdown/examples:

######################################################################
# /etc/network/interfaces -- ficheiro configuração p/ ifup(8), ifdown(8)
# Veja a manpage interfaces(5) manpage para informação acerca de quais


# opções estão disponíveis.
######################################################################

# Nós queremos sempre o interface loopback.
#
auto lo
iface lo inet loopback

# Para utilizar dhcp:


#
# auto eth0
# iface eth0 inet dhcp

# Exemplo de uma configuração com IP estático: (broadcast e gateway são opcionais)
#
# auto eth0
# iface eth0 inet static
# address 192.168.0.42
# network 192.168.0.0
# netmask 255.255.255.0
# broadcast 192.168.0.255
# gateway 192.168.0.1

Introduza o(s) servidor(es) de nomes e directivas de procura em /etc/resolv.conf:

# editor /etc/resolv.conf

Um simples /etc/resolv.conf de exemplo:

search hqdom.local\000
nameserver 10.1.1.36
nameserver 192.168.9.100

Escreva o hostname do seu sistema (2 a 63 caracteres):

# echo DebianHostName > /etc/hostname

E um /etc/hosts básico com suporte para IPv6:

127.0.0.1 localhost DebianHostName

# As linhas seguintes são desejáveis para hosts capazes de IPv6
::1 ip6-localhost ip6-loopback

fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Se tiver várias placas de rede, você deve ordenar os nomes dos drivers dos módulos no ficheiro /etc/modules com a ordem desejada. Depois, durante o arranque cada placa será associada com um nome de interface (eth0, eth1, etc.) que você espera.
D.3.4.4. Configurar o Apt

O debootstrap terá criado um /etc/apt/sources.list muito básico que lhe permitirá instalar pacotes adicionais. No entanto, vocẽ pode querer acrescentar algumas fontes adicionais, por exemplo para pacotes de código fonte e actualizações de segurança:

deb-src http://ftp.us.debian.org/debian etch main

deb http://security.debian.org/ etch/updates main

deb-src http://security.debian.org/ etch/updates main

Assegure-se que corre aptitude update depois de fazer alterações á lista de fontes.
D.3.4.5. Configurar os Locales e o Teclado

Para configurar as suas definições de locale para utilizar outro idioma que não o Inglês, instale o pacote de suporte locales e configure-o:

# aptitude install locales
# dpkg-reconfigure locales

Para configurar o seu teclado (se necessário):

# aptitude install console-data
# dpkg-reconfigure console-data

Note que o teclado não pode ser definido enquanto está no chroot, mas será configurado após o próximo reboot.
D.3.5. Instalar um Kernel

Se você tenciona arrancar este sistema, você provavelmente quer um kernel Linux e um gestor de arranque. Identifique os kernels pré-compilados disponíveis com:

# apt-cache search linux-image

Se você tenciona utilizar um kernel pré-empacotado, pode querer criar o ficheiro de configuração /etc/kernel-img-conf antes de o fazer. Aqui está um ficheiro de exemplo:

# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = yes
do_bootfloppy = no
do_initrd = yes

link_in_boot = no

Para informação detalhada acerca deste ficheiro e das várias opções, consulte a sua página do manual que está disponível após instalar o pacote kernel-package. Nós recomendamos que verifique se os valores são apropriados para o seu sistema.

Depois instale o pacote do kernel á sua escolha utilizando o seu nome de pacote.

# aptitude install linux-image-2.6.18-arch-etc

Se não criar um /etc/kernel-img.conf antes de instalar um kernel pré-empacotado, poder-lhe-ão ser colocadas algumas questões durante a sua instalação que se referem a isso.
D.3.6. Configurar o Boot Loader

Para tornar o seu sistema Debian GNU/Linux iniciável, prepare o gestor de arranque para carregar o kernel instalado com a sua nova partição raiz. Note que o debootstrap não instala um gestor de arranque, embora possa utilizar o aptitude dentro do seu chroot Debian para o fazer.
D.3.7. Últimos toques

Como mencionado anteriormente, o sistema instalado será muito básico. Se quiser tornar o sistema um pouco mais maduro, existe um método fácil para instalar todos os pacotes com a prioridade "standard":

# tasksel install standard

Claro que, pode também usar simplesmente o aptitude para instalar pacotes individualmente.

Após a instalação irão estar muitos pacotes a que foi feito o download em /var/cache/apt/archives/. Pode libertar algum espaço em disco ao correr:

# aptitude clean"

Fazendo o qjackctl funcionar.

Sinceramente eu não me lembro de onde busquei essas linhas, mas pelo que as legendas mostram é provável que tenha sido de algum usuario ubuntu, mas sei que dessa forma já fiz esse trocinho chato e qt, que para mim é quase redundante, funcionar e assim sendo deixo da mesma forma da que até então guardei entre os meus.

$ sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf'
$ sudo su -c 'echo @audio - memlock 250000 >> /etc/security/limits.conf'
$ sudo su -c 'echo @audio - nice -10 >> /etc/security/limits.conf'
e
$ sudo mkdir -p /dev/shm/jack-1000/default
$ sudo chmod -R 777 /dev/shm/jack-1000

Montar protocolos em um sistema a partir de outro.

Quando uso o chmod a partir de um sistema instalado ou live-cd para recuperar algum problema que fiz acontecer antes preciso de montar alguns protocolos para o sistema em questão rodar direito então;

# mount -t proc /proc proc
# mount -t sysfs sys /sys
# mount -t devpts /dev/pts /dev/pts

Mandando o splashy funcionar.

Uso este comando pra mandar o splashy funcionar assim criando nova ordem de iniciação do sistema.

# update-initramfs -u -t -k `uname -r`

Começando pelo /Home

Quase sempre que eu formato meu pc e/ou edito uns arquivos sem bem saber o que faço tenho problemas com autoridades do /home que uso em partição separada então tenho à mão essa listinha com procedimentos que me ajudam a recuperar meu status e poder usar tal partição.

# chmod 755 /home
# chown username /home/username/.dmrc
# chmod 644 /home/username/.dmrc
# chown username /home/username
# chmod 755 /home/username
# chown -R username /home/username

Ps. Agora tou com medo, já que estaria recuperando um usuário sem privilégio e ali eu mandei usar usuário privilegiado e com o fato de linux só mandar uma elsa as vezes por um usuário não ter problemas por ter seus critérios de uso concedidos por outros então caso alguem um possa me corrija nesse caso

Legendas

# quer dizer usuário privilegiado, root, super-user ou o que o valha, no caso de ubuntu e derivados ao invés de logar como o root vale acrescentar sudo no inicio de cada linha ignorando é claro o "#".
$ usuário comum, sem privilégios.

Caso alguma dúvida vale postar nesse post o no de origem.

Motivos.

Minha caixa de correio já está com vários rascunhos salvos de linhas de comando que eu sempre uso e para deixar em um lugar de fácil acesso e de forma organizada eu numa forma egoísta crio o meu blog de assunto linux, mas como o tema é relativo a programas de código livre a página fica aberta visitações e possíveis comentários para que outros assim como eu possam se servirem do espaço aqui lançado.