# HDD+SSD; partycje

## Argon13524

Cześć,

wybaczcie, jeśli pytam o rzeczy oczywiste, ale to mój pierwszy kontakt z linuksem (mam nadzieję, że nie skaczę na zbyt głęboką wodę z Gentoo)

i nie udało mi się znaleźć żadnego jednoznacznego poradnika, a jedynie złożyć z kilku różnych tekstów parę ogólnych zasad.

Być może powinienem (zgodnie z regulaminem) rozdzielić ten temat na kilka innych i oberwie mi się za niezrobienie tego. 

Niemniej są to po prostu bardziej szczegółowe pytania na jeden temat (dla jak największej przejrzystości),

które przy odrobinie dobrej woli można by zastąpić jednym ogólnym (no, może dwoma),

więc mam nadzieję, że moja pierwsza wizyta tutaj nie zakończy się zbyt boleśnie.   :Wink: 

Zatem do rzeczy:

Mam ProBooka, w którym głównym dyskiem będzie Plextor m6s 128GB (SSD), 

a oryginalny dysk (500GB;HDD) trafi w miejsce napędu (instalować zamierzam z USB+WiFi, więc oba będą podłączone).

1. Jakie opcje muszą być dodane przy uruchomieniu jądra, by wszystko zostało wykryte i działało, łącznie z WiFi?

2. Czy partycje boot i bootloader różnią się od siebie, a jeśli tak - czy konieczna jest ta druga?

3. Jak duże powinny być?

4. Czytałem, że SSD potrzebuje ~7% niezajętego miejsca.

Czy będzie z niego korzystał poprawnie, jeżeli zostawię taką ilość nieprzydzieloną do dysków?

5. Podobnie czytałem, że ext4 potrzebuje pewnej ilości wolnego miejsca, by uniknąć fragmentacji. 

Jak dużą? Czy powinienem je zostawić nieprzypisane czy muszą być dołączone do jakiegoś dysku i po prostu nieużywane?

4. W jaki sposób rozłożyć partycje?

Chciałbym mieć na obu dyskach odpowiednio rozłożony system i dodatkową pustą partycję na SSD (zakładam, że /home będzie na HDD), 

by oprócz linuksa, móc jeszcze trzymać swoje rzeczy zarówno na SSD, jak i HDD.

Myślałem nad czymś w rodzaju:

```
SSD (z relatime i TRIMem ustawionym jako skrypt przy uruchamianiu, zamiast 'discard')

1. boot

2. root

3. mój dysk

+ ewentualny bootloader

 

HDD

1. swap

2. tmp (o ile się nie mylę, związany z Portage)

3. var

4. home (używany jako 'mój dysk' na HDD)
```

5. Czy da się z poziomu tworzenia dysków wybrać "scheduler" dla każdego z osobna czy trzeba zrobić to już po instalacji?

(Myślałem o cfq dla HDD i Deadline dla SSD)

6. Czy boot i swap wymagają innego systemu plików czy mogę wszędzie ustawić ext4?

Może są dla nich wydajniejsze systemy (które dla boot na SSD nie generują dużej ilości zapisów)?

Dziękuję za pomoc.

----------

## nUmer_inaczej

ad1.  `make defconfig' - utworzy Ci początkową, startową wersję jądra [wg. mnie powinieneś wkopilować w jądro system plików ażeby system w ogóle wstał]

Nadto przydatnym będzie polecenie `lspci -k' - możesz podpatrzeć które moduły należy załadować, by sprzęt zadziałał.

Dobrym pomysłem może być użycie na początek genkernela i późniejsze rzeźbienie konfigu jądra.

ad2. Ja w stabilnej gałęzi mam tylko partycję boot, więc myślę, że bootloader będzie niepotrzebna. (w tej drugiej, na innych dystrybucjach może instalowany jest grub?)

ad3. Myślę, że ok 64 MB wystarczy w zupełności. Tam są trzymane tylko jądra oraz konfiguracja bootloadera.

ad4. Z układem systemu plików bywa różnie. Możesz użyć lvm`a , zaszyfrować system plików luksem na lvm`ie lub postawić normalne partycje.

Nie jestem expertem więc jedynie mogę przedstawić mój układ (który zamierzam jednak przerzucić na luks+lvm):

