Informatica‎ > ‎

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/




Comments