|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'.
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').
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:
root. CHem bolee komfortno vam
budet  v  roli  root,  tem  bol'she  vy  budete  putat'  vashi
privilegii    s   privilegiyami   normal'nogo   pol'zovatelya.
Naprimer,  vy  mozhete  podumat',  chto vy sejchas nahodites' v
sisteme  kak  larry,  hotya  na samom dele budete neuderzhimym
root.
root.  Dlya etogo
sleduet  vnesti  izmeneniya  v root-ovskij .bashrc ili .login
fajl  dlya  togo,  chtoby sdelat' podskazku dlya root otlichnoj ot
drugih. Naprimer, mnogie ispol'zuyut simvol ``$'' v podskazkah
obychnyh  pol'zovatelej i ostavlyayut simvol ``#'' dlya podskazki
root.
root tol'ko togda, kogda eto absolyutno
neobhodimo.  I,  kak  tol'ko  vy  zakonchite  rabotu  root-a,
vyjdite (vyvedite root-a iz sistemy). CHem men'she ispol'zuete
root, tem men'she navredite sisteme.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.
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.
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
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.
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.
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.
Sushchestvuet neskol'ko sposobov zagruzki sistemy: libo s diskety, libo s zhestkogo diska.
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.
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 linux''  ili  ``msdos'').  Esli  vy nazhmete 
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.
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  
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.
Sistema sohranyaet razlichnuyu informaciyu o kazhdom pol'zovatele K takogo roda informacii otnositsya perechislennaya nizhe.
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.
ID (ili UID) - identifikator pol'zovatelya - unikal'nyj nomer, prisvaivaemyj kazhdomu pol'zovatelyu sistemy. Sistema obychno otslezhivaet inentifikatory pol'zovatelej, a ne imena.
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.
Sistema takzhe hranit v zashifrovannom vide parol' pol'zovatelya. Komanda passwd ispol'zuetsya dlya ustanovki i izmeneniya parolya.
"Polnoe  imya"  ili "dejstvitel'noe imya" hranitsya
vmeste  s imenem pol'zovatelya. Naprimer, pol'zovatel' schmoj
mozhet   imet'   dejstvitel'noe   imya  ``Joe  Schmo''
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.
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.
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.
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.
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.
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.
Prezhde, chem my smozhem govorit' o sohranenii (rezervirovanii) programm, my dolzhny predstavit' instrumenty, ispol'zuemye dlya arhivacii fajlov i programm v sistemah UNIX.
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.
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.
.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.
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
    # 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    
    # 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.
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.
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.
-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.
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 - 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.
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.
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.
/usr/src/linux/arch/i386/boot/Image
(esli konechno vy sobirali yadro dlya processorov serii
intel, a ne alpha, mips ili sparc.)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 .
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.
/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).
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, 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.
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.
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.
/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)./.  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)  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.
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.
Fajlovaya  sistema  /proc  nikogda  ne  nuzhdaetsya v proverkah
takogo  roda.  /proc - eto fajlovaya sistema pamyati, upravlyaemaya
neposredstvenno yadrom.
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.
Hotite ver'te, hotite - net, no sushchestvuet ryad hozyajstvennyh zadach, vhodyashchih v funkcii sistemnogo administratora, kotorye ne popadayut ni v odnu iz osnovnyh kategorij.
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
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.
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''
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, 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.
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
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).
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.
boot  i root diskety).
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.
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'.
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.
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.
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.
Soderzhimoe etoj glavy, Glavnoe oglavlenie
Nachalo dokumenta, Nachalo etoj glavy