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?
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.
/
: korzeń oznacza punkt startowy hierarchii katalogów. Zawiera
niezbędne programy, które może załadować komputer, w tym jądro, biblioteki
systemowe, pliki konfiguracyjne w /etc
i inne potrzebne pliki.
Zazwyczaj wymaga około 30-50 MB, ale liczba ta może się wahać.
Uwaga: nie twórz osobnych partycji na katalogi /etc
,
/bin
, /sbin
, /lib
ani /dev
;
jeśli tak zrobisz, system nie będzie się w stanie załadować.
/dev
: ten katalog zawiera różne pliki urządzeń, które są
interfejsami do różnych części sprzętu. Więcej informacji zawiera rozdział Nazwy urządzeń w Linuksie,
Rozdział 4.3.
/usr
: w tym katalogu znajdują się wszystkie programy dla
użytkowników (/usr/bin
), biblioteki (/usr/lib
),
dokumentacja (/usr/share/doc
) itp. Ta część systemu plików
zajmuje zazwyczaj większą część miejsca. Powinno się na niego przeznaczyć
przynajmniej 300-500 MB. Jeśli będziesz instalować więcej pakietów,
powinieneś/powinnaś zwiększyć ilość miejsca przeznaczonego na ten katalog.
/home
: każdy użytkownik będzie umieszczał swoje dane w podkatalogu
tego katalogu. Jego rozmiar zależy od ilości użytkowników, którzy będą używali
tego systemu jak i od wielkości plików, jakie będą przechowywane w tym
katalogu. W zależności od planowanego użycia powinno się zarezerwować ok. 100
MB dla każdego użytkownika, ale tą liczbę należy dostosować do własnych
potrzeb.
/var
: wszystkie zmieniające się dane, jak artykuły grup
dyskusyjnych (ang. news), poczta elektroniczna, strony WWW, cache APT-a itp.
będzie przechowywany w tym katalogu. Jego rozmiar zależy w dużym stopniu od
sposobu użycia komputera, ale dla większości ludzi będzie podyktowany przede
wszystkim wymaganiami narzędzia zarządzania pakietami, który tymczasowo
umieszcza w jego podkatalogu pliki pakietów pobrane z sieci. Jeśli planujesz
zainstalować z sieci prawie wszystko, co ma do zaoferowania Debian, wszystko na
raz, to prawdopodobnie wystarczy przeznaczyć na ten katalog 2-3 gigabajtów.
Jeśli będziesz instalować wszystko etapami (to jest najpierw narzędzia i
usługi, później tekstowe programy użytkowe, później X, ...) to powinno
wystarczyć około dwustu do pięciuset megabajtów. Jeśli chcesz oszczędzać
miejsce na dysku i nie planujesz używać APT-a (przynajmniej do większych
uaktualnień) możesz przeznaczyć na ten katalog 30 lub 40 MB.
/tmp
: pliki tymczasowe tworzone przez programy najprawdopodobniej
będą tworzone właśnie w tym katalogu. Powinno wystarczyć zazwyczaj 20-50 MB.
/proc
: ten wirtualny system plików nie potrzebuje miejsca na
dysku. Zawiera on ciekawe i cenne dane na temat działającego 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:
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.
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.
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.
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ść.
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.
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.
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.
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.
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
porridge@pandora.info.bielsko.pl