[ powrót ] [ Streszczenie ] [ Prawa autorskie ] [ Spis treści ] [ dalej ]

Instalacja Debiana GNU/Linux 2.2 dla architektury Intel x86
Część 4 Dzielenie dysku twardego na partycje


4.1 Informacje wstępne

Partycjonowanie dysku oznacza po prostu dzielenie go na części. Każda z części jest niezależna od innych. Można to porównać do stawiania ścian w budynku: postawienie mebli w jakimś pokoju nie wpływa na wygląd innego pokoju.

Jeśli już posiadasz jakiś system operacyjny (np. Windows95, Windows NT, OS/2, MacOS, Solaris, FreeBSD) i chcesz zainstalować Linuksa na tym samym dysku, będziesz prawdopodobnie musiał/musiała go przepartycjonować. Ogólnie rzecz biorąc, zmiana partycji na której istnieje już system plików zniszczy znajdujące się na niej informacje. Przed partycjonowaniem zawsze powinno się zrobić kopię zapasową danych. Używając analogii z budynkiem: przed przesuwaniem ściany dobrze jest usunąć meble, bo inaczej ryzykuje się ich zniszczenie. Na szczęście istnieje alternatywa dla niektórych użytkowników. Patrz Bezstratne partycjonowanie przy instalacji z systemów DOS, Win-32 lub OS/2, Rozdział 4.7.

