Někteří z vás jistě vědí, že používám několik linuxových distribucí. Dlouhá léta jsem používal Ubuntu. Jenže Ubuntu se mění k systému který se pro mne stává neakceptovatelným. A tak zkouším jiné a jiné distribuce. S odstupem času je těžké říct která je lepší. Vše má své pro a proti.
Každá ta distribuce mne posunula kus do předu v poznání a oprášení si zapomenutého. Od instalací z USB médií až po instalaci systému z již běžícího systému. A přitom mne napadla kacířská myšlenka. Proč to na ubuntu také nejde jako jinde? No a ono to jde! A jsem velice mile překvapen. Musím říct, že jsem se dostal tak daleko, že už nepoznám v které distribuci se právě nacházím. Tak pěkně jsem si pracovní prostředí sjednotil a nastavil dle mého výběru! Až docházelo k situacím, kdy jsem třeba při instalaci zadával špatné příkazy. Nakonec jsem si udělal takový wrapper na sjednocení ovládání balíkovacích systémů jednotlivých distribucí:
https://github.com/RadekRojik/qqA teď o čem je dnešní tip. Pamatujete na mini.iso a spol? Zapomeňte! Našel jsem lepší cestu alá Arch. Nemusíte stahovat instalačky, vytvářet instalační média, rebootovat, koukat se na postupy někde jinde, atd. Provedu vás instalací z již fungujícího systému ubuntu. Instalací jen toho co chcete vy a ne co nám cpe Canonical! Zkrátka vychutnejte si minimalistický systém. Bez snapu a podobných ptákovin. Systému co nebude tlouct svým grubem originální (už nainstalovaný) grub, protože do něho zkrátka ten grub nenainstalujeme. A ve výsledku to zabere jen 3.5GB na disku. Ano, není to překlep! Základní systém potřebuje necelá 3Giga. Plus pár životně důležitých utilit včetně firefoxu! Díky některým ubuntím prvkům bude ta instalace o dost jednodušší než je instalace Archu natož instalace voidlinuxu.
Ve zkratce:
Zmenšíme si partition běžícího systému. Na nově vzniklém místě si vytvoříme novou. Nainstalujem si dva nevelké balíky. Důležité je mít aktivní internetové připojení. Novou partition připojíme na bod /mnt Nakopírujem do ní base systém. Chrootnem se dovnitř. Nastavíme si jednoduše co potřebujem. Nainstalujem nějaký základ a co v systému chceme mít. Nezapomenem na textový editor, network manager a firefox. Dále na pracovní prostředí které chceme používat. Nakonec nastavíme root heslo. Vytvoříme účet běžného uživatele, opustíme chroot a restartujem PC.
Auf geht's nebo ještě více na západ Let's go:
Nejdříve si vyhraďte kus místa na disku na nový systém. Můžete použít váma oblíbenou utilitu (Disk, gparted, atd). A rovnou si to sformátujte na váma preferovaný souborový systém. Já používám základní ext4. Dejme tomu že vznikla partition /dev/sda3 důležité si zapamatovat nebo někam zapsat.
Od teď budem vše dělat s právy root:
sudo -i
Nainstalujem si dva důležité balíky:
add-apt-repository universe
apt update
apt dist-upgrade
apt install -y debootstrap arch-install-scripts
Připojíme si vzniklou partition na /mnt:
mount /dev/sda3 /mnt
Vyberem si verzi ubuntu. Já si vybral 22.04 zvanou "jammy". Hodíme do proměnné ať pošetříme klávesnici:
verze="jammy"
Dále si stáhneme base systém na své místo. Za volbu --arch zadejte co máte za architekturu. V drtivé většině případů to bude amd64:
debootstrap --arch amd64 ${verze} /mnt http://archive.ubuntu.com/ubuntu
Tím se nám stáhnul a na své místo dosadil základní systém o velikosti necelých 400MB!
Nastavíme si v novém systému apt list:
printf "deb http://archive.ubuntu.com/ubuntu/ ${verze} main restricted universe\ndeb http://security.ubuntu.com/ubuntu/ ${verze}-security main restricted universe\ndeb http://archive.ubuntu.com/ubuntu/ ${verze}-updates main restricted universe\n" > /mnt/etc/apt/sources.list
Vygenerujem fstab:
genfstab -U /mnt >> /mnt/etc/fstab
Zkontrolujem či je fstab v pořádku:
cat /mnt/etc/fstab
Pokud Ok jde se dál. Pokud ne, tak nano či jiný minieditor a opravíme si to:
nano /mnt/etc/fstab
Dále zakážem snap a grub. Není to nutné, ale je to o dost lepší
:
printf "Package: grub-common grub2-common grub-pc grub-pc-bin grub-gfxpayload-lists\nPin: release *\nPin-Priority: -1\n\nPackage: snapd cloud-init landscape-common popularity-contest ubuntu-advantage-tools\nPin: release *\nPin-Priority: -1" > /mnt/etc/apt/preferences.d/ignored-packages
Nyní využijeme skript a chrootnem se do nového aniž bysme se museli starat o to co mountovat ap:
arch-chroot /mnt
Nyní už jsme chrootnuti v novém systému a doinstalujem pár důležitostí:
apt-get update
apt-get install -y --no-install-recommends linux-generic linux-image-generic linux-headers-generic initramfs-tools linux-firmware efibootmgr nano bash git
Nyní tři jednoduchá nastavení alá instalátor (datum/čas; lokalizace; a klávesnice):
dpkg-reconfigure tzdata
dpkg-reconfigure locales
dpkg-reconfigure keyboard-configuration
Nyní si zadáme proměnné mypc název pod kterým bude náš PC znám. Já zvolil testbuntu. Tak zvané hostname:
mypc="testbuntu"
A nastavíme to na správná místa:
echo ${mypc} > /etc/hostname
echo "127.0.1.1 ${mypc}.localdomain ${mypc}" >> /etc/hosts
Tento krok bylo možné přeskočit. Protože se hostname nakopírovalo z nadřazeného systému. Ale kdo by to tak chtěl?
Nyní vytvoříme heslo uživatele root:
passwd
A teď vytvoříme účet běžného uživatele s jeho domovskou složkou (v mém případě uživatel radek):
adduser radek
usermod -a -G sudo radek
Nainstalujem si ještě jednu důležitost:
apt-get install software-properties-common
A nyní si můžem přidat ppa repozitář firefoxu:
add-apt-repository ppa:mozillateam/ppa
A upravíme apt list:
printf "Package: firefox*\nPin: release o=LP-PPA-mozillateam\nPin-Priority: 501" > /etc/apt/preferences.d/mozillateamppa
Nyní aktualizujem source:
apt-get update
Do teď jsme si vytvořili kompletní funkční systém bez grafiky o velikosti pouhých 2,5GB! Od teď už je na každém z vás co si nainstaluje a preferuje. Napíšu mou volbu (poslední krok):
apt-get install network-manager xorg i3 neovim kitty firefox
Jde to i spartánštěji, ale na druhou stranu proč?
network-manager je důležitý na připojení k síti. Jde to i bez něho, ale s ním to je jednodušší.
kitty je virtuální terminál. Můžete si vybrat jiný VT avšak nějaký mít musíte!
xorg nebudu popisovat, ten potřebuji pro i3.
Celý kompletní na plno funkční systém včetně nastavených proměnných prostředí má ve výsledku 3,5GB! Oproti cca 20GB klasickou instalační cestou je to bombový.
Pokud preferujete čisté gnome, tak ten poslední krok by měl vypadat takto:
apt-get install -y gnome-shell gnome-terminal gdm3 firefox
Pro milovníky KDE:
apt-get install -y meta-kde firefox
Mate:
apt-get install -y mate-desktop firefox
Hotovo. Nyní opustíme chrootnutý systém:
exit
****************************************
Další krok by mělo být v hlavním systému:
sudo update-grub
Námi nainstalované nové ubuntu by se mělo objevit v aktualizovaném grub menu.
Super je, že pokud se něco po.. vždy se můžete do toho chrootnout a poopravit co je wrong nebo na co jste zapoměli. Takto lze instalovat i z live kde si místo nainstalovat kliknete na odzkoušet a už se do toho můžete pustit.
Musím říct, že systém se mne moc líbí hlavně v tom, že není třeba nic donastavovat. Vše spolu mluví a je dobře přednastaveno. Instalace Archu je o to trošku složitější. A takové moje miminko Voidlinux (páč jsem si to musel vypiplat od a-Z) si o tom může nechat jen zdát.
Za necelou půlhoďku nový systém bez instalačních médií je víc než super. Zvlášť na experimenty.
Enjoy
EDIT:Trochu jsem si ještě hrál napříč distribucemi. A předposlední krok vynechal. Pokud se instalace provedla ze systému s preferovaným grubem, pokračuje se posledním krokem pod řádkem hvězdiček. Pakliže instalace proběhla z jěště jiného systému, stačí se chrootnout do systému s preferovaným grubem a v něm spustit
update-grub:
sudo arch-chroot /system s vašim grubem
update-grub
exit
Kouknul jsem na kód skriptu
arch-chroot a je to velice pěkně uděláno. Hlavně poslední řádek je kouzelný.