Gentoo Logo

1.  Wprowadzenie do urządzeń blokowych

Urządzenia blokowe

Rzućmy okiem na aspekty Gentoo Linux oraz ogólnie Linuksa związane z dyskami. Omówimy systemy plików, partycje oraz urządzenia blokowe. Następnie opiszemy proces podziału twardego dysku tak, aby jak najlepiej wykorzystać dostępne miejsce.

Zaczniemy od omówienia urządzeń blokowych. Najpopularniejszym z nich prawdopodobnie jest /dev/sda reprezentujący w Linuksie pierwszy napęd. Napędy SATA i SCSI otrzymują nazwy z rodziny /dev/sd*. Dzięki libata, nawet stare napędy IDE są nazywane /dev/sd*. Urządzenie to dawniej nazywało się /dev/hda.

Urządzenia blokowe stanowią abstrakcyjny interfejs dysków. Programy użytkownika mogą z nich korzystać nie martwiąc się o to czy napędy są typu IDE, SCSI czy jakiegoś innego. Przechowywane dane adresuje się jako ciąg 512-bajtowych bloków.

Partycje

Teoretycznie możliwe jest przeznaczenie na system całego dysku, zazwyczaj nie jest to jednak rozwiązanie zbyt praktyczne. Zamiast tego dzielimy napęd na mniejsze, łatwiejsze w zarządzaniu urządzenia blokowe. Na większości platform nazywane są one partycjami.

1.  Projektowanie schematu podziału

Domyślny schemat podziału

Jeśli nie mamy ochoty samodzielnie rozrysowywać schematu podziału dysku, możemy skorzystać z domyślnego, z którego korzystamy w Podręczniku. Należy wybrać schemat systemu plików, który najlepiej pasuje do systemu PowerPC.

Nowy Świat Apple

Nowy Świat maszyn Apple jest w zasadzie prosty do konfiguracji. Pierwszą partycją zawsze jest Apple Partition Map. Znajduje się na niej schemat podziału dysku. Następna partycja zawsze powinna być samoładowalna (bootstrap partition). Zawiera ona mały (800kb) system plików HFS, który "trzyma" kopię bootloadera Yaboot i jego plik konfiguracyjny. Partycja ta nie jest tym samym, co partycja /boot. Po partycji rozruchowej zaczynają się typowe i systemy plików, jak widać na schemacie poniżej. Partycja wymiany jest tymczasowym miejscem przechowywania danych, kiedy system wykroczy poza swoją fizyczną pamięć. Partycja główna zawiera system plików, na którym będzie zainstalowane Gentoo. Jeśli chcemy mieć możliwość uruchomienia dwóch systemów, partycja z OSX może być umiejscowiona w każdym innym miejscu po partycji samoładowalnej, aby mieć pewność, że Yaboot uruchomi się jako pierwszy.

Uwaga: Na dysku mogą znalźć się partycje "Disk Driver", takie jak Apple_Driver63, Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit oraz Apple_Patches. Są one używane w procesie uruchamiania MacOS, więc jeśli nie nie będzie to potrzebne, można je śmiało usunąć poprzez opcję i dla programu mac-fdisk. Spowoduje to kompletne usunięcie danych z dysku, więc w razie wątpliwości lepiej pozwolić im tam być.

Uwaga: Jeśli do podziału dysku został użyty Apple Disk Utility, może się okazać, że jest 128MB przestrzeni pomiędzy partycjami, które Apple rezerwuje do "przyszłego użycia". Można je bezpiecznie usunąć.

Partycja Rozmiar System plików Opis
/dev/sda1 32k Brak Mapa Partycji Apple
/dev/sda2 800k HFS Apple Bootstrap
/dev/sda3 512Mb Swap Linuks Swap
/dev/sda4 Reszta dysku ext3, reiserfs, xfs Partycja główna

Stary Świat Apple

