O introducere în FreeBSD pentru utilizatorii Linux. Mituri despre FreeBSD

Dispozitivele și programele utilizator de bază (așa-numitele userland), cum ar fi shell-urile de comandă etc., sunt conținute într-un singur arbore de sistem de control al versiunilor (până la 31 mai 2008 - CVS, acum - SVN). Acest lucru distinge FreeBSD de GNU/Linux - un alt gratuit asemănător UNIX sistem de operare- în care nucleul este dezvoltat de un grup de dezvoltatori și un set de programe utilizator de către alții (de exemplu, proiectul GNU) și numeroase grupuri le adună totul într-un singur întreg și îl lansează sub formă de diferite distribuții Linux .

FreeBSD sa dovedit a fi un sistem pentru construirea de servere intranet și Internet. Oferă servicii de rețea destul de fiabile și un management eficient al memoriei.

Pe lângă stabilitatea sa, FreeBSD este popular și datorită licenței sale, care diferă semnificativ de binecunoscuta licență GNU GPL - permite utilizarea codului nu numai în software-ul liber, ci și în cele proprietare. Spre deosebire de GNU LGPL, care permite, de asemenea, utilizarea codului gratuit program închis, licența BSD este mai simplă și mai scurtă.

Poveste

FreeBSD 3

3.0-RELEASE anunțat pe 13 octombrie 1998. Principala diferență față de 2.2 este tranziția la fișierele executabile ELF. Ultima versiune 3.5-RELEASE a fost lansată pe 23 iunie 2000.

FreeBSD 4

Una dintre principalele Dezavantaje FreeBSD 4 este considerat a avea suport slab pentru sistemele multiprocesor, în special în modul multithreading.

FreeBSD 4 a stabilit un fel de record pentru durata dezvoltării unei ramuri a sistemului de operare - în cinci ani au fost eliminate un număr mare de erori și s-a obținut un sistem extrem de stabil.

În mijlocul dezvoltării FreeBSD 4, proiectul DragonFlyBSD s-a desprins din acesta, ai cărui fondatori și-au stabilit ca obiectiv optimizarea serioasă a nucleului pentru sistemele cu încărcare mare, în special un suport mai bun pentru multiprocesare (reducerea timpului necesar pentru comutarea firelor de execuție). , etc.).

FreeBSD 5

Cea mai mare schimbare arhitecturală din FreeBSD 5 este o modificare a mecanismului de blocare la nivelul inferior al nucleului pentru a îmbunătăți suportul pentru sistemele SMP cu multiprocesor. Acest lucru a eliberat cea mai mare parte a nucleului de așa-numitul „Giant lock”. Acum nucleul are capacitatea de a efectua mai multe sarcini simultan. O altă schimbare importantă a fost implementarea suportului nativ pentru multithreading M:N numit Kernel Scheduled Entities (KSE). Începând cu FreeBSD 5.3, această implementare de threading a fost instalată implicit până când a fost înlocuită cu implementarea modelului 1:1 în FreeBSD 7.

FreeBSD 5 a făcut o schimbare majoră în sistemul bloc I/O odată cu introducerea sistemului modular, structural de traducere a cererilor I/O GEOM (contribuit de Poul-Henning Kamp). GEOM face posibilă crearea diferitelor funcționalități, cum ar fi oglindirea sau criptarea (module GBDE și GELI).

Versiunile 5.4 și 5.5 au fost considerate stabile și performante, dar versiunile anterioare nu erau potrivite pentru utilizare în producție.

FreeBSD 6

Participanții la proiect dezvoltă o ramură CURRENT (versiunea curentă) și mai multe STABLE („stabile”, stabilitatea înseamnă o garanție a interfețelor neschimbate, cum ar fi API, ABI și așa mai departe).

Codul nou este trimis în filiala CURRENT, unde primește o testare mai extinsă. Noile funcții adăugate la CURRENT pot rămâne în sistem sau pot fi abandonate dacă implementarea nu are succes. Uneori, această versiune poate fi într-o stare inutilizabilă. Odată cu începerea utilizării perforce ca depozit secundar și odată cu alocarea unui proiect/zonă în svn, proiectul se străduiește să se asigure că CURRENT este întotdeauna în funcțiune.

Versiunea STABLE conține doar acele inovații care au fost testate de CURRENT. Cu toate acestea, această versiune este, de asemenea, destinată în principal dezvoltatorilor. Nu este recomandat să actualizați serverele de producție critice la STABLE fără a le testa mai întâi. Bazate pe STABLE, versiunile RELEASE sunt create în mod regulat, testate temeinic de dezvoltatori, un grup de ingineri de lansare și o gamă mai largă de utilizatori.

După lansarea versiunilor, sunt create ramuri de dezvoltare suplimentare pentru a sprijini versiunile, dar numai cele mai necesare modificări sunt făcute pentru a remedia erori grave sau probleme de securitate a sistemului. Până la a patra versiuni FreeBSD ramurile stabile și actuale aveau același număr major de versiune. Sucursalei actuale i s-a atribuit apoi numărul 5, în timp ce ramura stabilă a rămas numărul 4.

Ramurile de dezvoltare stabilă suportate în prezent sunt 7-STABLE, 8-STABLE și 9-STABLE și actualele 10-CURRENT. Ofițerii de securitate mențin filiala 7-STABLE pentru acei utilizatori care nu au făcut încă upgrade la FreeBSD versiunile 8 și 9.

Opțiuni de instalare

Sistemul de operare FreeBSD poate fi instalat cu diverse medii, ca:

  • Partiție FAT hard disk;
  • server la distanță (prin protocolul FTP sau NFS).

Porturi și pachete

FreeBSD oferă în prezent utilizatorului două tehnologii complementare pentru instalarea de software terță parte: o colecție de porturi FreeBSD și pachete software binare. Oricare dintre aceste sisteme poate fi folosit pentru a instala cele mai recente versiuni de aplicații din media locală sau direct din rețea.

Colecția de porturi, ca subsistem al sistemului de asamblare și întreținere a programelor instalate, este actualizată periodic. Acum are aproximativ 22 de mii de programe portate pe FreeBSD, inclusiv: medii grafice GNOME 2.32.1, KDE 4 4.7.4, aplicații și pachete de birou OpenOffice.org 3.3.2, LibreOffice 3.4.5, sistem de suport pentru imprimare CUPS 1.5.2, Programe de acces la Internet Mozilla Firefox 10.0.2 și Thunderbird 10.0.2, Google Chromium 17.0.963.65, sisteme de gestionare a bazelor de date PostgreSQL 8.2.23, 8.3.18, 8.4.11, 9.0.7 și 9.1.3, MySQL 4.025, .1 .95, 5.1.61 și 5.5.21, kituri de dezvoltare Java OpenJDK 6 b24 și OpenJDK7 7.2.13, medii de dezvoltare Eclipse 3.6.2 cu adăugiri pentru dezvoltarea web și baze de date și NetBeans 7.1. Infrastructura limbajului de interpretare este reprezentată de Perl 5.12.4 cu capacitatea de a migra la Perl 5.14.2, Python 2.7.2 și Ruby 1.8.7 și 1.9.3.

Siglele mascotelor

Mascota principală a sistemului este demonul roșu, cunoscut și sub numele de Beastie. Pe lângă el, Devilette, o fată în costum de demon roșu, este și ea considerată o mascota.

Sisteme derivate

Licența BSD permite păstrarea secretelor comerciale în timp ce FreeBSD este modificat pentru sistemele încorporate și sunt produse alte derivate proprietare, făcând FreeBSD atractiv pentru industrie. În același timp, rămâne necunoscut în ce tehnologie specifică este folosită FreeBSD, cu excepția routerelor Juniper și a panourilor TV. Următoarele sunt sisteme de operare derivate gratuite.

  • DragonFly BSD este o furcă de la FreeBSD 4.8, creată ca o continuare logică a celei de-a patra ramuri. Include un sistem de threading de mesaje similar cu cel utilizat în sistemele microkernel.
  • FreeSBIE este o distribuție LiveCD a FreeBSD, similară cu distribuția Linux numită Knoppix.
  • Frenzy este un alt proiect LiveCD bazat pe FreeBSD, destinat în principal administratorilor de sistem vorbitori de limbă rusă.
  • TrueBSD este o distribuție LiveDVD din Belarus bazată pe FreeBSD.
  • BSDeviant este un alt LiveCD.
  • MiniBSD este o distribuție FreeBSD compactă.
  • NanoBSD este o altă distribuție compactă FreeBSD.
  • mfsBSD este un LiveCD miniatural bootabil bazat pe FreeBSD, încărcat integral în memoria RAM a computerului.
  • Debian GNU/kFreeBSD este o versiune derivată bazată pe setul de instrumente GNU, dezvoltat de grupul de utilizatori Debian.
  • Darwin este nucleul Mac OS X, multe comenzi sunt preluate din FreeBSD 4/5, dezvoltat de Apple, o rudă foarte îndepărtată a FreeBSD, deoarece folosește nucleul Mach.
  • m0n0wall este un firewall plug-in bazat pe FreeBSD.
  • pfSense este o furcă din proiectul m0n0wall, cu o funcționalitate mai mare.
  • FreeNAS - bazat pe m0n0wall stocare în rețea NAS
  • PC-BSD este o distribuție cu un program de instalare grafic și mediul desktop KDE în mod implicit.
  • RUS-BSD este o clonă a PC-BSD, o distribuție rusificată pentru utilizatorii din țările CSI, din versiunea 8.1 RUS-BSD se bazează pe Frenzy și pe dezvoltările sale.
  • GhostBSD - LiveCD cu mediul de desktop GNOME implicit.
  • DesktopBSD este o altă distribuție pentru uz casnic.
  • BSD Router Project (BSDRP) este un router software compact bazat pe FreeBSD.

ouă de Paște

Vezi de asemenea

  • Cum se corectează KDE2 sub FreeBSD?

Literatură

Cărți

  • Christopher Negus, Francois Caen, BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD, Wiley, 5 mai 2008, 309 pp., ISBN 0-470-37603-1.
  • Babak Farrokhi, Administrarea rețelei cu FreeBSD 7: Construirea, securizarea și întreținerea rețelelor cu sistemul de operare FreeBSD, Packt Publishing, 14 aprilie 2008, 280 pp., ISBN 1-84719-264-5.
  • Bryan J. Hong, Construirea unui server cu FreeBSD 7, No Starch Press, 1 aprilie 2008, 288 p., ISBN 5-8459-0741-1.
  • Joseph Kong, Designing BSD Rootkits: An Introduction to Kernel Hacking, No Starch Press, 10 aprilie 2007, 144 pp., ISBN 1-59327-142-5.
  • Brian Tyman. FreeBSD 6. Ghid complet= FreeBSD 6 Unleashed. - M.: „Williams”, 2007. - 1056 p. - ISBN 5-8459-0741-1
  • Harald Zisler, FreeBSD, Franzis Verlag GmbH, 31 august 2006, 381 p., ISBN 3-7723-6538-8
  • Roderick Smith. Referința completă la FreeBSD = FreeBSD: Referința completă. - M.: „Williams”, 2005. - 672 p. - ISBN 5-8459-0576-1
  • Yanek Korff, Paco Hope, Bruce Potter., Stăpânirea securității FreeBSD și OpenBSD, O'Reilly, martie 2005. ISBN 0-596-00626-8.
  • Michael Lucas.= BSD absolut. Ghidul suprem pentru FreeBSD. - Sankt Petersburg. : Simbol-Plus, 2004. - 616 p. - ISBN 5-93286-066-9
  • Dru Lavigne. Hack-uri BSD, 100 de sfaturi industriale pentru utilizatorii și administratorii BSD. O'Reilly, mai 2004. ISBN 0-596-00679-9.
  • Michael Urban, Brian Tiemann. FreeBSD Unleashed, a doua ediție. Editura Sams, aprilie 2003. ISBN 0-672-32456-3.
  • Greg Lehey. FreeBSD complet, ediția a 4-a, documentație din sursă. O'Reilly, aprilie 2003. ISBN 0-596-00516-4.
  • Marshall Kirk McKusick, George V. Neville-Neil. Proiectarea și implementarea sistemului de operare FreeBSD. Addison Wesley Professional, august 2004. ISBN 0-201-70245-2.
  • Ted Mittelstaedt. Ghidul FreeBSD Corporate Networkers. Addison-Wesley, decembrie 2000. Broşat, ediţie carte şi CD, 401 pagini. ISBN 0-201-70481-1.
  • Manualul FreeBSD, volumul 1: Ghidul utilizatorului, ediția a 3-a. Proiect de documentare FreeBSD. FreeBSD Mall, noiembrie 2003. ISBN 1-57176-327-9.
  • Manualul FreeBSD, volumul 2: Ghid de administrare, ediția a 3-a. Proiect de documentare FreeBSD. FreeBSD Mall, septembrie 2004. ISBN 1-57176-328-7.

Reviste

Legături

Note

În subiect există un raid de Linuxoids :-) HZ, cei care se plâng de unele probleme cu fr pur și simplu nu știu cum să-l pregătească. Corny, nu? :-) La ultimele mele trei locuri de muncă, fria a fost folosită la maxim. Și la locul nostru de muncă actual, eliminăm tot ce este posibil din Linux și lăsăm doar ceea ce nu este permis - de regulă, software foarte specific dezvoltat doar pentru Linux. Orice altceva - servere PPPoE, web, mail, monitorizare, servere auxiliare, servere de fișiere - totul rulează pe fr. După cum este de obicei, nu avem probleme.

Nu știu ce tehnologii folosesc difuzoarele de mai sus pe care nu le pot folosi în fr, dar nu am văzut nicio restricție fundamentală pe FreeBSD ca platformă.

Există probleme cu anumite produse pe fr - da. Nu voi spune nimic despre Bitrix, dar performanța samba pe Linux este mai mare decât pe fr. Dar aceasta nu este o problemă cu sistemul, ci mai degrabă cu samba în sine, ai cărui dezvoltatori nu au vrut să se ocupe de problemele samba în programul gratuit.

În general, Frya este un sistem destul de bun și mult mai logic aranjat intern decât multe distribuții Linux. Există scenarii pe care Linux le poate implementa, dar Fria nu. Dar există și scenarii inverse. Deci nu există o rețetă universală aici.

Orice servicii „universale” pe fr funcționează bine. Despre probleme cu managerii de pachete- asta e gunoi, Linux mint totul :-) Sunt cu mult în urmă, nu au existat probleme speciale cu managerii de pachete de mult timp. Separat, au oferit povești despre faptul că, dacă asamblați software din porturi, mai târziu veți avea probleme cu pachetele :-)

ZFS pe Linux este cu mult în urma ZFS pe fr în ceea ce privește funcționalitatea. În ZFS-on-linux, abia în ultima versiune a fost adăugat algoritmul de compresie lz4, care este disponibil în cadru de mai bine de doi ani. Suportul ACL a fost adăugat recent, ceea ce, din nou, frya a fost capabil să facă de multă vreme.

Pe scurt, se pot da un milion de exemple, dar concluzia este destul de simplă - nu credeți afirmațiile conform cărora „instrumentul XXX este wow, iar instrumentul YYY este wow”. Fiecare dintre ele are avantajele și dezavantajele sale, trebuie doar să le cunoști și să folosești instrumentul potrivit. Dacă intenționați să configurați servere „într-o corporație” sau pentru sarcinile unui furnizor de comunicații, sau pur și simplu să vă puneți site-ul web pe Internet, atât Fria, cât și Linux vor rezolva perfect aceste probleme. Dacă faci un fel de stocare, pentru virtualizare, de exemplu, aș folosi gratuit. Dacă intenționați să creați un proiect web mare, cu încărcare mare, poate că Linux este o alegere mai bună.

Eu, în calitate de fost administrator corporativ și acum administrator al unui furnizor de internet și servicii, nu întâmpin nicio problemă cu fry în munca mea.


Introducere neplanificată

A venit cu chipul unui ucigaș
Cu privirea unui sugător de sânge rău,
Și a spus că el este criticul meu,
Și dorința mea este bună.
El ce zice, stilul meu este slab?
Estetic nu este aproape.
Eu sunt o prostie, iar el este Belinsky,
Toate frenetice.

Timur Shaov,
Convorbire cu un critic

Am fost îndemnat să scriu această introducere de numărul mare de răspunsuri la primele trei articole din această serie. Care poate fi împărțit în pozitiv și critic. Așa că m-am hotărât să răspund la toate, ca să zic așa, en gros.

Totul este clar cu răspunsurile din primul grup: nu pot decât să vă mulțumesc pentru sprijin. Desigur, toate lucrările mele au fost scrise în primul rând pentru plăcerea mea, dar este bine că altcineva este interesat să le citească.

La criticile nefondate, aș răspunde astfel: dragi domni, dacă credeți că înțelegeți problemele în discuție mai bine decât mine (pe care sunt dispus să le cred cu ușurință), de ce nu vă dedicați o parte din timpul petrecut în flăcări forum pentru educarea publicului larg? Și nu ai scrie ceea ce ai nevoie, așa cum ai nevoie, pe subiectele potrivite? De preferință în limba literară rusă, cu un minim de expresii idiomatice. Îmi voi asum cu plăcere rolul unui cititor atent, absorbind toate informațiile utile pe care le furnizați. Și critică din punctul de vedere al limbii literare ruse (intuiția mea îmi spune că vor fi motive mai mult decât suficiente pentru aceasta).

Cu toate acestea, trebuie să adaug că apreciez cu adevărat toate criticile constructive. Ceea ce sper să o fac în continuare

În această notă vom vorbi despre metodă organizare fizică blocuri de partiție a discului, oferind capacitatea de a scrie, stoca și manipula fișiere, specifice FreBSD în general și a 5-a ramură a acesteia în special.

Sistemul de fișiere FreeBSD aparține familiei de sisteme de fișiere Unix și are multe caracteristici comune tuturor acestora. Se numește UFS a 5-a ramură folosește versiunea sa îmbunătățită UFS2. Mai întâi, să ne uităm la principiile generale ale designului ambelor, apoi să luăm în considerare caracteristicile inerente UFS2.

Pentru dosar sisteme FreeBSD(și sistemele BSD în general, începând de la 4.2BSD) puteți găsi și un alt nume FFS (Fast Sistem de fișiere, denumirea „rapid” a fost introdusă în comparație cu sistemul de fișiere Unix System V s5). În literatura disponibilă nu am reușit să găsesc o formulare clară a relației lor. Aveam impresia că FFS este denumirea generică pentru sistemele de fișiere ale tuturor sistemelor de operare ale clanului BSD (Free-, Net-, OpenBSD și BSDi), în timp ce UFS (și UFS2) este numele unei implementări specifice pentru FreeBSD. Deși NetBSD acum (începând de la versiunea 1.6 și superioară) poate folosi UFS2 împreună cu FFS tradițional. În general, mi se pare dificil să luminez clar această problemă și, prin urmare, aș fi recunoscător pentru clarificare.

După cum sa aflat deja mai devreme, o partiție de disc este, metaforic vorbind, un grup de cilindri adiacenți împărțiți în blocuri fizice de 512 octeți. Partiția care poartă sistemul de fișiere UFS este împărțită în trei zone independente (de la începutul grupului de cilindri până la sfârșitul acestuia): un superbloc, un tabel index și o zonă de date. Este indicat să începeți să le examinați de la sfârșitul listei, adică din zona de date

Zona de date (ocupă marea majoritate a spațiului de partiție) este formată din blocuri sistem de fișiere. La fel ca un bloc fizic, un bloc de sistem de fișiere (numit și bloc logic) este o cantitate de informații disponibile într-o operație de citire/scriere, dar nu din capul discului, ci din sistemul de operare. Evident, un bloc logic nu poate fi mai mic decât un bloc fizic (adică 512 octeți), iar dimensiunea lui este în mod necesar un multiplu al unui număr întreg al acestuia din urmă.

Conceptul de bloc logic a fost introdus pentru a îmbunătăți performanța operațiunilor pe disc. Declarația nu necesită dovada că viteza de schimb de date a cuantelor de 1 KB va fi mai mare decât a cuantelor de 512 octeți, a cuantelor de 2 KB va fi și mai rapidă și așa mai departe. Și, prin urmare, din punct de vedere al vitezei operațiunilor cu fișiere, dimensiunea maximă a blocului logic al sistemului de fișiere este benefică.

Pe de altă parte, creșterea dimensiunii unui bloc logic duce la un consum irositor de spațiu pe disc din cauza așa-numitului. fragmentarea datelor interne. Nu trebuie confundat cu fragmentarea externă, pentru combaterea căreia au fost mobilizate tot felul de speeddisk-uri pe sistemele de fișiere din familia FAT, și cu combatanții: datorită particularităților algoritmilor de gestionare a datelor, sistemele de fișiere din familia Unix sunt atât de puțin sensibile. la fragmentarea externă pe care este imposibil de depășit, practic nu vorbesc deloc despre asta.

Fragmentarea internă se exprimă prin faptul că fișierul de date a cărui dimensiune mai putin de un bloc sistem de fișiere, încă îl ocupă în întregime. De asemenea, va fi necesar un bloc întreg pentru a stoca cozile de fișiere, adică reziduuri care depășesc volumul care este un multiplu al mărimii blocului logic. Pentru a combate fragmentarea în UFS, scuze pentru tautologie, a fost introdus conceptul de fragment - o parte logică a unui bloc de sistem de fișiere care poate fi scrisă sau citită independent de restul acestuia.

Este clar că dimensiunea fragmentului încă nu poate fi mai mică decât un bloc fizic. În același timp, UFS îi impune și o contra-restricție: dimensiunea minimă a fragmentului este determinată a fi 1/8 dintr-un bloc logic. Alte valori posibile sunt 1/4 și 1/2 bloc de sistem de fișiere (în mod evident, alocarea unui fragment în dimensiunea blocului este echivalentă cu refuzul de a fragmenta blocul, deși acest lucru se presupune că nu este interzis).

Cum se determină că un bloc de date aparține unui anumit fișier? Folosind un tabel index, numit și tabel de descriptor de fișiere sau tabel inode. Este format dintr-un anumit număr (finit) de înregistrări de lungime fixă ​​(128 KB în UFS, 256 în UFS2), fiecare dintre ele corespunde în mod unic unui fișier, ambele existente efectiv și unul care poate fi doar creat.

Această intrare de tabel de index se numește inode, pe care o vom rezerva pentru ea. Pentru că toate traducerile acestui termen cunoscute de mine, cum ar fi nodurile informaționale sau descriptorii de index, par foarte stângace. În plus, cuvântul „descriptor” apare și în contextul „descriptorului de fișier”, care înseamnă un identificator (unic, altfel ce va identifica?) al unui fișier utilizat de un anumit proces (care nu are nicio legătură cu sistemele de fișiere). - acesta este domeniul de aplicare al subsistemului de control al procesului). Și acești descriptori nu au nimic în comun unul cu celălalt. Deci, inode cu identificatorul 2 (și acesta este întotdeauna identificatorul directorul rădăcină sistem de fișiere) și descriptorul de fișier numărul 2 (și pentru orice proces acesta va fi dispozitivul standard de ieșire a mesajelor de eroare, /dev/stderr) nu se corelează între ele în niciun fel (deși din anumite motive nu le place să vorbească despre asta cu voce tare).

Cu toate acestea, mă abatem, să revenim la inodele noastre. Fiecare membru al acestui tabel conține ceea ce se numește metadate ale fișierului. Pentru un fișier real, acestea includ:

  • un identificator unic al inodului (și, în consecință, fișierul ale cărui metadate le conține) acesta este pur și simplu un contor pentru fișierele create în sistemul de fișiere);
  • tip de fișier - acesta poate fi un director, o legătură simbolică, un fișier de dispozitiv, o conductă sau un socket numit sau un fișier obișnuit (adică, care nu are legătură cu niciunul dintre tipurile enumerate);
  • dimensiunea fișierului în octeți;
  • numărul de link-uri către fișier (vom reveni la această problemă puțin mai mic);
  • adresele blocurilor logice și fragmentele acestora care alcătuiesc fișierul;
  • numărul de blocuri ocupate de acesta;
  • atributele fișierului - proprietate, acces, timp (și acest lucru va face obiectul unei analize detaliate de mai multe ori).

Dar ceea ce nu poți găsi în inode sub nicio formă este numele care îi corespunde (sau ea? Dintr-un motiv oarecare mi se pare că inode, spre deosebire de gramatică, este feminin). În orice carte despre Unix ei nu se obosesc să repete (și nu mă voi abate de la această tradiție) că un nume de fișier este un atribut nu al fișierului în sine, ci al directorului căruia îi aparține. Deoarece înțelegerea acestui lucru va fi necesară atunci când vă familiarizați cu mecanismul Actualizări soft în nota următoare, voi face mica retragere pentru a clarifica problema denumirii fișierelor în FreeBSD (și în Unix în general).

La descrierea conținutului tabelului de inoduri, câmpul tip fișier a fost menționat în trecere. Deci, în Unix, toate fișierele (și tot ceea ce este disponibil în Unix, inclusiv dispozitivele fizice, sunt prezentate sistemului ca fișiere) sunt împărțite în două grupuri - directoare și altele. Alte fișiere pot servi în diverse scopuri (stocarea datelor și a programelor executabile, a fi legături simbolice, a descrie dispozitive sau mijloace de interacțiune între procese; despre toate acestea vom vorbi în timp util sau puțin mai târziu). Scopul directoarelor este unic, dar foarte important: să fie custozii denumirilor fișierelor incluse în ele, care sunt atribuite în mod unic identificatorilor de inoduri care stochează metadatele acestor fișiere.

Adică, numele fișierului există doar în lista de director și nicăieri altundeva în sistem. Și crearea unui fișier nu înseamnă doar completarea intrării aferente acestuia în tabelul de index și completarea blocurilor de date specificate în acesta, ci și introducerea unei înregistrări cu formularul „identificator nume_fișier” în zona de date a unui director. Și un director, ca orice alt fișier, are propriile metadate în tabelul inode și propria sa zonă de date. Și, la rândul său, numele său, împreună cu identificatorul de inod, este inclus într-un director de nivel superior și așa mai departe până la rădăcina sistemului de fișiere. Câmpul pentru numărul de linkuri inode al fișierului creat este setat la valoarea minimă posibilă, egal cu unu, deoarece orice fișier este inclus în cel puțin un director, în caz contrar, pur și simplu nu va fi accesibil sistemului, fișierele cu un număr zero de legături nu par să existe pentru el (și, de fapt, inodul și blocurile de date ale acestora vor fi inevitabil; suprascris fizic în timp).

De fapt, același set de date și metadate pot fi atribuite unui număr arbitrar de directoare din același sistem de fișiere și chiar să apară sub nume diferiteîntr-un singur director în acest caz numărul de link-uri către acesta va fi adecvat. Dar numărul minim de legături către un director este de două, deoarece o intrare despre el există atât în ​​directorul părinte (..) cât și în cel curent (. adică în sine). Și fiecare subdirector imbricat crește numărul de legături din director cu unul.

Legăturile, cu ajutorul cărora un nume de fișier este asociat ca element de director cu intrarea sa în tabelul de inoduri și blocurile de date care formează fișierul, se mai numesc și hardlink-uri (un bun echivalent în limba rusă ar fi cuvântul „conexiune ”, dar cumva nu a prins). Prin link-uri hard către același set de date sau program executabil Puteți da un număr arbitrar de nume, pe care nimeni nu le interzice să fie incluse în aceleași directoare sau diferite. Singura condiție pentru aceasta este ca toate aceste nume duplicate să fie localizate în directoare ale unui singur sistem de fișiere, adică situate pe aceeași partiție de disc. Și într-una dintre notele ulterioare va deveni clar de ce.

Privind puțin în perspectivă, observ că legăturile hard trebuie să fie distinse de legăturile simbolice (legăturile simbolice, adesea numite simplu linkuri, motiv pentru care ar fi rezonabil să păstrăm denumirea de linkuri pentru ele și să numim conexiuni hardlink în limba rusă). Legăturile simbolice sunt un tip special de fișier, vag asemănător cu comenzile rapide din Windows sau shadow în OS/2, care ele însele nu conțin date, ci pur și simplu se referă la metadate și datele unui alt fișier (care pot fi localizate în afara sistemului de fișiere dat). ).

Pentru fișierele care nu există, intrările gratuite în tabelul de inoduri sunt pur și simplu rezervate. Și deoarece numărul acestor înregistrări este finit, dimensiunea tabelului de index este cea care determină câte fișiere pot fi create efectiv într-un anumit sistem de fișiere. Epuizarea înregistrărilor gratuite din acesta duce la faptul că, indiferent de cantitatea de spațiu liber pe disc, nu poate fi creat un singur fișier nou

Cu toate acestea, în interiorul acestuia nu se găsesc informații despre dimensiunea tabelului index. Pentru că locul în care sunt amplasate este același superbloc care vine primul în partiția noastră (de fapt, primul din orice partiție va fi blocul de boot, dar în realitate este ocupat doar în partiția de boot; în toate celelalte, un locul îi este rezervat pur și simplu). În plus, superblocul înregistrează dimensiunea blocului sistemului de fișiere și numărul total al acestora, numărul de blocuri de date, dimensiunea fragmentului de bloc și numărul acestora în bloc, numărul de blocuri ocupate efectiv de fișiere, volumul partiție rezervată permanent ca liberă și multe alte caracteristici ale sistemului de fișiere, despre care este nepotrivit să vorbim acum.

De fapt, cele de mai sus sunt oarecum simplificate. Specificul sistemelor de fișiere clan BSD este că partiția de disc este de fapt împărțită în părți de o dimensiune fixă ​​(în funcție de volumul partiției). Acesta este așa-numitul grupuri de cilindri, fiecare dintre ele având propria copie a superblocului (care asigură rezistența la deteriorarea mecanică a discului), propriul bloc al unui grup de cilindri care îl descrie (în special, conține hărți de inoduri libere/ocupate și hărți de blocuri de date liber/ocupat), propriul tabel de inoduri și zonă de bloc de date. Acest lucru are ca scop plasarea inodurilor și a blocurilor de date aferente cât mai aproape unul de celălalt, ceea ce, pe lângă creșterea performanței, implică și reducerea la minimum a fragmentării foarte externe a datelor menționate mai sus

Astfel, procesul de creare a unui sistem de fișiere se reduce la a) alocarea unui superbloc și scriere parametri generali sistem de fișiere, b) crearea unui tabel de inoduri (în UFS, spre deosebire de unele sisteme de fișiere moderne pentru Linux, toate inodele sunt create o dată pentru totdeauna și nu sunt alocate dinamic, după cum este necesar) și c) marcarea blocurilor în zona de date. Pentru toate acestea, la fel ca de neuitat Katerina Matvevna, un singur program, numit simplu newfs, este responsabil.

Comanda newfs necesită un singur argument: numele fișierului partiției care urmează să fie formatat, de exemplu, $ newfs /dev/ad0s1a

după care toate proprietățile de bază ale sistemului de fișiere vor fi definite implicit. Cu toate acestea, utilizatorul are puterea de a le influența folosind opțiuni, dintre care cele mai importante le vom lua în considerare (sau definindu-le o dată pentru totdeauna la nivel global, prin sysinstall, dar acesta este un subiect de altă discuție).

Opțiunea -b specifică dimensiunea blocului logic al sistemului de fișiere. Dimensiune minima cei 4096 de octeți ai săi, maximul, din câte știu eu, este determinat doar de bunul simț. Și din acest punct de vedere, valoarea „implicit” de 16384 de octeți pare rezonabilă.

Opțiunea -f setează dimensiunea fragmentului de bloc. Se recomandă definirea acestuia la 1/8 din dimensiunea blocului, care implicit este de 2048 de octeți. Valorile de 1/4 sau 1/2 bloc sunt, de asemenea, acceptabile, dar sunt puternic descurajate în documentație.

Opțiunea -i este foarte importantă deoarece setează indirect numărul de intrări din tabelul de index (adică numărul maxim de fișiere din sistemul de fișiere). Valoarea acestei opțiuni este dată în octeți alocați pentru fiecare element de tabel de index și trebuie să fie un multiplu al dimensiunii fragmentului de bloc. Valoarea implicită este de patru ori dimensiunea, ceea ce determină dimensiunea medie a fișierului estimată (8096 octeți).

O altă opțiune interesantă este -m, a cărei valoare este indicată ca procent din cantitatea totală de spațiu pe disc alocată partiției. Și reprezintă suma rezervată din scris utilizatorii obișnuiți(dar nu root - el are întotdeauna posibilitatea de a-și înregistra acțiunile pe disc Este determinat deoarece performanța operațiunilor cu fișiere în UFS scade catastrofal atunci când numărul de blocuri libere din zona de date este aproape de epuizare (testat în practică). ). Și, prin urmare, o anumită cantitate din sistemul de fișiere este salvată forțat (în mod implicit 8%).

Cu această opțiune este asociată o alta, -o, care specifică algoritmul de alocare a blocurilor de date libere la crearea fișierelor noi. Cert este că UFS este capabil să le plaseze în două moduri. Prima este metoda de ambalare densă pentru a minimiza fragmentarea internă și a economisi spațiu pe disc. Și se numește optimizare în funcție de volum (opțiunea -o ia spațiul valoric). A doua metodă (-o timp) oferă cea mai rapidă selecție blocuri gratuite pentru a crește viteza de creare a fișierelor (adică, contrar principiului lui Leonid Ilici „economia ar trebui să fie economică”). Deci, valoarea implicită -o se corelează cu valoarea -m: dacă este mai mare sau egală cu 8%, se aplică optimizarea timpului, dacă este mai mică - se aplică optimizarea volumului. Deși este posibil să se indice în mod explicit valorile exact opuse.

De fapt, toate opțiunile de mai sus sunt foarte importante, interesante și utile pentru educația generală, dar este puțin probabil ca utilizatorul să fie nevoit să recurgă la ele: valorile lor implicite, ca aproape orice în FreeBSD, sunt rezonabile și acceptabile în marea majoritate a cazuri. Dar opțiunea -U nu este activată în mod implicit la pornirea newfs. Oferă suport pentru un lucru extrem de util - mecanismul Soft Updates, care ajută (paradoxal, dar adevărat) atât la creșterea vitezei operațiunilor cu fișiere, cât și la stabilitatea sistemului de fișiere.

Subiectul actualizărilor soft este însă atât de interesant în sine încât merită o discuție separată, pe care o vom face în secțiunea următoare a aceleiași note. Între timp, să ne uităm la diferențele dintre versiunea actuală a sistemului de fișiere FreeBSD, UFS2, și predecesorul său, UFS.

Tot ce s-a spus mai sus despre sistemul de fișiere FreeBSD s-a aplicat în mod egal ambelor soiuri. Caracteristica principală UFS2 faptul că este pe 64 de biți și, în consecință, este capabil să lucreze cu volume de disc de mai mult de un terabyte (mă întreb dacă acest lucru va deveni în curând relevant pentru utilizatorul de desktop? Judecând după ritmul unității de disc, această dată nu este departe). În acest sens, permiteți-mi să vă reamintesc că lungimea intrării în tabelul de inoduri din UFS2 s-a dublat și este egală cu 256 de octeți.

În plus, UFS2 include suport pentru atributele de fișiere extinse, în special ACL-uri, dar acest lucru este esențial pentru administratorii de rețea. Dar ceea ce poate observa utilizatorul este că crearea unui nou sistem de fișiere este mai rapidă (pe partițiile de disc mari acest lucru este cu adevărat vizibil, după cum se spune, organoleptic). Acest lucru se întâmplă din cauza așa-numitului. Inițializarea „leneșă” a inodurilor, deși nu există o alocare dinamică a acestora, ca, de exemplu, în XFS.

În general, din punctul de vedere al utilizatorului, diferențele dintre UFS și UFS2 pot să nu fie vizibile. Cu toate acestea, nu există nici un motiv pentru a abandona UFS2. Mai mult, atât newfs, care a fost menționat mai sus, cât și sysinstall, despre care se va discuta mai târziu, în mod implicit acum (în a 5-a ramură) creează exact acest lucru. Dacă doriți doar să creați UFS (pentru compatibilitate cu versiunile ramurilor anterioare care nu acceptă UFS2), acest lucru trebuie făcut forțat prin specificarea opțiunii -O pentru newfs 1.Soft Updates Paradox

Cu toate avantajele sale, sistemul de fișiere FreBSD nu se poate lăuda cu un singur lucru: viteza. Și asta în ciuda faptului că se bazează pe sistemul de fișiere rapid Berkeleyan FFS. Cu toate acestea, epitetul de aici este în comparație cu sistemul de fișiere Unix s5, toate variantele cărora, după cum spun oamenii cunoscători, s-au distins printr-o atenție excepțională Dacă comparăm performanța sistemului de fișiere FreeBSD cu Linux Ext2fs nativ fi în favoarea primei, mai ales pe operațiuni cu un număr mare fișiere mici.

De ce? Este ușor de răspuns: datorită modului implicit al FreeBSD pentru gestionarea fișierelor modificate. Majoritatea sistemelor de fișiere normale sunt capabile să funcționeze în unul dintre cele trei moduri:

  • complet sincron, atunci când actualizările atât ale metadatelor, cât și ale zonelor de date ale fișierului sunt scrise pe disc imediat după modificarea acestuia;
  • complet asincron, în care toate modificările aduse fișierului (atât metadatele, cât și zona de date) sunt stocate în cache. RAMși sunt de fapt scrise pe disc la momentul potrivit;
  • mixt, implementând un mecanism sincron pentru metadatele modificate și memorarea în cache pentru modificările zonei de date.

Evident, primul mod oferă cea mai mare stabilitate a sistemului de fișiere la eșecuri, al doilea oferă cea mai mare viteză a operațiunilor cu fișiere (cu prețul posibilității de încălcare a integrității sistemului de fișiere și chiar distrugerea completă a acestuia în caz de urgență oprire), iar a treia oferă un fel de compromis între prima și a doua soluție.

Deci, în dosar sistem Linux(mai exact, în ext2fs, Linux recunoaște acum multe sisteme de fișiere ca fiind native) implicit, se folosește un mod de operare complet asincron, iar în FreeBSD este unul mixt. Desigur, acest lucru este determinat atunci când sistemele de fișiere sunt montate și cu opțiunile adecvate pentru comanda mount (pe care o voi arăta într-o postare aferentă), sistemul de fișiere FreeBSD poate fi făcut să ruleze complet asincron. Cu toate acestea, oamenii rezonabili nu recomandă categoric să facă acest lucru și probabil au motive pentru aceasta (unul dintre motivele pentru aceasta va deveni clar la sfârșitul notei).

Într-adevăr, în modul implicit, sistemul de fișiere FreeBSD (comparativ cu ext2fs) demonstrează o stabilitate remarcabilă. În doi ani și jumătate de lucru cu acest sistem de operare (și unul și jumătate dintre ei au fost în condiții rurale, când întreruperile de curent neașteptate erau mai mult decât obișnuite), nu am avut niciodată de înfruntat probleme din cauza încheierii anormale a unei sesiuni de lucru (în Linux există astfel de probleme care au apărut tot timpul înainte de introducerea sistemelor de fișiere jurnalizate).

