Instalacja systemu z wykorzystaniem debootstrap

Wpis zamieszczony o 12:41:07, 16 czerwca 2007 Trackback


Nie tak dawno opisywałem sposób instalacji systemu operacyjnego przez sieć LAN. Rozwiązanie idealne dla systemów wbudowanych (Windows XP Embedded, DSL-emb etc.) oraz dla komputerów beznapędowych. W tamtym czasie nie zdawałem sobie sprawy z istnienia narzędzia, które dziś chcę Wam opisać.

Narzędziem tym jest debootstrap. Pozwala on na instalację systemu Debianowego z poziomu dowolnego Linuksa, bez udziału apt'a oraz dpkg. Potrafi pobrać ze zdalnych repozytoriów pakiety *.deb i rozpakować je do struktury FHS w dowolnym, podmontowanym katalogu systemu.

Co nam to daje? Możemy sobie przetestować w bezpiecznym, chrootowanym środowisku na Ubuntu, czy bylibyśmy sobie w stanie poradzić z Debianem ;-). Można też pomęczyć system, popatrzeć jak działa bez strachu o swoje dane. W zasadzie - otrzymujemy zagnieżdzony, wirtualny system w systemie, którego nie ograniczają sztywne ramy emulacji rodem od VMware czy VirtualBox. Środowisko, w którym nie boimy się działać i uczyć się nowych rzeczy.
"Hej, a co się stanie jak usunę /etc/fstab?!" - teraz możesz to sprawdzić!

A zatem:

1. instalacja

Banalnie prosta:
# apt-get install debootstrap

2. konfiguracja

Zerowa :-))

3. instalacja systemu

Spójrzmy najpierw do /usr/lib/debootstrap/scripts, znajdziemy tam predefinowane systemu, które możemy instalować z wykorzystaniem debootstrap. U mnie są to:

-rw-r--r-- 1 root root 5433 2007-04-10 21:28 breezy
lrwxrwxrwx 1 root root    3 2007-06-13 15:35 etch -> sid
-rw-r--r-- 1 root root 7828 2007-04-10 21:28 hoary
-rw-r--r-- 1 root root 5774 2007-04-10 21:28 hoary.buildd
lrwxrwxrwx 1 root root    3 2007-06-13 15:35 lenny -> sid
-rw-r--r-- 1 root root 3408 2007-04-10 21:28 potato
-rw-r--r-- 1 root root 8387 2007-04-10 21:28 sarge
-rw-r--r-- 1 root root 5672 2007-04-10 21:28 sarge.buildd
-rw-r--r-- 1 root root 5902 2007-04-10 21:28 sarge.fakechroot
-rw-r--r-- 1 root root 5685 2007-04-10 21:28 sid
-rw-r--r-- 1 root root 7390 2007-04-10 21:28 warty
-rw-r--r-- 1 root root 5656 2007-04-10 21:28 warty.buildd
-rw-r--r-- 1 root root 7722 2007-04-10 21:28 woody
-rw-r--r-- 1 root root 5709 2007-04-10 21:28 woody.buildd

Mogę zatem instalować wszystkie wersje Debiana oraz starsze wersje Ubuntu (które niestety już nie leżą na serwerach). Nie wiem, jak sytuacja ma się w Ubuntu - zawsze jednak można poszukać nowym buildów bądź też samemu stworzyć jakiś (w tym momencie pracuję nad minimalnym obrazem instalacyjnym najnowszego Ubuntu). Jak zatem tego użyć?
Wpisujemy:
# mkdir /home/sarge - tworzymy katalog instalacji
# debootstrap sarge /home/sarge http://ftp.debian.org/debian/ - instalujemy Sarge'a
# echo "proc /home/sarge/proc proc none 0 0" >> /etc/fstab - montujemy proc
# mount proc /home/sarge/proc -t proc
Została nam jeszcze konfiguracja sieci:
# cp /etc/hosts /home/sarge/etc/hosts
# echo "8:23:respawn:/usr/sbin/chroot /home/sarge /sbin/getty 38400 tty8" >> /etc/inittab - zadziała tylko na Debianie i starszych Ubuntu!
# init q
Jeśli posiadamy system, który nadal korzysta z systemV-init a nie upstart'a, na konsoli tty8 zobaczymy konsolę logowania naszego nowego systemu ;-).
Jeśli zaś posiadamy system, który posiada upstart, musimy chrootować się do nowego środowiska:
# chroot /home/sarge /bin/bash
I w zasadzie to wszystko. Musimy pamiętać, że otrzymujemy czysty, totalnie okrojony system. Bez locales, bez jądra, bez skonfigurowanych repozytoriów. Praktycznie o każdy element systemu musimy zadbać sami.
Dodatkowo odsyłam do:
$ man debootstrap
Materiału o instalacji Debiana z Knoppixa
Tworzeniu VM z Debianem na pokładzie

Zatem - powodzenia!