Stary Świat maszyn Apple jest trochę bardziej skomplikowany w konfiguracji. Pierwsza partycja zawsze jest Apple Partition Map. Zawiera ona schemat podziału dysku. Poniższa konfiguracja dla BootX uwzględnia zainstalowany MacOS na oddzielnym dysku. Będą również dodatkowe partycje dla "Apple Disk Drivers" takie jak Apple_Driver63, Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOkit, Apple_Patches oraz kopia MacOS. W przypadku używania Quick, będzie potrzeba stworzenia partycji boot, na której będzie się znajdowało jądro. Za partycją rozruchową powinien się znajdować typowy system plików, według schematu poniżej. Partycja wymiany jest tymczasowym miejscem do przechowywania danych, które wykroczyły fizyczną pamięć. Partycja główna powinna zawierać system plików, na którym zostanie zainstalowane Gentoo.

Uwaga: Jeśli w użyciu jest maszyna OldWorld, będzie potrzeba przechowania MacOS dostępnego. Poniższy schemat uwzględnia zainstalowaną kopię MacOS na oddzielnym dysku.

Partycja Rozmiar System plików Opis
/dev/sda1 32k Brak Apple Partition Map
/dev/sda2 32Mb ext2 Quick Boot Partition (tylko quick)
/dev/sda3 512Mb Swp Partycja wymiany
/dev/sda4 Reszta dysku ext3, reiserfs, xfs Główna partycja

Pegasos

IBM PowerPC Reference Platform (PReP) wymaga małej partycji PReP na pierwszym miejscu na dysku. Dopiero po niej należy zakładać partycje wymiany i danych.

Partycja Rozmiar System plików Opis
/dev/sda1 32Mb affs1 lub ext2 Partycja rozruchowa
/dev/sda2 512Mb Swap Partycja wymiany
/dev/sda3 Reszta dysku Ext3, reiserfs, xfs Partycja główna

IBM PReP (RS/6000)

IBM PowerPC Peference Platform (PReP) wymaga małej, aby na pierwszym miejscu w schemacie podziały dysku znalazła się mała partycja rozruchowa, a następnie partycja wymiany oraz partycja główna.

Partycja Rozmiar System plików Opis
/dev/sda1 800k Brak PReP Boot Partition (Typ 0x41)
/dev/sda2 512Mb Swap Partycja wymiany (Typ 0x82)
/dev/sda3 Reszta dysku ext3, reiserfs, xfs Partycja główna (Typ 0x83)

Ostrzeżenie: Program parted ma możliwość zmiany rozmiaru partycji (również HFS+). Niestety wiąże się to z dużym ryzykiem w przypadku partycji HFS+ używających księgowania, nawet jeśli zostanie ono wyłączone w Mac OS X. Wszystkie próby zmiany rozmiaru partycji przy pomocy parted to spore ryzyko, należy więc wykonać najpierw kopie zapasowe danych!

Jeśli nasze rady dotyczące rozmiarów partycji oraz ich ilości, wydaja się interesujące, proponujemy kontynuowanie lektury. W przeciwnym wypadku proponujemy przejść od razu do paragrafu Domyślnie: Użycie mac-fdisk lub Alternatywnie: Użycie parted (zwłaszcza dla Pegasosa).

Jak dużo i jak wielkich?

Ilość partycji ściśle zależy od naszego środowiska. Na przykład jeśli administrujemy systemem mającym wielu użytkowników prawdopodobnie uznamy za stosowne oddzielenie /home, co poprawi bezpieczeństwo i uprości proces tworzenia kopii zapasowych. Jeżeli docelowym zastosowaniem instalowanego systemu jest serwer pocztowy to na osobnej partycji należy umieścić /var gdzie przechowywane są listy. Dobry wybór systemu plików może tu znacznie zwiększyć wydajność. Za to oddzielenie /opt jest dobrym rozwiązaniem na serwerach gier, gdyż większość używanego oprogramowania będzie instalowana właśnie tam. Powodami przyjęcia takiego rozwiązania są również bezpieczeństwo i łatwość tworzenia kopii zapasowych. Warto upewnić się, że partycja /usr będzie wystarczająco duża ponieważ będą tam znajdowały się nie tylko dane wszystkich aplikacji, ale również ważące 500 MB drzewo Portage.

