4 Administrirovanie

Soderzhimoe etogo razdela

|ta glava predstavlyaet obzor funkcij administrirovaniya sistemy Linux, vklyuchaya ryad osobyh funkcij, prednaznachennyh isklyuchitel'no dlya administratora sistemy.

Kak v kazhdoj bochke meda prisutstvuet lozhka degtya, tak i kazhdaya sistema imeet svoego administratora. A administrirovanie sistemy - eto ochen' vazhnaya i inogda pozhirayushchaya ujmu vremeni rabota, dazhe esli vy edinstvennyj pol'zovatel' sistemy.

My postaraemsya obsudit' zdes' naibolee vazhnye veshchi, svyazannye s administrirovaniem, o kotorom vy dolzhny znat' pri ispol'zovanii Linux, chtoby ne ispytyvali neudobstv pri rabote s OS. CHtoby byt' ne slishkom boltlivymi i priyatnymi sobesednikami, my i ran'she rassmatrivali tol'ko osnovnye cherty, propuskaya mnogie vazhnye detali. Vam sleduet prochitat' knigu " Linux System Administrator's Guide", esli u vas otnositel'no Linux ser'eznye namereniya. |to pomozhet vam luchshe ponyat' kak tam vse proishodit, i kak tam vse vzaimodejstvuet. V krajnem sluchae, stoit vse eto prosmotret', chtoby znat' chto v knige soderzhitsya i kakoj pomoshchi vam sleduet ot nee ozhidat'.

4.1 O kornyah vlasti, volshebnoj shapke i priyatnyh oshchushcheniyah.

