|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