Mnogo smo puta morali popraviti sistem sa LiveCD-a, a u nekom trenutku procesa našli smo se da nam nedostaje alat i kada ga želimo instalirati, LiveCD OS nam govori da mu je ponestalo prostora i beli luk i vodu (da se odjebu i zadrže).
Uradimo to. Koristit ćemo SystemRescueCD, koji nudi prilično sveobuhvatno okruženje zasnovano na Gentoo-u.
U našem primjeru (instaliranje Linuxa od nule prateći knjigu Linux From Scratch) nedostaju nam programi Bison i Makeinfo, pa ćemo stvoriti novu ISO sliku ovog diska, ali s novim alatima.
Iako se koristi upravitelj paketa (poput Debianovog apt-get), umjesto preuzimanja paketa, izvorni kod se preuzima da bi se kompajlirao na vašem računalu.
Za postupak će vam trebati Linux particija (na primjer ext4) s najmanje 1.5G besplatnog, iako se preporučuje više. Ako ne želite petljati po svojim particijama, iskoristite virtualnu mašinu. Naravno, poželjno je da particija ima nekoliko gigabajta, jer je tijekom procesa kompilacije, instalacije, sinhronizacije spremišta ... potreban privremeni prostor; Savjetujem upotrebu 8G + 2G swap particije (sa 4G + 1G to bi trebalo biti dovoljno, ali zato osiguravamo, ako RAM / swap nedostaje, postupak će biti još sporiji).
Pod pretpostavkom da ste kreirali virtualnu mašinu s 10G diskom, pokrećete je tako što ćete joj reći da se pokrene s novopreuzetog SystemRescueCd. Kad uđemo u particiju, koristimo fdisk (ako ste započeli grafičku sesiju, možete to učiniti pomoću gparteda, ali svrha ovog posta je naučiti upotrebu osnovnih alata). fdisk je interaktivna naredba:
- s opcijom "n" kreiramo novu particiju
- s opcijom "t" mijenjamo tip datotečnog sustava koji će ići u particiju
- s opcijom «w» zapisujemo na disk
- s opcijom «q» ostavljamo bez pisanja promjena
Kada upotrijebimo opciju "n", dat će nam nekoliko opcija, cijelo vrijeme koristit ćemo default, osim pri postavljanju posljednjeg sektora na prvoj particiji, koji ćemo morati napisati "+ 8G", čime ukazujemo programu da želimo našu particiju zauzimaju 8GB.
Prilikom stvaranja druge particije koristit ćemo zadane opcije jer će ostatak prostora biti zauzet. Također, da biste rekli fdisku da će druga particija biti tipa swap, koristite opciju "t" (hexcode za swap je 82). Sučelje izgleda ovako:
% fdisk / dev / sda naredba (m za pomoć):
Nakon što sve završimo, koristimo opciju "w" da napišemo promjene na disk i izađemo.
Sada je vrijeme za formatiranje particija. Započet ćemo sa zamjenom kako bismo je odmah iskoristili:
% mkswap / dev / sda2% swapon / dev / sda2
Već imamo formatiranu particiju swap i s naredbom Swapon počeli smo ga koristiti. Sada formatiramo prvu particiju u ext4:
% mkfs.ext4 /dev/sda1
Možemo početi slijediti korake opisane u http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, ovdje ih prevodim / opisujem sa neobičnom bilješkom.
Particiju montiramo na svoje mjesto (LiveCD već dolazi pripremljen s mapom / mnt / custom gdje particija u koju ćemo izvršiti odgovarajuće promjene mora biti montirana). Također nakon montiranja morat ćemo izdvojiti datoteke s diska, to se postiže skriptom koja je već pripremljena. Skripta će potrajati (budući da izbacuje stotine megabajta memorije), ako želite provjeriti radi li zapravo, idite na drugi terminal (na primjer s Alt + F4) i napravite df -h.
% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom extract
Ako sada navigirate unutar / mnt / custom / customcd, vidjet ćete nekoliko mapa. In / mnt / custom / customcd / files pronađen je korijenski sistem datoteka. Sada je vrijeme za chroot budućeg novog sistema. Ovdje ću staviti naredbe, za više informacija o chrootu možete vidjeti ovaj vodič sam napisao prije mjesec dana
% 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)
Već smo u chrootiranom sistemu, koji će biti LiveCD sistem nakon što ga pokrenemo. Instalirat ćemo pakete koji nedostaju (bison i texinfo) pomoću naredbe nastaju (koji rukuje paketom kapija od gentoo).
Prvo sinhroniziramo stablo prijenosnika (ekvivalent apt-get update)
# emerge-webrsync
NAPOMENA: ovu naredbu koristimo umjesto "emerge –sync", jer je brža, jer s weba preuzima tar paket. Ovaj korak je neophodan, jer ako se ne pojavi, automatski će se pojaviti –sinhronizacija, usporavajući ga.
Nakon sinhronizacije stabla portage možemo nastaviti s instaliranjem paketa:
# emerge sys-devel / bison # emerge sys-devel / texinfo
Ostavljamo chroot:# exit
Demontiramo "/ proc" tako da se novi instalirani paketi čuvaju u squashfs. Također demontiramo "/ dev" i "/ sys" kako ne bismo kasnije zaboravili
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys
Kako već imamo pripremljen novi sistem datoteka squash, kreiramo ga sljedećom naredbom
% /usr/sbin/sysresccd-custom squashfs
Ako želimo dodati datoteku u ISO sliku, ali želimo da bude izvan squashfs-a, moramo je staviti u mapu «/ mnt / custom / customcd / isoroot»
% cp -a my-files /mnt/custom/customcd/isoroot
Slavni trenutak je stigao, sada možemo generirati novu ISO sliku s našim prilagođenim sistemom!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" je ime koje dajemo volumenu, možete ga zvati kako god želite. Slika se sprema u «/ mnt / custom / customcd / isofile», uz to se generira i .md5 datoteka 🙂
Ako radite na virtualnom disku, presudan korak ostaje: izvucite ISO sliku virtualnog sistema. Postoji nekoliko načina da se to učini, objasniti ću jednostavan (u VirtualBoxu) kako ne bi bilo potrebno instalirati "dodatke za goste" ili nešto slično.
Klijent ćemo koristiti za dobivanje datoteke kroz ssh tunel. Da bismo to učinili, prvo moramo konfigurirati sistem gostiju s root lozinkom. Ssh server se automatski pokreće, mi ga i dalje ponovo pokrećemo za svaki slučaj.
% passwd
% /etc/init.d/sshd restart
Moramo konfigurirati prosljeđivanje porta virtualne mašine. U VirtualBoxu se to radi na sljedeći način:
- Pristupite konfiguraciji virtualne mašine
- U odjeljku mreže već ste konfigurirali adapter u NAT-u
- Potražite opciju prosljeđivanja porta
- Dodajete novo pravilo, s jedinim parametrima "host port" i "guest port"
- domaćin = 3022 i gost = 22
Ovim smo postigli da je port 3022 našeg računara 22 virtualne mašine. Pokrećemo Filezilla klijent:
- U parametar poslužitelja upisujemo: sftp: // localhost
- U parametar korisničko ime upisujemo: root
- U parametar lozinke stavljamo onu koju koristimo u «passwd»
- U parametar porta upisujemo: 3022
- Kliknite na «Brza veza»
Ako je sve krenulo lijevo, možemo se kretati po računaru i desno u virtualnoj mašini. Sve što morate učiniti je pristupiti (na virtualnoj mašini) direktorijumu "/ mnt / custom / customcd / isofile" i povući ISO sliku na željeno mjesto na računaru.
!! Cestitam !! Ako je sve prošlo u redu, pripremite ISO sliku sa prilagođenim SystemRescueCD i spremnu za pokretanje sa CD-a, USB-a ...
Kakav dobar vodič, pomalo kompliciran, ali vrlo koristan.
Dobar doprinos.
Tada ću s malo više vremena, i bez toliko nelagode u očima, temeljito pročitati. Djeluje vrlo korisno i zanimljivo.
Pozdrav woqer, jako dobar post!
S LFS-om sam nekoliko godina i stvorio sam vlastiti iso koji se može koristiti za vas, ima sve što je potrebno za kompajliranje jer je LFS. 😀 Nadam se da će vam biti od koristi
http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso