Ktechlab no Ubuntu 12.04 usando chroot
Instale os programas debootstrap e o schroot com o comando:
sudo apt-get install debootstrap schroot
Crie uma pasta com o nome lucid (ou o nome que desejar) no diretório /var (ou outro diretório que desejar também). Para isso, use o comando abaixo:
sudo mkdir /var/lucid
Agora vamos instalar nosso sistema, que neste caso é o Ubuntu 10.04 Lucid. Com o programa debootstrap é possível baixar todos os pacotes necessários do sistema operacional na pasta selecionada. Use o comando abaixo:
sudo debootstrap lucid /var/lucid
Para nosso novo sistema funcionar perfeitamente, precisamos montar alguns diretórios do sistema atual dentro do novo sistema. Para isso vamos editar o arquivos /etc/fstab. Para isso, abra este arquivo com o comando:
sudo gedit /etc/fstab
Escreve o texto abaixo no final do arquivo e feche o mesmo (não esqueça de salvar).
# Ubuntu 10.04 chroot
/home /var/lucid/home none bind 0 0
/tmp /var/lucid/tmp none bind 0 0
/dev /var/lucid/dev none bind 0 0
/proc /var/lucid/proc none bind 0 0
/sys /var/lucid/sys none bind 0 0
Agora vamos montar esses diretórios com os comandos abaixo:
sudo mount /var/lucid/home
sudo mount /var/lucid/tmp
sudo mount /var/lucid/dev
sudo mount /var/lucid/proc
sudo mount /var/lucid/sys
Para executar eplicações facilmente via chroot, usaremos o programa schroot. Sendo assim, vamos configura-lo editando o arquivo /etc/schroot/schroot.conf. Abra este arquivo usando o comando:
sudo gedit /etc/schroot/schroot.conf
Agora digite o texto no final do arquivo como o exemplo abaixo:
[lucid]
description=Ubuntu 10.04 i386
groups=users,root
root-groups=users,root
root-users=edivaldo
aliases=default,unstable,ia32
personality=linux32
directory=/var/lucid
Atenção: Note quem em root-users=edivaldo o nome edivaldo é meu nome de usuário. Deve ser substituido pelo seu nome de usuário. O nome deve ser igual ao que aparece quando abrimos a terminal. Veja um exemplo na figura abaixo:
Devemos editar o sources.list do nosso Ubuntu Lucid. Para isso, abra este arquivo com o comando:
sudo gedit /var/lucid/etc/apt/sources.list
Apague todo texto deste arquivo e escreva a linha abaixo:
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
Agora, podemos acessar nosso novo sistema. Entre no Ubuntu Lucid com o comando:
sudo chroot /var/lucid
Neste momento estamos dentro do Ubuntu Lucid. Para confirmar se isso é verdade você pode usar o comando abaixo para mostrar a versão do sistema:
lsb_release -a
Atualize a lista de pacotes disponíveis usando o comando:
apt-get update
Agora podemos instalar o Ktetchlab usando o comando:
apt-get install ktechlab
Depois disso, o Ktechlab já está instalado. Porém, a versão que encontra-se disponível no repositório que acabamos de instalar tem alguns bugs. No site http://old-releases.ubuntu.com/ubuntu/pool/universe/k/ktechlab/ tem a versão mais recente do Ktechlab. Sendo assim, utilizaremos o pacote ktechlab_0.3.7-9ubuntu1_i386.deb pois estamos usando um sistema i386.
Para baixar este pacote temos que instalar o wget:
apt-get install wget
Depois podemos baixar o ktechlab_0.3.7-9ubuntu1_i386.deb usando o comando:
wget http://old-releases.ubuntu.com/ubuntu/pool/universe/k/ktechlab/ktechlab_0.3.7-9ubuntu1_i386.deb
Digite o comando abaixo para instalar o ktechlab_0.3.7-9ubuntu1_i386.deb:
dpkg -i ktechlab_0.3.7-9ubuntu1_i386.deb
Vai aparecer uma reclamação da dependencia libpopt0 mas podemos ignorar.
Após o término da instalação, saia do Ubuntu Lucid:
exit
Para executar o Ktechlab digite o mando:
schroot -p ktechlab
Obs.: Caso ocorra erro do tipo:
kbuildsycoca: ERROR creating database
Error: Can not find password entry for uid
Para corrigir, digite o comando no terminal:
sudo rm -r ~./kde
Criando atalho para o Ktechlab
Crie um arquivo em /usr/local/bin com o nome do_chroot. Para fazer isso use o comando abaixo:
sudo gedit /usr/local/bin/do_chroot
Cole o seguinte texto neste arquivo:
#!/bin/bash
exec schroot -p -c lucid -q -- "`basename $0`" "$@"
Salve o arquivo e feche-o.
Agora vamos fazer com que se torne executável:
sudo chmod 755 /usr/local/bin/do_chroot
Vamos criar links simbólicos dentro do diretório /usr/local/bin:
sudo ln -s /usr/local/bin/do_chroot /usr/local/bin/ktechlab
Pronto. Agora para executar o Ktechlab basta digitar:
ktechlab
Para criar um ícone com a imagem do Ktechalab podemos usar o programa alacarte. Instale-o com o comando:
sudo apt-get install alacarte
Faça download da figura do ktechlab usando o comando abaixo:
wget -P ~/Imagens https://github.com/ktechlab/ktechlab/wiki/MediaWikiSidebarLogo.png
Execute o alacarte e clique em Novo item como mostra a figura abaixo:
Em Nome digite Ktechlab, em Comando digite ktechlab e depois clique onde a seta mosta e escolha a figura do Ktachlab:
Pronto. Agora o ktechlab aparece normalmente no menu:
Video mostrando como "rodar" o Ktechlab no Ubuntu 12.04 usando o chroot:
Referências:
Usando um chroot para rodar aplicações 32bit em uma instalação amd64: http://diovani.com/samuraidio/tag/amd64/
Jaulas com debootstrap e schroot: http://www.vivaolinux.com.br/artigo/Jaulas-com-debootstrap-e-schroot?pagina=1
Usando o chroot: http://developer.ubuntu.com/packaging/pt-br/html/chroots.html
Ambiente seguro com chroot: http://www.vivaolinux.com.br/dica/Ambiente-seguro-com-chroot
Debian Squeeze em chroot: Instalando debian enjaulado dentro de outro Debian: http://kleberpaivasiqueiracosta.wordpress.com/2013/02/19/debian-squeeze-em-chroot/
32 bits rodando em 64: http://fiscomp.if.ufrgs.br/index.php/32_bits_rodando_em_64
Acessando o sistema com o chroot: http://thiagonalli.wordpress.com/2012/08/30/acessando-o-sistema-com-o-chroot/