FreeBSD operativsystem. FreeBSD - hva er det? FreeBSD fordeler fremfor Linux Windows


Uplanlagt inntreden

Han kom med ansiktet til en morder
Med utseendet til en ond blodsuger,
Og han sa at han var min kritiker
Og ønsket mitt er godt.
At han, sier de, stilen min er lav
Ikke estetisk nært.
Jeg er tull, og han er Belinsky,
Helt så frenetisk.

Timur Shaov,
Samtale med en kritiker

Det store antallet svar på de tre første artiklene i denne serien fikk meg til å skrive denne introduksjonen. Som kan deles inn i positive og kritiske. Så jeg bestemte meg for å svare på alt, så å si, i bulk.

Med svarene fra den første gruppen er alt klart: Jeg kan bare takke deg for støtten. Selvfølgelig er alle verkene mine skrevet først og fremst for min egen fornøyelse, men det er fint at noen andre er interessert i å lese dem.

Til ubegrunnet kritikk vil jeg svare som følger: kjære herrer, hvis dere tror at dere forstår spørsmålene som vurderes bedre enn meg (som jeg er villig til å tro), hvorfor ikke bruke en brøkdel av tiden som brukes i forumets flammer til å utdanne brede folkemasser? Og ikke å komponere det som trengs, og på riktig måte, om de aktuelle temaene? Ønskelig - på det russiske litterære språket, med et minimum av idiomatematiske uttrykk. Jeg tar gjerne på meg rollen som en oppmerksom leser, og absorberer all nyttig informasjon du gir. Og kritikk - fra det russiske litterære språkets ståsted (intuisjon forteller meg at det vil være mer enn nok grunner til det).

Jeg må imidlertid legge til at jeg er veldig takknemlig for all konstruktiv kritikk. Som jeg håper å fortsette med. Bare en introduksjon

I dette notatet vil vi snakke om måten å fysisk organisere blokker av en diskpartisjon, som gir muligheten til å skrive, lagre og manipulere filer, spesifikke for FreBSD generelt og dens 5. gren spesielt.

FreeBSD-filsystemet tilhører Unix-familien av filsystemer og deler mange funksjoner til felles. Den heter UFS, den 5. grenen bruker sin forbedrede versjon - UFS2. Til å begynne med vil vi vurdere de generelle prinsippene for enheten til begge, og deretter gå til vurderingen av funksjonene som er iboende i UFS2.

For FreeBSD-filsystemet (og BSD-systemer generelt, fra 4.2BSD), kan man også finne et annet navn - FFS (Fast File System, betegnelsen "fast" ble introdusert i sammenligning med Unix System V - s5-filsystemet) . I tilgjengelig litteratur kunne jeg ikke finne en klar formulering av forholdet deres. Mitt inntrykk er at FFS er det generiske navnet på filsystemene til alle BSD-klanoperativsystemer (Free-, Net-, OpenBSD og BSDi), mens UFS (og UFS2) er navnet på en spesifikk implementering for FreeBSD. Selv om det er i NetBSD nå (starter fra versjon 1.6 og høyere), kan UFS2 brukes sammen med den tradisjonelle FFS. Generelt synes jeg det er vanskelig å belyse denne problemstillingen entydig, og derfor vil jeg være takknemlig for en forklaring.

Som allerede forklart tidligere, er en diskpartisjon, metaforisk sett, en gruppe sammenhengende sylindre, delt inn i fysiske blokker på 512 byte. Partisjonen som bærer UFS-filsystemet er delt inn i tre uavhengige områder (fra begynnelsen av sylindergruppen til slutten) - superblokken, indekstabellen og dataområdet. Det anbefales å begynne å vurdere dem fra slutten av listen, det vil si fra dataområdet.

Dataområdet (det opptar den overveldende mengden av partisjonsplassen) er dannet av blokkene i filsystemet. Som en fysisk blokk er en filsystemblokk (også kalt en logisk blokk) et kvantum av informasjon tilgjengelig i én lese-/skriveoperasjon, men ikke diskhodet, men operativsystemet. Åpenbart kan ikke en logisk blokk være mindre enn en fysisk (det vil si 512 byte), og størrelsen er nødvendigvis et multiplum av et heltall av sistnevnte.

Det logiske blokkkonseptet ble introdusert for å forbedre ytelsen til diskoperasjoner. Uttalelsen krever ikke bevis for at hastigheten på datautveksling i 1 KB-kvanter vil være høyere enn i 512-byte-kvanter, 2 KB - enda raskere, og så videre. Og derfor, med tanke på hastigheten på filoperasjoner, er den maksimale størrelsen på den logiske blokken til filsystemet fordelaktig.

På den annen side fører økning av den logiske blokkstørrelsen til bortkastet diskplass på grunn av den såkalte. intern datafragmentering. Det må ikke forveksles med ekstern fragmentering, for å bekjempe som alle slags speeddisker "ble mobilisert på FAT-familiens filsystemer" og med kombattanter: på grunn av særegenhetene til databehandlingsalgoritmer, er Unix-familiens filsystemer så lite utsatt for ytre fragmentering som om å overvinne Dette er praktisk talt ikke talt i det hele tatt.

Intern fragmentering kommer til uttrykk i det faktum at dataene til filer, hvis størrelse er mindre enn blokken til filsystemet, fortsatt okkuperer det helt. En hel blokk vil også være nødvendig for å lagre filhaler, det vil si rester som overstiger størrelsen som er et multiplum av størrelsen på den logiske blokken. For å bekjempe fragmentering i UFS, beklager tautologien, introduseres konseptet med et fragment - en logisk del av en filsystemblokk som kan skrives eller leses uavhengig av resten av den.

Det er klart at størrelsen på et fragment fortsatt ikke kan være mindre enn en fysisk blokk. Samtidig pålegger UFS en motbegrensning på det - minste fragmentstørrelse bestemmes i 1/8 av en logisk blokk. Andre mulige verdier er 1/4 og 1/2 av filsystemblokken (selvfølgelig er det å tildele et fragment i blokkstørrelse ensbetydende med å gi opp blokkfragmentering helt, selv om det ikke ser ut til å være forbudt).

Hvordan bestemmes tilhørigheten til en datablokk til en bestemt fil? En indekstabell, også referert til som filbeskrivelsestabellen eller inodtabellen. Den er dannet av et visst (endelig) antall poster med fast lengde (128 KB i UFS, 256 i UFS2), som hver unikt tilsvarer én fil, både faktisk eksisterende og bare én som kunne opprettes.

En slik indekstabelloppføring kalles en inode, som vi vil etterlate den. For alle oversettelsene av dette begrepet som er kjent for meg, som informasjonsnoder eller inoder, ser veldig klønete ut. I tillegg dukker ordet "deskriptor" også opp i sammenheng med "fildeskriptor", som betyr identifikatoren (unik, ellers hva vil den identifisere?) For filen som brukes av en bestemt prosess (som ikke har noe med filsystemer å gjøre - dette er omfanget av delsystemet prosesskontroll). Og disse beskrivelsene har ingenting til felles med hverandre. Så, inode med identifikator 2 (og dette er alltid identifikatoren til rotkatalogen til filsystemet) og filbeskrivelsen med nummer 2 (som for enhver prosess vil være standard feilutgangsenhet, / dev / stderr) korrelerer ikke med hverandre på noen måte (selv om de av en eller annen grunn ikke liker å snakke høyt om det).

Men jeg går bort - la oss gå tilbake til inodene våre. Hvert medlem av denne tabellen inneholder såkalte filmetadata. For en ekte fil inkluderer de:

  • den unike inode-identifikatoren (og følgelig filen hvis metadata den inneholder) er bare en teller for filene som er opprettet i filsystemet);
  • filtype - dette kan være en katalog, en symbolsk lenke, en enhetsfil, en navngitt pipe eller socket, eller en vanlig (det vil si ikke relatert til noen av de oppførte typene) fil;
  • filstørrelse i byte;
  • antall lenker til filen (du må gå tilbake til dette problemet litt nedenfor);
  • adresser til logiske blokker og deres fragmenter som utgjør filen;
  • antall blokker okkupert av den;
  • filattributter - eierskap, tilgang, tid (og dette vil være gjenstand for detaljert vurdering mer enn én gang).

Men det som ikke kan oppdages av noen krefter i en inode er navnet som tilsvarer ham (eller henne? - av en eller annen grunn ser det ut for meg at inode, i motsetning til grammatikk, er feminint). I noen bok om Unix blir de aldri lei av å gjenta (og jeg vil ikke avvike fra denne tradisjonen) at navnet på en fil ikke er et attributt til selve filen, men til katalogen den tilhører. Siden du må forstå dette når du gjør deg kjent med mekanismen for myke oppdateringer i neste innlegg, vil jeg gjøre en liten digresjon for å avklare problemet med navngivning av filer i FreeBSD (og generelt i Unix).

Ved beskrivelse av innholdet i inodetabellen ble filtypefeltet nevnt i forbifarten. Så i Unix er alle filer (og alt som finnes i Unix generelt, inkludert fysiske enheter, representert som filer for systemet) delt inn i to grupper - kataloger og andre. Andre filer kan tjene til forskjellige formål (lagre data og kjørbare programmer, være symbolske lenker, beskrive enheter eller midler for interaksjon mellom prosesser - vi vil snakke om alt dette i tide eller litt senere). Hensikten med katalogene er den eneste, men svært viktige: å være voktere av navnene på filene som er inkludert i dem, som inodene identifikatorer som lagrer metadataene til disse filene er entydig tildelt.

Det vil si at filnavnet bare eksisterer i katalogoppføringen og ingen andre steder på systemet. Og opprettelsen av en fil er ikke bare å fylle ut posten relatert til den i indekstabellen og fylle ut datablokkene som er angitt i den, men også å skrive inn skjemaet "identifier - file_name" i dataområdet til en katalog. Og en katalog, som alle andre filer, har sine egne metadata i inodetabellen og sitt eget dataområde. Og på sin side er navnet, sammen med inode-identifikatoren, inkludert i en katalog på høyere nivå, og så videre - opp til roten av filsystemet. I feltet for antall inodkoblinger til filen som opprettes, settes minimumsverdien lik én, siden enhver fil er inkludert i minst én katalog, ellers vil den rett og slett ikke være tilgjengelig for systemet - filer med null antall lenker for det ser ikke ut til å eksistere (og faktisk deres inoder og datablokker vil uunngåelig bli overskrevet fysisk over tid).

Faktisk kan det samme settet med data og metadata tilordnes til et vilkårlig antall kataloger innenfor samme filsystem og til og med vises under forskjellige navn i samme katalog - i dette tilfellet vil antallet referanser til det være passende. Men minimumsantallet lenker til en katalog er to, siden posten om den finnes både i den overordnede katalogen (..) og i den nåværende (. - det vil si i seg selv). Og hver nestede underkatalog øker katalogens koblingsantallet med én.

Lenker som kobler filnavnet som et element i katalogen med dets oppføring i inodetabellen og blokkene som danner datafilen kalles også harde lenker (hardlinks, en god russisk ekvivalent ville være ordet "link", men det på en eller annen måte slo ikke rot). Ved hjelp av harde lenker kan ett og samme datasett eller kjørbare program gis et vilkårlig antall navn som ingen forbyr å inkludere i samme eller forskjellige kataloger. Den eneste betingelsen for dette er at alle disse sikkerhetskopinavnene må være plassert i katalogene til et enkelt filsystem, det vil si at de må være plassert på samme diskpartisjon. Og i en av de følgende notatene vil det bli klart hvorfor.

Når jeg løper litt foran, legger jeg merke til at harde lenker må skilles fra symbolske lenker (symlinker, de sier ofte bare lenker - hvorfor det ville være rimelig å holde betegnelsen på lenker bak dem, og harde lenker på russisk kalles lenker). Symbolske lenker er filer av en spesiell type, eksternt lik snarveier i Windows eller skygger i OS / 2, som i seg selv ikke inneholder noen data, men bare refererer til metadata og data til en annen fil (som kan være lokalisert utenfor gitt filsystem).

For filer som ikke eksisterer, er gratis oppføringer i inodetabellen rett og slett reservert. Og siden antallet av disse postene er, selvfølgelig, er det størrelsen på indekstabellen som bestemmer hvor mange filer som faktisk kan opprettes på et gitt filsystem. Utmattelsen av ledige poster i den fører til det faktum at, uavhengig av mengden ledig diskplass, ikke en eneste ny fil kan opprettes.

Det finnes imidlertid ingen informasjon om størrelsen på indekstabellen i den. For stedet for deres plassering er selve superblokken som går først i partisjonen vår (faktisk vil oppstartsblokken være den første i en hvilken som helst partisjon, men i virkeligheten er den bare opptatt i oppstartspartisjonen - i alle de andre er plassen ganske enkelt reservert for det). I tillegg registrerer superblokken størrelsen på filsystemblokken og deres totale antall, antall datablokker, størrelsen på blokkfragmentet og antallet i blokken, antall blokker som faktisk er okkupert av filer, volumet til partisjon, permanent reservert som gratis, og mange flere egenskaper ved filsystemet. , som det er upassende å snakke om nå.

Faktisk er ovenstående noe forenklet. Spesifisiteten til BSD-klanfilsystemene er at den faktiske diskpartisjonen er delt inn i deler av en fast størrelse (avhengig av volumet på partisjonen). Dette er den såkalte. grupper av sylindere, som hver har sin egen kopi av superblokken (som sikrer motstand mot mekanisk skade på disken), sin egen blokk av sylindergruppen som beskriver den (den inneholder spesielt kart over ledige / okkuperte inoder og kart over ledige / okkuperte datablokker), sin egen inodtabell og datablokkområde. Dette er rettet mot å plassere inoder og deres relaterte datablokker så nær hverandre som mulig, noe som i tillegg til å forbedre ytelsen innebærer å minimere den svært eksterne datafragmenteringen nevnt ovenfor.

Dermed kommer prosessen med å lage et filsystem ned til a) å allokere en superblokk og registrere de generelle parameterne til filsystemet, b) lage en inodtabell (i UFS, i motsetning til noen moderne filsystemer for Linux, opprettes alle inoder én gang og for alle, og ikke dynamisk allokert, etter behov), og c) markup-blokker i dataområdet. På grunn av alt dette, som den uforglemmelige Katerina Matvevna, er det bare ett program, som ganske enkelt kalles newfs.

Newfs-kommandoen krever bare ett argument - filnavnet på partisjonen som skal formateres, for eksempel $ newfs / dev / ad0s1a

hvoretter alle grunnleggende egenskaper for filsystemet vil bli definert som standard. Imidlertid kan brukeren påvirke dem ved hjelp av alternativer, de viktigste av disse vil vi vurdere (eller - ved å definere dem en gang for alle globalt, via sysinstall, men dette er et emne for en annen diskusjon).

Alternativet -b spesifiserer den logiske blokkstørrelsen til filsystemet. Minimumsstørrelsen er 4096 byte, maksimum, så vidt jeg vet, bestemmes kun av sunn fornuft. Og fra synspunktet til dette virker "standard"-verdien på 16384 byte rimelig.

Alternativet -f angir størrelsen på fragmentet. Det anbefales å definere det i 1/8 av blokkstørrelsen, som vil være 2048 byte som standard. Verdier i 1/4 eller 1/2 blokk er også akseptable, men frarådes sterkt i dokumentasjonen.

Alternativet -i er veldig viktig - det setter indirekte antall poster i indekstabellen (det vil si maksimalt antall filer i filsystemet). Verdien av dette alternativet er gitt i byte som er allokert til indekstabelloppføringen og må være et multiplum av størrelsen på blokkfragmentet. Standarden er fire ganger størrelsen, som bestemmer den gjennomsnittlige anslåtte filstørrelsen (8096 byte).

Et annet interessant alternativ er -m, hvis verdi er angitt som en prosentandel av den totale mengden diskplass som er tildelt for partisjonen. Og det representerer volumet som er reservert fra skriving av vanlige brukere (men ikke ved root - han har alltid muligheten til å skrive handlingene sine til disken) Det bestemmes fordi hastigheten på filoperasjoner i UFS ganske enkelt synker katastrofalt når antallet ledige blokker i dataområdet er nær utmattelse (testet i praksis), og derfor blir en viss mengde av filsystemet tvangskopiert (som standard - 8%).

Tilknyttet dette alternativet er -o, som bestemmer algoritmen for tildeling av ledige blokker med data ved opprettelse av nye filer. Dette er fordi UFS er i stand til å være vert for dem på to måter. Den første er den tetteste pakkemetoden for å minimere intern fragmentering og spare diskplass. Og det kalles volumoptimalisering (alternativet -o tar verdiplassen). Den andre metoden (-o-tid) gir den raskeste tildelingen av gratis blokker for å øke hastigheten på filoppretting (det vil si i strid med prinsippet til Leonid Ilyich - "økonomien skal være økonomisk"). Så, standardverdien -o korrelerer med verdien -m: hvis den er større enn eller lik 8%, brukes tidsoptimalisering, hvis mindre - når det gjelder volum. Selv om det er eksplisitt, kan du spesifisere nøyaktig de motsatte verdiene.

Egentlig er alle de ovennevnte alternativene veldig viktige, interessante og nyttige for generell utdanning, men det er usannsynlig at brukeren må ty til dem: deres standardverdier, som nesten alt i FreeBSD, er rimelige og akseptable i de aller fleste tilfeller . Men alternativet -U brukes ikke som standard når du starter newfs. Det gir støtte for en ekstremt nyttig ting - Soft Updates-mekanismen, som bidrar (paradoksalt nok, men sant) både til å øke hastigheten på filoperasjoner og stabiliteten til filsystemet.

Emnet Soft Updates er imidlertid så interessant i seg selv at det fortjener en egen diskusjon, som vi vil gjøre i neste del av denne artikkelen. For nå, la oss ta en titt på forskjellene mellom den nåværende versjonen av FreeBSD-filsystemet, UFS2, og dets forgjenger, UFS.

Alt som er blitt sagt ovenfor om FreeBSD-filsystemet gjelder likt for begge smakene. Hovedtrekket til UFS2 er at det er 64-bit og følgelig er i stand til å jobbe med diskvolum på mer enn en terabyte (jeg lurer på om dette snart vil bli relevant for en stasjonær bruker? Å dømme etter diskobolismens frekvens, er dette perioden er ikke langt unna). I denne forbindelse, la meg minne deg på at lengden på en oppføring i inodtabellen i UFS2 har doblet seg, og er lik 256 byte.

Videre inkluderer UFS2 støtte for utvidede filattributter som ACL-er, men dette er viktig for nettverksadministratorer. Men det brukeren kan legge merke til er at opprettelsen av et nytt filsystem er raskere (på store diskpartisjoner er dette virkelig merkbart, som de sier, organoleptisk). Dette skjer på grunn av den såkalte. "Lazy" initialisering av inoder, selv om det ikke er noen dynamisk tildeling av dem, som for eksempel i XFS.

Generelt sett fra brukerens synspunkt kan det hende at forskjellene mellom UFS og UFS2 ikke er synlige. Det er imidlertid heller ingen grunn til å forlate UFS2. Dessuten lager både newfs, som ble nevnt ovenfor, og sysinstall, som vi skal snakke om senere, som standard nå (i den 5. grenen) nettopp det. Hvis du bare trenger å lage UFS (for kompatibilitet med versjoner av tidligere grener som ikke støtter UFS2), må dette gjøres med makt ved å spesifisere alternativet -O 1 for newfs. The Soft Updates Paradox

Til tross for alle sine mange fordeler, kan ikke FreBSD-filsystemet skryte av én ting - ytelse. Dette til tross for at det er basert på den hel Berkeleian FFS - et raskt filsystem. Imidlertid står tilnavnet her i sammenligning med det tidligere Unix "nye filsystemet - s5, som alle variasjoner, som folk kjente, var usedvanlig gjennomtenkte. Hvis vi sammenligner ytelsen til FreeBSD-filsystemet med den opprinnelige Linux Ext2fs, det vil ikke være til fordel for førstnevnte, spesielt på operasjoner med et stort antall små filer.

Hvorfor? Svaret er enkelt: på grunn av FreeBSDs standardmodus for håndtering av modifiserte filer. De fleste vanlige filsystemer er i stand til å fungere i en av tre moduser:

  • helt synkron, når oppdateringer til både metadata og dataområdet til filen skrives til disk umiddelbart etter endringen;
  • fullstendig asynkron, der alle endringer i filen (og dens metadata og dataområde) bufres i RAM og faktisk skrives til disk på et passende tidspunkt;
  • blandet, implementerer en synkron mekanisme for modifiserte metadata og caching for modifikasjoner av dataområdet.

Åpenbart gir den første modusen den største motstandskraften til filsystemet mot feil, den andre gir den høyeste hastigheten på filoperasjoner (på bekostning av å krenke filsystemets integritet og til og med ødelegge det fullstendig i tilfelle en nødstans), og den tredje gir et slags kompromiss mellom den første og andre løsningen.

Så, i Linux-filsystemet (spesifikt - i ext2fs, Linux gjenkjenner nå mange filsystemer som native) som standard, brukes en helt asynkron driftsmodus, og i FreeBSD - en blandet. Selvfølgelig bestemmes dette når filsystemene er montert, og ved å bruke de riktige alternativene på mount-kommandoen (som jeg vil vise i et relatert notat), kan FreeBSD-filsystemet kjøres helt asynkront. Imidlertid anbefaler fornuftige mennesker ikke å gjøre dette kategorisk - og sannsynligvis har de grunner til dette (en av grunnene til dette vil bli tydelig på slutten av artikkelen).

Faktisk, i standardmodus, viser FreeBSD-filsystemet (i sammenligning med de samme ext2fs) bemerkelsesverdig stabilitet. I to og et halvt år med kommunikasjon med dette operativsystemet (og halvannet av dem falt på landlige forhold, da et uventet strømbrudd var mer enn en vanlig ting), måtte jeg aldri møte problemer på grunn av en unormal avslutning av en arbeidsøkt (i Linux oppsto slike problemer, før introduksjonen av journalfilsystemer, hele tiden).

Prisen for dette er imidlertid hastighet. Snarere fraværet av det. Og dette er spesielt tydelig når du kopierer et stort antall små filer (en veldig vanlig prosedyre når du arbeider med tekst, hovedsakelig materialer). Faktisk, samtidig oppdateres et stort antall filinoder i synkron modus, mens de faktiske dataene endres i en ubetydelig mengde, og cachen deres gir liten glede. I alle fall tar det ganske lang tid å kopiere artikler skrevet inn i et tekstredigeringsprogram på størrelse med dette notatet og det totale volumet til en standard CD (i motsetning til Linux, hvor en slik operasjon utføres utad umiddelbart, er det en annen sak at harddisken aktivitetsindikator kan ta lang tid blink).

Videre, til tross for all dets faktiske motstandskraft, har FreeBSD-filsystemet, selv om det ikke er journalført, i seg selv en mekanisme for å garantere sin egen integritet. Det vil si: i tilfelle en nødstans, når den såkalte. ren avmonteringsbit (ren byte er en av de viktige parameterne i filsystemet, skrevet i superblokken når du logger av på riktig måte), under den påfølgende oppstartsprosedyren blir programmet tvunget til å sjekke det for å finne inkonsistens mellom metadata og dataområder (og eliminere dem) ... Og med moderne volumer av disker (og følgelig filsystemer på dem), kan en slik sjekk ta timer. Dette er selvfølgelig spesielt uheldig for servere, men på en stasjonær maskin gir det lite positive følelser.

Problemet med integritetsbrudd eksisterer i Linux "e (av de ovennevnte grunnene - til og med i større grad). Og i Linux" bekjempes det med det gjennom journalføring, det vil si tidlig registrering av endringer i metadata (og, i noen tilfeller, til og med data). I FreeBSD har kampen for filsystemintegritet historisk sett gått langs to linjer. Den andre av dem er en bakgrunnssjekk av filsystemets integritet som dukket opp i den femte grenen, som lar normal drift starte umiddelbart etter en nødstart av maskinen. Siden dette er en av de grunnleggende nyvinningene, vil jeg si noen ord om dette.

For å sjekke integriteten til filsystemet i FreeBSD, brukes fsck-verktøyet (samme navn er også tilgjengelig i Linux - for ext2fs er det lignende verktøy for andre filsystemer). Den kan startes av brukeren (eller rettere sagt root) fra kommandolinjen. Systemoppstartsskjemaet sørger imidlertid for automatisk start hvis en ren avmonteringsbit ikke oppdages i noen av de automatisk monterte filsystemene. Og siden fsck er en bitvis operasjon, for å unngå alvorlige konsekvenser, utføres den vanligvis på umonterte filsystemer, som var i FreeBSD opp til versjon 4.6 minst (jeg har ikke sett de eldre fra 4. gren). enn for et år siden, utvikler "sky, disksjekken kan utføres på et montert og klart til bruk filsystem. Og følgelig i bakgrunnen etter at systemet er fullastet, parallelt med utførelsen av normalt arbeid. Det ser ut som - en bagatell, men det er fint: Jeg synes det er vanskelig å si hvor lang tid det vil ta å fullføre en fullstendig sjekk av nå til dags 80- eller 120-gigabyte-skruer.

Imidlertid var den første gangen å implementere en måte å kjempe for integriteten til filsystemet på Soft Updates-mekanismen, som samtidig (eller rettere sagt, hovedsakelig) og økte hastigheten på filoperasjoner.

Selve mekanismen til Soft Updates (la oss la dette begrepet være uten oversettelse - varianter av denne typen "myke oppdateringer" skinner ikke bare med litterær ynde, men avklarer heller ikke essensen av saken) er beskrevet i detalj i en spesiell artikkel av Makkazik og Ganger, som jeg ikke ser noen grunn til å gjenfortelle (heldigvis er den tilgjengelig i). I et nøtteskall er essensen av denne mekanismen å minimere synkrone skriveoperasjoner uten eksplisitt asynkron manipulering av metadata, på den ene siden, men også uten forutgående journalføring av metadata (som i filsystemer som ReiserFS eller XFS), på den andre.

Dette er implementert, igjen snakket ganske grovt (implementeringsdetaljer er ikke tilgjengelig for min forståelse - jeg innrømmer) på grunn av de såkalte oppdateringsavhengighetene. Hva disse avhengighetene er, er intuitivt klart fra eksemplet med å lage en ny (for enkelhets skyld - tom) fil. Dette krever:

  • en oppføring i inodtabellen, med utfylling av feltene for filtypen, dens identifikator, lenketelleren (med en verdi på 1 - hver fil må tilhøre minst én katalog), vel, og andre der - tilgang rettigheter i samsvar med deres maske, og så videre;
  • endre kartet over ledige / okkuperte inoder i blokken til sylindergruppen (tilsvarende den nye inodefilen må merkes med en opptatt bit i den);
  • lage en oppføring av formen "identifikator - filnavn" i katalogstrukturen der den nye filen er opprettet, som gir den eneste lenken i det tilsvarende feltet til inoden til filen.

Fra et synspunkt av integriteten til filsystemet, bør disse operasjonene utføres i denne sekvensen. Det vil si at tilstedeværelsen i katalogen til et filnavn med identifikatoren til en ufylt (ennå ikke opprettet eller allerede ødelagt) inode er en åpenbar forstyrrelse: det er for å rette opp denne typen skam at disksjekkprogrammet startes etter en unormal avslutning av økten.

Å utføre oppdateringsoperasjoner knyttet til avhengigheter i synkron modus er lang tid (hver vil kreve sin egen tilgang til disken), i asynkron modus er det ingen garanti for å bevare sekvensen (oppdateringer i cachen kan skrives når Gud vil ha det). Så, Soft Updates-mekanismen gir på den ene siden kontroll over sekvensen av avhengige oppdateringer (som bidrar til integriteten til filsystemtilstanden), på den annen side grupperer den dem i en enkelt atomoperasjon med synkron disktilgang , ved å redusere antallet og øke ytelsen. Dette er, slik jeg forstår det, forklaringen på Soft Updates-paradokset – en uventet økning i både pålitelighet og ytelse.

Generelt prøvde jeg å forklare hvordan jeg kunne og hvordan jeg forsto meg selv - for detaljer om artikkelen ovenfor. I tillegg vil jeg bare merke meg - for å unngå misforståelser: Soft Updates-mekanismen garanterer ikke bare sikkerheten til brukerdata som ikke ble lagret på grunn av brukerens uforsiktighet før systemkrasj, men forfølger heller ikke et slikt mål. Hans kall er å sørge for at filsystemet alltid presenteres så konsekvent som mulig. Det samme kan imidlertid sies om ethvert journalført filsystem - ingen av dem forsikrer seg mot brukerfeil ...

La oss nå se hvordan myke oppdateringer kan brukes. Hvis du oppretter filsystemer ved hjelp av sysinstall, er alt enkelt: der, som standard, har denne mekanismen vært aktivert i lang tid (versjon siden ca. 4.3) for alle filsystemer bortsett fra roten. Det siste argumenteres av sikkerhetsmessige årsaker, som (for en stasjonær maskin) ikke virker overbevisende for meg - så jeg inkluderer det her også. Selv om det er nettopp for rotfilsystemet at myke oppdateringer ikke er spesielt nødvendige: med riktig diskpartisjonering og riktig drift skjer skriving til det (etter den første installasjonen) bare når en ny kjerne er installert, og hvor ofte gjøres dette under normale forhold?

Når du oppretter filsystemer manuelt med newfs-kommandoen, aktiveres ikke myke oppdateringer automatisk: dette må gjøres, som allerede nevnt, ved å spesifisere alternativet: $ newfs -U / dev / ad # s #?

Men hvis det ble glemt under formatering, er det greit: for alle partisjoner bortsett fra roten, er det enkelt å aktivere myke oppdateringer ved å bruke tunefs-kommandoen. For å gjøre dette, bør du bytte til enkeltbrukermodus (anbefales på det sterkeste; jeg klarte meg på en eller annen måte uten det, men det er bedre å følge rådene fra fornuftige mennesker), som gjøres av kommandoen $ shutdown now

Avmonter alle filsystemer unntatt roten (dette nummeret vil ikke fungere med det uansett) med kommandoen $ umount -Af

Gi kommandoen tunefs -n enable / dev / ad # s #?

for hver partisjon som krever myke oppdateringer på filsystemet. Til slutt, ved å gjenta kommandoen $ shutdown now

10. oktober 2016 ble utgivelsen av den neste (11.) versjonen av det populære unix-systemet annonsert på den offisielle nettsiden. Jeg bestemte meg for å skrive en detaljert instruksjon med en video om to alternativer for å installere Freebsd 11 - på en enkelt disk og raid1 i form av et speil av zfs-bassenget. Jeg har ikke sett på dette systemet på lenge, jeg bestemte meg for å beskrive alt i detalj og se hva som har endret seg i det i det siste.

Jeg vil vurdere 2 installasjonsalternativer:

  1. Normal, på en enkelt harddisk. Denne konfigurasjonen er egnet for en virtuell maskin, hvor redundans gis på sikkerhetskopieringsnivået til hele den virtuelle maskinen, uten behov for sikkerhetskopiering på harddisknivå.
  2. Det andre alternativet er installasjon på programvare raid1, som er implementert som speilbasseng på zfs... Freebsd har vært venner med zfs i lang tid. Jeg satte systemet på den, hvis jeg ikke tar feil, versjon 8. På den tiden måtte jeg gjøre alt manuelt, men nå så jeg at det var mulig å installere freebsd på zfs ved å bruke standard installasjonsprogrammet i automatisk modus. En slik installasjon er egnet for å distribuere et system på ekte maskinvare.

Jeg så ingen grunnleggende endringer i installasjonen sammenlignet med forrige 10. versjon, så jeg vil ikke gå inn i alle stadiene i detalj, som jeg gjorde i artikkelen om. Jeg vil prøve å skrive mer kortfattet, kun fokusere på nøkkelpunkter. Denne avskrape installasjonsguiden er imidlertid egnet for nybegynnere, eller dummies som man sier. Alt er fortalt i et enkelt og tilgjengelig språk.

Last ned ønsket freebsd-bilde

Før du installerer, må du bestemme hvilket bilde du skal laste ned. Jeg har satt sammen en kort tabell som beskriver alle typer Freebsd 11-bilder for x64-plattformen som du kan laste ned. Jeg tok med linker til Y andex.Mirror, jeg foretrekker å laste ned alt fra det, siden det er raskt og praktisk.

Last ned Freebsd 11
BildenavnBeskrivelseLast ned bilde
bare oppstartDet minste bildet i størrelse. For å installere et system fra det, trenger du en internettforbindelse under installasjonen.bootonly.iso 285M
plate 1Hovedsystemet og det grunnleggende settet med programmer er på disk. Kan installeres offline. Jeg bruker vanligvis dette bildet.disc1.iso 656M
dvd1Maksimalt bilde. I tillegg til systemet inkluderer det programvarepakker. Hva slags pakker og hvilken liste vet jeg ikke, jeg har aldri brukt dette bildet. Etter installasjon legger jeg alt som trengs via Internett.dvd1.iso 3G
memstickStandardbilde for installasjon fra en flash-stasjon, analog med plate1.memstick.img 700M

I den videre fortellingen vil jeg bruke bildet plate 1 som den mest praktiske og allsidige.

Standard installasjon

La oss starte fra bunnen av med å installere Freebsd 11 på en enkelt harddisk. Vi setter inn iso-bildet i autoload og starter opp fra disk. Vi blir møtt av et tradisjonelt velkomstvindu med tre alternativer for å fortsette:

  1. Installere- start installasjonen av systemet.
  2. Shell- gå til konsollen.
  3. Live CD- start opp i Live CD-modus.

Vi velger installasjonen. I neste trinn vil du bli bedt om å velge et oppsett. Oftest er standardoppsettet nok, så vi endrer ingenting, men går videre med standardoppsettet.

Nå velger vi komponentene som skal installeres. Jeg installerer vanligvis ikke noe annet enn lib32. Alt som trengs, du kan deretter installere den nyeste versjonen fra Internett.

I neste trinn velger vi partisjonen til harddisken. Du kan manuelt spesifisere alle nødvendige seksjoner, velge størrelse osv. Jeg gjør vanligvis ikke dette og installerer alt på en rotpartisjon. Jeg har gjort dette lenge på alle systemer og ser ingen problemer i dette. Den vanligste anbefalingen er å legge alle loggene i en egen seksjon slik at de ved et uhell fyller opp all ledig plass ikke henger opp serveren. I praksis har jeg aldri hatt dette, så jeg synes det er overflødig å tukle med skillevegger hver gang av hensyn til svært betinget bekvemmelighet. Riktignok er det en nyanse - jeg har alltid overvåking av ledig plass på harddisken satt opp på alle servere. Så jeg har tid til å reagere raskt på problemer med ledig plass. Vel, jeg følger rotasjonen av stokkene av seg selv, jeg lar dem ikke vokse til store størrelser.

Så vi velger det første elementet - Auto (UFS). Vi vil dekke installasjonen av freebsd 11 på zfs senere.

Sjekk det foreslåtte diskpartisjonsskjemaet. Hvis alt passer deg, klikk på Fullfør og godta bruken av endringene, installasjonen av basissystemet vil begynne.

Det varer bokstavelig talt noen minutter. Et rent system settes opp veldig raskt. Underveis vil du bli bedt om et passord for root. Gjør det. Deretter må du velge et nettverksgrensesnitt for konfigurasjon.

Hvis du har flere av dem, velg den du vil konfigurere for nettverkstilgang. Etter å ha valgt grensesnittet, må du godta innstillingen av ip-adressen på den. Deretter velger jeg å få innstillingene via DHCP. Dette er den enkleste måten. Hvis du trenger å spesifisere IP-adressen manuelt, forlat dhcp og skriv inn nettverksparameterne manuelt.

Etter det må du spesifisere serverens dns-adresse, etter å ha forlatt ipv6 tidligere. Hvis du mottok innstillingene via dhcp, vil adressen allerede være fylt ut, du trenger bare å bekrefte den. Hvis du spesifiserte innstillingene manuelt, skriv inn dns-serveren selv.

Nå velger vi tidssone, dato og klokkeslett. Det er ikke noe komplisert, jeg vil ikke gi skjermbilder. Hvis dato og klokkeslett er riktig, er det bare å velge Hopp over hvis det er avvik, vennligst spesifiser de riktige manuelt. Dette er forresten en nyvinning i den 11. versjonen. Det fantes ingen slik kalender og klokke før.

Installasjonen går mot ferdigstillelse. Du må spesifisere hvilke tjenester du vil starte automatisk ved systemoppstart. Pass på å spesifisere sshd for å koble til serveren eksternt, fortsatt ntpd ikke hindre. Resten er etter eget skjønn, jeg spesifiserer ikke noe annet. dumpet er standard, la det bli.

I neste trinn blir vi bedt om å velge noen sikkerhetsalternativer. Jeg er ikke kjent med dette emnet i detalj, forsto ikke, men jeg ser på navnene at ting er veldig nyttige. Du kan slå den på. Her etter eget skjønn. Det blir ikke verre, men forvent heller ikke noe spesielt. Alle disse innstillingene kan gjøres senere.

På det siste stadiet vil du bli bedt om å legge til brukere i systemet. Hvis du ikke gjør det, vil du ikke kunne sende ssh til serveren. Som standard, i freebsd, har ikke root-brukeren lov til å koble til via ssh. Dette kan bare fikses ved å gå inn i den lokale roten og redigere ssh-innstillingene. Så opprett minst én bruker og legg den til hjulgruppen slik at du kan ssh og su for å få root-tilgang.

Du bør starte opp i en nyinstallert Freebsd 11. Dette fullfører den grunnleggende installasjonen.

Installasjon på raid1

Vi vil utføre den samme installasjonen, bare på programvaren raid1... Du må ha en server med minst 2 harddisker. Vi kommer til punktet der du må velge partisjonen til disken og velge Auto (ZFS).

På linje Pool Type / Disker velge speil.

Og spesifiser begge stasjonene dine:

Sjekker zpool-resiliens

Etter at installasjonen er fullført, kan du teste hvordan feiltoleranse fungerer. La oss se statusen til bassenget når alt er i orden og begge diskene fungerer:

# zpool status -v pool: zroot tilstand: ONLINE scan: ingen forespurt konfig: NAME STATE LES SKRIV CKSUM zroot ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 da0p3 ONLINE 0 0 0 da1p3 ONLINE 0 0 0 feil: Ingen kjente datafeil

Begge stasjonene er på plass. Slå nå av serveren og fjern en av diskene. La oss se hvordan serveren oppfører seg.

# zpool status -v pool: zroot state: DEGRADERT status: En eller flere enheter kunne ikke åpnes. Det finnes tilstrekkelige kopier til at bassenget kan fortsette å fungere i en degradert tilstand. handling: Fest den manglende enheten og koble den til ved å bruke "zpool online". se: http://illumos.org/msg/ZFS-8000-2Q skanning: ingen forespurt konfig: NAVN STATE LES SKRIV CKSUM zroot DEGRADERET 0 0 0 mirror-0 DEGRADED 0 0 0 2081140553640658652 UNAVAIL 0 0 0 was / dev / da0p3 da0p3 ONLINE 0 0 0 feil: Ingen kjente datafeil

Som du kan se, er det ingen disk, men systemet har startet opp trygt og fungerer normalt. Hvis vi setter den samme disken på plass igjen og starter på nytt, vil alt være i orden, ingen unødvendige bevegelser trenger å gjøres. Men la oss forestille oss at disken vår er ute av drift og vi må installere en ny. Vi setter inn en ny tom disk i serveren og starter opp. Den nye disken fikk samme navn som den mislykkede - / dev / da0... Det er ingen seksjoner om den.

Først av alt sender vi den mislykkede disken offline:

# zpool offline zroot da0p3

Bassenget er nå i denne tilstanden:

# zpool status -v pool: zroot state: DEGRADED status: En eller flere enheter har blitt koblet fra av administratoren. Det finnes tilstrekkelige kopier til at bassenget kan fortsette å fungere i en degradert tilstand. handling: Online enheten ved å bruke "zpool online" eller bytt ut enheten med "zpool replace". skanning: ingen forespurt konfigurasjon: NAVN TILSTAND LES SKRIV CKSUM zroot DEGRADERET 0 0 0 speil-0 DEGRADERET 0 0 0 2081140553640658652 OFFLINE 0 0 0 was / dev / da0p3 da1p3 ONLINE 0 0 0 feil: Ingen kjente datafeil

La oss kopiere partisjonstabellen fra live-disken til den nye. La oss se på det først:

# gpart show => 40 20971440 da1 GPT (10G) 40 1024 1 freebsd-boot (512K) 1064 984 - gratis - (492K) 2048 4194304 2 freebsd-swap (2.0G) 312066 7bs (2.0G) 312066 (2.0G) 312066 7bs 2008 – gratis – (1,0 millioner)

Lag den samme tabellen på den nye disken ved å kopiere den fra den gamle:

# gpart backup da1> /root/da1.backup # gpart restore da0< /root/da1.backup

La oss se hva som skjedde:

# gpart show => 40 20971440 da1 GPT (10G) 40 1024 1 freebsd-boot (512K) 1064 984 - gratis - (492K) 2048 4194304 2 freebsd-swap (2.0G) 312066 7bs (2.0G) 312066 (2.0G) 312066 7bs 2008 - gratis - (1.0M) => 40 20971440 da0 GPT (10G) 40 1024 1 freebsd-boot (512K) 1064 984 - gratis - (492K) 2048 4194304 2 freebsd-swapz (912K) (8,0G) 20969472 2008 – gratis – (1,0 millioner)

Hva trenger du. La oss skrive bootloader til den nye disken:

# gpart bootcode -b / boot / pmbr -p / boot / gptzfsboot -i 1 da0-delkode skrevet til da0p1 bootcode skrevet til da0

Vi forteller bassenget at vi bytter harddisken:

# zpool erstatt zroot / dev / da0p3 Sørg for å vente til resilver er ferdig før du starter på nytt. Hvis du starter opp fra bassenget "zroot", må du kanskje oppdatere oppstartskoden på den nylig tilkoblede disken "/ dev / da0p3". Forutsatt at du bruker GPT-partisjonering og "da0" er din nye oppstartsdisk, kan du bruke følgende kommando: gpart bootcode -b / boot / pmbr -p / boot / gptzfsboot -i 1 da0

Smart zpool selv minnet oss på slik at vi ikke glemmer oppstartslasteren. Etter å ha byttet ut disken, gikk resilver (synkronisering) raskt og bassenget gikk ONLINE

# zpool status -v pool: zroot state: ONLINE scan: resilvered 532M in 0h0m with 0 errors on Sat Oct 15 01:29:49 2016 config: NAME STATE LES WRITE CKSUM zroot ONLINE 0 0 0 mirror-0 ONLINE da00p ONLINE ONLINE 0 0 0 da1p3 ONLINE 0 0 0 feil: Ingen kjente datafeil

Hvis du ønsker det, kan du nå fjerne den gamle disken og sørge for at systemet starter opp normalt fra den nye. Jeg gjorde det og ble overbevist.

Konklusjon

Fullførte installasjonen. Du kan gjøre det. All informasjon i artikkelen er relevant for den 11. versjonen.

Det viste seg ikke bare om installasjonen, men også litt om zfs, om hvordan man erstatter en mislykket disk i tilfelle feil. Jeg legger alltid merke til ting som feiltoleranse på disknivå. Uten dette vil jeg ikke installere systemet. Det må være et raid, enten programvare eller maskinvare. I arbeidet mitt møter jeg stadig havari på harddisker, så for meg er det hverdagen :) Selv en backup er ikke nok i dette tilfellet. Selv om det er en backup tar arbeidet med å bytte ut systemet for lang tid, og jobber du stort sett eksternt må du også gå for å bytte ut noe. Dette er ikke mitt valg.

Freebsd 11 likte den enkle og raske installasjonen på raid1. Jeg tror denne muligheten dukket opp tidligere, jeg sjekket den bare ikke. Jeg bestemte meg for å se på den 11. versjonen. Generelt likte jeg alt. I motsetning til Debian, settes det nakne systemet på øyet 5-7 ganger raskere og 3 ganger raskere enn CentOS. Jeg håper at systemet vil fortsette å utvikle seg og glede oss med nye versjoner og muligheter.

I denne artikkelen vil vi vurdere operativsystemet - FreeBSD, hvordan det tiltrekker brukere og hvilke ulemper det har. Tilbake i 1993 startet utviklingen av operativsystemetFreeBSD (Berkeley Software Distribution) , samme år ble den første offisielle versjonen utgitt. Den siste utgivelsen av systemet dukket opp i august 2015. Som du kan se, utvikler FreeBSD OS seg jevnt og trutt og har naturligvis fans. La oss se hvorfor brukere elsker FreeBSD så mye og hvilke ulemper dette systemet har.

Mange brukere sammenligner ofte FreeBSD med Linux, siden begge disse systemene ligner hverandre. Felles funksjon: gratis nedlasting fra nettet, åpen kildekode, gratis støttefora, hvor du kan finne mange tilhengere av dette operativsystemet. De viktigste forskjellene mellom Linux og BSD mer detaljert.

De viktigste fordelene med FreeBSD-systemet er:

  • Stabilitet i arbeidet. For noen år siden samlet Netcraft resultater fra nettstedsanalyse. Det lengste sammenhengende arbeidet (på kalenderdager) hadde nettprosjekter som kjørte under FreeBSD.
  • Gratis nedlasting av OS. De fleste brukere velger alltid gratis systemer, og belaster seg ikke med kjøp av dyre OS-lisenser. Dermed kan du laste ned og installere FreeBSD helt gratis.
  • Åpen kilde. Hvem som helst kan gjøre sine egne redigeringer av koden og utføre de ønskede sjekkene uten problemer, men det er noen begrensninger, men de er for minimale.
  • Kvalitet.Mange populære netttjenester over hele verden bruker dette systemet, som er en udiskutabel bekreftelse på kvaliteten på arbeidet. I følge eksperter kjører nesten 40 % av serverne i CIS-markedet på dette bestemte operativsystemet.
  • Pålitelighet.Denne faktoren er gitt av en monolitisk kjerne og en komplett logisk struktur av OS, som i hovedsak er holistisk.

FreeBSD systemstruktur:

  1. C-biblioteket brukes som systemprogrammeringsgrensesnitt.
  2. Kjernen, som er beregnet på å planlegge alle prosesser, minneadministrasjon, arbeid med enheter, etc.
  3. En rekke filverktøy, kompilatorer, skall, linkere og andre sluttbrukerprogrammer, hvorav noen er basert på GNU-kode.
  4. FreeBSDs innebygde X Window er ansvarlig for grafisk design.
  5. Stort utvalg av system- og applikasjonsprogrammer.

FreeBSD er utviklet av nesten 4000 frivillige, som gir ut oppdaterte versjoner. Det er ti utgivelser totalt, hvorav den siste ble utgitt 13. august 2015. Likevel er ikke systemet like populært som for eksempel Linux. La oss ta en titt på årsakene til at FreeBSD har et lite antall brukere. For det første er dette "fortjenesten" til utviklerne som polerer systemkoden og bruker veldig lite tid på å reklamere for produktet sitt. I tillegg bryr de seg lite om vanlige brukere og forenkler ikke prosessen med å sette opp og installere OS, som for mange er et nøkkeltrinn i valg av operativsystem. Tross alt Linux-oppsett er mye enklere enn FreeBSD.

Ulemper med FreeBSD-systemet .

Blant ulempene med operativsystemet fremhever brukere oftest kompleksiteten ved å installere og konfigurere systemet, men med bruken av visse ferdigheter innen administrasjon blir denne ulempen ubetydelig. I tillegg er det ikke nok litteratur og vanskelig tilgang til dokumentasjon for å lære hvordan FreeBSD fungerer. Hvis du fortsatt vil at dette operativsystemet skal fungere på din dedikerte server, kan du kontakte vår tekniske støtte og de vil raskt og effektivt installere og konfigurere FreeBSD. Det vil også være nok å bare velge ønsket OS på serveren, og det vil være forhåndsinstallert på serveren din.

Produksjon. Hvis du velger et OS for serveren din, les følgende tips, som vi håper vil hjelpe deg å ta det riktige valget. Du kan ofte finne informasjon på Internett om at FreeBSD forbedrer ytelsen, dette er sant, men denne regelen bør ikke betraktes som universell. FreeBSDs gode rykte er velfortjent for kvaliteten på operativsystemet det gir. Og til slutt, hvis du allerede bruker det tidligere valgte operativsystemet, bør du ikke endre det.

Til din informasjon er OS FreeBSD (9.10) allerede forhåndsinstallert på våre VPS-servere, og du kan oppleve alle fordelene med dette systemet ved å legge inn en bestilling på en virtuell server i selskapet Hyper Host™ . ?

6628 gang (er) 14 Sett tid(er) i dag

En trinn-for-trinn-prosess for å installere FreeBSD-operativsystemet for nybegynnere. Alle stadier av installasjonen er kommentert og illustrert med skjermbilder.

Jeg vil vurdere prosessen med å installere FreeBSD-5.3-RELEASE OS, men siden installasjonsprogrammet ikke har endret seg på veldig lenge, er nesten alt som er beskrevet i denne artikkelen sant for tidligere versjoner. I mitt tilfelle vil installasjonen gjøres fra en CD-ROM.

I BIOS (BIOS) på datamaskinen, sett oppstarten fra CD-ROM, sett inn CDen med distribusjonssettet i stasjonen og start på nytt. Vi ser sysinstall-programmenyen:

Det kan kalles etter installasjon for noen innstillinger, men jeg vil ikke anbefale det. I de fleste tilfeller passer installasjonstypen "standart", som jeg har valgt. Andre typer installasjon trengs for de som trenger å tilpasse noe utenfor standarden eller for de som vet nøyaktig hva de trenger for ikke å installere unødvendige ting.

Først av alt må vi lage en partisjon på harddisken for å installere OS, som vi er invitert til å gjøre:

Vi ser en liste over allerede eksisterende partisjoner og ledig plass (alle tall er gitt i byte, ved å trykke "z" kan du bytte mellom alternativer). For å lage en partisjon, plasser markøren på stripen med den angitte mengden ledig diskplass og trykk "c" (opprett). Angi ønsket partisjonsstørrelse (som standard anbefales det å bruke all tilgjengelig plass). Hvis du ikke vil bruke all plassen, må du spesifisere mengden (for å spesifisere mengden i megabyte, legg til MB på slutten, for eksempel 4096MB, som standard antas det at størrelsen er lagt inn i sektorer). Angi deretter typen (la 165). Du kan slette en seksjon ved å trykke "d" (slett). Merk følgende! Vær forsiktig på dette stadiet - du kan slette de nødvendige delene med en liten bevegelse av hånden;) Lagre nå endringene - "w", og fullfør - "q". Deretter går du til FreeBSD-filsystempartisjoneringsmenyen.

Det er to alternativer her: stol på den automatiske prosessen ved å trykke "a" (auto) eller opprett manuelt ved å trykke "c" (opprett, markøren skal være øverst på linjen med vår FreeBSD-seksjon). Hvis du bestemmer deg for å lage den manuelt, må du i dialogboksen for opprettelse av filsystempartisjoner skrive inn navnet og størrelsen (standardstørrelsen angis i sektorer, for å indikere det i megabyte, må du legge til MB på slutten av nummer, for eksempel 256 MB).

Seksjoner som kreves for opprettelse:

/ / swap / var / tmp / usr

I prinsippet er automatisk distribusjon tilstrekkelig, men jeg vil anbefale å gjøre det manuelt. Først, se hva installatøren vil tilby oss ved å trykke "a", skriv ned disse verdiene, slett dem - "d" og gjør det etter eget skjønn. Jeg kan tilby følgende størrelser:
/ 128 Mb / swap RAM * 2 eller mer (RAM - størrelsen på datamaskinens RAM) / var server: 2Gb, hjemmedatamaskin: 128 Mb / tmp server: 1 Gb, hjemmedatamaskin: 64 Mb / usr alt annet

Når vi har valgt størrelsene på partisjonene, kan vi trykke "w" for å lagre dem og "q" for å fortsette. Du vil bli bedt om å installere en oppstartsbehandler - du må velge dette alternativet hvis du vil at FreeBSD og for eksempel Windows eller et annet OS skal leve på datamaskinen din (Installer FreeBSD bootmanager).

Hvis bare FreeBSD er planlagt på datamaskinen, nekter vi oppstartsbehandleren (Standart). Det siste elementet (Ingen) kan velges hvis FreeBSD allerede var installert på datamaskinen og det ikke er nødvendig å endre oppstartslasteren på harddisken.

På dette tidspunktet velger vi hva som skal installeres i tillegg: OS-kilder, dokumentasjon osv. I de fleste tilfeller er det nok å installere alt. Men det er bedre å velge tilpasset og merke der: base, crypto, manpages, doc, src (alle kilder er mulig, men hvis vi sparer plass, men vi vil gjenoppbygge kjernen, da bare sys), porter, compat4x (noen programmer kan oppføre seg merkelig, hvis ikke denne kompatibilitetsmodusen er satt).

Her er filene som er kopiert.

Nå må du konfigurere noen systeminnstillinger. Det første trinnet er å konfigurere SLIP / PPP-enheten (hvis du har en). Dette er vanligvis en leid linje til Internett. hvis det er et slikt alternativ, er vi enige i dialogen ved å trykke "JA", velg det eksterne grensesnittet (vanligvis ed0), spesifiser de nødvendige innstillingene:

Er det IPv6-støtte?

DHCP-konfigurasjon, IP-adressen til datamaskinen og porten (datamaskinen som Internett er koblet til; alle disse innstillingene må hentes fra leverandøren).

Vi blir da spurt om vi ønsker å aktivere dette grensesnittet umiddelbart.

Neste er spørsmålene:

  • vil du at denne datamaskinen skal fungere som en inngangsport for andre?
  • vil du tilpasse inetd og tjenestene det tilbyr? (hvis datamaskinen brukes som en server, må du konfigurere den, du kan selvfølgelig starte alle de samme tjenestene uten hjelp av inetd, men dette er allerede en smakssak).

Vil du gi tilgang til datamaskinen eksternt via ssh (secure shell)-protokollen. Hvis du trenger ekstern tilgang, anbefaler jeg deg å bruke ssh, og deaktiver telnet siden. telnet er en veldig usikker tjeneste.

Må jeg tillate anonym ftp-tilgang til maskinen? (selvfølgelig fra en bestemt mappe, og ikke til hele disken;)

Brukes maskinen som en NFS-server og -klient? (Nettverksfilsystem)

Skal vi tilpasse konsollen? (du må sette opp det russiske språket, så velg ja, gå etter tur til alle kategorier og velg elementet merket "russisk" - russisk, klikk deretter på "avslutt")

Det anbefales å stille inn datamaskinens klokke. Hvis du velger ja, vil følgende spørsmål følge:

  • Er denne datamaskinens klokke satt til internasjonal tid? (hvis ja, velg "JA", hvis de er satt til lokal tid, eller du er usikker - "NEI")
  • det foreslås å velge en region fra listen:


  • land;
  • hva er geografisk nærmest byen din;
  • det foreslås en forkortelse for området, og spørsmålet er "høres dette ut som sannheten"? Hvis ikke, må du velge på nytt.)

Bør jeg installere programmet for kompatibilitet med Linux-systemer? (Hvis du installerer det, kan du kjøre programmer for Linux. Hvis datamaskinen er for hjemmet, anbefaler jeg deg å installere den.)

Er det en mus? :) (Jeg tror du vil velge "JA", i dialogboksen må du spesifisere type mus, port (for USB, velg BusMouse), og klikk "aktiver". Konfiguratoren vil spørre: "Har musen fungert? " vil fungere, men etter en omstart blir vanligvis alle mus oppdaget og fungerer med et smell).

Dialog for valg av tilleggsprogrammer for installasjon. Programmer er kategorisert. Jeg anbefaler deg å se alt. Navnet gjenspeiler vanligvis formålet med programmet, og du kan enkelt velge de du trenger (selvfølgelig hvis du kan i det minste litt engelsk).

Alt avhenger av oppgaven som FreeBSD er installert for:

  • hvis det er en server, må du velge nettverksprogrammer (apache, samba, etc.);
  • hvis dette er et OS på en hjemmedatamaskin, vil det være logisk å installere X-Window-systemet (grafisk server) og multimedieprogrammer.

Menyen vil ha to elementer for arbeid med grupper og med brukere:

Nå vil jeg vise et eksempel på innstillinger for brukeren vasya, som er medlem av hjulgruppen (administratorgruppen) - dette er nødvendig slik at han kan få root-privilegier med su-kommandoen i fremtiden. Hvis brukeren ikke er medlem av hjulgruppen, vil han ikke kunne få superbrukerrettigheter (dette gjøres av sikkerhetsgrunner).

Etter at du har konfigurert gruppene og brukerne, trykk avslutt. Du vil bli bedt om å angi root-passordet.

Dette fullfører FreeBSD-installasjonen! Nå må du konfigurere det for dine behov: gjør skriftlokalisering i KOI8-R eller CP-1251, konfigurer alle tjenestene som OS vil gi, etc. Informasjon om hvordan du gjør dette kan finnes på bsdekaterinburg.ru, så vel som i håndboken (FreeBSD-brukerhåndbok; tilgjengelig på freebsd.org.ru, og, hvis du installerte dokumentasjonen, på harddisken din :).

Og dette er hvordan FreeBSD-skrivebordet ser ut på min hjemmedatamaskin:

P.S. AnbioZz hjalp med råd.