GNU/Linux potrzebuje dla siebie conajmniej jednej partycji. Możesz mieć jedną partycję zawierającą cały system operacyjny, aplikacje i prywatne pliki. Wielu ludzi uważa, że niezbędna jest także partycja wymiany, choć nie jest to rzeczywiście konieczne. Miejsce wymiany (ang. swap) to obszar na dysku przeznaczony dla systemu operacyjnego, który umożliwia mu wykorzystanie taniego miejsca na dysku jako `pamięci wirtualnej'. Umieszczenie miejsca wymiany na osobnej partycji umożliwia Linuksowi znacznie wydajniejsze z niego korzystanie. Możliwe jest wykorzystanie jako partycji wymiany zwykłego pliku, ale nie jest to zalecane.

Wiele osób decyduje się jednak dać systemowi GNU/Linux większą ilość partycji. Jest kilka powodów, dla których warto jest podzielić dysk na kilka mniejszych partycji. Pierwszy z nich to bezpieczeństwo. W razie awarii dysku zazwyczaj naruszona jest tylko jedna partycja. Dzięki temu konieczne jest przywrócenie (z kopii zapasowych, które oczywiście skrupulatnie tworzyłeś/tworzyłaś) tylko części systemu. Powinieneś/powinnaś utworzyć przynajmniej ``partycję główną'' (ang. ``root partition''). Zawiera ona najbardziej niezbędne składniki systemu. Jeśli ulegną uszkodzeniu inne partycje, wciąż będzie możliwe załadowanie systemu i naprawienie uszkodzeń. Dzięki temu nie będzie konieczna ponowna instalacja systemu.

Inny powód, ważny głównie w przypadku zastosowań profesjonalnych, zależy od wykorzystania systemu. Załóżmy, że coś wymyka się spod kontroli i zaczyna zjadać wolne miejsce na dysku. Jeśli proces sprawiający problemy ma uprawnienia administratora systemu (dla którego jest zarezerwowany pewien obszar na dysku, którego nie mogą używać zwykli użytkownicy), to może się nagle okazać, że na dysku brakuje miejsca, a to może wywołać różnego rodzaju ``powikłania''. Nie musi to być nawet problem pochodzenia lokalnego. Na przykład jeśli ktoś zasypie Cię poczta elektroniczną, może zapełnić Twój dysk. Używając kilku partycji można obronić się przed tego typu problemami. Używając znów poczty elektronicznej jako przykładu: umieszczając /var/spool/mail na osobnej partycji większość systemu będzie działać, nawet jeśli ktoś zasypie Cię listami.

Inny powód pojawia się, jeśli używasz dużego dysku IDE i nie używasz ani adresowania LBA, ani dodatkowych sterowników (czasem dostarczanych przez producentów), ani nowego BIOS-u (wyprodukowanego po 1998 roku) obsługującego rozszerzenia dużych dysków. W tym przypadku będzie konieczne umieszczenie głównej partycji na pierwszych 1024 cylindrach dysku (zazwyczaj około 524 MB).

Jedyną prawdziwą wadą używania większej ilości partycji jest fakt, że zazwyczaj trudno jest z góry określić swoje wymagania. Jeśli któraś z partycji okaże się za mała, będziesz musiał/musiała albo zainstalować system jeszcze raz, albo będziesz skazany/skazana na ciągłe przenoszenie danych z miejsca na miejsce w poszukiwaniu wolnej przestrzeni na danej partycji. Z drugiej strony, jeśli partycja będzie za duża to będzie się marnowała przestrzeń, która mogłaby być wykorzystana w innym miejscu. Przestrzeń dyskowa jest teraz tania, ale po co wyrzucać pieniądze w błoto?


4.1.1 Drzewo katalogów

Poniższa lista opisuje niektóre ważniejsze katalogi. Ma za zadanie pomóc Ci określić sposób podziału dysku na partycje. Jeśli ten rozdział jest dla Ciebie zbyt niejasny, zignoruj go i powróć tutaj po przeczytanii reszty podręcznika instalacji.


4.2 Planowanie użycia systemu

Ważne jest zdecydowanie, jaki rodzaj systemu będzie Ci potrzebny. Wpływa to na wymagania dotyczące miejsca na dysku i na sposób jego podziału.

Można wziąć pod uwagę następujące zastosowania systemu:

Mały serwer
Nie zawierający wielu rzeczy przydatnych użytkownikom wykorzystującym powłokę, zawierający serwer FTP, WWW, DNS, NIS i POP. Zajmie około 50 MB. Oczywiście jest to tylko rozmiar oprogramowania. Należy do tego doliczyć rozmiar udostępnianych danych.

Komputer domowy
Standardowy komputer biurkowy, zawierający system X Window, aplikacje graficzne, dźwięk, edytory itp. Zainstalowane oprogramowanie zajmie około 500 MB.

Komputer do pracy
Bez systemu X Window, może być odpowiedni na komputer przenośny. Zajmie około 140 MB. (Autor posiada jeszcze prostszy system zawierający X Window, a zajmujący tylko 100 MB).

Komputer programisty
Komputer biurkowy ze wszystkimi pakietami przydatnymi przy programowaniu, jak Perl, C, C++ itp. Rozmiar ok. 475 MB. Z systemem X Window i dodatkowymi pakietami może zająć nawet 800 MB.

Należy pamiętać, że powyższe rozmiary nie obejmują wszystkich danych, które jednak znajdują się we właściwie każdym systemie, jak pliki użytkowników, poczta i inne. Zawsze dobrze jest być hojnym w przydzielaniu miejsca na własne pliki z danymi. Co ważne partycja /var w systemie Debian zajmuje wiele informacji na temat stanu systemu. Pliki programu dpkg (z informacjami na temat wszystkich zainstalowanych pakietach) mogą z łatwością zająć 20 MB. Doliczając do tego pliki dziennika i inne, można przyjąć, że partycja /var zajmie conajmniej 50 MB.


4.2.1 Ograniczenia dysków PC

Generalnie BIOS PC-tów stawia dodatkowe ograniczenia w partycjonowaniu. Istnieje limit ilości ``podstawowych'' (ang. primary) i ``logicznych'' (ang. logical) partycji, jaką może zawierać dysk. Poza tym instnieją ograniczenia dotyczące położenia na dysku systemu, który może załadować BIOS wyprodukowany przed latami 1994-1998. Więcej informacji można znaleźć w Linux Partition HOWTO oraz Phoenix BIOS FAQ, jednak ten rozdział zawiera krótki opis, który pomoże Ci zaplanować większość sytuacji.

Partycje ``podstawowe'' to początkowy system podziału dysków PC. Może być ich tylko cztery. Aby obejść to ograniczenie wymyślono partycje ``rozszerzone'' lub ``logiczne''. Ustawiając jedną z partycji podstawowych jako ``rozszerzoną'' można podzielić miejsce przeznaczone na tą partycję na partycje logiczne. W ramach jednej partycji rozszerzonej można utworzyć do sześćdziesięciu partycji logicznych, jednak na dysku można umieścić najwyżej jedną partycję rozszerzoną.

Linux ogranicza ilość partycji na dysku do 15 na dyskach SCSI (3 użyteczne partycje podstawowe, 12 partycji logicznych) i 63 partycji na dyskach IDE (3 użyteczne partycje podstawowe, 60 partycji logicznych).

Ostatnią rzeczą, jaką należy wiedzieć na temat BIOS-u PC jest, że partycja startowa (ang. boot partition), czyli partycja zawierająca jądro, musi mieścić się na pierwszych 1024 cylindrach dysku, chyba że posiadasz BIOS wyprodukowany przed (w zależności od producenta) 1994-1998 rokiem, obsługujący ``Specyfikację Rozszerzonej Obsługi Napędów Dyskowych''. Zarówno LILO (program ładujący jądro Linuksa), jak i dodawany przez Debiana program mbr używają procedur BIOS-u, przy ładowaniu jądra Linuksa do pamięci RAM. Jeśli zostaną znalezione rozszerzenia BIOS-u przerwania 0x13 dostępu do dużych dysków, to zostaną one użyte. W przeciwnym wypadku zostaną użyte zwykłe metody dostępu, które nie umożliwiają odczytania danych znajdujących się na dysku powyżej 1023 cylindra. Po załadowaniu Linuksa nie istnieją te ograniczenia bez względu na to, jaki BIOS jest w Twoim komputerze, ponieważ Linux nie używa BIOS-u aby uzyskać dostęp do dysku.

Jeśli posiadasz duży dysk, może być konieczne będzie użycie technik tłumaczenia numerów cylindrów, które można włączyć w programie ``Setup'' BIOS-u, jak LBA (Logiczne Adresowanie Bloków) lub tryb CHS (``Large''). Więcej informacji na temat problemów z dużymi dyskami można znaleźć w Large Disk HOWTO. Jeśli używasz techniki tłumaczenia cylindrów, a BIOS nie obsługuje rozszerzeń dużych dysków, wtedy będzie konieczne takie rozmieszczenie partycji, aby partycja startowa mieściła się poniżej przetłumaczonego cylindra 1024.

Zalecanym sposobem osiągnięcia tego jest utworzenie małej (5-10 MB powinno wystarczyć) partycji na początku dysku, którą należy uczynić startową. Następnie należy w pozostającym obszarze utworzyć dowolne inne potrzebne partycje. Taka partycja startowa musi być zamontowana w katalogu /boot, ponieważ w tym katalogu będą przechowywane jądro/jądra Linuksa. Taka konfiguracja będzie działała w każdym systemie, bez względu na to, czy zostanie użyte tłumaczenie LBA lub CHS i czy BIOS obsługuje odpowiednie rozszerzenia.


4.3 Nazwy urządzeń w Linuksie

Nazwy dysków i partycji w Linuksie mogą się różnić od nazw w innych systemach operacyjnych. Musisz znać te nazwy podczas tworzenia i montowania partycji. Oto podstawowe nazwy:

Nazwy partycji na każdym z dysków tworzy się dodając jej numer do nazwy dysku: ``sda1'' i ``sda2'' odpowiadają pierwszej i drugiej partycji na pierwszym dysku SCSI w Twoim systemie.

Oto przykład. Załóżmy, że masz dwa dyski SCSI, jeden pod adresem SCSI 2, a drugi po adresem SCSI 4. Pierwszy dysk (adres 2) nazywa się wtedy ``sda'', a drugi ``sdb''. Jeśli na dysku ``sda'' są 3 partycje, będą się nazywać ``sda1'', ``sda2'', i ``sda3''. Jeśli na dysku ``sdb'' są dwie partycje, to będą się nazywały ``sdb1'' i ``sdb2''.

Zwróć uwagę, że jeśli posiadasz kilka kontrolerów SCSI, to kolejność dysków szybko może się okazać niejasna. Najlepszym rozwiązaniem w tym wypadku jest przeczytanie komunikatów startowych, zakładając że zna się modele dysków.

Linux oznacza parycje podstawowe jako nazwy dysków plus numer od 1 do 4. Na przykład pierwsza partycja podstawowa na pierwszym (master) dysku to /dev/hda1. Partycje logiczne zaczynają być liczone od 5, więc pierwsza partycja logiczna na tym dysku to /dev/hda5. Pamiętaj, że partycja rozszerzona, to jest partycja podstawowa zawierająca partycje logiczne nie jest użyteczna sama w sobie. Odnosi się to tak do dysków IDE jak i SCSI.


4.4 Zalecany układ partycji

Jak to opisano powyżej, powinno się posiadać oddzielną partycję główną (ang. root partition) i większą partycję /usr, jeśli jest wystarczająco dużo miejsca. Przykłady zamieszczone są poniżej. Większości użytkowników wystarczają te dwie partycje. Jest to tym bardziej właściwe, jeśli posiadasz jeden mały dysk, ponieważ tworzenie większej ilości partycji może spowodować marnowanie miejsca.

W niektórych przypadkach może być potrzebna oddzielna partycja /usr/local jeśli planujesz instalować wiele programów, które nie są częścią Debiana. Jeśli Twoja maszyna ma być serwerem poczty, może być konieczne utworzenie oddzielnej partycji /var/spool/mail. Często dobrym pomysłem jest utworzenie osobnej partycji wielkości 20 do 32 MB na katalog /tmp. Jeśli instalujesz serwer dla mnóstwa użytkowników, dobrze jest posiadać dużą oddzielną partycję /home. Ogólnie mówiąc, partycjonowanie dysku zależy od roli, jaką ma spełniać komputer.

Przy bardzo skomplikowanych systemach powinieneś/powinnaś przeczytać Multi Disk HOWTO. Zawiera ono informacje ciekawe głównie dla ISP i ludzi konfigurujących serwery.

Jeśli chodzi o wielkość partycji wymiany, jest na to wiele poglądów. Jedną z zasad jest posiadanie takiej ilości miejsca wymiany, ile jest pamięci operacyjnej, choć dla większości użytkowników nie ma sensu posiadanie więcej niż 64 MB miejsca wymiany. W większości przypadków nie powinno być go także mniej niż 16 MB. Oczywiście są wyjątki od tych reguł. Jeśli będziesz rozwiązywać układy 10000 równań na maszynie z 256 MB RAM-u, będzie potrzebny gigabajt (lub więcej) miejsca wymiany.

Przy architekturach 32-bitowych (i386, m68k, 32-bitowy SPARC, i PowerPC), maksymalna wielkość partycji wymiany to 2 GB (na Alphie i SPARC64 jej wielkość jest tak duża, że można ją uznać za nieograniczoną). Powinno to wystarczyć dla większości instalacji. Jeśli jednak masz duże wymagania co do wielkości miejsca wymiany spróbuj rozrzucić partycje po kilku dyskach i jeśli to możliwe na różnych kanałach SCSI lub IDE. Jądro będzie odpowiednio dostosowywało ich użycie aby zwiększyć wydajność.


4.5 Przykładowe partycjonowanie

Jako przykład podajemy domową maszynę jednego z autorów - 32 MB RAM i 1,7 GB dysk IDE na /dev/hda. Jest na nim 500 megabajtowa partycja przeznaczona na inny system operacyjny na /dev/hda1 (powinna mieć 200MB bo i tak nigdy jej nie używam). Partycja wymiany o wielkości 32 MB mieści się na /dev/hda3 a reszta (około 1,2GB na /dev/hda2) to partycja Linuksa.


4.6 Partycjonowanie przed instalacją

Istnieją dwa momenty w których można przeprowadzić partycjonowanie: przed instalacją Debiana lub podczas jej trwania. Jeśli Twój komputer będzie w całości przeznaczony na Debiana, powinieneś/powinnaś przeprowadzić partycjonowanie podczas instalacji. (``Podział dysku na partycje'', Rozdział 7.6). Jeśli masz komputer z więcej niż jednym systemem operacyjnym, powinieneś/powinnaś danemu systemowi operacyjnemu pozwolić utworzyć swoje własne partycje.

Następujące rozdziały zawierają informacje na temat partycjonowania w innym systemie operacyjnym przed instalacją. Zwróć uwagę, że będzie konieczna zamiana nazw partycji w różnych systemach; patrz Nazwy urządzeń w Linuksie, Rozdział 4.3.


4.6.1 Partycjonowanie w DOS lub Windows

Jeśli manipulujesz istniejącymi partycjami FAT lub NTFS, zaleca się albo użycie poniższych instrukcji, albo używanie standardowych narzędzi Windows lub DOS. W przeciwnym wypadku nie jest konieczne partycjonowanie w DOS lub Windows; narzędzia Linuksa zazwyczaj działają lepiej.


4.7 Bezstratne partycjonowanie przy instalacji z systemów DOS, Win-32 lub OS/2

Często instaluje się Linuksa w systemie, w którym już jest zainstalowany DOS (w tym Windows 3.1), Win32 (czyli Windows 95, 98 lub NT), lub OS/2 i ważne jest, aby umieścić Debiana na tym samym dysku bez niszczenia istniejącego systemu. Jak to wyjaśniono w rozdziale Informacje wstępne, Rozdział 4.1, zmniejszenie rozmiaru istniejącej partycji prawie na pewno spowoduje zniszczenie istniejących danych, chyba że zachowane są specjalne środki ostrożności. Opisana tutaj metoda, choć nie gwarantuje bezpieczeństwa danych, działa w praktyce wyjątkowo dobrze. Zaleca się utworzenie kopii zapasowej.

Zanim przejdziesz dalej, powinieneś/powinnaś zdecydować jak podzielić dysk. Metoda podana tutaj umożliwi jedynie podział istniejącej partycji na dwie części. Jedna z nich będzie zawierała pierwotny system operacyjny, a druga będzie używana przez Debiana. Podczas instalacji Debiana będziesz mieć możliwość dowolnego wykorzystania części przeznaczonej dla Debiana, to znaczy jako miejsce wymiany lub system plików.

Pomysł polega na przeniesieniu wszystkich danych na początek partycji przed zmianą podziału dysku tak, żeby nic nie zginęło. Ważne jest, aby wykonywać na dysku jak najmniej operacji między przeniesieniem danych a przepartycjonowaniem aby zminimalizować szansę zapisania fragmentu jakiegoś pliku w pobliżu końca partycji, ponieważ zmniejszy to wielkość obszaru, jaki można ``odciąć'' od partycji.

Najpierw należy skopiować program fips, który można znaleźć w katalogu tools/ na najbliższym serwerze lustrzanym Debiana. Rozpakuj archiwum ``zip'' i skopiuj pliki RESTORRB.EXE, FIPS.EXE i ERRORS.TXT na dyskietkę z systemem operacyjnym. Dyskietkę taką można utworzyć przy pomocy komendy sys a: w systemie DOS. fips zawiera bardzo dobrą dokumentację, którą dobrze jest przeczytać. Przeczytanie dokumentacji będzie konieczne jeśli używasz sterownika kompresji dysku lub zarządcę dysków (ang. disk manager). Utwórz dyskietkę i przeczytaj dokumentację zanim zdefragmentujesz dysk.

Następnie należy przenieść wszystkie dane na początek partycji. defrag, znajdujący się w standardowym systemie DOS 6.0 i późniejszych dobrze radzi sobie z tym zadaniem. Dokumentacja programu fips zawiera listę innych programów tego typu. Zwróć uwagę, że jeśli posiadasz Windows 95, musisz uruchomić defrag w Windows, ponieważ DOS nie rozumie VFAT umożliwiającego używanie długich nazw plików używanego w Windows 95 i późniejszych.

Kiedy program do defragmentacji wykona swoje zadanie (co może zająć dłuższy czas w przypadku dużych dysków) uruchom ponownie komputer przy pomocy dyskietki fips, którą wcześniej utworzyłeś/utworzyłaś. Następnie po prostu wpisz a:\fips i podążaj za instrukcjami.

Zwróć uwagę, że istnieje wiele innych programów do zarządzania partycjami, których możesz użyć, jeśli fips nie spełni swojego zadania.


4.8 Partycjonowanie w DOS

Wielu ludzi napotyka na problemy z partycjami FAT (partycje dla DOS) jeśli zostały utworzone lub ich rozmiar został zmieniony za pomocą narzędzi Linuksowych. Na przykład niektórzy zgłosili słabą wydajność, ciągłe problemy z programem scandisk lub inne dziwne problemy z systemem DOS lub Windows.

Najwyraźniej jeśli tworzy się lub zmienia rozmiar partycji dla systemu DOS dobrze jest wypełnić kilka pierwszych sektorów zerami. Aby to zrobić, przed uruchomieniem format w DOS-ie należy w Linuksie wydać komendę

     dd if=/dev/zero of=/dev/hdXX bs=512 count=4


[ powrót ] [ Streszczenie ] [ Prawa autorskie ] [ Spis treści ] [ dalej ]
Instalacja Debiana GNU/Linux 2.2 dla architektury Intel x86
version 2.2.26, 12 June, 2001
Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo
tłumaczenie: Marcin Owsiany porridge@pandora.info.bielsko.pl