"Tylko odwaga i precyzja otworzą bramy do wielkiej mocy."
Studiowanie zaklęć
Wiedźmini muszą opanować sztukę instalacji Gentoo Linux. Dlaczego? Bo aby to uczynić trzeba poznać wszystkie tajniki systemu Linux. To próba, która wymaga nie tylko cierpliwości, ale także precyzji w wykonaniu. Przygotujcie swoje narzędzia i zagłębcie się w tajemnice Stage3 – fundamentu tego magicznego systemu. Pamiętajcie słowa Mistrza Vesemira: "Gentoo to nie eliksir Jaskółki, który można połknąć jednym haustem. To długi, skomplikowany proces, który wymaga skupienia i uwagi." Instalacja Gentoo przypomina warzenie potężnego eliksiru. Każdy składnik musi zostać dodany w odpowiedniej kolejności i proporcji; w przeciwnym razie mikstura może wybuchnąć wam w twarz.
Waszym pierwszym zadaniem jest zdobycie Stage3, nasiona systemu, z którego wykiełkuje wszechmocna istota. To jak znalezienie serca potwora, które wykorzystacie do stworzenia potężnego talizmanu. Stage3 to zbiór plików tworzących podstawę systemu. To jak szkielet, na którym zbudujecie resztę ciała. Ale uważajcie! Instalacja Gentoo to nie spacer po Brokilonie. To podróż w głąb ciemnej jaskini pełnej pułapek i niebezpieczeństw. Staniecie przed konfiguracją jądra, kompilacją pakietów i innymi magicznymi rytuałami. Ale nie obawiajcie się! Z moją pomocą pokonacie wszystkie przeszkody i staniecie się prawdziwymi mistrzami Gentoo. Pamiętajcie, cierpliwość i skupienie to wasza najlepsza broń. A jeśli napotkacie problemy, zawsze możecie zwrócić się o pomoc do starszych wiedźminów (czyli skonsultować dokumentację lub poprosić o pomoc na forach).
/dev./dev jako miejsca reprezentującego urządzenia sprzętowe.fdisk.Gentoo Linux to unikalna dystrybucja, wyróżniająca się elastycznością i podejściem do zarządzania systemem. Gentoo jest dla użytkowników, którzy chcą mieć pełną kontrolę nad dosłownie każdym aspektem swojego środowiska operacyjnego. Różne dystrybucje linuksa różnią się od siebie zazwyczaj sposobem zarządzania pakietami i menadżerem pakietów. A dystrybucjach bazujących na Debianie jest to APT, w Arch Linuksie PACMAN a w Gentoo drzewo portage zarządzane przez EMERGE. Dzięki systemowi Portage użytkownicy mogą zarządzać pakietami modułowo i dostosowywać je do swoich potrzeb za pomocą flag USE.
Oprócz systemu zarządzania pakietami dystrybucje różnią się też stopniem automatyzacji i konfiguracji. Ale jak to zwykle bywa, jeśli coś dzieje się automagicznie to czasami dzieją się rzeczy, które niekoniecznie byśmy chcieli aby się działy. Na przykład nieuzasadnione gromadzenie danych lub nawet bezprawna kradzież danych - czyli codzienność korporacji Apple, Google i Microsoft. Żeby zainstalować system MUSIMY zaakceptować EULA, gdzie na stu tysiącach stron jest ładnie opisane, że Twoje dane nie są Twoje tylko ich, bo tak... A jak nie zaakceptujesz żeby mogli grzebać w Twoich plikach i nieustannie patrzeć Ci na ręce, to nie zainstalujesz/uruchomisz komputera czy telefonu, na który wydajesz miliony monet. Czyli mniej więcej - zgarniemy od Ciebie kasę, potem będziemy kradli Twoje dane i śledzili każdy Twój ruch na komputerze i w mediach społecznościowych, żeby na koniec wykorzystać te dane do profilowania, precyzyjnej reklamy, kreowania światopoglądu przez podpowiadanie konsumowanych treści a na koniec sprzedamy wszystkie informacje o Tobie firmom trzecim.
To wszystko oferujemy Wam za jedno - wygodę.
Flagi USE nie są wygodne. Ale są mega pomocne. Flagi USE to opcje, które pozwalają precyzyjnie dostosować skompilowane pakiety do wymagań. Na przykład, jeśli chcesz, aby twój system obsługiwał określone funkcje multimedialne, możesz włączyć odpowiednie flagi. Jeśli ich nie potrzebujesz, możesz je wyłączyć, oszczędzając miejsce na dysku i optymalizując wydajność systemu. Jak dokładnie to działa? Jeśli wejdziecie sobie na stronę Gentoo downloads to zobaczyćie, że ta dystrybucja wspiera 13 architektur CPU, np. mk68k. Nie sądzę, że ktoś z Was jeszcze będzie pamiętał, ale procesor m68k miał 14,32 MHz (tak, mega hertzów) i mył montowany m. in. w komputerze AMIGA 1200 wprowadzonym na rynek w 1992 roku przez firmę Commodore International. Nie ma się raczej co spodziewać, że taki procesor będzie dzisiaj uważany za wydajny. Podobnie jak procesory PPC, risc i inne wynalazki, ale są jeszcze działające maszyny z takimi procesorami. Dlatego jeśli komuś przyjdzie do głowy kompilacja jakiegoś programu ze źródeł, to dzięki flagom USE może do maksymalnie wykorzystać RAM i CPU swojego komputera ograniczając do minimum opcje "wkompilowane" w aplikację. To oczywiście ma wpływ na ich funkcjonalność ale oszczędza pamięć i zwiększa szybkość działania.
USE flags w Gentoo to mechanizm konfiguracyjny, który pozwala użytkownikowi kontrolować, jakie opcje i funkcjonalności mają być kompilowane do pakietów. Dzięki nim możesz decydować, czy dany program ma wspierać konkretne biblioteki lub technologie (np. obsługę X11, SSL, multimedia, czy wsparcie dla różnych systemów plików) już na etapie budowy. Użytkownik definiuje globalne USE flags w pliku /etc/portage/make.conf, a także może nadpisywać ustawienia dla poszczególnych pakietów w pliku /etc/portage/package.use. Ta elastyczność umożliwia stworzenie systemu idealnie dopasowanego do indywidualnych potrzeb – system może być maksymalnie zoptymalizowany, zawierać tylko niezbędne funkcje i uniknąć zbędnych zależności, co jest jednym z głównych założeń Gentoo. To czyni go również doskonałym wyborem na systememy wbudowane (embedded - routery, telewizory, konsole do gier, mp3 playery, telefony czy nawet lodówki), gdzie ograniczone zasoby sprzętowe wymuszają szycie systemu na miarę. Po co tyle zachodu, skoro jest tyle innych dystrybucji? Tak obrazowo - mozna tłuc się z Krakowa do Gdańska trzeszczącymi pociągami a można wsiąść w prywatny odrzutowiec być na miejscu za godzinę.
Konfiguracja globalnych flag USE znajduje się zazwyczaj w pliku /etc/portage/make.conf. Przykład:
# Ustawienie globalnych flag USE:
USE="gtk -qt -kde"
W tym przykładzie system kompiluje pakiety z włączoną obsługą GTK, a flagi qt oraz kde są wyłączone.
Można również ustawiać flagi USE specyficzne dla poszczególnych pakietów, co robi się w pliku /etc/portage/package.use. Przykład:
# Konfiguracja flag USE dla pakietu media-gfx/gimp:
media-gfx/gimp -gegl jpeg
W tym przypadku pakiet media-gfx/gimp zostanie skompilowany bez wsparcia dla gegl, ale z obsługą formatu jpeg.
Kolejnym ważnym aspektem Gentoo jest podejście do instalacji. Proces instalacji Gentoo jest manualny, co oznacza, że użytkownik ma pełną kontrolę nad każdym krokiem. W tej sesji skupimy się na instalacji Stage3, która jest punktem wyjścia do budowania Gentoo.
Stage3 to zbiór plików binarnych zawierających podstawowy zestaw narzędzi systemowych. Dzięki nim możemy skonfigurować i dostosować system dokładnie do naszych potrzeb.
Partycjonowanie to proces dzielenia przestrzeni dyskowej na logiczne segmenty, które mogą być używane jako niezależne jednostki. Każda partycja może mieć przypisany inny system plików, np. ext4, FAT32 lub NTFS. Ext4 to najczęściej używany system plików w Linuxie, znany z wysokiej wydajności i obsługi dużych plików. FAT32 jest szeroko stosowany w środowiskach wieloplatformowych, ponieważ działa zarówno w Windows, jak i Linuxie. NTFS to domyślny system plików w systemach Windows, oferujący wysoką wydajność i zaawansowane funkcje zarządzania plikami.
Chrootowanie to kluczowy krok w instalacji Gentoo. Chrootowanie pozwala uruchomić powłokę w nowym środowisku, odizolowanym od obecnego systemu operacyjnego. Dzięki temu możesz kontynuować instalację i konfigurację Gentoo w pełni kontrolowany sposób, pewny, że żadne zmiany nie wpłyną na twój obecny system.
Podsumowując, instalacja Gentoo to nie tylko proces techniczny, ale także świetna okazja do nauki i zrozumienia, jak działa system operacyjny Linux. Dzięki Gentoo możesz nauczyć się zarządzać systemem na poziomie niedostępnym w wielu innych dystrybucjach, co czyni go idealnym wyborem dla tych, którzy chcą rozwijać swoje umiejętności i wiedzę na temat Linuxa, nawet jeśli później przesiądziecie się na inny system. Nie ma co ukrywać, że to system dla grubych pasjonatów, bo chociaż Gentoo jest wśród dystrybucji Linuksa jak Masamoto wśród noży, to na codzienne godzinne ostrzenie mogą sobie pozwolić tylko pasjonaci lub Ci, którzy doskonale wiedzą czego potrzebują.
Wyobraźcie sobie Stage3 jako bazę wypadową dla wiedźminów, przygotowujących się do niebezpiecznej misji. To miejsce, gdzie mogą zaopatrzyć się w niezbędny sprzęt, zaplanować strategię i przygotować się na nadchodzące wyzwania. Portage to system zarządzania pakietami, który działa jak kwatermistrz w twierdzy wiedźminów, zapewniając dostęp do najnowszej broni, eliksirów i magicznych formuł.
Flagi USE są jak runy, które wzmacniają wasze umiejętności. Możecie je skonfigurować, aby dostosować system do swoich potrzeb. Chrootowanie to jak wejście w stan medytacji, pozwalający skupić się na konfiguracji systemu bez zewnętrznych rozpraszaczy. A /dev to jak skarbiec przechowujący wszystkie wasze magiczne artefakty.
Pamiętajcie, instalacja Gentoo to dopiero początek waszej przygody z Linuxem. To jak ukończenie szkolenia w Kaer Morhen. Teraz czas wyruszyć w świat i stawić czoła prawdziwym potworom!
gentoo.img oraz podstawowej obsługi sieci, jak na poprzednich zajęciach.Jeśli kiedykolwiek zastanawiałeś się, co to są partycje, formatowanie dysku i jak to wszystko działa, to skup się, bo ten tekst jest dla Ciebie. Wyjaśnię to krok po kroku, używając prostych przykładów. Wyobraź sobie, że Twój dysk to gruby zeszyt, a partycje to jego rozdzielone ładnymi kolorowymi zakładkami sekcje, które możesz używać do różnych celów. Ponieważ eksperymantowanie na fizycznym dysku może przyprawić o ból głowy, szczególnie jak usuniesz ukochanej/mu zdjęcia z Wakacji i dostaniesz w nią laptopem, to poćwiczymy na plikach. Jak już wiesz, w linuksie wszystko jest plikiem, również dysk w systemie. Nic nie stoi więc na przeszkodzie, żeby utowrzyć na dysku zwykły pusty plik, a potem założyć w nim partycje, tak jakby to był zwykły dysk. Mało tego, możesz go potem zamontować w systemie i na prawdę używać jak zwykłego dysku.
Plikopartycja to specjalny plik, który działa jak mały dysk. Możesz go stworzyć, aby później wykorzystać jak prawdziwy dysk w komputerze, na przykład do testów lub jako wirtualne miejsce do przechowywania danych.
Jak pamiętasz z poprzednich zajęć, w katalogu /dev/ są pliki reprezentujące fizyczne urządzenia. Ale są tam też pliki, które symulują jakieś urządzenia. Nie będę teraz omawiał wszystkich ale omówię dwa takie. Jeden to /dev/zero a drugi to /dev/random.
W systemach Unix i Linux /dev/zero oraz /dev/random to specjalne pliki urządzeń (pseudo-urządzenia), które dostarczają danych w nietypowy sposób. Oto, co warto o nich wiedzieć:
/dev/zero to wirtualny plik urządzenia, który przy każdym odczycie dostarcza bajty o wartości 0 (czyli po prostu same zera). Można go traktować jako nieskończony strumień zer.
Wykorzystywany jest głównie do inicjalizowania lub czyszczenia danych, na przykład przy tworzeniu obrazów dysków lub przy wypełnianiu plików zerami.
,format=qcow2,if=virtiodd if=/dev/zero of=plik.img bs=1M count=100
Powyższe polecenie tworzy plik plik.img o rozmiarze 100 MB, wypełniony zerami.
/dev/random to wirtualny plik urządzenia, który dostarcza dane losowe. Dane te są generowane na podstawie szumu środowiskowego, zbieranego z różnych źródeł, takich jak ruch myszy, przerwania sprzętowe, a nawet drobne zakłócenia w systemie.
Używany jest głównie w zastosowaniach kryptograficznych, gdzie wymagana jest wysoka jakość losowości, na przykład do generowania kluczy kryptograficznych.
Odczyty z /dev/random mogą blokować operację, jeśli system nie zgromadzi wystarczającej ilości entropii (czyli "szumu"), co powoduje, że czasami trzeba chwilę czekać na losowe dane.
head -c 16 /dev/random > klucz.bin
Powyższe polecenie zapisze 16 bajtów losowych danych do pliku klucz.bin, które mogą być użyte jako bezpieczny klucz kryptograficzny.
Warto wspomnieć, że istnieje także /dev/urandom – jest to "nieblokująca" wersja /dev/random. W sytuacjach, gdy potrzebne są dane losowe, ale nie można sobie pozwolić na ewentualne opóźnienia (blokowanie odczytu), /dev/urandom jest dobrym wyborem. Dostarcza on dane losowe, korzystając z tych samych źródeł entropii, ale w razie niedoboru entropii nie zatrzymuje operacji odczytu.
/dev/random, która nie blokuje odczytu, ale może mieć nieco niższą jakość losowości przy bardzo niskiej entropii.Przykład polecenia w systemie Linux:
dd if=/dev/zero of=plik_dysk.img bs=1M count=1024
Co to oznacza?
dd – program do kopiowania danych.if=/dev/zero – źródło danych (tutaj same zera, czyli puste dane).of=plik_dysk.img – nazwa pliku, który tworzymy.bs=1M – blok danych o rozmiarze 1 megabajta.count=100 – liczba bloków, czyli 1024 MB (1M x 1024).W tym przewodniku pokażę Ci jak za pomocą standardowych narzędzi można wykonać operacje archiwizacji, odczytu oraz przywracania tablicy partycji, ale tym razem na wirtualnym pliku pełniącym rolę dysku. Załóżmy, że wcześniej stworzyłeś taki plik, np.:
dd if=/dev/zero of=plik_dysk.img bs=1M count=100
Plik plik_dysk.img działa jak wirtualny dysk o rozmiarze 100 MB.
fdiskUruchomimy narzędzie fdisk dla urządzenia pętli, aby podzielić nasz wirtualny dysk na partycje:
sudo fdisk ./plik_dysk.img (pamiętaj aby podać ścieżkę do pliku - ./ zadziała jeśli jesteś w tym samym katalogu co plikopartycja)
W narzędziu fdisk wykonaj następujące kroki:
n aby utworzyć nową partycję.p dla partycji podstawowej).1 dla pierwszej partycji).w aby zapisać zmiany i wyjść z programu.Po zapisaniu zmian, Twój wirtualny dysk będzie miał utworzoną tablicę partycji.
ddPodobnie jak w przypadku fizycznego dysku, możemy zapisać pierwszy sektor (MBR) wirtualnego dysku do pliku:
dd if=plik_dysk.img of=mbr.bin bs=512 count=1
Wyjaśnienie:
if=plik_dysk.img – wskazuje na nasz wirtualny dyskof=mbr.bin – plik, w którym zapiszemy MBRbs=512 – rozmiar bloku (512 bajtów, standardowy rozmiar sektora)count=1 – odczytujemy tylko pierwszy blok (pierwszy sektor)cat i headMożesz również użyć cat oraz head do odczytania pierwszych 512 bajtów z wirtualnego dysku:
cat plik_dysk.img | head -c 512 > mbr.bin
Lub jeszcze krócej:
head -c 512 plik_dysk.img > mbr.bin
Aby zobaczyć zawartość zapisanego MBR w formacie szesnastkowym, użyj poleceń hexdump lub xxd:
hexdump -C mbr.bin
xxd mbr.bin
fdiskNarzędzie fdisk zwykle pracuje z urządzeniami blokowymi, ale możemy „przypiąć” nasz wirtualny plik jako urządzenie pętli (loop device), aby móc wyświetlić jego tablicę partycji:
# Wyświetlamy tablicę partycji
fdisk -l ./plik_dysk.img
Dzięki temu fdisk wyświetli strukturę partycji zawartą w wirtualnym pliku.
Oto zestawienie nietypowych zastosowań kilku poleceń na wirtualnym pliku dyskowym:
dd if=plik_dysk.img of=mbr.bin bs=512 count=1
dd if=mbr.bin of=plik_dysk.img bs=512 count=1
cat plik_dysk.img | head -c 512 > mbr.bin
head -c 512 plik_dysk.img > mbr.bin
hexdump -C mbr.bin
xxd mbr.bin
sudo losetup /dev/loop0 plik_dysk.img
fdisk -l /dev/loop0
sudo losetup -d /dev/loop0
Uwaga: Praca z wirtualnymi plikami dyskowymi jest świetnym sposobem na eksperymentowanie bez ryzyka utraty danych. Mimo to zawsze zachowuj ostrożność i upewnij się, że operujesz na właściwych plikach.
Partycjonowanie dysku to dzielenie fizycznego dysku na mniejsze części zwane partycjami. To trochę jak dzielenie zeszytu na rozdziały – każdy rozdział (partycja) może być używany oddzielnie.
Na przykład, możesz mieć jedną partycję dla systemu operacyjnego, a inną do przechowywania zdjęć i plików.
| Partycja | Zalecana wielkość | Opis |
|---|---|---|
| / (root) | 50 GB | System operacyjny i aplikacje |
| /home | Reszta miejsca | Pliki użytkownika |
| swap | 8 GB | Pamięć wymiany nie jest potrzebna do większości dystrybucji ale Gentoo potrzebuje baaardzo dużo RAMu do kompilacji pakietów. |
| Partycja | Zalecana wielkość | Opis |
|---|---|---|
| / | 80 GB | System operacyjny |
| /var | 50-100 GB | Logi, bazy danych |
| /tmp | 5-10 GB | Pliki tymczasowe |
| /boot | 1-2 GB | Pliki bootowania |
| /srv | Reszta miejsca | Dane aplikacji |
| Partycja | Zalecana wielkość | Opis |
|---|---|---|
| /boot | 256 MB - 1 GB | Pliki startowe |
| / | 1-4 GB | System operacyjny |
| /var | 500 MB - 2 GB | Logi |
| /data | Reszta miejsca | Dane użytkownika |
| Partycja | Zalecana wielkość | Opis |
|---|---|---|
| /boot | 500 MB - 1 GB | Nieszyfrowane pliki boot |
| LUKS | Reszta miejsca | Szyfrowany kontener |
| Partycja | Zalecana wielkość | Opis |
|---|---|---|
| / | 50 GB | System operacyjny |
| /var | 20-100 GB | Logi i bazy danych |
| /home | Reszta miejsca | Pliki użytkowników |
| /data | Osobny RAID 5/10 | Dane serwera |
W systemie Linux można do tego użyć narzędzi takich jak fdisk lub parted. Przykład z użyciem fdisk:
fdisk -l # To zaklęcie wyświetli dyski dostępne w systemie.
sudo fdisk /dev/sda # To zaklęcie uruchomi proces partcjonowania dysku /dev/sda
sudo fdisk /dev/vda # W QEMU Twój dysk najprawdopodobniej będzie sie nazywał /dev/vda
### Zobaczysz coś podobnego:
Welcome to fdisk (util-linux 2.40.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS (MBR) disklabel with disk identifier 0x3f476a3f.
Command (m for help):
### Naciśnięcie m wyświetli menu:
Command (m for help): m
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
e resize a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty MBR (DOS) partition table
s create a new empty Sun partition table
Command (m for help):
### Ponieważ chcemy utworzyć nową tablicę partycji z formacie GPT naciskamy "g":
Command (m for help): g
Created a new GPT disklabel (GUID: EBFAD4A4-E8D1-44EE-A4EF-1AD4B7CFB71C).
Command (m for help):
### Naciśnięcie "g" ktreśliło dopiero sposób w jaki chcesz partycjonować swój dysk, teraz będziemy tworzyć partycje.
### Nową partycję tworzymy naciskając "n" (zobacz w menu powyżej):
Command (m for help): n
Partition number (1-128, default 1): # Tu wpisujemy "1" albo naciskamy enter (domyślna wartość) i naciskamy enter.
First sector (34-351, default 34): # Określamy w którym sektorze ma się zaczynać partycja. Zostawaiamy domyślną wartość i naciskamy enter.
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-104857566, default 2048): # Teraz musimy określić koniec partycji, domyślnie ustawiona jest pełna pojemność dysku. Ponieważ chcesz założyć więcej niż jedną partycję, więc nie możesz zostawić domyślnej wartości. Przeliczanie sektrów nie jest wygodne, ale możesz napisać "+1G" co spowoduje dodanie partycji o pojemniści 1GB. To samo spowoduje "+1024M". Po naciśnięciu enter dodasz partycję, domyślnie oznaczoną jako "Linux filesystem":
gentoo.img1 2048 2099199 2097152 1G Linux filesystem
### Masz dodaną pierwszą partycję. Teraz trzeba wszystko powtórzyć od początku żeby dodać kolejne. Naciśnij "n":
Command (m for help): n
Partition number (2-128, default 2): # Teraz zostawiasz "2" naciskasz enter.
First sector (2099200-104857566, default 2099200): # Zostawiasz domyślny pierwszy sektor (następny za ostatnim poprzedniej partycji)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-104857566, default 104855551): # Utworzymy partycję wymiany SWAP. Zakładając, że Twój wirtualny dysk ma 50G, na potrzeby edukacyjne załóż partycję 8G, czyli wpisz "+8G":
Created a new partition 2 of type 'Linux filesystem' and of size 8 GiB. # Utworzyłeś drugą partycję oznaczoną jako "Linux filesystem"
### Masz dodaną drugą partycję. Teraz znów powtórz wszystko od początku żeby dodać kolejne. Naciśnij "n":
Command (m for help): n
Partition number (3-128, default 3): # Teraz zostawiasz "3" naciskasz enter.
First sector (18876416-104857566, default 18876416): # Zostawiasz domyślny pierwszy sektor (następny za ostatnim poprzedniej partycji)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (18876416-104857566, default 104855551): # Utworzymy partycję systemową root (/). Zakładając, że Twój wirtualny dysk ma 50G, na potrzeby edukacyjne załóż partycję 40G, czyli wpisz "+40G":
Created a new partition 3 of type 'Linux filesystem' and of size 40 GiB. # Utworzyłeś Trzecią partycję oznaczoną jako "Linux filesystem"
### Teraz zrobisz sobie jeszcze jedną partycję /home. Zawsze twórz sobie partycję /home, nawet jak używasz systemu tylko na laptopie i tylko dla siebie. Jeśli masz taką partycję, nie musisz się martwić backupem danych przy przeinstalowywaniu systemu, bo system jest na innej partycji. Mało tego, jeśli używasz kilku różnych systemów (Linux/BSD/Haiku/Android) to w każdym z nich możesz zamontować tą samą partycję /home. W tym przypadku będzie bardzo mała, ale w praktyce powinna być największa, bo to miejsce na wszystkie Twoje dane.
### Dodaj czwartą partycję - naciśnij "n":
Command (m for help): n
Partition number (4-128, default 4): # Teraz zostawiasz "4" naciskasz enter.
First sector (85985280-104857566, default 85985280): # Zostawiasz domyślny pierwszy sektor
Last sector, +/-sectors or +/-size{K,M,G,T,P} (102762496-104857566, default 104855551): # Tym razem zostawiasz domyślną wartość. Wypełnij dysk do końca ostatnią partycją:
Created a new partition 4 of type 'Linux filesystem' and of size 1022 MiB. # U mnie zajęła ona 1022 MB.
Command (m for help):
### To jeszcze nie koniec. Naciśnij teraz "p":
Command (m for help): p
Disk gentoo.img: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9A221982-9B7C-4550-A634-E6130CF3DA66
Device Start End Sectors Size Type
gentoo.img1 2048 2099199 2097152 1G Linux filesystem
gentoo.img2 2099200 18876415 16777216 8G Linux filesystem
gentoo.img3 18876416 102762495 83886080 40G Linux filesystem
gentoo.img4 102762496 104855551 2093056 1022M Linux filesystem
Command (m for help):
### W Twoim schemacie partycji wszystkie są oznaczone jako "Linux filesystem". Ale partycja "/boot" dla BIOSa EFI musi być oznaczona jako vfat (FAT32) i oznaczona jako partycja EFI a partycja wymiany jako SWAP.
Naciśnij więc "t":
Command (m for help): t
Partition number (1-4, default 4): # Domyślnie wybrana jest ostatnia a chcesz zmienić 1.
Partition type or alias (type L to list all): # Zapewne nie wiesz co wpisać więc naciśnij "l":
Partition type or alias (type L to list all): l
1 EFI System C12A7328-F81F-11D2-BA4B-00A0C93EC93B
2 MBR partition scheme 024DEE41-33E7-11D3-9D69-0008C781F39F
3 Intel Fast Flash D3BFE2DE-3DAF-11DF-BA40-E3A556D89593
4 BIOS boot 21686148-6449-6E6F-744E-656564454649
5 Sony boot partition F4019732-066E-4E12-8273-346C5641494F
6 Lenovo boot partition BFBFAFE7-A34F-448A-9A5B-6213EB736C22
7 PowerPC PReP boot 9E1A2D38-C612-4316-AA26-8B49521E5A8B
8 ONIE boot 7412F7D5-A156-4B13-81DC-867174929325
9 ONIE config D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149
10 Microsoft reserved E3C9E316-0B5C-4DB8-817D-F92DF00215AE
11 Microsoft basic data EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
12 Microsoft LDM metadata 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
13 Microsoft LDM data AF9B60A0-1431-4F62-BC68-3311714A69AD
14 Windows recovery environment DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
15 IBM General Parallel Fs 37AFFC90-EF7D-4E96-91C3-2D7AE055B174
16 Microsoft Storage Spaces E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D
17 HP-UX data 75894C1E-3AEB-11D3-B7C1-7B03A0000000
18 HP-UX service E2A1E728-32E3-11D6-A682-7B03A0000000
19 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
20 Linux filesystem 0FC63DAF-8483-4772-8E79-3D69D8477DE4
21 Linux server data 3B8F8425-20E0-4F3B-907F-1A25A76F98E8
22 Linux root (x86) 44479540-F297-41B2-9AF7-D131D5F0458A
23 Linux root (x86-64) 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
24 Linux root (Alpha) 6523F8AE-3EB1-4E2A-A05A-18B695AE656F
25 Linux root (ARC) D27F46ED-2919-4CB8-BD25-9531F3C16534
26 Linux root (ARM) 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3
27 Linux root (ARM-64) B921B045-1DF0-41C3-AF44-4C6F280D3FAE
28 Linux root (IA-64) 993D8D3D-F80E-4225-855A-9DAF8ED7EA97
29 Linux root (LoongArch-64) 77055800-792C-4F94-B39A-98C91B762BB6
30 Linux root (MIPS-32 LE) 37C58C8A-D913-4156-A25F-48B1B64E07F0
31 Linux root (MIPS-64 LE) 700BDA43-7A34-4507-B179-EEB93D7A7CA3
32 Linux root (HPPA/PARISC) 1AACDB3B-5444-4138-BD9E-E5C2239B2346
33 Linux root (PPC) 1DE3F1EF-FA98-47B5-8DCD-4A860A654D78
34 Linux root (PPC64) 912ADE1D-A839-4913-8964-A10EEE08FBD2
35 Linux root (PPC64LE) C31C45E6-3F39-412E-80FB-4809C4980599
36 Linux root (RISC-V-32) 60D5A7FE-8E7D-435C-B714-3DD8162144E1
37 Linux root (RISC-V-64) 72EC70A6-CF74-40E6-BD49-4BDA08E8F224
38 Linux root (S390) 08A7ACEA-624C-4A20-91E8-6E0FA67D23F9
39 Linux root (S390X) 5EEAD9A9-FE09-4A1E-A1D7-520D00531306
40 Linux root (TILE-Gx) C50CDD70-3862-4CC3-90E1-809A8C93EE2C
41 Linux reserved 8DA63339-0007-60C0-C436-083AC8230908
42 Linux home 933AC7E1-2EB4-4F13-B844-0E14E2AEF915
43 Linux RAID A19D880F-05FC-4D3B-A006-743F0F84911E
44 Linux LVM E6D6D379-F507-44C2-A23C-238F2A3DF928
45 Linux variable data 4D21B016-B534-45C2-A9FB-5C16E091FD2D
46 Linux temporary data 7EC6F557-3BC5-4ACA-B293-16EF5DF639D1
47 Linux /usr (x86) 75250D76-8CC6-458E-BD66-BD47CC81A812
48 Linux /usr (x86-64) 8484680C-9521-48C6-9C11-B0720656F69E
49 Linux /usr (Alpha) E18CF08C-33EC-4C0D-8246-C6C6FB3DA024
50 Linux /usr (ARC) 7978A683-6316-4922-BBEE-38BFF5A2FECC
51 Linux /usr (ARM) 7D0359A3-02B3-4F0A-865C-654403E70625
52 Linux /usr (ARM-64) B0E01050-EE5F-4390-949A-9101B17104E9
53 Linux /usr (IA-64) 4301D2A6-4E3B-4B2A-BB94-9E0B2C4225EA
54 Linux /usr (LoongArch-64) E611C702-575C-4CBE-9A46-434FA0BF7E3F
55 Linux /usr (MIPS-32 LE) 0F4868E9-9952-4706-979F-3ED3A473E947
56 Linux /usr (MIPS-64 LE) C97C1F32-BA06-40B4-9F22-236061B08AA8
57 Linux /usr (HPPA/PARISC) DC4A4480-6917-4262-A4EC-DB9384949F25
58 Linux /usr (PPC) 7D14FEC5-CC71-415D-9D6C-06BF0B3C3EAF
59 Linux /usr (PPC64) 2C9739E2-F068-46B3-9FD0-01C5A9AFBCCA
60 Linux /usr (PPC64LE) 15BB03AF-77E7-4D4A-B12B-C0D084F7491C
61 Linux /usr (RISC-V-32) B933FB22-5C3F-4F91-AF90-E2BB0FA50702
62 Linux /usr (RISC-V-64) BEAEC34B-8442-439B-A40B-984381ED097D
63 Linux /usr (S390) CD0F869B-D0FB-4CA0-B141-9EA87CC78D66
64 Linux /usr (S390X) 8A4F5770-50AA-4ED3-874A-99B710DB6FEA
65 Linux /usr (TILE-Gx) 55497029-C7C1-44CC-AA39-815ED1558630
66 Linux root verity (x86) D13C5D3B-B5D1-422A-B29F-9454FDC89D76
67 Linux root verity (x86-64) 2C7357ED-EBD2-46D9-AEC1-23D437EC2BF5
68 Linux root verity (Alpha) FC56D9E9-E6E5-4C06-BE32-E74407CE09A5
69 Linux root verity (ARC) 24B2D975-0F97-4521-AFA1-CD531E421B8D
70 Linux root verity (ARM) 7386CDF2-203C-47A9-A498-F2ECCE45A2D6
71 Linux root verity (ARM-64) DF3300CE-D69F-4C92-978C-9BFB0F38D820
72 Linux root verity (IA-64) 86ED10D5-B607-45BB-8957-D350F23D0571
73 Linux root verity (LoongArch-64) F3393B22-E9AF-4613-A948-9D3BFBD0C535
74 Linux root verity (MIPS-32 LE) D7D150D2-2A04-4A33-8F12-16651205FF7B
75 Linux root verity (MIPS-64 LE) 16B417F8-3E06-4F57-8DD2-9B5232F41AA6
76 Linux root verity (HPPA/PARISC) D212A430-FBC5-49F9-A983-A7FEEF2B8D0E
77 Linux root verity (PPC) 98CFE649-1588-46DC-B2F0-ADD147424925
78 Linux root verity (PPC64) 9225A9A3-3C19-4D89-B4F6-EEFF88F17631
79 Linux root verity (PPC64LE) 906BD944-4589-4AAE-A4E4-DD983917446A
80 Linux root verity (RISC-V-32) AE0253BE-1167-4007-AC68-43926C14C5DE
81 Linux root verity (RISC-V-64) B6ED5582-440B-4209-B8DA-5FF7C419EA3D
82 Linux root verity (S390) 7AC63B47-B25C-463B-8DF8-B4A94E6C90E1
83 Linux root verity (S390X) B325BFBE-C7BE-4AB8-8357-139E652D2F6B
84 Linux root verity (TILE-Gx) 966061EC-28E4-4B2E-B4A5-1F0A825A1D84
85 Linux /usr verity (x86) 8F461B0D-14EE-4E81-9AA9-049B6FB97ABD
86 Linux /usr verity (x86-64) 77FF5F63-E7B6-4633-ACF4-1565B864C0E6
87 Linux /usr verity (Alpha) 8CCE0D25-C0D0-4A44-BD87-46331BF1DF67
88 Linux /usr verity (ARC) FCA0598C-D880-4591-8C16-4EDA05C7347C
89 Linux /usr verity (ARM) C215D751-7BCD-4649-BE90-6627490A4C05
90 Linux /usr verity (ARM-64) 6E11A4E7-FBCA-4DED-B9E9-E1A512BB664E
91 Linux /usr verity (IA-64) 6A491E03-3BE7-4545-8E38-83320E0EA880
92 Linux /usr verity (LoongArch-64) F46B2C26-59AE-48F0-9106-C50ED47F673D
93 Linux /usr verity (MIPS-32 LE) 46B98D8D-B55C-4E8F-AAB3-37FCA7F80752
94 Linux /usr verity (MIPS-64 LE) 3C3D61FE-B5F3-414D-BB71-8739A694A4EF
95 Linux /usr verity (HPPA/PARISC) 5843D618-EC37-48D7-9F12-CEA8E08768B2
96 Linux /usr verity (PPC) DF765D00-270E-49E5-BC75-F47BB2118B09
97 Linux /usr verity (PPC64) BDB528A5-A259-475F-A87D-DA53FA736A07
98 Linux /usr verity (PPC64LE) EE2B9983-21E8-4153-86D9-B6901A54D1CE
99 Linux /usr verity (RISC-V-32) CB1EE4E3-8CD0-4136-A0A4-AA61A32E8730
100 Linux /usr verity (RISC-V-64) 8F1056BE-9B05-47C4-81D6-BE53128E5B54
101 Linux /usr verity (S390) B663C618-E7BC-4D6D-90AA-11B756BB1797
102 Linux /usr verity (S390X) 31741CC4-1A2A-4111-A581-E00B447D2D06
103 Linux /usr verity (TILE-Gx) 2FB4BF56-07FA-42DA-8132-6B139F2026AE
104 Linux root verity sign. (x86) 5996FC05-109C-48DE-808B-23FA0830B676
105 Linux root verity sign. (x86-64) 41092B05-9FC8-4523-994F-2DEF0408B176
106 Linux root verity sign. (Alpha) D46495B7-A053-414F-80F7-700C99921EF8
107 Linux root verity sign. (ARC) 143A70BA-CBD3-4F06-919F-6C05683A78BC
108 Linux root verity sign. (ARM) 42B0455F-EB11-491D-98D3-56145BA9D037
109 Linux root verity sign. (ARM-64) 6DB69DE6-29F4-4758-A7A5-962190F00CE3
110 Linux root verity sign. (IA-64) E98B36EE-32BA-4882-9B12-0CE14655F46A
111 Linux root verity sign. (LoongArch-64) 5AFB67EB-ECC8-4F85-AE8E-AC1E7C50E7D0
112 Linux root verity sign. (MIPS-32 LE) C919CC1F-4456-4EFF-918C-F75E94525CA5
113 Linux root verity sign. (MIPS-64 LE) 904E58EF-5C65-4A31-9C57-6AF5FC7C5DE7
114 Linux root verity sign. (HPPA/PARISC) 15DE6170-65D3-431C-916E-B0DCD8393F25
115 Linux root verity sign. (PPC) 1B31B5AA-ADD9-463A-B2ED-BD467FC857E7
116 Linux root verity sign. (PPC64) F5E2C20C-45B2-4FFA-BCE9-2A60737E1AAF
117 Linux root verity sign. (PPC64LE) D4A236E7-E873-4C07-BF1D-BF6CF7F1C3C6
118 Linux root verity sign. (RISC-V-32) 3A112A75-8729-4380-B4CF-764D79934448
119 Linux root verity sign. (RISC-V-64) EFE0F087-EA8D-4469-821A-4C2A96A8386A
120 Linux root verity sign. (S390) 3482388E-4254-435A-A241-766A065F9960
121 Linux root verity sign. (S390X) C80187A5-73A3-491A-901A-017C3FA953E9
122 Linux root verity sign. (TILE-Gx) B3671439-97B0-4A53-90F7-2D5A8F3AD47B
123 Linux /usr verity sign. (x86) 974A71C0-DE41-43C3-BE5D-5C5CCD1AD2C0
124 Linux /usr verity sign. (x86-64) E7BB33FB-06CF-4E81-8273-E543B413E2E2
125 Linux /usr verity sign. (Alpha) 5C6E1C76-076A-457A-A0FE-F3B4CD21CE6E
126 Linux /usr verity sign. (ARC) 94F9A9A1-9971-427A-A400-50CB297F0F35
127 Linux /usr verity sign. (ARM) D7FF812F-37D1-4902-A810-D76BA57B975A
128 Linux /usr verity sign. (ARM-64) C23CE4FF-44BD-4B00-B2D4-B41B3419E02A
129 Linux /usr verity sign. (IA-64) 8DE58BC2-2A43-460D-B14E-A76E4A17B47F
130 Linux /usr verity sign. (LoongArch-64) B024F315-D330-444C-8461-44BBDE524E99
131 Linux /usr verity sign. (MIPS-32 LE) 3E23CA0B-A4BC-4B4E-8087-5AB6A26AA8A9
132 Linux /usr verity sign. (MIPS-64 LE) F2C2C7EE-ADCC-4351-B5C6-EE9816B66E16
133 Linux /usr verity sign. (HPPA/PARISC) 450DD7D1-3224-45EC-9CF2-A43A346D71EE
134 Linux /usr verity sign. (PPC) 7007891D-D371-4A80-86A4-5CB875B9302E
135 Linux /usr verity sign. (PPC64) 0B888863-D7F8-4D9E-9766-239FCE4D58AF
136 Linux /usr verity sign. (PPC64LE) C8BFBD1E-268E-4521-8BBA-BF314C399557
137 Linux /usr verity sign. (RISC-V-32) C3836A13-3137-45BA-B583-B16C50FE5EB4
138 Linux /usr verity sign. (RISC-V-64) D2F9000A-7A18-453F-B5CD-4D32F77A7B32
139 Linux /usr verity sign. (S390) 17440E4F-A8D0-467F-A46E-3912AE6EF2C5
140 Linux /usr verity sign. (S390X) 3F324816-667B-46AE-86EE-9B0C0C6C11B4
141 Linux /usr verity sign. (TILE-Gx) 4EDE75E2-6CCC-4CC8-B9C7-70334B087510
142 Linux extended boot BC13C2FF-59E6-4262-A352-B275FD6F7172
143 Linux user's home 773f91ef-66d4-49b5-bd83-d683bf40ad16
144 FreeBSD data 516E7CB4-6ECF-11D6-8FF8-00022D09712B
145 FreeBSD boot 83BD6B9D-7F41-11DC-BE0B-001560B84F0F
146 FreeBSD swap 516E7CB5-6ECF-11D6-8FF8-00022D09712B
147 FreeBSD UFS 516E7CB6-6ECF-11D6-8FF8-00022D09712B
148 FreeBSD ZFS 516E7CBA-6ECF-11D6-8FF8-00022D09712B
149 FreeBSD Vinum 516E7CB8-6ECF-11D6-8FF8-00022D09712B
150 Apple HFS/HFS+ 48465300-0000-11AA-AA11-00306543ECAC
151 Apple APFS 7C3457EF-0000-11AA-AA11-00306543ECAC
152 Apple UFS 55465300-0000-11AA-AA11-00306543ECAC
153 Apple RAID 52414944-0000-11AA-AA11-00306543ECAC
154 Apple RAID offline 52414944-5F4F-11AA-AA11-00306543ECAC
155 Apple boot 426F6F74-0000-11AA-AA11-00306543ECAC
156 Apple label 4C616265-6C00-11AA-AA11-00306543ECAC
157 Apple TV recovery 5265636F-7665-11AA-AA11-00306543ECAC
158 Apple Core storage 53746F72-6167-11AA-AA11-00306543ECAC
159 Apple Silicon boot 69646961-6700-11AA-AA11-00306543ECAC
160 Apple Silicon recovery 52637672-7900-11AA-AA11-00306543ECAC
161 Solaris boot 6A82CB45-1DD2-11B2-99A6-080020736631
162 Solaris root 6A85CF4D-1DD2-11B2-99A6-080020736631
163 Solaris /usr & Apple ZFS 6A898CC3-1DD2-11B2-99A6-080020736631
164 Solaris swap 6A87C46F-1DD2-11B2-99A6-080020736631
165 Solaris backup 6A8B642B-1DD2-11B2-99A6-080020736631
166 Solaris /var 6A8EF2E9-1DD2-11B2-99A6-080020736631
167 Solaris /home 6A90BA39-1DD2-11B2-99A6-080020736631
168 Solaris alternate sector 6A9283A5-1DD2-11B2-99A6-080020736631
169 Solaris reserved 1 6A945A3B-1DD2-11B2-99A6-080020736631
170 Solaris reserved 2 6A9630D1-1DD2-11B2-99A6-080020736631
171 Solaris reserved 3 6A980767-1DD2-11B2-99A6-080020736631
172 Solaris reserved 4 6A96237F-1DD2-11B2-99A6-080020736631
173 Solaris reserved 5 6A8D2AC7-1DD2-11B2-99A6-080020736631
174 NetBSD swap 49F48D32-B10E-11DC-B99B-0019D1879648
175 NetBSD FFS 49F48D5A-B10E-11DC-B99B-0019D1879648
176 NetBSD LFS 49F48D82-B10E-11DC-B99B-0019D1879648
177 NetBSD concatenated 2DB519C4-B10F-11DC-B99B-0019D1879648
178 NetBSD encrypted 2DB519EC-B10F-11DC-B99B-0019D1879648
179 NetBSD RAID 49F48DAA-B10E-11DC-B99B-0019D1879648
180 ChromeOS kernel FE3A2A5D-4F32-41A7-B725-ACCC3285A309
181 ChromeOS root fs 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC
182 ChromeOS reserved 2E0A753D-9E48-43B0-8337-B15192CB1B5E
183 ChromeOS firmware CAB6E88E-ABF3-4102-A07A-D4BB9BE3C1D3
184 ChromeOS miniOS 09845860-705F-4BB5-B16C-8A8A099CAF52
185 ChromeOS hibernate 3F0F8318-F146-4E6B-8222-C28C8F02E0D5
186 MidnightBSD data 85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7
187 MidnightBSD boot 85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7
188 MidnightBSD swap 85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7
189 MidnightBSD UFS 0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7
190 MidnightBSD ZFS 85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7
191 MidnightBSD Vinum 85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7
192 Ceph Journal 45B0969E-9B03-4F30-B4C6-B4B80CEFF106
193 Ceph Encrypted Journal 45B0969E-9B03-4F30-B4C6-5EC00CEFF106
194 Ceph OSD 4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D
195 Ceph crypt OSD 4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D
196 Ceph disk in creation 89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE
197 Ceph crypt disk in creation 89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE
198 VMware VMFS AA31E02A-400F-11DB-9590-000C2911D1B8
199 VMware Diagnostic 9D275380-40AD-11DB-BF97-000C2911D1B8
200 VMware Virtual SAN 381CFCCC-7288-11E0-92EE-000C2911D0B2
201 VMware Virsto 77719A0C-A4A0-11E3-A47E-000C29745A24
202 VMware Reserved 9198EFFC-31C0-11DB-8F78-000C2911D1B8
203 OpenBSD data 824CC7A0-36A8-11E3-890A-952519AD3F61
204 QNX6 file system CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1
205 Plan 9 partition C91818F9-8025-47AF-89D2-F030D7000C2C
206 HiFive FSBL 5B193300-FC78-40CD-8002-E86C45580B47
207 HiFive BBL 2E54B353-1271-4842-806F-E436D6AF6985
208 Haiku BFS 42465331-3BA3-10F1-802A-4861696B7521
209 Marvell Armada 3700 Boot partition 6828311A-BA55-42A4-BCDE-A89BB5EDECAE
210 DragonFlyBSD Label32 9D087404-1CA5-11DC-8817-01301BB8A9F5
211 DragonFlyBSD Swap 9D58FDBD-1CA5-11DC-8817-01301BB8A9F5
212 DragonFlyBSD UFS1 9D94CE7C-1CA5-11DC-8817-01301BB8A9F5
213 DragonFlyBSD Vinum 9DD4478F-1CA5-11DC-8817-01301BB8A9F5
214 DragonFlyBSD CCD DBD5211B-1CA5-11DC-8817-01301BB8A9F5
215 DragonFlyBSD Label64 3D48CE54-1D16-11DC-8696-01301BB8A9F5
216 DragonFlyBSD Legacy BD215AB2-1D16-11DC-8696-01301BB8A9F5
217 DragonFlyBSD HAMMER 61DC63AC-6E38-11DC-8513-01301BB8A9F5
218 DragonFlyBSD HAMMER2 5CBB9AD1-862D-11DC-A94D-01301BB8A9F5
219 U-Boot environment 3DE21764-95BD-54BD-A5C3-4ABE786F38A8
Aliases:
linux - 0FC63DAF-8483-4772-8E79-3D69D8477DE4
swap - 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
home - 933AC7E1-2EB4-4F13-B844-0E14E2AEF915
uefi - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
raid - A19D880F-05FC-4D3B-A006-743F0F84911E
lvm - E6D6D379-F507-44C2-A23C-238F2A3DF928
xbootldr - BC13C2FF-59E6-4262-A352-B275FD6F7172
To wyświetli pełną listę możliwości wyboru partycji. Ciebie interesuje po prostu "1", więc wciśnij "1".
Musimy jeszcze ustawić drugą partycję jako SWAP, więc znów naciskamy "t":
Command (m for help): t
Partition number (1-4, default 4): 2 color="#55FFAA"># Tym razem chcesz zmienić drugą partycję, więc wybierasz "2".
Partition type or alias (type L to list all): color="#55FFAA"># SWAP jest pod numerem "19".
### Teraz jeśli naciśniesz "p" powinno się pojawić coś takiego:
Command (m for help): p
Disk gentoo.img: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 9A221982-9B7C-4550-A634-E6130CF3DA66
Device Start End Sectors Size Type
gentoo.img1 2048 2099199 2097152 1G EFI System
gentoo.img2 2099200 18876415 16777216 8G Linux swap
gentoo.img3 18876416 102762495 83886080 40G Linux filesystem
gentoo.img4 102762496 104855551 2093056 1022M Linux filesystem
Command (m for help):
### To znaczy, że wszystko jest w porządku, naciskasz "w" (zapisz) a potem "q" (quit)
Możesz sobie teraz wpisać zaklęcie:
fdisk -l
Device Start End Sectors Size Type
/dev/sda1 2048 2099199 2097152 1G EFI System
/dev/sda2 2099200 18876415 16777216 8G Linux swap
/dev/sda3 18876416 102762495 83886080 40G Linux filesystem
/dev/sda4 102762496 104855551 2093056 1022M Linux filesystem
Masz założone partycje, ale jeszcze trzeba je sformatować (założyć na nich jakiś filesystem). To trochę jak wybór "w jakim języku" trzymać dane na dysku.
| Filesystem | Opis |
|---|---|
| ext2 | Brak journalingu, nadal używany w systemach wbudowanych. |
| ext3 | Dodaje journaling dla większej niezawodności. |
| ext4 | Domyślny system plików w większości dystrybucji. |
| XFS | Wysokowydajny system od SGI. |
| Btrfs | Nowoczesny system z migawkami i samonaprawą danych. |
| Filesystem | System operacyjny | Opis |
|---|---|---|
| NTFS | Windows | Obsługa odczytu/zapisu dzięki ntfs-3g. |
| exFAT | Windows/macOS | Obsługuje duże pliki, wspierany natywnie w kernelu. |
| HFS+ | macOS | Obsługa odczytu, zapis wymaga dodatkowych sterowników. |
| Filesystem | Opis |
|---|---|
| NFS | Standardowy protokół sieciowy UNIX/Linux. |
| CIFS/SMB | System plików Windows (Samba). |
| SSHFS | Montaż katalogów przez SSH. |
| Filesystem | Opis |
|---|---|
| tmpfs | System plików w RAM. |
| procfs | System plików `/proc`, przechowujący informacje o procesach. |
| sysfs | System `/sys` używany do zarządzania sprzętem. |
Można to porównać do przygotowania czystego zeszytu – najpierw rysujesz linie, kolumny czy kratkę, aby potem móc w nim pisać czy rysować.
Przykład formatowania partycji w systemie Linux z użyciem systemu plików ext4:
sudo mkfs.ext4 /dev/vda1
Tutaj:
/dev/sda1 – już wiesz, że to oznacza pierwszą partycję na dysku /dev/sda.mkfs.ext4 – polecenie, które tworzy system plików ext4 na tej partycji.Formatowanie jest bardzo ważne, ponieważ:
Formatowanie usuwa wszystkie dane zapisane na partycji, dlatego przed rozpoczęciem należy upewnić się, że nie stracisz ważnych informacji!
### Zakładając, że Twój dysk jest spartycjonowany tak jak w powyższym przykładzie, to formatowanie Twoich partycji powinno wyglądać mniej więcej tak:
mkfs.vfat /dev/sda1 # Załóż FAT32 na pierwszej partycji.
mkswap /dev/sda2 # Załóż SWAP na drugiej partycji.
mkfs.ext4 /dev/sda3 # Załóż ext4 na trzeciej partycji.
mkfs.ext4 /dev/sda4 # Załóż ext4 na czwartej partycji.
Po utworzeniu i sformatowaniu partycji możemy w końcu "zamontować" partycje w systemie. I tutaj zaczyna się w końcu poważniejsza zabawa z Linuksem, gdzie można docenić zalety i elastyczność tego systemu.
Pamiętacie, mam nadzieję drzewo systemowe:
/
|-/boot
|-/dev
|-/etc
|-/home
|-/lib
|-/mnt
|-/opt
|-/proc
|-/root
|-/sys
|-/tmp
|-/usr
|-/var
Tak (miej więcej) wygląda drzewo systemu, który działa w Twojej maszynie wirtualnej lub masz uruchomiony bezpośrednio na laptopie.
sudo mount -t ntfs-3g /dev/sdb1 /mnt/windows # Montowanie dysku Windows
sudo mount -t exfat /dev/sdb1 /mnt/usb # Montowanie dysku exfat - zazwyczaj dyski USB o dużej pojemności
sudo mount -t vfat /dev/sdb1 /mnt/usb # Montowanie dysku vfat - zazwyczaj pendrajwy
sudo mount -t ext4 /dev/sdb1 /mnt/dysk # Montowanie dysku ext4 - zazwyczaj dyski Linuksowe
sudo mount -t cifs -o username=user,password=pass,uid=1000,gid=1000,vers=3.0 //192.168.1.150/shared /mnt/smb # Montowanie zasobu sieciowego Windows share
sudo sshfs user@192.168.1.200:/home/user/remote /mnt/sshfs # Montowanie zasobu sieciowego przez protokół SSH
sudo mount -t afp afp://user:password@192.168.1.50/share /mnt/afp # Montowanie zasobu sieciowego Apple
sudo mount -t nfs -o soft,timeo=10,retrans=2 192.168.1.100:/nfs/share /mnt/nfs # Montowanie zasobu sieciowego NFS
sudo mount -t davfs https://example.com/webdav /mnt/webdav # Montowanie zasobu sieciowego https
W każdym z tych przypadków, jako użytkownik, nie będzie dla Ciebie różnicy czy pracujesz na dysku lokalnym czy sieciowym (pomijając opóźnienia sieci). Przepływem danych zajmuje się jądro Linuksa i protokoły obsługujące punkty montowania.mkdir /mnt/gentoo # Utwórz folder w którym zamontujesz partycję root (/) nowego systemu.
sudo mount /dev/sda3 /mnt/gentoo # Nie musisz precyzować filesystemu. Zaklęcie mount znajdzie go samo.
Po rzuceniu takiego zaklęcia Twoje drzewo wygląda teraz tak:
/
|-/boot
|-/dev
|-/etc
|-/home
|-/lib
|-/mnt
| |-gentoo (/dev/sda3) # zawartość katalogu /mnt/gentoos jest teraz na partycji /dev/sda3
|-/opt
|-/proc
|-/root
|-/sys
|-/tmp
|-/usr
|-/var
Od tej pory wszystko co zapiszesz w katalogu /mnt/gentoo zostanie zapisane pa partycji /dev/sda3.mkdir /mnt/gentoo/boot # tworzy katalog boot zapisany na partycji /dev/sda3
mkdir /mnt/gentoo/home # tworzy katalog home zapisany na partycji /dev/sda3
Teraz zamontuj pozostałe dwie partycje w odpowiednich miejscach:
sudo mount /dev/sda1 /mnt/gentoo/boot # Partycja na pliki startowe i bootloader.
sudo mount /dev/sda4 /mnt/gentoo/home # Partycja na katalogi domowe użytkowników.
A teraz twoje drzewo wygląda mniej więcej tak:
/
|-/boot
|-/dev
|-/etc
|-/home
|-/lib
|-/mnt
| |-gentoo(/dev/sda3) # partycja root (/) nowego systemu
| |-/boot (/dev/sda1) # partycja /boot nowego systemu
| |-/home (/dev/sda4) # partycja /home nowego systemu
|-/opt
|-/proc
|-/root
|-/sys
|-/tmp
|-/usr
|-/var
Została nam jeszcze jedna utworzona partycja - SWAP. To jest partycja zwiększająca pamięć RAM. W dzisiejszych czasach partycja SWAP nie jest już tak bardzo istotna, chociaż przy kompilacji dużych pakietów (LibreOffice lub Firefox) dobrze jest mieć dodatkową pamięć. Ta partycja jest "niemontowalna" tak jak inne. Ją się po prostu włącza:
swapon /dev/sda2
Możesz sprawdzić czy wszystko masz uczynione poprawnie:
df -h # Wyświetla punkty montowania i dostępne miejsce.
free # Wyświetla ilość wolnej pamięci.
W tym momencie jesteśmy przygotowani do pobrania i rozpakowania podstawowego systemu Genoto. Gentoo instaluje się z tzw. Stage'ów.
ip link # Wyświetla interfejsy sieciowe. Znajdź interfejs WiFi, najprawdopodobniej będzie to wlan0.
wpa_passphrase nazwa_sieci_wifi tajne_hasło_wifi > wpa_cupplicant.conf # Generuje plik konfiguracyjny dla wpa_supplicant a następnie wynik polecenia przekierowuje do pliku wpa_supplicant.conf
wpa_supplicant -i wlan0 -c ./wpa_supplicant.conf -B # wpa_supplicant to narzędzie do łączenia z sieciami WiFi. Parametr -i wskazuje interfejs sieciowy przez który ma się łączyć, parametr -c wskazuje plik konfiguracyjny a parametr -B każe mu działać w tle jako daemon.
dhclient wlan0 # Pobiera adres IP z serwera DHCP.
passwd # Ustaw tyczasowe hasło roota do dystrybucli Live, będzie potrzebne przy logowaniu się przez SSH.
pacman -Sy # Zaktualizuj bazę PACMANA.
pacman -S wget # Zainstaluj zaklęcie "wget"
wget https://distfiles.gentoo.org/releases/amd64/autobuilds/20250209T170331Z/stage3-amd64-openrc-20250209T170331Z.tar.xz # Pobierz stage3
cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf # Skopiuj informację o serwerach DNS do nowego systemu
pwd # Sprawdź w jakim katalogu jesteś i zapamiętaj, żeby potem podać poprawną ścieżkę do stage3

