5 Dopolnitel'nye vozmozhnosti

Soderzhimoe etogo razdela

|ta glava poznakomit vas s nekotorymi iz naibolee interesnyh vozmozhnostej Linux. |to predpolagaet, chto vy imeete kak minimum nachal'nye znaniya UNIX i ponyali informaciyu, soderzhashchuyusya v predydushchih razdelah.

Naibolee vazhnym aspektom Linux, kotoryj otlichaet ego ot drugih realizacij UNIX yavlyaetsya ego otkrytaya koncepciya razrabotki.

Linux ne razrabatyvalsya nebol'shoj gruppoj programmistov, vozglavlyaemoj kommercheskoj strukturoj s cel'yu polucheniya pribyli.

On razrabatyvalsya postoyanno rastushchej gruppoj hakerov, vnosyashchih to chto im nravitsya v domashnee varevo UNIX.

Linux vklyuchaet v sebya ogromnoe kolichestvo raznoobraznogo kak po tipu tak i po sposobam razrabotki programmnogo obespecheniya. Nekotorym ne nravitsya nedostatok edinobraziya, nekotorye schitayut ego osnovnym preimushchestvom Linux.

5.1 X Window

X-Window yavlyaetsya bol'shoj, moshchnoj (i otchasti slozhnoj) graficheskoj sredoj dlya UNIX sistem. Sistema X-Window byla razrabotana v Massachusetstkom tehnologicheskom institute (MIT), kotoraya stala zatem standartom dlya vseh UNIX sistem. Prakticheski kazhdaya rabochaya stanciya UNIX v mire rabotaet na odnom iz variantov X-Window.

Gruppa programmistov, vozglavlyaemaya Devidom Veksel'blatom (David Wexelblat ), (Vy mozhete svyazat'sya s Devidom po E-Mail: dwex@XFree86.org ) proizvela perenos MIT X Window System versiya 11, reliz 6 (X11R6) dlya 80386/80486/Pentium UNIX sistem kak svobodno rasprostranyaemogo programmnogo produkta. |ta versiya, izvestnaya kak XFree86 TM, (XFree86 yavlyaetsya torgovoj markoj XFree86 Project, Inc.) dostupna dlya System V/386, 386BSD i drugih realizacij UNIX dlya processorov x86, vklyuchaya Linux. Ona vklyuchaet v sebya vse trebuemye vypolnyaemye kody, konfiguracionnye fajly, biblioteki i instrumentarij.

Polnaya nastrojka i ispol'zovanie X Window vyhodit za predely etoj knigi. Vam sleduet obratit'sya k knige : The X Window System: A User's Guide (sm. Prilozhenie A) V etoj glave my opishem shag za shagom ustanovku i nastrojku XFree86 dlya Linux. Dlya bolee detal'nogo oznakomleniya vy mozhete obratit'sya k dokumentacii, postavlyaemoj vmeste s XFree86 (ona obsuzhdaetsya nizhe). Drugim poleznym istochnikom informacii yavlyaetsya THE LINUX XFree86 HOWTO.

Trebovaniya k apparature

XFree86 versii 3.1, vyshedshaya v sentyabre 1994, goda podderzhivaet sleduyushchie mikroshemy videoadapterov. (Prezhde chem ustanavlivat' XFree86 vam nado vyyasnit' tip mikroshemy vashego videoadaptera.)

Dokumentaciya, postavlyaemaya vmeste s videoadapterom, kak pravilo ukazyvaet tip ispol'zuemyh mikroshem. Esli vy priobreli novuyu videokartu ili novyj komp'yuter, poprosite postavshchika utochnit' izgotovitelya, model' i tip mikroshem videokarty. Kak pravilo postavshchiki ohotno dadut vam etu informaciyu. Bol'shinstvo iz nih soobshchit, chto videokarta yavlyaetsya standartnoj SVGA kartoj i budet rabotat' v vashej operacionnoj sisteme. Ob'yasnite im, chto vashe programmnoe obespechenie (Linux i XFree86) ne podderzhivaet vseh videokart i vam trebuetsya dopolnitel'naya informaciya.

Vy mozhete takzhe opredelit' tip mikroshemy, vyzvav komandu SuperProbe, vhodyashchuyu v sostav XFree86. |to budet opisano nizhe.

XFree86 versii 3.1, vyshedshaya v sentyabre 1994 goda podderzhivaet sleduyushchie tipy mikroshem:

Podderzhivayutsya takzhe sleduyushchie adaptery s graficheskimi uskoritelyami:

Videokarty s etimi mikroshemami podderzhivayutsya dlya vseh sistemnyh shin, vklyuchaya VLB i PCI.

Vse vysheperechislennye karty podderzhivayutsya kak v rezhime 256 cvetov, tak i v monohromnom rezhime, za isklyucheniem Avance Logic, MX and Video 7 mikroshem, kotorye podderzhivayutsya tol'ko v rezhime 256 cvetov. Esli na vashej videokarte ustanovleno dostatochno videopamyati, mnogie iz mikroshem podderzhivyutsya v rezhime 16 i 32 bita na tochku (65 tysyach i 4 mln cvetov) (nekotorye iz Msch32, P9000, S3 i Cirrus videokart). Obychno videokarty ispol'zuyutsya v rezhime 8 bit na tochku (256 cvetov).

Monohromnyj server podderzhivaet osnovnye karty VGA, monohromnye karty Hercules, Hyundai HGC1280, Sigma LaserView iu Apoll. Na karte Compaq AVGA v monohromnom rezhime podderzhivaetsya tol'ko 64Kb videopamyati i rabota karty GVGA s pamyat'yu bolee 64Kb ne proverena v nastoyashchee vremya.

|tot spisok nesomnenno rasshiritsya so vremenem. Polnyj spisok podderzhivaemyh kart vy najdete v zamechaniyah k tekushchej versii XFree86.

Odnoj iz problem, s kotoroj stolknulis' razrabotchiki, yavlyalsya nestandartnyj mehanizm opredeleniya chastoty, ispol'zuemyj dlya upravleniya kartoj. Nekotorye proizvoditeli libo ne opisyvali sposob programmirovaniya karty, libo trebovali podpisaniya dopolnitel'nogo soglasheniya o nerasprostranenii poluchennoj informacii. |to ochevidno ogranichilo by svobodnoe rasprostranenie XFree86, chego estestvenno ne mogli dopustit' razrabotchiki. Dolgoe vremya dannaya problema byla s videokartami, proizvodimymi firmoj Diamond, no nachinaya s versii 3.1 XFree86, Diamond nachala sotrudnichestvo s razrabotchikami s cel'yu vypuska drajvera dlya etoj karty.

Predpolagaemaya konfiguraciya komp'yutera dlya ustanovki XFree86 pod Linux vklyuchaet v sebya kak minimum 8 megabajt operativnoj pamyati i videokartu s odnoj iz vysheperechislennyh mikroshem. Dlya optimal'noj raboty my sovetuem ispol'zovat' videokartu s graficheskim uskoritelem, naprimer S3.

Pered pokupkoj dorogostoyashchej videokarty vam sleduet prosmotret' dokumentaciyu po XFree i ubedit'sya, chto vybrannaya vami karta podderzhivaetsya. Sravnitel'nye testy Benchmark dlya razlichnyh videokart pod XFree86 periodicheski vystavlyayutsya v konferencii comp.windows.x.i386unix i comp.os.linux.misc.

Zamechu, chto moj personal'nyj komp'yuter s Linux soderzhit 486DX2-66, 20 megabajt RAM, i imeet VLB S3-864 videoadapter s 2 megabajtami operativnoj pamyati. YA protestiroval X benchmarks na etoj mashine i na rabochej stancii Sun Sparc IPX. Linux gde-to raz v 7 bystree, chem Sparc IPX (dlya lyubopytnyh, XFree86-3.1 pod Linux obespechil skorost' 171,000 xstones; Sparc IPX - okolo 24000). Obychno, XFree86 pod Linux s graficheskim uskoritelem pokazyvaet sushchestvenno bol'shuyu proizvoditel'nost' chem kommercheskie rabochie stancii (kotorye obychno ispol'zuyut neeffektivnye algoritmy obrabotki graficheskoj informacii).

Dlya vashej mashiny trebuetsya kak minimum 4 megabajta operativnoj pamyati i 16 megabajt virtual'noj (naprimer, 8 megabajt operativnoj pamyati i 8 megabajt svoppinga). Imejte v vidu, chto chem bol'she fizicheskoj operativnoj pamyati vy imeete, tem men'she operacionnaya sistema ispol'zuet svopping. Tak kak operaciya svoppinga ishodno medlennaya (dostup k disku namnogo medlennee, chem k pamyati), dlya komfortabel'noj raboty vam sleduet imet' 8 ili bolee megabajt. Sistema s 4-mya megabajtami rabotaet namnogo (v desyatki raz) medlennee chem s 8-yu megabajtami.

Ustanovka XFree86

Distributiv Xfree86 v vypolnyaemyh kodah mozhno najti na celom ryade FTP-serverov. Na sunsite.unc.edu on nahoditsya v kataloge /pub/Linux/X11. (Na moment napisaniya tekushchaya versiya byla 3.1; periodicheski poyavlyayutsya novye versii).

Vpolne vozmozhno, chto vy imeete XFree86 kak chast' distributiva Linux, v etom sluchae v perekachke XFree86 net neobhodimosti.

Esli zhe vy sobiraetes' skachat' XFree s FTP-servera, sleduyushchaya tablica soderzhit spisok fajlov v distributive XFree86-3.1.

Vam potrebuetsya odin iz serverov:

     Fajl                    Opisanie

     XF86-3.1-8514.tar.gz    Server dlya 8514 videokart.
     XF86-3.1-AGX.tar.gz     Server dlya AGX videokart.
     XF86-3.1-Mach32.tar.gz  Server dlya Mach32 videokart.
     XF86-3.1-Mach8.tar.gz   Server dlya Mach8 videokart.
     XF86-3.1-Mono.tar.gz    Server dlya monohromnogo rezhima.
     XF86-3.1-P9000.tar.gz   Server dlya P9000 videokart.
     XF86-3.1-S3.tar.gz      Server dlya S3 videokart.
     XF86-3.1-SVGA.tar.gz    Server dlya Super VGA videokart.
     XF86-3.1-VGA16.tar.gz   Server dlya VGA/EGA videokart.
     XF86-3.1-W32.tar.gz     Server dlya ET4000/W32 videokart.

  vse nizheperechislennye fajly:

     Fajl                    Opisanie

     XF86-3.1-bin.tar.gz     Ostal'nye programmy X11R6.
     XF86-3.1-cfg.tar.gz     Konfiguracionnye fajly dlya xdm, xinit i fs.
     XF86-3.1-doc.tar.gz     Dokumentaciya i rukovodstva.
     XF86-3.1-inc.tar.gz     Include fajly. (?)
     XF86-3.1-lib.tar.gz     Razdelyaemye biblioteki.
     XF86-3.1-fnt.tar.gz     Osnovnye fonty.

  sleduyushchie fajly ne yavlyayutsya obyazatel'nymi:

     Fajl                    Opisanie

    XF86-3.1-ctrb.tar.gz     Vybrannye dopolnitel'nye programmy (?).
    XF86-3.1-extra.tar.gz    Dopolnitel'nye servera dlya XFree86.
    XF86-3.1-lkit.tar.gz     Instrumentarij dlya kompilyacii serverov.
    XF86-3.1-fnt75.tar.gz    Fonty 75-dpi.
    XF86-3.1-fnt100.tar.gz   Fonty 100-dpi.
    XF86-3.1-fntbig.tar.gz   Large Kanji i drugie fonty.
    XF86-3.1-fntscl.tar.gz   Masshtabiruemye fonty (Speedo, Type1).
    XF86-3.1-man.tar.gz      Rukovodstva.
    XF86-3.1-pex.tar.gz      Vypolnyaemye fajly, include-fajly, biblioteki dlya PEX.
    XF86-3.1-slib.tar.gz     Staticheskie biblioteki.
    XF86-3.1-usrbin.tar.gz   Programmy-demony, razmeshchayushchiesya v /usr/bin.
    XF86-3.1-xdmshdw.tar.gz  Versiya programmy xdm s podderzhkoj tenevyh parolej.

Katalog XFree dolzhen soderzhat' fajly README i zamechaniya po installyacii tekushchej versii.

Vse chto vam trebuetsya dlya installyacii XFree86, eto poluchit' ukazannye fajly, sozdat' katalog /usr/X11R6 (pol'zovatelem root), perejti v etot katalog i raspakovat' fajly. Naprimer:

    # gzip -dc XF86-3.1-bin.tar.gz | tar xfB -

Imejte v vidu, chto eti fajly upakovany otnositel'no kataloga /usr/X11R6, tak chto neobhodimo raspakovyvat' ih nahodyas' v etom kataloge.

Posle raspakovki fajlov, vam neobhodimo svyazat' fajl /usr/X11R6/bin/X s tem serverom, kotoryj vy namerevaetes' ispol'zovat'. Naprimer, esli vy zhelaete rabotat' s SVGA serverom, fajl /usr/bin/X11/X neobhodimo svyazat' s fajlom /usr/X11R6/bin/XF86_SVGA. Esli zhe vy sobiraetes' ispol'zovat' monohromnyj server, pereustanovite svyaz' komandoj:

    # ln -sf /usr/X11R6/bin/XF86_MONO  /usr/X11R6/bin/X

|to zhe spravedlivo i dlya serverov drugih videokart.

Esli vy ne uvereny kakoj server ispol'zovat', ili ne znaete kakuyu mikroshemu soderzhit vasha videokarta, vy mozhete zapustit' komandu SuperProbe (vklyuchennuyu v XF86-3.1-bin). |ta programma popytaetsya opredelit' tip mikroshemy vashej videokarty i druguyu poleznuyu informaciyu.

Vam sleduet ubedit'sya, chto katalog /usr/bin/X11R6 nahoditsya v peremennoj sredy PATH. |to mozhet byt' sdelano redaktirovaniem fajlov /etc/profile ili /etc/csh.login (v zavisimosti ot obolochek (shell) kotorye vy ili drugie pol'zovateli ispol'zuyut). Vy takzhe mozhete prosto dobavit' etot katalog s vashej peremennoj PATH, korrektiruya v vashem domashnem kataloge fajly .bashrc ili .cshrc, v zavisimosti ot tipa vashej obolochki.

Vam takzhe neobhodimo obespechit' zagruzku dinamicheskih bibliotek. Dlya etogo dobav'te stroku:

    /usr/X11R6/lib
v fajl /etc/ld.so.conf i zapustite komandu /sbin/ldconfig kak superpol'zovatel'.

Nastrojka XFree86

V bol'shinstve sluchaev ustanovka XFree ne predstavlyaet problem. Odnako, esli vy zhelaete ispol'zovat' videokartu dlya kotoroj drajver nahoditsya v processe razrabotki ili dobit'sya luchshih razresheniya ili proizvoditel'nosti ot karty s graficheskim akseleratorom, to vam potrebuetsya opredelennoe vremya dlya nastrojki XFree.

V etoj glave my opishem kak sozdat' i otredaktirovat' XF86Config fajl, kotoryj nastraivaet XFree86 server.

V bol'shinstve sluchaev luchshe vsego nachat' s ``osnovnoj'' XFree86 konfiguracii, kotoraya ispol'zuet nizkoe razreshenie , naprimer 640x480, podderzhivaemogo vsemi videokartami i monitorami. Odnazhdy nastroiv XFree na standartnoe razreshenie, vy mozhete zatem podstroit' fajl konfiguracii dlya dlya togo, chtoby ispol'zovat' vse vozmozhnosti, predostavlyaemye vashej apparaturoj.

V dopolnenie k informacii privedennoj zdes', vam sleduet oznakomit'sya so sleduyushchej dokumentaciej:

Osnovnym fajlom nastrojki XFree86 yavlyaetsya fajl /usr/X11R6/lib/X11/XF86Config. |tot fajl soderzhit informaciyu o vashej myshi, parametrah videokarty i t p. V kachestve primera distributiv XFree86 soderzhit fajl XF86Config.eg. Skopirujte ego v fajl XF86Config i otredaktirujte.

XF86Config man page podrobno ob'yasnyaet format etogo fajla. Prochitajte dannyj dokument , esli vy eshche eto ne sdelali. Dalee my sobiraemsya prosmotret' fajl XF86Config uchastok za uchastkom. |tot fajl mozhet vyglyadet' ne sovsem tak, kak fajl v vashem distributive XFree86, no struktura ih sovpadaet.

!Zamet'te, chto format fajla XF86Config mozhet izmenyat'sya s kazhdoj versiej XFree86; eta informaciya mozhet byt' vernoj tol'ko dlya XFree86 versii 3.1.

!Imejte takzhe v vidu, chto ne sleduet prosto kopirovat' konfiguracionnyj fajl, privedennyj zdes' i pytat'sya ispol'zovat' ego. Popytka ispol'zovat' konfiguracionnyj fajl, ne sootvetstvuyushchij vashemu oborudovaniyu, mozhet zastavit' vash monitor rabotat' so slishkom vysokoj dlya nego chastotoj; byli soobshcheniya o vyhode iz stroya monitorov (osobenno monitorov s fiksirovannoj chastotoj) pri ispol'zovanii nevernyh XF86Config fajlov.

Kazhdaya sekciya fajla XF86Config opredelyaetsya paroj strok Section "<section-name>" ... EndSection. Pervaya sekciya fajla nazyvaetsya Files, i vyglyadit sleduyushchim obrazom:

       Section "Files"
             RgbPath     "/usr/X11R6/lib/X11/rgb"
             FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
             FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
       EndSection

Stroka RgbPath ukazyvaet mestopolozhenie bazy dannyh cvetov, a kazhdaya stroka FontPath opredelyaet katalog, soderzhashchij fonty. Kak pravilo, vam ne sleduet izmenyat' eti stroki, vam sleduet tol'ko ubedit'sya, chto vse katalogi fontov prisutstvuyut.

Sleduyushchaya sekciya imeet imya ServerFlags i opredelyaet neskol'ko global'nyh parametrov dlya servera. Kak pravilo eta sekciya pusta.

  Section "ServerFlags"
  # Uncomment this to cause a core dump at the spot where a signal is
  # received. This may leave the console in an unusable state, but may
  # provide a better stack trace in the core dump to aid in debugging
  #    NoTrapSignals
  # ncomment this to disable the <Crtl><Alt><BS> server abort sequence
  #    DontZap
  EndSection

Vse stroki dannoj sekcii zakommentirovany.

Sleduyushaya sekciya Keyboard. Ona opredelyaet rabotu klaviatury.

    Section "Keyboard"
          Protocol    "Standard"
          AutoRepeat  500 5
          ServerNumLock
    EndSection
Dostupny takzhe i drugie rezhimy. Opisannye vyshe opcii rabotayut na bol'shinstve klaviatur.

Sleduyushchaya sekciya - Pointer opredelyaet parametry myshi.

    Section "Pointer"

          Protocol    "MouseSystems"
          Device      "/dev/mouse"

    # Baudrate and SampleRate are only for some Logitech mice
    #    BaudRate   9600
    #    SampleRate 150

    # Emulate3Buttons is an option for 2-button Microsoft mice
    #    Emulate3Buttons

    # ChordMiddle is an option for some 3-button Logitech mice
    #    ChordMiddle

    EndSection

Edinstvennymi opciyami, na kotorye stoit obratit' vnimanie yavlyayutsya Protocol i Device. Protocol opredelyaet protokol, kotoryj ispol'zuet vasha mysh'. Vozmozhnymi tipami (dlya Linux - est' drugie opcii, dostupnymi dlya drugih OS) yavlyayutsya:

Dlya Logitech busmouse sleduet ispol'zovat' protokol BusMouse. Zamet'te, chto dlya staryh myshej Logitech neobhodimo ispol'zovat' protokol Logitech, a dlya novyh ili Microsoft, ili Mouseman protokol.

Stroka Device opredelyaet ustrojstvo k kotoromu podklyuchena mysh'. Na bol'shinstve sistem Linux eto /dev/mouse. /dev/mouse obychno svyazano s sootvetstvuyushchim serijnym portom (naprimer /dev/cua0 - COM1 ili /dev/cua1 - COM2) ili s portom busmouse. V lyubom sluchae ubedites', chto ukazannoe ustrojstvo est' v kataloge /dev i rabotosposobno.

Sleduyushchaya sekciya - Monitor, opredelyaet harakteristiki vashego monitora. Fajl XF86Config mozhet soderzhat' ne odnu, a neskol'ko sekcij Monitor (eto spravedlivo i dlya drugih sekcij). |to polezno v tom sluchae, kogda vy podklyuchili k sisteme neskol'ko monitorov ili ispol'zuete odin i tot zhe XF86Config fajl dlya razlichnyh konfiguracij.

 Section "Monitor"

   Identifier  "CTX 5468 NI"

   # These values are for a CTX 5468NI only! Don't attempt to use
   # them with your monitor (unless you have this model)

   Bandwidth    60
   HorizSync    30-38,47-50
   VertRefresh  50-90

   # Modes:  Name   dotclock    horiz                vert

   ModeLine "640x480"  25       640 664 760 800      480 491 493 525

   ModeLine "800x600"  36       800 824 896 1024     600 601 603 625
   ModeLine "1024x768" 65       1024 1088 1200 1328  768 783 789 818

 EndSection

Stroka Identifier ispol'zuetsya dlya imenovaniya tekushchego opisaniya monitora. |to mozhet byt' lyubaya stroka, na kotoruyu vy v dal'nejshem ssylat'sya v fajle XF86Config.

HorizSync opredelyaet vozmozhnye skorosti gorizontal'noj razvertki dlya vashego monitora v Kilogercah. Esli u vas mnogochastotnyj (multisync) monitor, vy mozhete ukazat' interval znachenij (ili neskol'ko intervalov, razdelennyh zapyatoj), kak pokazano vyshe. Esli u vas monitor s fiksirovannoj chastotoj, to vam nado ukazat' spisok fiksirovannyh znachenij. Naprimer:

          HorizSync    31.5, 35.2, 37.9, 35.5, 48.95

V rukovodstve na vash monitor eti znacheniya dolzhny byt' opisany. Esli vy ne imeete etoj informacii, vam sleduet svyazat'sya s proizvoditelem ili prodavcom vashego monitora.

Stroka VertRefresh opisyvaet vozmozhnye znacheniya chastoty vertikal'noj razvertki dlya vashego monitora v gercah. Kak i dlya HorizSync vy mozhete ukazat' interval ili spisok diskretnyh znachenij. Vashe rukovodstvo na monitor dolzhno soderzhat' etu informaciyu.

Server ispol'zuet znacheniya HorizSync i VertRefresh tol'ko dlya togo, chtoby ubedit'sya chto vy verno opredelili razreshenie monitora. |to isklyuchaet vozmozhnost' razrusheniya monitora pri popytke raboty s nim na chastote prevyshayushchej maksimal'no dopustimuyu.

Stroka ModeLine opredelyaet odin iz rezhimov razresheniya vashego monitora. Ee format:

    ModeLine <name> <clock> <horiz-values> <vert-values>

<name> - stroka, kotoruyu vy mozhete ispol'zovat' v etom fajle v dal'nejshem dlya ukazaniya razresheniya. <dot-clock> opredelyaet chastotu zadayushchego generatora adaptera dlya etogo razresheniya. Obychno chastota ukazyvaetsya v megagercah. Ona opredelyaet skorost' s kotoroj videokarta dolzhna posylat' znacheniya tochek ekrana na monitor pri ukazannom razreshenii. <horiz-values> i <vert-values> sostoyat iz 4-h cifr kazhdaya. |ti znacheniya opredelyayut, kogda elektronnaya pushka monitora vo vremya razvertki dolzhna vklyuchit'sya i kogda dolzhny prohodit' impul'sy gorizontal'noj i vertikal'noj sinhronizacii vo vremya razvertki lucha.

Kak opisat' stroku ModeLine dlya vashego monitora? Fajl VideoModes.doc, vklyuchennyj v distributiv XFree86, detal'no opisyvaet kak opredelit' eti znacheniya dlya kazhdogo razresheniya, kotoroe podderzhivaet vash monitor. Znachenie clock dolzhno sootvetstvovat' chastotam, kotorye podderzhivaet vasha videokarta. Dalee v fajle XF86Config vy opredelite eti znacheniya.

Sushchestvuet dva fajla modeDB.txt i Monitors v distributive XFree, kotorye mogut soderzhat' dannye ModeLine dlya vashego monitora. |ti fajly raspolagayutsya v kataloge /usr/X11R6/lib/X11/doc.

Vy mozhete nachat' so znachenij ModeLine dlya monitorov standarta VESA. |tot rezhim podderzhivaetsya bol'shinstvom monitorov. Fajl modeDB.txt vklyuchaet opisaniya sinhronizacii dlya standartnogo razresheniya VESA. V etom fajle vy najdete takie stroki:

    # 640x480@60Hz Non-Interlaced mode
    # Horizontal Sync = 31.5kHz
    # Timing: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms)
    #
    # name      clock   horizontal timing     vertical timing    flags
    "640x480"   25.175  640  664  760  800    480  491  493  525

|to standartnaya stroka sinhronizacii dlya razresheniya 640x480 tochek. Ona ustanavlivaet chastotu 25.175 Mhz, kotoraya dolzhna podderzhivat'sya bol'shinstvom monitorov (bolee podrobno ob etom pozzhe). V vashem fajle eta stroka dolzhna vyglyadet' tak:

    ModeLine "640x480" 25.175  640 664 760 800  480 491 493 525

Zametim, chto argument name v stroke ModeLine (v nashem sluchae "640x480") mozhet byt' lyuboj strokoj, kotoraya opisyvaet dlya vas razreshenie monitora.

Dlya kazhdoj stroki ModeLine server proveryaet, popadayut li ukazannye znacheniya v interval ukazannyh znachenij Bandwidth, HorizSync i VertRefresh. Esli net, to server vydast preduprezhdenie pri nachale raboty.

Esli standartnye znacheniya sinhronizacii VESA ne rabotayut u vas, to prosmotrite drugie znacheniya v fajlah modeDB.txt i Monitors dlya drugih tipov monitorov. Zametim, chto mnogie 14 i 15 dyujmovye monitory ne mogut podderzhivat' razreshenij 1024x768 tochek iz-za nizkogo znacheniya Bandwidth. To est', esli vy ne nashli opisanie rezhima vysokogo razresheniya dlya vashego monitora, to ne isklyucheno, chto vash monitor ne podderzhivaet takoe razreshenie.

Esli vy poterpeli neudachu s podborom stroki ModeLine, izuchite instrukciyu opisannuyu v fajle VideoModes.doc vashego distributiva. Po etoj instrukcii vy smozhete opisat' stroku ModeLine po specifikaciyam, opisannym v vashem rukovodstve na monitor.

V konce koncov, esli vy ne mozhete podobrat' pravil'nye znacheniya stroki ModeLine, to vy mozhete prosto slegka izmenit' eti znacheniya dlya dostizheniya trebuemogo rezul'tata. Naprimer, esli izobrazhenie na ekrane slegka uhodit vlevo ili vverh, vy mozhete po instrukcii iz fajla VideoModes.doc nastroit' znacheniya sinhronizacii. Prover'te takzhe nalichie upravlyayushchih klavish na vashem monitore! CHasten'ko byvaet dostatochnym izmenit' gorizontal'nyj i vertikal'nyj razmer izobrazheniya vo vremya raboty XFree chtoby dobit'sya zhelaemoj centrovki i razmera izobrazheniya. Nalichie etih klavish na monitora znachitel'no uproshchaet zhizn'.

Sleduyushchaya sekciya Device opisyvaet parametry vashej videokarty. Naprimer:

       Section "Device"
                 Identifier "#9 GXE 64"

                 # Nothing yet; we fill in these values later.

       EndSection

|ta sekciya opisyvaet vozmozhnosti vashej karty. Identifier opredelyaet imya etogo opisaniya dlya ssylki na nego v dal'nejshem.

Pervonachal'no vam ne stoit zapolnyat' etu sekciyu, za isklyucheniem polya Identifier. X-server mozhno ispol'zovat' v rezhime opredeleniya parametrov ustanovlennoj videokarty. Posle opredeleniya etih parametrov vy zanesete ih v etu sekciyu. X-server sposoben opredelit' tip mikroshemy videokarty, podderzhivaemyj interval chastot, nalichie RAMDAC i razmer ustanovlennoj pamyati na videoadaptere.

Prezhde chem my eto sdelaem, nam sleduet zakonchit' opisanie fajla XF86Config.

Sleduyushchaya sekciya - Screen opisyvaet vozmozhnye rezhimy raboty X-servera s videokartoj i monitorom.

          Section "Screen"
              Driver     "Accel"
              Device     "#9 GXE 64"
              Monitor    "CTX 5468 NI"
              Subsection "Display"
                    Depth      16
                    Modes      "1024x768" "800x600" "640x480"
               ViewPort   0 0
               Virtual    1024 768
           EndSubsection
     EndSection

Stroka Driver opredelyaet tip servera, kotoryj vy budete ispol'zovat'. Vy mozhete ispol'zovat' sleduyushchie servera:

Accel:

Dlya XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, and XF86_W32 serverov;

SVGA:

Dlya XF86_SVGA servera;

VGA16

: Dlya XF86_VGA16 servera;

VGA2

: Dlya XF86_Mono servera;

Mono

: Dlya non-VGA monohromnogo drajvera v XF86_Mono i XF86_VGA16 serverah.

Ubedites', chto fajl /usr/X11R6/bin/X yavlyaetsya simvol'noj ssylkoj na ispol'zuemyj vami server.

Stroka Device opredelyaet identifikator sekcii Device, opisyvayushchej ustanovlennuyu videokartu. Vyshe my opisali sekciyu Device s identifikatorom:

    Identifier "#9 GXE 64"

Sledovatel'no, zdes' my ispol'zuem "#9 GXE 64" v stroke Device.

Tochno tak zhe stroka Monitor opredelyaet imya sekcii Monitor dlya dannogo servera, v dannom primere "CTX 5468 NI".

Podsekciya Display opredelyaet rezhim raboty servera pri vyvode informacii na ekran. Fajl XF86Config detal'no opisyvaet eti rezhimy. Rezhimy, kotorye vam neobhodimo znat':

Sushchestvuyut i drugie opcii dlya dannoj sekcii (sm. rukovodstvo dlya fajla XF86Config). Na praktike zhe drugie opcii ne obyazatel'ny dlya nachal'noj ustanovki servera.

Zapolnenie informacii o videokarte

Teper' vash fajl XF86Config gotov k ispol'zovaniyu. Edinstvennoe, chto my ne sdelali - ne zapolnili informaciyu o videokarte. Sejchas nam sleduet zapustit' X server v rezhime opredeleniya videokarty i dooformit' XF86Config fajl.

|tu informaciyu vy mozhete najti i v fajlah modeDB.txt, AccelCards i Devices (vse eti fajly nahodyatsya v kataloge /usr/X11R6/lib/X11/doc). Krome etogo sushchestvuyut razlichnye fajly README dlya konkretnyh mikroshem. Vam sleduet prosmotret' eti fajly i ispol'zuya etu informaciyu (chastoty, tip mikroshem i drugie rezhimy) doopredelit' fajl XF86Config. Esli kakoj to informacii ne hvataet, vy mozhete opredelit' ee putem opisannym nizhe.

V etom primere my opishem nastrojku videokarty #9 GXE 64, ispol'zuyushuyu mikroshemu S3. |ta karta odna iz teh, s kotorymi rabotaet avtor, no vse opisannoe nizhe spravedlivo i dlya drugoj videokarty.

Pervo-napervo vam nado opredelit' tip mikroshemy, ispol'zuemoj videokartoj. Komanda SuperProbe (raspolagayushchayasya v kataloge /usr/X11R6/bin) soobshchit vam etu informaciyu, no vam neobhodimo znat' pod kakim imenem izvestna dannaya mikroshema X serveru.

CHtoby opredelit' eto zapustite komandu:

    X -showconfig

Server soobshchit vam imena mikroshem, s kotorymi on rabotaet (rukovodstvo na X server takzhe soderzhit etu informaciyu). Naprimer, server XF86_S3 soobshchit:

    XFree86 Version 3.1 / X Window System
    (protocol Version 11, revision 0, vendor release 6000)
    Operating System: Linux
    Configured drivers:
      S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
            mmio_928, s3_generic

To est' server rabotaet s mikroshemami mmio_928 i s3_generic. Rukovodstvo na server XF86_S3 opisyvaet eti mikroshemy i videokarty, ispol'zuyushchie ih. V nashem sluchae videokarta #9 GXE 64 ispol'zuet mikroshemu mmio_928.

Esli vy ne znaete kakaya mikroshema stoit na videokarte, X server mozhet eto opredelit'. Zapustite:

    X -probeonly > /tmp/x.out 2>&1

esli vy rabotaete v obolochke shell. Esli vy ispol'zuete csh zapustite:

    X -probeonly &> /tmp/x.out

|tu komandu sleduet zapuskat' pri nizkoj zagruzke komp'yutera. |ta komanda opredelyaet takzhe chastotu videoadaptera i bol'shaya zagruzka sistemy mozhet iskazit' eti dannye.

Vyhodnaya informaciya v fajle /tmp/x.out budet soderzhat' sleduyushchie stroki:

    XFree86 Version 3.1 / X Window System
    (protocol Version 11, revision 0, vendor release 6000)
    Operating System: Linux
    Configured drivers:
      S3: accelerated server for S3 graphics adaptors (Patch level 0)
            mmio_928, s3_generic
    Several lines deleted...
    (--) S3: card type: 386/486 localbus
    (--) S3: chipset:   864 rev. 0
    (--) S3: chipset driver: mmio_928

My vidim, chto server (XF86_S3) mozhet rabotat' s mikroshemami mmio_928 i s3_generic. Server protestiroval videokartu i opoznal mikroshemu mmio_928. Sledovatel'no, v sekciyu Device vam sleduet dobavit' stroku, soderzhashchuyu imya mikroshemy, najdennoe serverom.

    Section "Device"
              # We already had Identifier here...
              Identifier "#9 GXE 64"
              # Add this line:
              Chipset "mmio_928"
    EndSection

Teper' nam trebuetsya opredelit' chastoty, podderzhivaemye videokartoj. Kak my uzhe videli, kazhdyj rezhim razresheniya na monitore trebuet opredelennoj peredachi tochek ot videokarty. Nam neobhodimo opredelit' kakie chastoty mozhet obespechit' videokarta.

Snachala sleduet prosmotret' spravochnye fajly (modeDB.txt, i t p) opisannye vyshe i opredelit', net li tam opisaniya chastot vashej karty. CHastoty, kak pravilo predstavleny spiskom iz 8 ili 16-ti znachenij chastot v Megagercah. Naprimer v fajle modeDB.txt mozhno najti stroku opisaniya videokarty Cardinal ET4000:

 chip     ram   virtual   clocks                           default-mode  flags
 ET4000   1024  1024 768   25  28  38  36  40  45  32   0  "1024x768"

Kak vy vidite, dannaya karta podderzhivaet chastoty: 25, 28, 38, 36, 40, 45, 32, and 0 MHz.

V sekcii Device fajla XF86Config, vam sleduet dobavit' stroku Clocks so spiskom chastot. V nashem sluchae my dobavlyaem stroku:

              Clocks 25 28 38 36 40 45 32 0

k sekcii Device, posle opisaniya Chipset. Zamet'te, chto poryadok chastot vazhen! Vam ne sleduet dublirovat' ili izmenyat' poryadok chastot.

Esli vy ne mozhete najti spisok chastot dlya vashej karty, X server mozhet takzhe opredelit' i eti znacheniya. Posle vyzova komandy X -probeonly, opisannogo vyshe, vy uvidite stroku :

    (--
    ) S3: clocks:  25.18  28.32  38.02  36.15  40.33  45.32  32.00  00.00

Teper' vam ostalos' lish' dobavit' stroku Clocks, perechisliv ukazannye znacheniya. Tak kak chasto spisok soderzhit 8 i bolee znachenij i ne pomeshchaetsya v odnoj stroke, vy mozhete prodolzhit' spisok v sleduyushchih strokah, tol'ko ne zabyvajte sohranyat' poryadok ukazannyh snachenij.

Pered zapuskom X -probeonly, udelites' chto v sekcii Devices net strok opisaniya Clocks ili oni zakommentirovany. Esli eti znacheniya uzhe est', X server ne budet proveryat' podderzhivaemye platoj chastoty, a voz'met ukazannye v stroke Clocks.

Zamet'te, chto nekotorye videokarty s akseleratorom ispol'zuyut mikroshemu s programmiruemoj chastotoj (Smotrite rukovodstvo XF86_Accel; eto v osnovnom otnositsya k kartam S3, AGX i XGA-2 boards.) |ti mikroshemy pozvolyayut X-serveru soobshchat' karte kakuyu ispol'zovat' chastotu. V etom sluchae my vpolne veroyatno ne smozhem najti v vysheperechislennyh fajlah spisok chastot dlya karty. Ili spisok chastot, vydavaemyh komandoj X -probeonly budet soderzhat' odno dva znacheniya s ostal'nymi dublirovannymi ili nulevymi znacheniyami.

Dlya videoplat, ispol'zuyushchih mikroshemu programmirovaniya chastoty, vam vmesto stroki Clocks sleduet ispol'zovat' stroku ClockChip. |ta stroka zadaet imya mikroshemy programmirovaniya chastoty, ustanovlennoj na karte. Rukovodstva dlya kazhdogo servera opisyvaet ih imena. Naprimer, v fajle README.S3 my opredelili, chto neskol'ko S3-864 videokart ispol'zuyut mikroshemu ``ICD2061A''. Sledovatel'no, nam sleduet ispol'zovat' stroku:

              ClockChip "icd2061a"

vmesto stroki Clocks. Tak zhe kak i stroka Clocks, stroka ClockChip dolzhna byt' v sekcii Devices posle stroki Chipset.

Nekotorye karty s akseleratorom trebuyut opredeleniya v fajle XF86Config stroki Ramdac, opisyvayushchej tip ispol'zuemoj mikroshemy RAMDAC. Rukovodstvo na server XF86_Accel opisyvaet podrobno opcii etoj stroki. Kak pravilo, X server verno opredelyaet tip ispol'zuemoj mikroshemy RAMDAC.

Nekotorye videokarty trebuyut opredeleniya neskol'kih dopolnitel'nyh opcij v sekcii Devices. |ti opcii opisany kak v rukovodstvah na vash X server, tak i v spravochnyh fajlah (naprimer README.cirrus ili README.S3). |ti opcii ustanavlivayutsya strokoj Options. Naprimer, videokarta #9 GXE 64 trebuet ustanovku dvuh opcij:

              Option "number_nine"
              Option "dac_8_bit"

Obychno X server rabotaet i bez etih opcij, no s nimi X server obespechivaet bol'shuyu proizvoditel'nost'. Sushchestvuet slishkom mnogo vsevozmozhnyh opcij, chtoby iz vse zdes' perechislit'. |ti opcii zavisyat ot tipa ustanovlennoj videokarty. Esli vy vynuzhdeny ispol'zovat' eti opcii - ne volnujtes', rukovodstva na X servera i spravochnye fajly v kataloge /usr/X11R6/lib/X11/doc/ ob'yasnyat vam chto oni znachat.

Itak, kogda vy zakonchite, ne zabud'te zavershit' strokoj EndSection sekciyu Device, kotoraya budet vyglyadet' sleduyushchim obrazom:

    Section "Device"
              # Device section for the #9 GXE 64 only !
              Identifier "#9 GXE 64"
              Chipset "mmio_928"
              ClockChip "icd2061a"
              Option "number_nine"
              Option "dac_8_bit"
    EndSection

Kak uzhe skazano vyshe, bol'shinstvo videokart trebuyut stroku Clocks vmesto stroki ClockChip. Vysheprivedennyj primer primenim tol'ko k konkretnoj videokarte #9 GXE 64.

Zapusk X-Windows

Kak tol'ko vy zakonchite opisanie fajla XF86Config, vy gotovy zapustit' X server i nachat' rabotu. Snachala ubedites', chto katalog /usr/X11R6/bin vklyuchen v vash put' (peremennuyu PATH).

Dlya zapuska X Window naberite komandu:

    startx

|to "obolochka" dlya komandy xinit (esli vy ispol'zovali xinit v drugih UNIX-sistemah).

|ta komanda zapuskaet X server i vypolnyaet komandy, najdennye v fajle .xinitrc v vashem domashnem kataloge. Esli dannogo fajla ne sushchestvuet, ispol'zuetsya sistemnyj fajl /usr/X11R6/lib/X11/xinit/xinitrc.

Standartnyj xinitrc fajl vyglyadit podobnym obrazom:

    #!/bin/sh

    xterm -fn 7x13bold -geometry 80x32+10+50 &
    xterm -fn 9x15bold -geometry 80x34+30-10 &
    oclock -geometry 70x70-7+7 &
    xsetroot -solid midnightblue &
    exec twm

|tot raschet zapuskaet dva klienta xterm (emulyator terminala), oclock (chasy) i ustanavlivaet temno-sinij cvet ekrana. Zatem on zapuskaet twm - okonnyj menedzher. Zamet'te, chto twm zapuskaetsya cherez operator exec. Obolochka /bin/sh, vypolnyayushchaya etot raschet zameshchaetsya komandoj twm i pri okonchanii raboty processa twm, X-server takzhe zavershaet svoyu rabotu. Vy mozhete vyjti iz twm, ispol'zuya osnovnoe menyu. Nazhmite levuyu knopku myshi, nahodyas' na svobodnom meste ekrana. Na ekrane poyavitsya menyu, kotoroe pozvolit vam za vyjti iz twm, vybrav punkt Exit Twm.

Ubedites', chto poslednyaya komanda v fajle .xinitrc zapuskaetsya cherez exec i ne zapuskaetsya v fone (net simvola & v konce stroki). Inache X server zavershit svoyu rabotu, kak tol'ko on zapustit klienta iz fajla .xinitrc.

Krome etogo, vy mozhete vyjti iz X-a, nazhav klavishi ctrl-alt-backspace odnovremenno.

Opisannaya vyshe konfiguraciya fajla .xinitrc yavlyaetsya ochen' prostoj. Esli vy s nim nemnogo porabotaete vy mozhete poluchit' mnozhestvo otlichnyh programm i konfiguracij okon na ekrane. Naprimer, okonnyj menedzher fvwm podderzhivaet virtual'nye ekrany, vy mozhete podobrat' razlichnye fonty, cveta, razmery okon, ih pozicii i tak dalee, vse chto vy pozhelaete. Hotya sistema X Window mozhet na pervyj vzlyad pokazat'sya prostoj, ona chrezvychajno moshchna i bogata razlichnymi vozmozhnostyami.

Esli vy novichok v srede X Window, my nastoyatel'no rekomenduem vam priobresti knigu tipa The X Window System: A User's Guide. Ispol'zovanie i nastrojka X-a dovol'no bol'shaya zadacha dlya togo, chtoby opisat' ee v etoj knige. V kachestve dal'nejshih shagov posmotrite rukovodstva dlya komand xterm, oclock, twm i t p.

Problemy

CHasten'ko sluchaetsya, chto u vas chto-to ne poluchaetsya. Kak pravilo, eto svyazano s oshibkami opisaniya vashego fajla XF86Config. Obychno, neverno ukazyvayut vremennye intervaly sinhronizacii monitora ili chastoty videoplaty. Esli u vas izobrazhenie na ekrane sdvinuto ili ego granicy razmyty, eto tochnyj pokazatel', chto eti znacheniya ustanovleny neverno. Prover'te takzhe, verno li opredelili tip mikroshemy videokarty i drugie opcii v sekcii Device fajla XF86Config. Ubedites' takzhe, chto vy ispol'zuete neobhodimyj X server i chto fajl /usr/X11R6/bin/X yavlyaetsya simvol'noj ssylkoj na etot server.

Esli eto ne pomozhet, poprobujte zapustit' X napryamuyu, ispol'zuya komandu:

    X > /tmp/x.out 2>&1

Zatem ostanovite X server (nazhav odnovremenno klavishi ctrl-alt-backspace) i prover'te soderzhimoe fajla /tmp/x.out. X server soobshchit vse preduprezhdeniya i oshibki, naprimer o tom, chto vasha videokartra na podderzhivaet neobhodimuyu dlya vashego monitora chastotu.

Fajl VideoModes.doc, vklyuchennyj v distributiv XFree, soderzhit mnogo sovetov po nastrojke vashego fajla XF86Config.

Ne zabud'te, chto vy mozhete ispol'zovat' kombinacii klavish ctrl-alt-numeric + i ctrl-alt-numeric - dlya pereklyucheniya rezhimov razresheniya monitora, perechislenyh v sekcii Screen fajla XF86Config. Esli rezhim s vysokim razresheniem ne rabotaet, popytajtes' ustanovit' na men'shee razreshenie. |to, po krajnej mere, pomozhet opredelit' vam oshibochnye i pravil'nye nastrojki vashego konfiguracionnogo fajla.

Popytajtes' takzhe apparatno podstroit' vash monitor, ispol'zuya klavishi upravleniya na monitore.

Dlya obsuzhdeniya voprosov po XFree86 prednaznacheny gruppa comp.windows.x.i386unix USENET. Neplohaya ideya - podpisat'sya na etu konferenciyu i opisat' interesuyushchie vas problemy - mozhet byt' kto-to imeet takie zhe problemy.

5.2 Dostup k fajlam MS-DOS

Esli, po kakoj-nibud' neob'yasnimoj prihoti, vam neobhodimo obespechit' dostup k fajlam MS-DOS, vy mozhete eto legko sdelat'.

Obychno dlya polucheniya dostupa k fajlam MSDOS, vam dostatochno primontirovat' MS-DOS razdel ili disketu i obrashchat'sya k falam cherez fajlovuyu sistemu Linux. Naprimer, esli vy vstavite disketu MS-DOS v ustrojstvo /dev/fd0 (A: v notacii MS/DOS), komanda

    # mount -t msdos /dev/fd0 /mnt

primontiruet etu disketu k katalogu /mnt. Prosmotrite sekciyu 4.6.2 dlya polucheniya dopolnitel'noj informacii o montirovanii floppi-diskov.

Tochno takzhe, vy mozhete primontirovat' MS-DOS razdel na vashem vinchestere. Esli vy, naprimer, imeete MS-DOS razdel na /dev/hda1, komanda

    # mount -t msdos /dev/hda1 /mnt

primontiruet ee. Ne zabud'te razmontirovat' DOS-razdel posle okonchaniya raboty s nej. Vy mozhete montirovat' razdel MS-DOS avtomaticheski vo vremya zagruzki sistemy, esli dobavite stroku v fajl /etc/fstab (sm. sekciyu 4.8). Naprimer, sleduyushchaya stroka v fajle /etc/fstab montiruet DOS razdel /dev/hda1 na katalog /dos.

    /dev/hda1     /dos     msdos      defaults

Vy mozhete takzhe poluchit' dostup k fajlam MS-DOS, ispol'zuya paket Mtools. Komandy mcd, mdir i mcopy etogo pakety rabotayut tochno takzhe kak komandy MS-DOS cd, dir, copy. Esli vy ustanovili paket Mtools, to on dolzhen soderzhat' i rukovodstva na eti komandy.

Dostup k fajlam MS-DOS i vypolnenie programm MS-DOS - eto dve bol'shie raznicy. V nastoyashchee vremya v processe razrabotki nahoditsya emulyator programm MS-DOS. On shiroko rasprostranen i dazhe vhodit v sostav distributiva SLS. Dostupen on takzhe i po FTP s mnogih serverov (sm. prilozhenie C). |mulyator MS-DOS dostatochno polon dlya vypolneniya bol'shinstva DOS programm, vklyuchaya Wordperfect. Odnako Linux i MS-DOS sovershenno raznye operacionye sistemy i polnota lyubogo MS-DOS emulyatora v lyuboj UNIX-sisteme vsegda ogranichena.

Krome etogo, v nastoyashchee vremya razrabatyvaetsya v srede X Window emulyator Microsoft Windows. Dlya polucheniya dopolnitel'noj informacii obratites' k sootvetstvuyushchim gruppam novostej i FTP serveram.

5.3 Setevaya rabota po protokolu TCP/IP

Linux podderzhivaet polnyj nabor setevyh protokolov TCP/IP (Transport Control Protocol/Internet Protocol). TCP/IP stal naibolee uspeshno ispol'zuemym mehanizmom raboty v komp'yuternyh setyah vsego mira. S pomoshch'yu Linux i kart Ethernet vy mozhete svyazat' v lokal'nuyu set' vashi mashiny ili (pri sootvetstvuyushchem podklyuchenii) k Internet - vsemirnoj seti TCP/IP.

Scepit' neskol'ko UNIX-mashin v nebol'shuyu lokal'nuyu set' (LAN) prosto. Dlya etogo trebuetsya kontroller Ethernet v kazhdoj mashine, sootvetstvuyushchie kabeli i eshche nekotoroe soputstvuyushchee oborudovanie. Ili, esli vasha firma ili universitet imeyut vyhod v Internet, vy mozhete prosto k etoj seti podcepit'sya so svoej Linux-mashinoj.

Tekushchaya realizaciya TCP/IP i sootvetstvuyushchie protokoly dlya Linux nazyvayutsya ``NET-2''. |to ne imeet otnosheniya k tak nazyvaemomu relizu NET-2 dlya BSD UNIX. V dannom kontekste ``NET-2'' oznachaet vtoruyu realizaciyu TCP/IP dlya Linux.

Linux NET-2 takzhe podderzhivaet protokol SLIP (Serial Line Internet Protocol). SLIP pozvolyaet vam poluchit' vhod v Internet s pomoshch'yu modema. Esli vasha firma ili universitet imeet vyhod po SLIP, vy mozhete vyjti na SLIP-server i vojti so svoej mashiny v Internet po telefonnoj linii. I naoborot, esli vasha Linux-mashina imeet podklyuchenie po Ethernet k Internet, vash Linux mozhet ispolnyat' funkcii SLIP-servera.

Dlya polucheniya bolee polnoj informacii po ustanovke TCP/IP pod Linux, my nastoyatel'no sovetuem prochitat' Linux NET-2 HOWTO, kotoroe mozhno poluchit' cherez FTP s sunsite.unc.edu. NET-2 HOWTO - eto polnoe rukovodstvo po konfigurirovaniyu TCP/IP, vklyuchaya svyazi po Ethernet i SLIP pod Linux. The Linux Ethernet HOWTO opisyvaet konfigurirovanie (nastrojku) razlichnyh drajverov kart Ethernet dlya Linux. Mozhno takzhe vospol'zovat'sya The Linux Network Administrator's Guide iz proekta po dokumentirovaniyu Linux - LDP (Linux Documentation Project). Bolee podrobno pro eti dokumenty smotrite v Prilozhenii A.

Interesna takzhe kniga: Craig Hunt TCPIP Network Administration/. Ona soderzhit ischerpyvayushchuyu informaciyu po ispol'zovaniyu i nastrojke TCP/IP dlya sistem UNIX.

Trebovaniya k apparature

Vy mozhete ispol'zovat' v Linux TCP/IP bez kakogo-to dopolnitel'nogo oborudovaniya rezhim ``loopback'', pozvolyayushchij razgovarivat' s samim soboj. |to neobhodimo dlya ryada prilozhenij i igr, ispol'zuyushchih mehanizm ``loopback''.

No esli vy hotite ispol'zovat' Linux s setevoj rabotoj cherez Ethernet po TCP/IP , vy dolzhny imet' odnu iz sleduyushchih kart Ethernet: 3com 3c503, 3c503/16; Novell NE1000, NE2000; Western Digital WD8003, WD8013; Hewlett Packard HP27245, HP27247, HP27250.

Imeetsya informaciya, chto i sleduyushchie klony rabotayut: WD-80x3 clones: LANNET LEC-45; NE2000 clones: Alta Combo, Artisoft LANtastic AE-2, Asante Etherpak 2001/2003, D-Link Ethernet II, LTC E-NET/16 P/N 8300-200-002, Network Solutions HE-203, SVEC 4 Dimension Ethernet, 4-Dimension FD0490 EtherBoard 16, and D-Link DE-600, SMC Elite 16.

Dopolnitel'nuyu informaciyu po sovmestimosti apparatury Ethernet v Linux mozhno najti v "Linux Ethernet HOWTO".

Linux takzhe podderzhivaet SLIP, kotoryj pozvolyaet ispol'zovat' modem dlya vyhoda v Internet po telefonnoj linii. V etom sluchae vam nuzhen modem, sovmestimyj s vashim SLIP-serverom - bol'shinstvo serverov trebuet modemy na 14.4bps, V.32bis. (prim. perevodchika: progress v modemah bystree, chem v komp'yuterah, poetomu dannye stareyut eshche bystree; sejchas chashche mozhno uslyshat' pro 28.8bps i V.34, chto tozhe bystro ustarevaet).

Nastrojka TCP/IP na vashej sisteme

V etom razdele my obsudim, kak nastraivat' svyaz' Ethernet - TCP/IP na vashej sisteme. Imejte v vidu, chto opisyvaemyj metod (predpolagaetsya, chto) rabotaet na mnogih sistemah, no, razumeetsya, ne na vseh. |togo obsuzhdeniya dolzhno byt' dostatochno, chtoby ukazat' vam pravil'nyj put' v nastrojke parametrov seti na vashej mashine. No sushchestvuet mnozhestvo zakovyk i milyh detalej, kotorye my zdes' dazhe ne upominaem. My, vse-taki orientiruem vas na Linux Network Administrators' Guide i NET-2-HOWTO.

Prezhde vsego, my predpolagaem, chto u vas est' Linux s installirovannym TCP/IP. |to vklyuchaet osnovnyh klientov, takih kak telnet i ftp, komandy sistemnogo administratora, takie kak ifconfig i route (obychno nahodyashchiesya v /etc), i setevye nastroechnye fajly (takie kak /etc/hosts). Drugie, otnosyashchiesya k Linux setevye dokumenty, ukazannye vyshe, rasskazyvayut, kak installirovat' setevye programmy Linux, esli eto eshche ne bylo sdelano.

My takzhe predpolagaem, chto vashe yadro bylo nastroeno i skompilirovano s podderzhkoj TCP/IP. Smotrite Razdel 4.7. po povodu kompilyacii yadra.

Kogda eto sdelano, vy dolzhny modificirovat' ryad nastroechnyh fajlov, ispol'zuemyh NET-2. Dlya bol'shinstva eto prostaya procedura. K sozhaleniyu, sushchestvuet bol'shoe razlichie mezhdu distributivami Linux otnositel'no togo, gde dolzhny razmeshchat'sya razlichnye konfiguracionnye fajly TCP/IP i podderzhivayushchie programmy. CHashche oni mogut byt' obnaruzheny v /etc, no v drugih sluchayah ih mozhno otyskat' v /usr/etc, /usr/etc/inet, /sbin ili v drugih neozhidannyh mestah.

V hudshem sluchae vy budete vynuzhdeny ispol'zovat' komandu find dlya opredeleniya ih mestopolozheniya v vashej sisteme. Imejte takzhe v vidu, chto ne vse distributivy hranyat programmy i fajly opisaniya dlya NET-2 v odnom meste - oni mogut byt' razneseny po neskol'kim katalogam.

Sleduyushchaya informaciya otnositsya v pervuyu ochered' k svyazi po Ethernet. Esli vy planiruete ispol'zovat' SLIP, prochitajte etot razdel, chtoby ponyat' koncepcii, a zatem obratites' k specificheskim dlya SLIP rekomendaciyam iz posleduyushchego razdel.

Opisanie vashej seti

Prezhde, chem vy smozhete opisat' (nastroit') TCP/IP, vam neobhodimo opredelit'sya so sleduyushchuej informaciej otnositel'no ustanovki seti.

Pol'zovateli SLIP: Vysheprivedennaya informaciya mozhet vam potrebovat'sya, a mozhet i ne potrebovat'sya. Razve chto adres servera imen. Pri ispol'zovanii SLIP, vash IP adres obychno opredelyaetsya odnim iz dvuh sposobov: (a) U vas "staticheskij" IP adres, kotoryj ne menyaetsya v lyuboe vremya vyhoda v set'; (b) U vas "dinamicheskij" adres, kotoryj beretsya iz pula dostupnyh adresov, kogda vy svyazyvaetes' s serverom. V sleduyushchem razdele, posvyashchennom nastrojke SLIP, eto rassmatrivaetsya bolee detal'no.

NET-2 podderzhivaet polnuyu marshrutizaciyu, mnozhestvennost' marshrutov, obsluzhivanie podseti (na etom etape tol'ko v predelah bajta). Vyshe opisyvalis' osnovnye nastrojki TCP/IP. Vashi mogut byt' sovsem drugimi: esli est' somneniya, prokonsul'tirujtes' u mestnyh guru iz sosednih setej i posmotrite stranicy Rukovodstva pro route i ifconfig. Nastrojka TCP/IP vyhodit daleko za ramki etoj knigi; vyshenapisannogo mozhet byt' dostatochno bol'shinstvu lyudej dlya nachala.

rc-fajly v seti

rc-fajly shiroko ispol'zuemye v sisteme scenarii, vypolnyaemye vo vremya zagruzki programmoj by init, kotoraya zapuskaet vseh osnovnyh sistemnyh demonov (takih kak sendmail, cron, i t.p.) i nastraivaet takie veshchi, kak setevye parametry, sistemnoe host-imya i t.p. rc-fajly obychno nahodyatsya v kataloge /etc/rc.d, no v drugih sistemah oni mogut byt' v /etc.

Zdes' my sobiraemsya opisat' rc-fajly, ispol'zuemye pri nastrojke TCP/IP. Fajlov dva: rc.inet1 i rc.inet2. rc.inet1 ispol'zuetsya dlya nastrojki bazovyh setevyh parametrov (takih kak IP adresa i marshrutizaciya) i rc.inet2 zapuskaet TCP/IP demonov (telnetd, tftpd i t.d.).

Mnogie sistemy ob'edinyayut oba etih fajla v odin, obychno nazyvaemyj rc.inet ili rc.net. Imena, dannye vashim rc-fajlam roli ne igrayut, lish' by oni vypolnyali nuzhnye funkcii i vypolnyalis' vo vremya zagruzki programmoj init. CHtoby eto obespechit', vozmozhno vam potrebuetsya podredaktirovat' /etc/inittab , chtoby vypolnit' sootvetstvuyushchie rc-fajly. V hudshem sluchae vam pridetsya sozdat' rc.inet1 i rc.inet2 fajly zanovo i dobavit' informaciyu iz /etc/inittab.

Kak my govorili, rc.inet1 nastraivaet bazovyj setevoj interfejs. |to vklyuchaet vashe IP, setevoj adres i tablicu marshrutizacii (routing table) dlya vashej seti. Tablicy marshrutizacii ispol'zuyutsya dlya marshrutizacii vhodyashchih i ishodyashchih setevyh dejtagram (datagrams) na drugie mashiny. Vo mnogih prostyh nastrojkah vy imeete tri marshruta: odin - dlya posylki paketov svoej sobstvennoj mashine, drugoj - dlya posylki paketov na drugie mashiny vashej seti, tretij - dlya posylki paketov na mashiny, nahodyashchiesya za predelami vashej seti (cherez shlyuzovuyu mashinu). Est' dve programmy dlya nastrojki etih parametrov: ifconfig i route. Obe obychno nahodyatsya v /etc ili /sbin.

ifconfig ispol'zuetsya dlya nastrojki interfejsa ustrojstv seti s neobhodimymi dlya funkcij parametrami, takimi kak IP adres, maska seti, brodkast adres i t p. route ispol'zuetsya dlya sozdaniya i modifikacii tablicy marshrutizacii.

Dlya mnogih sluchaev fajl rc.inet1 podojdet v tom vide, v kakom on zdes' priveden. Vy, razumeetsya, dolzhny budete otredaktirovat' ego pod svoyu sistemu. Ne ispol'zujte bez izmeneniya IP i setevoj adresa, privedennye zdes' v kachestve primera, oni sootvetstvuyut dejstvitel'noj mashine v Internet.


  #!/bin/sh
  # This is /etc/rc.d/rc.inet1 -- Configure the TCP/IP interfaces

  # First, configure the loopback device

  HOSTNAME=`hostname`

  /etc/ifconfig lo 127.0.0.1 # uses default netmask 255.0.0.0
  /etc/route add 127.0.0.1 # a route to point to the loopback device

  # Next, configure the ethernet device. If you're only  using
  # loopback or SLIP, comment out the rest of these lines.

  # Edit for your setup.
  IPADDR="128.253.154.32"     # REPLACE with YOUR IP address
  NETMASK="255.255.255.0"     # REPLACE with YOUR netmask
  NETWORK="128.253.154.0"     # REPLACE  with  YOUR  network address
  BROADCAST="128.253.154.255" # REPLACE with YOUR  broadcast address,
                                    # if you have one. If not, leave blank
                                    # and edit below.
  GATEWAY="128.253.154.1"     # REPLACE with  YOUR  gateway address!

  /etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}

  # If you don't have a broadcast address, change the above line to:
  # /etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK}

  /etc/route add ${NETWORK}

  # The following is only necessary if you have a gateway; that is,
  # your network is connected to the outside world.
  /etc/route add default gw ${GATEWAY} metric 1

  # End of Ethernet Configuration

Mozhet vam pridetsya nemnogo pokovyryat' etot fajl, chtoby zastavit' rabotat'. |tot scenarij dolzhen podhodit' dlya nastrojki bol'shinstva prostyh setej, no, razumeetsya, ne dlya vseh.

rc.inet2 zapuskaet razlichnye servera, ispol'zuemye TCP/IP. Naibolee vazhnyj sredi nih - inetd. inetd sidit v fone i prismatrivaet za razlichnymi setevymi portami. Kogda mashina pytaetsya svyazat'sya s konkretnym portom (naprimer, so vhodnym portom telnet), inetd sozdaet novuyu kopiyu sootvetstvuyushchego demona dlya etogo porta (v sluchae porta telnet inetd zapuskaet in.telnetd). |to proshche, chem vypolnyat' mnogo nezavisimyh demonov (t.e. individual'nyh kopij telnetd, ftpd i t.p.) - inetd zapuskaet demonov tol'ko pri vozniknovenii neobhodimosti.

syslogd - eto sistemnyj demon vhoda - on akkumuliruet soobshcheniya o vhode ot razlichnyh istochnikov i pomeshchaet ih v log-fajly, zavisyashchie ot nastrojki /etc/syslogd.conf. routed - eto server ispol'zuemyj dlya soprovozhdeniya dinamicheskoj informacii po marshrutizacii. Kogda vasha sistema pytaetsya poslat' paket v druguyu set', eto mozhet potrebovat' dopolnitel'nyh zapisej v tablicu marshrutizacii, chtoby eto vypolnit'. routed zabotitsya o soprovozhdenii tablicy marshrutizacii bez neobhodimosti vmeshatel'stva cheloveka.

Privedennyj nizhe primer rc.inet2 zapuskaet lish' samyj minimum serverov. Est' i drugie servery - mnogie iz kotoryh obsluzhivayut nastrojki NFS. Pytayas' ustanovit' TCP/IP na vashej sisteme, obychno luchshe vsego nachat' s minimal'noj konfiguracii i dobavlyat' bolee slozhnye kuski, (takie, kak NFS), kogda u vas uzhe chto-to rabotaet.

Obratite vnimanie, chto v nizheprivedennom fajle my predpolagaem, chto vse setevye demony nahodyatsya v /etc. Nu i kak obychno otredaktirujte etot fajl pod svoyu konfiguraciyu.

    #! /bin/sh
    # Sample /etc/rc.d/rc.inet2

    # Start syslogd
    if [ -f /etc/syslogd ]
    then
            /etc/syslogd
    fi

    # Start inetd
    if [ -f /etc/inetd ]
    then
            /etc/inetd
    fi

    # Start routed
    if [ -f /etc/routed ]
    then
            /etc/routed -q
    fi

    # Done!

Sredi mnogih dopolnitel'nyh serverov, kotorye vy mozhete zapustit' v rc.inet2 - named. named - eto server imen. On otvechaet za perevod (lokal'nyh) IP adresov v imena i naoborot. Esli u vas gde-nibud' v seti net servera imen ili vy sami hotite snabzhat' lokal'nymi imenami mashin drugie mashiny vashego domena, ispol'zovanie named neobhodimo. (No dlya bol'shinstva sluchaev v etom net neobhodimosti). Nastrojka named dostatochno slozhna i trebuet predvaritel'nogo planirovaniya. My otsylaem zainteresovannyh chitatelej k horoshim knigam po TCP/IP.

/etc/hosts

/etc/hosts soderzhit perechen' IP adresov i imen hostov, kotorym oni sootvetstvuyut. V obshchem, /etc/hosts soderzhat tol'ko zapisi dlya vashej lokal'noj mashiny i, vozmozhno, drugih "vazhnyh" mashin (takih kak server imen ili shlyuz). Perevod imya - adres dlya drugih mashin seti obespechivaet server imen.

Naprimer,esli vasha mashina nazyvaetsya loomer.vpizza.com i imeet IP adres 128.253.154.32, vash /etc/hosts budet vyglyadet' kak:

    127.0.0.1               localhost
    128.253.154.32          loomer.vpizza.com loomer

Esli vy ispol'zuete tol'ko loopback, edinstvennaya stroka v /etc/hosts dolzhna byt' dlya 127.0.0.1 s imenami localhost i host-imenem vashej mashiny.

/etc/networks

Fajl /etc/networks soderzhit vashi imena i adresa, a takzhe drugih setej. On ispol'zuetsya komandoj route i pozvolyaet opisyvat' set' imenami, esli vy eto zahotite.

Vsyakaya set', kotoruyu vy hotite dobavit' v marshrutizaciyu s ispol'zovaniem komandy route (obychno vyzyvaemoj iz rc.inet1) dolzhna imet' zapis' v /etc/networks.

     Primer.

    default 0.0.0.0 # default route    - mandatory
    loopnet 127.0.0.0 # loopback network - mandatory
    mynet 128.253.154.0 # Modify for your own network address

/etc/host.conf

CHtoby obratit'sya k mashine po domenu, sistema dolzhna opredelit' ee fizicheskij adres (IP-adres). Sistema delaet eto libo nahodya sootvetstvuyushchij domen v fajle /etc/hosts (sm. rukovodstvo), libo obrashchayas' k special'nym serveram, nazyvaemym serverami imen (nameserver). Fajl /etc/host.conf zadaet |tot fajl ispol'zuetsya dlya opisaniya poryadka prosmotra etih vozmozhnostej.

    order hosts,bind
    multi on

|ti stroki ukazyvayut bibliotekam razresheniya vnachale iskat' v fajle /etc/hosts trebuemyj domen, a potom obratit'sya k serveru imen (esli takovoj imeetsya). Stroka multi dopuskaet mnozhestvo IP adresov dlya odnogo imeni mashiny v /etc/hosts.

/etc/resolv.conf

|tot fajl nastraivaet programmy opredeleniya fizicheskogo IP-adresa po domenu mashiny, ukazyvaya IP-adres vashego servera imen i imya vashego domena. Imya vashego domena, eto domennyj adres vashej mashiny v seti, s otbroshennym imenem mashiny. Tak naprimer, esli vashe polnoe host-imya loomer.vpizza.com, to imya vashego domena prosto vpizza.com.

Naprimer, esli vasha mashina goober.norelco.com i imeet server imen s adresom 128.253.154.5, vash /etc/resolv.conf budet vyglyadet':

    domain      norelco.com
    nameserver  127.253.154.5

Vy mozhete opisat' bolee odnogo servera imen - kazhdyj dolzhen imet' svoyu stroku v resolv.conf.

Ustanovka host-imeni (hostname)

Host-imya ustanavlivaetsya s pomoshch'yu komandy hostname. Ona obychno vyzyvaetsya iz /etc/rc ili /etc/rc.local; prosto prosmotrite svoi sistemnye rc-fajly, otkuda vyzyvaetsya. Naprimer, esli vashe (polnoe) host-imya loomer.vpizza.com, otredaktirujte sootvetstvuyushchij rc-fajl, vypolniv komandu:

/bin/hostname loomer.vpizza.com

Obratite vnimanie, chto komandy hostname mozhet ne okazat'sya v /bin.

Popytka ne pytka

Posle togo, kak vy ustanovili vse eti fajly, vy dolzhny byt' gotovy perezagruzit' novoe yadro i popytat'sya obradovat'sya rabotayushchej seti. Pravda, sushchestvuet slishkom mnogo mest, gde mogut spryatat'sya oshibki, tak chto razumnym budet proverit' otdel'nye aspekty nastrojki seti (naprimer, ne samaya horoshaya ideya dlya testirovaniya seti srazu sharahnut' po nej s pomoshch'yu Mosaic s X-protokolom poverh IP). (prim. perevodchika: segodnya by avtor vspomnil pro Netscape)

Vy mozhete ispol'zovat' komandu netstat, chtoby posmotret' tablicy marshrutizacii; eto obychno istochnik bol'shinstva nepriyatnostej. Rukovodstvo po netstat opisyvaet tochnyj sintaksis etoj komandy v detalyah. Dlya togo, chtoby proverit' svyazi v seti, my predlagaem ispol'zovat' klienta, takogo, kak telnet, chtoby svyazat' mashiny vashej lokal'noj podseti i vneshnej seti. |to pozvolit lokalizovat' oshibki. (Naprimer, esli vy ne mozhete svyazat'sya s lokal'noj mashinoj, no svyazyvaetes' s mashinami drugih setej, skoree vsego est' problema s setevoj maskoj i nastrojkoj tablicy marshrutizacii). Vy mozhete takzhe pryamo vyzvat' komandu route (pod root) poeksperimentirovat' s zapisyami tablicy marshrutizacii.

Vam sleduet takzhe proverit' svyazi v seti pryamo ukazyvaya IP adresa vmesto host-imen. Naprimer, esli u vas est' problemy s komandoj

    $ telnet shoop.vpizza.com

Prichina mozhet byt' v nekorrektnoj nastrojke servera imen. Popytajtes' ispol'zovat' fizicheskij IP adres mashiny; esli eto pomozhet, togda vy budete znat', chto vashi osnovnye setevye ustanovki (skoree vsego) pravil'ny i problema lezhit v opisanii adresa servera imen.

Otladka setevyh nastroek mozhet byt' trudnoj zadachej i my ne mozhem zdes' vtyagivat'sya v ee obsuzhdenie. Esli vy ne mozhete poluchit' pomoshch' ot mestnyh guru, my ochen' vam sovetuem pochitat' Linux Network Administrators' Guide iz LDP.

Nastrojka SLIP

SLIP (Serial Line Internet Protocol) pozvolyaet ispol'zovat' TCP/IP na posledovatel'nyh liniyah, bud' to kommutiruemaya telefonnaya liniya s modemom ili vydelennaya asinhronnaya liniya. Razumeetsya, dlya ispol'zovaniya SLIP vam neobhodim dostup k SLIP-serveru. Mnogie universitety i firmy za umerennuyu platu predostavlyayut SLIP-vhod.

Est' dve osnovnye programmy, ispol'zuyushchie SLIP: dip i slattach. Obe eti programmy ispol'zuyutsya dlya ustanovleniya SLIP-soedineniya cherez posledovatel'nye ustrojstva. Neobhodimo ispol'zovat' odnu iz etih programm, chtoby aktivizirovat' SLIP, nedostatochno prosto dozvonit'sya do SLIP-servera (s pomoshch'yu kommunikacionnoj programmy vrode kermit) i zapustit' komandy ifconfig i route, tak kak dip i slattach formiruyut special'nyj sistemnyj vyzov ioctl(), chtoby perehvatit' upravlenie posledovatel'nym ustrojstvom dlya realizacii SLIP-interfejsa.

Dip mozhet proizvesti dozvonku do SLIP-servera, obespechit' soedinenie (handshaking) i vojti na server (ukazav naprimer, imya i parol'), a zatem iniciirovat' SLIP-soedinenie po posledovatel'noj linii. slattach zhe ne delaet nichego, krome zahvata ustrojstva dlya ispol'zovaniya ego SLIP. |to polezno, esli vy imeete postoyannuyu liniyu dlya SLIP-servera i net neobhodimosti v dozvonke i soedinenii dlya obespecheniya svyazi. No bol'shinstvo pol'zovatelej predpochitaet ispol'zovat' dip.

Dip mozhno takzhe ispol'zovat' dlya nastrojki vashej sistemy Linux v kachestve SLIP-servera, kogda drugie mashiny k vam dozvanivayutsya i vyhodyat v set' cherez vtorichnoe soedinenie po Ethernet na vashej mashine. Dopolnitel'nuyu informaciyu po etoj procedure smotrite v Rukovodstve na dip.

SLIP ves'ma otlichaetsya ot Ethernet, v nem tol'ko dve mashiny v "seti" SLIP-host (eto vy) i SLIP-server. Po etoj prichine SLIP chasto vosprinimaetsya kak svyaz' ``point-to-point'' (ot tochki do tochki). Obobshchenie etoj idei, izvestnoe kak PPP (Point to Point Protocol) takzhe realizovano v Linux.

Kogda vy iniciiruete svyaz' so SLIP-serverom, SLIP-server dast vam IP adres. Nekotorye SLIP-servery vydayut "staticheskie" IP adresa - v etom sluchae vash IP adres budet tot zhe samyj vsegda, kogda vy svyazyvaetes' s serverom. No bol'shinstvo SLIP-serverov vydayut IP adresa dinamicheski, kogda pri kazhdoj svyazi vy poluchaete IP adres zanovo. V obshchem sluchae SLIP-server soobshchit vam pri ustanovlenii svyazi vash IP adres i adres shlyuza. dip sposoben chitat' eti znacheniya pri vhode na SLIP-server i ispol'zovat' ih dlya nastrojki samogo SLIP.

Sushchestvennoe zamechanie. Nastrojka svyazi po SLIP pohozha na nastrojku loopback ili ethernet. Osnovnye otlichiya obsuzhdayutsya nizhe. Prochitajte predydushchij razdel pro nastrojku bazovyh fajlov TCP/IP, i vypolnite izmeneniya, opisannye nizhe.

Soedinenie po dip pri staticheskom IP adrese

Esli vy ispol'zuete SLIP-server, vydayushchij staticheskie IP adresa, vy mozhete vklyuchit' zapisi o vashih IP adrese i host-imeni v /etc/hosts. A takzhe nastroit' fajly, perechislennye v predydushchem razdele: rc.inet2, host.conf i resolv.conf. Takzhe nastroit' rc.inet1, kak opisano vyshe. Esli vy ispol'zuete dlya svyazi so SLIP-serverom dip, to v fajle rc.inet1 dlya posledovatel'nogo porta komandy ifconfig i route vyzyvat' ne nado, dip vyzovet eti komandy posle ustanovleniya soedineniya. (Esli zhe vy, ispol'zuete slattach, vam budet neobhodimo vklyuchit' komandy ifconfig i route v rc.inet1 dlya SLIP - smotrite nizhe).

dip dolzhen nastraivat' sootvetstvuyushchim obrazom tablicy marshrutizacii dlya SLIP kogda vy svyazyvaetes'. Odnako, v nekotoryh sluchayah povedenie dip mozhet byt' nepravil'nym dlya vashih nastroek i vam nado budet vruchnuyu vypolnyat' komandy ifconfig ili route posle togo, kak dip svyazhetsya s serverom (eto legche vsego sdelat' iz scenariya shell, kotoryj soderzhit vyzov dip, i nemedlenno vypolnit' sootvetstvuyushchie komandy nastrojki). Vash shlyuz, eto v bol'shinstve sluchaev adres SLIP-servera. Vy mozhete znat' etot adres zaranee ili adres shlyuza budet vyveden SLIP-serverom pri ustanovlenii svyazi. Scenarij raboty dip (opisannyj nizhe) mozhet takzhe poluchat' etu informaciyu ot SLIP-servera.

ifconfig mozhet potrebovat' argumenta "pointopoint", esli dip ne nastroil pravil'no interfejs. Naprimer, esli adres vashego SLIP-servera 128.253.154.2, a vash IP-adres 128.253.154.32, vam mozhet potrebovat'sya vypolnit' komandu pod root

    ifconfig sl0 128.253.154.32 pointopoint 128.253.154.2

posle svyazi po dip.

Obratite vnimanie, chto imena SLIP-ustrojstv, ispol'zuemye komandami ifconfig i route - sl0, sl1 i t.d.

V Razdele 5.3.4 my ob'yasnim, kak nastraivat' dip dlya svyazi so SLIP-serverom.

Soedinenie po slattach pri staticheskom IP adrese

Esli u vas vydelennaya liniya ili kabel', idushchij pryamo k SLIP-serveru, to net neobhodimosti ispol'zovat' dip dlya inicializacii svyazi. Vmesto etogo mozhet byt' ispol'zovana komanda slattach. V etom sluchae vash fajl /etc/rc.inet1 dolzhen vyglyadet' primerno tak:

    #!/bin/sh
    IPADDR="128.253.154.32"         # Replace with your IP address
    REMADDR="128.253.154.2" # Replace with your SLIP server address

    # Modify the following for the appropriate serial device for
    # the SLIP connection:
    slattach -p cslip -s 19200 /dev/ttyS0
    /etc/ifconfig sl0 $IPADDR pointopoint $REMADDR up
    /etc/route add default gw $REMADDR

slattach vydelyaet pervoe svobodnoe SLIP-ustrojstvo (sl0, sl1, i t.d.) opredelennoj posledovatel'noj linii.

Obratite vnimanie, chto pervyj parametr komandy slattach - eto ispol'zuemyj SLIP-protokol. V nastoyashchee vremya vozmozhny tol'ko znacheniya slip i cslip. slip - eto obychnyj SLIP, kak i sledovalo ozhidat', a cslip - eto SLIP s kompressiej zagolovkov dejtagramm. V bol'shinstve sluchaev vam sleduet ispol'zovat' cslip; odnako, esli u vas s nim voznikayut problemy, poprobujte slip.

Esli u vas bolee odnogo SLIP-interfejsa, to vy dolzhny prinyat' resheniya otnositel'no marshrutizacii. Vy dolzhny reshit', kakie marshruty dobavit', i eti resheniya mogut byt' sdelany tol'ko na baze dejstvitel'nogo protokola svyazej vashej seti. Zdes' vam mogut pomoch', kak kniga po TCP/IP, tak i Rukovodstvo.

Soedinenie po dip pri dinamicheskom IP adrese

Esli vash SLIP-server vydaet IP adresa dinamicheski, to vy, razumeetsya, ne znaete zaranee svoj adres, poetomu vy ne mozhete vklyuchit' ego v /etc/hosts. (Mezhdu tem vy dolzhny vklyuchit' zapis' dlya svoego hosta s adresom obratnoj svyazi (loopback address) 127.0.0.1.)

Mnogie SLIP-servera vydayut vash IP adres (takzhe kak i adres servera) vo vremya soedineniya. Naprimer, odin tip SLIP-servera vydaet takoe soobshchenie:

    Your IP address is 128.253.154.44.
    Server address is 128.253.154.2.

dip mozhet perehvatit' eti nomera s vyhoda servera i ispol'zovat' ih dlya nastrojki SLIP-ustrojstv.

Smotrite vyshe Razdel 5.3.3.1 otnositel'no informacii po nastrojke razlichnyh fajlov dlya TCP/IP pri ispol'zovanii SLIP. Nizhe my ob'yasnyaem, kak nastraivat' dip dlya svyazi so SLIP-serverom.

Ispol'zovanie dip

dip mozhet uprostit' process soedineniya so SLIP-serverom, vojti i nastroit' SLIP-ustrojstva. Esli tol'ko u vas ne vydelennaya liniya dlya SLIP-servera, dip - eto to, chto vam nado.

Dlya ispol'zovaniya dip vy dolzhny napisat' "scenarij boltovni" (``chat script''), kotoryj soderzhit perechen' komand, ispol'zuemyh dlya svyazi so SLIP-serverom pri vhode v sistemu. |ti komandy mogut avtomaticheski posylat' vashi imya/parol' serveru, a takzhe poluchat' informaciyu o vashem IP adrese s servera.

