Customizando uma Instalação do Ubuntu, Mint ou Debian


Útil para guardar um backup customizado do sistema operacional, para levar para outro computador, num curso, palestra, etc.

Com estes passos, criamos um ambiente isolado com a iso baixada e onde podemos instalar novos pacotes e remover os desejados e assim criar uma iso customizada a gosto. Esta forma também é mais flexível que usando o Remastersys, pois podemos criar a ISO enquanto trabalhamos.

Nos passos abaixo apenas estou querendo customizar adicionando os softwares que geralmente instalo após a instalação do Linux. Quem estiver interessado em customizaar o sistema do Linux, seu desktop, etc deve então ler a texto original em:
http://www.915tx.com/remaster/

Google+ do autor https://plus.google.com/+PeteNavarro/posts, onde deseja receber comentários.

Existia um bom programa que fazia isso (Remastersys) com simplicidade mas foi descontinuado e os que existem são instáveis.

Explicação detalhada de cada comando:
https://forums.linuxmint.com/viewtopic.php?f=42&t=107350

Nota: alguns comandos ocupam mais de uma linha. Cuidado, sempre execute o comando completo.


Instalação dos softwares necessários:

sudo apt-get install squashfs-tools genisoimage resolvconf

Baixar a iso do Ubuntu ou do Mint:
http://www.ubuntu.com/download
http://www.linuxmint.com/download.php

Mover a iso baixada para sua pasta /home/usuario


Configurando e Criando a ISO customizada

Abra o terminal e digite ou copie/cole:

mkdir ~/livecdtmp

cd ~/livecdtmp

mkdir extract-cd mnt

sudo mount -o loop ~/INSIRA_SUA_ISO_AQUI.iso mnt

sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd

sudo unsquashfs mnt/casper/filesystem.squashfs
Aguarde...

sudo mv squashfs-root edit

sudo cp /etc/resolv.conf edit/etc/

sudo mount --bind /dev/ edit/dev

Entrar no ambiente chroot:
sudo chroot edit

mount -t proc none /proc && mount -t sysfs none /sys && mount -t devpts none /dev/pts

export HOME=/root && export LC_ALL=C

cd /etc/skel

mkdir Desktop Documents Downloads Music Pictures Public Templates Videos

cd /


Seu projeto está pronto para as alterações, adicionando e removendo softwares.

Eu basicamente executei o seguinte:

apt update
apt upgrade
exit
sudo reboot

Após voltar executei:
cd livecdtmp

sudo mount --bind /dev/ edit/dev

sudo chroot edit

mount -t proc none /proc && mount -t sysfs none /sys && mount -t devpts none /dev/pts

No tutorial original existem sugestões de configurar o sistema, personalizar o desktop entre outras.

apt-get clean

apt-get autoremove

rm -rf /tmp/* ~/.bash_history

Agora eu instalei tudo que geralmente instalo após instalar do zero (altere a gosto):

apt-get -y install aptitude ntp ntpdate git samba
apt-get -y install apache2 libapache2-mod-php7.0
a2enmod rewrite
apt-get -y install postgresql postgresql-contrib mysql-server sqlite3
apt-get -y install php7.0-bcmath php7.0 mcrypt php7.0-mcrypt php7.0-gd php7.0-mysql php7.0-sqlite3 php7.0-pgsql php7.0-ldap
apt-get -y install php7.0-mcrypt php-pear php7.0-xsl curl php7.0-curl phpunit php-xdebug php7.0-intl composer
apt-get -y install php7.0-zip php7.0-mbstring php-gettext php-mbstring php7.0-fpm php-auth phpmyadmin
apt-get install php-curl php-mcrypt php-gd
phpenmod mbstring
apt-get -y install php-apcu
wget http://ftp.ussg.iu.edu/linux/ubuntu/pool/main/m/memcached/memcached_1.4.25-2ubuntu1_amd64.deb
dpkg -i memcached_1.4.25-2ubuntu1_amd64.deb
apt-get -y install php-memcache
apt-get -y install msttcorefonts
apt-get -y install rar unrar zip unzip p7zip-full aptitude ubuntu-restricted-extras k3b kolourpaint4 gnome-search-tool
#Instalar Java
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
#Módulo de Segurança para o Banco do Brasil
sudo apt-get install libnss3-tools libcurl3
wget https://cloud.gastecnologia.com.br/bb/downloads/ws/warsaw_setup64.deb -O warsaw.deb
sudo dpkg -i warsaw.deb
rm warsaw.deb
apt-get -y update
apt-get -y upgrade

Sair do ambiente chroot

umount /proc

umount /sys

umount /dev/pts

exit

sudo umount edit/dev


Agora vamos construir a ISO ou volte e faça alterações.
Idealmente reinicie seu computador agora, especialmente se tiver pouca RAM (<= 4GB).

sudo rm ~/livecdtmp/extract-cd/casper/filesystem.squashfs (somente se reconstruindo um projeto)

cd livecdtmp

sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
Aguarde...

sudo nano extract-cd/README.diskdefines

cd extract-cd

find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt

cd ..

sudo mkisofs -r -V "REMASTER" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../REMASTER.iso extract-cd

cd ..

sudo chmod 777 REMASTER.iso


Está pronto para testar.
Para isso criei uma VM no VirtualBox com praticamente tudo default, exceto no HD que mudei para 20GB, pois exige mais que os 10 reservados por default pelo VirtualBox. A VM foi criada com sucesso e tudo correu bem. Testei todos os softwares que instalei e estavam lá: apache, php, mysql, etc.

Referência
http://www.915tx.com/remaster/


Adicionar comentário


Código de segurança
Atualizar

Pensamento do Dia

A verdadeira medida de um homem não se vê na forma como se comporta em momentos de conforto e conveniência, mas em como se mantém em tempos de controvérsia e desafio. (Martin Luther King Jr.)

Compartilhe