Mnohokrát jsme museli opravit systém z LiveCD a v určitém okamžiku procesu jsme zjistili, že nám chybí nějaký nástroj, a když ho chceme nainstalovat, LiveCD OS nám řekne, že mu došlo místo a česnek a voda (do prdele a vydržet).
Pojďme na to. Budeme používat SystemRescueCD, který nabízí poměrně komplexní prostředí založené na Gentoo.
V našem příkladu (instalace systému Linux od nuly podle knihy Linux From Scratch) nám chybí programy Bison a Makeinfo, takže vytvoříme nový obraz ISO tohoto disku, ale s novými nástroji.
Přestože se používá správce balíčků (například apt-get Debianu), místo stahování balíčků se stáhne zdrojový kód, který jej zkompiluje na vašem počítači.
Pro tento proces budete potřebovat linuxový oddíl (například ext4) s minimálně 1.5 G zdarma, i když se doporučuje více. Pokud se s vašimi oddíly nechcete trápit, využijte virtuální stroj. Samozřejmě je vhodné, aby oddíl měl několik koncertů, protože během kompilace, instalace, synchronizace úložišť ... je potřeba dočasný prostor; Doporučuji použít odkládací oddíl 8G + 2G (u 4G + 1G by to mělo stačit, ale můžeme vás ujistit, že pokud RAM / swap chybí, proces bude ještě pomalejší).
Za předpokladu, že jste vytvořili virtuální stroj s 10G diskem, spustíte jej tak, že mu řeknete, aby se spustil z nově staženého SystemRescueCd. Jakmile jsme uvnitř, rozdělíme se na fdisk (pokud jste zahájili grafickou relaci, můžete to udělat s gparted, ale účelem tohoto příspěvku je naučit používat základní nástroje). fdisk je interaktivní příkaz:
- s možností „n“ vytvoříme nový oddíl
- s volbou „t“ změníme typ souborového systému, který bude v oddílu použit
- s možností «w» zapisujeme na disk
- s možností «q» odejdeme bez zápisu změn
Když použijeme možnost „n“, dá nám několik možností, po celou dobu použijeme výchozí, kromě nastavení posledního sektoru v prvním oddílu, který budeme muset zapsat „+ 8G“, což indikuje program že chceme, aby náš oddíl zabíral 8 GB.
Při vytváření druhého oddílu použijeme výchozí možnosti, protože zbytek prostoru bude obsazen. Chcete-li fdisku říct, že druhý oddíl bude typu swap, použijte volbu „t“ (hexadecimální kód pro swap je 82). Rozhraní vypadá takto:
Příkaz% fdisk / dev / sda (nápověda m):
Jakmile je vše hotové, použijeme možnost „w“ k zapsání změn na disk a ukončení.
Nyní je čas naformátovat oddíly. Začneme výměnou, abychom ji mohli okamžitě využít:
% mkswap / dev / sda2% swapon / dev / sda2
Odkládací oddíl již máme naformátovaný as příkazem swapon začali jsme to používat. Nyní naformátujeme první oddíl v ext4:
% mkfs.ext4 /dev/sda1
Můžeme začít postupovat podle kroků popsaných v http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, zde je překládám / popisuji s lichou anotací.
Připojili jsme oddíl na jeho místo (LiveCD je již připraven se složkou / mnt / custom, kde musí být připojen oddíl, ve kterém provedeme příslušné změny). Také po připojení budeme muset extrahovat soubory z disku, čehož je dosaženo skriptem, který je již připraven. Skript chvíli potrvá (protože vypíše stovky megabajtů paměti), pokud si chcete ověřit, že skutečně funguje, přejděte k jinému terminálu (například Alt + F4) a proveďte df -h.
% mount / dev / sda2 / mnt / vlastní% / usr / sbin / sysresccd-vlastní extrakt
Pokud nyní navigujete uvnitř / mnt / custom / customcd, uvidíte několik složek. v / mnt / custom / customcd / files byl nalezen kořenový souborový systém. Nyní je čas připravit se na budoucí nový systém. Tady zadám příkazy, další informace o chrootu můžete vidět tento tutoriál jsem napsal před měsícem
% mount -o bind / proc / mnt / custom / customcd / files / proc% mount -o bind / dev / mnt / custom / customcd / files / dev% mount -o bind / sys / mnt / custom / customcd / files / sys% chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)
Již jsme v chrootovaném systému, kterým bude systém LiveCD, jakmile jej nabootujeme. Nainstalujeme chybějící příkazy (bison a texinfo) pomocí příkazu vynořit se (kdo zachází s balíkem porterage z gentoo).
Nejprve synchronizujeme strom portage (ekvivalent apt-get update)
# emerge-webrsync
POZNÁMKA: Tento příkaz používáme místo „emerge –sync“, protože je rychlejší, protože stáhne balíček tar z webu. Tento krok je nezbytný, protože pokud se neobjeví, automaticky se objeví –sync a zpomalí.
Po synchronizaci stromu portage můžeme pokračovat v instalaci balíčků:
# emerge sys-devel / bison # emerge sys-devel / texinfo
Necháme chroot:# exit
Odpojujeme „/ proc“, aby se nové nainstalované balíčky ukládaly do squashfs. Také odpojíme „/ dev“ a „/ sys“, abychom později nezapomněli
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys
Protože již máme nový systém souborů squash připravený, vytvoříme jej pomocí následujícího příkazu
% /usr/sbin/sysresccd-custom squashfs
Pokud chceme přidat soubor do ISO obrazu, ale chceme, aby byl mimo squashfs, musíme jej umístit do složky «/ mnt / custom / customcd / isoroot»
% cp -a my-files /mnt/custom/customcd/isoroot
Slavný okamžik nastal, nyní můžeme vygenerovat nový ISO obraz pomocí našeho přizpůsobeného systému!
% /usr/sbin/sysresccd-custom isogen my_srcd
„My_srcd“ je název, který svazku dáme, můžete jej nazvat jak chcete. Obrázek se uloží do «/ mnt / custom / customcd / isofile», navíc se vygeneruje také soubor .md5 🙂
Pokud pracujete na virtuálním disku, zůstává zásadní krok: extrahujte ISO obraz virtuálního systému. Existuje několik způsobů, jak to udělat, vysvětlím jednoduchý (ve VirtualBoxu), abych nemusel instalovat „doplňky pro hosty“ nebo něco podobného.
Klienta použijeme k získání souboru prostřednictvím tunelu ssh. Chcete-li to provést, musíme nejprve nakonfigurovat systém hosta pomocí hesla root. Server ssh se spouští automaticky, pro každý případ jej stále restartujeme.
% passwd
% /etc/init.d/sshd restart
Musíme nakonfigurovat předávání portů virtuálního stroje. Ve VirtualBoxu se to provádí následovně:
- Přístup ke konfiguraci virtuálního počítače
- V části síť jste již nakonfigurovali adaptér v NAT
- Podívejte se na možnost přesměrování portů
- Přidáte nové pravidlo s jedinými parametry „port hostitele“ a „port hosta“
- hostitel = 3022 a host = 22
Tím jsme dosáhli toho, že port 3022 našeho PC je 22 virtuálního stroje. Spustíme klienta Filezilla:
- V parametru serveru napíšeme: sftp: // localhost
- V parametru uživatelské jméno píšeme: root
- V parametru hesla vložíme to, které používáme do «passwd»
- V parametru portu napíšeme: 3022
- Klikněte na «Rychlé připojení»
Pokud vše proběhlo dobře doleva, můžeme navigovat na našem PC a napravo ve virtuálním stroji. Stačí se dostat (ve virtuálním stroji) do složky «/ mnt / custom / customcd / isofile» a přetáhnout obrázek ISO na místo, které chceme na našem PC.
!! Gratulujeme!! Pokud vše proběhlo dobře, máte ISO obraz připravený s přizpůsobeným SystemRescueCD a připraven ke spuštění z CD, USB ...
Jaký dobrý průvodce, poněkud komplikovaný, ale velmi užitečný.
Dobrý příspěvek.
Poté, s trochou více času a bez tolika nepohodlí v očích, si to důkladně přečtu. Zdá se to velmi užitečné a zajímavé ..
Dobrý den, velmi dobrý příspěvek!
Byl jsem v LFS několik let a vytvořil jsem vlastní iso, které lze použít pro vás, obsahuje vše, co potřebujete ke kompilaci, protože se jedná o LFS. 😀 Doufám, že je to pro vás užitečné
http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso