2024. május 26., vasárnap

Gyorskeresés

Ubuntu telepítő módosítás

Írta: | Kulcsszavak: ubutu . linux . telepítő . automatikus . seed . preseed

[ ÚJ BEJEGYZÉS ]

Alapvetően jó nekem a standard telepítő, de kellett csinálnom egy olyat, amiben bizonyos dolgok előre ki vannak töltve, így beleástam magam. Külön jó hír, hogy a Canonical elvileg a 22.10-től cseréli a telepítőt valami Flutter alapúra, szóval pont időben álltam neki :D

A lényeg, hogy az Ubuntu telepítője Ubiquity-el működik, ami a Canonical saját cucca, és természetesen nem találtam róla normális doksit :W A módosítandó alany Kubuntu volt, de a felsorolt módosítások a simára is működnek (a Calamares-t használó LXQT-s Lubuntura meg nem).

A telepítő módosításához jól jöhet egy Cubic, de én egyszerűbbet csináltam : Rufus-sal pendrive-ra írva Fat32 filerendszerre kerül a telepítő, így simán lehet módosítani a file-okat. Egy virtuálgépnek adtam oda a pendrive-t, így lehetett tesztelni a telepítést is minimális macerával.

A lényeg a preseed file, aminek a helyét kernelparaméterként kapja meg az OS, és a Ubiquity abból olvassa a lépéseket. (preseed/file= vagy preseed/url= paraméter, merthogy hálózatról is le tudja tölteni a file-t, mint később kiderült :D ) Mindenesetre ezt a telepítőben már megoldották, így csak a preseed file-t kell átszerkeszteni. A telepítés logja a telepített gépen a /var/log/install/ könyvtárban van, bár nem túl beszédes. Amennyiben automatizált telepítést akarunk, akkor az automatic-ubiquity paraméter kell a kernel parancssorába, így nem kérdez, csak települ (bár ezt nem teszteltem).

A preseed a Kubuntu 22.04 telepítőjén a gyökérkönyvtárban levő preseed könyvtárban levő kubuntu.seed file. Sima szöveges. Az utasítások bárhova írhatók bele, nem sorrendben megy végig. Külön szép, hogy mivel a Debian installerre (d-i) épül, csomó utasítás abból jön, de a d-i egyes utasításait meg kihagyja, csak a sajátjait (ubiquity kezdetűek) fogadja el :D A kommentek nem meglepő módon #-el kezdődnek. A megadott részleteket a meglevő seed file-hoz kell hozzáírni, annak a tartalma is kell :)

Ha azt akarjuk, hogy a telepítés végén kérdés nélkül újrainduljon :
d-i debian-installer/exit/poweroff boolean true
d-i ubiquity/summary note
ubiquity ubiquity/reboot boolean true
ubiquity ubiquity/poweroff boolean true

Bepipálni a non-free szoftvereket és a frissítést telepítés közben így lehet :
ubiquity ubiquity/use_nonfree boolean true
ubiquity ubiquity/download_updates boolean true

Usernév és jelszó kitöltése :
d-i passwd/user-fullname string userneve
d-i passwd/username string userneve
#Ha jelszó is kell
#d-i passwd/user-password-crypted password $6$eRzcYyR3Xw2elP6l$l7JXHXxbXRgD8KC5GhpsUfjjMHbfYZAlJ56GLSspojJ6ODxlauuauL72jYbwhEhGwUmzgImIVCFle0

(a jelszó hash-ét kell megadni, de amúgy megadható sima szövegben is)

Előre meg lehet adni a nyelvet, időzónát :
ubiquity languagechooser/language-name select Magyar
ubiquity countrychooser/shortlist select hu
ubiquity time/zone select Europe/Budapest

És a legjobb : a telepítő végén script futtatása :
ubiquity ubiquity/success_command \
string mkdir /target/install/; \
cp -R /cdrom/install/* /target/install/; \
chroot /target chmod +x /install/setup.sh; \
chroot /target bash /install/setup.sh > /target/install/install.log;

Ez annyit csinál, hogy a telepítőn létrehozott install könyvtár tartalmát átmásolja a telepített rendszerre a /install könyvtárba, és lefuttatja a setup.sh -t. (Ez akkor hasznos, ha valami saját cuccot akarunk az első indításkor már, pl. megfelelő helyen SSH kulcs, stb.)

A setup.sh pl. :
#!/bin/sh
echo "Setting up network with dhclient, result is : " > /install/install.log
dhclient
ip a s >> /install/install.log
echo "Installing additional packages" >> /install/install.log
/usr/bin/apt update >> /install/install.log && apt install -y net-tools mc >> /install/install.log

(Nekem kellett a dhclient , mert anélkül nem volt háló, nem futott le az apt. Mint kiderült, a telepítő a success_command előtt lelövi a hálót :D

Telepítő cseréje ide vagy oda, remélem valakinek hasznos lesz, a 22.04-nek van még pár éve :)

Hozzászólások

(#1) Oldman2


Oldman2
veterán

Köszi, ez hasznos!
:R

(#2) UnA


UnA
Korrektor

Ahogy olvastam, a Flutter alapú fejlesztés alapvetően a UI-t érinti, a háttérben kb. ugyanaz megy majd, szóval jó eséllyel ez a módosítás ott is működni fog.

(#3) hcl válasza Oldman2 (#1) üzenetére


hcl
félisten
LOGOUT blog (1)

Szíveschen :R

@UnA : A fene tudja, amilyen káoszt tud a Canonical csinálni... :D :O :Y :W

[ Szerkesztve ]

Mutogatni való hater díszpinty

(#4) husztiimi


husztiimi
csendes tag

Koszi, hasznos iras volt!

(#5) hcl válasza husztiimi (#4) üzenetére


hcl
félisten
LOGOUT blog (1)

:R

Mutogatni való hater díszpinty

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.