Kak vy znaete, UNIX razlichaet razlichnyh pol'zovatelej, tak chto to, chto oni mogut sdelat' drug drugu i sisteme, reguliruetsya (naprimer, ne hochetsya, chtoby kto-to chital chuzhie lyubovnye pis'ma). Kazhdyj pol'zovatel' poluchaet account (registriruetsya v sisteme), chto vklyuchaet imya pol'zovatelya, domashnij katalog i t.d. V dopolnenie k registracii real'nyh lyudej, registriruyutsya (dlya nih takzhe otkryvaetsya schet :-) neskol'ko special'nyh pol'zovatelej, imeyushchih privilegii. Naibolee "vazhnyj" dazhe sredi nih pol'zovatel' - root (koren').

Registraciya root

Obychnye pol'zovateli v obshchem sluchae ogranicheny tak, chto oni ne mogut prichinit' vred komu-libo drugomu v sisteme (vklyuchaya samu sistemu), krome samih sebya. Prava dostupa k fajlam v sisteme organizovany takim obrazom, chto prostoj pol'zovatel' ne mozhet udalit' ili izmenit' fajl, fajl v katalogah, kotorye pol'zovateli ispol'zuyut sovmestno (takie kak /bin i /usr/bin). Bol'shinstvo pol'zovatelej takzhe zashchishchayut svoi sobstvennye fajly tak, chto ne mogut ih izmenit', a inogda i voobshche dobrat'sya do nih.

No vse eti ogranicheniya ne rasprostranyayutsya na pol'zovatelya root. Pol'zovatel' root mozhet chitat', modificirovat' ili udalyat' lyuboj fajl sistemy, izmenyat' ego prava dostupa ili menyat' ego vladel'ca. On (root) mozhet takzhe vypolnyat' special'nye (privilegirovannye) programmy, takie kak razbitie diska na razdely ili sozdanie fajlovoj sistemy. Osnovnaya ideya sostoit v tom, chto nekto (ih mozhet byt' neskol'ko), kto vypolnyaet registraciyu pol'zovatelej (i nosit imya root), dolzhen, kogda eto neobhodimo, imet' vozmozhnost' vypolnyat' raboty, kotorye ne mogut byt' vypolneny obychnym ryadovym pol'zovatelem. Poskol'ku root mozhet delat' vse, chto ugodno, emu legko sovershit' kakuyu-to oshibku, privodyashchuyu k katastroficheskim posledstviyam.

Naprimer, esli vy kak obychnyj pol'zovatel' sluchajno popytaetes' udalit' fajl v /etc, sistema ne razreshit vam eto sdelat'. No, esli vy voshli kak root, sistema dazhe ne piknet, vypolnyaya vse, chto prikazhete. Legko unichtozhit' sistemu, prebyvaya v sisteme v kachestve root. Luchshij sposob izbezhat' nepriyatnostej, eto:

Razumeetsya, est' plemya hakerov, kotorye ispol'zuyut root prakticheski vsegda i vezde. No kazhdyj iz nih kogda-to po gluposti unichtozhil hotya by (v luchshem sluchae) odnu sistemu. Est' obshchee pravilo: poka vy ne poznakomilis' s neogranichennymi vozmozhnostyami root, i ne privykli k otsutstviyu ogranichenij, vhodite pod root v krajnem sluchae.

Razumeetsya, vse sovershayut oshibki. Odnazhdy sam Linus Torvalds (sozdatel' linux) sluchajno udalil vse podderevo katalogov, soderzhavshee programmy yadra. Mnogie chasy raboty propali (by) v odin mig navsegda. K schast'yu, odnako, blagodarya svoemu znaniyu kodov fajlovoj sistemy, on smog perezagruzit' sistemu i rekonstruirovat' derevo katalogov vruchnuyu.

Davajte po-drugomu, esli vy predstavite ispol'zovanie root kak noshenie special'noj volshebnoj shapki, kotoraya daet vam mogushchestvo, tak chto vy mozhete manoveniem ruki razrushit' celye goroda, to umestnaya mysl', chto nado ochen' sledit' za svoimi rukami. A poskol'ku takaya moshch' opasna (da i rukam neudobno), luchshe bez bol'shoj nuzhdy ne nadevat' volshebnuyu shapku, dazhe esli v shapke u vas povyshaetsya samouvazhenie.

Zloupotreblenie sistemoj

S prihodom oshchushcheniya vlasti prihodit zhelanie vredit'. |to temnaya storona administrirovaniya v UNIX, no vsyakij cherez eto kogda-to dolzhen projti. Bol'shinstvo pol'zovatelej UNIX nikogda ne poluchat vozmozhnost' ispytat' eto na universitetskih i proizvodstvennyh sistemah UNIX. Tol'ko vysokooplachivaemye i vysokoobrazovannye sistemnye administratory mogut vhodit v sistemu pod imenem root. Dejstvitel'no, vo mnogih takih zavedeniyah parol' root - eto strogo ohranyaemyj sekret. |to svyashchennaya korova firmy. Mnogo delaetsya popytok prolezt' pod imenem root v sistemu; ona predstavlyaetsya mudroj i ustrashayushchej siloj, pokoryayushchejsya tol'ko tem, kto znaet zaklinaniya.

Takaya poziciya po otnosheniyu k root ochen' legko privodit k opasnostyam i soblaznam. Poskol'ku root stol' odurmanivayushchaya shtuka, to kogda pol'zovatel' doryvaetsya do vozmozhnosti vojti pod root, proslezhivaetsya nachalo ispol'zovaniya svalivshihsya privilegij v plane vreditel'stva. YA znaval takih "sistemnyh administratorov", kotorye chitali bez razresheniya pochtu drugih pol'zovatelej i voobshche veli sebya kak deti, kotorym dali stol' moshchnuyu klevuyu "igrushku".

Poskol'ku root imeet v sisteme takie privilegii, trebuetsya opredelennyj uroven' zrelosti i samokontrolya, chtoby ispol'zovat' etot account (etot privilegirovannyj "schet"), kak eto bylo zadumano - dlya ekspluatacii sistemy. Sushchestvuet neglasnyj zakon chesti v otnosheniyah administratora s pol'zovatelyami. Kak vy budete sebya chuvstvovat', esli sistemnyj administrator chitaet vashi pis'ma i prosmatrivaet vashi fajly? Do sih por net dostatochno ser'eznoj yuridicheskoj osnovy dlya neprikosnovennosti lichnoj informacii v mnogopol'zovatel'skih komp'yuternyh sistemah. V sistemah semejstva UNIX pol'zovatel' root imeet vozmozhnost' preodolevat' vse shtatnye mehanizmy zashchity sistemy. Vazhno, chtoby u administratora byli doveritel'nye otnosheniya s pol'zovatelyami sistemy. Nevozmozhno pereocenit' vazhnost' etogo.

Vzaimodejstvie s pol'zovatelyami

Bezopasnost' UNIX dovol'no ryhlaya ot rozhdeniya. Voprosy bezopasnosti byli dodumany "v dogonku" - ishodno sistema sozdavalas' v neformal'noj atmosfere, kogda vse vmeshivalis' v rabotu drug druga. Blagodarya etomu, dazhe nesmotrya na mery bezopasnosti, u normal'nogo pol'zovatelya sushchestvuyut vozmozhnosti prichinit' sisteme vred.

Sistemnyj administrator mozhet vybrat' dve taktiki vzaimodejstviya s zloupotreblyayushchimi (prim. perevodchika: v ishodnom, a ne v uzko russkom smysle etogo slova) pol'zovatelyami. |to mozhet byt' paranoidnaya taktika i taktika doveriya. Sistemnyj administrator s paranojej obychno svoimi dejstviyami nanosit bol'she vreda, chem predotvrashchaet. Odna iz moih lyubimyh priskazok: "Nikogda ne spisyvaj na zlovrednost' to, chto mozhno spisat' na tupost'". Vzglyanite s drugoj storony, bol'shinstvo pol'zovatelej ne imeyut vozmozhnostej i znanij, chtoby prichinit' real'nyj vred sisteme. 90% procentov togo, chto delaet pol'zovatel', prichinyaya vred sisteme (naprimer, zabivaya pol'zovatel'skij razdel ogromnymi fajlami ili vypolnyaya srazu neskol'ko ekzemplyarov gromadnoj programmy), on delaet prosto ne podozrevaya, chto on komu-to sozdaet problemy. Mne prihodilos' stalkivat'sya s pol'zovatelyami, kotorye byli istochnikami ogromnyh nepriyatnostej, no oni oni dejstvovali po prostote dushevnoj, a ne so zla.

Kogda vy imeete delo s pol'zovatelyami, kotorye opasny potencial'no, ne nakidyvajtes' na nih s obvineniyami. Staroe pravilo "prezumpcii nevinovnosti" vse eshche ne otmenili. Luchshe vsego pogovorit' s pol'zovatelem, posprashivat' o ego problemah, vmesto togo, chtoby idti na konfrontaciyu. Samoe plohoe, eto pytat'sya otvechat' emu "vstrechnymi" nepriyatnostyami. |to sozdast vokrug vas - sistemnogo administratora - mnogo podozrenij, postavit pod somnenie vashu sposobnost' korrektno soprovozhdat' sistemu. Esli pol'zovatel' reshit, chto vy ne verite emu ili dazhe ne lyubite, on mozhet obvinit' vas v tom, chto vy udalyaete ego fajly i voobshche podsmatrivaete. Vryad li vy hotite okazat'sya v takoj situacii.

Esli vy ubedilis', chto pol'zovatel' dejstvitel'no pytaetsya ``vzlomat''' sistemu ili umyshlenno ej vredit, starajtes' ne otvechat' ugrozami na ugrozy. Vmesto etogo prosto predupredite ego, no sohranyajte gibkost'. Vo mnogih sluchayah vy mozhete"shvatit' ego za ruku" v processe sversheniya vreditel'stva - vot tut i predupredite. Skazhite, chtoby on tak bol'she ne delal. No esli vy snova ego pojmaete na vreditel'stve, to ubedites', chto eto dejstvitel'no namerenno. YA prosto ne smogu perechislit' vse sluchai, kogda okazyvalos', chto nepriyatnost' byla libo sluchajnoj, libo ya sam byl vinovat.

Ustanovlenie pravil

Luchshij sposob upravleniya sistemoj - eto upravlenie bez primeneniya zheleznogo kulaka. Mozhet tak vy horosho upravlyali v armii, no eto ne dlya UNIX. Imeet smysl sdelat' prostoj i gibkij svod rukovodstv dlya pol'zovatelej, no chem men'she u vas budet pravil, tem men'she shansov ih narushit'. Dazhe esli vashi pravila ispol'zovaniya sistemy ochen' yasny i razumny, pol'zovateli vse ravno vremya ot vremeni budut ih bez zlogo umysla narushat'. |to, v osobennosti, otnositsya k novichkam v UNIX, kotorye eshche tol'ko izuchayut osnovy sistemy. Da i vy sami mozhete vremya ot vremeni rassylat' gigabajtnye fajly vsem pol'zovatelyam sistemy... Pol'zovatelyam nado pomoch' ponyat' pravila i ob'yasnit', zachem oni nuzhny.

Esli vy sozdali rukovodstvo dlya pol'zovatelej sistemy, ubedites', chto prichiny vvedeniya teh ili inyh pravil im ponyatny. Esli vy etogo ne sdelaete, pol'zovateli tvorcheski podojdut k tomu, kak obhodit' eti pravila. mozhet byt' i ne soznavaya, chto oni ih dejstvitel'no obhodyat.

CHto vse eto znachit

My ne mozhem do poslednej detali raspisat' vam, kak ekspluatirovat' sistemu. Bol'shaya chast' filosofii zavisit ot togo, kak vy ispol'zuete sistemu. Esli u vas mnogo pol'zovatelej, to eto sil'no otlichaetsya ot togo, kogda ih malo, ili voobshche vy odin. No pri lyubom rasklade ochen' polezno zadumat'sya, chto v dannoj konkretnoj sisteme destvitel'no oznachayut slova "sistemnyj administrator" (ili "administrator sistemy").

Dolzhnost' administratora sistemy ne delaet vas krutym yuniksistom. Na svete mnogo sistemnyh administratorov, kotorye malo chto znayut o UNIX. Pohozhe, chto sushchestvuet mnogo "normal'nyh" pol'zovatelej, kotorye, znayut o UNIX bol'she lyubogo sistemnogo administratora. Prebyvanie v dolzhnosti administratora ne daet vam prava ispol'zovat' ugrozy v adres pol'zovatelej. Imenno potomu, chto sistema daet vam privilegiyu ustroit' iz fajlov pol'zovatelya vse, chto ugodno, vy ne imeete nikakogo prava eto delat'.

Nakonec, byt' sistemnym administratorom, eto nevest' chto. Pri etom ne imeet znacheniya, opekaete vy malen'kij 386-oj ili superkomp'yuter Cray. Znanie zavetnogo parolya root ne prineset vam deneg i slavy; ono pomozhet soprovozhdat' sistemu i podderzhivat' ee rabotosposobnost'. Vot tak.

4.2 Zagruzka sistemy

Sushchestvuet neskol'ko sposobov zagruzki sistemy: libo s diskety, libo s zhestkogo diska.

Ispol'zovanie zagruzochnoj diskety

Mnogie zagruzhayut Linux ispol'zuya ``zagruzochnuyu disketu'', kotoraya soderzhit kopiyu yadra Linux. V yadre est' informaciya o kornevom razdele Linux, tak chto yadro znaet, gde iskat' na zhestkom diske kornevuyu fajlovuyu sistemu. (Komanda rdev mozhet ispol'zovat'sya dlya ustanovki kornevogo razdela v obraze yadra; sm. nizhe). |to tip diskety, sozdannoj, naprimer, Slackware v processe installyacii.

Dlya sozdaniya svoej sobstvennoj zagruzochnoj diskety, snachala razmestite obraz yadra na svoem zhestkom diske. Ono dolzhno byt' v fajle /Image ili /etc/Image. Nekotorye installyacii ispol'zuyut dlya formirovaniya yadra fajl /vmlinux.

Vmesto etogo u vas mozhet byt' skompressirovannoe yadro. Skompressirovannoe yadro samo raskompressiruetsya pri zagruzke v pamyat' i zanimaet znachitel'no men'she mesta na diske. Esli u vas est' skompressirovannoe yadro, ono nahoditsya v fajle /zImage ili /etc/zImage.

Znaya, gde u vas nahoditsya yadro, ustanovite kornevoe ustrojstvo v obraze yadra na imya vashego kornevogo razdela komandoj rdev. Format komandy:

    rdev <kernel-name> <root-device>

gde <kernel-name>; eto imya obraza yadra, a <root-device> - imya kornevogo razdela Linux. Naprimer, dlya ustanovki kornevogo ustrojstva v yadre /etc/Image na /dev/hda2 ispol'zuetsya komanda

    # rdev /etc/Image /dev/hda2

rdev mozhet ustanavlivat' drugie opcii v yadre, takie kak vzyatyj po umolchaniyu rezhim SVGA, dlya ispol'zovaniya vo vremya zagruzki. Ispol'zujte ``rdev -h'' dlya polucheniya pomoshchi.

Posle ustanovki kornevogo ustrojstva vy mozhete prosto skopirovat' obraz yadra na disketu. Pri kopirovanii dannyh na disketu, horosho by snachala otformatirovat' disketu v MS-DOS. Pri formatirovanii vydaetsya informaciya o sektorah i trekah diskety, tak chto mozhno opredelit' kakuyu plotnost' zapisi imeet eta disketa.

Naprimer, dlya kopirovanie fajla yadra /etc/Image na disketu v /etc/fd0 ispol'zujte komandu

    # cp /etc/Image /dev/fd0

Teper' eta disketa dolzhna zagruzhat' Linux.

Ispol'zovanie LILO

Drugoj metod zagruzki - eto ispol'zovanie LILO, programmy, kotoraya raspolagaetsya v zagruzochnom sektore vashego zhestkogo diska. |ta programma vypolnyaetsya, kogda sistema zagruzhaetsya s zhestkogo diska i mozhet avtomaticheski zagruzit' Linux iz obraza yadra, hranyashchegosya na zhestkom diske.

LILO mozhet byt' takzhe ispol'zovana, kak nachal'nyj zagruzchik dlya neskol'kih operacionnyh sistem, pozvolyaya vam vybirat' vo vremya zagruzki, kakuyu operacionnuyu sistemu (naprimer, Linux ili MS-DOS) zagruzhat'. Kogda vy zagruzhaetes' s ispol'zovaniem LILO, to zagruzhaetsya operacionnaya sistema, ustanovlennaya po umolchaniyu, esli vy ne nazhmete ctrl, alt ili shift vo vremya vypolneniya zagruzochnoj posledovatel'nosti. Esli vy nazhmete lyuboj iz etih klyuchej, to vam budet vydana podskazka zagruzchika, v otvet na kotoruyu vy napechataete imya operacionnoj sistemy, kotoruyu nado zagruzit' (naprimer, ``linux'' ili ``msdos''). Esli vy nazhmete tab v otvet na podskazku zagruzchika, vam budet vydan perechen' dostupnyh operacionnyh sistem.

Prostoj sposob installirovat' LILO - otredaktirovat' fajl konfiguracii /etc/lilo.conf i vypolnit' komandu

    # /sbin/lilo

Fajl konfiguracii LILO soderzhit ``stanza''("stansy" - ne pugajtes', eto dejstvitel'no pro poeziyu). dlya kazhdoj operacionnoj sistemy, kotoruyu vy zhelaete zagruzit'. Luchshij sposob prodemonstrirovat' eto na primere konfiguracionnogo fajla LILO config. Nizheprivedennye ustanovki dlya sistemy, kotoraya imeet kornevoj razdel Linux na /dev/hda1 i razdel MS-DOS na /dev/hda2.

    # Tell LILO to modify the boot record on /dev/hda (the first
    # non-SCSI hard drive). If you boot from a drive other than /dev/hda,
    # change the following line.
    boot = /dev/hda

    #  Name  of  the  boot  loader.  No  reason  to  modify  this
    #  un less you're doing some serious hacking on LILO.
    install = /boot/boot.b

    # Have LILO perform some optimization.
    compact

    # Stanza for Linux root partition on /dev/hda1.
    image = /etc/Image   # Location of kernel
       label = linux     # Name of OS (for the LILO boot menu)
       root = /dev/hda1  # Location of root partition
       vga   =   ask     # Tell kernel to ask for SVGA modes at boot time

    # Stanza for MSDOS partition on /dev/hda2.
    other = /dev/hda2    # Location of partition
       table = /dev/hda  # Location of partition table for /dev/hda2
       label = msdos     # Name of OS (for boot menu)

Stansy pervoj operacionnoj sistemy v fajle config - eto ta OS, kotoruyu LILO zagruzhaet po umolchaniyu. Vy mozhete vybrat' druguyu OS vo vremya zagruzki v otvet na podskazku LILO, kak eto uzhe obsuzhdalos' ranee.

Pomnite, chto kazhdyj raz, kogda vy izmenyaete obraz yadra na diske, vy dolzhny zanovo vypolnit' /sbin/lilo, chtoby izmeneniya otrazilis' v zagruzochnom sektore vashego diska.

Imejte takzhe v vidu, chto esli vy ispol'zuete zdes' stroku ``root ='', net smysla ispol'zovat' rdev dlya ustanovki kornevogo razdela v obraze yadra. LILO ustanovit ee vo vremya zagruzki.

Linux FAQ (smotri Prilozhenie A) daet dopolnitel'nuyu informaciyu po tomu, kak ispol'zovat' LILO pri zagruzke Boot Manager OS/2. (prim. perevodchika: The Linux FAQ - CHasto Zadavaemye Voprosy po Linux.

4.3 Vyklyuchenie sistemy

Vyklyuchenie Linux - eto nemnozhko akrobatika. Ne zabyvajte, chto nikogda nel'zya prosto vyklyuchit' pitanie ili nazhat' knopku "reset" vo vremya raboty sistemy. YAdro otslezhivaet disk pri vvode- vyvode s pomoshch'yu buferov. Esli vy perezagruzhaete sistemu, ne dav shansa yadru perepisat' bufera na disk, vy mozhete poportit' fajlovye sistemy.

Neobhodimy i drugie mery predostorozhnosti pri vyklyuchenii. Vsem processam posylaetsya signal, kotoryj pozvolyaet im krasivo umeret' (zapisav, chto nado i zakryv vse fajly i t.d.). Fajlovye sistemy dlya bezopasnosti razmontiruyutsya. Esli vy zhelaete, sistema mozhet takzhe predupredit' pol'zovatelej, chto predstoit vyklyuchenie, chtoby dat' im shans tozhe (krasivo) vyjti iz sistemy.

Prostejshij sposob vyklyucheniya, eto ispol'zovanie komandy shutdown. Format komandy

    shutdown <time> <warning-message>

<time> - vremya vyklyucheniya sistemy (v formate hh:mm:ss - chch:mm:ss) i <warning-message> - soobshchenie, vydavaemoe na terminaly vseh pol'zovatelej pered vyklyucheniem. Vy mozhete prosto ukazat' vremya (<time>) kak ``now'', chto privedet k bezotlagatel'nomu vyklyucheniyu. Opciya -r privedet k perezagruzke posle vyklyucheniya.

Naprimer, vyklyuchit' sistemu v 8:00 vechera mozhno komandoj

       # shutdown -r 20:00

Komanda halt mozhet iniciirovat' nemedlennoe vyklyuchenie bez posylki preduprezhdayushchih soobshchenij ili predostavleniya pauzy pered vyklyucheniem. halt polezna, esli vy edinstvennyj pol'zovatel' sistemy i hotite vyklyuchit' sistemu i vyrubit' pitanie.

VNIMANIE! Na vyklyuchajte elektropitanie i ne perezagruzhajte ee, poka ne uvidite na konsoli soobshchenie:

       The system is halted

Vazhno cdelat' vyklyuchenie "chisto", ispol'zuya komandy shutdown ili halt. V nekotoryh sistemah nazhatie ctrl-alt-del budet perehvacheno sistemoj i privedet k ee vyklyucheniyu, no v drugih sistemah ispol'zovanie "zatychki dlya vulkana" privedet k nemedlennoj perezagruzke sistemy i mozhet byt' prichinoj nepriyatnostej.

4.4 Rabota s pol'zovatelyami

Vne zavisimosti ot togo, mnogo u vas pol'zovatelej ili net, vazhno ponyat' problemu raboty s pol'zovatelem Linux. Dazhe esli vy edinstvennyj pol'zovatel' vy dolzhny imet' razlichnye account dlya root i dlya sebya. Kazhdyj chelovek, ispol'zuyushchij sistemu, dolzhen imet' svoj sobstvennyj account (byt' individual'no zaregistrirovannym v sisteme). Redko mozhet byt' celesoobrazno, chtoby neskol'ko chelovek vhodili v sistemu pod odnim imenem. Zdes' delo ne tol'ko v bezopasnosti, no account ispol'zuetsya dlya identifikacii pol'zovatelya v sisteme. Neobhodimo imet' vozmozhnost' prosledit', kto chto delaet.

Koncepciya raboty s pol'zovatelyami

Sistema sohranyaet razlichnuyu informaciyu o kazhdom pol'zovatele K takogo roda informacii otnositsya perechislennaya nizhe.

username

unikal'nyj identifikator, prisvaivaemyj kazhdomu pol'zovatelyu v sisteme. Primery imen pol'zovatelej larry, karl i mdw. Mogut ispol'zovat'sya bukvy i cifry, a takzhe nizhnee podcherkivanie i tochka. Obychno imena pol'zovatelej ogranichivayutsya vosem'yu simvolami.

user

ID (ili UID) - identifikator pol'zovatelya - unikal'nyj nomer, prisvaivaemyj kazhdomu pol'zovatelyu sistemy. Sistema obychno otslezhivaet inentifikatory pol'zovatelej, a ne imena.

group

ID (ili GID) - identifikator gruppy eto identifikator gruppy pol'zovatelya. V Razdele 3.9 my obsuzhdali prava gruppy; kazhdyj pol'zovatel' prinadlezhit k odnoj ili bolee gruppam, opredelennyh sistemnym administratorom. Podrobnee ob etom nizhe.

password

Sistema takzhe hranit v zashifrovannom vide parol' pol'zovatelya. Komanda passwd ispol'zuetsya dlya ustanovki i izmeneniya parolya.

full name

"Polnoe imya" ili "dejstvitel'noe imya" hranitsya vmeste s imenem pol'zovatelya. Naprimer, pol'zovatel' schmoj mozhet imet' dejstvitel'noe imya ``Joe Schmo'' (prim. perevodchika: neuzheli dlya anglijskogo uha ono zvuchit takzhe krasivo, kak dlya russkogo).

home directory

Domashnij katalog - eto katalog, v kotoryj pol'zovatel' nachal'no popadaet pri vhode v sistemu. Kazhdyj pol'zovatel' dolzhen imet' svoj sobstvennyj domashnij katalog, obychno nizhe /home.

login shell

Ishodnyj shell - eto shell, kotoryj zapuskaetsya dlya pol'zovatelya pri ego vhode v sistemu. |to, naprimer, mozhet byt' /bin/bash i /bin/tcsh.

Fajl /etc/passwd soderzhit etu informaciyu pro pol'zovatelej. Kazhdaya stroka etogo fajla soderzhit informaciyu ob odnom pol'zovatele; format stroki imeet vid:

username:encrypted_password:UID:GID:full_name:home_directory:login_shell

Naprimer, eto mozhet vyglyadet' tak:

    kiwi:Xv8Q981g71oKK:102:100:Laura Poole:/home/kiwi:/bin/bash

Kak vidno, pervoe pole ``kiwi'' - imya pol'zovatelya. Sleduyushchee pole ``Xv8Q981g71oKK'' - zashifrovannyj parol'. Paroli v chitaemom vide v sisteme ne hranyatsya. Sami paroli shifruyutsya kak sekretnye klyuchi. Drugimi slovami, vy dolzhny znat' parol', chtoby ego rasshifrovat'. |ta forma shifracii dostatochno nadezhna.

Nekotorye sistemy Linux ispol'zuyut "tenevoj parol'", v kotorom informaciya o parolyah hranitsya v fajle /etc/shadow. Poskol'ku /etc/passwd vsem dostupen, /etc/shadow obespechivaet dopolnitel'nyj uroven' sekretnosti svoej nedostupnost'yu. Tenevoj parol' obespechivaet i nekotorye drugie svojstva, vrode prekrashcheniya dejstviya parolya i t.d.; my zdes' ne budem vdavat'sya v eti tonkosti.

Tret'e pole, ``102'', - identifikator pol'zovatelya (UID). Ono dolzhno byt' unikal'nym dlya kazhdogo pol'zovatelya. CHetvertoe pole, ``100'', identifikator gruppy (GID). |tot pol'zovatel' prinadlezhit k gruppe nomer 100. Informaciya po gruppe hranitsya v fajle /etc/group. Smotrite dopolnitel'nuyu informaciyu v Razdele 4.4.5.

Pyatoe pole - polnoe imya pol'zovatelya , ``Laura Poole''. Poslednie dva polya - domashnij katalog pol'zovatelya (/home/kiwi) i ishodnyj shell (/bin/bash) sootvetstvenno. Domashnij katalog pol'zovatelya ne obyazatel'no dolzhen imet' imya, sovpadayushchee s imenem pol'zovatelya (username). Odnako eto pomogaet v identifikacii.

Dobavlenie pol'zovatelej

Pri dobavlenii pol'zovatelya sleduet sovershit' neskol'ko shagov. Pervoe, pol'zovatel' dolzhen byt' zanesen v fajl parolej /etc/passwd pod unikal'nym imenem i identifikatorom. Dolzhny byt' opisany identifikator gruppy (GID), polnoe imya i drugaya informaciya.

Dolzhen byt' sozdan domashnij katalog pol'zovatelya i ustanovleny neobhodimye prava dostupa. Domashnij katalog dolzhen byt' snabzhen neobhodimymi fajlami inicializacii shell. Dolzhny byt' vypolneny i drugie raboty po konfiguracii ( naprimer, sozdan spool dlya vhodnoj pochty).

Hotya ochen' neslozhno dobavlyat' pol'zovatelej vruchnuyu (ya tak delayu), kogda vy soprovozhdaete sistemu so mnogimi pol'zovatelyami, legko chto-to upustit'. Samyj prostoj sposob registracii pol'zovatelej - eto ispol'zovanie dialogovoj programmy, kotoraya zadast vam vse neobhodimye voprosy i avtomaticheski skorrektiruet vse neobhodimye sistemnye fajly. |ta programma nazyvaetsya useradd ili adduser, v zavisimosti ot vashego distributiva. Stranicy rukovodstva dlya etih programm dolzhny byt' dostatochno ponyatnymi.

Udalenie pol'zovatelej

Analogichno, udalenie pol'zovatelej mozhet byt' vypolneno s pomoshch'yu komand userdel ili deluser v zavisimosti ot konkretnogo distributiva.

Esli vy pozhelaete vremenno "otklyucht'" pol'zovatelya ot sistemy, (bez udaleniya ego account ), vy mozhete prosto pripisat' zvezdochku (``*'') v pole parolya v fajle parolya /etc/passwd. Naprimer, izmenit' u kiwi v fajle /etc/passwd

    kiwi:*Xv8Q981g71oKK:102:100:Laura Poole:/home/kiwi:/bin/bash

eto zakroet dlya kiwi vhod v sistemu.

Zanesenie atributov pol'zovatelya

Posle sozdaniya pol'zovatelya vam mozhet potrebovat'sya izmenit' ego atributy, takie kak domashnij katalog i parol'. Prostejshij sposob - eto pryamo izmenit' znacheniya v /etc/passwd. CHtoby ustanovit' parol' pol'zovatelya ispol'zujte komandu passwd.

Naprimer,

    # passwd larry

izmenit' parol' larry.

Tol'ko root mozhet izmenyat' paroli drugih pol'zovatelej. Pol'zovateli takzhe mogut izmenyat' paroli s pomoshch'yu komandy passwd, no tol'ko svoi sobstvennye.

V nekotoryh sistemah imeyutsya komandy chfn i chsh, pozvolyayushchie pol'zovatelyu samomu ustanavlivat' svoe polnoe imya i ishodnye atributy shell. Esli net, to pol'zovateli dolzhny prosit' sistemnogo administratora izmenit' eti atributy dlya nih.

Gruppy

Kak my govorili, kazhdyj pol'zovatel' prinadlezhit k odnoj ili bolee gruppam. Edinstvennoe znachenie gruppy zamykaetsya na prava dostupa k fajlu, kak vy pomnite iz Razdela 3.9. Kazhdyj fajl imeet "gruppovoe vladenie" (``group ownership''), to est' hranit prava dostupa, kotorye opredelyayut, kak chleny gruppy mogut obrashchat'sya s fajlom.

Sushchestvuet neskol'ko grupp, opredelyaemyh sistemoj, vrode bin, mail i sys. Pol'zovateli ne mogut prinadlezhat' k kakoj-libo iz etih grupp. |ti gruppy ispol'zuyutsya dlya sistemnyh fajlov. A pol'zovateli, naoborot, prinadlezhat k special'noj gruppe, naprimer users. Esli vam hochetsya bol'she problem, vy mozhete podderzhivat' neskol'ko grupp pol'zovatelej, naprimer student, staff i faculty.

Fajl /etc/group soderzhit informaciyu o gruppah. Format kazhdoj stroki sleduyushchij

    group name:password:GID:other members

Primerami grupp mogut byt':

    root:*:0:
    users:*:100:mdw,larry
    guest:*:200:
    other:*:250:kiwi

Pervaya gruppa, root, special'naya sistemnaya gruppa zarezervirovannaya dlya root. Sleduyushchaya gruppa, users, dlya obychnyh pol'zovatelej. Ona imeet identifikator gruppy (GID) 100. K etoj gruppe imeyut dostup pol'zovateli mdw i larry. Pomnite, chto v /etc/passwd kazhdyj pol'zovatel' poluchil (vydavaemyj po umolchaniyu) GID. No pol'zovatel' mozhet prinadlezhat' bolee, chem k odnoj gruppe, putem dobavleniya imen pol'zovatelej v drugie gruppy (v stroki fajla /etc/group). Komanda groups perechislyaet, v kakie gruppy vy vhodite.

Tret'ya gruppa, guest, dlya gostej, a other dlya "drugih" pol'zovatelej. Pol'zovatel' kiwi imeet dostup i v etu gruppu.

Kak vy mozhete videt', pole "parol'" v /etc/group redko ispol'zuetsya. Inogda ono ispol'zuetsya dlya ustanovleniya parolya na dostup k gruppe. |to redko byvaet nuzhno. Dlya zashchity privilegirovannyh grupp ot obychnyh pol'zovatelej (s pomoshch'yu komandy newgroup) ustanovite v pole parolya zvezdochku ("*").

Komandy addgroup ili groupadd mogut byt' ispol'zovany dlya dobavleniya grupp v vashu sistemu. Obychno legche prosto samomu dobavit' zapis' v /etc/group, poskol'ku ne trebuetsya drugih nastroek pri dobavlenii gruppy. Dlya udaleniya gruppy prosto udalite sootvetstvuyushchuyu zapis' v /etc/group.

4.5 Arhivaciya i kompressirovanie fajlov

Prezhde, chem my smozhem govorit' o sohranenii (rezervirovanii) programm, my dolzhny predstavit' instrumenty, ispol'zuemye dlya arhivacii fajlov i programm v sistemah UNIX.

Ispol'zovanie tar

Komanda tar naibolee chasto ispol'zuetsya dlya arhivacii fajlov. Format komandy tar

    tar <options> <file1> ... <fileN>

gde <options> est' spisok komand i opcij dlya tar, a <file1> ... <fileN> est' spisok fajlov dobavlyaemyh v arhiv ili izvlekaemyh iz nego.

Naprimer, komanda

    # tar cvf backup.tar /etc

upakuet vse fajly, soderzhashchiesya v /etc, v arhiv tar pod imenem backup.tar. Pervyj argument komandy tar -``cvf', eto (vnutrennyaya) "komanda" tar. ``c'' ukazyvaet tar sozdat' novyj arhivnyj fajl. Opciya ``v'' zastavlyaet tar vyvodit' imya kazhdogo arhiviruemogo fajla. Opciya ``f'' govorit, chto sleduyushchij argument - backup.tar - imya sozdannogo arhivnogo fajla. Ostal'nye argumenty komandy tar - imya fajla i imya dobavlyaemogo v arhiv kataloga.

Komanda

    # tar xvf backup.tar

izvlechet arhivnyj fajl v tekushchij katalog. |to mozhet byt' inogda i nebezopasnym zanyatiem, kogda izvlechennye iz arhiva fajly zatirayut sushchestvovavshie fajly.

Poetomu pered izvlecheniem arhivirovannyh fajlov vazhno znat', gde fajly sleduet raspakovat'. Naprimer, vy zaarhivirovali sleduyushchie fajly: /etc/hosts, /etc/group i /etc/passwd. Esli vy ispol'zuete komandu

    # tar cvf backup.tar /etc/hosts /etc/group /etc/passwd

v nachalo imeni kazhdogo fajla dobavitsya katalog s imenem /etc. CHtoby izvlech' fajly v nuzhnoe mesto, vam potrebuetsya ispol'zovat' sleduyushchie komandy:

    # cd /
    # tar xvf backup.tar

poskol'ku fajly izvlecheny s sohranennoj v arhive tropoj

Esli vy zaarhivirovali fajly komandoj

    # cd /etc
    # tar cvf hosts group passwd
imya kataloga ne sohranyaetsya v arhivnom fajle. Poetomu vy dolzhny vypolnit' ``cd /etc'' pered izvlecheniem fajlov. Vy obratili vnimanie: to, kak vy sozdali arhivnyj fajl sil'no vliyaet na to, v kakom meste ego sleduet izvlekat'. Komanda

    # tar tvf backup.tar

mozhet byt' ispol'zovana dlya prosmotra "indeksa" arhivnogo fajla pered ego raspakovkoj. Takim obrazom vy mozhete posmotret', k kakomu katalogu otnosyatsya arhivirovannye fajly i smozhete izvlech' fajly iz arhiva v nuzhnom meste.

gzip i compress

V otlichie ot arhiviruyushchih programm dlya MS-DOS, tar ne kompressiruet avtomaticheski fajly v processe arhivirovaniya. Poetomu, esli vy arhiviruete dva odno-megabajtnyh fajla, rezul'tiruyushchij arhivnyj fajl budet razmerom dva megabajta. Komanda gzip mozhet ispol'zovat'sya dlya kompressirovaniya fajla (kompressiruemyj fajl ne obyazan byt' tar-fajlom)

Komanda

    # gzip -9 backup.tar

skompressiruet backup.tar i ostavit vas naedine s backup.tar.gz, skompressirovannoj versiej fajla. Opciya -9 govorit komande gzip, chto sleduet ispol'zovat' maksimal'nuyu vozmozhnuyu kompressiyu.

Komanda gunzip mozhet byt' ispol'zovana dlya raskompressirovaniya "zazipovannogo" fajla. S analogichnym effektom vy mozhete ispol'zovat' ``gzip -d''.

gzip - sravnitel'no novyj instrument v krugah, priblizhennyh k UNIX. Dolgie gody vmesto etogo ispol'zovalas' komanda compress. Odnako, po neskol'kim prichinam (tut i patentnye dryazgi otnositel'no algoritma, i to, chto gzip znachitel'no effektivnee) compress okazalsya ne u del.

Obrabotannye komandoj compress fajly zakanchivalis' rasshireniem .Z. Naprimer, backup.tar.Z - eto kompressirovannaya versiya fajla backup.tar, a backup.tar.gz - zazipovannaya versiya. (CHtoby eshche nadezhnee zaputat' delo, dlya oboznacheniya zazipovannyh fajlov nekotoroe vremya ispol'zovalos' rasshirenie .z (malen'kaya ``z''). V nastoyashchee vremya (prim. perevodchika: eto dlya sovremennikov avtora) oficial'noe rasshirenie - .gz.

Komanda uncompress ispol'zuetsya dlya razvertyvaniya fajla, kotoryj byl obrabotan komandoj compress. No komanda gunzip tozhe znaet, kak obrashchat'sya s takimi fajlami.

Mozhno vmeste

CHtoby zaarhivirovat' i skompressirovat' gruppu fajlov, vy mozhete ispol'zovat' komandy:

    # tar cvf backup.tar /etc
    # gzip -9 backup.tar

Rezul'tat budet backup.tar.gz. Dlya raspakovki etogo fajla ispol'zujte obratnuyu posledovatel'nost' komand:

    # gunzip backup.tar.gz
    # tar xvf backup.tar

Razumeetsya, vsegda sleduet ubedit'sya pered raspakovkoj fajla, chto vy v nuzhnom kataloge.

Vy mozhete operet'sya na nekotoruyu soobrazitel'nost' UNIX, pozvolyayushchego sdelat' eto odnoj komandoj (prim. perevodchika: Verno, no skazat' - odnoj "komandnoj strokoj" - bylo by chestnee, da i proshche opisyvat' rabotu etoj konstrukcii).

    # tar cvf - /etc | gzip -9c > backup.tar.gz

Zdes' my posylaem tar-fajl, sformirovannyj iz /etc, v fajl ``-'', kotoryj predstavlyaet standartnyj vyhod. Rezul'tat po konvejeru postupaet na vhod komandy gzip, kotoraya kompressiruet etot fajl i rezul'tat sohranyaet v backup.tar.gz. Opciya -c komandy gzip govorit, chto vyhod komandy gzip posylaet rezul'tat na standartnyj vyhod, kotoryj perenapravlyaetsya na backup.tar.gz.

Edinstvennaya sostavnaya komanda, ispol'zuemaya dlya raspakovki etogo arhiva, budet:

    # gunzip -c backup.tar.gz | tar xvf -

Opyat', komanda gunzip raskompressiruet soderzhimoe fajla backup.tar.gz i posylaet rezul'tiruyushchij fajl na standartnyj vyhod. On po konvejeru peredaetsya komande tar, kotoraya chitaet fajl ``-'', chto v dannom sluchae olicetvoryaet standartnyj vyhod.

K schast'yu, komanda tar takzhe soderzhit opciyu z, avtomaticheski kompressiruya-raskompressiruya fajly, ispol'zuya algoritm kompressii gzip.

Naprimer, komanda (prim. perevodchika: odna)

    # tar cvfz backup.tar.gz /etc

ekvivalentna

    # tar cvf backup.tar /etc
    # gzip backup.tar

Kak i komanda

    # tar xvfz backup.tar.Z

mozhet byt' ispol'zovana vmesto

    # uncompress backup.tar.Z
    # tar xvf backup.tar

Za dopolnitel'noj informaciej obratites' k Rukovodstvu po tar i gzip.

4.6 Ispol'zovanie disket i osushchestvlenie rezervirovaniya

Diskety chasto ispol'zuyutsya kak sredstvo rezervirovaniya. Esli u vas net lenty (strimmera), mozhno ispol'zovat' diskety (hotya oni medlennee i, v nekotorom smysle, menee nadezhny).

Vy mozhete ispol'zovat' diskety takzhe dlya hraneniya otdel'nyh fajlovyh sistem - v etom sluchae vy dolzhny montirovat' (mount) disketu dlya polucheiya dostupa k ee dannym.

Ispol'zovanie disket dlya rezervirovaniya

Prostejshij sposob rezervirovaniya na disketah, eto ispol'zovanie komandy tar.

    # tar cvfzM /dev/fd0 /

sdelaet polnuyu kopiyu vashej sistemy s ispol'zovaniem diskovoda /dev/fd0. Opciya ``M'' pozvolyaet kopirovat' na neskol'ko disket (multivolume backup); to est', kogda odna disketa zapolnitsya, tar zaprosit sleduyushchuyu. Komanda

    # tar xvfzM /dev/fd0

mozhet byt' ispol'zovana dlya polnogo vosstanovleniya. |tot metod mozhet byt' takzhe ispol'zovan dlya lent (/dev/rmt0).

Sushchestvuet neskol'ko drugih programm dlya osushchestvleniya mnogotomnogo rezervirovaniya. Vam mogut prigodit'sya programmy "backflops", kotorye mozhno vzyat' na tsx-11.mit.edu.

Sozdanie polnoj kopii sistemy mozhet byt' ves'ma vremya-resurso emkim. Bol'shinstvo sistemnyh administratorov ispol'zuet "inkremental'nuyu" strategiyu rezervirovaniya. Kazhdyj mesyac proizvoditsya polnoe kopirovanie, a kazhduyu nedelyu - tol'ko teh fajlov, kotorye byli modificirovany v etu nedelyu. V etom sluchae, esli vy grohnete svoyu sistemu v seredine mesyaca, vy mozhete prosto vosstanovit' sostoyanie na nachalo mesyaca, a zatem vosstanovit' ponedel'nye izmeneniya.

Komanda find mozhet byt' polezna v vyiskivanii fajlov, kotorye izmenilis' posle kakoj-to daty. Neskol'ko scenariev (komandnyh fajlov na shell) dlya inkremental'nogo rezervirovaniya mozhno najti na sunsite.unc.edu.

Ispol'zovanie disket v kachestve fajlovyh sistem

Vy mozhete sozdat' fajlovuyu sistemu na diskete tochno takzhe, kak v razdele zhestkogo diska. Naprimer,

    # mke2fs /dev/fd0 1440

sozdaet fajlovuyu sistemu na diskete na /dev/fd0. Razmer fajlovoj sistemy dolzhen sootvetstvovat' razmeru diskety. Diskety high-density 3.5" - razmerom v 1.44 Mbajt ili 1440 blokov. Diskety high-density 5.25" - razmerom v 1200 blokov.

Dlya togo, chtoby imet' dostup k diskete, vy dolzhny primontirovat' soderzhashchuyusya na nej fajlovuyu sistemu. Komanda

       # mount -t ext2 /dev/fd0 /mnt

primontiruet disketu, nahodyashchuyusya na /dev/fd0 k katalogu /mnt. Teper' vse fajly, nahodyashchiesya na diskete, budut nahodit'sya v kataloge /mnt vashego zhestkogo diska. (prim. perevodchika: v /mnt neposredstvenno budet nahodit'sya vershina dereva fajlovoj sistemy diskety, vse ostal'noe oposredovano - nizhe po derevu). ``-t ext2''ukazyvaet tip fajlovoj sistemy (ext2fs). Esli vy sozdali drugoj tip fajlovoj sistemy na diskete, vam potrebuetsya opisat' ego tip komande mount.

"Tochka montirovaniya" (katalog, k kotoromu vy primontiruete fajlovuyu sistemu) dolzhen sushchestvovat', kogda vy primenyaete komandu mount. Esli on ne sushchestvuet, sozdajte ego s pomoshch'yu komandy mkdir - i vse problemy.

Dopolnitel'nuyu informaciyu po fajlovym sistemam, montirovaniyu i tochkam montirovaniya smotrite v Razdele 4.8.

Vazhnoe zamechanie! Vvod/vyvod na disketu buferiziruetsya tochno takzhe, kak i dlya zhestkogo diska. Kogda vy menyaete (dostaete) disketu, vy ne dolzhny videt' goryashchuyu lampochku diskovoda (poka yadro rabotaet s buferami vvoda/vyvoda). Vazhno, chtoby vy ne izvlekali disketu iz diskovoda do ee razmontirovaniya, kotoroe mozhno vypolnit' komandoj

       # umount /dev/fd0

Nel'zya prosto vzyat' i vytashchit' disketu, kak v MS-DOS. Pri zamene disket snachala razmontirujte odnu, a zatem primontirujte vtoruyu.

4.6 Modernizaciya i installyaciya programm

Drugaya obyazannost' sistemnogo administratora - modernizaciya i installyaciya novyh programm.

Soobshchestvo priverzhencev Linux ochen' dinamichno. Novye versii yadra poyavlyayutsya kazhdye neskol'ko nedel', da i drugie programmy izmenyayutsya ne menee chasto. Poetomu novye pol'zovateli Linux chasto chuvstvuyut neobhodimost' v postoyannoj modernizacii (upgrade) svoej sistemy, chtoby pospevat' za izmeneniyami, idushchimi lihoj postup'yu. |to neobhodimo i eto i poterya vremeni: otslezhivat' vse izmeneniya v mire Linux. Prosto u vas mozhet absolyutno vse vremya uhodit' na modernizaciyu sistemy i lish' ostavsheesya - na sobstvenno ispol'zovanie sistemy.

Nu, tak kogda zhelaete zanyatsya modernizaciej? Nekotorye nutrom chuvstvuyut, chto zanimat'sya modernizaciej pristalo togda, kogda poyavilas' novaya versiya distributiva, naprimer, kogda poyavlyaetsya novaya versiya Slackware. Mnogie pol'zovateli Linux kazhdyj raz pri etom polnost'yu pereinstalliruyut svoyu sistemu. |to tozhe poterya vremeni. Obychno izmeneniya ot versii k versii Slackware neznachitel'nye. Bessmyslenno perepisyvat' i pereinstallirovat' 30 diskov, kogda tol'ko 10% programm byli dejstvitel'no modificirovany.

Luchshij variant modernizacii sistemy - eto ruchnaya rabota: modernizirujte tol'ko te programmnye pakety, pro kotorye vy tochno znaete, chto ih stoit menyat'. |to mnogih pugaet: oni hotyat znat', chto menyat', i kak, i chto oni teryayut, esli ne moderniziruyut. Zalog uspeha v Linux - eto preodolet' boyazn' principa "sdelaj sam", odnogo iz fundamental'nyh principov Linux.

Dejstvitel'no, blagostnoe sostoyanie pol'zovatelya rabotayushchej i horosho nastroennoj sistemy vraz menyaetsya pri pereinstallyacii, poskol'ku, bez somneniya, privodit i k perenastrojke vsego i vsya, k tomu, chto opyat' vse ne rabotaet, kak eto bylo pri pervoj installyacii sistemy. Tak chto opredelennye seansy samopsihoterapii neobhodimy, chtoby imet' delovoj nastroj. Vse, chto trebuetsya - eto nemnozhko "nou-hau" po modernizacii sistemy.

Vy obnaruzhite, chto kogda vy moderniziruete odnu komponentu vashej sistemy, drugie veshchi ne dolzhny lomat'sya. Naprimer, bol'shaya chast' moej sistemy ostavlena so vremen drevnej 0.96 MCC Interim installation. Tem ne menee, ya ispol'zuyu novejshuyu versiyu yadra i bibliotek bez problem. Bol'shej chast'yu bessmyslenno zanimat'sya modernizaciyami, chtoby "ne otstat' ot mody". Sueta vse eto. |to vam ne MS-DOS ili Microsoft Windows. U nas net ser'eznyh prichin obyazatel'no rabotat' na novejshej vo vse vremena versii sistemy. Esli vy osoznaete, chto vam dejstvitel'no nuzhny nekotorye veshchi iz novoj versii - togda modificirujte na zdorov'e. A esli net, to luchshe ne nado. Drugimi slovami modernizirujte tol'ko to, chto nado, i tol'ko togda, kogda nado. Ne modernizirujte vo imya modernizacii.

Naibolee vazhnaya chast' vashej sistemy, kak vozmozhnyj ob'ekt modernizacii, eto yadro, biblioteki i kompilyator gcc. |to tri klyuchevye chasti vashej sistemy, i v nekotoryh sluchayah oni byvayut vzaimozavisimymi. Bol'shaya chast' ostal'nogo hozyajstva vashej sistemy i bez periodicheskih modernizacij sojdet.

Modernizaciya yadra

Modernizaciya yadra - eto prosto nado vzyat' ishodnye teksty i samomu ih otkompilirovat'. Vy dolzhny kompilirovat' yadro sami, poskol'ku vam reshat', kakie svojstva vklyuchat' i ne vklyuchat', kak i ubedit'sya, chto yadro budet optimizirovano primenitel'no k vashej mashine. Process vpolne bezboleznennyj. (prim. perevodchika: Nastoyashchie parashyutisty sami ukladyvayut svoj parashyut).

Ishodnye teksty yadra mozhno razdobyt' na lyubom Linux-ovskom FTP-servere (spisok smotrite v Razdele C). Na sunsite.unc.edu, naprimer, ishodniki yadro nahodyatsya v pub/Linux/kernel/. Versii yadra numeruyutsya s ispol'zovaniem nomera versii yadra (kernel) i urovnya ispravleniya (patchlevel). Naprimer, kernel version 0.99 patchlevel 11 obychno zapisyvaetsya kak 0.99.pl11, ili eshche proshche 0.99.11.

Ishodniki yadra rasprostranyayutsya v vide zazipovannyh tar-fajlov. ( CHasto patch-fajly ("zaplaty") vypuskayutsya dlya tekushchej versii yadra, kotoraya pozvolyaet modernizirovat' ishodniki vashego dejstvuyushchego yadra na osnove poslednego urovnya ispravlenij, ispol'zuya programmu patch. V bol'shinstve sluchaev, mezhdu tem, obychno proshche installirovat' celikom novuyu versiyu yadra. Naprimer, fajl, soderzhashchij ishodniki yadra 0.99.pl11 - linux-0.99.11.tar.gz. ( prim. perevodchika: Na moment perevoda knigi sushchestvuyut sleduyushchie serii yader: 0.1-0.99, 1.0.1-1.0.9, 1.1.1-1.1.95, 1.2.1-1.2.13, 1.3.1-1.3.83. YAdra, prinadlezhashchie serii s chetnoj 2-j cifroj (1.0, 1.2), yavlyayutsya stabil'nymi (to est' ne vklyuchayut nikakih eksperimental'nyh kodov). YAdra serii (1.1, 1.3) vklyuchayut eksperimental'nye kody (takie kak Mobile IP, IP-masquarading i t. p. v serii 1.3). Perevodchik, ishodya iz deklarirovannogo avtorom principa "ot dobra dobra ne ishchut", rabotaet v versii 1.2.13 i s neterpeniem zhdet poyavleniya versii 1.4.1 ili 2.0.)

Raspakujte etot fajl iz kataloga /usr/src; on sozdast katalog /usr/src/linux, kotoryj soderzhit ishodniki yadra. Vam sleduet udalit' ili pereimenovat' sushchestvuyushchij /usr/src/linux pered raspakovkoj novoj versii.

Kogda ishodniki raspakovany, vam neobhodimo ubedit'sya, chto dve simvolicheskie svyazi v /usr/include korrektny. Dlya sozdaniya etih svyazej ispol'zujte komandy

    # ln -sf /usr/src/linux/include/linux /usr/include/linux
    # ln -sf /usr/src/linux/include/asm /usr/include/asm

Esli vy odnazhdy sozdali eti svyazi, net prichiny sozdavat' ih

snova, kogda vy installiruete sleduyushchuyu versiyu yadra. (Smotrite Razdel 3.10 po povodu simvolicheskih svyazej).

Obratite vnimanie, chto dlya kompilyacii yadra u vas v sisteme dolzhny byt' installirovany kompilyatory gcc i g++ C i C++. Esli vy nuzhdaetes' v bolee svezhih versiyah etih kompilyatorov, smotrite nizhe Razdel 4.7.3.

Dlya kompilyacii yadra prezhde vsego vypolnite cd v /usr/src/linux. Vypolnite komandu make config. |ta komanda zaprosit u vas neskol'ko nastroechnyh opcij, takih kak "Kakoj tip fajlovoj sistemy vy zhelaete vklyuchit' v novoe yadro". Zatem, otredaktirujte /usr/src/linux/Makefile. Ubedites', chto opredelenie dlya ROOT_DEV korrektno - ono opredelyaet ustrojstvo, ispol'zuemoe v kachestve kornevoj fajlovoj sistemy vo vremya zagruzki. Obychnoe opredelenie imeet vid:

    ROOT_DEV = CURRENT

Menyat' eto net smysla, krome sluchaya, kogda vy menyaete ustrojstvo dlya vashej kornevoj fajlovoj sistemy.

Zatem vypolnite komandu make dep dlya otslezhivaniya vseh vzaimosvyazej ishodnyh tekstov |to ochen' vyhnyj etap.

I nakonec, vy gotovy kompilirovat' yadro. Komanda make Image skompiliruet yadro i ostavit obraz novogo yadra v fajle /usr/src/linux/Image. (prim. perevodchika: Nachinaya s yader serii 1.2 sobrannoe yadro zapisyvaetsya v katalog /usr/src/linux/arch/i386/boot/Image (esli konechno vy sobirali yadro dlya processorov serii intel, a ne alpha, mips ili sparc.) A komanda make zImage skompiliruet skompressirovnnyj obraz yadra, kotoryj raskompressiruet sam sebya vo vremya zagruzki, a tak zanimaet na diske men'she mesta.

Posle kompilyacii yadra vy dolzhny libo skopirovat' ego na zagruzochnuyu disketu (komandoj vrode ``cp Image /dev/fd0''), libo installirovat' ego, ispol'zuya LILO dlya zagruzki s vashego zhestkogo diska. Dopolnitel'nuyu informaciyu mozhno najti v Razdele 4.2.2 .

Modernizaciya bibliotek

Kak govorilos' ranee, bol'shinstvo programm sistemy kompilirovalos' dlya ispol'zovaniya razdelyaemyh bibliotek soderzhashchih obshchie podprogrammy, kotorymi pol'zuyutsya razlichnye prikladnye programmy.

Esli vy uvidite soobshchenie

    Incompatible library version
    (Nesovmestimaya versiya biblioteki)

Pri popytke vypolnit' programmu, vam neobhodimo modernizirovat' versiyu vashih bibliotek, kotorye ispol'zuet programma. Biblioteki sovmestimy v obratnom napravlenii, to est' programma, otkompilirovannaya dlya ispol'zovaniya s bolee rannej versiej bibliotek, dolzhna rabotat' s novoj versiej bibliotek. A obratnoe ne spravedlivo.

Samaya poslednyaya versiya bibliotek mozhet byt' najdena FTP-serverah Linux. Na sunsite.unc.edu oni raspolozheny v /pub/Linux/GCC. Fajly "versii" (``release'') dolzhny opisyvat', kakie fajly vam neobhodimo skachat', i kak ih installirovat'. Kratko, vy dolzhny imet' fajly image-version.tar.gz i inc-version.tar.gz, gde versiya ukazyvaet versiyu installiruemyh bibliotek, naprimer 4.4.1. (prim. perevodchika: Na moment perevoda knigi poslednyaya versiya byla 5.3.9.) |to zazipovannye tar-fajly. Fajly obrazov soderzhat obrazy installiruemyh bibliotek v /lib and /usr/lib. Fajl inc soderzhit include-fajly dlya installyacii v /usr/include.

Fajl release-version.tar.gz ob'yasnyaet installyacionnuyu proceduru v detalyah (konkretnye instukcii dlya konkretnyh versij otlichayutsya). V obshchem sluchae vy dolzhny installirovat' bibliotechnye .a i .sa fajly v /usr/lib. |ti biblioteki ispol'zuyutsya na etape kompilyacii.

Dopolnitel'no, razdelyaemaya biblioteka obrazov fajlov libc.so.version installiruetsya v /lib. |to razdelyaemye biblioteki obrazov zagruzhayutsya vo vremya vypolneniya ispol'zuyushchimi ih programmami. Kazhdaya biblioteka imeet simvolicheskuyu svyaz', ispol'zuyushchuyu starshee chislo versii biblioteki v /lib.

Naprimer, biblioteka libc versiya 4.4.1 imeet starshuyu cifru versii 4. Fajl, soderzhashchij biblioteku - libc.so.4.4.1. Simvolicheskaya svyaz' s imenem libc.so.4, ukazyvayushchaya na etot fajl, takzhe v /lib. Vy dolzhny izmenit' etu simvolicheskuyu svyaz', kogda modificiruete biblioteki. Naprimer, kogda idet smena versij, vy dolzhny izmenit' simvolicheskuyu svyaz' fajla libc.so.4 na novuyu versiyu.

Vazhnoe zamechanie! Nado menyat' simvolicheskuyu svyaz' za odin shag, kak pokazano nizhe. Esli vy kakim-to obrazom udalili simvolicheskuyu svyaz' libc.so.4 togda programmy, kotorye zavisyat ot etoj svyazi (vklyuchaya bazovye utility vrode ls i cat) perestanut rabotat'. Ispol'zujte sleduyushchuyu komandu dlya obnovleniya simvolicheskoj svyazi libc.so.4, chtoby ona ukazyvala na fajl libc.so.4.4.1:

       # ln -sf /lib/libc.so.4.4.1 /lib/libc.so.4

Vy dolzhny takzhe izmenit' simvolicheskuyu svyaz' libm.so.version takim zhe manerom. Esli vy perehodite na otlichnuyu (ot prezhnej) versiyu bibliotek, zamenite imena vysheupomyanutyh fajlov. Poyasneniya k versii biblioteki dolzhny proyasnit' detali. (Dopolnitel'nuyu informaciyu pro simvolicheskie svyazi smotrite v Razdele 3.10).

Modernizaciya gcc

Kompilyatory gcc C i C++ ispol'zuyutsya dlya kompilyacii programm vashej sistemy, v pervuyu golovu - yadra. Novejshuyu versiyu gcc mozhno najti na FTP-serverah Linux. Na sunsite.unc.edu ego mozhno najti v kataloge /pub/Linux/GCC (vmeste s bibliotekami). Dolzhen sushchestvovat' fajl versii dlya distribucii gcc, detaliziruyushchij, kakie fajly vy dolzhny perepisat' i kak ih installirovat'.

Modernizaciya drugih programm

Modernizaciya drugih programm, eto v osnovnom problema dobychi sootvetstvuyushchih fajlov i ih installyacii. Bol'shinstvo programm dlya Linux rasprostranyayutsya kak zazipovannye tar-fajly, vklyuchaya kak ishodnye, tak i vypolnyaemye, ili te i drugie. Esli vypolnyaemye fajly ne vklyucheny v versiyu, vam mozhet potrebovat'sya samostoyatel'no ih otkompilirovat'. Obychno eto oznachaet zapusk make v kataloge, gde nahodyatsya ishodniki.

CHtenie gruppy novostej USENET comp.os.linux.announce - prostejshij put', chtoby vylovit' informaciyu o novyh programmah. Tak chto samyj prostoj sposob otyskat' kakie-to programmy, eto pobrodit' po FTP-serveram, poskachivat' s serverov (ls-lR) indeksnye fajly i, ispol'zuya grep, najti zhelaemye fajly. Esli vam dostupen arhiv, eto takzhe mozhet pomoch'. Detali smotrite v Prilozhenii A. (Esli u vas net arhiva, vy mozhete po telnet vyjti na arhivnyj server vrode archie.rutgers.edu, vojti kak ``archie'' i vospol'zovat'sya komandoj ``help''). Detali smotrite v Prilozhenii A.

Odin iz udobnyh istochnikov programm Linux - diskovyj obraz Slackware. Kazhdyj disk soderzhit ryad fajlov .tgz, prosto zazipovannyh tar-fajlov. Vmesto perepisyvaniya diska vy mozhete perepisat' zhelaemye .tgz fajly iz katalogov Slackware na FTP-servere i pryamo ih installirovat'. Esli vy ispol'zuete distributiv Slackware, komanda setup mozhet avtomaticheski zagruzit' i installirovat' polnyj nabor diskov.

I eshche raz, obychno ne samoe umnoe delo zanimat'sya modernizaciej putem pereinstallyacii novejshej versii Slackware ili drugogo distributiva. Esli vy takim obrazom reinstalliruete, vy obyazatel'no unichtozhite vash segodnyashnij variant, vklyuchaya katalogi pol'zovatelej i vashi standartnye nastrojki. Luchshe zanimat'sya modernizaciej po chastyam, to est', esli nashlas' programma, kotoruyu vy chasto ispol'zuete i kotoraya imeet novuyu versiyu, modernizirujte ee. A inache ne volnujte sebya po pustyakam. Pravilo ustalogo veterana: "Esli samo ne lomaetsya - ne trogaj". Esli vasha sistema rabotaet - net dostatochnyh osnovanij dlya modernizacii.

4.7 Upravlenie fajlovymi sistemami

Drugaya zadacha sistemnogo administratora - zabota o fajlovoj sisteme. Bol'shaya chast' etoj raboty sostoit v proverke fajlovoj sistemy na nalichie povrezhdennyh ili isporchennyh fajlov; mnogie sistemy delayut takie proverki vo vremya zagruzki.

Montirovanie fajlovyh sistem

Snachala neskol'ko koncepcij, svyazannyh s fajlovymi sistemami. Prezhde, chem fajlovaya sistema budet prinyata vashej sistemoj, ona dolzhna byt' primontirovana k kakomu-to katalogu. Naprimer, esli u vas fajlovaya sistema na diskete, to vy dolzhny primontirovat' ee v katalog, skazhem /mnt, dlya togo, chtoby obespechit' dostup k ee fajlam (smotrite Razdel 4.6.2). Posle montirovaniya fajlovoj sistemy vse fajly etoj sistemy poyavlyayutsya v etom kataloge (i nizhe). Posle razmontirovaniya fajlovoj sistemy katalog (v nashem sluchae /mnt) budet pust, to zhe samoe spravedlivo dlya fajlovoj sistemy na zhestkom diske. (Prim. perevodchika: Katalog /mnt budet pust, esli on byl pust do montirovaniya, inache naoborot, stanut vidnymi fajly kataloga /mnt (osnovnoj sistemy), kotorye stanovyatsya "nevidimymi", kogda k etomu katalogu montiruetsya fajlovaya sistema). Sistema avtomaticheski montiruet fajlovye sistemy na vash zhestkij disk vo vremya zagruzki. Tak nazyvaemaya "kornevaya fajlovaya sistema" montiruetsya k katalogu /. Esli u vas otdel'nye fajlovye sistemy, naprimer, dlya /usr - ona montiruetsya na /usr. Esli u vas tol'ko kornevaya fajlovaya sistema, to vse fajly, vklyuchaya soderzhimoe /usr, sushchestvuyut v etoj fajlovoj sisteme.

Komanda mount ispol'zuetsya dlya montirovaniya fajlovoj sistemy.

       mount -av

Vypolnyaetsya iz fajla /etc/rc (fajla sistemnoj inicializacii vo vremya zagruzki, smotrite Razdel 4.10.1). Komanda ount -av poluchaet informaciyu o fajlovyh sistemah i montiruet v sootvetstvii s fajlom /etc/fstab. Primer fajla fstab pokazan nizhe.

       # device       directory      type     options
       /dev/hda2       /             ext2     defaults
       /dev/hda3       /usr          ext2     defaults
       /dev/hda4       none          swap     sw
       /proc           /proc         proc     none

Pervoe pole - eto ustrojstvo (imya montiruemogo razdela). Vtoroe pole - tochka montirovaniya. Tret'e pole - tip fajlovoj sistemy (naprimer, ext2 dlya sistemy tipa ext2fs ili minix dlya Minix filesystems). Tablica 4.1 perechislyaet razlichnye tipy fajlovyh sistem, dostupnyh v Linux.

|ta tablica dlya yadra versii 1.1.37.

Fajlovaya sistema            Imya tipa   Kommentarij

Second Extended Filesystem  ext2       Naibolee rasprostranennaya dlya Linux
Extended Filesystem         ext        Vytesnena sistemoj ext2
Minix Filesystem            minix      Fajlovaya sistema Minix; redko
                                               ispol'zuetsya
Xia Filesystem              xia        Pohozha na ext2; redko ispol'zuetsya
UMSDOS Filesystem           umsdos     Dlya instalyacii Linux na razdely
                                               MS-DOS
MS-DOS Filesystem           msdos      Dlya dostupa k fajlam MS-DOS
/proc Filesystem            proc       Daet informaciyu o processah dlya
                                               ps i t.p.
ISO 9660 Filesystem         iso9660    Ispol'zuetsya bol'shinstvom CD-ROM
Xenix Filesystem            xenix      Dlya dostupa k fajlam iz Xenix.
System V Filesystem         sysv       Dlya dostupa k fajlam iz System V
                                               variant dlya x86.
Coherent Filesystem         coherent   Dlya dostupa iz Coherent
HPFS Filesystem             hpfs       Dostup tol'ko na chtenie
                                               dlya razdelov HPFS (DoubleSpace).

                Tablica 4.1. Tipy Fajlovyh sistem Linux

Ne vse eti tipy mogut byt' dostupny na vashej sisteme; vashe yadro dolzhno imet' sootvetstvuyushchuyu otkompilirovannuyu podderzhku. O kompilyacii yadra smotrite v Razdele 4.7.

Poslednee pole fajla fstab (options) eto bylo pered Tablicej 4.1 soderzhit opcii montirovaniya, obychno oni ustanavlivayutsya v ``defaults''.

Vy mozhete videt', chto razdely svoppinga takzhe vklyucheny v /etc/fstab. Oni imeyut katalog montirovaniya "tt/none/", i tip "swap". Komanda swapon -a vypolnyaemaya iz /etc/rc ispol'zuetsya dlya obespecheniya svoppinga na vse ustrojstva, perechislennye v /etc/fstab.

Fajl fstab soderzhit odnu special'nuyu zapis' dlya fajlovoj sistemy /proc. Kak govorilos' v Razdele 3.11.1, fajlovaya sistema /proc ispol'zuetsya dlya hraneniya informacii o sistemnyh processah, dostupnoj pamyati i t.p. Esli /proc ne primontirovan, takie komandy, kak ps ne budut rabotat'.

Vnimanie! Komanda mount mozhet ispol'zovat'sya tol'ko root. |to dlya obespecheniya bezopasnosti sistemy. Vam ne zahochetsya, chtoby montirovanie i razmontirovanie fajlovyh sistem zaviselo ot prihoti ryadovyh pol'zovatelej. Est' neskol'ko programmnyh paketov, kotorye dayut vozmozhnost' tem samym ryadovym pol'zovatelyam montirovat' i razmontirovat' fajlovye sistemy (osobenno na disketah) ne zatragivaya bezopasnosti sistemy.

Komanda mount -av fakticheski montiruet vse fajlovye sistemy, krome kornevoj fajlovoj sistemy (v ranee privedennoj tablice - /dev/hda2). Kornevaya fajlovaya sistema avtomaticheski montiruetsya yadrom vo vremya zagruzki.

Vmesto ispol'zovaniya mount -av vy mozhete primontirovat' fajlovuyu sistemu vruchnuyu. Komanda

    # mount -t ext2 /dev/hda3 /usr

ekvivalentna montirovaniyu fajlovoj sistemy na /dev/hda3 v primere fstab, rassmotrennom ranee.

Vam nikogda ne sleduet montirovat' i razmontirovat' fajlovye sistemy vruchnuyu. Komanda mount -av v /etc/rc pozabotitsya o montirovanii fajlovyh sistem vo vremya zagruzki. Fajlovye sistemy avtomaticheski razmontiruyutsya komandami shutdown ili halt pered vyklyucheniem sistemy.

Proverka fajlovyh sistem

Byvaet polezno pochashche proveryat' vashu fajlovuyu sistemu na nalichie povrezhdennyh i isporchennyh fajlov. Nekotorye sistemy avtomaticheski proveryayut svoi fajlovye sistemy vo vremya zagruzki (s pomoshch'yu sootvetstvuyushchih komand iz /etc/rc).

Dlya proverki fajlovyh sistem ispol'zuyutsya komandy, zavisyashchie ot tipa fajlovoj sistemy. Dlya fajlovoj sistemy ext2fs (samyj shiroko ispol'zuemyj tip), takoj komandoj sluzhit e2fsck. Naprimer, komanda

    # e2fsck -av /dev/hda2

proverit fajlovuyu sistemu ext2fs na /dev/hda2 i avtomaticheski ispravit oshibki.

Obychno byvaet polezno razmontirovat' fajlovuyu sistemu pered

ee proverkoj. Naprimer komanda

       # umount /dev/hda2

Razmontiruet fajlovuyu sistemu na /dev/hda2, posle chego vy mozhete ee proverit'. Est' odno isklyuchenie, vy ne mozhete razmontirovat' kornevuyu fajlovuyu sistemu. Dlya togo, chtoby proverit' razmontirovnnuyu kornevuyu fajlovuyu sistemu vam sleduet ispol'zovat' special'nuyu boot/root disketu (smotrite Razdel 4.11.1). Vy takzhe ne mozhete razmontirovat' fajlovuyu sistemu, esli hotya by odin iz ee fajlov "zanyat" (``busy''), t.e. ispol'zuetsya dejstvuyushchim processom. Naprimer, vy ne mozhete razmontirovat' fajlovuyu sistemu, esli hotya by odin iz tekushchih rabochih katalogov pol'zovatelya nahoditsya na etoj fajlovoj sisteme. Vy poluchite soobshchenie ``Device busy'', esli vy popytaetes' razmontirovat' ispol'zuemuyu fajlovuyu sistemu.

Drugaya fajlovaya sistema ispol'zuet razlichnye formy komandy e2fsck, takie kak efsck i xfsck. Na nekotoryh sistemah vy mozhete prosto ispol'zovat' komandu fsck, kotoraya opredelit tip fajlovoj sistemy i vypolnit sootvetstvuyushchuyu komandu.

Vnimanie! Neobhodimo nemedlenno perezagruzit' operacionnuyu sistemu posle proverki montirovannoj fajlovoj sistemy, esli byli vneseny kakie-to izmeneniya v fajlovuyu sistemu. (Hotya v obshchem sluchae proveryat' nerazmontirovannuyu fajlovuyu sistemu). Naprimer, esli e2fsck soobshchaet, chto ona ispravila hotya by odnu oshibku v fajlovoj sisteme, vam sleduet nemedlenno vypolnit' shutdown -r, chtoby perezagruzit' sistemu. |to pozvolit' sisteme "resinhronizirovat'" informaciyu o fajlovoj sisteme, posle modifikacii ee s pomoshch'yu e2fsck. (prim. perevodchika: To est' snovo soglasovat' soderzhimoe buferov pamyati s sootvetstvuyushchimi fragmentami fajlovoj sistemy na diske).

Fajlovaya sistema /proc nikogda ne nuzhdaetsya v proverkah takogo roda. /proc - eto fajlovaya sistema pamyati, upravlyaemaya neposredstvenno yadrom.

4.8 Ispol'zovanie fajla svoppinga

Vmesto togo, chtoby rezervirovat' special'nye razdely dlya oblasti svoppinga, vy mozhete ispol'zovat' fajl. Odnako, chtoby eto sdelat', vy dolzhny installirovat' programmy Linux i predvaritel'no sdelat' vse, chto neobhoimo dlya sozdaniya fajlov svoppinga.

Esli u vas est' installirovannaya sistema Linux, vy mozhete ispol'zovat' sleduyushchie komandy dlya sozdaniya fajla svoppinga. Nizhe my sobiraemsya sozdat' fajl svoppinga razmerom v 8208 blokov (okolo 8 Mbajt).

       # dd if=/dev/zero of=/swap bs=1024 count=8208

|ta komanda sozdaet fajl svoppinga. Zamenite ``count='' razmerom fajla svoppinga v blokah.

       # mkswap /swap 8208

|ta komanda inicializiruet swap-fajl; vnov' zamenite imya i razmer svop-fajla sootvetstvuyushchimi znacheniyami.

       # /etc/sync
       # swapon /swap

Teper' v svoppinge budet zadejstvovan fajl /swap, kotoryj my sozdali, posle sinhronizacii, kotoraya garantiruet, chto fajl byl zapisan na disk.

Glavnaya nepriyatnost', svyazannaya s ispol'zovaniem swap-fajlov, sostoit v tom, chto dostup k nim proishodit cherez fajlovuyu sistemu. |to oznachaet, chto bloki, sostavlyayushchie swap-fajl mogut byt' ne smezhnimi na diske. To est' skorost' svoppinga pri ispol'zovanii swap-fajla nizhe, chem pri ispol'zovanii swap-razdela, dlya kotoroj bloki vsegda smezhny (posledovatel'ny) i zaprosy na vvod/vyvod proishodyat pryamo k ustrojstvu.

Drugaya problema, svyazannaya s ispol'zovaniem swap-fajla, eto vozmozhnost' isportit' informaciyu v fajlovoj sisteme - pri ispol'zovanii bol'shih fajlov svoppinga sushchestvuet shans, chto vy poportite sistemu, esli chto-to proishodit nepravil'no. Imeya razdel svoppinga otdel'no ot fajlovoj sistemy vy strahuetes' ot takih nepriyatnostej.

Ispol'zovanie fajla svoppinga mozhet byt' ochen' poleznym, esli u vas est' vremennaya potrebnost' v dopolnitel'nom prostranstve dlya svoppinga. Naprimer, esli vy kompiliruete bol'shuyu programmu i hotite uskorit' delo, vy mozhete vremenno sozdat' fajl svoppinga i ispol'zovat' ego v dopolnenie k imeyushchejsya oblasti svoppinga.

Dlya togo, chtoby izbavit'sya ot fajla svoppinga, vnachale ispol'zujte swapoff

    # swapoff /swap

A teper' vy mozhete smelo udalit' fajl.

    # rm /swap

Pomnite, chto kazhdyj fajl svoppinga (ili razdel) mozhet byt' razmerom do 16 Mbajt, no vy mozhete ispol'zovat' do 8 fajlov svoppinga ili razdelov na svoej sisteme.

4.9 Raznosherstnye zadachi

Hotite ver'te, hotite - net, no sushchestvuet ryad hozyajstvennyh zadach, vhodyashchih v funkcii sistemnogo administratora, kotorye ne popadayut ni v odnu iz osnovnyh kategorij.

Fajly ustanovki sistemy

Pri zagruzke sistemy nekotorye scenarii avtomaticheski vypolnyayutsya sistemoj do vhoda v nee pol'zovatelej. Dalee sleduet opisanie togo, chto v eto bezvremen'e proishodit. Vo vremya zagruzki yadro zapuskaet process /etc/init. init - eto programma, kotoraya chitaet svoi nastroechnye fajly (/etc/inittab) i zapuskaet drugie processy, baziruyushchiesya na soderzhanii etih fajlov. Odin iz vazhnyh processov zapuskaetsya iz inittab - eto /etc/getty , on startuet dlya kazhdoj virtual'noj konsoli. Process getty zahvatyvaet VK (Virtual'nuyu Konsol') i zapuskaet na nej process login. |to pozvolyaet vam vhodit' na kazhdoj VK. Esli /etc/inittab ne soderzhit processov getty dlya konkretnoj VK, na etu VK vy ne vojdete.

Drugoj process, vypolnyaemyj iz /etc/inittab - eto /etc/rc, glavnyj sistemnyj fajl inicializacii (prim. perevodchika: ili glavnyj fajl inicializacii sistemy - chto tozhe verno). |tot fajl predstavlyaet iz sebya shell-scenarij, kotoryj vypolnyaet lyubye neobhodimye komandy inicializacii vo vremya zagruzki, takie naprimer, kak montirovanie fajlovyh sistem (smotrite Razdel 4.8) i inicializacii oblasti svoppinga.

Vasha sistema mozhet takzhe vypolnyat' i drugie scenarii, naprimer /etc/rc.local. /etc/rc.local obychno soderzhit komandy inicializacii, specifichnye dlya vashej sistemy, takie kak ustanovka host-imeni (smotrite sleduyushchij razdel ). rc.local mozhet zapuskat'sya iz /etc/rc ili pryamo iz /etc/inittab.

Ustanovka host-imeni

V setevoj srede host-imya ispol'zuetsya dlya odnoznachnoj identifikacii konkretnoj mashiny, v to vremya kak otdel'no stoyashchej mashine host-imya pridaet chuvstvo sobstvennogo dostoinstva i sharma. |to, kak dat' imya vashej sobake: vy mozhete obrashchat'sya k sobake prosto ``The dog'' (prim. perevodchika: eto prosto "sobaka" (s opredelennym artiklem - poskol'ku konkretnaya) , no znachitel'no interesnee pripisat' sobake imya, vrode Spot ili Woofie (ili SHarik i Bobik).

Host-imya elementarno ustanavlivaetsya komandoj hostname. Esli vy v seti, vashe host-imya dolzhno byt' polnym host-imenem vashej mashiny, takim kak goober.norelco.com. Esli vy ne v seti, vy mozhete vybrat' proizvol'nye imena dlya hosta i domena, naprimer loomer.vpizza.com, shoop.nowhere.edu ili floof.org.

Pri ustanovke host-imeni ono dolzhno byt' zaneseno v fajl /etc/hosts, kotoryj pripisyvaet IP adres kazhdomu hostu. Dazhe esli vasha mashina ne v seti, vam sleduet vklyuchit' vashe host-imya v /etc/hosts. Naprimer, esli vy ne imeete vyhoda v set' po TCP/IP i vashe host-imya floof.org, prosto vklyuchite sleduyushchuyu zapis' v /etc/hosts:

    127.0.0.1       floof.org localhost

|to pripishet vashe host-imya floof.org k lokal'nomu IP-interfejsu (loopback address) 127.0.0.1 (ispol'zuemomu, dazhe esli vy ne v seti). Sinonim localhost takzhe pripisyvaetsya etomu adresu.

Esli vy podklyucheny k seti po TCP/IP, vashi dejstvitel'nye IP adres i host-imya dolzhny poyavit'sya v /etc/hosts. Naprimer, esli vashe host-imya goober.norelco.com, i vash IP adres 128.253.154.32, dobav'te sleduyushchuyu stroku v /etc/hosts:

    128.253.154.32       goober.norelco.com

Esli vashego host-imeni ne budet v /etc/hosts, vy ne smozhete ego ustanovit'. Dlya ustanovki host-imeni prosto ispol'zujte komandu hostname. Naprimer, komanda

    # hostname -S goober.norelco.com

ustanavlivaet host-imya goober.norelco.com. Vo mnogih sluchayah komanda hostname vypolnyaetsya iz iz odnogo iz sistemnyh ustanovochnyh fajlov, takih kak /etc/rc ili /etc/rc.local. Otredaktirujte eti dva fajla i izmenite nahodyashchuyusya tam komandu hostname, ustanoviv host-imya svoej mashiny; posle perezagruzki mashiny host-imya budet imet' novoe znachenie.

4.10 CHto delat' pri CHP

V nekotoryh sluchayah administrator sistemy budet stalkivatsya s problemoj vykarabkivaniya iz absolyutnoj katastrofy, takoj naprimer, kak zabytie parolya root ili krah fajlovoj sistemy. Luchshij sovet - bez paniki! Vse delayut glupye oshibki - eto luchshij sposob osvoit' sistemnoe administrirovanie, hotya i patologicheskij.

Linux ne yavlyaetsya nestabil'noj (prim. perevodchika: tak v originale) versiej UNIX. Dejstvitel'no, u menya bylo znachitel'no men'she problem s zavisaniem sistemy, chem s kommercheskimi versiyami UNIX na mnogih platformah. Linux takzhe vyigryvaet ot bol'shogo raspolozheniya k nemu krutyh programmistov, kotorye mogut pomoch' vyputat'sya iz slozhnoj situacii.

Pervyj shag v issledovanii lyuboj problemy - eto popytat'sya spravit'sya s nej samostoyatel'no. Potykajtes' tam-syam i posmotrite, chto iz etogo budet poluchat'sya. Slishkom mnogo vremeni sistemnye administratory tratyat na rassylku vo vse storony otchayannyh voplej o pomoshchi, prezhde, chem vniknut' v problemu. V bol'shem chisle sluchaev vy obnaruzhite, chto vy sami legko mozhete reshit' problemu. A eto uzhe vash pryamoj put' v metry.

Ochen' redki sluchai, kogda posle kraha sistemy trebuetsya pereinstallyaciya. Mnogie nachinayushchie pol'zovateli sluchajno udalyayut nekotorye vazhnye sistemnye fajly i nemedlenno begut za installyacionnym diskom. |to ne "Bozhe moj"! Prezhde chem primenyat' takie otvratitel'nye mery, issledujte problemu i poprosite drugih pomoch' ee reshit'. V bol'shinstve sluchaev vy mozhete vosstanovit' sistemu s diskety soprovozhdeniya (maintenance diskette).

Vosstanovlenie s ispol'zovaniem diskety soprovozhdeniya

Odno nazamenimoe sredstvo dlya administratora sistemy - eto tak nazyvaemyj ``boot/root disk'' - disketa, kotoraya mozhet zagruzit' polnyj Linux, vne zavisimosti ot vashego zhestkogo diska. Boot/root disks v dejstvitel'nosti ochen' prost - vy sozdaete kornevuyu fajlovuyu sistemu na diskete, pomeshchaya na nee vse neobhodimye utility, installiruya na diskete LILO i zagruzhaemoe yadro. Drugoj sposob, eto ispol'zovat' odnu disketu dlya yadra i druguyu dlya kornevoj fajlovoj sistemy. V lyubom sluchae rezul'tat odinakov: Vy zapuskaete Linux polnost'yu s disket.

Kanonicheskij primer boot/root disk - eto zagruzochnyj disk Slackware. (Smotrite Razdel 2.1.1 otnositel'no informacii po perekachke ego po Internet. Dlya etogo vam ne nado skachivat' polnost'yu - tol'ko boot i root diskety). |ti diskety soderzhat zagruzochnuyu tablicu i kornevuyu fajlovuyu sistemu. Predpolagaetsya, chto oni ispol'zuyutsya pri installyacii distributivov Slackware, no byvayut ochen' polezny dlya soprovozhdeniya sistemy.

boot/root disk, sozdannyj H.J Lu, kotoryj mozhno vzyat' v /pub/Linux/GCC/rootdisk na sunsite.unc.edu - drugoj primer takogo roda diska soprovozhdeniya.

Ili, esli vy dostatochno ambiciozny, mozhete sozdat' svoj. Hotya, v bol'shinstve sluchaev, ispol'zovat' gotovyj boot/root disk - znachitel'no legche i nadezhnee.

Ispol'zovat' boot/root disk ochen' legko. Prosto zagruzite disk na vashej sisteme i vojdite pod root (obychno bez parolya). CHtoby poluchit' dostup k fajlam vashego zhestkogo diska, neobhodimo primontirovat' vashi fajlovye sistemy vruchnuyu. Naprimer, komanda

    # mount -t ext2 /dev/hda2 /mnt

primontiruet fajlovuyu sistemu ext2fs na /dev/hda2 pod /mnt. Pomnite, chto / teper' nahoditsya na boot/root disk; vam neobhodimo primontirovat' fajlovuyu sistemu vashego zhestkogo diska pod kakim-to katalogom, chtoby poluchit' dostup k fajlam. Tak chto /etc/passwd vashego zhestkogo diska teper' v /mnt/etc/passwd, esli vy primontirovali vashu kornevuyu fajlovuyu sistemu na /mnt.

Vosstanovlenie parolya dlya root

Esli vy zabyli parol' vashego root - net problem. Prosto zagruzites' s boot/root disk, primontirujte vashu kornevuyu fajlovuyu sistemu pod /mnt i sotrite pole parolya dlya root v /mnt/etc/passwd, kak naprimer:

    root::0:0:root:/:/bin/sh

Teper' root bez parolya; kogda vy perezagruzites' s zhestkogo diska, vy smozhete vojti kak root i snova ustanovit' parol', ispol'zuya komandu passwd. Ne pravda li, vy schastlivy, chto nauchilis' rabotat' s vi? Na vashej boot/root disk, redaktorov, vrode Emacs navernyaka net, a vi dolzhen byt'. (prim.perevodchika: administrator dolzhen otdavat' sebe otchet, chto proceduru snyatiya parolya root umeet zaprosto vypolnyat' ne on odin).

Vosstanovlenie fajlovoj sistemy

Esli u vas kakim-to obrazom grohnulas' fajlovaya sistema, vy mozhete ispol'zovat' e2fsck (eto v sluchae, esli vy ispol'zuete fajlovuyu sistemu tipa ext2fs) dlya ispravleniya poporchenyh dannyh fajlovoj sistemy s disket. Drugie fajlovye sistemy ispol'zuyut drugie formy komandy fsck; detali smotrite v Razdele 4.8.

Kogda vy proveryaete vashu fajlovuyu sistemu s diskety, luchshe vsego, chtoby fajlovaya sistema ne byla primontirovana.

CHastaya prichina neispravnosti fajlovoj sistemy - porcha superbloka. Superblok, eto "golova" (``header')'fajlovoj sistemy, kotoraya soderzhit informaciyu o statuse fajlovoj sistemy, razmere, svobodnyh blokah i t.d. Esli vy poportili vash superblok (naprimer, sluchajno pryamo v nego zapisali kakie-to dannye) operacionnaya sistema mozhet voobshche ne raspoznat' fajlovuyu sistemu. Vse popytki primontirovat' fajlovuyu sistemu poterpyat neudachu, i e2fsck ne pomozhet reshit' problemu.

K schast'yu, fajlovaya sistema tipa ext2fs sohranyaet kopii superbloka v granicah "gruppy blokov" (``block group'') na diske, obychno cherez kazhdye 8K blokov. Dlya togo, chtoby prikazat' e2fsck ispol'zovat' kopiyu superbloka, vy mozhete ispol'zovat' komandu

    # e2fsck -b 8193 <partition>

gde <partition> - eto razdel, na kotoroj raspolagaetsya fajlovaya sistema. Opciya -b 8193 prikazyvaet e2fsck ispol'zovat' kopiyu superbloka, hranyashchuyusya v bloke 8193 fajlovoj sistemy.

Vosstanovlenie poteryannyh fajlov

Esli vy sluchajno udalili vazhnye fajly, net sposoba ih "razudalit'" obratno. Odnako, vy mozhete skopirovat' sootvetstvuyushchie fajly s diskety sebe na zhestkij disk. Naprimer, esli vy udalite /bin/login v svoej sisteme (kotoryj obespechivaet vhod v sistemu), prosto zagruzite boot/root disketu, primontirujte kornevuyu fajlovuyu sistemu na /mnt i ispol'zujte komandu

    # cp -a /bin/login /mnt/bin/login

Opciya -a prikazyvaet cp sohranit' prava dostupa kopiruemyh fajlov. Razumeetsya, esli udalennye fajly ne stol' sushchestvenny, chto oni ne byli udostoeny kopirovaniya na disketu boot/root floppy, znachit vam ne povezlo. Esli vy sozdavali rezervnye kopii, vy mozhete skopirovat' fajly ottuda.

Vosstanovlenie poteryannyh bibliotek

Esli vy sluchajno poteryali svoi biblioteki ili simvolicheskie svyazi v /lib, skoree vsego komandy, kotorye zavisyat ot etih bibliotek, bol'she ne budut vypolnyat'sya (smotrite Razdel 4.7.2). Prostejshee reshenie - zagruzit'sya s diskety boot/root, primontirovat' vashu kornevuyu fajlovuyu sistemu i vosstanovit' biblioteki v /mnt/lib.

Sled. Glava, Pred. Glava

Soderzhimoe etoj glavy, Glavnoe oglavlenie

Nachalo dokumenta, Nachalo etoj glavy