|
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>
|
/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):
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).
|