1 Vvedenie v LINUX

Soderzhimoe etogo razdela

Linux, vozmozhno, yavlyaetsya naibolee znachitel'nym dostizheniem v oblasti svobodno rasprostranyaemyh programm so vremen Space War, ili bolee pozdnego Emacs. On prevratilsya v operacionnuyu sistemu dlya biznesa, obrazovaniya i individual'nogo programmirovaniya. Linux perestal byt' sistemoj dlya fanatikov-programmistov, kotorye chasami sidyat pered mercayushchimi ekranami (hotya takih i nemalo). |ta kniga pomozhet vam izvlech' iz Linux maksimal'nuyu pol'zu.

Linux (proiznositsya "lInuks") prinadlezhit semejstvu UNIX-podobnyh operacionnyh sistem, kotoraya mozhet rabotat' na komp'yuterah Intel 80386 i 80486. On podderzhivaet shirokij spektr programmnyh paketov ot TeX do X Windows, kompilyatorov GNU C/C++, protokolov TCP/IP. |to gibkaya realizaciya OS UNIX, svobodno rasprostranyaemaya pod general'noj licenziej GNU (sm. prilozhenie E).

Linux mozhet lyuboj 386 ili 486 personal'nyj komp'yuter prevratit' v rabochuyu stanciyu. On prepodneset vsyu moshch' UNIX k konchikam vashih pal'cev. Biznesmeny installiruyut Linux v setyah mashin, ispol'zuyut operacionnuyu sistemu dlya obrabotki dannyh v sfere finansov, mediciny, raspredelennoj obrabotki, v telekommunikaciyah i t.d.

Universitety po vsemu miru primenyayut Linux v uchebnyh kursah po programmirovaniyu i proektirovaniyu operacionnyh sistem. Razumeetsya, povsemestno programmisty-entuziasty ispol'zuyut Linux doma dlya programmirovaniya, resheniya svoih prikladnyh zadach i vsevozmozhnogo hakerstva.

CHto delaet Linux stol' otlichnym ot drugih OS - eto ego sozdanie versii UNIX "na obshchestvennyh nachalah" (free implementation).. On byl sozdan i prodolzhaet sovershenstvovat'sya i razvivat'sya gruppoj dobrovol'cev, pervonachal'no v krugu pol'zovatelej seti Internet, kotorye obmenivalis' kodami, informaciej ob obnaruzhennyh oshibkah, vyyavleniem problem, voznikavshih pri rasshirenii sfery primeneniya. Vse zhelayushchie priglashayutsya podklyuchit'sya k etoj rabote. Edinstvennoe, chto trebuetsya - eto interes k semejstvu UNIX i zhelanie sovershenstvovat' svoi navyki v etoj sfere. Dannaya kniga - vash putevoditel'.

1.1 Ob etoj knige

|ta kniga yavlyaetsya rukovodstvom po installyacii i posobiem po nachal'nomu znakomstvu s sistemoj Linux. Cel' - priobshchit' novyh pol'zovatelej k etoj sisteme i sobrat' vozmozhno bol'she sushchestvennogo materiala po ee ispol'zovaniyu v odnoj knige. Vmesto togo, chtoby peregruzhat' knigu tehnicheskimi detalyami, kotorye bystro ustarevayut, my daem osnovy, kotorye pomogut vam samostoyatel'no nahodit' i osvaivat' dopolnitel'nuyu informaciyu.

Linux prost v installyacii i ispol'zovanii. No, kak i vo vsyakoj realizacii UNIX, v nem prisutstvuyut elementy "chernoj magii", kotorye neobhodimy pri obespechenii ego korrektnoj raboty. My nadeemsya, chto eta kniga budet vam horoshim putevoditelem po Linux i pokazhet, naskol'ko prostoj mozhet vyglyadet' eta operacionnaya sistema.

V etoj knige my rassmatrivaem sleduyushchie voprosy:

|ta kniga dlya pol'zovatelej personal'nyh komp'yuterov, zhelayushchih nachat' rabotat' s Linux. My ne predpolagaem predvaritel'nogo opyta raboty s UNIX, no nadeemsya, chto novichki budut obrashchat'sya po hodu dela k dopolnitel'noj literature. Dlya neznakomyh s UNIX v Prilozhenii A priveden spisok poleznyh istochnikov. V obshchem sluchae predpolagaetsya chtenie etoj knigi sovmestno s kakoj-libo knigoj po obshchim koncepciyam OS UNIX.

1.2 Kratkaya istoriya Linux

UNIX - odna iz samyh populyarnyh v mire operacionnyh sistem blagodarya tomu, chto ee soprovozhdaet i rasprostranyaet bol'shoe chislo kompanij. Pervonachal'no ona byla sozdana kak mnogozadachnaya sistema dlya minikomp'yuterov i mejnfrejmov v seredine 70-yh godov, no s teh por ona vyrosla v odnu iz naibolee rasprostranennyh operacionnyh sistem, nesmotrya na svoj vremenami obeskurazhivayushchij interfejs i otsutstvie centralizovannoj standartizacii.

V chem real'naya prichina populyarnosti UNIX? Mnogie hakery nutrom chuvstvuyut, chto UNIX - eto "nastoyashchaya veshch'", Edinstvennaya Nastoyashchaya Operacionnaya Sistema. Otsyuda i poyavlenie Linux, kak sistemy, razrabatyvaemoj vse bolee rasshiryayushchejsya gruppoj entuziastov UNIX, kotorye hotyat sobstvennoruchno v nej pokovyryat'sya.

Sushchestvuyut versii UNIX dlya mnogih sistem, nachinaya ot personal'nogo komp'yutera, do superkomp'yuterov, takih kak Cray Y-MP. Bol'shinstvo versij UNIX dlya personal'nyh komp'yuterov dostatochno dorogi i slozhny. K momentu napisaniya etoj knigi odnomashinnaya versiya AT&T's System V dlya 386 stoila US$1500.

Linux - svobodno rasprostranyaemaya versiya UNIX, pervonachal'no byla razrabotana Linusom Torval'dsom (Linus Torvalds) (torvalds@kruuna.helsinki.fi) v Universitete Hel'sinki (Finlyandiya). Linux byl sozdan s pomoshch'yu mnogih UNIX-programmistov i entuziastov iz Internet, teh, kto imeet dostatochno navykov i sposobnostej razvivat' sistemu. YAdro Linux ne ispol'zuet kody AT&T ili kakogo-libo drugogo chastnogo istochnika, i bol'shinstvo programm Linux razrabotany v ramkah proekta GNU iz Free Software Foundation v Cambridge, Massachusetts. No v nego vnesli leptu takzhe programmisty vsego mira.

Pervonachal'no Linux sozdavalsya Linusom Torval'dsom kak hobbi. Ego vdohnovila operacionnaya sistema Minix - malen'kaya UNIX-sistema, sozdannaya Andy Tanenbaum, i vpervye Linux obsuzhdalsya po komp'yuternoj seti v ramkah USENET newsgroup comp.os.minix. V etih obsuzhdeniyah prezhde vsego prinimali uchastie pol'zovateli Minix iz uchebnyh i nauchnyh zavedenij, kotorym hotelos' chego-to bol'shego, chem Minix.

Rannee razvitie Linux prezhde vsego bylo svyazano s problemoj pereklyucheniya zadach v zashchishchennom rezhime dlya 80386. Vse pisalos' na assemblere. Linus vspominaet:

"Posle etogo nachalos' spokojnoe plavanie: po-prezhnemu besprosvetnoe kodirovanie, no u menya byli razlichnye podsobnye programmy i otladka byla oblegchena. Na etom etape ya stal ispol'zovat' Si i eto sushchestvenno uskorilo delo. V eto zhe vremya ya stal ser'ezno obdumyvat' maniakal'nuyu ideyu, kak sdelat' Minix luchshe sebya samogo. YA nadeyalsya v odin prekrasnyj den' perekompilirovat' gcc pod Linux..." "Dva mesyaca ushlo na napisanie samyh bazovyh programm, a zatem chut' bol'she vremeni na drajver vinchestera (s bol'shim kolichestvom oshibok, no vse-taki rabotavshim na moej mashine) i prostuyu fajlovuyu sistemu. V rezul'tate ya podgotovil versiyu 0.01 (primerno konec avgusta 1991 g.). Ona byla ne slishkom izyashchnoj, v nej ne bylo drajvera gibkih diskov i ona mnogoe ne mogla delat'. No ya uzhe ne smog ostanovit'sya, poka ne sozdal svoj Minix."

Otnositel'no poyavleniya Linux versii 0.01 nikogda ne delalos' nikakih oficial'nyh zayavlenij. Ishodnye teksty 0.01 ne davali dazhe normal'nogo vypolnyaemogo koda: oni fakticheski sostoyali lish' iz nabora zagotovok dlya yadra i molchalivo predpolagali, chto vy imeete dostup k Minix-mashine, chtoby imet' vozmozhnost' kompilirovat' ih i sovershenstvovat'.

5-go oktyabrya 1991 goda Linus ob'yavil pervuyu "oficial'nuyu" versiyu Linux, versiya 0.02. V eto vremya Linux uzhe mog vypolnyat' bash (the GNU Bourne Again Shell) i gcc (the GNU C compiler), no malo eshche chto rabotalo. Vnov' eto rassmatrivalos' kak sozdanie nekoj hakerskoj sistemy. Osnovnoe vnimanie - sozdanie yadra. Nikakie voprosy podderzhki raboty s pol'zovatelem, dokumentirovaniya, tirazhirovaniya i t. p. dazhe ne obsuzhdalis'. Kazhetsya, chto i segodnya soobshchestvo Linux-istov schitaet eti voprosy vtorichnymi po sravneniyu s "nastoyashchim programmirovaniem" - razvitiem yadra.

Linus pisal v comp.os.minix:

"Grustite li vy po tem prekrasnym vremenam Minix-1.1, kogda muzhchiny byli nastoyashchimi muzhchinami i pisali svoi sobstvennye drajvery na vse ustrojstva? U vas sejchas net pod rukoj nastoyashchego proekta i vy vymiraete ot nevozmozhnosti vonzit' svoi zuby v kakuyu-to OS, kotoruyu by mozhno bylo modificirovat' pod svoi zhelaniya? Ne nahodite li vy demoralizuyushchej situaciyu, kogda vse v Minix rabotaet? Net bol'she bessonnyh nochej, kotorye pozvolyali zastavit' hitrye programmy rabotat' pravil'no? Togda eto mesto dlya vas." "Kak ya uzhe govoril mesyac nazad, sejchas ya rabotayu nad nekommercheskoj Minix-podobnoj OS dlya 386-go komp'yutera. Ona uzhe dovedena do takogo sostoyaniya, kogda eyu dazhe mozhno pol'zovat'sya (hotya mozhet byt' tam ne to, chto by vy hoteli), i ya hochu vylozhit' ishodnye teksty dlya shirokogo rasprostraneniya. |to versiya 0.02, no v nej uzhe uspeshno rabotayut bash, gcc, gnu-make, gnu-sed, compress i t.d."

Posle versii 0.03 Linus skachkom pereshel v numeracii k versii 0.10, tak kak nad proektom stalo rabotat' mnogo narodu. Posle neskol'kih posledovavshih peresmotrov versij, Linus prisvoil ocherednoj versii nomer 0.95, chtoby tem samym otrazit' svoe vpechatlenie o tom, chto skoro vozmozhna uzhe "oficial'naya" versiya. (Obychno programmam ne dayut nomer versii 1.0 do togo, kak ona teoreticheski zavershena i otlazhena). |to bylo v marte 1992 g. Primerno cherez poltora goda - v dekabre 1993 versiya yadra vse eshche byla Linux 0.99.pl14 - asimptoticheski priblizhayas' k 1.0. Vo vremya napisaniya knigi tekushchaya versiya yadra 1.1 patchlevel 52, i na podhode versiya 1.2.

Segodnya Linux - eto polnocennaya OS semejstva UNIX, sposobnaya rabotat' s X Windows, TCP/IP, Emacs, UUCP, mail i USENET. Prakticheski vse vazhnejshie programmnye pakety byli postavleny i na Linux, t.e. dlya Linux teper' dostupny i kommercheskie pakety. Vse bol'shee raznoobrazie oborudovaniya podderzhivaetsya po sravneniyu s pervonachal'nym yadrom. Mnogie testirovali Linux na 486-om i ustanovili, chto on vpolne sravnim s rabochimi stanciyami Sun Microsystems i Digital Equipment Corporation. Kto mog predpolozhit', chto etot "malen'kij UNIX" vyrastet nastol'ko, chto smozhet delat' vse v mire komp'yuterov.

1.3 Sistemnye harakteristiki

Linux podderzhivaet bol'shinstvo svojstv, prisushchih drugim realizaciyam UNIX, plyus ryad teh, kotoryh bol'she nigde net. |tot razdel - poverhnostnyj obzor harakteristik yadra Linux .

Linux - eto polnaya mnogozadachnaya mnogopol'zovatel'skaya operacionnaya sistema (tochno takzhe kak i drugie versii UNIX). |to oznachaet, chto odnovremenno mnogo pol'zovatelej mogut rabotat' na odnoj mashine, odnovremenno vypolnyat' mnogo programm.

Linux dostatochno horosho sovmestim s ryadom standartov dlya UNIX (naskol'ko mozhno govorit' o standartizacii UNIX) na urovne ishodnyh tekstov, vklyuchaya IEEE POSIX.1, System V i BSD. On sozdavalsya imeya v vidu takuyu sovmestimost'. Poetomu, skoree vsego, vy najdete v Linux cherty, prisushchie mnogim UNIX-sistemam. Bol'shinstvo svobodno rasprostranyaemyh po seti Internet programm dlya UNIX mozhet byt' otkompilirovano dlya LINUX prakticheski bez osobyh izmenenij. Krome togo, vse ishodnye teksty dlya Linux, vklyuchaya yadro, drajvery ustrojstv, biblioteki, pol'zovatel'skie programmy i instrumental'nye sredstva rasprostranyayutsya svobodno.

Drugie specificheskie vnutrennie cherty Linux vklyuchayut kontrol' rabot po standartu POSIX (ispol'zuemyj obolochkami, takimi kak csh i bash), psevdoterminaly (pty), podderzhku nacional'nyh i standartnyh klaviatur dinamicheski zagruzhaemymi drajverami klaviatur.

Linux takzhe podderzhivaet virtual'nye konsoli (virtual consoles), kotorye pozvolyayut "pereklyuchat' ekrany" na konsoli v tekstovom rezhime. Te, kto pol'zovalsya programmoj "screen", najdut podobnoe v realizacii virtual'noj klaviatury Linux.

YAdro mozhet samo emulirovat' komandy 387-FPU, tak chto sistemy bez soprocessora mogut vypolnyat' programmy, na nego raschityvayushchie (t.e. s plavayushchej tochkoj).

Linux podderzhivaet razlichnye tipy fajlovyh sistem dlya hraneniya dannyh. Nekotorye fajlovye sistemy, takie kak fajlovaya sistema ext2fs, byli sozdany special'no dlya Linux. Podderzhivayutsya takzhe drugie tipy fajlovyh sistem, takie kak Minix-1 i Xenix. Realizovana takzhe fajlovaya sistema MS-DOS, pozvolyayushchaya pryamo obrashchat'sya k fajlam MS-DOS na zhestkom diske. Podderzhivaetsya takzhe fajlovaya sistema ISO 9660 CD-ROM dlya raboty s diskami CD-ROM. Podrobnee o fajlovyh sistemah govoritsya v Glavah 2 i 4.