Cu toate acestea, prețul pentru aceasta este viteza. Sau, mai degrabă, absența acestuia. Și acest lucru este evident mai ales atunci când copiați un număr mare de fișiere mici (o procedură care este foarte comună atunci când lucrați cu materiale în principal text). Într-adevăr, în acest caz este actualizat în modul sincron cantitate uriașă inoduri de fișiere, în timp ce datele în sine se modifică într-o cantitate nesemnificativă, iar memorarea lor în cache aduce puțină bucurie. În orice caz, copiați ceea ce ați introdus editor de text articolele de dimensiunea acestei note și volumul total al unui CD standard necesită un timp destul de sensibil (spre deosebire de Linux, unde o astfel de operațiune este efectuată aparent instantaneu; un alt lucru este că indicatorul activitate grea discul poate încă să clipească mult timp).

Mai mult, în ciuda întregii sale stabilități reale, sistemul de fișiere FreeBSD, nefiind jurnalizat, nu are în sine un mecanism care să-și garanteze propria integritate. Adică: în cazul unei opriri de urgență, când așa-numitul. clean unmount bit (clean byte acesta este unul dintre parametrii importanți ai sistemului de fișiere, scris în superblocul său la ieșirea corectă din sistem), în timpul procedurii ulterioare de pornire, un program este forțat să fie apelat pentru a-l verifica pentru a găsi neconcordanțe între metadate și zone de date (și eliminarea acestora) . Și cu dimensiunile moderne ale discurilor (și, în consecință, sistemele de fișiere pe ele), o astfel de verificare poate dura ore întregi. Desigur, acest lucru este deosebit de regretabil pentru servere, dar chiar și pe o mașină desktop aduce puține emoții pozitive.

Problema încălcării integrității există și în Linux (din motivele expuse mai sus, chiar și într-o măsură mai mare, iar în Linux este combatetă prin logare, adică înregistrarea proactivă a modificărilor în metadate (și, în unele cazuri, chiar și a datelor). ). În FreeBSD, lupta pentru integritatea sistemului de fișiere a fost purtată istoric în două direcții. Al doilea dintre ei a apărut în ramura a 5-a verificarea antecedentelor integritatea sistemului de fișiere, permițând începutul funcționare normală imediat după repornire de urgență mașini. Deoarece aceasta este una dintre inovațiile fundamentale, voi spune câteva cuvinte pe acest subiect.

Pentru a verifica integritatea sistemului de fișiere în FreeBSD, se folosește utilitarul fsck (există un utilitar cu același nume în Linux pentru ext2fs, există instrumente similare pentru alte sisteme de fișiere). Poate fi lansat de utilizator (sau mai degrabă, root) de la linie de comandă. Cu toate acestea, schema de pornire a sistemului prevede ca acesta să pornească automat dacă bitul curat de demontare nu este detectat în niciunul dintre sistemele de fișiere montate automat. Și, deoarece fsck este o operațiune pe biți, este de obicei efectuată pe sisteme de fișiere nemontate pentru a evita consecințele grave. Asta a fost cel puțin în FreeBSD până la versiunea 4.6 (nu le-am văzut pe cele mai vechi din a 4-a ramură). Dar în versiunile celei de-a 5-a ramuri, începând cu prima, acum mai bine de un an, verificarea discului de la dezvoltator poate fi efectuată pe un sistem de fișiere montat și gata de utilizare și, în consecință, în fundal după ce sistemul este încărcat complet, în paralel cu execuția munca regulata. Ar părea un fleac, dar este frumos: îmi este greu să spun cât timp ar dura o verificare completă a șuruburilor obișnuite de 80 sau 120 de gigaocteți.

Cu toate acestea, prima dată când a implementat o modalitate de a lupta pentru integritatea sistemului de fișiere a fost mecanismul Soft Updates, care simultan (sau mai degrabă, în principal) a oferit o creștere a performanței operațiunilor cu fișiere.

Mecanismul Soft Updates în sine (să lăsăm acest termen fără traducere; variantele acestui tip de „actualizări soft” nu numai că nu strălucesc cu eleganță literară, dar nici nu clarifică esența problemei) este descris în detaliu într-un articol special. de McCasick și Ganger, pe care nu văd nici un rost să-i povestesc (din fericire, este disponibil în). Pe scurt, esența acestui mecanism este de a minimiza operațiunile de scriere sincronă fără manipularea explicit asincronă a metadatelor, pe de o parte, dar și fără jurnalizarea preliminară a metadatelor (ca în sistemele de fișiere precum ReiserFS sau XFS) pe de altă parte.

Acest lucru este implementat, din nou vorbind destul de aproximativ (detaliile implementării sunt dincolo de înțelegerea mea, mărturisesc) prin așa-numitele dependențe de actualizare. Ce sunt aceste dependențe este clar intuitiv din exemplul creării unui fișier nou (pentru simplitate, gol). Acest lucru necesită:

  • o intrare în tabelul de inoduri, completând câmpurile tipului de fișier, identificatorul acestuia, contorul de legături (cu o valoare de 1 fiecare fișier trebuie să aparțină cel puțin unui director) și alte drepturi de acces acolo în conformitate cu masca lor și asa mai departe;
  • modificarea hărții inodurilor liber/ocupat dintr-un bloc de grup cilindric (inodul corespunzător noului fișier trebuie să fie marcat cu un bit ocupat în el);
  • adăugarea unei intrări cu forma „identificator nume_fișier” la structura de director în care este creat noul fișier, care oferă acea legătură unică în câmpul inode corespunzător al fișierului.

Din perspectiva integrității sistemului de fișiere, aceste operațiuni trebuie efectuate în această ordine. Adică, prezența în director a unui nume de fișier cu identificatorul unui inod gol (necreat încă sau deja distrus) este o tulburare evidentă: pentru a corecta acest tip de ultraj se lansează programul de verificare a discului după o anormalitate. incheierea sedintei.

