Arch-Like - nietypowy blog, nietypowe forum.

Poradniki => Podstawy => Wątek zaczęty przez: pavbaranov w Październik 28, 2014, 11:14:04

Tytuł: Właściwy dobór wielkości partycji w desktopowym linuksie i dlaczego?
Wiadomość wysłana przez: pavbaranov w Październik 28, 2014, 11:14:04
Osoby, które rozpoczynają przygodę z linuksem, zwykle padają bądź to ofiarą przyzwyczajeń, bądź też - dość starych już informacji o "właściwym" ustawieniu partycji dla instalacji linuksa. Albo bowiem robią jedną, dużą partycję, na której umieszczana jest cała dystrybucja, łącznie z danymi użytkownika, albo partycjują dysk na wiele małych partycji, odpowiadających drzewu katalogów w linuksie. Oba te rozwiązania nie są dobre dla desktopów. Niestety często programy instalujące same podpowiadają pierwszy ze sposobów instalacji.
Dlaczego te rozwiązania nie są najlepsze?
Otóż co do zasady, katalogi we wszystkich dystrybucjach linuksa są ułożone w ten sam sposób. Na razie zauważmy tylko jeden z nich: /home. To tutaj utworzony zostanie jeden bądź więcej katalogów dla każdego z użytkowników systemu. Powiedzmy, że mój użytkownik nazywać się będzie pavbaranov. Zatem w katalogu /home, utworzony zostanie podkatalog pavbaranov: /home/pavbaranov. To w nim, używane przeze mnie programy zapiszą swoje ustawienia, tutaj też będzie miejsce na moje dokumenty różnego rodzaju. Jeśli utworzony zostanie nowy użytkownik, np. nowy, to obok podkatalogu pavbaranov, pojawi się podkatalog /home/nowy, gdzie ten użytkownik zapisywać będzie swoje dokumenty, oraz gdzie pomieszczone zostaną ustawienia programów przez niego wykorzystywane. Oczywiście w pewnym uproszczeniu.
Stąd też np. dwu użytkowników jednego komputera może mieć zupełnie inny wygląd tego samego środowiska graficznego. Stąd też niektóre programy potrafią mieć ustawienia adekwatne dla określonego użytkownika.
Załóżmy, że z jakiejś przyczyny chcemy, bądź zostaliśmy zmuszeni do dokonania nowej instalacji systemu. Wówczas przy instalacji, do formatowania nie wybieramy katalogu /home, a wskazujemy jedynie, że ten katalog ma zostać zamontowany na starcie systemu i po instalacji cieszymy się całością dotychczasowych ustawień, jak również nienaruszonymi wszystkimi dokumentami. Nic nie trzeba innego robić, gorączkowo przenosić (a może na to być nawet za późno) dokumenty na zewnętrzną przestrzeń, czy pieczołowicie spisywać wszystkie ustawienia. Szczególnie to istotne w przypadku tzw. dystrybucji wydawniczych (np. z rodziny Ubuntu), gdzie częstokroć jedyną możliwością zainstalowania nowej wersji systemu jest jego postawienie od początku.
Mam nadzieję, że rozumiecie dlaczego warto potrudzić się z "ręcznym (zaawansowanym) partycjowaniem" dysku przy instalacji systemu. Korzyści są.
Pośród różnych partycji istnieje jedna szczególna: swap. To przestrzeń wymiany. Pamiętajmy, że nawet mając bardzo dużo pamięci RAM, niektóre programy i tak ją wykorzystują. Pamiętajmy również, że hibernacja odbywa się właśnie do tego katalogu.
Pozostałą przestrzeń można sobie przeznaczyć na wszystkie inne katalogi, montowane do punktu głównego.
Dlaczego nie wyodrębniać pozostałych katalogów do poszczególnych partycji? Spytam retorycznie: po co? W przypadku desktopów nie ma takiej przyczyny. W systemach, w których króluje systemd (a zatem wszystkich, które są głównym zainteresowaniem tego forum), tworzenie partycji /boot (to tutaj umieszczane są obrazy kernela) jest błędem, bowiem system taki w wielu przypadkach po prostu nie wystartuje. Pozostałe? Uwierzcie mi - w desktopie - nie ma to sensu.
Wydaje się zatem, że najsensowniejszy sposób, to trzy partycje:
- główna, gdzie umieszczana jest cała dystrybucja, montowana w /,
- domowa, gdzie są dane użytkowników, która montowana jest w /home,
- swap, czyli przestrzeń wymiany.
Niestety nie ma reguły jaką wielkość poszczególnym partycjom przypisać. Można jedynie naprowadzić, a już Wy musicie podjąć decyzję.
Zacznijmy od najprostszej rzeczy, czyli swap. Czy na pewno jest Ci potrzebny, skoro nie hibernuję komputera i mam dużo RAM? Skoro nie chcesz - nie ma sprawy. Niemniej jednak nie zarekomenduję z czystym sumieniem takiego rozwiązania. Generalna zasada jest prosta: mniej więcej do 2GB RAM, swap winien mieć co najmniej dwukrotną jej wielkość, powyżej 4GB RAM, wielkość swap może odpowiadać wielkości RAM jeśli się liczy z hibernowaniem; jeśli nie, to warto jest utworzyć choćby 0,5GB RAM na wszelki wypadek, którym może być choćby taka konstrukcja jakiegoś programu, że mimo wszystko do owego swap sięgnie. Oczywiście osoby, które stosują jakieś bardzo wymagające programy muszą ustawić wielkość swap dla swoich potrzeb.
Pozostałą przestrzeń dzielimy w zależności od tego jakich środowisk i programów oraz ilu używamy. W przypadku "standardowej" instalacji (czyli ani minimalistycznej, ani nadmiernie przerośniętej), polecam na partycję główną przeznaczyć ok. 15-20GB. Pamiętajmy, że to tutaj w procesie instalacji programów, do katalogu /var/cache/pacman/pkg/ ściągane są paczki programów i stąd następuje ich późniejsza instalacja. Jeśli zatem aktualizacji systemu dokonujemy stosunkowo rzadko, to może się okazać, że do pobrania będzie 0,5-1GB pakietów. Gdzieś to wszystko musi zostać pomieszczone. Standardowo (czyli na domyślnych ustawieniach) też takie narzędzia jak yaourt, czy packer pracują w katalogu /tmp, gdzie ściągają źródła i prowadzą proces kompilacji, który nierzadko wymaga o wiele więcej przestrzeni niż późniejsza, wynikowa paczka. Wielkość 15-20GB przy dzisiejszej wielkości dysków, nie powinna być jakoś znacząco uciążliwa. Można ją zmniejszyć do jakichś 10GB (a absolutnym minimum wydaje się być 6-8GB) w przypadku bardzo oszczędnego gospodarowania przestrzenią w katalogu głównym. Co wpływa jeszcze na dobór jej wielkości? Wszelkie programy, które instalują się w całości w /opt. Częstokroć są to rozwiązania własnościowe, często jakieś gry itp. Jeśli zatem zamierzacie instalować naprawdę duże programy, duże np. gry itp., to wówczas warto pomyśleć o zwiększeniu rozmiaru katalogu głównego.
Resztę można przeznaczyć na swój katalog domowy. Jego wielkość też można sobie zoptymalizować, albowiem jeśli np. tworzone przez Was dokumenty nie są duże, to może on być mniejszy, w przeciwnym przypadku musi być większy. Itd. itp., co trzeba byłoby już w konkretnej sprawie rozstrzygać.