Instalowanie Gentoo jako VirtualBox VM
Gentoo jest jednym z najbardziej ezoterycznych dystrybucji. Oferuje możliwość dostosowania kosztem przyjazności dla użytkownika. Wyrzuca jednak światło na wewnętrzne działanie instalacji Linuksa. Eksperymentowanie ze środowiskiem gentoo w maszynie wirtualnej to prawdopodobnie świetny sposób na rozpoczęcie uczenia się o systemach operacyjnych w ogóle.
Przejdźmy przez krok po kroku proces instalowania podstawowego systemu operacyjnego wraz z wyjaśnieniem za każdym kroku.
Uzyskanie odpowiednich nośników instalacyjnych
Najłatwiejszym sposobem zainstalowania Gentoo jest użycie hybrydowego ISO (LivedVD). Co oznacza, że obraz dysku może być używany do instalacji systemu operacyjnego na innym dysku lub może być po prostu używany jako środowisko na żywo do uruchamiania do celów diagnostycznych.
Możesz uzyskać plik obrazu tutaj. Wybierz ten, który należy do platformy sprzętowej. Nowoczesne procesory Intel i AMD zwykle oferują architekturę AMD64.
Następnie musisz utworzyć maszynę wirtualną na VirtualBox. Otwórz VirtualBox i kliknij przycisk z napisem "Nowy" Teraz możesz wprowadzić nazwę maszyny wirtualnej i wybrać „Typ” jako Linux i „wersja” jako Gentoo 64-bit.
Ustaw rozmiar pamięci na 2048 MB, a następnie kliknij „Utwórz”, aby kontynuować tworzenie wirtualnego dysku twardego.
Wartości domyślne działałyby dobrze w tym przypadku (chociaż będziemy pracować z 32 GB miejsca na dysku zamiast 8 GB), a teraz możesz kliknąć „Utwórz” po raz ostatni, aby sfinalizować szczegóły.
Teraz wybierz nowo utworzoną maszynę wirtualną z deski rozdzielczej VirtualBox, a zostaniesz wyświetlony na dysku start-up. Kliknij ikonę pliku obok niego oraz w eksploratorze plików, który otwiera się po przejściu do pliku ISO Gentoo Livecd, który wcześniej pobrałeś.
Po uruchomieniu maszyny wirtualnej zobaczysz menu rozruchu z następującymi opcjami:
Wybór x86_64 jest najbardziej odpowiednią opcją w tym przypadku.
Następnie zostaniesz powitany ekranem logowania z domyślnym użytkownikiem Gentoo, kliknij zalogowanie się bez wprowadzania hasła (jak wskazano na zrzucie ekranu poniżej).
Jesteś teraz technicznie w systemie operacyjnym Gentoo. Jest to jednak media na żywo, co oznacza, że nie możesz go używać jako systemu zainstalowanego na (wirtualnym) dysku twardym. Ale możesz użyć tego środowiska do zainstalowania Gentoo na swoim wirtualnym dysku twardym.
Podział wirtualny dysk twardy
.Dysk VDI, który stworzyliśmy wcześniej, to w tym momencie tylko surowy dysk, dołączony do maszyny wirtualnej, a sama maszyna wirtualna działa w mediach Gentoo na żywo. Teraz, aby zainstalować środowisko Gentoo na tym dysku, aby mógł się uruchomić, musielibyśmy zrobić kilka rzeczy.
Aby wykonać 1. zadanie, musimy po prostu wykonać 4 partycje następującego rozmiaru i najlepiej w następującej kolejności.
Aby partycje najpierw potrzebujemy, aby uzyskać nazwę wirtualnego dysku. Otwarty terminal (Konsole) i uruchom sudo -i zostać użytkownikiem root, a następnie uruchomić lsblk Aby wymienić wszystkie urządzenia do przechowywania bloków.Nazwa urządzenia w naszym przypadku to SDA SDA i ma rozmiar 32 GB. Następnie musimy wprowadzić rozdzielone narzędzie, aby podzielić ten dysk. Aby to uruchom, jako root:
$ rozstał -a optymalny /dev /sda
Teraz jesteśmy w CLI narzędzi, zacznijmy od wymienienia wszystkich partycji, wpisując druk:
I otrzymujemy komunikat o błędzie, w którym mówi, że dysk nie jest rozpoznawany. Należy się tego spodziewać, ponieważ proces instalacji z Gentoo nie jest zautomatyzowany, możesz ręcznie skonfigurować wszystkie małe szczegóły, w tym szczegóły partycjonowania dla systemu podstawowego. Po pierwsze, dajmy naszemu dysku właściwą etykietę.
(rozdzielny) MKLABEL GPT
Etykiety GPT są niezbędne do wyjątkowej identyfikacji urządzenia nawet po, powiedzmy, system uruchamia ponownie, a urządzenie jest podłączone do innego portu Ta etykieta będzie odpowiedzialna za informowanie systemu operacyjnego, że dysk właśnie zmienił porty SATA, ale nadal jest to te same dane i formatuj jak poprzednio.
Partycja dysku, uruchamiając następujące polecenia (wiersze zaczynające się na symbolu „#” to komentarze do wyjaśnienia polecenia nad nimi):
(rozdzielny) jednostka MB
#Sets jednostka do megabajtów
(rozdzielny) Mkpart Primary 1 20
#Meses Partiction Primary od 1 megabajtu do #20 na BIOS
(rozdzielny) MKPART Primary 21 500
#Partion /Boot FileSystem
(rozdzielny) MKPART Primary 501 2500
#Partiction o rozmiarze 2000 MB wykonanej do zamiany
(rozdzielny) MKPART Primary 2501 -1
#Partiction dla systemu plików /(root). -1 wskazuje na to
#Ta partycja zmierza do samego końca dysku.
Możesz zobaczyć, że każda partycja ma liczbę i jest typu podstawowego. Nie są one jednak sformatowane z żadnym konkretnym systemem plików ani nie mają do nich podanych nazw używanych lub flag. Zróbmy to.
(rozdzielny) Nazwa 1 grub
(rozdzielny) Ustaw 1 BIOS_GRUB
#Partiction Numer 1 ma swoją flagę BIOS_GRUB ustawioną na jeden
#i ma odpowiednią nazwę.
(rozdzielny) Nazwa 2 rozruch
(rozdzielny) Nazwa 3 zamiana
(rozdzielny) Nazwa 4 root
(rozdzielił się) zrezygnować
Po ustawieniu odpowiednich nazw na wszystkie 4 partycje i 1 flaga BIOS_GRUB na pierwszą partycję, opuściliśmy rozdzielone narzędzie. Teraz przechodzimy do sformatowania partycji za pomocą odpowiedniego systemu plików w naszej zwykłej powładzie bash (nadal jako użytkownik root), najpierw uruchamiając następujące polecenie:
$ lsblk
#Aby wymienić całą partycję i sprawdź nazwy węzłów urządzeń
Możesz zobaczyć, że program partycjonowania oznaczył pierwszą partycję SDA1 co odpowiada partycji grubów i tak dalej SDA4. Urządzenia są obecne w katalogu /Dev AS /dev /sda1, /dev /sda2 i tak dalej.
Aby odpowiednio je sformatować, uruchom polecenia:
$ mkfs.ext4 /dev /sda2
$ mkfs.ext4 /dev /sda4
$ mkswap /dev /sda3
$ SWAPON /Dev /SDA3
Teraz możemy zamontować te partycje do obecnego środowiska na żywo, aby wszystkie niezbędne operacje, takie jak budowanie jądra.
$ Mount /dev /sda4 /mnt /gentoo
$ mkdir/mnt/gentoo/boot
$ Mount/dev/sda2/mnt/gentoo/but
Nasza partycja rootowa jest zamontowana na/mnt/gentoo obecnego środowiska livecd i podobnie naszą partycję rozruchową jest zamontowana na/mnt/gentoo/boot.
Zdobycie tarballu i używanie chroot
Teraz, gdy przygotowujemy dla nas nasz dysk, nadszedł czas, abyśmy zdobyli kod źródłowy Tarball of Gentoo i umieścić go tam. W środowisku Live CD otwórz przeglądarkę Otwórz ten link i kliknij archiwa Stage3 w sekcji AMD64 u góry strony.
Po zakończeniu pobierania skopiuj Tarball do /mnt/gentoo katalog i wyodrębnij jego treść.
$ cp/home/gentoo/pobieranie/mnt/gentoo
$ tar xpf etap3-*.smoła.xz --xattrs-include = '*.*”
--właściciel numeryczny
W drugim poleceniu użyteczność TAR służy do rozstrzygnięcia Tarball. XPF mówi polecenie TAR, że chcemy X wyciąg, P Zachowaj uprawnienia do plików i F sugerować, że wyodrębniamy pliki, a nie standardowe dane wejściowe.
Rozszerzenie pliku może nie być smoła.xz w Twoim przypadku. Obserwuj nazwę swojego pliku i odpowiednio typu Tarball.
--Xattrs-Include
Część polecenia zachowuje atrybuty (odczyt, zapis i wykonanie) poszczególnych plików
I --właściciel numeryczny
Zapewnia grupy i numer identyfikacyjny użytkownika zatwierdzony przez konwencję Gentoo dla typowej konfiguracji.
Jeśli zobaczysz zawartość, która zostanie wyodrębniona w twoim /mnt/gentoo
katalog przypominałby typowe środowisko korzeniowe Unix z takim katalogiem /etc /sbin,
itp. Chodzi o to, że po wyodrębnianiu wszystkich plików niezbędnych do działającego środowiska gentoo zmienimy nasz katalog główny na /mnt/gentoo
Użyj narzędzi i menedżerów pakietów, aby je skonfigurować. Menedżer pakietów wprowadziłby zmiany w / katalog, ale zostałby oszukany w dokonywaniu zmian /mnt/gentoo
Zamiast tego katalog.
Ponieważ w tym katalogu zamontowano naszą partycję root, wszystkie zmiany zostaną wprowadzone, a następnie uruchomilibyśmy to nowe środowisko po zakończeniu.
Ale najpierw dokonajmy kilku zmian w plikach konfiguracyjnych:
$ nano/gentoo/mnt/etc/portage/make.conf
Po Cflags Wiersz powinieneś dodać następujące wiersze, które pozwoliłyby Portage na leczenie plików C ++ w taki sam sposób, jak pliki C. Portage to menedżer pakietów Gentoo, mówiąc luźno. Służy do pobierania kodu źródłowego programów, aby można je wszystkie skompilować (automatycznie) w natywnym systemie.
$ Cxxflags = "$ cflags"
Skopiuj także Resolv.plik Conf z środowiska LiveCD do nowego roota.
$ cp -l /etc /resolv.conf/mnt/gentoo/etc//
Teraz upewniamy się, że wszystkie systemy plików niezbędne do zgromadzenia jądra Linux do gromadzenia informacji o systemie są dostępne, gdy próbuje się uruchomić. Tak więc bierzemy informacje zebrane przez obraz LiveCD o naszej maszynie wirtualnej i jej sprzęcie i wiążymy je z naszym nowym systemem plików root.
$ Mount -t proc /proc /mnt /gentoo /proc
$ Mount - -rbind /sys /mnt /gentoo /sys
$ Mount - -rbind /dev /mnt /gentoo /dev
Czas, abyśmy chroot (zmiana roota) na /mnt/gentoo.
$ chroot /mnt /gentoo /bin /bash
$ źródło /etc /profil
$ export ps1 = ”(chroot) $ ps1”
Kompilowanie jądra Linux
Zsynchronimy nasze drzewo Portage (repozytorium oprogramowania) z oficjalną wersją. To jest podobne do aktualizacja apt w Ubuntu.
$ Emerge-Webrsync
Po zakończeniu możemy wybrać profil dla naszego systemu. Który zasadniczo dostosowuje system dla określonego użycia (serwer, stacja robocza itp.). Będziemy wybrać środowisko plazmowe KDE wymienione pod numerem szóstym.
Lista profilu $ eselect
$ eselect Profilu Zestaw 6
Następne są konfiguracje strefy czasowej i lokalizacji:
$ ls/usr/share/zoneinfo
Znajdź swoją lokalizację w tym katalogu. W tym przypadku była to Azja/Dili
$ cp/usr/share/zoneinfo/continent/miasto/etc/localtime
$ echo „Asia/dili”>/etc/strefa czasowa
Następnie odbicie zestawu znaków i języka, którego chcesz użyć z pliku /etc /locale.gen. Niezwykle linii en nas.UTF-8 UTF-8.
$ nano /itp.gen
Zastosuj zmiany:
$ generacja lokalizacji
$ env-update && Źródło /etc /profil
Teraz możemy zdobyć źródła jądra Linux i zacząć je kompilować:
$ Emerge Gentoo-Sources
$ Emerge Genkernel
$ genkernel All
Ostatnie polecenie rozpocznie kompilowanie jądra, które zajęłoby dużo czasu, zwłaszcza jeśli masz ograniczone zasoby sprzętowe.
Ostatnie poprawki
Po kompilacji jądra musimy tylko wprowadzić kilka zmian, takich jak instalacja GRUB, dodanie użytkownika i upewnienie się, że system operacyjny automatycznie zamontuje niezbędne systemy plików podczas procesu rozruchu.
Aby upewnić się, że ostatnie z tych rzeczy się wydarzy, w środowisku chrooted edytuj plik /etc/fstab Gdzie fstab oznacza tabelę systemu plików:
$ nano /etc /fstab
Na dole pliku dodaj następujące wiersze:
/dev /sda2 /boot ext4 domyślne, noatime 0 2
/dev /sda4 /ext4 Noatime 0 1
/dev/sda3 Brak swap SW 0 0
Zainstaluj klient DHCP, aby Twoja maszyna wirtualna będzie miał łączność sieciową.
$ Emerge Dhcpcd
Upewnij się, że klient DHCP rozpoczyna się w procesie rozruchu:
$ rc-update Dodaj DHCPCD domyślnie
Ustawienie hasła dla użytkownika root jest tak proste, jak wprowadzenie polecenia poniżej i wprowadzenie nowego hasła po wyświetleniu monitu:
$ passwd
Aby dodać nowego użytkownika nazwanego pion Wprowadź polecenie:
$ UserAdd -M -g Użytkownicy, koło, portage -s /bin /bash bob
$ passwd bob ## To jest ustawienie hasła dla użytkownika Bob
Potrzebowalibyśmy również sudo, więc zainstalujmy to:
$ Emerge sudo
A następnie pozwól członkom Wheel Group na wykonanie dowolnego dowolnego polecenia, musimy edytować plik /etc /sudoers:
$ visudo
Na koniec musimy zainstalować i skonfigurować bootloader Grub:
$ Emerge Grub
$ Grub-install /dev /sda
$ Grub -MkConfig -O/boot/Grub/Grub.CFG
Teraz możemy wyjść ze środowiska chroot i nie udręczyć systemów plików:
$ exit
$ umount -l/mnt/gentoo/dev /shm,/pts,
$ umount -l/mnt/gentoo /boot,/proc,
$ Zamknięcie teraz
Przejdź do ustawienia VM i w sekcji pamięci, usuń obraz LivedVD przymocowany do maszyny wirtualnej.
Po ponownym uruchomieniu maszyny wirtualnej zostaniesz powitany interfejsem Tty do nowo zainstalowanego systemu operacyjnego Gentoo. Zaloguj się jako przy użyciu nazwy użytkownika i hasła, które wybrałeś podczas instalacji.
Tylko proces instalacji Gentoo ujawnia znacznie więcej o wewnętrznych działaniach i strukturze pod większością środowisk Unix. Gdyby ktoś chce osiągnąć głębszą wiedzę na temat systemu, podręcznik Gentoo byłby świetnym miejscem do rozpoczęcia!