Na SSD mam:

1.                /boot - obrazy jądra

2                 /       - system

3.                /usr/portage - wydzielone pliki z portage

4.                /var - kompilacja oprogramowania

5.                /home - użytkownik

Na HDD:

1.                swap - rzadko używane, przynajmniej u mnie (odkąd sięgam pamięcią nawet przy 2 GB RAMU)

2.                dane - filmy, muzyka, itp.

3.                backup - zrzut całego systemu (ja robię poszczególne partycje do tar.bz2)

Samo Gentoo jako Desktop nie powinno wiele zajmować. Dbając o konfigurację warto robić backup całego systemu, który w tar.bz2 nie powinien zajmować więcej jak 6 GB i zrzucać na HDD. 

Nie korzystam z środowiska graficznego a jedynie Fluxboxa i korzystam z raczej standardowego zestawu oprogramowania na desktop i backup mi zajmuje:

```

gentoo numer # du -sh /media/backup/*

3,3G   /media/backup/gentoo-2014.12.04

3,0G   /media/backup/gentoo-2014.12.23

du -sh /media/backup/gentoo-2014.12.23/*

19M   /media/backup/gentoo-2014.12.23/boot.tar.bz

1,2G   /media/backup/gentoo-2014.12.23/home.tar.bz

69M   /media/backup/gentoo-2014.12.23/portage.tar.bz

1,6G   /media/backup/gentoo-2014.12.23/system.tar.bz

248M   /media/backup/gentoo-2014.12.23/var.tar.bz

```

