|
1.
Introducere în Dispozitive Bloc
Dispozitive Bloc
Vom arunca o privire atentă asupra aspectelor în legătură cu discurile din
Gentoo Linux şi Linux, în general, incluzând sistemele de fişiere, partiţii şi
dispozitive bloc. Apoi, odată ce vă familiarizaţi cu toate aspectele despre
discuri şi sisteme de fişiere, veţi fi ghidaţi prin procesul de setare al
partiţiilor şi sistemelor de fişiere pentru instalarea dvs. de Gentoo Linux.
Pentru a începe, vom face introducerea dispozitivelor bloc. Cel mai
renumit dispozitiv bloc este probabil cel care reprezintă primul hard-disk IDE
într-un sistem Linux, şi anume /dev/hda. Dacă sistemul dvs.
utilizează discuri SCSI, atunci primul dvs. hard-disk ar trebui să fie
/dev/sda.
Dispozitivele bloc amintite mai sus, reprezintă o interfaţă abstractă pentru
disc. Programele utilizator pot folosi aceste dispozitive bloc pentru a
interacţiona cu discul dvs. fără a avea grija dacă hard-disk-urile sunt IDE,
SCSI sau altceva. Programul poate adresa ceea ce urmează să se stocheze pe disc
ca o mulţime continuă de blocuri de 512 octeţi accesibile aleator.
Partitiţii şi Slice-uri
Deşi este teoretic posibil să utilizăm un disc întreg pentru a găzdui sistemul
dvs. Linux, acesta este un lucru foarte rar pus în practică. În loc,
dispozitivele bloc întregi sunt împărţite în dispozitive bloc mai mici şi mai
uşor de manipulat. Pe sistemele amd64, acestea sunt numite partiţii.
Partiţii
Partiţiile sunt împărţite în trei tipuri:
primare, extinse şi logice.
O partiţie primară este o partiţie ce deţine informaţia stocată în zona
MBR (master boot record). Cum o zona MBR este foarte mică (512 octeţi) doar
patru partiţii primare pot fi definite (spre exemplu, /dev/hda1
până la /dev/hda4).
O partiţie extinsă este o partiţie primară specială (ceea ce înseamnă că
partiţia extinsă poate fi una din cele patru partiţii primare posibile). O
asemenea partiţie nu a existat la începuturi, dar, cum cele patru partiţii erau
prea puţine, a fost inventată pentru a extinde schema de formatare fără să se
piardă compatibilitatea cu cea anterioară.
O partiţie logică este o partiţie conţinută într-o partiţie extinsă.
Definirea acestora nu se face în MBR, ci în interiorul partiţiei extinse.
1.
Proiectarea unei Scheme de Partiţionare
Schema de Partiţionare Implicită
Dacă nu sunteţi interesat în proiectarea unei scheme de partiţionare pentru
sistemul dvs., puteţi utiliza schema de partiţionare ce o folosim pe tot
parcursul manualului:
| Partiţie |
Sistem de Fişiere |
Mărime |
Descriere |
| /dev/hda1 |
ext2 |
32M |
Partiţia pentru boot |
| /dev/hda2 |
(swap) |
512M |
Partiţia pentru swap |
| /dev/hda3 |
ext3 |
Restul discului |
Partiţia pentru rădăcină |
Dacă vă interesează cât de mare ar trebui să fie o partiţie (sau o unitate
logică), sau chiar câte partiţii (sau volume) aveţi nevoie, citiţi mai departe.
Altfel, continuaţi cu Utilizarea fdisk pentru partiţionarea
Discului.
Cât de Multe şi Cât de Mari?
Numărul de partiţii este în foarte mare măsură dependent de mediul dvs. Spre
exemplu, dacă aveţi un număr foarte mare de utilizatori, cel mai probabil veţi
dori să aveţi directorul /home separat, deoarece sporeşte
securitatea şi facilitează operaţiile de backup. Dacă instalaţi Gentoo ca
server de mail, directorul dvs. /var ar trebui să fie separat,
pentru că toate mail-urile sunt stocate în /var. O bună alegere a
sistemului de fişiere va mări la maxim performanţele. Serverele de jocuri vor
avea o partiţie /opt separată, deoarece majoritatea aplicaţiilor
server pentru jocuri sunt instalate acolo. Motivul este similar cu cel pentru
/home: securitate şi backup. Veţi dori în mod sigur să vă păstraţi
/usr mare: nu numai că va conţine majoritatea aplicaţiilor, dar
numai structura Portage ocupă în jur de 500 MOcteţi, excluzând sursele ce sunt
stocate în acesta.
După cum puteţi observa, depinde foarte mult scopul pe care doriţi să-l
atingeţi. Partiţii sau volume separate au următoarele avantaje:
-
Puteţi alege cel mai performant sistem de fişiere pentru fiecare partiţie sau
volum
-
Întregul sistem nu poate rămâne fără spaţiu liber dacă o aplicaţie
nefuncţională scrie în continuu fişiere pe o partiţie sau volum
-
Dacă este necesar, verificările sistemului de fişiere sunt reduse ca timp,
deoarece se pot executa mai multe verificări în paralel (deşi acest avantaj
este mai mare în cazul discurilor multiple, decât în cel al partiţiilor
multiple)
-
Securitatea poate fi îmbunătăţită prin mount-area unor partiţii sau volume doar
pentru citire, în mod nosuid (biţii setuid sunt ignoraţi), noexec (biţii pentru
execuţie sunt ignoraţi), etc.
În orice caz, partiţiile multiple au un mare dezavantaj: dacă nu sunt
configurate corect, pot cauza ca un sistem să aibă foarte mult loc liber pe o
partiţie şi fără loc liber pe alta. Există, de asemenea, o limitare la 15
partiţii pentru SCSI şi SATA.
Ca un exemplu de partiţionare, vă vom arăta unul pentru un disc de 20GO,
utilizat ca un laptop demonstrativ (conţine aplicaţii server pentru web,
aplicaţii server pentru mail, gnome, ...):
Cod 1.1: Exemplu de utilizarea sistemului de fişiere |
$ df -h
Filesystem Type Size Used Avail Use% Mounted on
/dev/hda5 ext3 509M 132M 351M 28% /
/dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home
/dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr
/dev/hda8 ext3 1011M 483M 477M 51% /opt
/dev/hda9 ext3 2.0G 607M 1.3G 32% /var
/dev/hda1 ext2 51M 17M 31M 36% /boot
/dev/hda6 swap 516M 12M 504M 2% <not mounted>
|
/usr este destul de plin (83% utilizat), dar odata ce toate
aplicaţiile software sunt instalate /usr nu va tinde să mai
crească prea mult. Deşi alocarea unor câţiva gigaocteţi de spaţiu de
disc pentru /var ar putea părea excesiv, amintiţi-vă că
Portage utilizează această partiţie implicit pentru compilarea pachetelor.
Dacă doriţi să vă păstraţi /var la o mărime mai
rezonabilă, cum ar fi 1 GO, va trebui să modificaţi variabila dvs.
PORTAGE_TMPDIR din /etc/make.conf să indice către
partiţia cu spaţiu liber suficient pentru compilarea pachetelor extrem de
mari, cum ar fi OpenOffice.
1.
Utilizarea fdisk pentru a vă partiţiona discul
Următoarele părţi explică modul de creare a exemplului de schemă de
partiţionare descris anterior, adică:
| Partiţie |
Descriere |
| /dev/hda1 |
Partiţia pentru boot |
| /dev/hda2 |
Partiţia pentru swap |
| /dev/hda3 |
Partiţia pentru rădăcină |
Schimbaţi schema de de partiţionare în concordanţă cu propriile preferinţe.
Vizualizarea Schemei de Partiţionare Curentă
fdisk este un utilitar foarte popular şi puternic pentru a vă împărţi
discul în partiţii. Porniţi fdisk pentru discul dvs. (în exemplul
nostru, utilizăm /dev/hda):
Cod 1.1: Lansarea fdisk |
# fdisk /dev/hda
|
Odată ce intrăm în fdisk, veţi fi întâmpinaţi cu un prompt ce va arăta aşa:
Cod 1.1: Promptul fdisk |
Command (m for help):
|
Tastaţi p pentru a afişa configuraţia curentă a partiţiilor discului dvs.:
Cod 1.1: Un exemplu de configuraţie de partiţii |
Command (m for help): p
Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
/dev/hda2 15 49 264600 82 Linux swap
/dev/hda3 50 70 158760 83 Linux
/dev/hda4 71 2184 15981840 5 Extended
/dev/hda5 71 209 1050808+ 83 Linux
/dev/hda6 210 348 1050808+ 83 Linux
/dev/hda7 349 626 2101648+ 83 Linux
/dev/hda8 627 904 2101648+ 83 Linux
/dev/hda9 905 2184 9676768+ 83 Linux
Command (m for help):
|
Acest disc este configurat să găzduiască şapte sisteme de fişiere Linux
(fiecare cu o partiţie corespondentă afişată ca "Linux") precum şi o partiţie
swap (afişată ca "Linux swap").
Ştergerea tuturor Partiţiilor
Mai întâi vom şterge toate partiţiile existente de pe disc. Tastaţi d
pentru a şterge o partiţie. Spre exemplu, pentru a şterge o partiţie existentă
/dev/hda1:
Cod 1.1: Ştergerea unei partiţii |
Command (m for help): d
Partition number (1-4): 1
|
Partiţia a fost programată pentru ştergere. Nu va mai fi afişată dacă tastaţi
p, dat nu va fi ştearsă până când schimbările nu vor fi salvate. Dacă
aţi efectuat o greşeală şi doriţi să anulaţi fără să salvaţi schimbările,
tastaţi q imediat şi apoi enter şi partiţiile dvs. nu vor fi şterse.
Acum, presupunând că doriţi într-adevăr să ştergeţi toate partiţiile de pe
sistemul dvs., tastaţi în mod repetat p pentru a vi se afişa tabela de
partiţii şi apoi tastaţi d şi numărul partiţiei pe care doriţi să o
ştergeţi. În cele din urmă, veţi termina având o tabelă de partiţie ce nu va
conţine nimic:
Cod 1.1: O tabelă de partiţii goală |
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
Command (m for help):
|
Acum că tabela de partiţii din memorie este goală, suntem gata de a crea
partiţiile. Vom utiliza o schemă de partiţionare implicită, aşa cum am amintit
anterior. Bineînţeles, nu urmaţi aceste instrucţiuni mot-a-mot dacă nu doriţi
aceeaşi schemă de partiţionare!
Crearea Partiţiei pentru Boot
Mai întâi trebuie creată o partiţie pentru boot mică. Tastaţi n pentru a
crea o nouă partiţie, apoi p pentru a selecta-o ca partiţie primară,
urmat de 1 pentru a selecta prima partiţie primară. Când vi se va cere
primul cilindru, apăsaţi enter. Când vi se va cere ultimul cilindru, tastaţi
+32M pentru a crea o partiţie de 32 Mocteţi ca mărime:
Cod 1.1: Crearea partiţiei pentru boot |
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
|
Acum, când tastaţi p, ar trebui să vi se afişeze:
Cod 1.1: Partiţia de boot creată |
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
|
Trebuie să facem această partiţie capabilă de boot. Tastaţi a pentru a
activa indicatorul de boot pentru această partiţie şi apoi selectaţi 1.
Dacă apăsaţi p din nou, veţi observa că un caracter * este
afişat pe coloana "Boot".
Crearea Partiţiei pentru Swap
Acum, trebuie creată partiţia pentru swap. Pentru acest lucru, tastaţi n
pentru o nouă partiţie, apoi p pentru a-i specifica aplicaţiei fdisk că
doriţi o partiţie primară. Apoi, tastaţi 2 pentru a crea-o ca a doua
partiţie primară, /dev/hda2 în cazul nostru. Când vi se va cere
primul cilindru, apăsaţi enter. Când vi se va cere ultimul cilindru, tastaţi
+512M pentru a crea o partiţie de mărimea a 512 MO. După ce aţi
specificat acest lucru, apăsaţi t pentru a seta tipul partiţiei,
2 pentru a selecta partiţia pe care tocmai aţi creat-o, şi apoi tastaţi
82 pentru a seta tipul partiţiei ca "Linux Swap". După terminarea
acestor paşi, prin tastarea p ar trebui să vi se afişeze o tabelă de
partiţii similară cu aceasta:
Cod 1.1: Afişarea partiţiilor după crearea partiţiei pentru swap |
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
|
Crearea Partiţiei Rădăcină
În cele din urmă, trebuie creată partiţia rădăcină. Pentru acest lucru, tastaţi
n pentru a crea o nouă partiţie, apoi p pentru a îi specifica
aplicaţiei fdisk că doriţi o partiţie primară. Apoi tastaţi 3 pentru a
crea-o ca treia partiţie primară, /dev/hda3 în cazul nostru. Când
vi se va cere primul cilindru, apăsaţi enter. Când vi se va cere ultimul
cilindru, apăsaţi enter pentru a crea o partiţie ce va ocupa restul spaţiului
rămas disponibil pe discul dvs. După terminarea acestor paşi, prin tastarea
p ar trebui să vi se afişeze de tabelă de partiţii similară cu aceasta:
Cod 1.1: Afişarea partiţiilor după crearea partiţiei rădăcină |
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
/dev/hda3 82 3876 28690200 83 Linux
|
Salvarea Schemei de Partiţionare
Pentru a salva schema de partiţionare şi a ieşi din fdisk, tastaţi
w.
Cod 1.1: Salvarea şi ieşirea din fdisk |
Command (m for help): w
|
Acum că partiţiile dvs. sunt create, puteţi continua cu Crearea Sistemelor de Fişiere.
1.
Crearea Sistemelor de Fişiere
Introducere
Acum, că partiţiile dvs. sunt create, este timpul să aplicăm un sistem de
fişiere pe acestea. Dacă nu vă pasă ce sistem de fişiere să alegeţi şi sunteţi
mulţumiţi cu ceea ce utilizăm noi implicit în acest manual, continuaţi cu Aplicarea unui Sistem de Fişiere pe o Partiţie.
Altfel, citiţi mai departe pentru a învăţa despre sistemele de fişiere
disponibile...
Sisteme de Fişiere?
Sunt disponibile mai multe sisteme de fişiere. Unele dintre ele sunt
considerate stabile pe arhitectura amd64, altele nu. Următoarele sisteme de
fişiere sunt considerate stabile: ext2 şi ext3. jfs şi reiserfs sunt
funcţionale, dar mai trebuie testate. Dacă nu sunteţi genul aventuros, puteţi
încerca sistemele de fişiere nesuportate.
ext2 este cel mai încercat sistem de fişiere Linux, dar nu conţine
destule informaţii de tip metadata pentru jurnalizare, ceea ce înseamnă că
verificările de rutină ale sistemului de fişiere ext2 la pornirea sistemului
pot dura o perioada considerabilă de timp. Există acum o mulţime de sisteme de
fişiere jurnalizate din noua generaţie ce pot fi verificate pentru consistenţă
foarte repede şi sunt, de aceea, preferate celor corespondente nejurnalizate.
Sistemele de fişiere jurnalizate previn durata lungă la pornirea sistemului
când sistemul de fişiere este într-o stare de inconsitenţă.
ext3 este versiunea jurnalizată a sistemului de fişiere ext2, oferind
informaţii de jurnalizare de tip metadata pentru recuperări rapide în plus faţă
de alte moduri de îmbunătăţire ca jurnalizarea completă a datelor şi
jurnalizarea ordonată a datelor. ext3 este un sistem de fişiere foarte bun şi
sigur. Conţine o indexare adiţională b-tree, opţiune de indexare ce oferă o
performanţă bună în aproape toate situaţiile. Puteţi activa această indexare
prin adăugarea opţiunii -O dir_index comenzii mke2fs. Pe scurt,
ext3 este un sistem de fişiere excelent.
ReiserFS este un sistem de fişiere B*-tree ce oferă în general o
performanţă foarte bună şi depăşeşte mult atât ext2 cât şi ext3 în cazul
fişierelor mici (mai mici de 4K), în cele mai multe cazuri cu un coeficient de
10-15 ori. ReiserFS oferă o scalabilitate foarte bună şi conţine jurnalizare de
tip metadata. Începând cu kernel 2.4.18+, ReiserFS este solid şi utilizabil
atât în cazuri normale cât şi pentru cazuri extreme cum ar fi crearea de
sisteme de fişiere foarte mari, utilizarea multor fişiere foarte mici, fişiere
foarte mari şi directoare conţinând zeci de mii de fişiere.
XFS este un sistem de fişiere cu jurnalizare metadata ce are un set de
funcţionalităţi robuste şi este optimizat pentru scalabilitate. Recomandăm
utilizarea acestui sistem de fişiere doar pe sistemele Linux ce conţin discuri
SCSI şi/sau sisteme de stocare pe fibra optică şi care deţin o sursă de
alimentare neîntreruptibilă. Deoarece XFS utilizează într-un mod agresiv
păstrarea datelor tranzitate în RAM, programele ce nu sunt proiectate corect
(cele care nu îşi asigură precauţii la scrierea fişierelor pe disc care sunt
destul de puţine) pot pierde multe date dacă sistemul se opreşte în mod
neaşteptat.
JFS este sistemul de fişiere cu jurnalizare de înaltă performanţă al
IBM. A devenit gata pentru producţie şi nu există prea multe înregistrări
pentru a comenta pozitiv sau negativ asupra stabilităţii generale a acestuia în
acest moment.
Aplicarea unui Sistem de Fişiere pe o Partiţie
Pentru a crea un sistem de fişiere pe o partiţie sau volum, există utilitare
disponibile pentru fiecare sistem de fişiere posibil:
| Sistem de Fişiere |
Comanda pentru Creare |
| ext2 |
mke2fs |
| ext3 |
mke2fs -j |
| reiserfs |
mkreiserfs |
| xfs |
mkfs.xfs |
| jfs |
mkfs.jfs |
Spre exemplu, pentru a avea partiţia de boot (/dev/hda1 în
exemplul nostru) ca ext2 şi partiţia rădăcină (/dev/hda3 în
exemplul nostru) ca ext3 (ca în exemplul nostru), ar trebui să utilizaţi:
Cod 1.1: Aplicarea unui sistem de fişiere pe o partiţie |
# mke2fs /dev/hda1
# mke2fs -j /dev/hda3
|
Acum creaţi sistemele de fişiere pe partiţiile nou create.
Activarea Partiţiei Swap
mkswap este comanda utilizată pentru a iniţializa partiţiile swap:
Cod 1.1: Crearea unei semnături Swap |
# mkswap /dev/hda2
|
Pentru a activa partiţia swap, utilizaţi swapon:
Cod 1.1: Activarea partiţiei swap |
# swapon /dev/hda2
|
Creaţi şi activaţi partiţia swap utilizând comenzile menţionate anterior.
1.
Mount-area
Acum ca partiţiile dvs. sunt iniţializate şi găzduiesc un sistem de fişiere,
este timpul să mount-aţi aceste partiţii. Utilizaţi comanda mount. Nu
uitaţi să creaţi directoarele de mount pentru fiecare partiţie creată. Ca un
exemplu, vom mount-a partiţiile rădăcină şi de boot:
Cod 1.1: Mount-area partiţiilor |
# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot
|
Notă:
Dacă doriţi ca directorul /tmp să se afle pe o partiţie separată,
asiguraţi-vă că îi schimbaţi permisiunile după mount-are: chmod 1777
/mnt/gentoo/tmp. Aceasta este valabil şi pentru /var/tmp.
|
Trebuie, de asemenea, să utilizăm mount pentru sistemul de fişiere proc (o
interfaţă virtuală cu kernel-ul) în /proc. Dar, mai întâi va
trebui să stocăm fişierele noastre pe partiţii.
Continuaţi cu (Instalarea Fişierelor de Instalare
Gentoo).
|