Personalitza una distribució basada en Ubuntu
Es pot donar el cas que ens agrade Ubuntu però només en base perque volem un instal.lador amb una serie de programari preinstal.lat, un escriptori per defecte, una serie de configuracions... això ho podem sol.lucionar agafant una distribució Ubuntu, modificant-la i tornant a convertir-la en una ISO.
Preparant la base
Primer caldrà instal.lar el programari necessari:
sudo apt-get install squashfs-tools genisoimage
I preparem un diposit per deixar la imatge:
mkdir ~/custom-img
I dins deixarem la ISO descarraga:
cp ubuntu.iso ~/custom-img cd ~/custom-img
NOTE - dono per fet que estem en la carpeta on està descarregat ubuntu..iso Ara crearem un punt temporal de muntatge i dins extraurem el contingut de la iso:
mkdir mnt sudo mount -o loop ubuntu.iso mnt mkdir extract sudo rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract
Ara comencem en la part important extraurem el sistema de fitxers
sudo unsquashfs mnt/casper/filesystem.squashfs sudo mv squashfs-root edit
A una carpeta anomenada 'edit que serà on editarem el sistema al nostre gust. En assegurem que tindrà accés a internet:
sudo cp /etc/resolv.conf edit/etc/
Montem uns direcotris importants:
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
I ara que ja estem dins del sistema fem modificacions que ens permetràn instal.lar paquets:
export HOME=/root export LC_ALL=C dbus-uuidgen > /var/lib/dbus/machine-id dpkg-divert --local --rename --add /sbin/initctl ln -s /bin/true /sbin/initctl
Modificant la imatge
A partir d'aquí ja podem, en modo consola, modificar el sistema. Primer actualitzem els repositoris:
apt update
I ara podem instal.lar com desinstal.lar programari, un exemple
apt install chromium-browser chromium-browser-l10n audacity kdenlive openshot zenmap openjdk-8-jre autofs samba
O eliminar programari que no tenim perque utilitzar:
apt remove --purge transmission
O actualitzar un paquet ja instal.lat
apt install --only-upgrade firefox
En el meu cas, per crear la meva Linkdows faig servir les pases de modificació d'aparença explicades en
Ara ja gairebé estem, primer fem una mica de neteja:
apt-get -y autoremove && apt-get -y autoclean rm -rf /tmp/* ~/.bash_history rm /var/lib/dbus/machine-id rm /sbin/initctl dpkg-divert --rename --remove /sbin/initctl
Desmontem el directori de treball:
umount /proc || umount -lf /proc umount /sys umount /dev/pts exit sudo umount edit/dev
Ultimes passes per crear la imatge
Ara queden les últimes ordres, primer generar un nou manifest:
sudo chmod +w extract/casper/filesystem.manifest sudo chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee extract/casper/filesystem.manifest sudo cp extract/casper/filesystem.manifest extract/casper/filesystem.manifest-desktop sudo sed -i '/ubiquity/d' extract/casper/filesystem.manifest-desktop sudo sed -i '/casper/d' extract/casper/filesystem.manifest-desktop
Comprimim la nova imatge:
sudo mksquashfs edit extract/casper/filesystem.squashfs -b 1048576
Actualitzem la mida del sistema de fitxers:
printf $(sudo du -sx --block-size=1 edit | cut -f1) | sudo tee extract/casper/filesystem.size
Eliminem l'anterior md5sum:
cd extract sudo rm md5sum.txt
I generem un de nou
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee md5sum.txt
I creem la nova ISO, atenció, no oblideu l'últim punt.
sudo genisoimage -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../nom_de_la_teva_imatge.iso .
On nom_de_la_teva_imatge.iso es el nom que li donaràs a la teva distribució, per exemple linkadows64.iso.
Testejant la imatge
Hi han diverses maneres per provar la imatge, una és amb el programa VirtualBox o amb l'eina qemu, per exemple:
qemu -cdrom linkdows64.iso -boot d -m 512
On podem virtualitzar l'engegada per CD de la ISO en un equip amb 512 MB de RAM.