- 4-4 - TIPY FAJLOVYH SISTEM Sistema mozhet byt' nastroena na rabotu s chetyr'mya razlichny- mi tipami fajlovyh sistem: * XENIX * UNIX * DOS * AFS (Acer Fast Filesystem) Vnutrennie struktury fajlovyh sistem UNIX i XENIX nemnogo razlichayutsya, no eto ne privodit k ser'eznym posledstviyam. Po umolchaniyu prinimaetsya bystraya fajlovaya sistema tipa AFS (Acer Fast Filesystem), kotoraya rabotaet znachitel'no bystree i ne dostupna v drugih sistemah UNIX. V kazhdoj iz etih fajlovyh sis- tem razmer bloka prinimaetsya ravnym 1K. Fajlovye sistemy DOS ob- suzhdayutsya v glave "Ispol'zovanie DOS i OS/2" nastoyashchego ruko- vodstva. Preobrazovanie fajlovyh sistem UNIX v AFS Fajlovuyu sistemu UNIX mozhno v lyuboe vremya preobrazovat' v fajlovuyu sistemu AFS. Dlya etogo ispol'zuetsya opciya ¬2-Cclustersize komandy fsck(ADM), kotoraya obychno primenyaetsya dlya proverki i vosstanovleniya fajlovyh sistem. Opciya -C izmenyaet razmer klaste- ra, chtoby zamenit' format fajlovoj sistemy na format AFS. Argu- ment clustersize dolzhen byt' stepen'yu chisla 2 i men'she 16 (reko- menduetsya znachenie 8). Real'nye preimushchestva fajlovoj sistemy AFS naglyadno proyav- lyayutsya pri ispol'zovanii novoj fajlovoj sistemy. Budet ochevidnym uvelichenie skorosti raboty preobrazovannoj fajlovoj sistemy AFS; ono proyavitsya tol'ko pri dobavlenii novyh fajlov k fajlovoj sis- teme. Preobrazovanie fajlovoj sistemy, kotoraya pochti zapolnena, ne vlechet nikakih ili pochti nikakih vygod; esli do zapolneniya ne hvataet neskol'kih blokov, preobrazovanie prosto ne vypolnitsya. (Polnoe opisanie komandy fsck sm. v razdele "Celostnost' fajlo- voj sistemy".) Zamechanie Pered vypolneniem komandy fsck sleduet demontirovat' fajlo- vuyu sistemu. - 4-5 - Format komandy: ¬2fsck -s -Cclustersize device Zdes' device - imya ustrojstva fajlovoj sistemy v /dev. Sle- duet otmetit', chto dolzhna prisutstvovat' takzhe i opciya -s. . - 4-6 - OBESPECHENIE SVOBODNOGO PROSTRANSTVA V FAJLOVOJ SISTEME Soprovozhdenie fajlovoj sistemy (eto odna iz vazhnejshih zadach administratora sistemy) obespechivaet normal'nuyu rabotu operaci- onnoj sistemy i chistotu fajlovyh sistem, a takzhe garantiruet na- lichie dostatochnogo prostranstva dlya vseh pol'zovatelej. Dlya sop- rovozhdeniya fajlovyh sistem administrator sistemy dolzhen otslezhi- vat' svobodnoe prostranstvo v kazhdoj fajlovoj sisteme i vypol- nyat' korrektiruyushchie dejstviya v sluchayah, kogda svobodnogo prost- ranstva stanovitsya slishkom malo. V dannoj glave opisyvayutsya komandy soprovozhdeniya fajlovoj sistemy. |ti komandy soobshchayut, skol'ko prostranstva ispol'zuet- sya, opredelyayut redko ispol'zuemye fajly i udalyayut ili vosstanav- livayut isporchennye fajly. Sistema UNIX rabotaet luchshe vsego, kogda v kazhdoj fajlovoj sisteme imeetsya po krajnej mere 15% svobodnogo prostranstva. V lyuboj sisteme ob®em svobodnogo prostranstva zavisit ot razmera diska, soderzhashchego fajlovuyu sistemu, i ot kolichestva fajlov na diske. Poskol'ku kazhdyj disk imeet fiksirovannyj ob®em prost- ranstva, vazhno kontrolirovat' chislo zapisannyh na diske fajlov. Esli v fajlovoj sisteme men'she 15% svobodnogo prostranstva, rabota sistemy obychno zamedlyaetsya. Esli net dostupnogo svobodno- go prostranstva, sistema prekrashchaet vse popytki zapisi v fajlo- vuyu sistemu. |to oznachaet prekrashchenie obychnoj raboty pol'zovate- lya na komp'yutere (sozdanie novyh fajlov i rasshirenie sushchestvuyu- shchih). Edinstvennoe spasenie dlya fajlovoj sistemy, v kotoroj men'- she 15% svobodnogo prostranstva, sostoit v udalenii odnogo ili neskol'kih fajlov iz fajlovoj sistemy. V sleduyushchih razdelah opi- syvayutsya strategii obespecheniya dostupnogo svobodnogo prostrans- tva. Strategii obespecheniya svobodnogo prostranstva Administrator sistemy dolzhen regulyarno proveryat' kolichestvo svobodnogo prostranstva vo vseh smontirovannyh fajlovyh sistemah i napominat' pol'zovatelyam o tom, chto ne sleduet ostavlyat' v svoih katalogah neispol'zuemye fajly. Takoe napominanie mozhno vklyuchit' v fajl soobshcheniya tekushchego dnya /etc/motd. Krome togo, sistema vypolnyaet komandu cleantmp(ADM) dlya ochistki kataloga /tmp. Mozhno otredaktirovat' fajl /etc/default/cleantmp, chtoby opredelit', kak chasto sleduet ochi- shchat' ot fajlov klyuchevye katalogi (po umolchaniyu /tmp). Podrobnos- ti sm. v stranice rukovodstva, kasayushchejsya cleantmp(ADM). . - 4-7 - Esli dolya svobodnogo prostranstva opuskaetsya nizhe 15%, ad- ministrator sistemy dolzhen sdelat' sleduyushchee: 1) poslat' pol'zovatelyam obshchesistemnoe soobshchenie s pros'boj udalit' neispol'zuemye fajly; 2) vyyavit' chrezmerno bol'shie katalogi i fajly i peredat' po pochte ih vladel'cam pros'bu udalit' nenuzhnye fajly; 3) otyskat' i udalit' vremennye fajly i fajly s imenem core; 4) ochistit' soderzhimoe fajlov sistemnogo zhurnala; 5) umen'shit' fragmentaciyu diska: sdelat' polnuyu kopiyu faj- lovoj sistemy, udalit' vse fajly i zatem snova vosstanovit' ih s rezervnoj kopii; 6) esli sisteme hronicheski ne hvataet svobodnogo prostrans- tva, vozmozhno ponadobitsya sozdat' i smontirovat' dopolnitel'nuyu fajlovuyu sistemu. |ti dejstviya podrobno opisany v posleduyushchih razdelah. Vyvod na ekran velichiny svobodnogo prostranstva S pomoshch'yu komandy df ("disk free" - "svobodnyj disk") mozhno uznat', skol'ko svobodnogo prostranstva imeetsya v konkretnoj fajlovoj sisteme. |ta komanda vyvodit na ekran kolichestvo "blo- kov", dostupnyh v dannoj fajlovoj sisteme. Blok sostoit iz 512 simvolov (ili bajtov) dannyh. Format komandy df: ¬2df specialfile @ Pol'zovateli sysadmsh vybirayut System->Report->Disk V kachestve specialfile mozhno zadat' imya special'nogo fajla UNIX, kotoryj sootvetstvuet diskovodu, soderzhashchemu fajlovuyu sis- temu. Esli imya special'nogo fajla ne zadano, to budet vydano svobodnoe prostranstvo vseh normal'no smontirovannyh fajlovyh sistem. Naprimer, chtoby vyvesti informaciyu o svobodnom prostranstve kornevoj fajlovoj sistemy /dev/root, sleduet vvesti df /dev/root i nazhat' klavishu <Return>. Na ekran vyjdet imya special'nogo faj- la i kolichestvo svobodnyh blokov. Mozhno uznat' procentnoe soder- zhanie svobodnogo prostranstva po otnosheniyu k polnomu ob®emu prostranstva v sisteme s pomoshch'yu komandy df -v . - 4-8 - Obshchesistemnoe soobshchenie Esli svobodnogo prostranstva malo, mozhno poslat' obshchesis- temnoe soobshchenie vsem pol'zovatelyam sistemy, ispol'zuya komandu wall ("write to all" - "pisat' vsem"). |ta komanda kopiruet so- obshcheniya, kotorye vy vvodite so svoego terminala, na terminaly vseh pol'zovatelej, zaregistrirovannyh v dannyj moment. CHtoby poslat' soobshchenie, nuzhno vvesti wall i nazhat' <Return>. Vvedite soobshchenie; esli nuzhno nachat' novuyu stroku, nazhmite <Return>. Posle togo, kak soobshchenie vvedeno, nazhmite <CTL>d. Soobshchenie poyavitsya na ekranah vseh terminalov v sisteme. CHtoby vyjti iz sredy komandy wall, nazhmite <CTL>d; v rezul'tate svyaz' s drugimi terminalami prervetsya. Vyvod na ekran informacii ob ispol'zovanii diska S pomoshch'yu komandy du mozhno vyvesti na ekran kolichestvo blo- kov, ispol'zuemyh v kataloge. |ta komanda polezna dlya vyyavleniya chrezmerno bol'shih katalogov i fajlov. Format komandy du: ¬2du directory Neobyazatel'nyj parametr directory mozhet byt' imenem katalo- ga v smontirovannoj fajlovoj sisteme. Esli imya kataloga ne zada- no, na ekran vyjdet chislo blokov v tekushchem kataloge. Naprimer, chtoby vyvesti kolichestvo blokov, ispol'zuemyh v kataloge /usr/johnd, vvedite du /usr/johnd i nazhmite <Return>. Na ekrane poyavyatsya imena vseh fajlov i pod- katalogov kataloga /usr/johnd, a takzhe chislo ispol'zuemyh blokov. . - 4-9 - Vyvod na ekran blokov po vladel'cam S pomoshch'yu komandy quot ("quota" - "dolya") mozhno vyvesti na ekran spisok pol'zovatelej i kolichestvo prinadlezhashchih kazhdomu iz nih blokov. Format komandy: quot specialfile V kachestve specialfile nuzhno zadat' imya special'nogo fajla, kotoryj sootvetstvuet diskovodu, soderzhashchemu fajlovuyu sistemu. Naprimer, chtoby vyvesti spisok vladel'cev fajlov fajlovoj sistemy, nahodyashchejsya na zhestkom diske /dev/hdl, vvedite quot /dev/hdl i nazhmite <Return>. Na ekrane poyavitsya spisok pol'zovatelej, imeyushchih fajly v etoj fajlovoj sisteme, i chislo blokov v etih fajlah dlya kazhdogo pol'zovatelya. Peredacha pol'zovatelyu soobshcheniya po pochte Esli u kakogo-libo pol'zovatelya obnaruzhivayutsya slishkom bol'shie katalogi ili fajly, emu mozhno poslat' personal'noe soob- shchenie s pomoshch'yu komandy mail. CHtoby nachat' posylku soobshcheniya po pochte, vvedite ¬2mail login-name i nazhmite <Return>. V kachestve login-name dolzhno byt' zadano re- gistracionnoe imya poluchatelya. CHtoby poslat' soobshchenie, vvedite ego, nazhmite <Return> i zatem nazhmite <CTL>d. Esli soobshchenie sostoit bolee chem iz odnoj stroki, v konce kazhdoj stroki nazhi- majte <Return>. Komanda mail skopiruet soobshchenie v pochtovyj yashchik pol'zovatelya, gde pol'zovatel' mozhet ego posmotret' s pomoshch'yu komandy mail. Podrobnosti sm. v dokumente "Rukovodstvo pol'zova- telya" (User's Guide). Poisk fajlov S pomoshch'yu komandy find mozhno najti vse fajly s zadannym imenem, razmerom, datoj sozdaniya, vladel'cem i/ili datoj posled- nego dostupa. |ta komanda polezna dlya vyyavleniya redko ispol'zue- myh i slishkom bol'shih fajlov. Format komandy find: find directory parameters . - 4-10 - V kachestve directory nuzhno zadat' imya pervogo prosmatrivae- mogo kataloga. (Komanda find takzhe prosmatrivaet vse podkatalogi etogo kataloga.) Parametrami (parameters) yavlyayutsya special'nye imena i znacheniya, kotorye predpisyvayut komande, chto nuzhno is- kat'. Vse podrobnosti sm. v opisanii find(C) v dokumente "Spra- vochnik pol'zovatelya" (User's Reference). Naibolee chasto ispol'- zuyutsya sleduyushchie parametry: ¬2-name file ¬2-atime number -print Parametr -name zastavlyaet komandu iskat' ukazannyj fajl file. Parametr -atime zadaet poisk fajlov, k kotorym ne bylo dostupa v techenie zadannogo kolichestva dnej. Parametr -print za- daet vyvod na ekran mestopolozheniya vseh obnaruzhivaemyh fajlov. Naprimer, chtoby najti vse fajly s imenem temp v kataloge /usr, vvedite find /usr -name temp -print i nazhmite <Return>. Na ekran budut vyvedeny mestopolozheniya vseh fajlov, najdennyh komandoj. Poisk fajlov core i vremennyh fajlov S pomoshch'yu komandy find mozhno otyskivat' fajly core i vre- mennye fajly. Fajl core soderzhit kopiyu prekrashchennoj programmy. Sistema UNIX inogda sozdaet takoj fajl, esli programma privela k oshibke, kotoruyu ne v sostoyanii ispravit'. Vremennyj fajl soderzhit dan- nye, sozdannye v kachestve promezhutochnogo etapa v processe vypol- neniya programmy. |tim fajlom mozhno vospol'zovat'sya, esli v prog- ramme okazalas' oshibka ili ona byla prezhdevremenno ostanovlena pol'zovatelem. Imya vremennogo fajla zavisit ot sozdavshej ego programmy. V bol'shinstve sluchaev pol'zovatelyu ne nuzhny ni fajly core, ni vremennye fajly, i ih mozhno spokojno udalyat'. Dlya otyskaniya fajlov core ili vremennyh fajlov mozhno zadat' poisk fajlov, k kotorym za nekotoryj period vremeni ne bylo dos- tupa. Naprimer, dlya poiska vseh fajlov core v kataloge /usr, k kotorym ne bylo dostupa v techenie nedeli, vvedite find /usr -name core -atime +7 -print i nazhmite <Return>. . - 4-11 - Ochistka zhurnal'nyh fajlov V sisteme UNIX predusmotreno neskol'ko fajlov, nazyvaemyh zhurnal'nymi, kotorye soderzhat informaciyu ob ispol'zovanii siste- my. Kogda generiruetsya novaya informaciya, sistema avtomaticheski prisoedinyaet ee v konec sootvetstvuyushchego fajla, sohranyaya predy- dushchee soderzhimoe fajla. |to znachit, chto razmer kazhdogo fajla rastet po mere dobavleniya novoj informacii. Poskol'ku zhurnal'nye fajly mogut bystro stat' dovol'no bol'shimi, neobhodimo periodi- cheski ochishchat' ih, udalyaya ih soderzhimoe. Dlya ochistki zhurnal'nogo fajla vvedite ¬2cat < /dev/null > filename gde filename - polnoe imya puti dlya zhurnal'nogo fajla, kotoryj nuzhno ochistit'. Obychno v zhurnal'nyj fajl postupaet informaciya, ispol'zuemaya odnoj i tol'ko odnoj programmoj, poetomu ego imya obychno otsylaet k etoj programme. Analogichno format fajla zavi- sit ot ispol'zuyushchej ego programmy. V nekotoryh sluchayah ochistka fajla vliyaet na posleduyushchij vy- vod sootvetstvuyushchej programmy. Naprimer, ochistka fajla /etc/ddate privedet k tomu, chto sleduyushchee dublirovanie budet pe- riodicheskim dublirovaniem. Udalenie i vosstanovlenie fajlovoj sistemy Esli vasha sistema byla nekotoroe vremya v rabote, postoyannoe sozdanie i udalenie fajlov privodit k situacii, nazyvaemoj frag- mentaciej diska. |to oznachaet, chto fajly fajlovoj sistemy zapi- syvayutsya na zhestkij disk malen'kimi chastyami. Kogda fajl pishetsya na bolee chem odnu chast' diska, ispol'zuetsya nebol'shoj ob®em prostranstva diska. Mozhno vosstanovit' prostranstvo fajlovoj sistemy (obychno ot 5 do 10 procentov), esli, predvaritel'no sde- lav polnuyu kopiyu vseh fajlov fajlovoj sistemy, udalit' vse fajly s zhestkogo diska i zatem vosstanovit' ih s rezervnoj kopii. CHto- by sdelat' polnuyu rezervnuyu kopiyu sistemnyh fajlov, prochitajte glavu "Dublirovanie fajlovyh sistem" nastoyashchego rukovodstva, gde privodyatsya instrukcii po dublirovaniyu i vosstanovleniyu fajlovyh sistem. (Fragmentaciya diska - eto problema proizvoditel'nosti; podrobnee sm. glavu "Nastrojka proizvoditel'nosti sistemy" nas- toyashchego rukovodstva.) . - 4-12 - Tak kak fajly celikom perepisyvayutsya na disk, kazhdyj fajl zapisyvaetsya odnim kuskom, i fragmentaciya umen'shaetsya. Budet vosstanovlen nebol'shoj ob®em prostranstva. Bylo by neploho vy- polnyat' etu proceduru primerno raz v god dlya intensivno ispol'- zuemyh sistem, i nemnogo rezhe - dlya umerenno ispol'zuemyh sis- tem. Pered nachalom etih rabot ubedites' v nalichii polnoj, tochnoj i chitaemoj kopii, chtoby ne poteryat' fajly. Rasshirenie fajlovoj sistemy Esli svobodnogo prostranstva hronicheski malo, mozhet oka- zat'sya poleznym rasshirit' ob®em pamyati sistemy, vklyuchiv vtoroj zhestkij disk, kak opisano vyshe v dannoj glave. Kak tol'ko on smontirovan, mozhno ispol'zovat' etu novuyu fajlovuyu sistemu dlya raboty, ili dazhe kopirovat' v nee pol'zovatel'skie ili sistemnye katalogi. Hronicheskaya nehvatka prostranstva obychno vyzyvaetsya tem, chto v sisteme bol'she pol'zovatelej, chem tekushchij zhestkij disk v sostoyanii normal'no obrabotat', ili chto imeetsya slishkom mnogo katalogov ili fajlov. V oboih sluchayah sozdanie novoj fajlovoj sistemy pozvolyaet perevesti nekotoryh pol'zovatelej ili ka- kie-libo katalogi s zhestkogo diska, osvobozhdaya znachitel'noe ko- lichestvo prostranstva sushchestvuyushchej fajlovoj sistemy i uluchshaya funkcionirovanie sistemy. . - 4-13 - FAJLOVYE SISTEMY I BOLXSHIE KATALOGI Rekomenduetsya izbegat' ispol'zovaniya katalogov, razmer ko- toryh bol'she, chem neobhodimo. Sleduet znat' neskol'ko special'- nyh razmerov. Katalog, soderzhashchij stroki dlya ne bolee chem 30 fajlov (plyus obyazatel'nye stroki . i ..), vmeshchaetsya v odin blok na diske, i ego prosmotr ves'ma effektiven. Katalog, soderzhashchij do 286 strok, po-prezhnemu schitaetsya nebol'shim; katalog bol'shego razmera, ispol'zuemyj kak rabochij, - eto obychno katastrofa. Oso- benno vazhno, chtoby byli nebol'shimi katalogi registracii, zhela- tel'no ne bol'she bloka. Zametim, chto, kak pravilo, katalogi ne szhimaemy. Ochen' vazhno eto uyasnit', tak kak esli vash katalog pre- vyshaet porogovoe znachenie 30 ili 286, poisk stanovitsya neeffek- tivnym; bolee togo, esli udalit' fajly takim obrazom, chto ih chislo okazhetsya men'she sootvetstvuyushchego porogovogo znacheniya, sis- tema po-prezhnemu budet neeffektivno rabotat' s katalogom. . - 4-14 - IZMENENIE/DOBAVLENIE FAJLOVYH SISTEM NA PERVICHNOM ZHESTKOM DISKE Vsegda polezno zaranee splanirovat' komponovku zhestkogo diska, kak opisano v dokumente Installation Guide. Esli vy reshi- li izmenit' chislo fajlovyh sistem na zhestkom diske, vam sleduet sdelat' rezervnuyu kopiyu vashej sistemy i vypolnit' povtornuyu us- tanovku, kak opisano v glave "Povtornaya ustanovka i modifikaciya sistemy" dokumenta Installation Guide. V processe ustanovki vos- pol'zujtes' ruchnym upravleniem komponovki i pereraspredelite prostranstvo na diske, kak trebuetsya. Vazhno ponyat', chto nel'zya ispol'zovat' rezervnye kopii, sozdannye utilitoj xbackup(ADM). Kopiyami, sozdavaemymi etoj utilitoj, nel'zya pol'zovat'sya dlya vosstanovleniya fajlovyh sistem, kotorye imeli bol'shij razmer, chem fajlovye sistemy, v kotorye vy planiruete ih vosstanovit'. |to ostaetsya v sile, dazhe esli rezervnaya fajlovaya sistema byla ne polna. Naprimer, esli vy sdelali kopiyu 20-megabajtnoj fajlo- voj sistemy, zapolnennoj lish' na 50 procentov, vy ne smozhete vosstanovit' toma s rezervnoj kopiej v 15-megabajtnuyu fajlovuyu sistemu. V glave, posvyashchennoj povtornoj ustanovke, poyasnyaetsya, chto dlya dublirovaniya sistemy sleduet vospol'zovat'sya utilitami, osnovannymi na cpio(C) (takimi, kak vybor Backups->Create v sysadmsh). . - 4-15 - CELOSTNOSTX FAJLOVOJ SISTEMY Uzhe upominalos', chto fajlovaya sistema - eto razdel operaci- onnoj sistemy. V obyazannosti operacionnoj sistemy vhodit obespe- chenie celostnosti dannyh fajlovoj sistemy. Dejstvitel'naya poterya dannyh - bol'shaya redkost'; fajlovye sistemy UNIX ochen' ustojchivy k porche dannyh. |to vyzvano nalichiem nekotoroj izbytochnosti v special'nyh strukturah, nevidimyh pol'zovatelyu. Imenno eti struktury obespechivayut celostnost' fajlovoj sistemy. Naprimer, esli pri rabote sistemy vyhodit iz stroya pitanie, teryaetsya ochen' malo informacii. Lyuboe narushenie obychno zatragivaet odin ili dva fajla, delaya ih nedostupnymi. Pochti vo vseh sluchayah operacionnaya sistema mozhet ispravit' lyuboe povrezhdenie fajlov. Ochen' redko povrezhdenie delaet nedostupnoj vsyu fajlovuyu sistemu. Dlya ispravleniya povrezhdennyh fajlovyh sistem operacionnaya sistema pol'zuetsya programmoj fsck ("filesystem check" - "pro- verka fajlovoj sistemy"). |ta programma proveryaet sovmestimost' fajlovoj sistemy. V sluchayah poteri soderzhimogo fajla (chto byvaet redko) edinstvennyj sposob vosstanovit' poteryannye dannye - vos- pol'zovat'sya rezervnoj kopiej fajlovoj sistemy. Programma fsck vypolnyaetsya avtomaticheski dlya kornevoj fajlovoj sistemy pri na- chal'noj zagruzke. Soobshcheniya sostoyaniya programmy fsck imeyut sle- duyushchij vid: +-------------------------------------------------------------- | ** Phase 1 - Check Blocks and Sizes | (Faza 1 - Proverka blokov i razmerov) | ** Phase 2 - Pathnames (Imena putej) | ** Phase 3 - Connectivity (Svyaznost') | ** Phase 4 - Reference Counts (Schetchiki obrashchenij) | ** Phase 5 - Check Free List (Proverka svobodnogo spiska) | Esli sistema prekrashchena avarijno (vyhod iz stroya pitaniya), poyavyatsya drugie soobshcheniya, na pervyj vzglyad trevozhnye: FREE INODE COUNT WRONG IN SUPERBLK (FIX?) (Oshibka v schetchike svobodnyh indeksnyh deskripto- rov fajlov v superbloke - ispravit'?) Na samom dele soobshcheniya takogo roda yavlyayutsya obychnymi v sluchae, esli sistema ne byla ostanovlena normal'no; zdes' sleduet lish' vvesti y, i fsck prodolzhit rabotu. |to mozhno sdelat' bez vmesha- tel'stva administratora sistemy, no, kak pravilo, luchshe vse zhe znat', chto proishodit s fajlovoj sistemoj pri vozniknovenii problemy. V celyah rassmotreniya ponyatiya celostnosti sistemy i princi- pov funkcionirovaniya fsck sleduet opisat' strukturu, lezhashchuyu v osnove prostogo ponyatiya fajlov, katalogov i fajlovyh sistem. Ho- tya vnikat' v principy fajlovoj pamyati ne obyazatel'no, polezno znat', k chemu otnosyatsya soobshcheniya, podobnye privedennomu vyshe; posle etogo oni ne budut vyglyadet' stol' zagadochno. Posle izuche- . - 4-16 - niya dannogo razdela vam stanut ponyatny nekotorye osnovnye prin- cipy operacionnyh sistem UNIX. V razdele "Vosstanovlenie fajlo- voj sistemy s pomoshch'yu fsck" opisana prostaya mehanika ispol'zova- niya komandy fsck. Posleduyushchie podrazdely opisyvayut struktury fajlovoj sistemy, s kotorymi rabotaet fsck. Fajly v sistemah UNIX Kazhdaya fajlovaya sistema soderzhit special'nye struktury, pozvolyayushchie operacionnoj sisteme osushchestvlyat' dostup i soprovozh- dat' fajly i dannye, hranyashchiesya v fajlovoj sisteme. Nas intere- suet razrushenie i vosstanovlenie imenno etih struktur. Struktura fajlovoj sistemy baziruetsya na principe hraneniya dannyh na zhestkih diskah. Hotya zhestkij disk i soderzhit vse dan- nye, ispol'zuemye sistemoj, oni otnyud' ne hranyatsya tam malen'ki- mi akkuratnymi ostrovkami, sootvetstvuyushchimi otdel'nym fajlam. Vy vryad li smozhete, ukazav kakoe-libo mesto na zhestkom diske, s uverennost'yu skazat': "Moj fajl zapisan imenno v etoj chasti dis- ka". Na samom dele dannye, skoree vsego, budut razbrosany po disku, i operacionnaya sistema ispol'zuet slozhnuyu shemu adresa- cii, chtoby imet' dostup k kazhdomu iz fragmentov, na kotorye raz- bivaetsya fajl, i predstavit' ih vseh pol'zovatelyu kak edinoe ce- loe. Razbros dannyh svyazan s tem, chto operacionnaya sistema na samom dele rabotaet ne s fajlami, a s elementami dannyh. CHtoby ponyat', chto eto oznachaet, predpolozhim, chto fajl sozdan i zapisan v odnu oblast' na diske. Teper' dopustim, chto vy redaktiruete etot fajl i udalyaete iz nego neskol'ko predlozhenij vrazbros. Znachit, vy teper' ispol'zuete nemnogo men'she prostranstva na diske, chem vnachale. |to prostranstvo imeet ryad razryvov v oblas- ti, kotoruyu zanimal fajl. Prostranstvo na diske cenitsya dorogo i ne tratitsya zrya. |ti osvobodivshiesya malen'kie uchastki pamyati vy- delyayutsya drugim fajlam. Predstav'te sebe etot process s uchastiem soten fajlov i dyuzhiny pol'zovatelej, i vam stanet yasnee princip soprovozhdeniya fajlov. Blagodarya effektivnosti algoritmov (for- mul), ispol'zuemyh operacionnoj sistemoj, etot process yavlyaetsya ochen' effektivnym i nadezhnym. Fajlovye sistemy v sistemah UNIX Fajlovaya sistema soderzhit fajly i katalogi, kotorye preds- tavleny special'nymi strukturami, nazyvaemymi indeksnymi deskrip- torami fajlov (inodes) i blokami dannyh; operacionnaya sistema mo- zhet sozdavat' i otslezhivat' eti struktury. Blok dannyh - eto element dannyh razmerom 1024 bajta, zapi- sannyj na diske. Blok dannyh mozhet soderzhat' elementy kataloga ili dannye fajla. |lement kataloga sostoit iz nomera indeksnogo deskrip- tora fajla i imeni fajla. . - 4-17 - Indeksnyj deskriptor fajla - eto nechto vrode kartochki iz bibliotechnogo kataloga. Kazhdyj indeksnyj desk- riptor fajla soderzhit informaciyu o fajle, ana- logichno kartochke, soderzhashchej informaciyu o kni- ge, - vklyuchaya svedeniya o mestopolozhenii, raz- mere i tipe fajla, a takzhe o kolichestve svya- zannyh s nim elementov kataloga. Neobhodimo pomnit', chto on ne soderzhit imeni fajla; imena soderzhatsya v kataloge. V indeksnom deskriptore fajla soderzhitsya informaciya o razmeshchenii vseh dannyh, sostavlyayushchih fajl, tak chto operacion- naya sistema v sluchae neobhodimosti mozhet sob- rat' vse eti dannye. Bloki ne zapisyvayutsya srazu na zhestkij disk. CHtoby svesti k minimumu vremya poiska dannyh na zhestkom diske, nedavno ispol'zo- vavshiesya bloki dannyh hranyatsya v keshe v special'nyh strukturah pamyati - buferah. Imenno ispol'zovanie etih struktur povyshaet effektivnost' operacionnoj sistemy. Kogda skopitsya dostatochnoe kolichestvo dannyh dlya zapisi v odin ili neskol'ko polnyh blokov na diske, bufer "sbrasyvaetsya" - soderzhavshayasya v nem informaciya zapisyvaetsya na disk. Pri sboe kakaya-to informaciya vsegda terya- etsya, tak kak nedavno izmenivshiesya dannye eshche ne zapisany na disk, no eto nesushchestvenno. Kogda zhestkij disk zapolnen dannymi, indeksnymi deskriptora- mi fajlov, katalogami, fajlami i blokami iz kesha pamyati, kak zhe operacionnaya sistema budet ih otslezhivat'? |to vozmozhno blagodarya tomu, chto vse eti struktury obespechivayut dostatochnuyu sistemu svya- zej mezhdu fajlami i katalogami, pozvolyaya vosstanavlivat' razru- shennye soedineniya. Special'nyj blok dannyh - "superblok" - soderzhit global'nuyu informaciyu o fajlovoj sisteme, a ne prosto o tom, gde raspolozhen konkretnyj fragment fajla. Superblok soderzhit informaciyu, neob- hodimuyu dlya montirovaniya fajlovoj sistemy i dostupa k ee dannym. On soderzhit razmer fajlovoj sistemy, kolichestvo svobodnyh opisa- telej fajlov i informaciyu o dostupnom svobodnom prostranstve. Informaciya iz versii superbloka na diske schityvaetsya, kogda fajlovaya sistema smontirovana; eta informaciya podderzhivaetsya i modificiruetsya v pamyati po mere razvitiya aktivnosti v sisteme. Informaciya zapisyvaetsya obratno na disk s regulyarnymi intervala- mi po komande update, kotoraya obychno vypolnyaetsya scenariyami /etc/rc2, kogda sistema zapushchena. Komanda update vyzyvaet koman- du sync(C) kazhdye 30 sekund, v rezul'tate chego proishodit zapis' na disk versii superbloka v pamyati i buferov. Pri avarii siste- my, esli zapisannaya na disk informaciya nedostatochno aktual'na, fajlovaya sistema mozhet byt' zaporchena. Prichiny porchi fajlovoj sistemy Lyubaya iz struktur, upomyanutyh v dannom razdele, mozhet oka- zat'sya zaporchennoj. |to oznachaet razrushenie dannyh ili struktur, ispol'zuemyh dlya poiska dannyh. |to mozhet sluchit'sya po neskol'- kim prichinam: . - 4-18 - Apparatnyj sboj Apparatnye sboi proishodyat redko. Luchshij sposob resheniya takoj problemy - obespechit' neukosnitel'noe sledovanie rekomendovannym proceduram diagnostiki i obsluzhivaniya. Programmnye preryvaniya Oshibki, vyzyvayushchie sboj programmy, mogut byt' rezul'tatom poteri nekotoryh dannyh. Zdes' trudno dat' obshchie rekomendacii, tak kak ochen' velik diapazon vozmozhnyh prichin. Oshibka po vine cheloveka |to osnovnaya prichina ochen' mnogih sluchaev porchi fajlovoj sistemy, kak ni gor'ko eto priznat'. Sushchestvuyut pravila raboty s faj- lovymi sistemami, kotorye sleduet soblyu- dat'. Pravila proverki fajlovyh sistem 1. VSEGDA proveryajte fajlovuyu sistemu komandoj fsck, prezhde chem ee montirovat'. Nichto tak ne uslozhnyaet problemu ochistki za- porchennoj fajlovoj sistemy, kak ispol'zovanie ee v povrezhdennom sostoyanii. 2. NIKOGDA ne udalyajte fajlovuyu sistemu fizicheski bez pred- varitel'nogo demontirovaniya. 3. VSEGDA primenyajte komandu sync pered ostanovom sistemy i pered demontirovaniem fajlovoj sistemy. (Komanda sync zapisyvaet dannye iz bufernogo kesha obratno na disk.) Regulyarnoe dublirovanie fajlovoj sistemy daet nailuchshie ga- rantii postoyannoj celostnosti fajlovoj sistemy. Vosstanovlenie fajlovoj sistemy komandoj fsck Fajlovuyu sistemu mozhno ispravit' komandoj fsck. Pered vy- polneniem fsck fajlovuyu sistemu nuzhno demontirovat'. (Kornevuyu fajlovuyu sistemu demontirovat' nel'zya, tak chto v etom sluchae sleduet snachala ostanovit' sistemu, a zatem vnov' ee zapustit' v odnopol'zovatel'skom rezhime (rezhime tehnicheskogo obsluzhivaniya).) Komanda fsck proveryaet razlichnye struktury na diske i pytaetsya soglasovat' ih. Ona po vozmozhnosti vosstanavlivaet soedineniya, razreshaet ssylki - "chistit" fajlovuyu sistemu. . - 4-19 - Format komandy: ¬2fsck specialfile @ Pol'zovateli sysadmsh vybirayut: Filesystems->Checks V kachestve specialfile nuzhno zadat' imya special'nogo fajla, sootvetstvuyushchego imeni ustrojstva fajlovoj sistemy. Zamechanie Programma fsck na samom dele yavlyaetsya frontal'noj - ona vy- polnyaet lish' predvaritel'nuyu obrabotku, zapuskaya dlya kazhdogo ti- pa fajlovoj sistemy svoyu versiyu fsck. Dlya ispravleniya fajlovyh sistem DOS programma fsck vyzyvaet special'nuyu versiyu. Predpolozhim, naprimer, chto vy zapustili sistemu posle sboya pitaniya i nahodites' v odnopol'zovatel'skom rezhime. CHtoby prove- rit' fajlovuyu sistemu /u, predstavlennuyu ustrojstvom /dev/u, vvedite fsck /dev/u i nazhmite <Return>. Programma proverit fajlovuyu sistemu i vydast sleduyushchie soobshcheniya o hode svoej raboty: +-------------------------------------------------------------- | ** Phase 1 - Check Blocks and Sizes | ** Phase 2 - Pathnames | ** Phase 3 - Connectivity | ** Phase 4 - Reference Counts | ** Phase 5 - Check Free List | Esli na odnom iz etih etapov obnaruzhitsya povrezhdennyj fajl, komanda sprosit, sleduet li ego ispravit' ili vosstanovit'. CHto- by ispravit' zaporchennyj fajl, vvedite y. Vsegda razreshajte sis- teme vosstanavlivat' zaporchennye fajly, dazhe esli u vas est' v zapase ih kopii ili vy namereny ih udalit'. Zametim, chto komanda fsck udalit lyuboj fajl, kotoryj ona sochtet slishkom sil'no zaporchennym i ne podlezhashchim vosstanovle- niyu. Mozhno zadat' vozmozhnost' vybora dlya fsck - vypolnyat' vos- stanovlenie ili net. Vy mozhete zastavit' fsck proignorirovat' narushenie celostnosti, esli vy sochtete problemu nastol'ko ser'- eznoj, chto libo pozhelaete razobrat'sya s nej samostoyatel'no s po- moshch'yu utility fsdb(ADM), libo reshite vosstanovit' sistemu s re- zervnyh kopij. Esli vy ne mozhete ispol'zovat' fsdb, vam sleduet dat' fsck vozmozhnost' ispravlyat' narusheniya celostnosti, v pro- tivnom sluchae fajlovaya sistema mozhet okazat'sya neprigodnoj k is- pol'zovaniyu. Zamet'te, chto vam mozhet ponadobit'sya neskol'ko raz vypol- nit' komandu fsck, prezhde chem vsya fajlovaya sistema budet ochishche- na. Polnyj spisok soobshchenij ob oshibkah mozhno najti v stranice Rukovodstva, sootvetstvuyushchej fsck(ADM). . - 4-20 - Kratkoe opisanie etapov fsck Komanda fsck prosmatrivaet i proveryaet kazhduyu iz vysheupomya- nutyh struktur. Na kazhdom etape vypolnyaetsya sravnenie komponen- tov i proverka soglasovannosti etih komponentov drug s drugom. Na etape 1 proveryayutsya bloki i razmery. Komanda fsck chitaet spisok indeksnyh deskriptorov fajlov, chtoby opredelit' razmery i otyskat' bloki, ispol'zuemye kazhdym iz fajlov. |ti deskriptory fajlov proveryayutsya na dejstvitel'nost' (proverka tipa i razmera deskriptora, proverka na ravenstvo nulyu schetchika svyazej) i na na- lichie defektnyh ili dublirovannyh blokov. (Defektnymi yavlyayutsya bloki, znacheniya kotoryh vyhodyat za granicy fajlovoj sistemy.) Kogda fsck sprashivaet, sleduet li chistit' deskriptor fajla, eto oznachaet obnulenie v nem defektnoj informacii. V itoge fajl ili katalog, sootvetstvuyushchij etomu deskriptoru, budet udalen. Dubli- rovannyj blok oznachaet, chto dva deskriptora ukazyvayut odin i tot zhe blok na diske. Komanda fsck pytaetsya opredelit' original'nyj deskriptor, chtoby skorrektirovat' dublikat na etape 2. Na etape 2 proveryayutsya imena putej. Dolzhny byt' udaleny ele- menty kataloga dlya fajlov, udalennyh na etape 1. Na etape 2 isp- ravlyayutsya oshibki, vyzvannye nepravil'nym sostoyaniem indeksnyh deskriptorov fajlov, vyhodom ukazatelej etih deskriptorov za pre- dely diapazona; ispravlyayutsya katalogi, ukazyvayushchie na defektnye deskriptory fajlov, kak opisano vyshe. V sluchae fajlov s dubliro- vannymi blokami, obnaruzhennymi na etape 1, fsck popytaetsya uda- lit' oba fajla (eto odna iz nemnogih situacij, trebuyushchih vmesha- tel'stva administratora sistemy). Na etape 3 proveryayutsya svyazi. Na etape 2 udaleny katalogi, ne ukazyvayushchie na dejstvitel'nye fajly. Na etape 3 vosstanavli- vayutsya svyazi s fajlami, kotorye vypali iz struktury kataloga. Vse dejstvitel'nye fajly, na kotorye net ssylki, pomeshchayutsya v special'nyj katalog pod nazvaniem lost+found. Poskol'ku katalog byl otsoedinen, imya fajla teryaetsya; v kataloge lost+found fajlu prisvaivaetsya nomer. Na etape 4 proveryayutsya schetchiki obrashchenij. Komanda fsck pro- veryaet schetchik svyazej dlya kazhdogo elementa, blagopoluchno proshed- shego etapy 2 i 3. V nekotoryh sluchayah fajly, na kotorye ne bylo ukazatelya v strukture kataloga, no kotorye vse zhe obladayut in- deksnymi deskriptorami, mogut byt' vnov' svyazany s fajlovoj sistemoj po katalogu lost+found. Na etape 5 proveryaetsya svobodnyj spisok. Komanda fsck izu- chaet spisok svobodnyh blokov, sostavlyaemyj fajlovoj sistemoj, i razreshaet otsutstvuyushchie ili nenaznachennye bloki, kotorye byli ranee naznacheny ili udaleny. Pri obnaruzhenii narusheniya celost- nosti fsck vydaet priglashenie perestroit' spisok. Na etape 6 vosstanavlivaetsya svobodnyj spisok. Sistema re- konstruiruet spisok svobodnyh blokov v sootvetstvii s izmenennoj fajlovoj sistemoj, esli eto bylo opredeleno na etape 5. . - 4-21 - Avtomaticheskaya proverka fajlovoj sistemy Inogda operacionnaya sistema vo vremya starta vydaet zapros na proverku fajlovoj sistemy. Obychno eto imeet mesto posle ne- normal'nogo ostanova (naprimer, v rezul'tate poteri moshchnosti v pitanii). Posle proverki fajlovoj sistemy vse fajly, razrushennye v processe ostanova, vosstanavlivayutsya. Ispravlenie fajlovoj sistemy s pomoshch'yu komandy fsdb Esli posle fatal'nogo sboya superblok fajlovoj sistemy oka- zyvaetsya nastol'ko povrezhden, chto fsck ne v sostoyanii ego vos- stanovit', mozhno s pomoshch'yu komandy fsdb ("filesystem debugger" - "otladchik fajlovoj sistemy") vruchnuyu ispravit' superblok, nasta- viv "zaplat". S bol'shoj veroyatnost'yu komanda fsdb ponadobitsya, esli fsck avarijno prekrashchaetsya ili vydaet slishkom mnogo oshibok. Tak kak fsdb - ochen' moshchnoe sredstvo, pozvolyayushchee ne- posredstvenno izmenyat' superblok (kotoryj soderzhit vazhnuyu infor- maciyu o fajlovoj sisteme), ispol'zovat' ego sleduet s velichajshej ostorozhnost'yu. Pochti vo vseh sluchayah, kogda trebuetsya primenit' fsdb, prihoditsya menyat' tol'ko odnu ili dve yachejki superbloka, predstavlyayushchie fsize i isize; im vozvrashchayutsya znacheniya, obychnye dlya vashej fajlovoj sistemy. fsize - obshchee chislo blokov v fajlovoj sisteme; isize - kolichestvo indeksnyh deskriptorov fajlov, nazna- chennyh fajlovoj sisteme. Dalee privodyatsya poryadok ispol'zovaniya fsdb v celyah izmene- niya znachenij fsize i isize. 1. Poluchite normal'nye znacheniya fsize i isize v vashej fajlo- voj sisteme. Vy dolzhny byli zapisat' ih soglasno instrukcii v konce procedury ustanovki, opisannoj v dokumente Installation Guide. Esli vy etogo ne sdelali, mozhno poluchit' razmer fajlovoj sistemy s pomoshch'yu divvy i ocenit' chislo indeksnyh deskriptorov fajlov. Dlya opredeleniya razmera fajlovoj sistemy vospol'zujtes' komandoj divvy -b 1 -c 1 Razmery fajlovyh sistem vyvodyatsya na ekran v vide diapazona no- merov blokov. Nuzhno vychest' nomer nachal'nogo bloka iz nomera poslednego, i poluchitsya razmer fajlovoj sistemy. Priblizitel'noe chislo indeksnyh deskriptorov fajlov ravno razmeru, umnozhennomu na .125. 2. Ubedites' v tom, chto fsize i isize vashej fajlovoj siste- my zaporcheny. 3. Najdite fsize i isize v superbloke. 4. Ustanovite fsize i isize ravnymi ih normal'nym znacheniyam. . - 4-22 - Vse eti shagi podrobno opisany v posleduyushchih razdelah. V stranice Rukovodstva, sootvetstvuyushchej fsdb(ADM), privedeno nes- kol'ko drugih sposobov primeneniya fsdb dlya prosmotra i obrabotki superbloka; odnako eti vozmozhnosti rekomenduetsya ispol'zovat' tol'ko opytnym administratoram sistemy. Proverka narusheniya znachenij fsize i isize Pri proverke fajlovoj sistemy posle fatal'nogo sboya komanda fsck schityvaet iz superbloka razmer fajlovoj sistemy. Esli zna- cheniya fsize i isize, hranyashchiesya v etot moment v superbloke, ne yavlyayutsya normal'nymi znacheniyami dlya fajlovoj sistemy, fsck vyda- et na ekran rezul'taty proverki razmera i zakanchivaet rabotu, kak pokazano v sleduyushchem primere: +-------------------------------------------------------------- | # fsck /dev/root | /dev/root | /dev/root File System: / Volume: root | Size check: fsize 0 isize 0 | # | Sravnite znacheniya fsize i isize, vydannye komandoj fsck (v nashem primere - 0), s normal'nymi znacheniyami vashej fajlovoj sis- temy. Esli oni otlichayutsya, pridetsya vypolnit' fsdb, chtoby zame- nit' znacheniya v superbloke na normal'nye znacheniya fajlovoj sis- temy. Inogda nepravil'noj okazyvaetsya tol'ko odna iz etih veli- chin, hotya informaciya, vydannaya fsck, pokazyvaet narushenie oboih znachenij. Pri vypolnenii fsdb vy uvidite fakticheskie znacheniya fsize i isize, zapisannye v superbloke, i pojmete, skol'ko zna- chenij vam pridetsya menyat' - odno ili oba. Dlya vypolneniya fsdb vvedite sleduyushchuyu komandu, zadav v kachestve filesystem imya faj- lovoj sistemy: ¬2fsdb /dev/filesystem Poluchennyj v rezul'tate vyvod budet analogichen privedenno- mu v sleduyushchem primere: +-------------------------------------------------------------- | # fsdb /dev/root | /dev/root(/): 1K byte Block File System | FSIZE = 1895959976, ISIZE = 7216 | V dannom primere fsdb pokazyvaet, chto nekorrektno tol'ko znachenie fsize (hotya fsck vydala nekorrektnost' oboih). fsdb vsegda rabotaet akkuratnee. . - 4-23 - Poisk fsize i isize v superbloke CHtoby zanovo ustanovit' znacheniya fsize i/ili isize, nuzhno umet' otyskivat' eti znacheniya v superbloke. |to mozhno sdelat', perejdya k pervomu adresu superbloka i proveriv pervye dva znache- niya, kotorye i est' sut' fsize i isize. V fajlovyh sistemah UNIX superblok nachinaetsya po adresu 512, a v fajlovyh sistemah XENIX - po adresu 1024. Vot primer dlya fajlovoj sistemy UNIX: +-------------------------------------------------------------- | # fsdb /dev/root | /dev/root(/): 1K byte Block File System | FSIZE = 28890, ISIZE = 7216 | 512 | 001000: 000705 (453) | <Return> | 001002: 000000 (0) | <Return> | 001004: 070332 (28890) | (Klavisha <Return> ispol'zuetsya dlya perehoda ot odnogo znacheniya v superbloke k drugomu.) Vyvodyatsya sleduyushchie velichiny: adres (v vos'merichnom vide), zapisannoe po etomu adresu znachenie (takzhe v vos'merichnom vide) i ego desyatichnyj ekvivalent (v skobkah). Ube- dit'sya v tom, chto vy nahodites' v nuzhnom meste superbloka, mozhno sleduyushchim obrazom: tret'ya vyvedennaya na ekran velichina (posle vtorogo nazhatiya klavishi <Return>) - fsize - dolzhna sovpadat' so znacheniem, vyvedennym komandoj fsdb pri ee zapuske (FSIZE). Za- metim, chto fsdb vydaet znacheniya v blokah po 1K. Esli vy voz'mete razmer fajlovoj sistemy u komandy df, to on okazhetsya rovno vdvoe bol'she razmera, soobshchaemogo komandoj fsdb. |to svyazano s tem, chto df vydaet otvety v 512-bajtnyh blokah. Esli vam nuzhno izme- nit' znachenie FSIZE, imeya razmer, vydannyj komandoj df, ego sle- duet razdelit' na dva. Esli zhe vy ispol'zovali nomer iz komandy divvy, ego preobrazovyvat' ne nado, tak kak divvy, kak i fsdb, pol'zuetsya blokami 1K. So znacheniem ISIZE delo obstoit inache. |to znachenie, vydan- noe komandoj fsdb, nuzhno preobrazovat', prezhde chem sravnivat' so znacheniem pervoj velichiny v superbloke (isize). Znachenie isize, zapisannoe v superbloke, yavlyaetsya adresom pervogo bloka, raspolozhennogo posle blokov, kotorye vydeleny dlya indeksnyh deskriptorov fajlov. CHtoby sdelat' znachenie isize bolee vyrazitel'nym, fsdb preobrazuet etot adres v chislo naznachennyh indeksnyj deskriptorov fajlov (ISIZE). |to chislo nuzhno preobrazo- vat' obratno v adres bloka putem deleniya ISIZE na 16 (chislo desk- riptorov v bloke) i slozheniya s 2 (dlya ucheta pervyh blokov fajlo- voj sistemy, kotorye ispol'zuyutsya dlya drugih celej: blok nachal'- noj zagruzki i superblok). Rezul'tat (isize) dolzhen ravnyat'sya chislu, vyvedennomu na ekran v kachestve pervogo adresa v superblo- ke. . - 4-24 - Ustan