Jak widać, wiele zależy od oczekiwanego rezultatu. Wydzielenie partycji lub woluminów ma wiele zalet:

  • Mamy możliwość dostosowania jak najwydajniejszego w danym zastosowaniu systemu plików dla poszczególnych partycji lub woluminów.
  • Zapełnienie całego wolnego miejsca na partycji przez wadliwie działające narzędzie nie ma szkodliwego wpływu na całość systemu.
  • Jeśli to konieczne, można skrócić czas kontroli systemów plików, dzięki możliwości jednoczesnego dokonywania jej na kilku partycjach (ma to znaczenie zwłaszcza na sprzęcie z wieloma dyskami).
  • Montując część partycji lub woluminów z opcjami read-only (tylko do odczytu), nosuid (ignorowane są bity setuid), noexec (ignorowane są bity wykonywalności) itd. można znacznie poprawić bezpieczeństwo.

Niestety zbyt rozbudowany podział niesie z sobą spore niebezpieczeństwo: źle zaplanowany zaowocuje pustkami na zbyt dużych i ciasnotą na zbyt małych partycjach. Ponadto dla dysków opartych na interfejsach SCSI jest limit maksymalnie 15 partycji.

1.  Domyślnie: Partycjonowanie dysku za pomocą mac-fdisk (Apple)

Aby utworzyć partycje skorzystamy z programu mac-fdisk:

Listing 1.1: Uruchamianie mac-fdisk

# mac-fdisk /dev/sda

Jeśli do pozostawienia miejsca na dysku dla Linuksa było użyte narzędzie Apple Disk Utility, należy najpierw usunąć partycje stworzone wcześniej. W tym celu stosuje się opcję d w programie mac-fdisk. Aplikacja zapyta o numer partycji, którą ma usunąć. Zwykle pierwsza partycja na maszynach NewWorld (Apple_partition_map) nie może być w żaden sposób usunięta. Jeśli zamiarem jest całkowite pozbycie się danych z dysku, należy użyć opcji i. Uwaga! Tej opcji należy używać rozważnie!

Następnie (na komputerze NewWorld) założymy partycję Apple_bootstrap za pomocą b. Zostaniemy zapytani o początkowy blok. Jeśli poprzednio wybraliśmy na ten cel trzecią partycję, wpiszemy 3p.

Uwaga: To nie jest partycja "boot". Nie jest nawet używana przez Linuksa; nie potrzeba na niej miejsca do założenia systemu plików, nie powinno jej nawet montować. Użytkownicy Apple nie potrzebują osobnej partycji rozruchowej.

Teraz stworzymy partycję wymiany za pomocą c. Program mac-fdisk ponownie zapyta o blok początkowy. Jako, że wcześniej skorzystaliśmy z 2, teraz wpiszemy 3p. Gdy zostaniemy zapytani o rozmiar wpisujemy 512M (lub inny na jaki się zdecydowaliśmy - 512MB to zalecane minimum). Następnie na pytanie o nazwę wpisujemy swap (koniecznie).

Żeby założyć partycję root, wpiszemy c, następnie 5p, aby wybrać blok od którego ma się zaczynać. Na pytanie o rozmiar ponownie wpiszemy 5p, mac-fdisk przydzieli jej całą pozostałą wolną przestrzeń Należy koniecznie nadać jej nazwę root (obowiązkowo).

Na zakończenie zachowujemy zmiany i opuszczamy mac-fdisk poleceniami w oraz q.

Uwaga: Aby się upewnić, że wszystko zostało poprawnie wykonane, należy uruchomić mac-fdisk jeszcze raz i sprawdzić czy są tam wszystkie nowo utworzone partycje. Jeśli nie widać żadnych partycji lub też nie ma zmian, które przed chwilą wprowadziliśmy, należy ponownie wprowadzić zmiany, przy pomocy klawisza i. Należy zwrócić uwagę, że polecenie to usuwa wszystkie obecne partycje i zastępuje je tymi odtworzonymi.

Następnie przechodzimy do paragrafu Zakładanie systemów plików.

1.  Alternatywnie: Podział dysku przy pomocy parted (Pegasos i RS/6000)

