Gentoo Logo

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 si 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ăra 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

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>
(Spaţiu nepartiţionat pentru utilizarea ulterioară: 2 GO)

/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 sitsemul 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 the 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): (Apăsaţi Enter)
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 sistemel 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 acum.

1.  Mount-area

Acum, că 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).

Actualizat la 27 Februarie 2006

Versiunea originală a acestei traduceri nu mai este întreţinută

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.