Preparação
Primeiro de tudo, precisamos de criar uma pasta que vai servir de espaço de trabalho para a manipulação da ISO. Para tal, abra o terminal e execute o seguinte comando (a partir deste ponto, o terminal irá permanecer uma constante):
Copie a ISO previamente descarregada através do seguinte comando (o que está a itálico é para ser adaptado à situação do utilizador):
cp /caminho/para/ubuntu.iso ~/custom-img
Em seguida, desloque para o espaço de trabalho:
Agora precisa de extrair os conteúdos do disco, começando por criar uma pasta para alojar o conteúdo do disco:
De seguida monta-se a imagem na pasta criada previamente (o que está a itálico é para ser adaptado à situação do utilizador):
sudo mount -o loop ubuntu.iso mnt
Cria-se a pasta que irá levar com parte do conteúdo do disco (que será comum ao original):
Faz-se a sincronização com a parte que é comum:
sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract
Agora a coisa começa a ficar interessante, pois vamos extrair o sistema de ficheiros, no qual podemos personalizar (incluindo o skel, que irá afectar as pastas pessoais de cada novo utilizador):
sudo unsquashfs mnt/casper/filesystem.squashfs
E mude o nome da pasta para algo mais sugestivo:
sudo mv squashfs-root edit
Configurações Essenciais
Para poder manipular a ISO, em princípio precisa de ter ligação à Internet para poder actualizar as listas e descarregar os pacotes. Para tal precisa de copiar as suas configurações de Internet:
sudo cp /etc/resolv.conf edit/etc/
Montam-se algumas directorias importantes:
sudo mount --bind /dev/ edit/dev
Efectua-se o
login na ISO que estamos a modificar:
E montam-se mais algumas directorias:
mount -t devpts none /dev/pts
Mas antes de poder fazer algumas alterações, precisa de fazer ainda os seguintes passos, como a definição da directoria
home:
O tipo de configuração linguística:
Entre outras coisas:
dbus-uuidgen > /var/lib/dbus/machine-id
dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initctl