Program parted, czyli Partition Editor, jest w stanie obsłużyć partycje HFS+ używane przez Mac OS i Mac OS X. Dzięki niemu można zmienić rozmiar obecnych partycji, aby zrobić miejsce na partycje dla Linuksa. W przykładzie poniżej opiszemy jednak partycjonowanie dysku jedynie dla maszyn Pegasos.

Zacznijmy od uruchomienia programu parted:

Listing 1.1: Uruchamianie parted

# parted /dev/sda

Jeśli dysk nie jest jeszcze podzielony na partycje, uruchamiamy mklabel amiga, aby utworzyć nową etykietę dla tego napędu.

Zawsze można wpisać polecenie print, aby wyświetlić aktualną tabelę partycji. Zmiany jakie wprowadzimy nie zostaną zapisane aż do czasu wyjścia z aplikacji. Przez cały czas można anulować omyłkowo wprowadzone zmiany przy pomocy kombinacji klawiszy Ctrl-C, która przerwie działanie programu.

Jeśli zamierzamy na swojej maszynie zainstalować również MorphOS musimy utworzyć system plików affs1, na początku urządzenia. 32MB powinny wystarczyć do przechowania jądra MorphOS. Jeśli używamy Pegasos I lub planujemy użyć innego systemu plików poza ext2 lub ext3, będzie również konieczne przechować jądro linuksa na tej partycji (Pegasos II ma możliwość uruchomienia z partycji ext2, ext3 i affs1). Aby stworzyć partycję należy uruchomić mkpart primary affs1 START END gdzie START i END są odpowiednio zamienione na wartości w megabajtach. (np. 0 32) które utworzy partycję o rozmiarze 32MB, zaczynającą się w 0MB i kończącą w 32MB). Jeśli wybraliśmy ext2 lub ext3 jako system plików, wystarczy zamienić affs1 w poleceniu mkpart.

Musimy utworzyć dwie partycje dla Linuksa, jedną root, która będzie zawierała programy itp. i drugą, która będzie partycją wymiany (swap). Wpisujemy polecenie mkpart primary ext3 START END aby utworzyć partycję ext3. Również tutaj zamieniamy START i END obszarem w MB, na którym chcemy utworzyć partycję.

Partycja swap powinna w większości przypadków mieć rozmiar równy ilości pamięci RAM w komputerze pomnożonej przez dwa. Jeśli nie będziemy uruchamiać jednocześnie ogromnej ilości programów, powinna wystarczyć ilość swap równa ilości RAM (jednak nie mniejsza niż zalecane 512MB). Aby stworzyć partycję wymiany wpiszemy polecenie mkpart primary linux-swap START END.

Kiedy skończymy pracę w parted wyłączamy go wpisując po prostu quit.

1.  Tworzenie systemów plików

Wprowadzenie

Po utworzeniu partycji nadszedł czas na założenie na nich systemów plików. Jeśli jest to obojętne jakie zostaną wybrane lub odpowiadają nam domyślne ustawienia w podręczniku, przejdźmy do paragrafu Zakładania systemów plików na partycjach. W przeciwnym wypadku polecamy dalszą lekturę aby dowiedzieć się więcej na ich temat.

Systemy plików

Jądro Linux obsługuje wiele różnych systemów plików. W tym tekście omówimy ext2, ext3, ReiserFS, XFS i JFS, ponieważ są one najczęściej używane w systemach linuksowych.

ext2 to sprawdzony i popularny linuksowy system plików, którego główną wadą jest to, że nie posiada księgowania. Powoduje to, że jego regularne kontrole przy starcie systemu bywają długotrwałe. Obecnie istnieją nowoczesne systemy plików z księgowaniem, które można szybko sprawdzić i to właśnie te polecamy naszym użytkownikom. Księgowanie zapobiega długotrwałym kontrolom podczas uruchamiania systemu oraz ewentualnym błędom spójności danych. Jeśli zamierzamy instalować Gentoo na bardzo mały dysku (mniejszym niż 4GB) musimy przekazać ext2 informacje o rezerwacji wystarczającej ilości inode w trakcie tworzenia systemu plików poprzez wydanie komendy mke2fs -T small /dev/<device>.

ext3 to odpowiednik ext2 posiadający księgowanie w trybach full oraz ordered, dzięki czemu w razie awarii dane odzyskiwane są błyskawicznie. ext3 używa indeksu drzewa HTree, który zapewnia wysoką wydajność w prawie wszystkich zastosowaniach. W skrócie, ext3 to bardzo dobry i niezawodny system plików. Jeśli zamierzamy instalować Gentoo na bardzo mały dysku (mniejszym niż 4GB) musimy przekazać ext2 informacje o rezerwacji wystarczającej ilości inode w trakcie tworzenia systemu plików poprzez wydanie komendy mke2fs -j -T small /dev/<device>.

JFS to bardzo wydajny system plików IBM wyposażony w księgowanie. Jest lekki, szybki i godny polecenia. Oparto go na drzewie B+ dzięki czemu doskonale sprawdza się w wielu bardzo różnych zastosowaniach.

ReiserFS to system plików z księgowaniem oparty na drzewie B+. Wykazuje się doskonałą wydajnością przy obsłudze bardzo wielu małych plików (kosztem zwiększonego obciążenia procesora). Nie jest tak aktywnie rozwijany jak inne systemy plików.

XFS to system plików z księgowaniem metadanych, który został zaprojektowany z myślą o skalowalności i nie posiada wielu dodatkowych możliwości. Nie jest on również zbyt odporny na problemy sprzętowe.

Aktywacja partycji wymiany

mkswap jest poleceniem używanym do inicjacji partycji wymiany

Listing 1.1: Tworzenie sygnatury swap

# mkswap /dev/sda3

Aby aktywować partycję wymiany, należy użyć polecenia swapon:

Listing 1.1: Aktywacja partycji wymiany

# swapon /dev/sda3

Partycję wymiany należy stworzyć i aktywować zanim stworzymy kolejne systemy plików.

Zakładanie systemów plików na partycjach

Aby założyć na woluminie lub partycji system plików należy skorzystać z odpowiednich narzędzi:

System plików Program do zakładania
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs

Na przykład, aby założyć ext3 na głównej partycji (w naszym przypadku /dev/sda4), należy wykonać następujące polecenia:

Listing 1.1: Zakładanie systemu plików na partycji

# mke2fs -j /dev/sda4

Teraz założymy systemy plików na partycjach, które wcześniej utworzyliśmy.

Ważne: Jeśli na partycji głównej (/ ma być ReiserFS, nie wolno zmieniać domyślnego rozmiaru bloku jeśli jednocześnie wybiera się program yaboot jako program ładujący w rozdziale (Konfigurowanie bootloadera).

Uwaga: Na maszynach Pegasos II kernel musi znajdować się na systemach plików ext2, ext3 lub affs1. Maszyny NewWorld można uruchomić z ext2, ext3, ReiserFS, a nawet z HFS/HFS+.

1.  Montowanie

Po założeniu partycji i utworzeniu systemów plików nadszedł czas na ich zamontowanie. Służy do tego program mount.

Listing 1.1: Montowanie partycji

# mount /dev/sda4 /mnt/gentoo

Uwaga: Jeżeli chcemy przenieść /tmp na oddzielną partycję, nie można zapomnieć po zamontowaniu odpowiednio poprawić praw dostępu: chmod 1777 /mnt/gentoo/tmp. Dotyczy to również /var/tmp.

Następnie przechodzimy do rozdziału (Wypakowywanie plików instalacyjnych).

Zaktualizowano 20 lipca 2010

Oryginalna wersja tego dokumentu została po raz ostatni zaktualizowana 17 października 2011. Jeśli chcesz pomóc w aktualizacji tego dokumentu do najnowszej wersji, skontaktuj się z Łukaszem Damentko, koordynatorem polskiego projektu tłumaczeń dokumentacji Gentoo.

Podsumowanie: Aby móc zainstalować Gentoo należy stworzyć wymagane partycje. W tym rozdziale opisano w jaki sposób można je stworzyć.

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.