Efectuarea operațiunilor de actualizare legate de dependență în modul sincron durează mult (fiecare va necesita propriul acces la disc în modul asincron nu există nicio garanție a menținerii secvenței (actualizările în cache pot fi scrise atunci când dorește Dumnezeu); Deci, mecanismul Soft Updates oferă, pe de o parte, controlul asupra secvenței de execuție a actualizărilor dependente (care contribuie la integritatea stării sistemului de fișiere), pe de altă parte, le grupează într-o singură operație atomică de sincronism. acces la disc, prin reducerea numărului cărora productivitatea crește. Din câte am înțeles, aceasta este explicația paradoxului Soft Updates - creșterea neașteptată atât a fiabilității, cât și a performanței.

În general, am încercat să explic cât de bine am putut și după cum am înțeles vedeți articolul menționat pentru detalii. În plus, voi menționa doar pentru a evita neînțelegerile: mecanismul Soft Updates nu numai că nu garantează siguranța datelor utilizatorului care nu au fost salvate din cauza neglijenței utilizatorului înainte de prăbușirea sistemului, dar nici nu urmărește un astfel de obiectiv. . Sarcina lui este să se asigure că sistemul de fișiere este întotdeauna prezentat cât mai consistent posibil. Cu toate acestea, același lucru se poate spune despre orice sistem de fișiere jurnal, niciunul dintre ele nu asigură erorile utilizatorilor...

Acum să vedem cum pot fi utilizate actualizările soft. Dacă creați sisteme de fișiere prin sysinstall totul este simplu: în mod implicit, activarea acestui mecanism a fost asigurată de mult timp (versiuni de la aproximativ 4.3) pentru toate sistemele de fișiere, cu excepția celui rădăcină. Acesta din urmă este justificat de considerente de securitate, care (de exemplu mașină de birou) nu mi se pare convingător, așa că îl includ aici. Deși actualizările soft nu sunt necesare în mod special pentru sistemul de fișiere rădăcină: cu partiționarea corectă a discului și funcționarea corectă, scrierea pe acesta (după instalarea inițială) are loc numai la instalarea unui nou nucleu, dar cât de des se face acest lucru în condiții normale?

La crearea manuală a sistemelor de fișiere folosind comanda newfs, Soft Updates nu este activată automat: acest lucru trebuie făcut, după cum sa menționat deja, prin specificarea opțiunii: $ newfs -U /dev/ad#s#?

Cu toate acestea, dacă a fost uitat în timpul formatării, este în regulă: pentru toate partițiile, cu excepția rădăcinii, puteți activa cu ușurință Actualizări soft folosind comanda tunefs. Pentru a face acest lucru, trebuie să treceți la modul pentru utilizator unic (foarte recomandat; am reușit cumva fără el, dar este mai bine să urmați sfaturile oamenilor rezonabili), care se face cu comanda $ shutdown acum

Demontați toate sistemele de fișiere, cu excepția rădăcinii (acest număr nu va funcționa oricum cu el) cu comanda $ umount -Af

Emiteți comanda tunefs -n enable /dev/ad#s#?

pentru fiecare partiție al cărei sistem de fișiere necesită Actualizări soft. Și, în sfârșit, repetați comanda $ shutdown acum

Proces instalare pas cu pas Sistem de operare FreeBSD pentru începători. Toate etapele instalării sunt comentate și ilustrate cu capturi de ecran.

Mă voi uita la procesul de instalare a sistemului de operare FreeBSD-5.3-RELEASE, dar, deoarece programul de instalare nu s-a schimbat de foarte mult timp, aproape tot ceea ce este descris în acest articol este valabil pentru mai multe versiuni anterioare. În cazul meu, instalarea se va face de pe un CD-ROM.

În BIOS-ul computerului, setați-l să pornească de pe un CD-ROM, introduceți discul de distribuție în unitate și reporniți. Vedem meniul programului sysinstall:

Poate fi apelat după instalare pentru unele setări, dar nu l-aș recomanda. În cele mai multe cazuri, tipul de instalare „standard” este potrivit, ceea ce am ales. Alte tipuri de instalare sunt necesare pentru cei care trebuie să configureze ceva non-standard sau pentru cei care știu exact de ce au nevoie pentru a nu instala lucruri inutile.

În primul rând, trebuie să creăm o partiție pe hard disk pentru instalarea sistemului de operare, ceea ce ni se cere să facem:

Vedem o listă de partiții existente și spațiu liber (toate numerele sunt date în octeți; apăsând „z” puteți comuta între opțiuni). Pentru a crea o secțiune, trebuie să plasați cursorul pe banda cu cantitatea specificată spatiu liber pe disc și apăsați „c” (creați). Introduceți dimensiunea dorită a partiției (în mod implicit, se propune utilizarea întregului spațiu disponibil). Dacă nu doriți să utilizați tot spațiul, atunci trebuie să specificați cantitatea (pentru a indica cantitatea în megaocteți, trebuie să adăugați MB la sfârșit, de exemplu 4096MB, implicit se presupune că dimensiunea este introdusă în sectoare ). Apoi, setați tipul (lăsați-l la 165). Puteți șterge o partiție apăsând „d” (șterge). Atenţie! Fiți atenți în această etapă - puteți elimina secțiunile necesare cu o ușoară mișcare a mâinii;) Acum salvăm modificările - „w” și terminăm - „q”. Apoi, accesați meniul pentru crearea partițiilor sistemului de fișiere FreeBSD.

Există două opțiuni aici: aveți încredere în procesul automat apăsând „a” (auto) sau creați-l manual apăsând „c” (creați, cursorul ar trebui să fie în partea de sus a liniei cu secțiunea noastră pentru FreeBSD). Dacă decideți să o creați manual, atunci în dialogul pentru crearea unei partiții de sistem de fișiere va trebui să introduceți numele și dimensiunea (dimensiunea implicită este introdusă în sectoare, pentru a o indica în megaocteți, trebuie să adăugați MB la sfârșit dintre numere, de exemplu, 256 MB).

Secțiuni necesare pentru a crea:

/ /swap /var /tmp /usr

În principiu, distribuția automată este destul de suficientă, dar aș sfătui să o faceți manual. Mai întâi, vedeți ce ne oferă instalatorul apăsând „a”, notați aceste valori, apoi ștergeți-le - „d” și faceți-o la discreția dvs. Pot oferi urmatoarele marimi:
/ 128 Mb /swap RAM*2 sau mai mult (RAM este dimensiunea memoriei RAM a computerului) /var server: 2 Gb, computer de acasă: 128 Mb / server tmp: 1 Gb, computer de acasă: 64 Mb /usr orice altceva

Odată ce am selectat dimensiunile partițiilor, putem apăsa „w” pentru a le salva și „q” pentru a continua. Vi se va solicita să instalați un manager de boot - trebuie să selectați această opțiune dacă doriți ca FreeBSD și, de exemplu, Windows sau un alt sistem de operare să trăiască pe computerul dvs. (Instalați managerul de boot FreeBSD).

Dacă doar FreeBSD este planificat pe computer, atunci abandonăm managerul de boot (Standard). Ultimul element (Niciunul) poate fi selectat dacă sistemul de operare FreeBSD a fost deja instalat pe computer și nu este nevoie să schimbați bootloader-ul de pe hard disk.

În acest moment alegem ce să instalăm suplimentar: coduri sursă OS, documentație etc. În cele mai multe cazuri, este suficient să instalați totul. Dar este mai bine să selectați personalizat și să notați acolo: base, crypto, manpages, doc, src (toate sursele sunt posibile, dar dacă economisim spațiu și reconstruim nucleul, atunci numai sys), porturi, compat4x (unele programe se pot comporta ciudat dacă nu acest mod de compatibilitate este setat).

Aici sunt fișierele copiate.

Acum trebuie să configurați unele setări de sistem. Primul pas este să configurați dispozitivul SLIP/PPP (dacă aveți unul). Aceasta este de obicei o linie dedicată internetului. Dacă există o astfel de opțiune, atunci în dialog suntem de acord făcând clic pe „DA”, selectați interfața externă (de obicei ed0), indicați setările necesare:

Există suport IPv6?

Configurare DHCP, adresa IP a computerului și poarta (calculatorul prin care se accesează Internetul; toate aceste setări trebuie obținute de la furnizorul dumneavoastră).

Apoi suntem întrebați dacă dorim să activăm imediat această interfață.

Urmează întrebări:

  • vrei ca acest computer să servească drept poartă pentru alții?
  • vrei sa configurezi programul inetd si serviciile pe care le ofera? (dacă computerul este folosit ca server, atunci trebuie configurat; puteți, desigur, să rulați aceleași servicii fără ajutorul inetd, dar aceasta este o chestiune de gust).

Doriți să permiteți accesul la computerul dvs. de la distanță prin protocol ssh(coaja sigură). Dacă aveți nevoie de acces la distanță, atunci vă sfătuiesc să utilizați ssh și să dezactivați telnet deoarece telnet este un serviciu foarte nesigur.

Ar trebui să permit? acces anonim la aparat prin ftp? (desigur, pornind de la un folder specific, și nu la întregul disc;)

Mașina este folosită ca server și client NFS? (sistem de fișiere de rețea)

Vom configura consola? (trebuie să configurați limba rusă, deci selectați da, mergeți la toate categoriile una câte una și selectați elementul marcat „rusă” - rusă, apoi faceți clic pe „ieșire”)

Este recomandat să setați ceasul computerului. Dacă ați ales da, atunci vor urma următoarele întrebări:

  • Ceasul acestui computer este setat la ora internațională? (dacă da, selectați „DA”; dacă sunt setate la ora locală sau nu sunteți sigur, selectați „NU”)
  • vi se solicită să selectați o regiune din listă:


  • ţară;
  • ce este geografic cel mai aproape de orașul tău;
  • se sugerează o abreviere pentru zonă și întrebarea „pare real”? Dacă nu, va trebui să selectați din nou.)