Vot primer takogo scenariya dlya ispol'zovaniya s serverom dinamicheskih IP adresov. Dlya staticheskih serverov vam potrebuetsya v nachale scenariya ustanovit' znacheniya peremennyh $local i $remote. V sootvetstvii s vashimi lokal'nym IP adresom i adresom servera sootvetstvenno. Bolee detal'nuyu informaciyu mozhno poluchit' v Rukovodstve na dip.

    main:
      # Set Maximum Transfer Unit. This is the maximum size of packets
      # transmitted on the SLIP device. Many SLIP servers use either
      # 1500 or 1006; check with your network admins when in doubt.
      get $mtu 1500

      # Make the SLIP route the default route on your system.
      default

      # Set the desired serial port and speed.
      port cua03
      speed 38400

      # Reset the modem and terminal line. If this causes trouble
      # for you, comment it out.
      reset

      # Prepare for dialing. Replace the following with your
      # modem initialization string.
      send AT&C1&D2\\N3&Q5%M3%C1N1W1L1S48=7\r
      wait OK 2
      if $errlvl != 0 goto error
      # Dial the SLIP server
      dial 2546000
      if $errlvl != 0 goto error
      wait CONNECT 60
      if $errlvl != 0 goto error

      # We are connected.  Login to the system.
    login:
      sleep 3
      send \r\n\r\n
      # Wait for the login prompt
      wait login: 10
      if $errlvl != 0 goto error

      # Send your username
      send USERNAME\n

      # Wait for password prompt
      wait ord: 5
      if $errlvl != 0 goto error

      # Send password.
      send PASSWORD\n

      # Wait for SLIP server ready prompt
      wait annex: 30
      if $errlvl != 0 goto error

      # Send commands to SLIP server to initate connection.
      send slip\n
      wait Annex 30

      # Get the remote IP address from the SLIP server. The
      # `get...remote' command reads text in the form xxx.xxx.xxx.xxx,
      # and assigns it to the variable given as the second argument
      # (here, $remote).
      get $remote remote
      if $errlvl != 0 goto error
      wait Your 30

       # Get local IP address from SLIP server, assign to variable
       # $local.
      get $local remote
      if $errlvl != 0 goto error

      # Fire up the SLIP connection

    done:
      print CONNECTED to $remote at $rmtip
      print GATEWAY address $rmtip
      print LOCAL address $local
      mode SLIP
      goto exit
    error:
      print SLIP to $remote failed.

    exit:

dip avtomaticheski vypolnyaet komandy ifconfig i route, baziruyushchiesya na znacheniyah peremennyh $local i $remote. Zdes' etim peremennym prisvaivayutsya znacheniya s ispol'zovaniem udalennyh komand get..., kotorye poluchayut tekst so SLIP-servera i prisvaivayut ego nazvannoj peremennoj.

Esli komandy ifconfig i route, kotorye vypolnyaet dlya vas dip ne rabotayut, vy mozhete libo vypolnit' pravil'nye komandy v scenarii shell posle vypolneniya dip, libo modificirovat' ishodnik dlya samogo dip. Vypolnenie dip s opciej -v budet vydavat' otladochnuyu informaciyu v processe ustanovleniya svyazi, chto dolzhno pomoch' v opredelenii oshibok v rabote. Teper', dlya togo, chtoby vypolnit' dip i otkryt' SLIP-soedinenie vy mozhete ispol'zovat' komandu, vrode:

    /etc/dip/dip -v /etc/dip/mychat 2>&1

Gde razlichnye dip-fajly i scenarij boltovni (mychat.dip) pomeshcheny v /etc/dip. Vysheprivedennoe obsuzhdenie dolzhno byt' dostatochnym dlya vashego horoshego samochuvstviya na slavnom puti v setevoe soobshchestvo cherez Ethernet ili SLIP. I vnov' my nastoyatel'no rekomenduem zaglyanut' v knigu po TCP/IP, osobenno, esli vasha set' imeet specifiku v marshrutizacii, otlichayushchuyu ee ot rassmotrennyh zdes'.

5.4 Setevaya rabota s UUCP

UUCP (UNIX-to-UNIX Copy) - starejshij mehanizm, ispol'zuemyj dlya peredachi informacii mezhdu sistemami UNIX. Pri ispol'zovanii UUCP, sistemy UNIX sozvanivayutsya drug s drugom (ispol'zuya modem) i peredayut pochtovye soobshcheniya, novosti, fajly i t.p. Esli u vas net TCP/IP ili SLIP dostupa, vy mozhete ispol'zovat' dlya svyazi s mirom UUCP. Bol'shaya chast' programm, svyazannyh s pochtoj i novostyami (smotrite Razdely 5.5 i 5.6) mozhet byt' nastroena na ispol'zovanie UUCP dlya peredachi informacii na drugie mashiny. Dejstvitel'no, esli poblizosti est' uzel Internet, vy mozhete imet' dostup k pochte Internet, poluchaya ee s uzla po UUCP.

Kniga Linux Network Administrator's Guide soderzhit ischerpyvayushchuyu informaciyu po nastrojke i ispol'zovaniyu UUCP pod Linux. Krome togo, po anonymous FTP sunsite.unc.edu, dostupna Linux UUCP HOWTO, kotoraya mozhet byt' ves'ma polezna. Drugoj istochnik informacii po UUCP - kniga Tim O'Reilly i Grace Todino Managing UUCP and USENET. Dopolnitel'no smotrite Prilozhenie A.

5.5 |lektronnaya pochta

Kak i mnozhestvo sistem UNIX, Linux imeet neskol'ko programmnyh paketov dlya ispol'zovaniya elektronnoj pochty. E-mail (elektronnaya pochta) na vashej sisteme mozhet byt' libo lokal'naya (to est' vy mozhete obmenivat'sya pochtoj s drugimi pol'zovatelyami vashej sistemy) ili setevaya (to est' vy posylaete pochtu, ispol'zuya libo TCP/IP, libo UUCP, drugim pol'zovatelyam). Programmy e-mail obychno sostoyat iz dvuh chastej: mejler i transport. Mejler - eto programmy pol'zovatel'skogo urovnya, kotorye ispol'zuyutsya dlya formirovaniya i chteniya pochtovyh soobshchenij. Populyarnye mejlery vklyuchayut elm i mailx. Transport - eto programmy sistemnogo urovnya, kotorye otvechayut za dostavku pochty, kak lokal'noj, tak i udalennoj. Pol'zovatel' nikogda ne vidit programmy "transport"; oni vzaimodejstvuyut tol'ko s mejlerom. No, nazvavshis' sistemnym administratorom, chelovek dolzhen ponimat' koncepcii programm "transporta" i kak ih nastraivat'.

Naibolee populyarnaya transportnaya programma dlya Linux - eto Smail. |tu programmu prosto nastraivat'. Ona mozhet posylat' e-mail, lokal'no i udalenno po TCP/IP i po UUCP. Yf V bol'shinstve sistem UNIX ispol'zuetsya bolee moshchnaya programma sendmail, odnako, iz-za slozhnogo mehanizma ustanovki, mnogie sistemy Linux ee ne ispol'zuyut.

Linux Mail HOWTO daet bol'she informacii otnositel'no dostupnyh pochtovyh programm dlya Linux i kak ih nastraivat'. Esli vy planiruete poslat' pochtu udalennomu pol'zovatelyu, vy dolzhny ponimat' libo TCP/IP ili UUCP, v zavisimosti ot togo, kakim obrazom vasha mashina podklyuchena v set' (smotri Razdely 5.3 i 5.4). Mozhet byt' poleznoj dokumentaciya po UUCP i TCP/IP, perechislennaya v Prilozhenii A.

Bol'shinstvo pochtovyh programm mozhno dostat' cherez anonymous FTP s sunsite.unc.edu v kataloge /pub/Linux/system/Mail.

5.6 Novosti i USENET

Linux takzhe obespechivaet ryad vozmozhnostej dlya raboty s elektronnymi novostyami. Pri zhelanii vy mozhete ustanovit' na vashej sisteme lokal'nyj server novostej, kotoryj pozvolit vam posylat' "stat'i" (``articles'') v razlichnye "gruppy novostej" (``newsgroups'')... Udobnaya forma organizacii obsuzhdenij. A esli vy imeete vyhod po TCP/IP ili UUCP v set', togda vy budete v sostoyanii uchastvovat' v USENET - vsemirnoj seti novostej.

Programmy novostej sostoyat iz dvuh chastej - servera i klienta. Server novostej - eto programma, kotoraya upravlyaet gruppami novostej i zanimaetsya dostavkoj pisem drugim mashinam (esli vy v seti). Klient novostej ( newsreader) eto programma, kotoraya svyazyvaet s serverom, kotoryj pozvolyaet pol'zovatelyam poluchat' i posylat' novosti.

Dlya Linux est' neskol'ko serverov novostej. Oni vse imeyut odni bazovye protokoly i principy. Dve pervye versii, eto ``C News'' i ``INN''. Sushchestvuet takzhe mnogo tipov "chitalok" novostej (newsreaders), naprimer rn i tin. Vybor chitalki v toj ili inoj mere delo vkusa. Vse chitalki rabotayut odinakovo s razlichnymi versiyami servernyh programm. Tak chto chitalka nezavisima ot servera i naoborot.

Esli vy hotite lish' vesti lokal'nye novosti (a ne kak chast' USENET), to vam potrebuetsya zavesti server na svoej sisteme, a takzhe installirovat' chitalku dlya pol'zovatelej. Server novostej budet hranit' stat'i v kataloge, naprimer /usr/spool/news, a chitalka budet ih prosmatrivat' v poiskah postupivshih novostej.

Esli vy zahotite vesti setevye novosti, vam predostavlyaetsya neskol'ko vozmozhnostej. Novosti, baziruyushchiesya na setevom TCP/IP, ispol'zuyut protokol, izvestnyj kak NNTP (Network News Transmission Protocol). NNTP pozvolyaet chitalke chitat' novosti pryamo udalenno po seti. NNTP takzhe pozvolyaet serveram novostej posylat' po seti stat'i drug drugu, eto programma, na kotoroj baziruetsya USENET. Bol'shinstvo firm i universitetov imeyut odin ili bolee NNTP-serverov, ustanovlenyh dlya raboty so vsemi novostyami USENET dannogo uzla. Kazhdaya vtoraya mashina na uzle imeet baziruyushchuyusya na NNTP chitalku dlya chteniya i posylki novostej po seti cherez NNTP- server. |to oznachaet, chto tol'ko NNTP-server dejstvitel'no hranit novosti na diske.

Dalee sleduet neskol'ko scenariev nastrojki novostej.

Temnaya storona mnogih serverov novostej i chitalok zaklyuchaetsya v tom, chto oni dolzhny sobirat'sya vruchnuyu. Bol'shinstvo programmnogo obespecheniya novostej ne ispol'zuet fajly nastrojki. Vmesto etogo opcii nastrojki opredelyayutsya pri kompilyacii.

Bol'shinstvo "standartnyh" programm novostej (dostupnyh cherez anonymous FTP s servera ftp.uu.net katalog /news) - gotovye dlya kompilyacii polufabrikaty. Neobhodimye izmeneniya (patches) mozhno najti na sunsite.unc.edu v /pub/Linux/system/Mail (kotoryj, sovershenno sluchajno, nahoditsya tam zhe, gde Linux). Drugie binarnye fajly programm novostej dlya Linux mozhno takzhe najti v etom kataloge.

Za dopolnitel'noj informaciej obrashchajtes' k Linux News HOWTO na sunsite.unc.edu v /pub/Linux/docs/HOWTO. Krome togo, vhodyashchij v proekt LDP Linux Network Administrator's Guide soderzhit ischerpyvayushchuyu informaciyu po nastrojke programm novostej dlya Linux. Kniga Tim O'Reilly i Grace Todino Managing UUCP and Usenet zamechatel'noe rukovodstvo po ustanovke UUCP i programm novostej. Predstavlyaet interes i dokument USENET ``How to become a USENET site'', dostupnyj na ftp.uu.net, v kataloge /usenet/news.announce.newusers.

Sled. Glava, Pred. Glava

Soderzhimoe etoj glavy, Glavnoe oglavlenie

Nachalo dokumenta, Nachalo etoj glavy