Linux obespechivaet polnyj nabor protokolov TCP/IP dlya setevoj raboty. |to vklyuchaet drajvery ustrojstv dlya mnogih populyarnyh kart Ethernet, SLIP (Serial Line Internet Protocol, obespechivayushchie vam dostup po TCP/IP pri posledovatel'nom soedinenii), PLIP (Parallel Line Internet Protocol), PPP (Point-to-Point Protocol), NFS (Network File System), i tak dalee. Podderzhivaetsya ves' spektr klientov i uslug TCP/IP, takih kak FTP, telnet, NNTP i SMTP. O setevyh problemah my budem govorit' v Glave 5.

YAdro Linux srazu sozdano s uchetom special'nogo zashchishchennogo rezhima dlya processorov Intel 80386 i 80486. V chastnosti, Linux ispol'zuet paradigmu opisaniya pamyati v zashchishchennom rezhime i drugie novye svojstva processorov. Lyuboj znakomyj s zashchishchennym rezhimom processora 80386 znaet, chto etot chip proektirovalsya dlya mnogozadachnyh sistem vrode UNIX (ili Mulics). Linux ispol'zuet eti svojstva.

YAdro Linux podderzhivaet zagruzku tol'ko nuzhnyh stranic. To est' s diska v pamyat' zagruzhayutsya te segmenty programmy, kotorye dejstvitel'no ispol'zuyutsya. Vozmozhno ispol'zovanie odnoj stranicy, fizicheski odin raz zagruzhennoj v pamyat', neskol'kimi vypolnyaemymi programmami.

Dlya uvelicheniya ob'ema dostupnoj pamyati Linux osushchestvlyaet takzhe razbienie diska na stranicy: to est' na diske mozhet byt' vydeleno do 256 Mbajt "prostranstva dlya svopinga" (swap space). (Swap space ne sovsem podhodyashchee imya, v Linux v oblast' svoppinga vygruzhaetsya ne ves' process, a tol'ko otdel'nye ego chasti, v kotoryh net neobhodimosti). Kogda sisteme nuzhno bol'she fizicheskoj pamyati, to ona s pomoshch'yu svopinga vyvodit neaktivnye stranicy na disk. |to pozvolyaet vypolnyat' bolee ob'emnye programmy i obsluzhivat' odnovremenno bol'she pol'zovatelej. Odnako svoping ne isklyuchaet narashchivaniya fizicheskoj pamyati, poskol'ku on snizhaet bystrodejstvie, uvelichivaet vremya dostupa.

YAdro takzhe podderzhivaet universal'nyj pul pamyati dlya pol'zovatel'skih programm i diskovogo kesha. Pri etom dlya kesha mozhet ispol'zovat'sya vsya pamyat', i naoborot, kesh umen'shaetsya pri rabote bol'shih programm.

Vypolnyaemye programmy ispol'zuyut dinamicheski svyazyvaemye biblioteki, t.e. vypolnyaemye programmy mogut sovmestno ispol'zovat' bibliotechnuyu programmu, predstavlennuyu odnim fizicheskim fajlom na diske (inache, chem eto realizovano v mehanizme razdelyaemyh bibliotek SunOS). |to pozvolyaet vypolnyaemym fajlam zanimat' men'she mesta na diske, osobenno tem, kotorye mnogokratno ispol'zuyut bibliotechnye funkcii. Est' takzhe staticheskie svyazyvaemye biblioteki dlya teh, kto zhelaet pol'zovat'sya otladkoj na urovne ob'ektnyh kodov ili imet' "polnye" vypolnyaemye programmy, kotorye ne nuzhdayutsya v razdelyaemyh bibliotekah. V Linux razdelyaemye biblioteki dinamicheski svyazyvayutsya vo vremya vypolneniya, pozvolyaya programmistu zamenyat' bibliotechnye moduli svoimi sobstvennymi.

Dlya obespecheniya otladki yadro Linux vydaet dampy pamyati dlya "posmertnogo" analiza. Ispol'zovanie dampa i dinamicheskih otladchikov pozvolyaet opredelit' prichiny kraha programmy.

1.4 Programmnye harakteristiki

V etom razdele my predstavim vam mnogie prilozheniya, dostupnye v Linux, i pogovorim ob obshchih zadachah vychisleniya. V konechnom schete - naibolee vazhnym v sisteme yavlyaetsya to, naskol'ko shirok spektr dostupnyh v nej programm. A tot fakt, chto bol'shaya chast' etih programm rasprostranyaetsya svobodno - usilivaet vpechatlenie.

Bazovye komandy i utility

Prakticheski lyubaya utilita, kotoruyu vy ozhidaete najti v standartnyh realizaciyah UNIX, imeetsya i v Linux. Syuda vklyucheny i bazovye komandy, takie kak ls, awk, tr, sed, bc, more i t.d. Nazovite lyubuyu - ona est' v Linux. Poetomu vy v prave ozhidat' znakomoj rabochej UNIX-sredy. V Linux est' vse standartnye komandy i utility. (Novichki mogut posmotret' Glavu 3 dlya nachal'nogo znakomstva s bazovymi komandami UNIX).

V Linux imeyutsya mnogie tekstovye redaktory, vklyuchaya vi, ex, pico, jove, takzhe kak GNU Emacs i ego variacii, vrode Lucid Emacs (kotoryj soderzhit rasshirenie dlya ispol'zovaniya pod X Windows) i joe. Skoree vsego, lyuboj tekstovyj redaktor, k kotoromu vy privykli, perenesen v Linux.

Vybor redaktora - yavlenie lyubopytnoe. Mnogie pol'zovateli UNIX do sih por ispol'zuyut "prostye" redaktory vrode vi (kstati, avtor pisal etu knigu v Linux, ispol'zuya redaktor vi) (kstati, perevodchik perevodil etu knigu v Linux, ispol'zuya redaktor red).

No vi imeet mnogo ogranichenij po prichine svoego preklonnogo vozrasta, sejchas zavoevyvayut populyarnost' bolee sovremennye i slozhnye redaktory vrode Emacs. Emacs podderzhivaet baziruyushchijsya na LISP makroyazyk i interpretator, moshchnyj komandnyj sintaksis i drugie rasshireniya. Sushchestvuyut makropakety Emacs, pozvolyayushchie chitat' elektronnuyu pochtu i novosti, redaktirovat' soderzhimoe katalogov i dazhe provodit' seansy psihoterapii s ispol'zovaniem iskusstvennogo intellekta (neocenimaya vozmozhnost' dlya izmotannyh Linux-om hakerov).

Interesnoe zamechanie - bol'shinstvo utilit Linux imeyut status GNU. |ti utility chasto podderzhivayut naibolee sovremennye cherty, ne soderzhashchiesya v standartnyh versiyah BSD ili AT&T. Naprimer, versiya GNU redaktora vi - elvis, soderzhit strukturnyj makroyazyk, kotoryj otlichaetsya ot ishodnoj realizacii AT&T. No tem ne menee, utility GNU sohranyayut sovmestimost' s ih tezkami iz BSD i System V. Mnogie schitayut, chto GNU versii luchshe ishodnyh programm.

Mnogie pol'zovateli samoj vazhnoj utilitoj schitayut shell. shell - eto programma, kotoraya chitaet i vypolnyaet komandy pol'zovatelya. Krome togo, mnogie obolochki (shells) imeyut takie vozmozhnosti, kak kontrol' vypolneniya> (job control) (pozvolyaya pol'zovatelyu upravlyat' neskol'kimi parallel'nymi processami), perenapravlenie vhoda-vyhoda i komandnyj yazyk dlya napisaniya komandnyh fajlov (shell scripts). Komandnyj fajl - eto programma na yazyke obolochki, analogichnaya "batch file" v MS-DOS.

V Linux mnogo tipov obolochek. Naibolee vazhnoe razlichie mezhdu nimi - ispol'zuemyj komandnyj yazyk. Naprimer, C Shell (csh) ispol'zuet komandnyj yazyk, chem-to napominayushchij yazyk programmirovaniya Si. Klassicheskij <Baurnovskij shell (Bourne Shell) ispol'zuet inoj komandnyj yazyk. Obychno vybor obolochki obuslovlen vyborom sootvetstvuyushchego komandnogo yazyka. Vybrannaya obolochka v kakoj-to mere opredelyaet vashu rabochuyu sredu.

Ne vazhno, k kakoj obolochke vy privykli, ta ili inaya ee versiya est' v Linux. Naibolee populyarnaya obolochka - eto GNU Bourne Again Shell (bash), t.e. variant Bourne shell, vklyuchayushchij mnogo sovremennyh svojstv i vozmozhnostej, takih kak upravlenie rabotami, komandnuyu istoriyu, dopisyvanie imen komand i imen fajlov, Emacs-podobnyj interfejs redaktirovaniya komandnoj stroki i moshchnoe rasshirenie standartnoj obolochki (Bourne shell).

Drugaya populyarnaya obolochka - tcsh, versiya C Shell s bolee sovremennymi funkciyami po sravneniyu s bash. Drugie obolochki: zsh - nebol'shaya baurno-podobnaya obolochka; ksh - obolochka Korna; ash - obolochka BSD i rc -obolochka proekta Plan 9.

CHto osobenno vazhno skazat' otnositel'no etih obolochek? Linux daet vam unikal'nuyu vozmozhnost' kroit' sistemu pod vashi lichnye nuzhdy. Naprimer, esli vy edinstvennyj pol'zuetes' etoj sistemoj i vy predpochitaete redaktor vi i bash v kachestve obolochki, to net neobhodimosti imet' prochie redaktory i obolochki. "Sdelaj sam, kak tebe nravitsya" - eto poziciya hakerov i pol'zovatelej Linux.

Obrabotka tekstov i slov

Pochti vse pol'zovateli nuzhdayutsya v kakoj-libo sisteme podgotovki dokumentov. (Mnogo li vy znaete entuziastov komp'yuternoj obrabotki, kotorye vse eshche pol'zuyutsya ruchkoj i bumagoj? My dogadyvaemsya, chto ochen' nemnogo). V mire personal'nyh komp'yuterov obrabotka slov (word processing) - norma: ona vklyuchaet redaktirovanie i manipulyacii s tekstom (chasto v stile WYSIWYG - "What-You-See-Is-What-You-Get" - "CHto-Vy-Vidite-Est'To- CHto-Vy-Imeete" - CHVVETCHVI) i poluchenie pechatnyh kopij, soderzhashchih risunki, tablicy i drugoj garnir.

V mire UNIX obrabotka tekstov (text processing)- veshch' bolee estestvennaya, chem klassicheskaya koncepciya obrabotki slov. Vmesto togo, chtoby vyzyvat' special'nye sredstva obrabotki slov, ishodnyj tekst mozhno modificirovat' lyubym tekstovym redaktorom, takim kak vi ili Emacs. Posle podgotovki teksta pol'zovatel' formatiruet tekst special'nymi programmami, preobrazuyushchimi ego k nuzhnomu dlya pechati vidu. |to v chem-to analogichno programmirovaniyu na yazyke vrode Si, i "kompilirovaniyu" teksta v prigodnuyu dlya pechati formu.

V Linux mnogo tekstovyh processorov. Odin iz nih groff - GNU versiya klassicheskogo formatera tekstov nroff, pervonachal'no sozdannogo v Bell Labs i do sih por ispol'zuemogo vo mnogih UNIX. Drugoj sovremennyj tekstovyj processor - TeX, sozdan znamenitym v komp'yuternom mire Donal'dom Knutom (Donald Knuth). Dostupny dialekty TeX, takie kak LaTeX.

Tekstovye processory, takie kak TeX i groff znachitel'no razlichayutsya po sintaksisu yazykov formatirovaniya. Predpochtenie toj ili inoj sistemy formatirovaniya v znachitel'noj mere baziruetsya na tom, kakie imeyutsya vspomogatel'nye utility i naskol'ko sistema vam po vkusu.

Naprimer, nekotorye lyudi schitayut groff neskol'ko zaumnym, poetomu oni ispol'zuyut TeX, kotoryj bolee ponyaten dlya homo sapiens. Mezhdu tem, groff mozhet davat' yasnyj ASCII vyhod, legko chitaemyj na terminale, v to vremya kak TeX prezhde vsego prednaznachen dlya vyvoda na pechat'. No sushchestvuyut mnogochislennye programmy, pozvolyayushchie poluchit' chitaemyj tekst iz otformatirovannyh s pomoshch'yu TeX dokumentov ili konvertiruyushchih TeX, naprimer, v groff.

Drugoj tekstovyj processor texinfo - rasshirenie TeX, ispol'zuemoe dlya podgotovki programmnoj dokumentacii v Free Software Foundation. texinfo mozhet formirovat' pechatnyj dokument ili gipertekst "Info" dlya prosmotra na ekrane na osnove odnogo ishodnogo fajla. Fajly Info - eto osnovnoj format dlya dokumentirovaniya, ispol'zuemyj v GNU, v chastnosti v Emacs.

Tekstovye processory shiroko ispol'zuyutsya v komp'yuternom mire dlya podgotovki statej, dissertacij, statej dlya zhurnalov i knig (tipografskij variant etoj knigi byl podgotovlen s ispol'zovaniem LaTeX). Vozmozhnost' obrabatyvat' ishodnyj yazyk kak tekstovyj fajl otkryvaet dveri.

Kak vyglyadit yazyk formatirovaniya? V obshchem sluchae on soderzhit sam tekst s "upravlyayushchimi kodami" dlya proizvodstva zakazannyh dejstvij, takih kak izmenenie fontov, ustanovlenie polej, formirovanie stranic i t.d.

V kachestve primera voz'mem sleduyushchij tekst:

    Mr.  Torvalds:

    We are  very  upset  with  your  current  plans  to  implement
    post-hypnotic suggestion in  the Linux  terminal driver  code.
    We feel this way for three reasons:


    1.  Planting subliminal messages in the terminal driver is not
      only immoral, it is a waste of time;

    2.  It has been proven that ``post-hypnotic  suggestions'' are
      ineffective when used upon unsuspecting UNIX hackers;

    3.  We have already implemented high-voltage electric  shocks,
      as a security measure, in the code for login.


    We hope you will reconsider.

|tot tekst na yazyke formatirovaniya LaTeX budet vyglyadet' sleduyushchim obrazom:

    \begin{quote}
    Mr. Torvalds:

    We are very upset with your current plans to  implement {\em post-
    hypnotic
    suggestion\/}      in      the       {\bf      Linux}       termi-
    nal driver code. We feel this
    way for three reasons:
    \begin{enumerate}
    \item    Planting    subliminal     messages    in    the     ker-
    nel driver is not only
        immoral, it is a waste of time;
    \item  It   has   been   proven   that   ``post-hypnotic   sugges-
    tions'' are ineffective
        when used upon unsuspecting UNIX hackers;
    \item   We   have    already   implemented   high-voltage    elec-
    tric shocks, as a
        security measure, in the code for {\tt login}.
    \end{enumerate}
    We hope you will reconsider.
    \end{quote}

Avtor vhodit v "ishodnyj" tekst, privedennyj vyshe, ispol'zuya lyuboj tekstovyj redaktor, i generiruet formatirovannyj vyhod, obrabatyvaya tekst s pomoshch'yu LaTeX. Na pervyj vzglyad takoj yazyk mozhet pokazat'sya dostatochno zaumnym, no v dejstvitel'nosti on ochen' prost v osvoenii. Ispol'zovanie tekstovogo processora obespechivaet podderzhku tipografskih standartov. Naprimer, vse perechislennye v ramkah dokumenta stranicy budut vyglyadet' odinakovo. Pishushchij mozhet sosredotochit'sya na tekste, a ne na tom, kak eto sleduet oformlyat' s tochki zreniya tipografskih trebovanij.

Processory slov tipa WYSIWYG privlekatel'ny po mnogim prichinam: oni obespechivayut moshchnyj (a inogda i slozhnyj) vizual'nyj interfejs dlya redaktirovaniya dokumentov. No etot interfejs tradicionno ogranichen zhelatel'nymi i priemlemymi dlya pol'zovatelya formami vydachi. Tak, mnogie processory imeyut sredstva podgotovki k pechati matematicheskih formul.

Preimushchestvo tekstovyh processorov sostoit v tom, chto oni pozvolyayut opisyvat' imenno to, chto vy hotite. Oni pozvolyayut takzhe redaktirovat' ishodnyj tekst lyubym tekstovym redaktorom i zatem konvertirovat' v razlichnye formaty. Platoj za takuyu gibkost' yavlyaetsya otsutstvie teh kachestv interfejsa, kotorye est' u WYSIWYG.

Mnogie pol'zovateli processorov slov privykli videt' otredaktirovannyj tekst srazu v processe redaktirovaniya. S drugoj storony, pri ispol'zovanii tekstovogo processora pishushchij ne zabotitsya o tom, kak budet vyglyadet' uzhe otformatirovannyj tekst. Pishushchij lish' dolzhen imet' predstavlenie o tom, kakie dejstviya proizvedut vstavlyaemye im komandy formatirovaniya.

Est' programmy, kotorye pozvolyayut posmotret' na graficheskom displee vid otformatirovannogo dokumenta pered ego pechat'yu. Naprimer, programma xdvi otobrazhaet "nezavisimyj ot ustrojstva" fajl, sgenerirovannyj TeX pod X Window. Drugoe prilozhenie - xfig, obespechivaet graficheskij interfejs WYSIWYG dlya risunkov i diagramm, kotoryj v posleduyushchem konvertiruetsya v komandy tekstovogo processora, vklyuchaemye v dokument.

Sleduet napomnit', chto tekstovye processory, vrode nroff, poyavilis' zadolgo do processorov slov. Mnogie predpochitayut ispol'zovat' tekstovye processory iz-za ih gibkosti i nezavisimosti ot graficheskoj sredy. V lyubom sluchae, v Linux imeetsya processor slov idoc, a takzhe skoro ozhidaetsya poyavlenie kommercheskih processorov slov. No esli vy ne hotite rasstavat'sya s processorom slov, k kotoromu vy privykli v MS-DOS, vy vsegda mozhete ispol'zovat' MS-DOS ili druguyu operacionnuyu sistemu v dopolnenie k Linux.

Sushchestvuet i mnogo drugih utilit tekstovyh processorov. Moshchnaya sistema METAFONT ispol'zuetsya dlya proektirovaniya fontov v TeX. Drugie programmy vklyuchayut ispell - interaktivnyj kontroler pravopisaniya, makeindex - ispol'zuetsya dlya generacii indeksov v dokumentah, podgotovlennyh v LaTeX. Sushchestvuet mnogo makropaketov dlya groff i TeX dlya formatirovaniya dokumentov razlichnyh tipov i matematicheskih tekstov, a takzhe t'ma konvertorov, transliruyushchih TeX ili groff vo mnogie drugie formaty.

YAzyki programmirovaniya i utility

Linux obespechivaet polnuyu UNIX-sredu programmirovaniya, vklyuchaya vse standartnye biblioteki, programmnyj instrumentarij, kompilyatory, otladchiki, kotorye vy vstrechaete i v drugih UNIX-sistemah. V mire UNIX bol'shinstvo prilozhenij i sistemnyh programm delayutsya na Si ili Si++. Standartnym kompilyatorom dlya Si i Si++ v Linux sluzhit GNU gcc, kotoryj yavlyaetsya sovremennym kompilyatorom, podderzhivayushchim mnogo opcij. On sposoben kompilirovat' Si++ (vklyuchaya osobennosti AT&T 3.0 features) takzhe, kak Objective-C, drugie ob'ektno-orientirovannye dialekty Si.

Krome Si i Si++ mnogie drugie kompilyatory i interpretatory byli pereneseny v Linux, takie kak Smalltalk, FORTRAN, Pascal, LISP, Scheme i Ada (esli vy nastol'ko mazohist, chtoby programmirovat' na Ade - my ne budem vam prepyatstvovat'). V dopolnenie, sushchestvuyut razlichnye assemblery dlya napisaniya kodov dlya zashchishchennogo rezhima 80386, a takzhe lyubimye hakerami yazyki, vrode Perl (yazyk scenariev, kak okonchatel'nyj tupik ili vershina dlya vseh yazykov takogo tipa) i Tcl/Tk (shell-podobnyj komandnyj yazyk, vklyuchayushchij podderzhku razrabotki prostejshih prilozhenij v X Window).

V Linux byl perenesen prodvinutyj otladchik gdb, pozvolyayushij poshagovo vypolnyat' programmy v poiskah oshibok ili analizirovat' krah programm s pomoshch'yu dampov pamyati. gprof - utilita profilirovaniya, pokazyvayushchaya, gde vasha programma pri vypolnenii tratit bol'she vremeni. Tekstovyj redaktor Emacs pozvolyaet osushchestvlyat' interaktivnoe redaktirovanie. Drugie instrumenty, vklyuchaya GNU make i imake ispol'zuyutsya dlya upravleniya kompilyaciej bol'shih programm; RCS - sistema dlya zashchity i soprovozhdeniya ishodnyh tekstov.

Linux soderzhit dinamicheskie biblioteki (DLL), kotorye pozvolyayut ekonomit' mesto, poskol'ku oni vyzyvayutsya tol'ko vo vremya vypolneniya. |ti biblioteki pozvolyayut takzhe prikladnomu programmistu pereopredelyat' funkcii, vklyuchaya svoi kody. Naprimer, esli programmist zhelaet napisat' svoyu sobstvennuyu versiyu bibliotechnoj programmy malloc(), komponovshchik podklyuchit novuyu programmu vmesto bibliotechnoj.

Linux idealen dlya sozdaniya UNIX-prilozhenij. On obespechivaet sovremennoe programmnoe okruzhenie so vsemi dopolnitel'nymi pogremushkami. Podderzhivayutsya razlichnye standarty vrode POSIX.1, pozvolyayushchie legko perenosit' programmy, napisannye dlya Linux, na drugie sistemy. Professional'nye UNIX-programmisty i sistemnye administratory mogut ispol'zovat' Linux dlya domashnih komp'yuterov, a s nih perenosit' napisannye programmy na komp'yutery svoej firmy. |to mozhet ne tol'ko sekonomit' mnogo vremeni i deneg, no i obespechit' komfortabel'nuyu rabotu na domashnem komp'yutere. (Avtor ispol'zuet doma Linux dlya razrabotki i testirovaniya X Window prilozhenij, kotorye mogut pryamo translirovat'sya na lyubyh rabochih stanciyah). Studenty, izuchayushchie komp'yuternye nauki, mogut ispol'zovat' Linux dlya obucheniya programmirovaniyu v UNIX i izucheniya takih aspektov, kak arhitektura yadra.

CHerez Linux vy ne tol'ko imeete dostup k polnomu naboru bibliotek i utilit, no takzhe k ishodnym tekstam yadra i bibliotek.

Sistema X Window

Sistema X Window (ili kratko prosto H) - standartnyj graficheskij interfejs dlya UNIX-mashin. |to moshchnaya sreda, podderzhivayushchaya mnogo prilozhenij. Ispol'zuya X Window, pol'zovatel' mozhet odnovremenno imet' na ekrane neskol'ko okon, pri etom kazhdoe imeet nezavisimyj login. CHasto ispol'zuetsya mysh', hotya ona neobyazatel'na.

Bylo napisano mnogo specificheskih H-prilozhenij, takih kak igry, graficheskie utility, instrumentarij dlya programmirovaniya i dokumentirovaniya i t.d. S Linux i X vash komp'yuter - zamechatel'naya rabochaya stanciya. Ispol'zuya protokoly TCP/IP, vy mozhete smotret' u sebya X-prilozheniya, vypolnyaemye na drugih mashinah.

Sistema X Window byla pervonachal'no sozdana v MIT i svobodno rasprostranyalas'. Sushchestvuet mnogo i kommercheskih prilozhenij, rasshiryayushchih vozmozhnosti X Window. Dlya Linux est' sistema X Window, izvestnaya kak XFree86; versiya X11R5 svobodno rasprostranyaetsya dlya UNIX-sistem tipa Linux. XFree86 podderzhivaet shirokij spektr video ustrojstv, vklyuchaya VGA, Super VGA, razlichnye video adaptery s uskoritelyami. |to polnyj komplekt X Window, soderzhashchij sam server, mnogo prikladnyh programm i utilit, programmnye biblioteki i dokumentaciyu.

Standartnye H-prilozheniya vklyuchayut xterm (emulyator terminala, ispol'zuemyj v bol'shinstve tekstovyh prilozhenij v X Window); xdm (X-menedzher, obsluzhivayushchij login); xclock (predstavlenie prostyh chasov); xman (X-orientirovannoe rukovodstvo po Linux) i t.d. Trudno perechislit' vse prilozheniya X, dostupnye v Linux, no bazovyj komplekt XFree86 vklyuchaet "standartnye" prilozheniya, soderzhashchiesya v ishodnoj versii MIT. No dostupno i mnogoe drugoe, teoreticheski, vse napisannoe dlya X Window dolzhno pryamo kompilirovat'sya i dlya Linux.

Interfejs X Window v bol'shoj stepeni kontroliruetsya menedzherom okon (window manager). |ta programma otvechaet za razmeshchenie okon, izmenenie ih razmerov, razmeshchenie ikonok, peremeshchenie okon, vid okonnyh ramok i t.d. Standartnyj distributiv XFree86 vklyuchaet twm, klassicheskij okonnyj menedzher MIT, no takzhe imeyutsya i bolee sovremennye menedzhery, takie kak Open Look Virtual Window Manager (olvwm). Sredi pol'zovatelej Linux populyaren fvwm. |to nebol'shoj menedzher okon, trebuyushchij v dva s lishnim raza men'she pamyati, chem twm. On obespechivaet trehmernoe predstavlenie obramleniya okon i virtual'nyj rabochij stol (desktop) - esli pol'zovatel' podvigaet mysh' k krayu ekrana, vse izobrazhenie smeshchaetsya, budto displej imeet bol'shie razmery, chem na samom dele. fvwm bolee tradicionen i pozvolyaet realizovat' vse funkcii dostupa kak s klaviatury, tak i ot myshi. Mnogie distributivy Linux soderzhat fvwm, kak standartnyj menedzher okon.

Distributiv XFree86 soderzhit programmnye biblioteki i vklyuchaet fajly dlya teh programmistov, kto zhelaet sozdavat' prilozheniya v X. Podderzhivayutsya razlichnye mnozhestva widget (graficheskih predstavlenij), takie kak Athena, Open Look i Xaw3D. Vklyucheny vse standartnye fonty, bitmepy i dokumentaciya. Podderzhivaetsya takzhe PEX (programmnyj interfejs dlya trehmernoj grafiki).

Mnogie pol'zuyushchiesya H-om ispol'zuyut i imeyushchiesya v Motif nabory widget. Neskol'ko kompanij prodayut odno- i mnogopol'zovatel'skie licenzii binarnikov Motif v Linux. Poskol'ku Motif sam po sebe sravnitel'no dorog, nemnogie vladel'cy Linux imeyut Motif. Tem ne menee, binarniki, staticheski svyazannye s bibliotechnymi programmami Motif, mogut svobodno rasprostranyat'sya. Esli vy napisali programmy s ispol'zovaniem Motif i hotite ih peredavat', vy dolzhny pozabotit'sya o samodostatochnosti kodov.

Glavnye ogranicheniya ispol'zovaniya X Window proishodyat ot trebovanij k apparature. Minimal'no neobhodim 386 processor s 4 Mbajt RAM. No dlya bolee komfortnogo rezhima zhelatel'no ne menee 8 Mbajt. ZHelatel'no i processor pobystree, no prezhde vsego neobhodima pamyat'. Dlya dejstvitel'no horoshego rezul'tata luchshe imet' kartu s akseleratorom (kak naprimer S3-chipset). Na Linux s XFree86 byl dostignut rejting vypolneniya, prevoshodyashchij 140000 xstones. Na prilichnom komp'yutere vy mozhete ubedit'sya, chto X pod Linux rabotaet ne huzhe, ili dazhe bystree, chem na drugih UNIX.

V Glave 5 my obsudim voprosy installyacii i ispol'zovaniya X.

Rabota v seti

Interesuet li vas svyaz' s mirom? Da? Net? Mozhet byt'? Linux podderzhivaet dva bazovyh setevyh protokola UNIX: TCP/IP i UUCP. TCP/IP (Transmission Control Protocol/Internet Protocol) est' mnozhestvo setevyh paradigm, pozvolyayushchih sistemam po vsemu miru svyazyvat'sya po edinoj seti, izvestnoj kak Internet. S pomoshch'yu Linux, TCP/IP i podklyucheniya k seti vy mozhete obshchat'sya s pol'zovatelyami i mashinami vsego Internet cherez elektronnuyu pochtu, novosti USENET, peredachu fajlov FTP i t.p. V Internet mnogo mashin pod Linux.

Bol'shinstvo setej TCP/IP ispol'zuyut Ethernet, kak fizicheskoe transportnoe sredstvo. Linux podderzhivaet mnogie populyarnye karty Ethernet i interfejsy.

Odnako, poskol'ku ne u vseh est' doma plata Ethernet, Linux takzhe podderzhivaet SLIP (Serial Line Internet Protocol), pozvolyayushchij svyazyvat'sya s Internet cherez modem. Dlya ispol'zovaniya SLIP vy dolzhny imet' dostup k SLIP-serveru, mashine svyazannoj s set'yu i obespechivayushchej vam vhod v Internet. Mnogie firmy i universitety predostavlyayut SLIP-servis. Esli vash Linux imeet Ethernet i modem, vy mozhete skonfigurirovat' sistemu kak SLIP-server dlya drugih hostov.

NFS (Network File System) pozvolyaet vam ispol'zovat' fajly sovmestno s drugimi mashinami seti. FTP (File Transfer Protocol) pozvolyaet peredavat' fajly mezhdu mashinami. Drugie prilozheniya vklyuchayut sendmail - sistemu peredachi i polucheniya elektronnoj pochty s ispol'zovaniem protokola SMTP; baziruyushchuyusya na protokole NNTP, sisteme elektronnyh novostej tipa C-News i INN; telnet, rlogin i rsh - pozvolyayut vojti i vypolnit' komandy na drugih mashinah seti; finger - pozvolyaet poluchat' informaciyu o drugih pol'zovatelyah Internet. Figural'no vyrazhayas' - sushchestvuyut tonny razlichnyh prilozhenij dlya protokola TCP/IP.

Polnyj spektr razlichnyh programm dlya chteniya pochty i novostej sushchestvuet v Linux, eto, naprimer, elm, pine, rn, nn i tin.

Esli u vas est' opyt raboty s prilozheniyami TCP/IP na drugih UNIX-sistemah, Linux ne budet dlya vas chem-to novym. Sistema obespechivaet standartnyj programmnyj interfejs, poetomu lyubaya programma, ispol'zuyushchaya TCP/IP, mozhet byt' legko perenesena na Linux. X-server Linux takzhe podderzhivaet TCP/IP, pozvolyaya otobrazhat' vypolnyaemye na drugih mashinah prikladnye programmy na vashem displee.

V Glave 5 my obsudim konfiguraciyu i ustanovku dlya Linux TCP/IP, vklyuchaya SLIP.

UUCP (UNIX-to-UNIX Copy) - starejshij mehanizm peredachi fajlov, elektronnoj pochty i elektronnyh novostej mezhdu UNIX-mashinami. Klassicheski, UUCP-mashiny svyazyvayutsya drug s drugom po telefonnym liniyam cherez modem, no UUCP mozhet ispol'zovat' v kachestve transportnogo sredstva i svyaz' po TCP/IP. Esli u vas net dostupa po TCP/IP ili SLIP-servera, vy mozhete skonfigurirovat' svoyu sistemu tak, chtoby posylat' i poluchat' fajly i elektronnuyu pochtu s ispol'zovaniem UUCP. Podrobnee smotrite v Glave 5.

Telekommunikacii i BBS

Esli u vas est' modem, vy mozhete svyazyvat'sya s drugimi mashinami, ispol'zuya telekommunikacionnye pakety, imeyushchiesya v Linux. Mnogie ispol'zuyut programmy telekommunikacii dlya svyazi s BBS (Bulletin Board Systems), a takzhe i s kommercheskimi on-lajnovymi sistemami, vrode Prodigy, CompuServe i America On-Line. Drugie cherez modemy svyazyvayutsya s UNIX-sistemoj v shkole ili na rabote. Vy mozhete ispol'zovat' modem i Linux dlya posylki i priema faksov. Telekommunikacionnye pakety Linux ochen' pohozhi na imeyushchiesya v MS-DOS ili drugih operacionnyh sistemah.

Odin iz naibolee populyarnyh telekommunikacionnyh paketov v Linux - Seyon - X-prilozhenie, predostavlyayushchee tradicionnyj ergonomichnyj interfejs so vstroennoj podderzhkoj razlichnyh protokolov peredachi fajlov, takih kak Kermit, ZModem i t.p. Est' takzhe telekommunikacionnye programmy C-Kermit, pcomm i minicom. |to napominaet nabory telekommunikacionnyh programm v drugih sistemah.

Esli u vas net dostupa k SLIP-serveru, vy mozhete ispol'zovat' term dlya mul'tipleksirovaniya vashej posledovatel'noj linii. term obespechit vam mnozhestvennyj dostup cherez modem na udalennuyu mashinu. term takzhe pozvolit perenapravlyat' X-klienta na lokal'nyj X-server cherez posledovatel'nuyu liniyu, davaya vozmozhnost' otobrazit' udalennoe X-prilozhenie na vashej Linux-sisteme. Drugoj paket - KA9Q - obespechivaet interfejs, pohozhij na SLIP.

BBS - eto segodnya hobbi mnogih programmistov. Linux podderzhivaet bol'shoe raznoobrazie programm dlya BBS, bol'shinstvo iz kotoryh bolee moshchnye, chem v drugih operacionnyh sistemah. S telefonnoj liniej, modemom i Linux vy mozhete prevratit' vash komp'yuter v BBS, obespechiv dial-in dostup k svoej sisteme dlya pol'zovatelej s Zemnogo shara. Programmnoe obespechenie BBS dlya Linux vklyuchaet XBBS i pakety UniBoard BBS.

Bol'shinstvo programm BBS ogranichivayut pol'zovatelya menyu-sistemoj, gde imeetsya nekotoryj fiksirovannyj nabor funkcij. Al'ternativoj dostupu v BBS sluzhit polnyj spektr vozmozhnostej dostupa UNIX, kotoryj pozvolyaet vam rabotat' s udalennoj mashinoj na pravah obychnogo pol'zovatelya.

Esli u vas net vozmozhnostej ispol'zovat' TCP/IP ili UUCP, Linux pozvolyaet takzhe svyazyvat'sya s ryadom BBS, takih kak FidoNet po telefonnym liniyam i obmenivat'sya novostyami i pochtoj. Dopolnitel'nuyu informaciyu mozhno najti v Glave 5.

Interfejs s MS-DOS

Sushchestvuyut razlichnye utility dlya svyazi s mirom MS-DOS. Naibolee izvesten Linux MS-DOS Emulator, pozvolyayushchij vypolnyat' mnogie MS-DOS programmy pryamo na Linux. Nesmotrya na to, chto Linux i MS-DOS absolyutno razlichnye operacionnye sistemy, sreda zashchishchennogo rezhima dlya 80386 pozvolyaet nekotorym zadacham vesti sebya tak, kak eto delayut prikladnye programmy MS-DOS.

|mulyator MS-DOS vse eshche v stadii sovershenstvovaniya, no mnogie populyarnye pakety v nem uzhe vypolnyayutsya. Ponyatno, chto nekotorye prilozheniya MS-DOS, ispol'zuyushchie specificheskie ili skrytye svojstva sistemy, nikogda ne budut vypolnyat'sya, poskol'ku emulyator ne znaet, kak ih emulirovat'. Naprimer, vy ne smozhete bez sherohovatostej vypolnyat' programmy, ispol'zuyushchie svojstva zashchishchennogo rezhima 80386, takie kak Microsoft Windows (v rasshirennom rezhime 386-go). Prilozheniya, kotorye uspeshno rabotayut pod Linux MS-DOS Emulator vklyuchayut: 4DOS (interpretator komand), Foxpro 2.0, Harvard Graphics, MathCad, Stacker 3.1, Turbo Assembler, Turbo C/C++, Turbo Pascal, Microsoft Windows 3.0 (v real'nom rezhime) i WordPerfect 5.1. Standartnye komandy i utility MS-DOS (takie kak PKZIP i t.p.) takzhe rabotayut s emulyatorom.

|mulyator MS-DOS prezhde vsego prednaznachaetsya dlya teh, komu MS-DOS nuzhen tol'ko dlya vypolneniya neskol'kih prilozhenij, no v osnovnom ispol'zuetsya Linux. |mulyator, eto ne polnoe povtorenie MS-DOS. Razumeetsya, esli emulyator ne udovletvoryaet vashim potrebnostyam, vy mozhete ispol'zovat' MS-DOS neposredstvenno, kak i Linux, na odnoj i toj zhe mashine. Pri ispol'zovanii zagruzchika LILO mozhno vo vremya zagruzki ukazat', kakuyu zagruzit' operacionnuyu sistemu. Linux mozhet sosushchestvovat' s drugimi operacionnymi sistemami, s toj zhe OS/2.

Linux obespechivaet "gladkij" interfejs dlya obmena fajlami mezhdu Linux i MS-DOS. Vy mozhete primontirovat' razdel MS-DOS ili gibkij disk pod Linux i imet' pryamoj dostup k fajlam MS-DOS, kak i k "rodnym".

V nastoyashchee vremya nahoditsya v rabote proekt, izvestnyj kak WINE - emulyator Microsoft Windows dlya X Window System pod Linux. Po zaversheniyu WINE, pol'zovateli budut imet' vozmozhnost' vypolnyat' MS-Windows prilozheniya pryamo iz Linux. |to pohozhe na emulyator Windows ot Sun Microsystems. V moment napisaniya etih strok WINE vse-eshche na rannej stadii sozdaniya, no imeet horoshie perspektivy. V Glave 5 my pogovorim ob instrumentarii MS-DOS, dostupnom iz Linux.

Drugie prilozheniya

V Linux ogromnoe kolichestvo vsevozmozhnyh prilozhenij, chto i sleduet ozhidat' ot takoj "raznostoronnej" operacionnoj sistemy. Osnovnaya orientaciya Linux byla na personal'nye UNIX-vychisleniya, no ona bystro menyaetsya. Vse bol'she ego ispol'zuyut v biznese i obuchenii, vse bol'she poyavlyaetsya na rynke vsevozmozhnyh kommercheskih prilozhenij.

V Linux dostupno neskol'ko relyacionnyh baz, vklyuchaya Postgres, Ingres, i Mbase. |to polnomasshtabnye professional'nye sistemy upravleniya bazami dannyh tipa klient-server, pohozhie na imeyushchiesya na drugih platformah UNIX. Imeetsya takzhe kommercheskaya baza /rdb.

Prikladnye nauchnye pakety vklyuchayut FELT (Finite Element Analysis Tool); gnuplot (analiz dannyh i cherchenie); Octave (paket simvolicheskih vychislenij, pohozhij na MATLAB); xspread ( kal'kulyator tipa spreadsheet); xfractint (X-variant populyarnogo rekursivnogo generatora Fractint); xlispstat (paket statistiki) i mnogoe drugoe. Drugie prilozheniya soderzhat Spice (proektirovanie i analiz cepej) i Khoros (analogo/cifrovaya obrabotka signalov i vizualizaciya).

Razumeetsya, est' eshche mnogo prilozhenij, kotorye byli ili budut pereneseny na Linux. Linux obespechivaet polnyj programmnyj UNIX-interfejs, udobnyj v kachestve ishodnoj bazy dlya lyubyh prilozhenij v lyuboj nauchnoj oblasti.

Kak i drugie operacionnye sistemy, Linux ne stoit v storone ot komp'yuternyh igr. |to i klassicheskie tekstovye "podzemel'nye" igry, vrode Nethack i Moria; igry tipa MUDs (Multi-User Dungeons, kotorye pozvolyayut vzaimodejstvovat' mnogim pol'zovatelyam), vrode DikuMUD i TinyMUD; a takzhe t'ma igr v X, takih kak xtetris, netrek i Xboard (X11-versiya gnuchess). Populyarnaya igra tipa perestrelyaj-ih-vseh-v-labirintah - Doom takzhe perenesena v Linux.

Dlya melomanov Linux podderzhivaet razlichnye saund-karty, vrode CDplayer (programma, kotoraya mozhet upravlyat' drajverom CD-ROM, kak tradicionnym CD-plejerom), MIDI posledovatel'nosti i redaktory (pozvolyayushchie sozdavat' muzyku na sintezatore ili drugom, upravlyaemom MIDI instrumente) i saund-redaktory cifrovoj zapisi.

Vy ne mozhete najti nuzhnuyu prikladnuyu programmu? Karta programm Linux, privedennaya v prilozhenii A imeet bol'shoj spisok paketov, kotorye byli napisany dlya Linux ili pereneseny v nego. Spisok daleko ne polnyj, hotya i perechislyaet bol'shoe kolichestvo paketov. Drugoj sposob poiska prilozhenij v Linux, eto prosmatrivat' fajly INDEX na FTP serverah pod Linux, esli vy imeete dostup v Internet. Oglyanites' vokrug i vy najdete mnogo togo, s chem interesno povozit'sya.

No esli vy sovershenno ne mozhete najti togo, chto vam nado, vy vsegda mozhete popytat'sya perenesti nuzhnye prilozheniya v Linux. Bol'shaya chast' svobodno rasprostranyaemyh programm dlya UNIX mogut byt' otkompilirovany dlya Linux, kak pravilo, bez bol'shih problem. Ili, esli kompilyaciya ne prohodit, vy sami mozhete napisat' sootvetstvuyushchuyu programmu. Esli vam nuzhna kommercheskaya programma, vozmozhno, chto sushchestvuet ee svobodno rasprostranyaemyj variant. A mozhet, vy ubedite kompaniyu sdelat' vypolnyaemye versii dlya Linux. Istoriya znaet sluchai, kogda udavalos' ugovorit' kompanii.

1.5 Otnositel'no Copyright dlya Linux

Obshchedostupnaya Licenziya GNU (the GNU General Public License) ili kratko GPL. GPL byla razrabotana dlya proekta GNU associaciej Free Software Foundataion. Ona ustanavlivaet nekotorye polozheniya otnositel'no rasprostraneniya i modifikacii "svobodnorasprostranyaemyh programm". V dannom sluchae "svoboda" otnositsya imenno k Svobode, a ne k stoimosti. GPL vsegda byl istochnikom nedoponimaniya i my nadeemsya, chto etot obzor pomozhet vam ponyat' celi i zadachi GPL i ego vliyanie na Linux. Polnaya kopiya GPL vklyuchena v Prilozhenie E.

Pervonachal'no Linus Torval'ds vypustil Linux pod licenziej bolee ogranichivayushchej, chem GPL, kotoraya razreshala svobodnoe rasprostranenie i modifikaciyu, no zapreshchala lyubye denezhnye raschety pri peredache i ispol'zovanii. S drugoj storony GPL pozvolyaet lyudyam prodavat' i imet' pribyl' so svobodno rasprostranyaemyh pogramm, no no ne razreshaet ogranichivat' prava drugih v rasprostranenii etih programm lyubym obrazom.

Prezhde vsego sleduet ob'yasnit', chto "svobodnorasprostranyaemye programmy", pod licenziej GPL - eto ne public domain. Programmy public domain - eto programmy ne zashchishchennye s pomoshch'yu copyright i, figural'no vyrazhayas', prinadlezhat "pochtennoj publike" - obshchestvu. Programmy, zashchishchaemye GPL, naoborot, zashchishchayut avtorskie prava avtora ili avtorov. |to znachit, chto programmy zashchishcheny standartnymi mezhdunarodnymi zakonami copyright, i chto avtor programm oficial'no oboznachen. Tak chto iz fakta svobodnogo rasprostraneniya programm ne sleduet, chto oni - public domain.

Programmy pod licenziej GPL ne yavlyayutsya takzhe shareware. V obshchem sluchae programmy shareware prinadlezhat i kopiruyutsya avtorom, a avtor trebuet prisylat' den'gi za ispol'zovanie programmy posle ee peredachi. A programmy pod GPL mogut rasprostranyat'sya besplatno.

GPL takzhe pozvolyaet lyudyam brat' i modificirovat' programmy, a takzhe rasprostranyat' svoi sobstvennye versii programm. Odnako vsyakaya proizvodnaya rabota, osnovannaya na programmah, zashchishchennyh dolzhna byt' pod zashchitoj GPL. Drugimi slovami, kompaniya ne mozhet, vzyav i modificirovav Linux, prodavat' ego pod ogranichitel'noj licenziej. Lyubye programmy, proizvodnye ot, dolzhny byt' takzhe zashchishcheny GPL.

GPL pozvolyaet rasprostranyat' i ispol'zovat' programmy besplatno. Odnako, ona pozvolyaet cheloveku ili kompanii rasprostranyat' programmy GPL za den'gi i dazhe poluchat' pribyl' ot prodazhi i rasprostraneniya. Odnako, pri prodazhe programm pod GPL distributor ne mozhet lishit' takih prav (svobodnogo rasprostraneniya) pokupatelya. To est', esli vy kupili gde-to programmy pod GPL, vy mozhete ih svobodno rasprostranyat', ili sami zanyat'sya torgovlej imi.

Snachala eto mozhet zvuchat' kak protivorechie. Kak eto tak, prodavat' s vygodoj dlya sebya programmy, kogda GPL pozvolyaet lyubomu imet' ih besplatno? Naprimer, predpolozhim, chto kakaya-to kompaniya reshila sobrat' bol'shoe chislo svobodnorasprostranyaemyh programm na CD-ROM i zanyatsya ih rasprostraneniem. |ta kompaniya dolzhna vernut' den'gi dlya pokrytiya rashodov na proizvodstvo i distribuciyu CD-ROM, kompaniya mozhet takzhe reshit' sdelat' na etih prodazhah pribyl'. |to razreshaetsya v sootvetsvii s GPL.

Organizaciya, prodayushchaya svobodnorasprostranyaemye programmy, dolzhna sledovat' opredelennym ogranicheniyam, vydvigaemym GPL. Pervoe, oni ne imeyut prava ogranichit' prava pol'zovatelej, kupivshih programmu. |to znachit, chto esli vy kupili CD-ROM s programmami pod GPL, vy mozhete besplatno ih kopirovat' i svobodno rasprostranyat' etot CD-ROM, ili tozhe prodavat'. Vtoroe, distributory dolzhny dostupnym obrazom dovodit' do pol'zovatelej informaciyu o tom, chto eti programmy nahodyatsya pod zashchitoj GPL. Tret'e, distributory dolzhny postavit' besplatno polnyj ishodnyj kod rasprostranyaemyh programm. |to pozvolit lyubomu, kto kupit programmy pod GPL, modificirovat' ih.

Pozvolit' kompaniyam rasprostranyat' i prodavat' svobodnorasprostranyaemye programmy - veshch' ochen' horoshaya. Ne vsyakij imeet dostup k Internet, chtoby skachat' programmy, vrode Linux, besplatno. (prim. perevodchika: Pravda, sama IP-svyaz' dlya mnogih v nashej strane ochen' i ochen' dazhe ne besplatno - vo mnogo raz dorozhe, chem eto obhoditsya "srednemu amerikancu". O kachestve svyazi i govorit' ne hochetsya). GPL pozvolyaet kompaniyam prodavat' i rasprostranyat' programmy sredi teh, kto ne imeet svobodnogo dostupa k programmam. Naprimer, mnogie organizacii prodayut Linux na disketah, lentah ili CD-ROM po pochtovym zakazam i delayut na etom svoyu pribyl'. Razrabotchiki Linux mogut nikogda ne uvidet' kakuyu-libo pribyl' dlya sebya ot etih prodazh. Vot kakim obrazom reguliruyutsya otnosheniya mezhdu razrabotchikami i distributorami, kogda programmy nahodyatsya pod licenziej GPL. Drugimi slovami, Linus ne sputajte avtora s nazvaniem OS Linux znal, chto kompanii mogut zahotet' prodavat' Linux, i chto on mozhet ne uvidet' i penni ot etih prodazh.

V mire svobodnorasprostranyaemyh programm vazhnym elementom yavlyayutsya den'gi. Cel' svobodnorasprostranyaemyh programm - eto vsegda sozdanie i rasprostranenie fantasticheskih programm; chtoby lyuboj mog ih svobodno dostat' i ispol'zovat'. V sleduyushchem razdele my obsudim, kak eto sootnositsya s razrabotkoj Linux.

1.6 Proektirovanie i filosofiya Linux

Kogda novyj pol'zovatel' stalkivaetsya s Linux, chasto voznikayut lozhnye ozhidaniya. Linux - unikal'naya operacionnaya sistema, i vazhno ponimat' ego filosofiyu i osobennosti proektirovaniya, chtoby effektivno ego ispol'zovat'. Dazhe esli vy umudrennyj godami UNIX-guru, vy najdete v posleduyushchem interesnoe dlya sebya.

V firmah, razrabatyvayushchih kommercheskie UNIX, vsya sistema sozdaetsya pod zhestkim kontrolem kachestva, sushchestvuet sistema upravleniya napisaniem programm, vneseniem izmenenij, dokumentirovaniem, informirovaniem o vyyavlennyh oshibkah i ih ustraneniem. Razrabotchikam zapreshcheno po sobstvennomu zhelaniyu dobavlyat' kakie-to svojstva ili menyat' kriticheski vazhnye kody po svoemu zhelaniyu. Oni mogut vnosit' izmeneniya tol'ko, kak reakciyu na vyyavlennye oshibki, dokumentirovat' vnosimye izmeneniya tak, chtoby mozhno bylo sistemu pri neobhodimosti "vernut' nazad". Kazhdyj razrabotchik zakreplen za odnoj ili neskol'kimi chastyami sistemnogo koda, i tol'ko etot razrabotchik imeet pravo ispravlyat' zamechennye oshibki.

Vnutri firm departamenty kontrolya kachestva osushchestvlyayut zhestkoe testirovanie vsyakoj novoj versii operacionnoj sistemy. Razrabotchiki obyazany pod kontrolem ustranyat' vyyavlennye oshibki. Sushchestvuet slozhnaya sistema statisticheskogo analiza, opredelyayushchaya, skol'ko oshibok dolzhno byt' ustraneno, chtoby ob'yavit' perehod k novoj versii.

Podhod, ispol'zuemyj sozdatelyami kommercheskogo UNIX pri napisanii i soprovozhdenii kodov, ves'ma slozhen i eto vpolne obosnovanno. Firma dolzhna imet' postoyannye i horosho detalizirovannye podtverzhdeniya tomu, chto sleduyushchaya versiya operacionnoj sistemy sozrevaet dlya vypuska na rynok. Otsyuda sbor i analiz statistiki o rabote etoj sistemy. |to ochen' bol'shaya i trudoemkaya rabota - sozdavat' kommercheskij UNIX. CHasto nastol'ko bol'shaya, chto trebuyutsya sotni, esli ne tysyachi programmistov, specialistov po testirovaniyu, pisatelej dokumentacii, administrativnogo personala. Razumeetsya, nikakie dva proizvoditelya kommercheskogo UNIX ne pohozhi drug na druga, no obshchie principy imenno takovy, kak opisany vyshe.

Primenitel'no k Linux vy mozhete vykinut' iz golovy vysheopisannuyu koncepciyu organizacii razrabotki bol'shoj programmnoj sistemy, otladki, kontrolya kachestva, statisticheskogo analiza i t.p. Sudya po vsemu, Linux byl i ostanetsya hakerskoj sistemoj. (CHto ya ponimayu pod slovom "haker" - eto fanaticheski predannyj programmirovaniyu chelovek, kotoromu nravitsya rabotat' na komp'yutere i delat' na nem interesnye veshchi. |to ne sootvetstvuet ponimaniyu nekotorymi slova "haker", kak oboznacheniya dlya komp'yuternogo huligana).

Linux pervonachal'no sozdavalsya gruppoj entuziastov v Internet so vsego mira. Lyuboj, v Internet i za ego predelami, imeyushchij dostatochnye znaniya i navyki, imeet vozmozhnost' prinyat' uchastie v sovershenstvovanii i otladke yadra, perenose v Linux novyh programm, napisanii dokumentacii, pomoshchi novichkam. Net opredelennoj organizacii, otvechayushchej za razvitie sistemy. Bol'shej chast'yu Linux-soobshchestvo obshchaetsya cherez gruppy po interesam USENET. Sushchestvuet ryad soglashenij dlya prinimayushchih uchastie v razrabotkah: naprimer, lyuboj, zhelayushchij, chtoby ego kod byl vklyuchen v "oficial'noe" yadro, dolzhen napisat' Linusu Torval'dsy, kotoryj provedet testirovanie i vklyuchit kod v yadro (esli predlagaemyj kod vpisyvaetsya v sistemu i ne protivorechit ee principam - skoree vsego on budet vklyuchen).

Sama po sebe sistema proektiruetsya po otkrytomu principu. Hotya chislo vnosimyh radikal'nyh izmenenij v sistemu umen'shaetsya, obshchaya tendenciya vydachi novoj versii yadra cherez neskol'ko mesyacev (a inogda i chashche) sohranyaetsya. Razumeetsya, eto priblizitel'naya harakteristika, ona zavisit ot mnogih faktorov, vklyuchaya chislo obnaruzhennyh oshibok, chislo zamechanij pol'zovatelej, i to, skol'ko chasov Linus spal v etom mesyace.

Estestvenno, ne vse oshibki vyyavlyayutsya i ne vse problemy reshayutsya mezhdu vypuskami versij. No kogda sozdaetsya vpechatlenie, chto sushchestvennye i chasto proyavlyayushchiesya oshibki ustraneny i sistema vedet sebya dostatochno "stabil'no", vypuskaetsya novaya versiya. |to ne popytka vypustit' bezoshibochnuyu versiyu, a zhelanie vypustit' versiyu UNIX, s kotoroj mozhno rabotat'. Linux prezhde vsego orientirovan na razrabotchikov.

Vse, u kogo est' novye programmy, kotorye oni hoteli by dobavit' v sistemu, obychno delayut ih dostupnymi dlya drugih na "al'fa" stadii, t.e. na stadii testirovaniya temi otvazhnymi ili eshche ne ustavshimi pol'zovatelyami, kotorye hotyat sokrushat' voznikayushchie problemy pervonachal'nogo koda. Poskol'ku Linux-soobshchestvo v bol'shoj stepeni kuchkuetsya vokrug Internet, al'fa-programmy vykladyvayutsya na odin ili bolee Linux FTP-servera (smotrite Prilozhenie C) i posylaetsya pis'mo v odnu iz Linux-grupp USENET, o tom kak mozhno poluchit' i testirovat' predstavlennyj kod. Pol'zovateli, kotorye skachivayut i testiruyut eti al'fa-programmy, mogut po pochte soobshchat' rezul'taty, ukazyvat' oshibki, zadavat' voprosy avtoru.

Posle resheniya nachal'nyh problem s al'fa-kodom, kod priobretaet status "beta", pri kotorom on obychno uzhe dostatochno stabilen, hotya i nebezgreshen (on rabotaet, no ne vse eshche ego vetvi polnost'yu rabotosposobny). Inache kod popadaet v razryad "gotovogo", kogda on schitaetsya polnym i pravil'nym. Otnositel'no novyh kodov yadra neobhodimo prosit' Linusa vklyuchit' ih v standartnoe yadro ili dobavit' kak fakul'tativnuyu opciyu yadra.

Sleduet imet' v vidu, chto eto lish' soglasheniya, a ne pravila. Nekotorye lyudi tak uvereny v svoih programmah, chto ne schitayut nuzhnym publikovat' al'fa-versiyu. Tak chto ot razrabotchika zavisit v izvestnoj mere i procedura.

Vas mozhet neskol'ko udivit' stol' neuporyadochennaya sistema privlecheniya dobrovol'cev, programmirovaniya i otladki UNIX. Mozhet li ona dat' voobshche polozhitel'nyj rezul'tat? Kak okazyvaetsya, eto odin iz samyh effektivnyh i uspeshnyh proektov, kogda-libo sushchestvovavshih. Polnost'yu vse yadro bylo napisano bez privlecheniya kakih libo chastej ranee sushchestvovavshego koda. Bol'shaya rabota byla prodelana dobrovol'cami po perenosu svobodno rasprostranyaemyh programm v Linux. Byli napisany biblioteki, sozdana fajlovaya sistema, drajvery dlya mnogih populyarnyh ustrojstv.

Obychno programmnaya sistema Linux rasprostranyaetsya v vide distributiva (distribution), soderzhashchego sredstva installyacii i raskrutki sistemy. Bol'shinstvu pol'zovatelej trudno samim sobrat' sistemu iz razroznennyh chastej. No ne sushchestvuet nekoego standartnogo distributiva - ih mnogo, kazhdyj so svoimi preimushchestvami i nedostatkami. O razlichnyh distributivah Linux rech' pojdet v Razdele 2.1.

Nesmotrya na polnotu Linux, vam vse ravno potrebuetsya nemnozhko nou-hau po installyacii i ispol'zovaniyu UNIX kak takovogo. Ni odin iz distributivov Linux ne svoboden polnost'yu ot oshibok, tak chto vam mozhet potrebovat'sya chto-to dodelat' "vruchnuyu" posle installyacii. Pol'zovanie UNIX - neprostaya zadacha, dazhe dlya kommercheskih versij UNIX. Esli u vas ser'eznye namereniya otnositel'no Linux, imejte v vidu, chto potrebuyutsya znachitel'nye usiliya i vnimanie s vashej storony, chtoby obespechit' normal'nuyu ego ekspluataciyu. |to spravedlivo otnositel'no lyubogo UNIX, i Linux ne yavlyaetsya isklyucheniem. Iz-za bol'shoj raznosherstnosti Linux-soobshchestva i bol'shogo raznoobraziya v zhelaniyah otnositel'no vozmozhnostej sistemy ne vse i ne dlya vseh mozhet byt' bystro realizovano.

Zamechaniya dlya novichkov v UNIX

Installyaciya i ispol'zovanie vashego lichnogo Linux ne trebuet bol'shoj podgotovki v UNIX kak takovom. Dejstvitel'no, mnogie novichki v UNIX uspeshno installiruyut Linux na svoih komp'yuterah. Razumeetsya, zhelatel'ny znaniya i opyt, no nekotoryh predvaritel'nye trebovaniya mogut demoralizovat'. Esli vam povezet, vy smozhete installirovat' i nachat' ispol'zovat' Linux bez kakih-libo predvaritel'nyh znanij po UNIX. No kak tol'ko vy stolknetes' s bolee slozhnymi zadachami ekspluatacii Linux - installyaciej novyh programm, perekompilyaciej yadra i t.p., bazovye znaniya po UNIX stanut neobhodimymi.

K schast'yu, ekspluatiruya svoj Linux, vy imeete vozmozhnost' osvoit' vse sushchestvennye osobennosti UNIX, neobhodimye dlya vypolneniya etih zadach. |ta kniga soderzhit dostatochno informacii dlya nachala raboty - Glava 3 yavlyaetsya uchebnym materialom po osnovam UNIX, a Glava 4 - po rabote sistemnogo administratora Linux. Vy mozhete zahotet' prochitat' eti glavy do popytki installyacii Linux. Informaciya, soderzhashchayasya tam, mozhet byt' ochen' poleznoj, esli vy stolknetes' s problemami.

Nikto ne smozhet prevratit'sya iz novichka v OS UNIX za odnu noch' v sistemnogo administratora UNIX. Vy dolzhny byt' gotovy k dlitel'nomu puteshestviyu, kotoroe vam predstoit.

Zamechaniya dlya UNIX-guru

Dazhe lyudi, imeyushchie dlitel'nyj opyt raboty s UNIX, mogut nuzhdat'sya v dopolnitel'nyh znaniyah dlya installyacii i ispol'zovaniya Linux. Sushchestvuyut aspekty sistemy, s kotorymi dazhe ekspertam v UNIX nelishne poznakomit'sya pered nachalom raboty, hotya by potomu, chto Linux - eto ne kommercheskij UNIX. On sledoval, skoree vsego, drugim standartam i principam, chem te, k kotorym vy privykli ranee. I hotya stabil'nost' sistemy - vazhnyj faktor razvitiya Linux, eto ne edinstvennyj faktor.

Vozmozhno, bolee vazhnoj yavlyaetsya funkcional'nost'. Vo mnogih sluchayah novyj kod dobavlyaetsya v yadro, dazhe esli soderzhit oshibki i funkcional'no ne polon. Sushchestvuet predpolozhenie, chto vazhnee vypustit' kod, kotoryj pol'zovateli mogut testirovat' i ispol'zovat', chem delat' ego nedostupnym. Naprimer, WINE (Microsoft Windows Emulator for Linux) imel "oficial'nuyu" al'fa versiyu do togo, kak byl polnost'yu ottestirovan. Linux-soobshchestvo imeet bol'shoj shans porabotat' s kodom, protestirovat' ego i pomoch' v ego sovershenstvovanii, poka te, kto schitayut al'fa-versiyu dostatochno horoshej dlya svoih nuzhd, mogut ee ispol'zovat'. Postavshchiki kommercheskih UNIX redko rasprostranyayut ih takim obrazom.

Esli vy uzhe bolee desyatiletiya sistemnyj administrator UNIX i rabotali s kommercheskimi versiyami UNIX, Linux mozhet potrebovat' vremeni na privykanie. |ta sistema sovremennaya i dinamichnaya. Novye versii yadra poyavlyayutsya primerno raz v neskol'ko nedel'. Postoyanno poyavlyayutsya novye programmy. Eshche segodnya vasha sistema mozhet byt' sovershenno sovremennoj, a uzhe zavtra - kamennym vekom.

Uchityvaya takuyu dinamiku, kak uderzhat'sya na plavu v mire Linux? Dlya bol'shinstva luchshe vsego delat' chastichnye usovershenstvovaniya, to est' menyat' tol'ko te chasti, kotorye, na vash vzglyad dejstvitel'no nuzhdayutsya v obnovlenii. Naprimer, esli vy ne ispol'zuete Emacs, net smysla regulyarno menyat' ego versii na vashem komp'yutere. Bolee togo, dazhe esli vy priverzhenec Emacs, ne nuzhno menyat' versiyu, esli tol'ko v novoj versii ne poyavilis' te vozmozhnosti, kotorye vam dejstvitel'no neobhodimy. Sovsem ne obyazatel'no vsegda imet' samuyu poslednyuyu versiyu vsego.

My nadeemsya, chto Linux opravdaet ili dazhe prevzojdet vashi ozhidaniya, svyazannye s "domoroshchennoj" UNIX-sistemoj. V samoj osnove Linux duh svobodnogo programmirovaniya, postoyannogo razvitiya i sovershenstvovaniya. Linux-soobshchestvo predpochitaet ekspansiyu stabil'nosti, i etu koncepciyu trudno proglotit' mnogim, osobenno tem, kto stoit vysoko v mire kommercheskogo UNIX. Nel'zya schitat' Linux sovershenstvom, kak i nichto v mire svobodno rasprostranyaemyh programm. No my verim, chto Linux polon i rabotosposoben, kak i lyubaya drugaya realizaciya UNIX.

1.7 Razlichiya mezhdu Linux i drugimi operacionnymi sistemami

Vazhno ponimat' razlichiya mezhdu Linux i drugimi operacionnymi sistemami, takimi kak MS-DOS, OS/2, a takzhe drugimi realizaciyami UNIX dlya personal'nyh komp'yuterov. Prezhde vsego, dolzhno byt' yasno, chto Linux mozhet schastlivo sosushchestvovat' s drugimi operacionnymi sistemami na toj zhe mashine. Kak my uvidim, sushchestvuyut dazhe sposoby vzaimodejstviya operacionnyh sistem.

Pochemu Linux?

Pochemu stoit ispol'zovat' Linux vmesto horosho izvestnyh, horosho ottestirovannyh, horosho dokumentirovannyh kommercheskih operacionnyh sistem? My mozhem privesti tysyachi prichin. Odna iz naibolee vazhnyh - to chto Linux - otlichnyj vybor dlya personal'nyh vychislenij v srede UNIX. Esli vy razrabotchik programm v UNIX, zachem doma ispol'zovat' MS-DOS? Linux pozvolit vam sozdavat' i testirovat' programmy dlya UNIX na vashem personal'nom komp'yutere, vklyuchaya bazy dannyh i prilozheniya dlya X Window. Esli vy student, to vysoka veroyatnost', chto universitetskaya komp'yuternaya sistema rabotaet pod UNIX. Linux pozvolyaet vam imet' svoj sobstvennyj UNIX i perekraivat' ego po svoemu vkusu. Installyaciya i ispol'zovanie Linux - takzhe prekrasnyj put' izucheniya UNIX, esli u vas net dostupa k drugim UNIX-mashinam.

No ne budem zaryvat'sya. Linux ne dlya otdel'nyh skromnyh lyubitelej UNIX na personalkah. |to bol'shaya i dostatochno slozhnaya sistema dlya resheniya slozhnyh zadach i organizacii raspredelennyh vychislenij. Mnogie firmy, osobenno nebol'shie, dvigayutsya v storonu Linux, predpochitaya ego drugim UNIX. Universitety schitayut Linux otlichno podhodyashchim dlya obucheniya operacionnym sistemam. Krupnye postavshchiki programm nachinayut ponimat', kakie vygody sulit svobodnoe rasprostranenie operacionnyh sistem.

Sleduyushchij razdel pokazhet naibolee vazhnye razlichiya mezhdu Linux i drugimi operacionnymi sistemami. My nadeemsya, chto Linux mozhet udovletvorit' vse vashi vychislitel'nye potrebnosti ili (v krajnem sluchae) znachitel'no rasshirit vozmozhnosti vashej vychislitel'noj sredy. Imejte v vidu, chto luchshij sposob uznat' vkus Linux - eto na nem porabotat'. Vam ne obyazatel'no dazhe installirovat' polnuyu sistemu, chtoby pochuvstvovat' ego. |to my pokazhem v Glave 2.

Linux protiv MS-DOS

Ne yavlyaetsya chem-to ekzoticheskim odnovremenno derzhat' na komp'yutere Linux i MS-DOS. Mnogie pol'zovateli Linux rabotayut s prikladnymi paketami MS-DOS, vrode razlichnyh redaktorov.

Hotya Linux imeet sobstvennye analogi dlya takih prilozhenij (naprimer, TeX), sushchestvuyut raznoobraznye prichiny, po kotorym konkretnyj chelovek budet ispol'zovat' MS-DOS naryadu s Linux. Esli vsya vasha dissertaciya napisana s ispol'zovaniem WordPerfect v MS-DOS, vozmozhno vy ne smozhete konvertirovat' ego v TeX ili kakoj-to drugoj format. Sushchestvuet mnogo kommercheskih prilozhenij dlya MS-DOS, kotoryh net v Linux, poetomu, esli est' smysl, pochemu ne ispol'zovat' obe operacionnye sistemy.

Kak vy, ochevidno, znaete, MS-DOS ne ispol'zuet polnost'yu funkcional'nye vozmozhnosti 80386 i 80486 processorov. S drugoj storony, Linux polnost'yu rabotaet v zashchishchennom rezhime processora i realizuet vse vozmozhnosti processora. Vy mozhete imet' pryamoj dostup ko vsej imeyushchejsya v rasporyazhenii pamyati (i sverh togo - ispol'zuya virtual'nuyu RAM). Linux obespechivaet polnyj UNIX-interfejs, otsutstvuyushchij v MS-DOS. Na Linux vy mozhete prosto pisat' i otlazhivat' prikladnye programmy dlya UNIX, v to vremya, kak eto neslozhno delat' pod MS-DOS.

My mozhem obsuzhdat' plyusy i minusy MS-DOS i Linux beskonechno. Mezhdu tem, davajte zametim, chto Linux i MS-DOS absolyutno raznye sistemy. MS-DOS - eto deshevaya OS (v sravnenii s drugimi operacionnymi sistemami), i imeet shirokuyu podderzhku v mire personal'nyh komp'yuterov. Ni odna drugaya OS dlya personal'nyh komp'yuterov ne mozhet sravnit'sya s nej po populyarnosti, prezhde vsego iz-za stoimosti. Malo kto iz vladel'cev personal'nyh komp'yuterov mozhet dazhe predstavit', chto odnazhdy on potratit $1000 ili bolee tol'ko na odnu operacionnuyu sistemu. Linux zhe, kstati, voobshche besplaten, tak chto u vas est' povod podumat'.

Vy mozhete sami sostavit' svoe vpechatlenie ot sravneniya Linux i MS-DOS, osnovyvayas' na tom, naskol'ko oni otvechayut vashim ozhidaniyam. Linux - eto ne dlya vsyakogo. Esli vam vsegda hotelos' imet' polnomasshtabnyj UNIX doma, ne sovershaya bol'shih zatrat, Linux mozhet byt' kak raz to, chto vam nado.

Sushchestvuet instrumentarij, pozvolyayushchij vzaimodejstvovat' Linux i MS-DOS. Naprimer, prosto poluchit' dostup k fajlam MS-DOS iz Linux. Est' takzhe emulyator MS-DOS, pozvolyayushchij vypolnyat' mnogie populyarnye prikladnye pakety MS-DOS. |mulyator Microsoft Windows nahoditsya na etape sozdaniya.

Linux protiv prochih

Ryad drugih prodvinutyh operacionnyh sistem vshodit na gorizonte mira personal'nyh komp'yuterov. V chastnosti, OS/2 firmy IBM i Windows NT firmy Microsoft stanovyatsya vse bolee populyarny po mere uhoda pol'zovatelej iz MS-DOS.

Obe OS/2 i Windows NT yavlyayutsya polnymi mnogozadachnymi operacionnymi sistemami, kak i Linux. CHisto tehnicheski, OS/2, Windows NT i Linux ochen' pohozhi: oni imeyut pohozhie interfejsy s pol'zovatelem, sistemu zashchity i t.p. No glavnoe dejstvitel'noe otlichie sostoit v tom, chto Linux est' raznovidnost' UNIX, a otsyuda vse preimushchestva prinadlezhnosti k UNIX-soobshchestvu.

CHto delaet UNIX stol' vazhnym? |to ne tol'ko samaya populyarnaya operacionnaya sistema dlya mnogopol'zovatel'skih mashin, eto takzhe baza dlya bol'shej chasti svobodno rasprostranyaemyh v mire programm. Esli u vas est' dostup k Internet, pochti vse programmy, svobodno dostupnye tam, napisany imenno dlya UNIX. (Sam Internet v bol'shoj stepeni stoit na UNIX).

Sushchestvuet mnogo razlichnyh firm, proizvodyashchih UNIX i ni odnoj, otvetstvennoj za ego rasprostranenie. Sushchestvuet bol'shaya tyaga k standartizacii v UNIX-soobshchestve, kotoraya vyrazhaetsya v koncepcii otkrytyh sistem. No ni odna firma ne kontroliruet etot process. Poetomu lyuboj proizvoditel' (ili kak pokazala praktika - haker) mozhet sledovat' standartam UNIX (kol' skoro na nih net avtorskih prav).

OS/2 i Windows NT prinadlezhat chastnym kompaniyam. Poetomu interfejs i proektnye resheniya kontroliruyutsya konkretnymi firmami i tol'ko eti firmy mogut sovershenstvovat' svoi produkty. (Ne nadejtes' uvidet' kogda-nibud' v obozrimom budushchem besplatnuyu versiyu OS/2). V nekotorom smysle takaya organizaciya dela imeet preimushchestva: ona obespechivaet zhestkuyu standartizaciyu programmnogo i pol'zovatel'skogo interfejsov. OS/2 est' OS/2, gde by vy ee ne obnaruzhili, to zhe samoe s Windows NT.

A interfejs UNIX postoyanno sovershenstvuetsya i menyaetsya. Neskol'ko organizacij pytayutsya vyrabotat' standart programmnoj modeli, no eta zadacha ochen' slozhnaya. Linux nailuchshim obrazom sootvetstvuet standartu POSIX.1 dlya programmnogo interfejsa UNIX. Predpolagalos', chto Linux primknet eshche k ryadu dvizhenij po standartizacii, no eto ne stalo poka v chislo glavnyh zadach Linux-soobshchestva.

Drugie realizacii UNIX

Sushchestvuet ryad drugih realizacij UNIX dlya 80386 i 80486. Arhitektura 80386 sama podtalkivaet k proektirovaniyu UNIX, poetomu mnogie razrabotchiki vospol'zovalis' etim preimushchestvom. Drugie realizacii UNIX, uchityvavshie osobennosti arhitektury processora ves'ma pohozhi na Linux. Vy mozhete ubedit'sya, chto pochti vse kommercheskie versii UNIX podderzhivayut prakticheski odinakovuyu programmnuyu sredu i setevye harakteristiki. Odnako imeyutsya i znachitel'nye otlichiya mezhdu Linux i kommercheskimi UNIX.

Prezhde vsego Linux podderzhivaet inoj spektr apparatnyh sredstv. Linux podderzhivaet bol'shinstvo horosho izvestnyh ustrojstv, no podderzhka ogranichena toj apparaturoj, k kotoroj pol'zovateli dejstvitel'no imeyut dostup. Razrabotchiki kommercheskih UNIX obychno imeyut bol'shij spisok ustrojstv, hotya Linux i otstaet neznachitel'no. Pro osobennosti apparatury pogovorim v Razdele 1.8.

Vo-vtoryh, kommercheskie realizacii UNIX obychno idut v svyazke s polnym naborom dokumentacii, a takzhe s obyazatel'stvami razrabotchika po soprovozhdeniyu. Dokumentaciya na Linux ogranichivaetsya toj, kotoruyu mozhno najti v Internet, da eshche knizhki vrode etoj. V Razdele 1.9 my perechislim dokumentaciyu i drugie istochniki informacii.

Kol' skoro rech' idet o stabil'nosti i nadezhnosti, mnogie pol'zovateli otmechayut, chto Linux po krajnej mere ne menee nadezhen, chem kommercheskie UNIX. Linux vse eshche nahoditsya v stadii razvitiya, i nekotorye veshchi (vrode TCP/IP) nedostatochno stabil'ny, no postoyanno sovershenstvuyutsya.

Naibolee vazhnym faktorom dlya mnogih yavlyaetsya cena. Linux rasprostranyaetsya svobodno, esli vy imeete dostup v Internet (ili druguyu komp'yuternuyu set') i mozhete ego skachat'. Esli u vas net vyhoda v takuyu set', to vy mozhete kupit' ego na disketah ili CD-ROM (smotrite Prilozhenie B). Razumeetsya, vy mozhete skopirovat' Linux u druga ili razdelit' s kem-to stoimost' ego pokupki. Esli vy planiruete installirovat' Linux na bol'shom kolichestve mashin, vam dostatochno kupit' vsego odnu kopiyu. Na tirazhirovanie net licenzionnyh ogranichenij.

Ne sleduet preumen'shat' real'nuyu stoimost' kommercheskih UNIX, poskol'ku naryadu so stoimost'yu sobstvenno programm, syuda vhodyat takzhe stoimost' dokumentacii, soprovozhdenie, garantiya kachestva. |to ochen' vazhnye sostavlyayushchie dlya bol'shih organizacij, no, mozhet byt', ne stol' sushchestvennye dlya individual'nyh pol'zovatelej. V lyubom sluchae, vo mnogih firmah i v universitetah schitayut, chto ispol'zovanie Linux v laboratoriyah na nedorogih personal'nyh komp'yuterah predpochtitel'nee kommercheskogo UNIX v laboratorii, ukomplektovannoj rabochimi stanciyami.

Kak primer iz "real'nogo mira", mozhno skazat' o tom, chto Linux puteshestvoval po severu Tihogo okeana, vypolnyaya rabotu po telekommunikacii i analizu dannyh na okeanograficheskom issledovatel'skom sudne. Linux ispol'zuetsya na issledovatel'skoj stancii v Antarktike. Neskol'ko gospitalej ispol'zuyut Linux dlya vedeniya istorij bolezni. On dokazal, chto on nadezhen i udoben, kak i drugie realizacii UNIX.

Sushchestvuyut i drugie besplatnye ili nedorogie realizacii UNIX dlya 386 i 486. Odna iz naibolee izvestnyh realizacij 386BSD. 386BSD sovmestima s Linux vo mnogih aspektah, no kakaya iz nih "luchshe" zavisit ot vashih lichnyh zhelanij i ozhidanij. My mozhem ukazat' odno sushchestvennoe otlichie: Linux sozdavalsya otkryto (kogda kazhdyj dobrovolec mog vnesti svoj vklad v process sozdaniya), a 386BSD sozdan zamknutoj gruppoj programmistov, kotorye i podderzhivayut sistemu. Poetomu sushchestvuet zametnoe razlichie v filosofii i razrabotke mezhdu etimi dvumya proektami. Celi dvuh proektov sushchestvenno razlichny: cel' Linux - sozdat' polnuyu UNIX-sistemu ot nachala (i poluchit' bol'shoe udovol'stvie ot etogo processa); a cel' 386BSD chastichno sostoit v modifikacii sushchestvuyushchego koda BSD, primenitel'no k 386.

NetBSD - eto drugaya versiya BSD NET/2 dlya neskol'kih mashin, vklyuchaya 386. NetBSD imeet slegka bolee otkrytuyu koncepciyu razrabotki i sravnima s 386BSD po mnogim aspektam.

Drugoj proekt HURD - popytka Free Software Foundation sozdat' i rasprostranyat' svobodnuyu versiyu UNIX dlya mnogih platform. Za dopolnitel'noj informaciej ob etom proekte obrashchajtes' v Free Software Foundation (adres dan v Prilozhenii A). V moment napisaniya knigi proekt HURD vse eshche na nachal'noj stadii.

Sushchestvuyut takzhe drugie nedorogie versii UNIX, naprimer Coherent (priblizitel'no $99) i Minix (akademicheskij, no poleznyj UNIX, na kotorom pervonachal'no bazirovalsya Linux). Nekotorye iz etih realizacij predstavlyayut preimushchestvenno akademicheskij interes, v to vremya, kak drugie - normal'nye polnomasshtabnye sistemy. Net smysla govorit' o tom, kak mnogo individual'nyh pol'zovatelej UNIX dvigayutsya v storonu Linux.

1.8 Trebovaniya k oborudovaniyu

Vy dolzhny byt' ubezhdeny, chto Linux prekrasen i chto vy popolnite ego grandioznymi veshchami. No eto potom, a do togo, kak brosites' ego installirovat', vy dolzhny sorientirovat'sya v trebovaniyah k apparature, kotorye diktuet Linux.

Imejte v vidu, chto Linux byl sozdan samimi pol'zovatelyami. |to oznachaet, chto bol'shaya chast' podderzhivaemogo Linux oborudovaniya - eto to, chto pol'zovateli real'no u sebya imeyut. Kak v rezul'tate okazalos' - bol'shaya chast' populyarnoj periferii dlya 80386/80486 podderzhivaetsya (dejstvitel'no, Linux podderzhivaet oborudovanie, kotoroe v ryade sluchaev ne podderzhivayut nekotorye kommercheskie UNIX). Hotya nekotorye dostatochno ekzoticheskie ustrojstva poka ne podderzhivayutsya. Esli kakoe-to iz oblyubovannyh vami ustrojstv poka ne podderzhivaetsya v Linux, est' smysl nadeyat'sya, chto ono skoro budet podderzhivat'sya.

Mnogie kompanii licenziruyut interfejs ustrojstv, poetomu dobrovol'nye razrabotchiki Linux prosto ne mogut napisat' eti drajvery. Inache eto budet narusheniem avtorskih prav sootvetstvuyushchej kompanii.

Malo chto mozhno izmenit' v etoj situacii. Inogda hakery pishut drajvery, osnovyvayas' na svoih predstavleniyah o konkretnom interfejse. V drugih sluchayah razrabotchiki s raznoj stepen'yu uspeha pytayutsya rabotat' s sootvetstvuyushchimi kompaniyami, pytayas' poluchit' informaciyu ob interfejse.

V sleduyushchem razdele my popytaemsya dat' rezyume tehnicheskih trebovanij Linux. Linux Hardware HOWTO (smotrite Razdel 1.9) soderzhit bolee polnyj perechen' oborudovaniya, podderzhivaemogo Linux.

Bol'shaya chast' drajverov Linux v nastoyashchee vremya nahoditsya v stadii razrabotki. Razlichnye distributivy mogut soderzhat' raznye nabory drajverov. Zdes' prezhde vsego perechislyayutsya te drajvery, kotorye uzhe podderzhivayutsya opredelennoe vremya i zarekomendovali sebya kak dostatochno stabil'nye. (Dopolnitel'nuyu informaciyu po distributivam smotrite v Razdele 2.1).

Trebovaniya k materinskoj plate i processoru

V nastoyashchee vremya Linux podderzhivaet sistemy na Intel 80386, 80486 ili Pentium CPU. |to vklyuchaet vse variacii etih processorov, takie kak 386SX, 486SX, 486DX i 486DX2. S Linux mogut rabotat' takzhe "neintelovskie" klony processorov, vrode AMD i Cyrix.

Esli u vas 80386 ili 80486SX, vy mozhete takzhe imet' soprocessor, hotya eto i ne obyazatel'no, (yadro Linux mozhet emulirovat' FPU). Podderzhivayutsya vse standartnye sochetaniya FPU, takie soprocessory kak IIT, Cyrix FasMath i Intel.

Materinskaya plata dolzhna ispol'zovat' shinu ISA ili EISA. |to opredelyaet, kak sistema vzaimodejstvuet s periferiej i drugimi komponentami glavnoj shiny. Bol'shinstvo prodavaemyh segodnya sistem imeyut ISA ili EISA. SHina MicroChannel (MCA) firmy IBM, ispol'zuemaya na mashinah tipa IBM PS/2, poka ne podderzhivaetsya.

Podderzhivayutsya sistemy s lokal'nymi shinami, uskoryayushchimi dostup k video i diskam. Predpolagaetsya, chto u vas standartnaya lokal'naya shina, vrode VESA Local Bus (VLB).

Trebovaniya k pamyati

Linux trebuet sovsem nemnogo pamyati v sravnenii s drugimi razvitymi operacionnymi sistemami. Vy dolzhny imet' kak minimum 2Mbajt RAM; hotya nastoyatel'no rekomenduetsya imet' ne menee 4 Mbajt. CHem bol'she pamyati - tem bystree rabotaet sistema.

Linux mozhet podderzhivat' vse 32-bitovoe adresnoe prostranstvo processorov 386/486; drugimi slovami, on avtomaticheski ispol'zuet vsyu pamyat'.

Linux mozhet uspeshno rabotat' na 4 Mbajtah RAM, vklyuchaya vsyacheskie svistul'ki i pogremushki, vrode X Window, Emacs i t.p. Hotya, imet' pobol'she pamyati ne menee vazhno, chem imet' pomoshchnee processor. 8 Mbajt bolee podhodit dlya individual'nogo ispol'zovaniya; 16 Mbajt ili bolee - esli vy predpolagaete bolee ser'eznuyu zagruzku sistemy.

Bol'shinstvo pol'zovatelej Linux vydelyayut chast' zhestkogo diska dlya oblasti svoppinga, kotoraya ispol'zuetsya kak virtual'naya RAM. Esli dazhe vy imeete mnogo real'noj fizicheskoj pamyati, RAM, vy mozhete pozhelat' imet' oblast' svoppinga. Hotya oblast' svoppinga ne zamenyaet dejstvitel'noj fizicheskoj pamyati, ona mozhet pozvolit' vypolnyat' na vashej sisteme bolee ob'emnye prilozheniya, udalyaya neaktivnuyu chast' programmy na disk. Razmer oblasti svoppinga, kotoruyu vy dolzhny vydelit', zavisit ot neskol'kih faktorov; my vernemsya k etomu v Razdele 2.2.3.

Trebovaniya k drajveram zhestkogo diska

Vam ne obyazatel'no imet' drajver zhestkogo diska dlya raboty v Linux. Vy mozhete rabotat' s minimal'noj sistemoj s gibkogo diska. No eto medlenno i imeet mnogo ogranichenij, da i bol'shinstvo pol'zovatelej imeet dostup k pamyati na zhestkih diskah. U vas dolzhen byt' 16-ti bitnyj kontroller v standarte AT. V yadre est' podderzhka 8-mi bitnogo XT-standarta; hotya razumeetsya, bol'shinstvo kontrollerov ispol'zuet segodnya AT-standart. Linux mozhet podderzhivat' vse MFM, RLL i IDE kontrollery. Podderzhivaetsya bol'shinstvo (no ne vse) ESDI kontrollery - tol'ko te, kotorye obespechivayut emulyaciyu ST506.

Obshchee pravilo dlya ne-SCSI drajverov zhestkih diskov sostoit v tom, chto esli vy mozhete imet' dostup k etim ustrojstvam iz MS-DOS ili drugoj OS, znachit vy mozhete rabotat' s nimi i v Linux.

Linux mozhet takzhe podderzhivat' mnogie populyarnye SCSI kontrollery, hotya podderzhka SCSI ogranichena iz-za bol'shogo raznoobraziya sushchestvuyushchih standartov takih interfejsov. Podderzhka SCSI kontrollerov vklyuchaet Adaptec AHA1542B, AHA1542C, AHA1742A (BIOS version 1.34), AHA1522, AHA1740, AHA1740 (SCSI-2 controller, BIOS 1.34 in Enhanced mode); Future Domain 1680, TMC-850, TMC-950; Seagate ST-02; UltraStor SCSI; Western Digital WD7000FASST. Takzhe dolzhny rabotat' klony, baziruyushchiesya na etih kartah.

Trebovaniya k diskovomu prostranstvu

Razumeetsya, dlya installyacii Linux vam neobhodimo imet' nekotoroe svobodnoe prostranstvo na zhestkom diske. Linux podderzhivaet razlichnye drajvery zhestkih diskov na odnoj mashine; vy mozhete vydelit' mesto dlya neskol'kih ustrojstv, esli eto neobhodimo.

Razmer neobhodimogo prostranstva zavisit v bol'shoj stepeni ot vashih potrebnostej i programm, kotorye vy installiruete. Linux sravnitel'no kompaktnyj UNIX; vy mozhete dlya vsej sistemy zanyat' 10 - 20 Mbajt. Mezhdu tem, esli vy hotite imet' mesto dlya rasshireniya i dlya bol'shih paketov, vrode X Window, vam potrebuetsya bol'she mesta. Esli vy planiruete mnozhestvennyj dostup, vam potrebuetsya imet' mesto i dlya fajlov drugih pol'zovatelej.

Krome togo, dazhe esli vy imeete bol'shoe kolichestvo fizicheskoj RAM (16 Mbajt ili bolee), skoree vsego vy zahotite imet' oblast' svoppinga, ispol'zuemuyu virtual'noj pamyat'yu. Detali my obsudim v Razdele 2.2.3.

Kazhdyj distributiv Linux obychno soprovozhdaetsya kakoj-to literaturoj, kotoraya mozhet pomoch' vam opredelit'sya s ob'emom neobhodimoj pamyati v zavisimosti ot togo, kakoe programmnoe obespechenie vy planiruete postavit'. Minimal'nuyu sistemu vy mozhete ekspluatirovat' menee, chem na 20 Mbajtah. Polnaya sistema so vsemi svistul'kami i pogremushkami potrebuet do 80 Mbajt. Ochen' bol'shie sistemy dlya mnogih pol'zovatelej, gde zarezervirovano mesto dlya posleduyushchih rasshirenij, potrebuet 100 - 150 Mbajt. No eto lish' grubye prikidki, kotorye vy utochnite ishodya iz svoih potrebnostej.

Trebovaniya k monitoru i videoadapteru

Linux podderzhivaet vse standarty Hercules, CGA, EGA, VGA, IBM monochrome, and Super VGA video kart i tekstovye monitory. V obshchem sluchae, esli videokarta i monitor rabotayut pod drugimi OS vrode MS-DOS, oni budut rabotat' i pod Linux. Original'nye karty IBM CGA dayut v Linux "sneg", tak chto ih nepriyatno ispol'zovat'.

Graficheskoe okruzhenie vrode X Window imeet svoi trebovaniya k videooborudovaniyu. Vmesto perechisleniya etih trebovanij my perenesem obsuzhdenie v Razdel 5.1.1. A kratko, dlya raboty s X Window System na vashem Linux, vam trebuetsya odna iz videokart, perechislennyh v etom razdele.

Prochee oborudovanie

U bol'shinstva pol'zovatelej est' "specificheskoe" oborudovanie, vrode strimmera, pamyati na CD-ROM, saund karty i t.d., poetomu oni interesuyutsya, podderzhivaetsya li ono v Linux. CHitajte dal'she.

Mysh' i drugie ustrojstva, podklyuchaemye k portam

Bol'shej chast'yu mysh' vy budete ispol'zovat' v graficheskom okruzhenii, takom kak X Window System. No nekotorye prilozheniya Linux, ne associiruemye s graficheskoj sredoj, takzhe ispol'zuyut mysh'.

Linux podderzhivaet vse standarty posledovatel'no podklyuchennoj myshi, vklyuchaya Logitech, seriyu MM, Mouseman, Microsoft (2-knopki) i Mouse Systems (3-knopki). Linux takzhe podderzhivaet mysh', podklyuchennuyu na shinu: Microsoft, Logitech i ATIXL. Podderzhivaetsya takzhe interfejs myshi PS/2.

Vse prochie podklyuchaemye takim zhe obrazom ustrojstva, kotorye emuliruyut vysheperechislennyh myshej, tozhe dolzhny rabotat'.

Pamyat' na CD-ROM

Pochti vse drajvery CD-ROM ispol'zuyut interfejs SCSI. Esli u vas est' SCSI-adapter, podderzhivaemyj Linux, to vash CD-ROM dolzhen rabotat'. Proverena rabotosposobnost' ryada drajverov dlya SD-ROM pod Linux, vklyuchaya NEC CDR-74, Sony CDU-541 i Texel DM-3024. Linux podderzhivaet takzhe drajvery Sony internal CDU-31a i Mistsumi CD-ROM.

Linux podderzhivaet takzhe standart ISO-9660 fajlovoj sistemy dlya CD-ROM.

Drajvery strimmerov

Sejchas na rynke imeetsya ryad strimmerov. Bol'shinstvo iz nih ispol'zuyut SCSI-interfejs i prakticheski vse podderzhivayutsya Linux. Sredi proverennyh ustrojstv Sankyo CP150SE; Tandberg 3600; Wangtek 5525ES, 5150ES i 5099EN s adapterom PC36. Drugie QIC-02 ustrojstva takzhe dolzhny podderzhivat'sya.

Idet postoyannaya razrabotka drajverov dlya razlichnyh novyh ustrojstv, takih kak Colorado, kotoryj veshaetsya na kontroller gibkogo diska.

Printery

Linux podderzhivaet ves' spektr parallel'nyh printerov. Esli vy mozhete podklyuchit' vash printer na parallel'nyj port v MS-DOS ili v drugoj operacionnoj sisteme, to on mozhet rabotat' i v Linux.

Programmnaya podderzhka printera v Linux sostoit iz standartnyh dlya UNIX programm lp i lpr. |ti programmy pozvolyayut takzhe organizovat' udalennuyu pechat' cherez set'.

Modemy

Kak i s podderzhkoj printerov, Linux podderzhivaet polnyj spektr posledovatel'nyh modemov, kak vneshnih, tak i vnutrennih. V Linux mnogo programm telekommunikacii, vklyuchaya Kermit, pcomm, minicom i Seyon. Esli vash modem mozhet rabotat' s drugoj operacionnoj sistemoj, vy smozhete s nim rabotat' i v Linux bez kakih-libo problem.

Karty Ethernet

Mnogie populyarnye karty Ethernet i LAN-adaptery podderzhivayutsya v Linux. Oni vklyuchayut:

Est' svedeniya o rabote sleduyushchih klonov:

Dolzhny takzhe rabotat' i lyubye drugie klony, sovmestimye s perechislennymi vyshe.

1.9 Istochniki informacii po Linux

Kak vy, vozmozhno, dogadalis', sushchestvuet mnogo istochnikov informacii po Linux pomimo etoj knigi. V chastnosti, est' ryad knig, ne konkretno po Linux, a skoree po UNIX voobshche, kotorye mogut ochen' pomoch', osobenno tem, kto ne imeet predvaritel'nogo opyta v UNIX. Esli vy ne znakomy s mirom UNIX, my nastoyatel'no sovetuem vam udelit' vremya odnoj iz takih knig, prezhde chem hrabro rinut'sya v dzhungli Linux. V kachestve horoshego nachala mozhet byt' ispol'zovana kniga Grace Todino i John Learning the UNIX Operating System.

Mnogie iz nizheupomyanutyh istochnikov dostupny on-lajn v elektronnom vide. To est' dlya togo, chtoby imi vospol'zovat'sya, vy dolzhny imet' dostup k Internet, USENET ili Fidonet. Esli u vas net on-lajn dostupa k etim materialam, to sleduet najti dobryaka, kotoryj sdelaet vam tverduyu kopiyu.

Dokumentaciya, dostupnaya po on-lajn

Esli u vas est' dostup k Internet, vy mozhete najti mnogo dokumentacii po Linux cherez anonymous FTP iz arhivov, raspolozhennyh po vsemu miru. Esli zhe vy ne imeete pryamogo dostupa k Internet, etu dokumentaciyu vse-taki mozhno dostat': mnogo distributivov Linux, soderzhashchih dokumenty, upomyanutye zdes', prodaetsya na CD-ROM. Oni takzhe rasprostranyayutsya po mnogim drugim setyam, vrode Fidonet i CompuServe. Esli vy v sostoyanii poslat' pochtu v Internet, znachit vy mozhete dostat' i eti fajly, ispol'zuya odin iz ftpmail-serverov, kotorye poshlyut vam dokumenty ili fajly elektronnoj pochtoj iz FTP-arhivov. Smotri v Prilozhenii C dopolnitel'nuyu informaciyu po ispol'zovaniyu ftpmail.

Sushchestvuet bol'shoe chislo FTP-arhivov, soderzhashchih teksty programm Linux i sootvetstvuyushchuyu dokumentaciyu. Spisok izvestnyh arhivov Linux dan v Prilozhenii C. Dlya togo, chtoby minimizirovat' setevoj trafik, vsegda sleduet ispol'zovat' FTP-server, nahodyashchijsya v geograficheskoj blizosti.

Prilozhenie A soderzhit spisok dokumentacii na Linux, dostupnoj cherez anonymous FTP. Imena fajlov budut razlichat'sya na raznyh serverah. Bol'shinstvo serverov hranit dokumentaciyu na Linux v podkataloge docs Linux-ovskogo arhivnogo podprostranstva. Naprimer, na FTP servere sunsite.unc.edu fajly Linux pomeshcheny v katalog /pub/Linux , a dokumentaciya po Linux - v /pub/Linux/docs.

Primery dostupnoj dokumentacii - eto Linux FAQ (Frequently Asked Questions), sobraniya chasto zadavaemyh voprosov (v dannom sluchae) po Linux; dokumentaciya Linux HOWTO, opisyvayushchaya specificheskie aspekty sistemy, vklyuchaya Installation HOWTO, Printing HOWTO, Ethernet HOWTO i Linux META-FAQ - perechen' drugih istochnikov informacii po Linux v Internet.

Bol'shinstvo etih dokumentov regulyarno posylaetsya v neskol'ko otnosyashchihsya k Linux grupp USENET; smotrite Razdel 1.9.4.

Linux I WWW (World Wide Web)

Nachal'naya stranica (Home Page) Dokumentacii na Linux dostupna na WWW po adresu

    http://sunsite.unc.edu/mdw/linux.html

|ta stranica soderzhit mnogo HOWTO i drugih dokumentov v formate HTML, a takzhe ssylki na drugie servera, interesnye dlya pol'zovatelej Linux.

Knigi i drugie publikacii

V nastoyashchee vremya sushchestvuet vsego neskol'ko publikacij special'no posvyashchennyh Linux. Bol'shej chast'yu eto knigi iz Linux Documentation Project (LDP) - proekta, realizuemogo v Internet po napisaniyu i rasprostraneniyu "rukovodstv" po Linux. |ti rukovodstva analogichny dokumentacii, postavlyaemoj s kommercheskimi versiyami UNIX: oni pokryvayut vse - ot installyacii Linux do ego ispol'zovaniya, programmirovaniya, raboty v seti, razrabotki yadra i t.d.

Rukovodstva LDP dostupny cherez FTP-servery Internet, a takzhe po obychnoj elektronnoj pochte iz neskol'kih istochnikov (sm. Prilozhenie A).

I hotya sobstvenno po Linux knig nemnogo, tem ne menee est' bol'shoe chislo knig po UNIX voobshche, kotorye, bez somneniya, mogut ispol'zovat'sya primenitel'no k Linux, poskol'ku Linux ne imeet znachitel'nyh otlichij ot drugih realizacij UNIX. Koroche, vse, chto vy hotite uznat' o programmirovanii na Linux, mozhet byt' najdeno v etih knigah, prednaznachennyh dlya shirokoj auditorii pol'zovatelej UNIX. A zdes' my predstavlyaem naibolee vazhnye specificheskie detali Linux i nadeemsya, chto vy takzhe budete obrashchat'sya za detalyami i k drugim istochnikam.

Vooruzhivshis' nekotorym kolichestvom horoshih knizhek po UNIX, a takzhe dannoj knigoj, vy budete sposobny razobrat'sya vo vsem. Prilozhenie A vklyuchaet spisok nastoyatel'no rekomenduemyh knig po UNIX, kak dlya novichkov v UNIX , tak i dlya asov.

Est' takzhe ezhemesyachnyj zhurnal po Linux, pod nazvaniem Linux Journal. On rasprostranyaetsya po vsemu miru i predstavlyaet horoshuyu vozmozhnost' byt' v kurse proishodyashchego v Linux- soobshchestve, osobenno, esli vy ne imeete dostupa k novostyam USENET (sm. nizhe). Otnositel'no podpiski na Linux Journal sm. Prilozhenie A.

Novosti USENET

USENET - eto mirovye elektronnye novosti i odnovremenno kluby po interesam - tak nazyvaemye ``newsgroups''( u nas prinyato govorit' - "telekonferencii"). Mnogoe po razvitiyu Linux delaetsya cherez Internet i USENET, tak chto ne udivlyaet sushchestvovanie ryada telekonferencij USENET, posvyashchennyh Linux.

Pervonachal'no byla sozdana telekonferenciya alt.os.linux, chtoby vynesti diskussii po Linux iz comp.os.minix. No skoro trafik alt.os.linux vyros nastol'ko, chto v fevrale 1992 goda bylo provedeno golosovanie o vklyuchenii konferencii v ierarhiyu "comp" i sozdana telekonferenciya comp.os.linux.

comp.os.linux bystro stala odnoj iz naibolee populyarnyh (i shumnyh) telekonferencij USENET, bolee populyarnoj, chem drugie gruppy ierarhii comp.os. V dekabre 1992, v rezul'tate golosovaniya gruppa byla razbita, chtoby umen'shit' ob'emy trafika, no tol'ko comp.os.linux.announce proshla togda po golosovaniyu. V iyule 1993 , nakonec-to gruppa byla razbita na ierarhiyu grupp. Za eto progolosovalo okolo 2000 chelovek - odno iz samyh bol'shih golosovanij v istorii USENET.

Esli u vas net pryamogo dostupa k USENET, no imeetsya vozmozhnost' posylat' i poluchat' pis'ma po e-mail, to v Internet sushchestvuyut shlyuzy, cherez kotorye mozhno poluchat' telekonferencii:

comp.os.linux.announce

eto moderiruemaya (kontroliruemaya) telekonferenciya, soderzhashchaya ob'yavleniya i vazhnye soobshcheniya otnositel'no Linux (naprimer, soobshcheniya ob oshibkah, sushchestvennye ispravleniya i t.p.). Esli vy voobshche sobiraetes' chitat' telekonferencii Linux - etu chitajte obyazatel'no. CHasto vazhnye soobshcheniya etoj konferencii ne dubliruyutsya v drugie. Takzhe v etoj zhe telekonferencii byvayut vazhnye operativnye soobshcheniya.

Lyuboe soobshchenie v etoj gruppe dolzhno byt' odobreno moderatorami Matt Welsh i Lars Wirzenius. Esli vy hotite vystavit' svoe soobshchenie v etoj gruppe, vy obychnym poryadkom posylaete ego v telekonferenciyu. Ono avtomaticheski budet napravleno dlya odobreniya moderatoru. No esli vasha sistema novostej ne nastroena, mozhno napravit' stat'yu elektronnoj pochtoj po adresu linux-announce@tc.cornell.edu. Vse ostal'nye telekonferencii etoj ierarhii linux, perechislennye nizhe - nemoderiruemye.

comp.os.linux.help

|to naibolee populyarnaya telekonferenciya Linux. Ona prednaznachena dlya voprosov i otvetov po ispol'zovaniyu, ustanovke i drugim voprosam ekspluatacii Linux. Esli u vas problemy s Linux - pishite v etu gruppu i s bol'shoj veroyatnost'yu poluchite otvet ot kogo-nibud', sposobnogo vam pomoch'. No ochen' zhelatel'no oznakomit'sya so vsemi dostupnymi vam materialami, prezhde, chem zadavat' vopros.

comp.os.linux.admin

Zdes' obsuzhdayutsya voprosy ekspluatacii Linux (obychno v mnogopol'zovatel'skom rezhime) Obsuzhdaetsya rabota administratora sistemy Linux (naprimer, sohranenie sistemy, rabota s pol'zovatelyami i t.p.).

comp.os.linux.development

|ta telekonferenciya dlya obsuzhdeniya problem razvitiya Linux. Voprosy, kasayushchiesya yadra, sistemnyh bibliotek i sistemnyh programm. Naprimer, esli vy pishete drajver i nuzhdaetes' v pomoshchi po nekotorym detalyam programmirovaniya - kak raz v etu telekonferenciyu sleduet posylat' takie voprosy. |ta konferenciya prednaznachena takzhe dlya obsuzhdeniya celej i napravleniya razvitiya Linux, kak eto opisyvalos' v Razdele 1.6.

Sleduet zametit', chto eta telekonferenciya dlya obsuzhdeniya problem razrabotki sobstvenno Linux. Prikladnoe programmirovanie v Linux obsuzhdaetsya v drugih telekonferenciyah.

comp.os.linux.misc

|ta telekonferenciya dlya obsuzhdeniya problem, ne podhodyashchih dlya drugih grupp. Osobenno dlya "zashchitnikov" Linux (dlya statej tipa "Linux protiv Windows NT"). Vsyakie netehnicheskie okololinuksovskie spory mogut proishodit' zdes'.

Sleduet zametit', chto telekonferenciya comp.os.linux byla zamenena ierarhiej telekonferencij. Esli u vas est' dostup k comp.os.linux i net dostupa k drugim telekonferenciyam etoj ierarhii, vdohnovite administratora ih zavesti.

Spiski rassylki Internet

Esli u vas est' dostup k elektronnoj pochte Internet, vy mozhete vklyuchit'sya v spiski rassylki, dazhe esli vy ne imeete dostupa k USENET. Dazhe esli vy ne mozhete rabotat' neposredstvenno v Internet, no mozhete obmenivat'sya s nej pochtoj (naprimer, UUCP, FidoNET, CompuServe i drugie seti imeyut pochtovuyu svyaz' s Internet), vy mozhete podklyuchit'sya k kakomu-to spisku rassylki. Spisok rassylki ``Linux Activists'' prednaznachen dlya razrabotchikov Linux i lyudej, zainteresovannyh v sodejstvii processu razrabotki. |to "mnogokanal'naya" rassylka; mozhno podklyuchit'sya k raznym ee vetvyam: NORMAL - obshchie voprosy Linux; KERNEL - razrabotka yadra; GCC - razrabotka gcc-kompilyatora i bibliotek; NET - protokoly TCP/IP; DOC - dokumentaciya po Linux; i drugie.

Za dopolnitel'noj informaciej o spiskah rassylki, svyazannyh s Linux, pishite:

    linux-activists@niksula.hut.fi

Vy smozhete poluchit' dejstvuyushchij perechen' tem rassylki, vklyuchaya informaciyu o tom, kak vklyuchit'sya v spisok rassylki i kak otpisat'sya.

Sushchestvuet neskol'ko spiskov rassylki dlya Linux. Luchshe vsego dlya orientacii posmotret' ob'yavleniya v telekonferenciyah Linux USENET, a takzhe prosmotret' spiski tem rassylki, periodicheski publikuemye v USENET group news.answers.

1.10 Poluchenie pomoshchi

Bez somneniya, vam ponadobitsya kakaya-to pomoshch' vo vremya vashih priklyuchenij v mire Linux. Dazhe samye krutye iz krutyh yuniksistov vremenami spotykayutsya o kakie-to zakoryuchki Linux, poetomu vazhno znat', gde i kak iskat' pomoshchi, kogda potrebuetsya.

Pervoocherednoj istochnik pomoshchi - spiski rassylki i telekonferencii USENET obsuzhdalis' v Razdele 1.9. Esli u vas net k nim onlajnovogo dostupa, vy mozhete poiskat' dostup k takoj informacii na lokal'nyh BBS, v CompuServe i t.d.

Ryad firm predlagayut kommercheskuyu podderzhku Linux. Vy mozhete platit' za "podpisku", chto pozvolit vam sozvanivat'sya s konsul'tantami po povodu voznikayushchih problem s Linux. No pri nalichii dostupa k USENET i pochte Internet vy mozhete najti i besplatnoe soprovozhdenie.

No snachala ishchite otvety vo vsej dostupnoj vam dokumentacii! Prezhde vsego v istochnikah, perechislennyh v Razdele 1.9 i Prilozhenii A. |ti dokumenty tshchatel'no napisany dlya lyudej vrode vas, kotorye nuzhdayutsya v pomoshchi pri rabote s Linux. Dazhe knigi, napisannye pro UNIX voobshche, primenimy k Linux i vy dolzhny izvlekat' iz nih pol'zu dlya sebya, i kak pravilo, najdete otvety na interesuyushchie vas voprosy.

Priuchajtes' k samostoyatel'nosti. V bol'shinstve sluchaev predpochtitel'no samostoyatel'no issledovat' problemu naskol'ko vozmozhno, prezhde chem obrashchat'sya za pomosh'yu. Prezhde vsego obrashchajtes' za pomosh'yu k samomu Linux. Pomnite, chto Linux nekommercheskaya OS i nikogda ne pytalas' takovoj vyglyadet'. Vy ne umrete, esli sami zajmets' hakerstvom. |to priuchit vas samostoyatel'no reshat' problemy, mozhet cherez nekotoroe vremya vy sami pochuvstvuete sebya v Linux guru.

Sohranyajte spokojstvie. Ni v koem sluchae ne prihodite v otchayanie v rezul'tate obshcheniya s sistemoj. Vy nichego ne dob'etes' ot sistemy s pomoshch'yu topora ili, togo luchshe, s pomoshch'yu moshchnogo elektromagnita. Linux vzrosleet i muzhaet, stanovitsya nadezhnee, tak chto my nadeemsya, chto chislo problem budet umen'shat'sya. Kstati, vsyakih fokusov mozhno ozhidat' i ot kommercheskih UNIX-ov.

Vozderzhivajtes' ot skoropalitel'nyh reshenij. Mnogie lyudi brosayutsya rassylat' pis'ma po konferenciyam do togo, kak spokojno podumayut. CHasto reshenie nahodyat cherez pyat' minut posle togo, kak zakonchili vzyvat' o pomoshchi k mirovomu soobshchestvu.

Esli vy reshili poslat' pros'bu o pomoshchi, postarajtes' eto sdelat' nailuchshim obrazom. Postarajtes' oformit' pros'bu maksimal'no vezhlivo i predel'no informativno. Ne zabyvajte, chto pomoshch' v seti okazyvaetsya dobrovol'no.

Sled. Glava, Pred. Glava

Soderzhimoe etoj glavy, Glavnoe oglavlenie

Nachalo dokumenta, Nachalo etoj glavy