ssh -p 2222 root@127.0.0.1
W końcu mamy wszystko żeby zacząć instalację:))
cd /mnt # Przejdź do katalogu instalacji Gentoo.
tar xpvf /scieżka/do/stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner # Rozpakuj stage3 z zapamiętanej lokalizacji
mount -t proc /proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"
emerge-webrsync # Zainstaluj drzewo portage
emerge --sync # Zsynchronizuj portage
mkdir --parents /etc/portage/repos.conf # Utwórz potrzebne katalogi
cp /usr/share/portage/config/repos.conf /etc/portage/repos.conf/gentoo.conf # Skopiuj konfigurację repozytorium dostarczoną przez menedżer pakietów
ln -sf /usr/share/zoneinfo/Europe/Warsaw /etc/localtime # Ustaw strefę czasową
echo "Europe/Warsaw" > /etc/timezone # Ustaw strefę czasową
emerge --config sys-libs/timezone-data # Zainstaluj obsługę stref
nano /etc/conf.d/consolefont # Ustaw czcionkę
Wyedytuj plik /etc/locale.gen i ustaw lokalizacje (translacje systemu) jakie chcesz żeby Twój system obsługiwał:
nano /etc/locale.gen # po zakończeniu edycji naciśnij CTRL+X aby zapisać.
en_US ISO-8859-1
en_US.UTF-8 UTF-8
pl_PL ISO-8859-2
pl_PL.UTF-8 UTF-8
Ustaw lokalizację i nazwę systemu:
eselect locale list # Zobacz jakie lokalizacje obługuje Twój system
eselect locale set 9 # Ustaw lokalizację pl
nano /etc/hostname # Ustaw nazwę swojego komputera
nano /etc/conf.d/hostname # Ustaw nazwę swojego komputera
Skonfiguruj fstabnano /etc/fstab # po zakończeniu edycji naciśnij CTRL+X aby zapisać.
/dev/sda1 /boot ext4 defaults 0 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext4 noatime 0 1
/dev/sda4 /home ext4 noatime 0 0
Co dokładnie jest w tym pliku?blkid
/dev/sr0: BLOCK_SIZE="2048" UUID="2025-01-01-08-45-10-00" LABEL="ARCH_202501" TYPE="iso9660" PTUUID="d736165e" PTTYPE="dos"
/dev/loop0: BLOCK_SIZE="1048576" TYPE="squashfs"
/dev/sda4: UUID="30c8dd64-4b36-451b-8ae0-ea6f8a04ef89" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="b1558afd-dde2-4c40-9eb5-f47f03783077"
/dev/sda2: UUID="052bcabe-5398-4e8d-8e0c-45f6eb7c50bc" TYPE="swap" PARTUUID="5cd0cf02-343a-4bbc-8736-7638dd50d366"
/dev/sda3: UUID="6d9c3051-3f22-41e4-8d16-29158a10c63b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8891623c-8bf6-4c3c-82b6-4b3b73de51d1"
/dev/sda1: UUID="8ACA-C16F" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="6fc7a363-658c-4a02-86c6-7963ca73abf6"
Możesz wykorzystać je do utworzenia fstab, co jest lepszym rozpakowaniem niż stosowanie nazw urządzeń, ponieważ urządzenia nie zawsze są "budzone"w tej samej kolejności, więc np. dysk sdb nie zawsze musi byc dyskiem sdb.nano /etc/fstab # po zakończeniu edycji naciśnij CTRL+X aby zapisać.
UUID=8ACA-C16F /boot ext4 defaults 0 2
UUID=052bcabe-5398-4e8d-8e0c-45f6eb7c50bc none swap sw 0 0
UUID=6d9c3051-3f22-41e4-8d16-29158a10c63b / ext4 noatime 0 1
UUID=30c8dd64-4b36-451b-8ae0-ea6f8a04ef89 /home ext4 noatime 0 0
Ustaw hasło dla root:
nano /etc/fstab # Ustaw solidne hasło dla konta root
Dodaj użytkownika:
useradd -m -G wheel,users,audio,video,floppy,disk,cdrom,cdrw,usb -s /bin/bash tomek # Dodaj użytkownika
Wyjaśnienie:passwd tomek # Utwórz Tomkowi hasło
make.conf dla Intel i7-1185G7
# ===================================================================
# 🛠️ Podstawowe ustawienia
# ===================================================================
COMMON_FLAGS="-march=tigerlake -O2 -pipe -fomit-frame-pointer"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# ===================================================================
# ⚡ Optymalizacja kompilacji
# ===================================================================
MAKEOPTS="-j9" # Liczba wątków kompilacji (ilość rdzeni + 1)
EMERGE_DEFAULT_OPTS="--jobs=8 --load-average=6.0" # Dostosowanie do wydajności
# ===================================================================
# 🚀 Flagi USE
# ===================================================================
USE="X wayland vulkan opengl sse sse2 sse3 ssse3 sse4_1 sse4_2 avx avx2 avx512 \
mmx mmxext fma3 f16c aes alsa pulseaudio udev networkmanager pipewire"
# ===================================================================
# 🌍 Lokalizacja systemu
# ===================================================================
LINGUAS="pl en"
LC_MESSAGES="C"
LANG="pl_PL.UTF-8"
LC_ALL="pl_PL.UTF-8"
L10N="pl en"
# ===================================================================
# 💾 System plików pakietów binarnych
# ===================================================================
FEATURES="buildpkg parallel-fetch parallel-install"
# ===================================================================
# 🏗️ Profile systemowy i obsługiwane architektury
# ===================================================================
CHOST="x86_64-pc-linux-gnu"
ACCEPT_KEYWORDS="~amd64" # Używanie wersji testowej Gentoo (opcjonalnie)
# ===================================================================
# 🎮 Konfiguracja kart graficznych (GPU)
# ===================================================================
VIDEO_CARDS="intel iris i965"
# ===================================================================
# ⌨️ Konfiguracja urządzeń wejściowych (Input Devices)
# ===================================================================
INPUT_DEVICES="libinput synaptics evdev"
# ===================================================================
# 🌍 Lustrzane serwery dla Gentoo
# ===================================================================
GENTOO_MIRRORS="http://ftp.vectranet.pl/gentoo/ http://gentoo.prz.rzeszow.pl/"
# ===================================================================
# 📦 Obsługa binarnych pakietów (np. LibreOffice-bin)
# ===================================================================
BINPKG_COMPRESS="zstd"
# ===================================================================
# 🛠️ Flagi dla LLVM i Clang
# ===================================================================
LLVM_TARGETS="X86"
CLANG_TARGETS="X86"
# ===================================================================
# 🔧 Konfiguracja binarnych sterowników dla sprzętu
# ===================================================================
ACCEPT_LICENSE="*"
Jeśli korzystasz z **Gentoo na laptopie**, dodaj:
USE="${USE} laptop battery acpi"
oraz włącz **TLP dla oszczędzania energii**:
sudo emerge -av tlp
sudo rc-update add tlp default
Ten make.conf jest zoptymalizowany dla procesora **Intel i7-1185G7**, **lokalizacji PL**, **kart graficznych** oraz **urządzeń wejściowych**.
emerge ufed gentoo-kernel-bin gentoo-sources
Następnie rzuć zaklęcie, które zainstaluje podstawowe pakiety, które ułatwią Ci dalszą pracę:
emerge -pv app-misc/mc dhcpcd egl-x11 firefox-bin grub linux-firmware mesa networkmanager net-tools pciutils sddm usbutils udev wpa_supplicant wireless-tools x11-wm/blackbox xorg-server xf86-input-libinput xf86-input-synaptics xf86-video-intel
Powyższe zaklęcie zrobi coś, w czym Gentoo jest najlepsze ze wszystkich dystrybucji - wyliczny i zainstaluje wszystkie potrzebne zależności. Nie musisz szukać w Internecie potrzebnych instalek i dodatkowych bibliotek, emerge zrobi wszystko za Ciebie. Wyświetli też jakich flag USE musisz użyć w swoim make.conf jeśli jakichś brakuje. Pomocnym do tego jest programik "ufed", który już macie zainstalowany.emerge app-misc/mc dhcpcd egl-x11 firefox-bin grub linux-firmware mesa networkmanager net-tools pciutils sddm usbutils udev wpa_supplicant wireless-tools x11-wm/blackbox xorg-server xf86-input-libinput xf86-input-synaptics xf86-video-intel
Opis najważniejszych pakietów z polecenia powyżej:
| 📌 Pakiet | 📝 Opis |
|---|---|
| app-misc/mc | Midnight Commander – menedżer plików w terminalu. |
| dhcpcd | Klient DHCP, automatycznie przydziela adres IP. |
| egl-x11 | Biblioteki EGL dla obsługi OpenGL w X11. |
| firefox-bin | Binarny Firefox, szybka instalacja przeglądarki. |
| gentoo-kernel-bin | Gotowy, skompilowany kernel Gentoo, szybka instalacja. |
| gentoo-sources | Źródła kernela Gentoo do własnej konfiguracji i kompilacji. |
| grub | Bootloader do uruchamiania systemów operacyjnych. |
| linux-firmware | Zestaw sterowników dla sprzętu (Wi-Fi, GPU, CPU, Bluetooth). |
| mesa | Implementacja OpenGL dla sprzętu graficznego. |
| networkmanager | Zaawansowany menedżer sieci, automatyzuje połączenia. |
| net-tools | Klasyczne narzędzia sieciowe (ifconfig, netstat, route). |
| pciutils | Pakiet narzędzi do obsługi urządzeń PCI (`lspci`). |
| sddm | Menadżer logowania |
| usbutils | Zestaw narzędzi do obsługi urządzeń USB (`lsusb`). |
| udev | Dynamiczna obsługa urządzeń w systemie Linux. |
| wpa_supplicant | Narzędzie do obsługi połączeń Wi-Fi (WPA/WPA2/Enterprise). |
| wireless-tools | Narzędzia do konfiguracji połączeń Wi-Fi w terminalu. |
| x11-wm/blackbox | Lekki menedżer okien dla X11. |
| xorg-server | Serwer X11, umożliwia obsługę interfejsu graficznego. |
| xf86-input-libinput | Sterownik wejścia dla myszy, klawiatur i touchpadów. |
| xf86-input-synaptics | Alternatywny sterownik dla touchpadów Synaptics. |
| xf86-video-intel | Sterownik dla kart graficznych Intel w X11. |
Wybierz odpowiedni kernel dla swojego systemu w zależności od potrzeb:
| 🔹 Kernel | ⚡ Zalety | 🎯 Dla kogo? | 📦 Instalacja |
|---|---|---|---|
| gentoo-kernel-bin (Binarny) | ✅ Szybka instalacja ✅ Automatyczne aktualizacje ✅ Gotowy do użycia |
🔹 Dla użytkowników, którzy chcą działającego kernela bez konfiguracji | sudo emerge -av gentoo-kernel-bin |
| gentoo-sources (Źródłowy) | ✅ Pełna kontrola ✅ Możliwość własnej optymalizacji ✅ Idealny dla zaawansowanych |
🔹 Dla użytkowników, którzy chcą dostosować kernel do swoich potrzeb | sudo emerge -av gentoo-sources |
| ck-sources (Wydajność) | ✅ Optymalizowany pod responsywność ✅ Świetny dla desktopów ✅ Patche poprawiające szybkość |
🔹 Dla graczy i użytkowników desktopowych | sudo emerge -av ck-sources |
| zen-sources (Gaming/RT) | ✅ Kernel zoptymalizowany pod niskie opóźnienia ✅ Idealny do streamingu i grania ✅ Patche BFQ, MuQSS |
🔹 Dla streamerów, graczy i twórców audio | sudo emerge -av zen-sources |
Najlepszy wybór zależy od Twoich potrzeb:
gentoo-kernel-bingentoo-sourcesck-sourceszen-sourcesUtwórz minimalny system Gentoo ze Stage3. Skonfiguruj sieć i upewnij się, że system poprawnie się uruchamia. Przygotuj raport z postępów zawierający: