Hogyan készíts saját, testreszabott Ubuntu ISO fájlt?

Előfordult már, hogy telepítetted az Ubuntut, majd órákat töltöttél el a kedvenc programjaid telepítésével, a fölösleges alkalmazások eltávolításával és a rendszer finomhangolásával? Vajon mennyire lenne kényelmes, ha mindez már eleve benne lenne az operációs rendszer telepítőjében? Nos, van egy jó hírünk: képes vagy létrehozni egy saját, testreszabott Ubuntu ISO fájlt, amely pontosan a te igényeidre szabott, előre beállított és felturbózott rendszert tartalmazza. Ez nem csupán időt takarít meg, hanem egy olyan egyedi disztribúciót ad a kezedbe, amely valóban tükrözi a munkamenetedet vagy a projektjeid specifikus igényeit. Lássuk, hogyan vághatsz bele!

Miért érdemes saját Ubuntu ISO-t készíteni?

A testreszabott Ubuntu ISO létrehozásának számos előnye van, amelyek miatt érdemes belevágni ebbe a projektbe:

  • Időmegtakarítás: Ha több gépre is telepíted az Ubuntut, vagy gyakran reinstallálod a rendszert, a saját ISO-val elkerülheted a monoton, ismétlődő beállítási lépéseket.
  • Bloatware mentes rendszer: Eltávolíthatod azokat az előre telepített alkalmazásokat, amelyeket soha nem használsz, így egy karcsúbb, gyorsabb rendszert kapsz.
  • Előre telepített szoftverek: Beépítheted azokat a programokat, amelyekre mindig szükséged van (pl. fejlesztői eszközök, grafikai szoftverek, multimédia lejátszók), így a telepítés után azonnal munkára kész a rendszer.
  • Egyedi megjelenés és beállítások: Módosíthatod az alapértelmezett háttérképet, témát, ikonokat, sőt akár a felhasználói fiókokat és a hálózati beállításokat is.
  • Disztribúció fejlesztése: Ha speciális igényeid vannak, vagy egy saját, célzott Linux disztribúciót szeretnél létrehozni (pl. iskolai laboroknak, internetkávézóknak, orvosi berendezésekhez), ez az első lépés.
  • Offline telepítés: Ha olyan környezetben kell telepítened, ahol nincs internet-hozzáférés, a szükséges szoftverek már az ISO-ban lesznek.

Láthatod, hogy a lehetőségek tárháza szinte végtelen. Most pedig nézzük meg, hogyan valósíthatjuk meg ezt a gyakorlatban.

Amire szükséged lesz

Mielőtt belevágnánk a sűrűjébe, győződj meg róla, hogy az alábbiakra mindenképp felkészültél:

  • Egy meglévő Ubuntu telepítés: Ezen fogjuk elvégezni a módosításokat. Lehet virtuális gép (VMware, VirtualBox) vagy egy valós gép is. Egy frissen telepített Ubuntu a legideálisabb.
  • Elegendő tárhely: Minimum 20-30 GB szabad helyre lesz szükséged a munkafolyamat során, különösen a kibontott ISO tartalmának és az új squashfs fájlnak.
  • Internetkapcsolat: Szükséges lesz a csomagok letöltéséhez és frissítéséhez.
  • Alapvető Linux parancssori ismeretek: Bár igyekszünk mindent részletesen leírni, a parancsok ismerete elengedhetetlen.
  • Eredeti Ubuntu ISO fájl: Ezt fogjuk alapul venni. Javasolt a legfrissebb LTS (Long Term Support) verzió letöltése az Ubuntu hivatalos honlapjáról.

A legfontosabb eszközök, amelyeket telepítenünk kell:

sudo apt update
sudo apt install squashfs-tools xorriso grub-pc-bin grub-efi-amd64-bin isolinux
  • squashfs-tools: Ennek segítségével tudjuk kibontani és újraépíteni a rendszer alapját képező filesystem.squashfs fájlt.
  • xorriso: Ezzel az eszközzel hozzuk létre a végleges, bootolható ISO fájlt.
  • grub-pc-bin, grub-efi-amd64-bin, isolinux: Ezek a bootoláshoz szükséges komponensek.

A Testreszabás Lépésről Lépésre: Ubuntu Remastering

Ez a módszer az eredeti Ubuntu ISO tartalmát módosítja. Ez a leggyakoribb és leginkább ajánlott eljárás a legtöbb felhasználó számára.

1. Az Alap ISO Fájl Előkészítése

Először is hozzunk létre egy munkakönyvtárat, ahová kibontjuk az ISO tartalmát:

mkdir ~/custom_ubuntu
cd ~/custom_ubuntu

Most csatoljuk fel az eredeti Ubuntu ISO-t (a fájl neve változhat, cseréld le a tiédre):

sudo mount -o loop /path/to/your/ubuntu-22.04.3-desktop-amd64.iso mnt

Ezután másoljuk át a tartalmát a munkakönyvtárunkba:

cp -a mnt/* iso_root/
cp -a mnt/.disk iso_root/

Ha kész vagyunk a másolással, leválaszthatjuk az ISO-t:

sudo umount mnt

Ezzel a lépéssel létrehoztuk az iso_root mappát, ami az új ISO fájlunk alapja lesz.

2. A Rendszer Módosítása (Chroot Környezetben)

Az Ubuntu rendszer alapja egy tömörített fájlban található, a filesystem.squashfs-ben. Ezt kell kibontanunk, hogy módosíthassuk.

sudo unsquashfs iso_root/casper/filesystem.squashfs
sudo mv squashfs-root edit

Most lépjünk be a kibontott rendszerbe egy „chroot” környezet segítségével. Ez lehetővé teszi, hogy úgy dolgozzunk a rendszeren, mintha már bootolva lenne, de valójában a mi host rendszerünkön belül maradunk.

sudo mount --bind /dev edit/dev
sudo mount --bind /proc edit/proc
sudo mount --bind /sys edit/sys
sudo chroot edit
mount -t tmpfs tmpfs /run # Szükséges lehet bizonyos alkalmazásokhoz
export HOME=/root
export LC_ALL=C

Gratulálunk! Most a leendő egyedi Ubuntu rendszered gyökerében vagy. Itt végezheted el a módosításokat.

Példák a módosításokra:

  • Rendszer frissítése: Mindig kezdd ezzel a lépéssel!
  • apt update
    apt upgrade -y
  • Alkalmazások telepítése: Telepítsd a kedvenc programjaidat.
  • apt install -y vlc gimp brave-browser libreoffice-fresh
    apt install -y build-essential git curl zsh # Fejlesztői eszközök
  • Alkalmazások eltávolítása: Szabadulj meg a fölösleges szoftverektől. Légy óvatos, ne távolíts el rendszerhez szükséges csomagokat!
  • apt purge -y thunderbird firefox-esr rhythmbox # Példa, ha nem kell neked
  • Felhasználói fiókok kezelése: Ha szeretnél alapértelmezett felhasználót létrehozni (bár live ISO-nál ez nem ideális, mivel a live rendszer alapértelmezett felhasználóval indul).
  • Beállítások módosítása:
    • Háttérkép cseréje: Másold be a kívánt háttérképet pl. a /usr/share/backgrounds/ mappába, majd módosítsd a GDM3 (login screen) és az alapértelmezett felhasználó (liveuser) beállításait (ez utóbbihoz bonyolultabb szkriptek kellenek, egyszerűbb ha a live rendszer betöltődése után, pl. egy indító szkripttel állítod be).
    • Saját szkriptek, fájlok hozzáadása: Másold be őket a megfelelő helyre, pl. /usr/local/bin/, vagy /opt/.
    • Apt források hozzáadása: Ha külső tárolókból is szeretnél csomagokat telepíteni, add hozzá a /etc/apt/sources.list fájlhoz vagy a /etc/apt/sources.list.d/ könyvtárba.

3. Takarítás és Optimalizálás

Miután elvégezted a kívánt módosításokat, fontos, hogy rendbe tedd a rendszert, mielőtt újra tömörítenéd. Ez csökkenti a végső ISO fájl méretét.

apt clean # Törli a letöltött csomagok cache-ét
apt autoremove -y # Eltávolítja a már nem szükséges függőségeket
rm -rf /tmp/* # Törli a temp fájlokat
rm /var/lib/apt/lists/* -vf # Törli az apt cache-t
rm -f /etc/machine-id # Fontos a generikus ISO-hoz
truncate -s 0 /etc/machine-id # Biztosítja, hogy üres legyen
rm /root/.bash_history # Törli a root felhasználó parancslistáját
unset HISTFILE # Megakadályozza a történeti fájl írását
history -c # Törli a shell session történetét
find /var/log -type f -delete # Törli a log fájlokat
rm -rf /var/cache/apt/archives/*

Miután mindent megtisztítottál, lépj ki a chroot környezetből:

exit

Ezután válaszd le a bindelt fájlrendszereket:

sudo umount edit/dev
sudo umount edit/proc
sudo umount edit/sys
sudo umount edit/run # Ha korábban felcsatoltad

4. Az Új SquashFS Fájl Létrehozása

Most, hogy a rendszer módosításai készen vannak, újra kell tömörítenünk a filesystem.squashfs fájlt:

sudo mksquashfs edit iso_root/casper/filesystem.squashfs -comp xz -b 1M -Xdict-size 50%

Ez eltarthat egy ideig, függően a rendszer méretétől és a hardveredtől. A -comp xz az XZ tömörítést használja, ami jobb tömörítési arányt biztosít (kisebb fájlméret), mint a gzip, de lassabb. A -b 1M és -Xdict-size 50% optimalizálja a tömörítést.

5. Az Új ISO Fájl Elkészítése

A legutolsó lépés az új bootolható ISO fájl generálása. Ehhez a xorriso eszközt fogjuk használni.

Először is, ellenőrizzük a bootloader konfigurációját. Győződj meg róla, hogy a iso_root/boot/grub/grub.cfg és a iso_root/isolinux/isolinux.cfg fájlok megfelelően hivatkoznak a /casper/filesystem.squashfs fájlra, amit az előző lépésben hoztunk létre. Általában ezeket nem kell módosítani, de érdemes egy gyors ellenőrzés.

Ne felejtsd el frissíteni az ISO metaadatait is! Nyisd meg a iso_root/.disk/info fájlt, és módosítsd a nevet valami egyedire, pl. „My Custom Ubuntu 22.04 LTS”.

Most pedig jöhet a xorriso parancs. Ez egy hosszú parancs, ezért másold be gondosan:

cd iso_root
sudo xorriso -as mkisofs 
    -r 
    -V "My_Custom_Ubuntu" 
    -o ../my_custom_ubuntu.iso 
    -J -l -b isolinux/isolinux.bin 
    -c isolinux/boot.cat 
    -no-emul-boot -boot-load-size 4 -boot-info-table 
    --grub2-boot-info 
    -eltorito-alt-boot 
    -e boot/grub/efi.img 
    -no-emul-boot 
    -isohybrid-gpt-basdat 
    -isohybrid-apm-hfsplus 
    -isohybrid-udf 
    .

Nézzük meg röviden a paramétereket:

  • -as mkisofs: Kompatibilis a mkisofs szintaxissal.
  • -r: Rock Ridge kiterjesztések használata.
  • -V "My_Custom_Ubuntu": Az ISO hangerőcímkéje (ezt látod, amikor felcsatolod).
  • -o ../my_custom_ubuntu.iso: A kimeneti ISO fájl neve és helye.
  • -J -l: Joliet és Level 1 kiterjesztések (hosszabb fájlnevek és Windows kompatibilitás).
  • -b isolinux/isolinux.bin, -c isolinux/boot.cat, -no-emul-boot -boot-load-size 4 -boot-info-table: BIOS/CSM indítás beállításai.
  • --grub2-boot-info: GRUB2 információk hozzáadása.
  • -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot: EFI indítás beállításai.
  • -isohybrid-gpt-basdat -isohybrid-apm-hfsplus -isohybrid-udf: Hibrid ISO létrehozása, ami USB-ről is bootolható.
  • .: Jelzi, hogy a jelenlegi könyvtár (iso_root) tartalmát kell felhasználni.

A parancs befejezése után a ~/custom_ubuntu/ mappában megtalálod a my_custom_ubuntu.iso fájlt.

6. Az Új ISO Fájl Tesztelése

Ez a lépés elengedhetetlen! Mielőtt élesben használnád, mindig teszteld az elkészült ISO-t. A legegyszerűbb módja egy virtuális gép (VirtualBox, VMware) használata. Hozz létre egy új virtuális gépet, és csatold be a my_custom_ubuntu.iso fájlt boot médiumként. Indítsd el a virtuális gépet, és ellenőrizd:

  • Bootol-e rendesen a live rendszer?
  • Minden általad telepített program megvan-e?
  • Az eltávolított programok tényleg hiányoznak-e?
  • A beállításaid érvényesültek-e?
  • A telepítés is működik-e az ISO-ról?

Ha minden rendben van, gratulálunk! Elkészítetted a saját, testreszabott Ubuntu ISO-dat!

Fejlettebb Mód: Építés a Semmiből (Debootstrap)

Bár a remastering a leggyakoribb, érdemes megemlíteni a debootstrap alapú építést is. Ez egy sokkal mélyebb szintű testreszabást tesz lehetővé, mivel teljesen a semmiből építed fel az Ubuntut. Akkor érdemes ezt választani, ha egy minimális, szinte csak parancssori rendszert szeretnél létrehozni, vagy egy nagyon specifikus célra szánt, teljesen egyedi disztribúciót.

A folyamat vázlata:

  1. Alaprendszer létrehozása: Használd a debootstrap parancsot egy minimális Ubuntu rendszer létrehozására egy üres könyvtárban.
  2. sudo debootstrap --arch=amd64 jammy edit_debootstrap http://archive.ubuntu.com/ubuntu/
  3. Chroot belépés: Lépj be ebbe az új, üres chroot környezetbe, hasonlóan a remasteringhez.
  4. Kernel, Bootloader és Alapvető Rendszerek Telepítése: Telepítened kell a Linux kernelt, a GRUB bootloadert, a hálózatkezelést, a fájlrendszer segédprogramokat és minden egyéb alapvető csomagot, ami egy működő rendszerhez szükséges.
  5. Live Rendszer Funkcionalitás hozzáadása: Ha live ISO-t szeretnél, akkor telepítened kell a casper, ubuntu-standard és egyéb live rendszerhez szükséges csomagokat.
  6. Szoftverek és Környezet Testreszabása: Telepítsd a kívánt asztali környezetet (ha szeretnél), alkalmazásokat, konfigurációs fájlokat.
  7. Takarítás és SquashFS Létrehozása: Hasonlóan a remasteringhez, takarítás, majd mksquashfs.
  8. ISO Struktúra Létrehozása és xorriso: Kézzel kell létrehoznod az ISO fájlrendszerét (casper, boot, isolinux mappák, kernel, initrd, stb.), majd a xorriso paranccsal generálni az ISO-t.

Ez a módszer sokkal több manuális konfigurációt igényel, és a hibalehetőség is nagyobb, de maximális rugalmasságot biztosít.

Tippek a sikeres testreszabáshoz

  • Dokumentáld a változtatásokat: Jegyezd fel, milyen csomagokat telepítesz, mit távolítasz el, milyen beállításokat módosítasz. Ez segít a hibakeresésben és a későbbi frissítésekben.
  • Kezdj egy tiszta lappal: Mindig egy frissen letöltött ISO-val indulj, ne egy már módosítottal.
  • Tesztelj gyakran: Különösen a nagyobb változtatások után teszteld az ISO-t virtuális gépen.
  • Légy minimalista: Csak azokat a csomagokat telepítsd, amelyekre feltétlenül szükséged van. Minél kevesebb a szoftver, annál kisebb az ISO, és annál gyorsabb a rendszer.
  • Figyelj a licencelésre: Ha terjeszteni szeretnéd az egyedi disztribúciódat, győződj meg róla, hogy minden szoftver licence lehetővé teszi azt.
  • Automatizáld a folyamatot: Ha gyakran készítesz ISO-kat, írj szkripteket a lépések automatizálására.

Gyakori Hibák és Hibaelhárítás

  • Az ISO nem bootol:
    • Ellenőrizd a xorriso parancs szintaxisát, és győződj meg arról, hogy az összes bootloader komponens (isolinux.bin, efi.img, stb.) a helyén van.
    • Ellenőrizd a grub.cfg és isolinux.cfg fájlok helyes útvonalait.
    • Próbálj meg egy másik USB író eszközt (pl. Ventoy, Rufus, balenaEtcher), ha USB-re írod ki.
  • Hiányzó programok/beállítások:
    • Győződj meg róla, hogy a chroot környezetben telepítetted/módosítottad őket.
    • Előfordulhat, hogy a takarítás során töröltél valami fontosat.
  • Túl nagy ISO fájl:
    • Futtasd újra a takarítási lépéseket, és győződj meg róla, hogy minden cache és log törölve lett.
    • Próbáld meg az xz tömörítést a mksquashfs parancsban, ha még nem tetted.
    • Távolíts el még több felesleges csomagot.
  • Hibák a chroot környezetben:
    • Győződj meg róla, hogy minden szükséges fájlrendszer (/dev, /proc, /sys) megfelelően be van kötve a chroot-ba.
    • A export LC_ALL=C parancs segíthet megelőzni a lokalizációs hibákat az apt-nél.

Összegzés

Egy saját, testreszabott Ubuntu ISO létrehozása izgalmas és rendkívül hasznos projekt lehet, legyen szó személyes használatról, oktatásról, vagy professzionális bevetésről. Bár a folyamat igényel némi parancssori ismeretet és türelmet, a befektetett energia sokszorosan megtérül a jövőben. Gondolj csak bele: egy rendszer, ami már az első indításnál tökéletesen a kezedre áll, és mentes minden felesleges sallangtól. Ez az útmutató remélhetőleg kellő alapokat biztosított ahhoz, hogy belevágj ebbe a kalandba. Ne feledd: a gyakorlat teszi a mestert! Kísérletezz bátran, és hozd létre a saját, egyedi Ubuntu disztribúciódat!

Leave a Reply

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük