                   FreeBSD i tverdotel'nye ustrojstva

  John Kozubik

   <john@kozubik.com>

   Copyright (c) 2001 The FreeBSD Documentation Project

   $FreeBSD: doc/ru_RU.KOI8-R/articles/solid-state/article.sgml,v 1.5
   2006/03/28 16:55:15 bvs Exp $

   FreeBSD `eto zaregistrirovannaya torgovaya marka FreeBSD
   Foundation.

   M-Systems i DiskOnChip `eto torgovye marki ili zaregistrirovannye
   torgovye marki M-Systems Flash Disk Pioneers, Ltd.

   Mnogie iz oboznachenij, ispol'zuemye proizvoditelyami i prodavcami
   dlya oboznacheniya svoih produktov, zayavlyayutsya v kachestve
   torgovyh marok. Kogda takie oboznacheniya poyavlyayutsya v `etom
   dokumente, i Proektu FreeBSD izvestno o torgovoj marke, k
   oboznacheniyu dobavlyaetsya znak ''(TM)'' ili ''(R)''.

   Rasprostranenie i ispol'zovanie ishodnyh (SGML DocBook) i
   ''skompilirovannyh'' form (SGML, HTML, PDF, PostScript, RTF i
   prochih) s modifikaciej ili bez onoj, razresheny pri soblyudenii
   sleduyuschih soglashenij:

    1. Rasprostranyaemye kopii ishodnogo koda (SGML DocBook) dolzhny
       sohranyat' vysheupomyanutye ob"yavleniya copyright, `etot
       spisok polozhenij i sleduyuschij otkaz ot otvetstvennosti v
       pervyh strokah `etogo fajla v neizmennom vide.

    2. Rasprostranyaemye kopii skompilirovannyh form (preobrazovannye
       v drugie DTD, konvertirovannye v PDF, PostScript, RTF i drugie
       formaty) dolzhny povtoryat' vysheupomyanutye ob"yavleniya
       copyright, `etot spisok polozhenij i sleduyuschij otkaz ot
       otvetstvennosti v dokumentacii i/ili drugih materialah,
       postavlyaemyh s distrib'yuciej.

     Vazhno: `ETA DOKUMENTACIYA POSTAVLYAETSYA PROEKTOM DOKUMENTACII
     FREEBSD "KAK EST'" I LYUBYE YAVNYE ILI NEYAVNYE GARANTII,
     VKLYUCHAYA, NO NE OGRANICHIVAYAS' NEYAVNYMI GARANTIYAMI,
     KOMMERCHESKOJ CENNOSTI I PRIGODNOSTI DLYA KONKRETNOJ CELI
     OTRICAYUTSYA. NI PRI KAKIH USLOVIYAH PROEKT DOKUMENTIROVANIYA
     FREEBSD NE NESET OTVETSTVENNOSTI ZA LYUBOJ PRYAMOJ, KOSVENNYJ,
     SLUCHAJNYJ, SPECIAL'NYJ, OBRAZCOVYJ ILI POSLEDUYUSCHIJ USCHERBY
     (VKLYUCHAYA, NO NE OGRANICHIVAYAS' POSTAVKOJ TOVAROV ZAMENY ILI
     USLUG; POTERYU DANNYH ILI IH NEPRAVIL'NUYU PEREDACHU ILI POTERI;
     PRIOSTANOVLENIE BIZNESA), I TEM NE MENEE VYZVANNYE I V LYUBOJ
     TEORII OTVETSTVENNOSTI, NEZAVISIMO OT KONTRAKTNOJ, STROGOJ
     OTVETSTVENNOSTI, ILI PRAVONARUSHENII (VKLYUCHAYA HALATNOST' ILI
     INYM SPOSOBOM), VOZNIKSHEM LYUBYM PUTEM PRI ISPOL'ZOVANII `ETOJ
     DOKUMENTACII, DAZHE ESLI BY BYLO SOOBSCHENO O VOZMOZHNOSTI
     TAKOGO USCHERBA.

   V `etoj stat'e opisyvaetsya ispol'zovanie tverdotel'nyh diskovyh
   ustrojstv dlya sozdaniya vstraivaemyh sistem na osnove FreeBSD.

   Vstraivaemye sistemy imeyut preimuschestvo v povyshennoj
   nadezhnosti po prichine otsutstviya v nih dvizhuschihsya chastej
   (zhestkih diskov). Odnako sleduet prinyat' vo vnimanie, chto
   sisteme, kak pravilo, dostupno ochen' maloe diskovoe prostranstvo
   i ogranichennyj ob"em zapominayuschego ustrojstva.

   K otdel'no rassmatrivaemym voprosam otnosyatsya tipy i
   harakteristiki tverdotel'nyh nositelej, podhodyaschih dlya
   ispol'zovaniya v kachestve diskov vo FreeBSD, parametry yadra,
   kotorye predstavlyayut interes v takih usloviyah, mehanizmy
   rc.diskless, avtomatiziruyuschie inicializaciyu takih sistem i
   udovletvoryayuschie trebovaniyam fajlovyh sistem, dostupnyh tol'ko
   dlya chteniya, a takzhe postroenie fajlovyh sistem s nulya.
   Stat'ya zakanchivaetsya opisaniem nekotoryh obschih strategij dlya
   sluchaev malyh sistem FreeBSD i rabot v rezhime tol'ko dlya
   chteniya.

     --------------------------------------------------------------

1. Tverdotel'nye diskovye ustrojstva

   `Eta stat'ya budet ogranichivat'sya rassmotreniem tverdotel'nyh
   diskovyh ustrojstv, kotorye delayutsya na osnove fl`esh-pamyati.
   Fl`esh-pamyat' yavlyaetsya tverdotel'nym (zdes' net dvizhuschihsya
   chastej) zapominayuschim ustrojstvom, kotoroe yavlyaetsya
   `energonezavisimym (dannye ostayutsya v pamyati dazhe posle
   otklyucheniya vseh istochnikov pitaniya). Fl`esh-pamyat' mozhet
   byt' nechuvstvitel'noj k sil'nym fizicheskim vozdejstviyam i
   dostatochno bystra (resheniya na osnove fl`esh-pamyati,
   opisyvaemye v `etoj stat'e, gorazdo medlennee, chem diski EIDE
   dlya operacij zapisi, i gorazdo bystree ih v sluchae vypolneniya
   operacij chteniya). Odnim iz ochen' vazhnyh svojstv
   fl`esh-pamyati, razlichnye varianty kotorogo budut rassmotreny
   dalee v `etoj stat'e, yavlyaetsya to, chto kazhdyj sektor imeet
   ogranichennye vozmozhnosti po perezapisyvaniyu. Vy mozhete tol'ko
   zapisyvat', stirat' i snova zapisyvat' na sektor fl`esh-pamyati
   opredelennoe kolichestvo raz do togo, kak sektor stanet polnost'yu
   nerabotosposobnym. Hotya mnogie produkty na osnove fl`esh-pamyati
   avtomaticheski perenapravlyayut isporchennye bloki, a nekotorye
   dazhe raspredelyayut operacii zapisi po vsemu modulyu, faktom
   yavlyaetsya nalichie ogranicheniya na kolichestvo operacij zapisi,
   kotorye mogut vypolnyat'sya s ustrojstvom. Sovremennye moduli
   imeyut harakteristiki ot 1,000,000 do 10,000,000 ciklov zapisi na
   sektor. `Eti harakteristiki mogut zaviset' ot temperatury rabochej
   sredy.

   V chastnosti, my obsudim kompaktnye moduli fl`esh-pamyati,
   sovmestimye so standartom ATA i moduli fl`esh-pamyati
   DiskOnChip(R) kompanii M-Systems. Sovmestimye s ATA kompaktnye
   fl`esh-karty ves'ma populyarny v kachestve nositelya dannyh dlya
   cifrovyh kamer. Osobyj interes predstavlyaet tot fakt, chto oni
   sootvetstvuyut shine IDE po kontaktam i sovmestimy s naborom
   komand ATA. Takim obrazom, pri pomoschi ochen' prostogo i
   deshevogo adaptera takie ustrojstva mogut podklyuchat'sya
   neposredstvenno k shine IDE komp'yutera. Esli postupit' taki
   obrazom, to takie operacionnye sistemy, kak FreeBSD, raspoznayut
   disk kak obychnyj vinchester (ves'ma malen'kij). Produkt M-Systems
   DiskOnChip osnovan na toj zhe samoj tehnologii fl`esh-pamyati, kak
   i sovmestimye s ATA kompaktnye fl`esh-karty, no otlichayutsya
   form-faktorom DIP i ne sovmestimy s ATA. Dlya ispol'zovaniya
   takogo ustrojstva, vy ne tol'ko dolzhny ustanovit' ego na
   materinskuyu platu s raz"emom DiskOnChip, no takzhe vstroit'
   drajver `fla` vo vse yadra FreeBSD, s kotorymi hotite ego
   ispol'zovat'. Bolee togo, v zagruzochnom sektore `etogo ustrojstva
   nahoditsya kritichnye dannye, tak chto by ne dolzhny ustanavlivat'
   zagruzchik FreeBSD (i voobsche kakoj-libo drugoj zagruzchik) pri
   ego ispol'zovanii.

   Suschestvuyut i drugie resheniya dlya tverdotel'nyh diskov, no ih
   stoimost', bezvestnost' i sravnitel'naya slozhnost' ispol'zovaniya
   vyvodyat ih za ramki `etoj stat'i.

     --------------------------------------------------------------

2. Parametry yadra

   Dlya teh. kto sozdaet vstraivaemuyu sistemu FreeBSD, interes
   predstavlyayut neskol'ko parametrov yadra.

   Vo-pervyh, vse vstraivaemye sistemy FreeBSD, kotorye ispol'zuyut
   fl`esh-pamyat' v kachestve sistemnogo diska, zainteresovany v
   ispol'zovanii diskov v pamyati i fajlovyh sistem v pamyati. Iz-za
   ogranichennogo kolichestva ciklov zapisi, kotorye mozhno vypolnit'
   s fl`esh-pamyat'yu, disk i fajlovye sistemy na nem budut, skoree
   vsego, montirovat'sya v rezhime dostupa tol'ko dlya chteniya. V
   takom sluchae fajlovye sistemy tipa /tmp i /var montiruyutsya kak
   fajlovye sistemy v pamyati dlya togo, chtoby pozvolit' sisteme
   sozdat' zhurnaly i obnovit' schetchiki i vremennye fajly. Fajlovye
   sistemy v pamyati yavlyayutsya kriticheskim komponentom uspeshnoj
   raboty FreeBSD na tverdotel'nyh ustrojstvah.

   Vy dolzhny udostoverit'sya, chto v konfiguracionnom fajle vashego
   yadra prisutstvuyut sleduyuschie stroki:

 options         MFS             # Memory Filesystem
 options         MD_ROOT         # md device usable as a potential root device
 pseudo-device   md              # memory disk
    

   Vo-vtoryh, esli vy budete ispol'zovat' produkt M-Systems
   DiskOnChip, vy dolzhny takzhe vklyuchit' takuyu stroku:

 device          fla0    at isa?

     --------------------------------------------------------------

3. rc.diskless fajlovye sistemy v rezhime tol'ko chteniya

   Inicializaciya vstraivaemoj sistemy FreeBSD posle zagruzki
   upravlyaetsya /etc/rc.diskless2 (/etc/rc.diskless1 dlya
   bezdiskovoj zagruzki posredstvom BOOTP). `Etot nachal'nyj skript
   vyzyvaetsya, esli pomestit' v fajl /etc/rc.conf takuyu stroku:

 diskless_mount=/etc/rc.diskless2

   rc.diskless2 montiruet /var kak fajlovuyu sistemu v pamyati,
   sozdaet ukazyvaemyj spisok katalogov v /var pri pomoschi komandy
   mkdir(1), izmenyaet rezhimy dostupa na nekotorye iz `etih
   katalogov i pomeschaet celyj nabor fajlov ustrojstv kopirovaniem
   na dostupnyj dlya zapisi (opyat' zhe, `eto fajlovaya sistema v
   pamyati) razdel /dev. V processe vypolneniya /etc/rc.diskless2,
   zadejstvuetsya esche odna peremennaya rc.conf - varsize. Skript
   /etc/rc.diskless2 sozdaet razdel /var na osnove znacheniya `etoj
   peremennoj iz rc.conf:

 varsize=8192

   Zapomnite, chto `eto znachenie ukazano v sektorah. Sozdanie
   razdela /dev pri pomoschi /etc/rc.diskless2, odnako, ogranicheno
   predopredelennym znacheniem v 4096 sektorov. Legko izmenit' `eto
   znachenie neposredstvenno v fajle /etc/rc.diskless2, hotya dlya
   kataloga /dev vryad li vam ponadobitsya bol'she diskovogo
   prostranstva.

   Vazhno pomnit', chto skript /etc/rc.diskless2 predpolagaet, chto
   vy uzhe udalili vash obychnyj razdel /tmp i zamenili ego
   simvolicheskoj ssylkoj na /var/tmp. Tak kak tmp yavlyaetsya odnim
   iz katalogov, sozdavaemyh v /var skriptom /etc/rc.diskless2 i /var
   yavlyaetsya fajlovoj sistemoj v pamyati (kotoraya montiruetsya s
   pravami chteniya i zapisi), to /tmp budet katalogom, takzhe
   dostupnym dlya chteniya i zapisi.

   Tot fakt, chto /var i /dev yavlyayutsya fajlovymi sistemami,
   dostupnymi dlya chteniya i zapisi, yavlyaetsya vazhnym priznakom,
   tak kak razdel / (i lyubye drugie razdely, kotorye mogut
   nahodit'sya na fl`esh-nositele) dolzhen montirovat'sya v rezhime
   tol'ko dlya chteniya. Vspomnite, chto Razd. 1 my kasalis'
   ogranichenij fl`esh-pamyati - osobenno ogranichenij,
   kasayuschihsya vozmozhnostej zapisi. Vazhno ne montirovat'
   fajlovye sistemy na fl`esh-nositelyah v rezhimah chteniya i
   zapisi, i vazhnost' otkaza ot fajla podkachki ne mozhet byt'
   pereocenena. Fajl podkachki na zagruzhennoj sisteme mozhet
   perezhech' kusok fl`esh-nositelya menee chem za god. CHastoe
   zhurnalirovanie i sozdanie vremennyh fajlov privodyat k tomu zhe
   rezul'tatu. Po`etomu, krome udaleniya zapisej swap i /proc iz
   vashego fajla /etc/fstab, vy dolzhny takzhe izmenit' pole
   parametrov kazhdoj fajlovoj sistemy na ro takim obrazom:

 # Device                Mountpoint      FStype  Options         Dump    Pass#
 /dev/ad0s1a             /               ufs     ro              1       1
    

   V rezul'tate `etih izmenenij v srednestatisticheskoj sisteme
   neskol'ko prilozhenij nemedlenno perestanut rabotat'. Naprimer,
   porty ne budut ustanavlivat'sya iz dereva portov iz-za otsutstviya
   fajla /var/db/port.mkversion, cron ne budet normal'no zapuskat'sya
   v rezul'tate otsutstviya tablic dlya nego v kataloge /var,
   sozdannom /etc/rc.diskless2, a syslog i dhcp budut ispytyvat'
   problemy iz-za dostupa fajlovoj sistemy tol'ko dlya chteniya, a
   takzhe otsutstviya zapisej v /var, kotoryj byl sozdan skriptom
   /etc/rc.diskless2. Hotya `eti problemy yavlyayutsya vremennymi i
   obsuzhdayutsya vmeste s resheniem problem s zapuskom
   rasprostranennyh programmnyh paketov, v Razd. 6.

   Vazhno pomnit', chto fajlovaya sistema, kotoraya byla smontirovana
   tol'ko dlya chteniya pri pomoschi fajla /etc/fstab, v lyuboj
   moment mozhet byt' sdelana dostupnoj po chteniyu i zapisi vydachej
   komandy:

 # /sbin/mount -uw partition
    

   i mozhet byt' vozvraschena k rezhimu dostupa tol'ko dlya chteniya
   po takoj komande:

 # /sbin/mount -ur partition
    

     --------------------------------------------------------------

4. Sozdanie fajlovoj sistemy s nulya

   Tak kak sovmestimye s ATA kompaktnye fl`esh-karty raspoznayutsya
   vo FreeBSD kak obychnye zhestkie diski IDE, kak `eto proishodit s
   produktom M-Systems DiskOnChip (kogda vy zapuskaete yadro s
   vstroennym drajverom fla), to teoreticheski vy mozhete ustanovit'
   FreeBSD po seti pri pomoschi disket kern i mfsroot ili s
   kompakt-diska. Krome togo, chto vam ne nuzhno zapisyvat' kakoj by
   to ni bylo nachal'nyj zagruzchik na ustrojstvo M-Systems, nikakih
   dopolnitel'nyh instrukcij ne trebuetsya.

   Odnako dazhe malen'kaya ustanovka FreeBSD pri pomoschi obychnyh
   procedur ustanovki mozhet privesti k sozdaniyu sistemy razmerom,
   prevyshayuschim 200 megabajt. Tak kak bol'shinstvo lyudej
   ispol'zuyut ustrojstva fl`esh-pamyati men'shego razmera (128
   megabajt schitaetsya ves'ma bol'shim - 32 ili dazhe 16 megabajt
   ispol'zuyutsya gorazdo chasche), to ustanovka obychnym obrazom ne
   podhodit--prosto na diske net mesta dazhe dlya samoj minimal'noj
   ustanovki.

   Samym prostym sposobom obojti `eto ogranichenie na ob"em
   yavlyaetsya ustanovka FreeBSD obychnym obrazom na obychnyj
   zhestkij disk. Posle okonchaniya ustanovki, obrezh'te
   operacionnuyu sistemu do razmera, kotoryj pomeschaetsya na vash
   fl`esh-nositel', a zatem polnost'yu zaarhivirujte fajlovuyu
   sistemu. Sleduyuschie shagi povedut vas cherez process podgotovki
   chasti fl`esh-pamyati dlya vashej zaarhivirovannoj fajlovoj
   sistemy. Zapomnite, chto iz-za togo, chto obychnaya ustanovka ne
   vypolnyalas', takie operacii, kak razbienie na razdely, razmetka,
   sozdanie fajlovoj sistemy i tak dalee dolzhny byt' vypolneny
   vruchnuyu. Krome disket kern i mfsroot vam takzhe nuzhno
   vospol'zovat'sya disketoj fixit. Esli vy ispol'zuete M-Systems
   DiskOnChip, to yadro s diskety kern dolzhno imet' vkompilirovannyj
   parametr fla, opisyvaemyj v Razd. 2. Pozhalujsta, obratites' k
   Razd. 5 dlya polucheniya ukazanij po sozdaniyu novogo yadra dlya
   kern.flp.

    1. Razbienie vashego fl`esh-nositelya na razdely

       Posle zagruzki pri pomoschi disket kern i mfsroot, vyberite
       punkt custom iz menyu ustanovki. Iz sleduyuschego punkta menyu
       vyberite partition. V menyu raboty s razdelami vy dolzhny
       udalit' vse suschestvuyuschie razdely pri pomoschi klavishi d.
       Posle udaleniya vseh imeyuschihsya razdelov sozdajte razdel
       pri pomoschi klavishi c i soglasites' s predlagaemym po
       umolchaniyu razmerom razdela. Kogda vy budete oprosheny na
       predmet tipa razdela, udostover'tes', chto znachenie tipa
       ravno 165. Teper' zapishite `etu tablicu razdelov na disk,
       nazhav klavishu w (na `etom `ekrane `eta opciya skryta).
       Nahodyas' v menyu vybora menedzhera zagruzki, obratite
       vnimanie na vybor None, esli vy ispol'zuete M-Systems
       DiskOnChip. Esli vy ispol'zuete kompaktnuyu fl`esh-kartu,
       sovmestimuyu s ATA, vy dolzhny vybrat' FreeBSD Boot Manager.
       Teper' nazhmite klavishu q dlya vyhoda iz menyu raboty s
       razdelami. Dolzhno byt' vydano esche raz menyu dlya vybora
       menedzhera zagruzki - povtorite to, chto vy vybirali ranee.

    2. Sozdanie fajlovyh sistem na vashem ustrojstve fl`esh-pamyati

       Vyjdite iz menyu ustanovki custom, i iz glavnogo menyu
       ustanovki vyberite punkt fixit. Posle vhoda v rezhim raboty
       fixit, vvedite sleduyuschie komandy:

              Sovmestimye s ATA                        DiskOnChip         
# mknod /dev/ad0a c 116 0                      # mknod /dev/fla0a c 102 2 
# mknod /dev/ad0c c 116 2                      # mknod /dev/fla0c c 102 2 
# disklabel -e /dev/ad0c                       # disklabel -e /dev/fla0c  

       V `etot moment vy vojdete v redaktor vi iz-pod komandy
       disklabel. Esli vy ispol'zuete DiskOnChip, to pervym shagom
       budet izmenenie znacheniya tipa okolo nachala fajla s ESDI na
       DOC2K. Zatem, vne zavisimosti ot togo, ispol'zuete li vy
       DiskOnChip ili sovmestimyj s ATA kompaktnyj fl`esh-nositel',
       vam nuzhno dobavit' stroku a: v konce fajla. `Eta stroka a:
       dolzhna vyglyadet' primerno tak:

 a:      123456  0       4.2BSD  0       0
        

       Zdes' 123456 yavlyaetsya chislom, v tochnosti sovpadayuschim s
       tem, chto harakterizuet razmer imeyuschejsya zapisi dlya c:. V
       obschem, vy kopiruete suschestvuyuschuyu stroku dlya c: dlya
       stroki a:, ne zabyvaya opredelit' fstype kak 4.2BSD. Sohranite
       fajl i zavershite redaktirovanie.

             Sovmestimye s ATA                  DiskOnChip            
       # disklabel -B -r /dev/ad0c    # disklabel -B -r /dev/fla0c    
       # newfs /dev/ad0a              # newfs /dev/fla0a              

    3. Razmeschenie vashej fajlovoj sistemy na fl`esh-nositele

       Smontirujte tol'ko chto podgotovlennyj fl`esh-nositel':

             Sovmestimye s ATA                  DiskOnChip            
       # mount /dev/ad0a /flash       # mount /dev/fla0a /flash       

       Podklyuchite `etu mashinu k seti, chtoby mozhno bylo perenesti
       nash tar-fajl i raspakovat' ego v fajlovuyu sistemu na
       fl`esh-nositele. Vot primer togo, kak `eto mozhno sdelat':

 # ifconfig xl0 192.168.0.10 netmask 255.255.255.0
 # route add default 192.168.0.1
        

       Teper', kogda mashina nahoditsya v seti, perepishite vash
       tar-fajl. Zdes' vy mozhete stolknut'sya s nekotoroj problemoj
       - esli ob"em vashej fl`esh-pamyati raven, k primeru, 128
       megabajtam, a vash tar-fajl prevyshaet 64 megabajta, to vy ne
       mozhete odnovremenno razmestit' tar-fajl na fl`esh-nositele i
       raspakovat' ego - vam ne hvatit mesta. Odnim iz reshenij `etoj
       problemy, esli vy ispol'zuete FTP, yavlyaetsya raspakovka
       fajla vo vremya ego peredachi po FTP. Esli vy peredaete fajl
       imenno tak, to vy nikogda ne poluchite na diske odnovremenno
       arhivnyj fajl i ego soderzhimoe:

 ftp> get tarfile.tar "| tar xvf -"
        

       Esli vash fajl obrabotan utilitoj gzip, vy takzhe mozhete
       `etogo dobit'sya:

 ftp> get tarfile.tar "| zcat | tar xvf -"
        

       Posle togo, kak vy poluchili soderzhimoe vashej
       zaarhivirovannoj fajlovoj sistemy na fajlovoj sisteme
       fl`esh-pamyati, vy mozhete razmontirovat' fl`esh-pamyat' i
       vypolnit' perezagruzku:

 # cd /
 # umount /flash
 # exit
        

       Polagaya, chto vy pravil'no nastroili vashu fajlovuyu sistemu
       pri ee postroenii na obychnom diske (s vashej fajlovoj
       sistemoj, smontirovannoj v rezhime dostupa tol'ko dlya
       chteniya i neobhodimymi parametrami, prisutstvuyuschimi v
       yadre) vy dolzhny uspeshno zagruzit' vashu vstraivaemuyu
       sistemu na osnove FreeBSD.

     --------------------------------------------------------------

5. Postroenie ustanovochnoj diskety kern.flp s drajverom fla

     Zamechanie: `Etot razdel stat'i prednaznachen tol'ko tem, kto
     ispol'zuet fl`esh-nositeli M-Systems DiskOnChip.

   Vozmozhno, chto na zagruzochnaya diskete kern.flp net yadra so
   vstroennym drajverom fla, kotoryj neobhodim dlya raboty sistemy s
   DiskOnChip. Esli vy zagruzilis' s ustanovochnyh disket i
   okazalos', chto diski ne byli obnaruzheny, to, veroyatno, v vashem
   yadre otsutstvuet drajver fla.

   Posle postroeniya vami yadra s podderzhkoj fla, kotoroe imeet
   ob"em, men'shij, chem 1.4 megabajt, vy mozhete sozdat' sobstvennyj
   obraz diskety kern.flp s `etim yadrom s pomosch'yu sleduyuschej
   posledovatel'nosti dejstvij:

    1. Voz'mite suschestvuyuschij fajl obraza kern.flp

    2. # vnconfig vn0c kern.flp
          

    3. # mount /dev/vn0c /mnt
          

    4. Perepishite vash fajl yadra v katalog /mnt, zamestiv pri `etom
       uzhe nahodyascheesya tam yadro

    5. # vnconfig -d vn0c
          

   Teper' v vashem fajle kern.flp nahoditsya novoe yadro.

     --------------------------------------------------------------

6. Strategii raboty s sistemoj dlya sluchaev nebol'shih i dostupnyh
tol'ko dlya chteniya fajlovyh sistem

   V Razd. 3 bylo ukazano, chto fajlovaya sistema /var, sozdavaemaya
   skriptom /etc/rc.diskless2 i nalichie kornevoj fajlovoj sistemy,
   dostupnoj tol'ko dlya chteniya, privodyat k problemam pri rabote
   mnogih rasprostranennyh programmnyh paketov, ispol'zuemyh vo
   FreeBSD. V `etoj stat'e budut dany rekomendacii po nastrojke
   normal'noj raboty cron i syslog, ustanovke portov i veb-servera
   Apache.

     --------------------------------------------------------------

  6.1. cron

   V fajle /etc/rc.diskless2 imeetsya peremennaya var_dirs. `Eta
   peremennaya zadaet spisok katalogov, razdelennyh zapyatymi,
   kotorye budut sozdany v kataloge /var posle ego montirovaniya kak
   fajlovoj sistemy v pamyati. cron i cron/tabs v `etot spisok ne
   vhodyat, a bez `etih katalogov cron normal'no rabotat' ne budet.
   Vklyuchiv cron, cron/tabs i, mozhet byt', dazhe at i at/jobs v
   kachestve `elementov `etoj peremennoj, vy obespechite rabotu
   daemonov cron(8) i at(1).

   Odnako `eto vse zhe ne reshit problemu s sohraneniem cron-tablic
   mezhdu perezagruzkami. Kogda sistema perezagruzhaetsya, to
   fajlovaya sistema /var, kotoraya raspolagaetsya v pamyati, budet
   unichtozhena, vmeste so vsemi cron-tablicami, kotorye vy mogli tam
   imet'. Po`etomu odnim iz reshenij mozhet stat' sozdanie
   cron-tablic dlya pol'zovatelej, kotorym oni nuzhny, montirovanie
   vashej fajlovoj sistemy / v rezhime chteniya i zapisi i
   kopirovanie `etih cron-tablic v bezopasnoe mesto, naprimer,
   /etc/tabs i posleduyuschee dobavlenie stroki v konec skripta
   /etc/rc.diskless2 dlya kopirovaniya `etih cron-tablic v katalog
   /var/cron/tabs posle ego sozdaniya vo vremya inicializacii
   sistemy. Vam mozhet takzhe potrebovat'sya dobavit' stroku,
   kotoraya izmenyaet rezhimy dostupa i prava na katalogi, kotorye vy
   sozdali i na fajly, kotorye vy skopirovali v skripte
   /etc/rc.diskless2.

     --------------------------------------------------------------

  6.2. syslog

   V fajle syslog.conf zadano mestopolozhenie nekotoryh fajlov
   protokolov, kotorye imeyutsya v kataloge /var/log. `Eti fajly ne
   sozdayutsya skriptom /etc/rc.diskless2 vo vremya inicializacii
   sistemy Po`etomu gde-nibud' v skripte /etc/rc.diskless2, posle
   sekcii, sozdayuschej katalogi v /var, vam nuzhno dobavit' nechto
   vrode sleduyuschego:

 # touch /var/log/security /var/log/maillog /var/log/cron /var/log/messages
 # chmod 0644 /var/log/*
      

   Vam takzhe potrebuetsya dobavit' katalog s protokolami raboty k
   spisku katalogov, sozdavaemyh skriptom /etc/rc.diskless2.

     --------------------------------------------------------------

  6.3. Ustanovka portov

   Pered tem, kak obsudit' izmeneniya, kotorye nuzhno sdelat' dlya
   uspeshnogo ispol'zovaniya dereva portov, neobhodimo napomnit' o
   tom, chto vashi fajlovye sisteme na fl`esh-nositelyah dostupny
   tol'ko dlya chteniya. Po`etomu vam nuzhno vremenno montirovat' ih
   v rezhime chteniya i zapisi, ispol'zuya parametry komandnoj
   stroki, kak `eto pokazano v Razd. 3. Vy vsegda dolzhny
   peremontirovat' `eti fajlovye sistemy v rezhim tol'ko dlya
   chteniya posle okonchaniya rabot - izlishnie zapisi na flesh
   nositel' mogut znachitel'no sokratit' ego srok `ekspluatacii.

   CHtoby mozhno bylo vojti v katalog s portami i uspeshno vypolnit'
   komandu make install, neobhodimo nalichie fajla
   /var/db/port.mkversion, v kotorom zapisana pravil'naya data. Zatem
   my dolzhny sozdat' katalog dlya pakadzhej v fajlovoj sisteme, ne
   raspolagayuschejsya v pamyati, gde budut hranit'sya pakadzhi
   mezhdu perezagruzkami. Tak kak dlya ustanovki pakadzha v lyubom
   sluchae trebuetsya montirovanie vashih fajlovyh sistem dlya
   chteniya i zapisi, imeet smysl vydelit' oblast' fl`esh-nositelya
   takzhe i dlya zapisi informacii o pakadzhe.

   Prezhde vsego sozdajte katalog s bazoj dannyh o pakadzhah. Obychno
   `eto katalog /var/db/pkg, no my ne mozhem razmestit' bazu imenno
   zdes', tak kak ona ischeznet posle perezagruzki sistemy.

 # mkdir /etc/pkg

   Teper' v skript /etc/rc.diskless2 dobav'te stroku, kotoraya
   svyazyvaet katalog /etc/pkg s /var/db/pkg. Naprimer:

 # ln -s /etc/pkg /var/db/pkg
      

   Dobav'te v skript /etc/rc.diskless2 esche odnu stroku, kotoraya
   sozdaet i kopiruet /var/db/port.mkversion

 # touch /var/db/port.mkversion
 # chmod 0644 /var/db/port.mkversion
 # echo 20010412 >> /var/db/port.mkversion
      

   gde 20010412 yavlyaetsya datoj, sootvetstvuyuschej vashej versii
   FreeBSD.

   Teper' kazhdyj raz pri montirovanii vashih fajlovyh sistem dlya
   chteniya i zapisi i ustanovki pakadzha, komanda make install budet
   rabotat', potomu chto najdet podhodyaschij fajl
   /var/db/port.mkversion, a informaciya o pakadzhe budet uspeshno
   zapisana v katalog /etc/pkg (tak kak fajlovaya sistema budut v
   `eto vremya smontirovana dlya chteniya i zapisi), kotoryj vsegda
   budet dostupnym operacionnoj sisteme kak /var/db/pkg.

     --------------------------------------------------------------

  6.4. Veb-server Apache

   Apache hranit pid-fajly i protokoly v kataloge
   apache_install/logs. Tak kak `etot katalog, bez somneniya,
   raspolagaetsya na fajlovoj sisteme, dostupnoj tol'ko dlya
   chteniya, to `eto rabotat' ne budet. Neobhodimo dobavit' novyj
   katalog k spisku katalogov iz /etc/rc.diskless2 dlya ih sozdaniya
   v kataloge /var i svyazat' apache_install/logs s /var/log/apache.
   Nuzhno takzhe zadat' prava dostupa i vladel'ca novogo kataloga.

   Snachala dobav'te katalog log/apache k spisku katalogov,
   sozdavaemyh skriptom /etc/rc.diskless2.

   Zatem dobav'te v skript /etc/rc.diskless2 posle sekcii sozdaniya
   katalogov takie komandy:

 # chmod 0774 /var/log/apache
 # chown nobody:nobody /var/log/apache
      

   I nakonec, udalite suschestvuyuschij katalog apache_install/logs i
   zamenite ego ssylkoj:

 # rm -rf (apache_install)/logs
 # ln -s /var/log/apache (apache_install)/logs
      

     --------------------------------------------------------------

            `Etot, i drugie dokumenty, mogut byt' skachany s
                ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

  Po voprosam, svyazannym s FreeBSD, prochitajte dokumentaciyu prezhde
                 chem pisat' v <questions@FreeBSD.org>.
         Po voprosam, svyazannym s `etoj dokumentaciej, pishite
                           <doc@FreeBSD.org>.
  Po voprosam, svyazannym s russkim perevodom dokumentacii, pishite v
                    rassylku <frdp@FreeBSD.org.ua>.
  Informaciya po podpiske na `etu rassylku nahoditsya na sajte proekta
                               perevoda.