6. Swap o ile nie mieści się w pliku to ma swój własny system plików, na boot możesz dać ext4 (trochę z tego, bo chyba 5% zje księgowanie, które można wyłączyć podczas `mkfs.ext4 --help' a `mkswap' założy Ci swapa.

----------

## Argon13524

Dzięki za odpowiedź!

Odnośnie jądra, miałem na myśli tę część dokumentacji (dodatkowe opcje).

Co do rozmiaru partycji boot, to spotkałem się w Internecie z wartościami od 32MB do aż 512MB, co wprowadza sporo zamieszania.

Nie jest to co prawda duża ilość, ale szkoda, żeby się marnowało.

Jeśli chodzi o bootloadera, to moje wątpliwości biorą się stąd, że dokumentacja zawiera opis jego użycia, ale opisuje jedynie tworzenie partycji boot, swap i root.

Być może osobna partycja potrzebna jest w innych dystrybucjach.

Czy szyfrowanie daje jakieś korzyści oprócz bezpieczeństwa (na którym mi nie zależy)?

Czy portage i kompilowanie nie powodują dużej ilości zapisów? Nie powinny znajdować się raczej na HDD?

----------

## nUmer_inaczej

Jeśli chodzi o proces instalacji to ciężko mi się wypowiedzieć. Przyznam, że istalowałem zawsze na standardowych, ale nie mam wifi.

Również na najnowszych obrazach było możliwym przeprowadzenie luks+lvm. Poza bezpieczeństwem to chyba nic dodatkowego nie wnosi.

Jedno skompilowane jądro na desktopie to wielkość rzędu 3MB. Poniżej jak przedstawia się w MB rozkład pamięci.

```

gentoo numer # du -sh /boot/*

2,8M   /boot/3.16.5-gentoo

2,9M   /boot/3.17.4-ck

2,9M   /boot/3.17.7-gentoo

2,9M   /boot/3.18.0-ck

2,9M   /boot/3.18.1-ck

0   /boot/boot

88K   /boot/config-3.17.4-ck

8,1M   /boot/grub

16K   /boot/lost+found

```

Nie bardzo wiem o której części dokumentacji dot. bootloadera piszesz. (jak możesz to wrzuć linka). Ale generalnei bootloader to program uruchamiający jądro systemu, niejako inicjujący pracę systemu - u mnie jak widać jest w partycji /boot i zajmuje 8.1MB.

Portage zawiera wymieniane przy synchronizacji ebulidy (chyba nie ma tego aż tak dużo). Co do kompilacji - var możesz dać mniejszy a w /etc/portage/make.conf 

```

PORTAGE_TMPDIR="/partycja_hdd/tmp"

```

dla procesu kompilacji dać odnośnik, ażeby ta odbywała się na innym dysku, partycji.

U mnie /var zajmuje 900MB - też mam taki link. Jeśli się nie mylę to ponad 6GB wymaga na czas kompilacji libreoffice. Miej to na uwadze planując podział na partycje.

----------

## Argon13524

Jeżeli bootloader może być w /boot, to właściwie rozwiewa moje wątpliwości. (myślałem, że potrzebuje osobnej partycji)

Czyli, o ile dobrze rozumiem, najbezpieczniej zrobić mały var na SSD i po prostu przekierować go na główną partycję HDD. Wtedy nie będzie ryzyka, że zabraknie mu miejsca.

Czy w takim wypadku muszę montować go oddzielnie czy wystarczy, że zamontuję / i on tam będzie? Podobne pytanie - gdybym chciał zostawić na SSD także home i portage, muszę je montować oddzielnie czy wystarczy / ?

Myślę, że najlepiej będzie, jeśli zrobię:

SSD

1.boot

2.root (z przekierowaniem portage na dane w HDD)

3.home

HDD

1.swap

2.dane

3.backup

Przy okazji - dobrze myślę, że w razie trafienia na coś, co mocno korzysta z zapisywania (choćby głupi autosave z gry na SSD), wystarczy zrobić odpowiednie łącze symboliczne pomiędzy dyskami?

I odkopując jeszcze pytanie z pierwszego posta - czy to ~7% SSD i x% HDD, które powinny pozostać wolne (dla zwiększenia żywotności SSD i uniknięcia fragmentacji na ext4) muszą pozostać nieprzypisane czy wystarczy, co wydaje mi się bardziej prawdopodobne, że są nieużywane?

----------

## nUmer_inaczej

Jeśli będziesz miał taki podział dysku jaki przedstawiasz pod SSD to wystarczy, że w /etc/fstab zamontujesz

właśnie te partycje (jeśli var będzie na głównej partycji / to nie musisz go montować), skoro /home i /portage

będą na osobnych to musisz (/portage w /usr/portage).

Swapa również musisz montować, dane oraz backup. 

Moim zdaniem mógłbyś podlinkować gdy coś będzie korzystać mocno z dysku.

Ostatnie pytanie pozostawiam bez odpowiedzi - ale wydaje mi sie, że chodzi tu o pozostawienie tyle wolnej przestrzeni.

Najlepiej, niech jeszcze ktoś się wypowie w tym temacie.

----------

## Argon13524

Gdybym chciał, żeby tylko kompilacja odbywała się na HDD, bo domyślam się, że to ona generuje najwięcej zapisów, to nie muszę montować /portage, a jedynie wskazać mu PORTAGE_TMPDIR na HDD, prawda? 

Wtedy w /var nie będzie się nic działo, a w /portage wygeneruje się jakaś niewielka ilość danych.

Ile miejsca powinienem pozostawić dla partycji / ?

Ostateczna rozpiska tego, co byłoby montowane:

SSD

1. /boot     ext4 64MB

2. /           ext4 ??GB (portage_tmpdir -> HDD/dane)

3. /home   ext4 reszta

HDD

1. swap     swap 5(??)GB (w laptopie są 4GB RAM, kiedyś pewnie wrzucę drugą kość do 8;

2. backup  ext4  15 GB

3. dane     ext4  reszta

Wszystko ok?

PS. Wielkie dzięki za poświęcenie mi czasu!

----------

## nUmer_inaczej

Nie do końca tak. Po to umieszczasz ten parametr PORTAGE_TMPDIR ze wskazaniem na HDD, żeby kompilacja nie odbywała się nie w var a na HDD. Portage nie musisz montować jeśli nie jest na osobnej partycji, w przeciwnym razie tak bo tam są umieszczone ebulidy potrzebne do kompilacji.

Najogólniej z /usr/portage → poprzez wpis w make.conf → HDD

Ile miejsca na partycji / ?

To zależy czy korzystałeś już z linuksa, czy nie i chcesz testować różne oprogramowanie oraz z jakiego oprogramowania.

Jeśli będziesz chciał postawić KDE czy Gnome to więcej, mniej jeśli tylko WM jak na przykład Fluxbox.

Generalnie ja używam 

WM: Fluxbox

WWW: Firefox

Poczta: claws-mail

Office: Libreoffice

PDF: acroread

Packer: file-roller

Menedżer Plików: mc i rox 

Konsola: urxvt

DVB-T AVI: mplayer

Komunikator: gajim oraz kadu

Info o systemi: gkrellm oraz conky

z tych w codziennym użytku i wszystko zajmuje mi :

```

du -sh /*

8,3M   /bin

23M   /boot

0   /dev

16M   /etc

2,1G   /home

0   /lib

6,8M   /lib32

49M   /lib64

68K   /mnt

137M   /opt

0   /proc

14M   /root

3,1M   /run

26M   /sbin

4,0K   /tmp

8,0G   /usr

902M   /var

```

Ciężko jest mi się wypowiedzieć, ile więcej potrzebujesz dla KDE czy Gnome.

Ja przy tej samej ilości RAM nie miałem wykorzystywanego swapu. Sądzę, że 2,5 GB to już sporo.

UPDATE: Co do instalacji - przejrzyj sobie forum - i poszukaj info na temat instalacji wifi.

Ciężko byłoby przebrnąć przez cały proces bez dostępu do internetu.

----------

## Argon13524

Poradziłem sobie podłączając laptopa kablem do routera.

Mam teraz jeszcze jeden problem. Ustawiłem w make.conf (już po chroot, /data jest na HDD):

```
PORTDIR="/data/portage"

DISTDIR="${PORTDIR}/distfiles"

PKGDIR="${PORTDIR}/packages"

RPMDIR="${PORTDIR}/rpm"

PORTAGE_TMPDIR="/data/portage_tmp"

BUILD_PREFIX="${PORTAGE_TMPDIR}/portage"

CCACHE_DIR="/data/ccache"
```

Mimo wszystko w /data/portdir nie pojawia się nic po synchronizacji, a w usr/portdir tak, więc sprawdziłem emerge --info i wszystko się zgadza, oprócz tego:

```
PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/data/portage"
```

Dodatkowo pojawia mi się:

!!!Repository 'x-portage' is missing masters attribute in '/data/portage/metadata/layout.conf'

sync tego pliku nie tworzy i myślę, że powodem tego błędu jest traktowanie /data/portage jako overlay, zamiast przenieść się tam całkowicie.

Co robię nie tak? Z tego, co wyczytałem, brakuje mi jakiegoś symlinka związanego z make.profile.

EDIT: Znalazłem taki symlink od make.profile do jakiegoś profilu w usr/portage/profiles.

Powinienem któryś stamtąd przekopiować do mojego nowego folderu w data/portage i dać tam link od make.profile?

EDIT2: Poradziłem sobie. Przeniosłem cały /portage z usr do data i dałem nowy link do tego samego profilu, ale już w /data.   :Wink: 

----------

## nUmer_inaczej

```

PORTAGE_DIR="/data/portage"

```

----------

## Argon13524

Mam jeszcze jeden problem z konfiguracją połączenia.

Przy instalacji miałem wsadzony kabel i wszystko ustawiło się samo na sterowniku ath9k  (karta Atheros QCA9565 / AR9565).

Teraz, po bootowaniu z dysku, karta nie jest wykrywana (sterownik jest wkompilowany w kernel, lsmod -k pokazuje kartę i ten sterownik).

Ifconfig pokazuje lo, sit0, wlo1. Wcześniej działało na enp3s0.

Kolejnym problemem jest to, że nie mam teraz dostępu do kabla i muszę ustawiać od razu pod wi-fi. Nie zdążyłem zainstalować żadnego środowiska graficznego ani programu do kontroli sieci, więc muszę wszystko ustawić z poziomu terminalu.  :Confused: 

----------

## nUmer_inaczej

Z kartami bezprzewodowymi nic nie pomogę - nie mam żadnego doświadczenia w konfigurowaniu takich urządzeń, ale - mogę podrzucić kilka przydatnych adresów:

WIKI

Handbook (coś tam jest o konfiguracji wifi)

http://wiki.gentoo.org/wiki/Wifi

Dobrym pomysłem może być stworzenie nowego tematu, opisującego tylko ten jeden problem.

----------

