Remasterizando um LiveCd do [K]ubuntu com o UCK (Ubuntu Customization Kit)

Hoje vou mostrar com remasterizar um livecd do ubuntu com o UCK. Antes de conhecer o UCK eu utilizava o Reconstructor, mas como sou curioso por novas ferramentas...
Deixando de bla bla bla, vamos ao que interessa, como o modo de geração da ISO via linha de comando é bastante simples, iremos utiliza-lo, isso não quer dizer que o UCK não tenha um modo gráfico (podendo ser acessado via "uck-gui --wait-before-exit" *sem as aspas).

Antes de mais nada vamos instalar o UCK:


$ wget -c http://sourceforge.net/project/downloading.php?group_id=169959&use_mirror=ufpr&filename=uck_2.0.3_all.deb&46020298

$ sudo dpkg -i uck_2.0.3_all.deb && apt-get -f install


Depois de instalado vamos a brincadeira:

Por padrão a saída dos comandos serão salvas em /home/usuario/tmp

Para descompactar a ISO

$ sudo uck-remaster-unpack-iso distribuicao.iso


Mounting ISO image...
Unpacking ISO image...
Unmounting ISO image...

Montando o arquivo casper/filesystem.squashfs

$ sudo uck-remaster-unpack-rootfs


Removing remastering root dir...
rm: cannot remove directory `/home/usuario/tmp/remaster-root/tmp/.X11-unix': Device or resource busy
Mounting SquashFS image...
Unpacking SquashFS image...
Unmounting SquashFS image...


Agora vamos acessar o sistema da ISO para efetuar algumas modificações

$ sudo uck-remaster-chroot-rootfs


Ao término da configuração do sistema, é normal que surjam muitos pacotes "órfãos", bibliotecas e arquivos que não são mais usados por nenhum programa, servem apenas para ocupar espaço. Você pode localizar estas sobras facilmente usando o comando:

# deborphan


Ele retorna uma lista dos pacotes orfãos que você pode remover com segurança através do apt-get. Isso vai quase sempre liberar alguns megas.
Caso você tenha usado o apt-get update e o apt-get install você pode liberar mais um bom espaço limpando o cache local de pacotes:

# apt-get clean


Delete também o histórico de comandos do root, este arquivo armazena os últimos comandos usados. Não existe necessidade de divulgá-los ao mundo. Aproveite para eliminar também o diretório .rr_moved:


# rm -f /home/root/.bash_history
# rm -rf /.rr_moved

Depois de efetuar todas as suas configurações pressione CTRL+D para fechar o chroot.

O próximo passo é preparar o ambiente para geração da ISO

$ sudo uck-remaster-pack-rootfs 


Updating files lists...
Packing SquashFS image...
Parallel mksquashfs: Using 1 processor
Creating little endian 3.0 filesystem on /home/usuario/tmp/remaster-iso/casper/filesystem.squashfs, block size 65536.
[==========================================================================================================================] 73596/73596 100%
Exportable Little endian filesystem, data block size 65536, compressed data, compressed metadata, compressed fragments, duplicates are removed
Filesystem size 419377.71 Kbytes (409.55 Mbytes)
35.60% of uncompressed filesystem size (1178153.99 Kbytes)
Inode table size 755770 bytes (738.06 Kbytes)
30.92% of uncompressed inode table size (2444062 bytes)
Directory table size 683576 bytes (667.55 Kbytes)
46.89% of uncompressed directory table size (1457786 bytes)
Number of duplicate files found 5868
Number of inodes 74066
Number of files 62250
Number of fragments 6536
Number of symbolic links 5373
Number of device nodes 399
Number of fifo nodes 3
Number of socket nodes 1
Number of directories 6040
Number of uids 13
root (0)
messagebus (105)
unknown (3001)
haldaemon (107)
hamilton (1000)
daemon (1)
dhcp (100)
www-data (33)
man (6)
avahi (106)
news (9)
unknown (108)
hplip (103)
Number of gids 31
video (44)
audio (29)
tty (5)
kmem (15)
disk (6)
lp (7)
dip (30)
dialout (20)
cdrom (24)
adm (4)
daemon (1)
uucp (10)
messagebus (113)
avahi-autoipd (112)
bin (2)
dhcp (101)
shadow (42)
utmp (43)
scanner (104)
fuse (106)
plugdev (46)
admin (109)
nvram (105)
www-data (33)
ssl-cert (107)
staff (50)
src (40)
root (0)
nogroup (65534)
ssh (111)
mail (8)

E por fim, o comando para gerar a ISO em /home/usuario/tmp/remaster-new-files/Livecd.iso

$ sudo uck-remaster-pack-iso


Preparing directory for new files
Updating md5sums...
~/tmp/remaster-iso ~
~
Packing ISO image...
ISO description set to: Remastered Ubuntu LiveCD
Unknown file type (unallocated) /home/usuario/tmp/remaster-iso/.. - ignoring and continuing.
Size of boot image is 4 sectors -> No emulation
2.20% done, estimate finish Sat Sep 13 21:40:24 2008
4.40% done, estimate finish Sat Sep 13 21:40:46 2008
6.61% done, estimate finish Sat Sep 13 21:40:39 2008
8.81% done, estimate finish Sat Sep 13 21:40:35 2008
11.01% done, estimate finish Sat Sep 13 21:40:33 2008
13.21% done, estimate finish Sat Sep 13 21:40:31 2008
15.41% done, estimate finish Sat Sep 13 21:40:30 2008
17.61% done, estimate finish Sat Sep 13 21:40:29 2008
19.82% done, estimate finish Sat Sep 13 21:40:34 2008
22.01% done, estimate finish Sat Sep 13 21:40:42 2008
24.22% done, estimate finish Sat Sep 13 21:40:44 2008
26.42% done, estimate finish Sat Sep 13 21:40:42 2008
28.62% done, estimate finish Sat Sep 13 21:40:44 2008
30.82% done, estimate finish Sat Sep 13 21:40:46 2008
33.03% done, estimate finish Sat Sep 13 21:40:45 2008
35.22% done, estimate finish Sat Sep 13 21:40:46 2008
37.43% done, estimate finish Sat Sep 13 21:40:48 2008
39.63% done, estimate finish Sat Sep 13 21:40:46 2008
41.83% done, estimate finish Sat Sep 13 21:40:47 2008
44.03% done, estimate finish Sat Sep 13 21:40:48 2008
46.23% done, estimate finish Sat Sep 13 21:40:49 2008
48.43% done, estimate finish Sat Sep 13 21:40:48 2008
50.64% done, estimate finish Sat Sep 13 21:40:49 2008
52.83% done, estimate finish Sat Sep 13 21:40:52 2008
55.04% done, estimate finish Sat Sep 13 21:40:53 2008
57.24% done, estimate finish Sat Sep 13 21:40:53 2008
59.44% done, estimate finish Sat Sep 13 21:40:54 2008
61.64% done, estimate finish Sat Sep 13 21:40:53 2008
63.85% done, estimate finish Sat Sep 13 21:40:53 2008
66.04% done, estimate finish Sat Sep 13 21:40:54 2008
68.25% done, estimate finish Sat Sep 13 21:40:53 2008
70.45% done, estimate finish Sat Sep 13 21:40:53 2008
72.65% done, estimate finish Sat Sep 13 21:40:54 2008
74.85% done, estimate finish Sat Sep 13 21:40:54 2008
77.05% done, estimate finish Sat Sep 13 21:40:53 2008
79.25% done, estimate finish Sat Sep 13 21:40:54 2008
81.46% done, estimate finish Sat Sep 13 21:40:54 2008
83.66% done, estimate finish Sat Sep 13 21:40:56 2008
85.86% done, estimate finish Sat Sep 13 21:40:56 2008
88.06% done, estimate finish Sat Sep 13 21:40:56 2008
90.26% done, estimate finish Sat Sep 13 21:40:56 2008
92.46% done, estimate finish Sat Sep 13 21:40:56 2008
94.67% done, estimate finish Sat Sep 13 21:40:56 2008
96.87% done, estimate finish Sat Sep 13 21:40:58 2008
99.07% done, estimate finish Sat Sep 13 21:40:57 2008
Total translation table size: 2048
Total rockridge attributes bytes: 37962
Total directory bytes: 141436
Path table size(bytes): 908
Max brk space used 42000
227123 extents written (443 MB)

Pronto a ISO está criada.
Qualquer duvida e correções mande um comentario, até a proxima.