Komentarze do “Instalacja systemu z wykorzystaniem debootstrap”


  1. napisz jeszcze drugi kurs - co jest konieczne do instalacji, jakie potrzebujemy pakiety zeby system wystartowal i konfiguracja grubaska ;)


  2. Hmm, to nie jest głupi pomysł :-) Szczególnie że cały dzisiejszy dzień mam totalnie wolny.

    Jestem fanem lilo (tak wiem, bez komentarza ;P), więc dam 2 rozwiązania - lilo und GRUB.

    Sądzę, że za 4-5 godzin art będzie wisiał.


  3. > 1. instalacja
    >
    > Banalnie prosta:
    > # apt-get install debootstrap

    To bardzo miło, że Debiana można zainstalować spod... hmm... Debiana. Szkoda że nie podałeś procedury instalacji pod innymi dystrybucjami, bo pod takim Slackware to było nietrywialne zadanie (głównie ze względu na debianowy pomysł na sposób tworzenia tarballi z plikami urządzeń).


  4. O, dozzie... Miło Ciebie tutaj widzieć :-).

    Powiem szczerze - niespecjalnie znam Slacka. Używałem do tej pory RH, Fedory, Gentoo, Debka, Ubuntu oraz Mandrake (starego). Prawdę powiedziawszy, musiałbym opisać uniwersalny sposób instalacji z tar.gz, jednak jak wiesz to by zaimplikowało kolejne problemy pod różnymi distrami.

    A co do tworzenia struktury /dev (bo o tym mówisz?) w Debianie:
    # cd /dev; ./MAKEDEV
    Chyba że chodziło Tobie o udev'a.


  5. Owszem, o MAKEDEV chodziło. Slackware'owy sobie nie radzi z debianowym pomysłem na niektóre nazwy urządzeń, już nie pamiętam szczegółów. Musiałem przygotować tarballe z plikami urządzeń pod Debianem, żeby móc zainstalować (tj. przygotować pakiet) debootstrapa na Slacku.


  6. Ciekawostka zacna! ;-)

    Zaintrygowałeś mnie do tego stopnia, że w najbliższym czasie postawię slacka na jakimś starym blaszaku i się kilka tygodni pobawię.

    Nie wiedziałem, że nazwy urządzeń w /dev nie są zunifikowane (są różne pod różnymi distrami).

    Czas poznać nowe ;-)

    Pozdrawiam!


  7. Debootstrap ma tez AFAIR wersje RPMowa


  8. Czyli jednak ci cos nie pasuje, skoro narzekasz. Mozesz zostac, ale siedz cicho i wyjdz po angielsku.


  9. Debootstrap:
    Debian: http://packages.debian.org/stable/admin/debootstrap
    Ubuntu: http://packages.ubuntu.com/feisty/admin/debootstrap
    RPM (very old :( ): http://www.pcwelt.de/downloads/linux/linux/118827/
    I co zrobić pod nie_debianowym systemem:
    http://www.jwhitham.org.uk/debootstrap.html

    Pozdro :-)


  10. I jeszcze co do instalacji Debiana pod Debianem:
    Niekoniecznie tak jest. Wrzucasz płytkę bootowalną Knoppixa (lub Ubuntu), instalujesz debootstrap w sposób który podałem, montujesz zasób, kopiujesz, chroot, instalacja jajka, GRUB. Odmontowanie.

    I nawet nie ruszyłeś swojego Slack//Gentoo//RH z dysku. Ba! Nawet go nie zaśmieciłeś.


  11. Polecam użycie debootstrap razem z fakechroot. Robi cuda, tzn pozwala na zainstalowanie systemu w katalogu użytkownika bez użycia uprawnień roota w ogóle.


  12. A nie lepiej http://wubi-installer.org/ ?
    (Instalator ubuntu pod windows)


  13. ZET, nei wszyscy maja winde


  14. Witam.
    Sam niedawno odkryłem to narzędzie przy okazji poznawania xen (np.: http://www.artinfo.com.pl/baza-wiedzy/linux%11system/xen-vm-debian-etch-instalacja/) . Dla mnie po prostu bajka. Właśnie przygotowuje serwer na którym będę mógł testować lenny/sid/... instalowanego z debootstrap odpalanego na etch-u. I tak na stabilnym serwerze produkcyjnym będę mógł tworzyć środowiska testowe używanych aplikacji na nowych wersjach sys. op. bez zakwaszania aplikacji w wersjach produkcyjnych. Bajka.


  15. Witam,
    Jest możliwość przy pomocy debootstrap zainstalować 64 bitową wersję systemu spod 32 bitowego debiana?


  16. God how I hate RPM based distros, let me count the ways. I've heard FC is suesppod to have something called yum that works like apt, however if it's anything like up2date it's still a pile of crap. Does it still suffer from the infamous recursive requirements problem? I remember my own personal hell of installing E (0.14!!!) back in the day and each new RPM I tried to install resulted in another 10 RPM's that the first RPM depended on.Mmmmm . apt-get. Recursively finds packages and installs everything you need. Sorry, all of these Debian posts are making me want to run Debian on my PowerBook (Ha! Crazy thoughts since fink allows me to install and use apt-get on my PowerBook, which, btw, kicks total ass).

Dodaj komentarz

Textile jest włączony. Zobacz składnię (wiki.jogger.pl)

code