Ar trebui să instalez programul pentru compatibilitate cu sistemele Linux? (dacă îl instalați, veți putea rula programe pentru Linux. Dacă computerul este pentru uz casnic, vă recomand să îl instalați.)

Există un șoarece? :) (Cred că veți selecta „DA”, în dialog trebuie să specificați tipul de mouse, portul (pentru USB, selectați BusMouse) și faceți clic pe „activare”. Configuratorul vă va întreba dacă mouse-ul funcționează? trebuie să fie de acord. Poate că mouse-ul nu funcționează imediat, dar după o repornire, de obicei, toți șoarecii sunt detectați și funcționează cu un bang).

Dialog pentru selectarea programelor suplimentare de instalat. Programele sunt împărțite în categorii. Te sfătuiesc să te uiți prin toate. Numele reflectă de obicei scopul programului și le poți selecta cu ușurință pe cele de care ai nevoie (desigur, dacă știi măcar puțin engleză).

Totul depinde de sarcina pentru care este instalat FreeBSD:

  • dacă acesta este un server, atunci trebuie să selectați unele programe de rețea(apache, samba etc.);
  • dacă acesta este sistemul de operare activat computer de acasă, atunci ar fi logic să instalați Sistem X-Window(server grafic) și programe multimedia.

Meniul va avea două elemente pentru lucrul cu grupuri și utilizatori:

Acum voi arăta un exemplu de setări pentru utilizatorul vasya, care este membru al grupului de roți (grup de administrator) - acest lucru este necesar pentru a putea primi drepturi root su comanda. Dacă utilizatorul nu este membru al grupului de roți, atunci nu va putea obține drepturi de superutilizator (acest lucru se face din motive de securitate).

După ce ați configurat grupurile și utilizatorii, faceți clic pe Ieșire. Vi se va solicita să setați parola utilizatorului root.

Aceasta completează instalarea sistemului de operare FreeBSD! Acum trebuie să-l configurați pentru nevoile dvs.: localizați fonturile în KOI8-R sau CP-1251, configurați toate serviciile pe care sistemul de operare le va oferi etc. Informații despre cum să faceți acest lucru pot fi găsite pe site-urile web bsdekaterinburg.ru, precum și în manual (un manual pentru utilizatorii FreeBSD; este disponibil pe site-ul web freebsd.org.ru și, de asemenea, dacă ați instalat documentația, pe hard disk:).

Și așa arată desktopul FreeBSD pe computerul meu de acasă:

P.S. anbioZz a ajutat cu sfaturi.

Instalați FreeBSD 10 în câteva minute (instalare pas cu pas)

FreeBSD este un sistem de operare gratuit. O modificare modernă a UNIX. Una dintre cele mai multe sisteme fiabile, perfect pentru administrarea unei rețele locale, cum ar fi un server de acces, un server de e-mail, server de fișiere, servere de nume și multe altele. Nu degeaba Mac OS a fost creat în cele din urmă pe baza lui. De asemenea, este posibil să instalați un shell grafic sau să utilizați soluție gata făcută proiect PCBSD.

1. Selectarea unei distribuții, pregătirea suportului de instalare
2. Începutul instalării, partiţionarea discului
3. Selectarea și instalarea componentelor

FreeBSD mai întâi sistem de rețea iar pentru cea mai buna performanta nu are (în mod implicit) un shell grafic. Întreaga esență a muncii în acest sistem se rezumă la editare fisierele necesare, instalarea de programe, activarea funcțiilor și tastarea comenzilor.

Și când configurați sistemul pentru a se potrivi nevoilor dvs., acesta nu vă va dezamăgi. Personal, în timp ce lucram cu el (2 ani), nu am observat defecțiuni, erori sau încărcare pe echipament.

Selectarea unei distribuții, pregătirea suportului de instalare

Pe site-ul oficial puteți selecta versiunea sistemului de operare, adâncimea de biți și platforma (amd64, i386, powerpc, sparc)

După selectarea platformei, se va deschide o listă de opțiuni de instalare (CD, DVD, servere FTP, MS DOS, dischete și chiar benzi magnetice).

Desigur, este mai bine să nu „jucați cu tamburină” și să descărcați kitul de distribuție pentru discuri CD sau DVD și să ardeți discul de instalare folosind programe: Alcohol120%, UltraISO sau orice alt program de ardere. disc de instalare.

Începutul instalării, partiționarea discului

Pornim de pe discul de instalare și pornește meniul de încărcare FreeBSD. Puteți aștepta 10 secunde pentru pornire automată instalator sau faceți clic pe butonul Intră sau 1.

Ecranul va afișa multe linii de echipamente specifice. Îl puteți vizualiza făcând clic pe butonul Blocare derulare, derulați paginile folosind butoanele PageUp și PageDown.

După identificarea și testarea hardware-ului, va apărea fereastra de bun venit la instalare FreeBSD. Clic Instala


În fereastra de selectare a aspectului tastaturii, lăsați cea implicită sau selectați un aspect adecvat.



doc- documentatie pentru sistem

jocuri- jocuri

porturi- porturi pentru instalarea programelor

src- miezul sistemului

De obicei las doar src, deoarece nu am nevoie de documentație, nici de jocuri, vom instala și actualiza porturile după instalarea sistemului, deoarece cea mai recentă versiune este actualizată prin Internet. Nucleul poate fi instalat și mai târziu.


Noi decidem cu privire la feliile (așa se numesc partițiile în FreeBSD) ale hard diskului. Putem alege varianta crearea automată secțiuni sau să creăm noi înșine secțiunile de care avem nevoie.


Editorul de secțiuni a creat automat trei zone:

ada0p1 512KB freebsd-boot- zona bootloader-ului. Este suficient, nu mai este nevoie

ada0p2 19GB freebsd-ufs/- partiția rădăcină a sistemului de operare. Tot spațiul rămas este pentru sistem și fișierele cu care veți lucra. De fapt, are nevoie doar de 1 GB de memorie, cu condiția ca alte partiții să fie create și să se lucreze numai asupra lor.

Pentru experți: Este obișnuit să creați alte partiții în plus față de o partiție rădăcină:

/var- conține fișiere temporare și în continuă schimbare, jurnale.

/usr- conține fișiere cu programe instalate iar restul.

/date- in aceasta sectiune aveam fisiere de site, de exemplu.

ada0p3 1.0GB freebsd-swap niciunul- schimb fișier. Dimensiunea sa depinde de cantitatea de memorie RAM. Dacă nu este suficient, să spunem 1 GB, atunci este recomandabil să setați fișierul de swap la de două ori mai mare. Dacă există multă memorie RAM, atunci fișierul de paginare poate fi setat egal cu cantitatea de RAM sau chiar mai puțin.


Apăsați butonul Termina, confirmați modificările acceptate Angajează-te iar instalarea sistemului FreeBSD începe.


După instalare, vi se solicită să introduceți parola de două ori. Caracterele pe care le introduceți nu sunt afișate.


Alegerea și instalarea componentelor

După aceasta, vi se solicită să configurați plăcile de rețea pentru a accesa rețeaua. Spre deosebire de Linux, unde există placa de retea numit eth, V Rețeaua FreeBSD Cardul poate avea nume diferite în funcție de producător.


Selectăm versiunea protocolului de internet, a patra versiune de IPv4 sau a șasea versiune de IPv6. Apoi configurați rețeaua prin DHCP sau înregistrați adresa IP, masca de subrețea și gateway-ul.


Setarea orei, după timp mașină locală sau selectați fusul dvs. orar.


Selectăm serviciile care vor începe la pornirea FreeBSD. Lăsați ca implicit.


Puteți adăuga utilizatori suplimentari, le puteți atribui drepturi și directoarele lor. Toate acestea le poți face mai târziu.


Instalarea se apropie de finalizare și poate doriți să reconfigurați sau să ajustați unele setări înainte de finalizare.