Namestitev in začetek dela z Linuxom

1992–1998 Matt Welsh Phil Hughes David Bandel Boris Beletsky Sean Dreilinger Robert Kiesling Evan Liebovitch Henry Pierce prevod in priredba: Roman Maurer

Različica izvirnika 3.2, 20. februar 1998.

Ta knjiga je prevod dela Linux Installation and Getting Started Guide in je namenjena tako novincem v Unixu kot gurujem. Vsebuje navodila o tem, kako dobiti Linux, o namestitvi programja, je učbenik za nove uporabnike Linuxa in uvod v upravljanje sistema. Hkrati želi biti dovolj splošna, da bo uporabna pri katerikoli distribuciji Linuxa.

To knjigo lahko prosto razmnožujete in razširjate pod določenimi pogoji. Prosim, preberite izjavo o pravni zaščiti in pravicah razširjanja.

Imena vseh tukaj naštetih izdelkov se uporabljajo le v identifikacijske namene in so blagovne znamke in/ali zaščitene blagovne znamke njihovih lastnikov. Specialized Systems Consultants, Inc. ne izjavlja nič o lastništvu ali podjetniških povezavah z izdelki ali podjetji, ki si jih lastijo.

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1992–1996 Matt Welsh Copyright \begin{matrix}c \\ ◯ \end{matrix} 1998 Specialized Systems Consultants, Inc (SSC)

P.O. Box 55549 Seattle, WA 98155-0549 USA Telefon: +1-206-782-7733 Faks: +1-206-782-7191 E-pošta: ligs@ssc.com URL: http://www.ssc.com/

Izvirnik Linux Installation and Getting Started in prevod Namestitev in začetek dela z Linuxom sta prosta sestavka; lahko ju reproducirate in/ali spreminjate pod pogoji različice 2 (ali, po vašem izboru, katerekoli poznejše različice) licence GNU General Public License, ki jo je izdala ustanova Free Software Foundation.

Ta knjiga se razširja v upanju, da bo uporabna, vendar brez vsakega jamstva; tudi brez implicitnega jamstva cenovne vrednosti ali primernosti za določen namen. Za podrobnosti glejte licenco GNU General Public License v dodatku D.

Avtorji spodbujajo široko razširjanje te knjige za osebno in komercialno rabo, če ostane zgornje sporočilo o pravni zaščiti nedotaknjeno in je metoda združljiva z besedilom licence GNU General Public License (glejte dodatek D). Povzetek: to knjigo lahko kopirate in razširjate brezplačno ali proti plačilu. Izrecna privolitev avtorja za reprodukcijo te knjige v kateremkoli mediju, fizičnem ali elektronskem, ni potrebna.

Vedite, da izpeljana dela in prevodi te knjige morajo biti v skladu z licenco GNU General Public License in da mora biti prvotno opozorilo o pravni zaščiti nedotaknjeno. Če ste v to knjigo dopisali novo snov, morate narediti izvorno kodo (npr. datoteko za L^{A}TEX), dostopno za popravke. Prosim, naredite popravke in nadgradnje, dostopne neposrednim vzdrževalcem tega spisa, Specialized Systems Consultants. To bo omogočilo združevanje popravkov in omogočilo skupnosti Linuxa konsistenten vpogled vanje.

Če nameravate izdati ali razširjati to knjigo v komercialne namene, vam bodo avtorji in Dokumentacijski projekt Linuxa (angl. Linux Documentation Project, LDP) zelo hvaležni za vašo denarno podporo, za avtorske tantieme in/ali natisnjene izvode. Tovrstni prispevki kažejo vašo podporo prostemu programju in Dokumentacijskem projektu za Linux. Če imate vprašanja ali pripombe, prosim, stopite v stik s Specialized Systems Consultants ali s slovenskim prevajalcem.

Kazalo

Predgovor vii Namigi za novince v Unixu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Namigi za guruje Unixa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Občinstvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Organizacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Priznanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x Priznanja in birokracija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Dogovori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

1 Uvod v Linux 1 1.1 O tej knjigi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Kratka zgodovina Linuxa . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Odlike sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Programske odlike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4.1 Urejanje in obdelava besedil . . . . . . . . . . . . . . . . . . . . . 6 1.4.2 Programski jeziki in pripomočki . . . . . . . . . . . . . . . . . . . 9 1.4.3 Uvod v sistem X Window System . . . . . . . . . . . . . . . . . . 9 1.4.4 Uvod v vmreževanje . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.5 Telekomunikacije in programje za BBS . . . . . . . . . . . . . . . 12 1.4.6 Svetovni splet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4.7 Povezljivost in MS-DOS . . . . . . . . . . . . . . . . . . . . . . . 13 1.4.8 Druge aplikacije . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5 Vprašanja pravic razširjanja . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.6 Zasnova in filozofija Linuxa . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.7 Razlike med Linuxom in drugimi operacijskimi sistemi . . . . . . . . . . . 17 1.8 Strojne potrebe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.9 Viri informacij o Linuxu . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.9.1 Dokumentacija na zvezi . . . . . . . . . . . . . . . . . . . . . . . 23 1.9.2 Linux na svetovnem spletu . . . . . . . . . . . . . . . . . . . . . . 23 1.9.3 Knjige in druga objavljena dela . . . . . . . . . . . . . . . . . . . 24 1.9.4 Novičarske skupine Useneta . . . . . . . . . . . . . . . . . . . . . 24 1.9.5 Elektronski poštni spiski na Internetu . . . . . . . . . . . . . . . . 26

1.10 Kako do pomoči za Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2 Pridobitev in namestitev Linuxa 29

2.1 Splošna namestitev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.1.1 Večje distribucije Linuxa . . . . . . . . . . . . . . . . . . . . . . . 29 2.1.2 Splošne zadeve . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.1.3 Strojna oprema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.1.4 Načrtovanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.1.5 Delovni list zasnove sistema . . . . . . . . . . . . . . . . . . . . . 31 2.1.6 Miške . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.1.7 Upoštevanje trdih diskov in CD-ROM-ov . . . . . . . . . . . . . . 33 2.1.8 Diski v Linuxu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.1.9 Namestitev X Window System . . . . . . . . . . . . . . . . . . . . 34 2.1.10 Oprema za vmreževanje . . . . . . . . . . . . . . . . . . . . . . . 35 2.1.11 Zasnova, drugi del . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.1.12 Strategije particioniranja . . . . . . . . . . . . . . . . . . . . . . . 36 2.1.13 Izmenjalna particija . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.1.14 Razdelitev diska . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.1.15 Izdelava rezervne kopije vašega starega sistema . . . . . . . . . . . 39 2.1.16 FIPS.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.1.17 Priprava na zagon Linuxa . . . . . . . . . . . . . . . . . . . . . . 40 2.1.18 Izdelava zagonske diskete Linuxa v DOS-u . . . . . . . . . . . . . 40 2.1.19 Izdelava zagonske diskete za Linux v Linuxu . . . . . . . . . . . . 41 2.1.20 Razdelitev trdega diska: fdisk in cfdisk . . . . . . . . . . . . . . 41

2.2 Distribucije Linuxa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3 Debian GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.3.1 Namestitvene lastnosti distribucije Debian GNU/Linux . . . . . . . 43 2.3.2 Pridobitev slik disket . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.3.3 Jemanje paketov z Interneta . . . . . . . . . . . . . . . . . . . . . 45 2.3.4 Zaganjanje z disket in namestitev Debian GNU/Linux-a . . . . . . 45 2.3.5 Poganjanje Debian GNU/Linux-a . . . . . . . . . . . . . . . . . . 51 2.3.6 dselect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.3.7 dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.3.8 O Debian GNU/Linux-u . . . . . . . . . . . . . . . . . . . . . . . 56 2.3.9 Poštni spiski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.3.10 Sistem zasledovanja hroščev . . . . . . . . . . . . . . . . . . . . . 58 2.3.11 Zahvale za Debian . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.3.12 Zadnje sporočilo . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

2.4 Red Hat Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.4.1 Namestitvene lastnosti distribucije Red Hat Linux . . . . . . . . . . 58 2.4.2 Sistem RPM za upravljanje paketov . . . . . . . . . . . . . . . . . 58 2.4.3 Sporočilo o nadgradnji Red Hat Linuxa . . . . . . . . . . . . . . . 59 2.4.4 Izdelava namestitvenih disket . . . . . . . . . . . . . . . . . . . . 59 2.4.5 Namestitveni medij . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.4.6 Prilagoditev vaše namestitve z NFS ali s trdega diska . . . . . . . . 61 2.4.7 Priporočena minimalna namestitev . . . . . . . . . . . . . . . . . . 64 2.4.8 Koliko prostora zares potrebujete? . . . . . . . . . . . . . . . . . . 64 2.4.9 Namestitev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.4.10 Pregled namestitvenih medijev . . . . . . . . . . . . . . . . . . . . 65 2.4.11 Sprehod skozi ostanek namestitve . . . . . . . . . . . . . . . . . . 66 2.4.12 Po namestitvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

2.5 Caldera OpenLinux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.5.1 Pridobitev distribucije Caldera OpenLinux . . . . . . . . . . . . . 69 2.5.2 Priprave na namestitev distribucije Caldera OpenLinux . . . . . . . 69 2.5.3 Ustvarjanje zagonskih in modulskih disket . . . . . . . . . . . . . 69 2.5.4 Priprava trdih diskov . . . . . . . . . . . . . . . . . . . . . . . . . 70

2.6 Slackware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.6.1 Slackware ni za vas (ali pa tudi je) . . . . . . . . . . . . . . . . . . 70 2.6.2 Kratka zgodovina . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.6.3 Zakaj potemtakem? . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.6.4 Nadgradnja? Dvakrat premislite! . . . . . . . . . . . . . . . . . . . 72 2.6.5 Izbira namestitvene metode . . . . . . . . . . . . . . . . . . . . . 72 2.6.6 Zagonske diskete: vedno dobra stvar . . . . . . . . . . . . . . . . . 74 2.6.7 Delovni list za sestavo Slackware-a . . . . . . . . . . . . . . . . . 74 2.6.8 Naj se zgodi Slackware . . . . . . . . . . . . . . . . . . . . . . . . 82 2.6.9 Ustvarite nekaj zagonskih disket . . . . . . . . . . . . . . . . . . . 82 2.6.10 Zaganjanje v akcijo . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2.6.11 Program setup distribucije Slackware . . . . . . . . . . . . . . . . 83 2.6.12 Je to vse? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 2.6.13 Odprava porodnih težav . . . . . . . . . . . . . . . . . . . . . . . 86 2.6.14 Sončenje v večerni zarji . . . . . . . . . . . . . . . . . . . . . . . 87 2.6.15 Premislite o ponovni namestitvi! . . . . . . . . . . . . . . . . . . . 87 2.6.16 Zavarujte sistem . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

2.7 S. u. S. E. Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2.7.1 Začetek namestitve . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2.7.2 Po namestitvi S. u. S. E. . . . . . . . . . . . . . . . . . . . . . . . 90 2.7.3 Usposobitev in poganjanje X . . . . . . . . . . . . . . . . . . . . . 91 2.7.4 Poznejše nadgradnje . . . . . . . . . . . . . . . . . . . . . . . . . 91

2.8 Postopki po namestitvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2.9 Zaplet v težave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

2.9.1 Težave z zagonom namestitvenega medija . . . . . . . . . . . . . . 92 2.9.2 Strojne težave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.9.3 Težave z namestitvijo programja . . . . . . . . . . . . . . . . . . . 98 2.9.4 Problemi po namestitvi Linuxa . . . . . . . . . . . . . . . . . . . . 100

3 Učbenik Linuxa 103 3.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.2 Osnovni pojmi Linuxa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

3.2.1 Izdelava računa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.2.2 Prijava v sistem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.2.3 Navidezne konzole . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.2.4 Ukazne lupine in ukazi . . . . . . . . . . . . . . . . . . . . . . . . 105 3.2.5 Odjava iz sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.2.6 Sprememba vašega gesla . . . . . . . . . . . . . . . . . . . . . . . 106 3.2.7 Datoteke in imeniki . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.2.8 Drevo imenikov . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 3.2.9 Trenutni delovni imenik . . . . . . . . . . . . . . . . . . . . . . . 108 3.2.10 Sklicevanje na domače imenike . . . . . . . . . . . . . . . . . . . 108

3.3 Prvi koraki v Linuxu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 3.3.1 Premikanje naokrog . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.3.2 Ogled vsebine imenikov . . . . . . . . . . . . . . . . . . . . . . . 109 3.3.3 Ustvarjanje novih imenikov . . . . . . . . . . . . . . . . . . . . . 111 3.3.4 Prepisovanje datotek . . . . . . . . . . . . . . . . . . . . . . . . . 111 3.3.5 Premikanje datotek . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.3.6 Brisanje datotek in imenikov . . . . . . . . . . . . . . . . . . . . . 112 3.3.7 Ogled datotek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 3.3.8 Dobivanje pomoči na zvezi . . . . . . . . . . . . . . . . . . . . . . 113

3.4 Dostop do datotek MS-DOS-a . . . . . . . . . . . . . . . . . . . . . . . . 113 3.5 Povzetek osnovnih ukazov Unixa . . . . . . . . . . . . . . . . . . . . . . . 114 3.6 Raziskovanje datotečnega sistema . . . . . . . . . . . . . . . . . . . . . . 116 3.7 Tipi ukaznih lupin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 3.8 Džokerji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.9 Vodovodne inštalacije Linuxa . . . . . . . . . . . . . . . . . . . . . . . . . 123

3.9.1 Standardni vhod in standardni izhod . . . . . . . . . . . . . . . . . 123 3.9.2 Preusmeritev vhoda in izhoda . . . . . . . . . . . . . . . . . . . . 124 3.9.3 Uporaba cevi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 3.9.4 Ne-uničevalna preusmeritev izhoda . . . . . . . . . . . . . . . . . 126

3.10 Dovoljenja datotek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3.10.1 Koncepti dovoljenj datotek . . . . . . . . . . . . . . . . . . . . . . 126 3.10.2 Razlaga dovoljenj datotek . . . . . . . . . . . . . . . . . . . . . . 127 3.10.3 Odvisnosti dovoljenj . . . . . . . . . . . . . . . . . . . . . . . . . 128 3.10.4 Spreminjanje dovoljenj . . . . . . . . . . . . . . . . . . . . . . . . 128

3.11 Upravljanje s povezavami datotek . . . . . . . . . . . . . . . . . . . . . . 129 3.11.1 Trde povezave . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 3.11.2 Simbolne povezave . . . . . . . . . . . . . . . . . . . . . . . . . . 130

3.12 Nadzor opravil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.12.1 Opravila in procesi . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.12.2 Ospredje in ozadje . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.12.3 Spravljanje v ozadje in ubijanje opravil . . . . . . . . . . . . . . . 132 3.12.4 Ustavljanje in ponovno zaganjanje opravil . . . . . . . . . . . . . . 133

3.13 Uporaba urejevalnika vi . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.13.1 Pojmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 3.13.2 Zagon vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.13.3 Vstavljanje besedila . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.13.4 Brisanje besedila . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 3.13.5 Spreminjanje besedila . . . . . . . . . . . . . . . . . . . . . . . . 138 3.13.6 Ukazi za premikanje kazalca . . . . . . . . . . . . . . . . . . . . . 139 3.13.7 Shranjevanje datotek in zapuščanje vi . . . . . . . . . . . . . . . . 139 3.13.8 Urejanje druge datoteke . . . . . . . . . . . . . . . . . . . . . . . 140 3.13.9 Vključevanje drugih datotek . . . . . . . . . . . . . . . . . . . . . 140 3.13.10Poganjanje lupinskih ukazov . . . . . . . . . . . . . . . . . . . . . 140 3.13.11Iskanje pomoči o vi . . . . . . . . . . . . . . . . . . . . . . . . . 141

3.14 Prilagoditev vašega okolja . . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.14.1 Skripti ukazne lupine . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.14.2 Spremenljivke ukazne lupine in okolje . . . . . . . . . . . . . . . . 142 3.14.3 Inicializacijski skripti ukazne lupine . . . . . . . . . . . . . . . . . 145

3.15 Torej želite poskusiti po svoje? . . . . . . . . . . . . . . . . . . . . . . . . 145

4 Sistemsko upravljanje 147 4.1 Račun root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.2 Zaganjanje sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

4.2.1 Uporaba nalagalnika LILO . . . . . . . . . . . . . . . . . . . . . . 149 4.3 Zaustavitev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 4.4 Datoteka /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 4.5 Upravljanje datotečnih sistemov . . . . . . . . . . . . . . . . . . . . . . . 154

4.5.1 Priklop datotečnih sistemov . . . . . . . . . . . . . . . . . . . . . 154 4.5.2 Imena gonilnikov naprav . . . . . . . . . . . . . . . . . . . . . . . 155 4.5.3 Preverjanje datotečnih sistemov . . . . . . . . . . . . . . . . . . . 156

4.6 Uporaba izmenjalne datoteke . . . . . . . . . . . . . . . . . . . . . . . . . 157 4.7 Upravljanje z uporabniki . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

4.7.1 Pojmi upravljanja z uporabniki . . . . . . . . . . . . . . . . . . . . 158 4.7.2 Dodajanje uporabnikov . . . . . . . . . . . . . . . . . . . . . . . . 159 4.7.3 Brisanje uporabnikov . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.7.4 Nastavitev uporabniških atributov . . . . . . . . . . . . . . . . . . 161 4.7.5 Skupine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.7.6 Odgovornosti sistemskega upravljanja . . . . . . . . . . . . . . . . 162 4.7.7 Shajanje z uporabniki . . . . . . . . . . . . . . . . . . . . . . . . . 162 4.7.8 Postavljanje pravil . . . . . . . . . . . . . . . . . . . . . . . . . . 163 4.7.9 Kaj vse to pomeni . . . . . . . . . . . . . . . . . . . . . . . . . . 163

4.8 Arhiviranje in komprimiranje datotek . . . . . . . . . . . . . . . . . . . . 163 4.8.1 Uporaba pripomočka tar . . . . . . . . . . . . . . . . . . . . . . 163 4.8.2 gzip in compress . . . . . . . . . . . . . . . . . . . . . . . . . . 164 4.8.3 Sestavljanje vsega skupaj . . . . . . . . . . . . . . . . . . . . . . . 165

4.9 Uporaba disket in izdelava varnostnih kopij . . . . . . . . . . . . . . . . . 166 4.9.1 Uporaba disket za varnostne kopije . . . . . . . . . . . . . . . . . 166 4.9.2 Varnostne kopije s pogonom Zip . . . . . . . . . . . . . . . . . . . 167 4.9.3 Izdelava varnostnih kopij na tračne enote . . . . . . . . . . . . . . 168 4.9.4 Uporaba disket kot datotečnih sistemov . . . . . . . . . . . . . . . 169

4.10 Nadgradnja in namestitev novega programja . . . . . . . . . . . . . . . . . 170 4.10.1 Nadgraditev jedra . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.10.2 Dodajanje gonilnika naprave v jedro . . . . . . . . . . . . . . . . . 172 4.10.3 Namestitev modula za gonilnik naprave . . . . . . . . . . . . . . . 174 4.10.4 Nadgradnja knjižnic . . . . . . . . . . . . . . . . . . . . . . . . . 175 4.10.5 Nadgradnja prevajalnika gcc . . . . . . . . . . . . . . . . . . . . . 175 4.10.6 Nadgradnja drugega programja . . . . . . . . . . . . . . . . . . . . 176

4.11 Različna opravila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 4.11.1 Sistemske začetne datoteke . . . . . . . . . . . . . . . . . . . . . . 176 4.11.2 Nastavitev gostiteljskega imena . . . . . . . . . . . . . . . . . . . 177

4.12 Dejanja v sili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 4.12.1 Okrevanje z vzdrževalne diskete . . . . . . . . . . . . . . . . . . . 178 4.12.2 Poprava korenskega gesla . . . . . . . . . . . . . . . . . . . . . . 178 4.12.3 Sesuti datotečni sistemi . . . . . . . . . . . . . . . . . . . . . . . . 178 4.12.4 Obnova izgubljenih datotek . . . . . . . . . . . . . . . . . . . . . 179

4.12.5 Sesute knjižnice . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

5 X Window System 181

5.1 Strojne zahteve za sistem X Window . . . . . . . . . . . . . . . . . . . . . 181 5.1.1 Grafična kartica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 5.1.2 Pomnilnik, procesor in diskovni prostor . . . . . . . . . . . . . . . 182

5.2 Namestitev XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 5.3 Preizkušanje strojne sestave . . . . . . . . . . . . . . . . . . . . . . . . . . 185 5.4 Samodejno generiranje datoteke XF86Config . . . . . . . . . . . . . . . . 185 5.5 Nastavitev XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 5.6 Izpolnjevanje informacij o grafični kartici . . . . . . . . . . . . . . . . . . 192 5.7 Poganjanje XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.8 Ko zaidete v težave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

6 Vmreževanje 199

6.1 Vmreževanje s TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 6.1.1 Nastavitev TCP/IP na vašem sistemu . . . . . . . . . . . . . . . . 200 6.1.2 Nastavitev SLIP . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

6.2 Omrežje na klic in PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 6.2.1 Kaj potrebujete za začetek . . . . . . . . . . . . . . . . . . . . . . 212 6.2.2 Pregled potrebnih korakov . . . . . . . . . . . . . . . . . . . . . . 212 6.2.3 Izdelava povezovalnih skriptov . . . . . . . . . . . . . . . . . . . . 222 6.2.4 Prilagajanje priloženih zagonskih skriptov za PPP . . . . . . . . . . 224 6.2.5 Zagon PPP na strani strežnika . . . . . . . . . . . . . . . . . . . . 226 6.2.6 Če vaš strežnik PPP uporablja PAP (Password Authentication Pro-

tocol) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 6.2.7 Uporaba protokola MSCHAP . . . . . . . . . . . . . . . . . . . . 228 6.2.8 Prekinitev povezave PPP . . . . . . . . . . . . . . . . . . . . . . . 230 6.2.9 Odpravljanje pogostih težav, ko povezava deluje . . . . . . . . . . 230

6.3 Vmreževanje z UUCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 6.4 Vmreževanje s sistemi Microsoft . . . . . . . . . . . . . . . . . . . . . . . 232 6.5 Elektronska pošta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 6.6 Novice in Usenet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

A Viri informacij o Linuxu 235

B Učbenik FTP-ja in seznam strežnikov 249

C Splošno dovoljenje GNU 257

D The GNU General Public License 265

E Slovarček pojmov 271

Predgovor

Predgovor prevajalca

Ta prevod je nastal iz potrebe ponuditi slovenskemu bralcu kakovosten uvod v delo z operacijskim sistemom Linux, knjiga pa bo povrhu vsega tudi prosto dostopna. Knjiga je namreč na voljo tudi v elektronski obliki, primerni za iskanje določenih pojmov.

Izvirnik »Linux Installation And Getting Started« spremlja novopečene uporabnike Linuxa že od leta 1993 in je ena od najbolj citiranih knjig za Linux, tako zaradi svoje kakovosti, kot tudi zaradi proste dostopnosti.

Slovenski prevodi prostih spisov Dokumentacijskega projekta za Linux so bili do sedaj omejeni na prevajanje t. i. »spisov HOWTO«, sestavkov, ki se omejujejo na točno določeno tematiko, denimo na namestitev in nastavitev grafičnega okolja X window, vzpostavitev povezave v Internet in podobno. Ta prevod skuša preseči to stanje in ponuditi na enem mestu večino informacij, ki jih potrebuje začetnik. Bralec bo kljub temu v tej knjigi zaman iskal nekatere informacije ali bo morda želel dobiti novejše. V tem primeru je vabljen k branju spisov HOWTO.

Omeniti moram tudi, da so pri »piljenju« tega prevoda sodelovali mnogi z dragocenimi nasveti in pripombami. Izkazalo se je, da slovenska terminologija na področju Unixa ni prav dobro razvita ali pa ni dovolj znana širši javnosti. Posebej moram omeniti mag. Primoža Peterlina in mag. Aleša Koširja, ki sta s pazljivim branjem našla prenekateri vsebinski in jezikovni spodrsljaj, ter Špelo Vintar, ki se je spopadla z lekturo zahtevnega besedila. Vse preostale napake ležijo seveda na moji vesti.

Roman Maurer Zagorje ob Savi, marec 1999

Predgovor avtorjev

Knjiga Linux Installation and Getting Started (LIGS) je bila vodnik za veliko število novih uporabnikov operacijskega sistema Linux. Linux se nenehno razvija, torej se mora tudi ta vodnik.

Matt Welsh, prvotni avtor, je predal knjigo v oskrbo in upravljanje podjetju Specialized Systems Consultants, Inc. (SSC), izdajateljem revije Linux Journal, računalniških priročnikov in drugih virov. Knjiga Linux Installation and Getting Started je še vedno pokrita z licenco GNU General Public License – še vedno je prosto razširljiva tako kot operacijski sistem, ki ga opisuje. V tej novi različici so združili napore posamezniki, ki jih ločuje zemljepis, a združuje Internet, podobno kot pri samem Linuxu. Če mislite, da lahko razširite ali osvežite razdelek knjige Linux Installation and Getting Started, ali imate nov in čudovit dodatek, prosim, pošljite e-pismo na ligs@ssc.com in nam povejte, kaj bi radi prispevali.

V tej izdaji smo dodali za posamezne distribucije specifična navodila za dobivanje in namestitev distribucij S. u. S. E. Linux, Debian GNU/Linux, Linux Slackware, Caldera OpenLinux in Red Hat Linux. Prosim, preberite priznanja, in če srečate koga od omenjenih v živo, se mu zahvalite za pomoč.

Specialized Systems Consultants, Inc. (SSC) Februar 1998

Predgovor k prejšnji izdaji

»Ste v labirintu ozkih zavitih hodnikov, vsi so si podobni.«

Pred vami se pojavlja eden od najbolj kompleksnih in strašljivih sistemov, kar jih je bilo kdaj napisanih. Linux, prosti klon Unixa za osebni računalnik, je napisala pisana druščina gurujev Unixa, hekerjev in drugih naključnih ljudi. Sam sistem izžareva to zapleteno dediščino, in čeprav se razvoj Linuxa lahko zdi neorganiziran napor prostovoljcev, je sistem zmogljiv, hiter in zastonj. Linux je pravi 32-bitni operacijski sistem.

Moje izkušnje z Linuxom se začenjajo pred mnogo leti, ko sem sedel k računalniku in poskusil ugotoviti, kako se namesti v tistem času edina dostopna »distribucija« – nekaj disket, ki jih je objavil H. J. Lu. Vzel sem kup disket in bral stran za stranjo nepovezanih namestitvenih zapiskov. Nekako mi je uspelo namestiti osnovni sistem in doseči, da je vse skupaj delovalo. To je bilo davno pred časom, ko ste lahko kupili programje za Linux na CD-ROM-u od svetovnih distributerjev; pravzaprav še preden je Linux sploh lahko bral CD-ROM. To je bilo pred pojavom XFree86, pred Emacsom, pred podporo komercialnega programja in preden je Linux na področju osebnih računalnikov postal pravi tekmec sistemom MS-DOS, Microsoft Windows in OS/2.

V svojih rokah držite zemljevid in vodnik po svetu Linuxa. Upam, da vam bo ta knjiga pomagala začeti s tistim, kar imam za najhitrejši, najmočnejši operacijski sistem za osebni računalnik. Postavitev vašega lastnega sistema z Linuxom je lahko dobra zabava – zato si natočite skodelico kave, se udobno namestite in nadaljujte z branjem.

Matt Welsh Januar 1994

Namigi za novince v Unixu

Za začetek dela z vašim lastnim sistemom Linux ne potrebujete veliko podlage z delom na Unixu. Mnogo novincev v Unixu je uspešno namestilo Linux na svoje sisteme. Ta učna izkušnja je vredna vloženega napora, a zavedajte se, da vas lahko razočara. Še več, ko se začnete ukvarjati z bolj zapletenimi opravili sistema Linux – namestitev novega programja, ponovno prevajanje jedra in tako naprej – je znanje Unixa še kako potrebno.

Vendar se boste že s preprosto uporabo vašega sistema Linux naučili osnov Unixa. Ta knjiga vam pomaga začeti – poglavje 3 je učbenik osnov Unixa. Poglavje 4 obravnava sistemsko upravljanje Linuxa. Morda boste želeli prebrati ti dve poglavji, preden sploh namestite Linux – ob morebitnih težavah se bodo te informacije dokazale kot neprecenljive.

Nihče ne more pričakovati, da bo čez noč iz novinca postal sistemski upravnik Unixa. Vsaka izvedba Unixa potrebuje nekaj vzdrževanja. Pripravljeni morate biti na pot, ki vas čaka. V nasprotnem primeru vas, če ste novinec v Unixu, lahko sistem spravi na rob obupa.

Namigi za guruje Unixa

Nekdo, ki ima za seboj leta izkušenj pri programiranju in sistemski administraciji Unixa, lahko še vedno potrebuje pomoč, preden pobere in namesti Linux. Čarovniki Unixa morajo biti seznanjeni z določenimi lastnostmi sistema, preden se poglobijo vanj. Linux ni niti komercialni sistem Unix niti ne poskuša dosegati enakih standardov. Stabilnost je sicer pomemben dejavnik pri razvoju Linuxa, ni pa edini.

Morda je pomembnejša funkcionalnost. V veliko primerih postane nova koda del standardnega jedra, ko ima še hrošče in je funkcionalno nepopolna. Razvojni model Linuxa predpostavlja, da je pomembneje izdati kodo uporabnikom v preizkus in uporabo, kot pa zavlačevati z izdajo, dokler koda ni popolna. WINE (emulator Microsoft Windows za Linux) je preživel uradno izdajo α, preden je bil popolnoma preizkušen. Širša skupnost Linuxa je imela priložnost delati s to kodo, in tisti, ki se jim je zdela koda α dovolj dobra za svoje potrebe, so jo lahko uporabljali. Komercialni proizvajalci Unixa redko, če sploh, izdajajo programje na takšen način.

Če ste bili sistemski administrator Unixa več kot desetletje in ste že uporabljali vsak komercialni sistem Unix pod soncem, boste za prilagoditev Linuxu morda potrebovali nekaj časa. Sistem je zelo sodoben in dinamičen. Novo jedro izide vsakih nekaj tednov. Novo programje izhaja nenehno. Nekega dne je vaš sistem popolnoma sodoben, naslednjega dne pa bo lahko že v kameni dobi.

Kako lahko pri vseh teh aktivnostih stopate v korak z vedno spreminjajočim se svetom Linuxa? Največkrat je najbolje nadgraditi le tiste dele sistema, ki potrebujejo nadgradnjo, in le tedaj, ko mislite, da je to neogibno. Na primer, če nikoli ne uporabljate urejevalnika Emacs, ni razloga, da bi na vaš sistem nenehno nameščali nove izdaje Emacsa. Tudi če ste lakomen uporabnik Emacsa, navadno ni razloga za nadgradnjo, razen če potrebujete lastnost, ki obstaja le v naslednji izdaji. Le malo ali pa sploh nič razlogov je, da bi bili vedno na tekočem z najnovejšimi različicami programja.

Upamo, da bo Linux dosegel ali presegel vaša pričakovanja za doma narejeni sistem Unix. V samem bistvu Linuxa je duh prostega programja, nenehnega izpopolnjevanja in rasti. Skupnost Linuxa daje prednost širitvi pred stabilnostjo, kar je težko sprejeti, posebej če ste potopljeni v svet komercialnega Unixa. Nerealno je pričakovati, da bo Linux popoln; v svetu prostega programja tega ni. Verjamemo pa, da je Linux tako popoln in uporaben kot katerakoli druga izvedba Unixa.

Občinstvo

Ta knjiga je namenjena uporabnikom osebnih računalnikov, ki želijo namestiti in uporabljati Linux. Predpostavili bomo, da so vam znane osnove o osebnih računalnikih in operacijskih sistemih, kot je MS-DOS, a nimate prejšnjega znanja Linuxa ali Unixa.

Kljub temu novincem v Unixu močno priporočamo nakup ene od mnogih obstoječih dobrih knjig o Unixu. Še vedno potrebujete znanje Unixa za namestitev in poganjanje celotnega sistema. Nobena distribucija Linuxa ni brez hroščev. Morda boste morali manjše težave odpraviti na roke. Poganjanje sistema Unix ni preprosto opravilo niti s komercialnimi različicami Unixa. Če ste resni pri uporabi Linuxa, se zavedajte, da sta za tek sistema potrebna precejšen napor in pozornost. To drži za vse sisteme Unix. Skupnost Linuxa je raznovrstna, prav tako programje, ki poskuša zadostiti njenim potrebam. Morda za nekatere vaše potrebe ne bo takoj samodejno poskrbljeno.

Organizacija

Ta knjiga vsebuje naslednja poglavja:

Poglavje 1, Uvod v Linux, je splošen uvod v Linux, njegove zmožnosti in potrebe za njegov tek na vašem sistemu. Ponuja tudi namige za iskanje pomoči in zmanjševanje vaše živčnosti.

Poglavje 2, Dobivanje in nameščanje Linuxa, razlaga, kako lahko dobite in namestite programje Linuxa, začenši z razdelitvijo diska, ustvarjanja datotečnih sistemov in nameščanjem programskih paketov. Poglavje vsebuje navodila, ki naj bi v splošnem veljala za katerokoli distribucijo Linuxa, in se za posebnosti zanaša na dokumentacijo, priloženo vaši določeni izdaji.

Poglavje 3, Učbenik Linuxa, je popoln uvod za novince v Unixu. Če imate prejšnje izkušnje z delom v Unixu, bi vam morala biti večina te snovi že znana.

Poglavje 4, Upravljanje sistema, uvaja pomembne pojme za upravnike sistemov Linux. To bo zanimalo upravnike sistemov Unix, ki želijo izvedeti več o za Linux značilnih vidikih poganjanja sistema.

Poglavji 5 in 6, X Windows in Vmreževanje, uvajata številne napredne izbire, ki jih podpira Linux, kot sta grafični sistem X Window System in vmreževanje po TCP/IP. Poskrbeli smo tudi za popoln vodnik nastavitve strežnika XFree86-3.1.

Dodatek A, Viri informacij o Linuxu, je seznam nadaljnjih virov dokumentacije, kot so novičarske skupine, elektronski poštni spiski, omrežni sestavki in knjige.

Dodatek B, Učbenik FTP in seznam strežnikov, je učbenik za jemanje datotek z Interneta s FTP. Ta dodatek tudi našteva arhivne strežnike FTP, ki prenašajo programje za Linux.

Dodatka C in D vsebujeta prevod in izvirnik licence GNU General Public License, licenčnega sporazuma pod katerim se razširja Linux. Pomembno je, da uporabniki Linuxa razumejo GPL. Pojavilo se je precej nesporazumov o zadevah, ki jih opisuje.

V dodatku E so zbrani nekateri pogostejši angleški izrazi in predlogi slovenskih prevodov. Pri prevajanju te knjige so nastali kot stranski produkt in škoda bi jih bilo zavreči.

Priznanja

Ta izdaja gradi na delu tistih, ki nastopajo v originalnih priznanjih Matta Welsha. Dodatno zahvalo si zaslužijo Larry Ayers, Boris Beletsky, Sean Dreilinger, Evan Leibovitch, in Henry Pierce za prispevek navodil v poglavju 2 o distribucijah S. u. S. E. Linux, Debian GNU/Linux, Linux Slackware, Caldera OpenLinux in Red Hat Linux, po vrsti. David Bandel je osvežil poglavje 2 in dodal razdelek, ki opisuje splošno namestitev Linuxa. Vernard Martin je osvežil in razširil poglavje 5. Zahvalo si zasluži tudi Belinda Frazier za urejanje in Jay Painter za osvežitev poglavja 4 o upravljanju sistema.

Priznanja iz prejšnje izdaje

Ta knjiga je nastajala dolgo in k njej je prispevalo mnogo ljudi. Posebej se želim zahvaliti Larryju Greenfieldu in Karlu Foglu za njuno delo na prvi različici poglavja 3 in Larsu Wirzeniusu za njegovo delo na poglavju 4. Hvala Michaelu K. Johnsonu za njegovo pomoč pri projektu LDP in dogovorih zapisa v L^{A}TEX-u, uporabljenih v tem priročniku, in Edu Chiju, ki mi je poslal natisnjen izvod te knjige.

Zahvaljujem se Melindi A. McBride iz SSC, Inc., ki je izvrstno opravila delo izpopolnitve stvarnega kazala poglavij 3, 4, 5 in 6. Želim se tudi zahvaliti Andyju Oramu, Laru Kaufmanu in Billu Hahnu pri založbi O’Reilly and Associates za njihovo pomoč pri Dokumentacijskem projektu za Linux (Linux Documentation Project, LDP).

Hvala podjetjem Linux Systems Labs, Morse Telecommunications in Yggdrasil Computing za njihovo podporo projektu LDP, izkazano s prodajo te knjige in drugih del.

Iskrena hvala mnogim aktivistom Linuxa, vključno z (brez posebnega vrstnega reda) Linusom Torvaldsom, Donaldom Beckerjem, Alanom Coxom, Remyjem Cardom, Tedom T’sojem, H. J. Lujem, Rossem Birojem, Drew Eckhardt, Edom Carpom, Ericom Youngdaleom, Fredom van Kempenom in Stevenom Tweediejem, da so temu projektu posvetili toliko časa in energije in brez katerih ne bi bilo ničesar, o čemer bi se dalo pisati knjigo.

Končno, posebne zahvale neštetim bralcem, ki so mi poslali svoje pripombe in popravke; mnogo preveč jih je, da bi jih tukaj naštel.

Priznanja in birokracija

Dokumentacijski projekt za Linux sestavlja ohlapno povezana skupina piscev, recenzentov in urednikov, ki delujejo na množici priročnikov za Linux.

Ta priročnik je eden od številnih, ki jih razširja Dokumentacijski projekt za Linux. Drugi priročniki vključujejo Linux User’s Guide, System Administrator’s Guide, Network Administrator’s Guide in Kernel Hacker’s Guide. Ti priročniki so dostopni v obliki izvorne kode za L^{A}TEX in v PostScriptu. Dobite jih po anonimnem FTP-ju s strežnika metalab.unc.edu, v imeniku /pub/Linux/docs/LDP.

Dogovori

V tej knjigi se poskušamo držati naslednjih dogovorov o zapisu:

Polkrepko Uporabljamo za oznako novih pojmov, OPOZORIL in ključnih besed v jeziku.

Kurzivno Uporabljamo za poudarke v besedilu in občasno za citate ali uvode na začetku razdelkov.

Nagnjeno Uporabljamo za meta-spremenljivke v besedilu, posebej v ukaznih vrsticah. Na primer, v vrstici

ls -l foo

foo predstavlja ime datoteke, kot je na primer /bin/cp.

Pisalni stroj Uporabljamo za ponazoritev zaslonske interakcije kot v primeru

     $ ls -l /bin/cp

-rwxr-xr-x 1 root  wheel  12104 Sep 25 15:53 /bin/cp

Uporabljamo tudi za primere izvorne kode, najsi bo koda v C-ju, skript ukazne lupine ali za izpis datotek, kot so nastavitvene datoteke. Kadar je to potrebno zaradi jasnosti, so ti primeri ali slike uokvirjeni s tanko obrobo.

Tipka Predstavlja tipko, ki jo je treba pritisniti, kot v primeru

Pritisnite Enter za nadaljevanje.

◇ Diamant na robu, kot črni diamant na smučišču, opozarja na »nevarnost« ali »previdnost«. Pazljivo preberite vse tako označene odstavke.

Poglavje 1

Uvod v Linux

Linux je zelo verjetno najpomembnejši dosežek prostega programja, odkar so napisali igro Space War, ali, nekoliko kasneje, urejevalnik Emacs. Razvil se je v operacijski sistem za poslovne, izobraževalne in osebne namene. Linux ni zgolj za čarovnike Unixa, ki sedijo ure in ure pred žarečim zaslonom (čeprav vam zagotavljamo, da veliko uporabnikov spada v to kategorijo). Ta knjiga vam bo pomagala iz Linuxa izvleči kar največ.

Linux (izgovarja se Línuks) je operacijski sistem Unix in teče na mnogih platformah, posebej na osebnih računalnikih s procesorjem Intel 80386 ali boljšim. Podpira širok spekter programja, od TEX-a do X Window Systema, prevajalnika GNU C/C++ in programov za TCP/IP. Linux je vsestranska, odprta izvedba Unixa, prosto razširljiva pod pogoji licence GNU General Public License (glejte Dodatek D).

Linux lahko spremeni osebni računalnik 80386 ali boljšega v delovno postajo, ki prinese polno moč Unixa na doseg vaših prstov. Podjetja nameščajo Linux na cela omrežja strojev in uporabljajo ta operacijski sistem za urejanje finančnih in bolnišničnih zapisov, okolja porazdeljenega računanja in telekomunikacije. Univerze po vsem svetu uporabljajo Linux kot učni pripomoček za programiranje in načrtovanje operacijskih sistemov. Računalniški navdušenci vsepovsod uporabljajo Linux doma za programiranje, učinkovito delo in hekanje kar tako.

Kar je pri Linuxu tako posebno, je dejstvo, da je to prosta izvedba Unixa. Razvila se je in se še skozi delo skupine prostovoljcev, predvsem na Internetu, ki izmenjujejo kodo, poročajo o hroščih in odpravljajo težave v odprtem okolju. Vsakdo je dobrodošel pri vključitvi v napore za razvoj Linuxa. Vse, kar potrebujete, je zanimanje za hekanje prostega klona Unixa in nekaj programerskega znanja. Knjiga pred vami je vaš vodnik na tej poti.

1.1 O tej knjigi

Ta knjiga je namestitveni vodnik na začetni ravni za Linux. Njen namen je usposobiti nove uporabnike, da bodo postavili in poganjali sistem, zato smo vključili vanjo čimveč pomembne snovi. Namesto da pokrivamo nestanovitne tehnične podrobnosti, ki se pri hitrem razvoju rade spreminjajo, vam ponujamo trdne temelje, na katerih boste lahko gradili sami.

Linuxa ni težko namestiti in uporabljati. Vendar, kot pri vsaki izvedbi Unixa, je za pravilno usposobitev vsega pogosto potrebno nekaj črne magije. Upamo, da vam bo ta knjiga pomagala vstopiti na avtobus izleta v Linux in vam pokazala, kako veličasten operacijski sistem je lahko.

V tej knjigi obravnavamo naslednje teme:

• Kaj je Linux? Zasnova in filozofija tega edinstvenega operacijskega sistema in kaj lahko stori za vas.

• Podrobnosti poganjanja Linuxa, vključno s predlogi priporočene strojne sestave.

• Posebna navodila za namestitev različnih distribucij Linuxa, vključno z distribucijami Debian, Red Hat, in Slackware.

• Kratek, uvodni učbenik Unixa za uporabnike brez prejšnjih izkušenj pri delu z njim. Ta učbenik naj bi posredoval dovolj snovi, da se bodo novinci znašli v sistemu.

• Uvod v upravljanje sistema Linux. To pokriva najpomembnejša opravila, ki jih morajo izvajati upravljalci Linuxa, kot so ustvarjanje uporabniških računov in upravljanje z datotečnimi sistemi.

• Informacije o nastavitvi bolj naprednih odlik Linuxa, kot so X Window System, omrežja TCP/IP in elektronska pošta in novice.

Knjiga je namenjena uporabniku osebnega računalnika, ki bi rad začel z delom v Linuxu. Ne predpostavljamo prejšnjih izkušenj z Unixom, vendar pričakujemo od novincev, da pogledajo še kam drugam. Za tiste, ki vam Unix ni domač, je v Dodatku A naveden seznam uporabnih virov. V splošnem je ta knjiga mišljena kot dodatno branje h kakšni drugi knjigi o osnovnih pojmih Unixa.

1.2 Kratka zgodovina Linuxa

Unix je zaradi svoje velike podporne baze in distribucije eden od najpopularnejših operacijskih sistemov na svetu. Sprva so ga razvili v sedemdesetih letih pri AT&T kot večopravilni sistem za miniračunalnike in osrednje računalnike, a je od takrat rasel in postal eden od najširše uporabljanih operacijskih sistemov kjerkoli, kljub svojemu včasih konfuznemu vmesniku in pomanjkanju centralne standardizacije.

Mnogi hekerji menijo, da je Unix Prava Stvar – Edini Pravi Operacijski Sistem. Zato se je torej razvoj Linuxa razširil s skupino hekerjev Unixa, ki so si želeli umazati roke z lastnim operacijskim sistemom.

Različice Unixa obstajajo za veliko sistemov, od osebnih računalnikov do superračunalnikov, kot je Cray Y-MP. Večina različic Unixa za osebne računalnike je dragih in nerodnih. V času, ko to pišemo, stane različica operacijskega sistema AT&T UNIX System V za en sam računalnik 386 približno 1500 ameriških dolarjev.

Linux je prosta različica Unixa, ki jo je razvil predvsem Linus Torvalds z Univerze v Helsinkih na Finskem, ob pomoči mnogih programerjev in čarovnikov Unixa na Internetu. Sistem lahko razvija in spreminja kdorkoli z dovolj znanja in domiselnosti. Jedro sistema Linux ne uporablja kode AT&T ali drugih lastniških virov in večina programja za Linux je bila razvita v projektu GNU ustanove Free Software Foundation v Cambridgeu, Massachusetts, ZDA. V rastoči bazen programja za Linux so prispevali programerji z vsega sveta.

Linux se je prvotno razvijal kot ljubiteljski projekt Linusa Torvaldsa. Navdihnil ga je Minix, mali sistem Unix, ki ga je razvil Andy Tanenbaum. Prve razprave o Linuxu so se odvijale v novičarski skupini Useneta comp.os.minix. Te razprave so se ukvarjale predvsem z razvojem majhnega, akademskega sistema Unix za uporabnike Minixa, ki so si želeli več.

Zelo zgodnji razvoj Linuxa je predvsem izboljševal lastnosti preklopa opravil vmesnika zaščitenega načina procesorja 80386, vse napisano v zbirniku. Linus piše:

»Po tem je bilo vse preprosto: še vedno sicer kosmato kodiranje, vendar sem imel nekaj orodij in razhroščevanje je bilo lažje. Na tej stopnji sem začel uporabljati C, kar je gotovo pospešilo razvoj. Tedaj sem tudi začel resneje razmišljati o svoji megalomanski ideji, da bi napisal „boljši Minix od Minixa“. Upal sem, da bom nekoč sposoben prevesti gcc pod Linuxom …

Dva meseca za osnovno sestavo, vendar sem imel le malce kasneje gonilnik diska (hudo hroščat, a na mojem stroju je slučajno deloval) in majhen datotečni sistem. To je bilo takrat, ko sem različico 0.01 naredil dostopno (nekako konec avgusta 1991): ni bila lepa, ni imela gonilnika za diskete in skoraj ničesar ni znala narediti. Ne verjamem, da je sploh kdo prevedel to različico. A takrat sem bil že zasvojen in nisem hotel odnehati, dokler ne bi prekosil Minixa.«

Linux različice 0.01 ni bil nikjer objavljen. Izvorna koda 0.01 niti ni bila izvedljiva. Vsebovala je le čisto osnovo za izvorno kodo jedra in predpostavljala, da ste imeli dostop do stroja z Minixom za prevajanje in eksperimentiranje.

5. oktobra 1991 je Linus objavil prvo »uradno« različico Linuxa, to je bila različica 0.02. Tedaj je Linus lahko poganjal bash (ukazna lupina GNU Bourne Again Shell) in gcc (prevajalnik za C iz projekta GNU), a skoraj nič drugega. Sistem je bil pač namenjen le hekerjem. Središče pozornosti je veljalo razvoju jedra – uporabniška podpora, dokumentacija in distribucija še niso bili v načrtu. Še dandanes skupnost Linuxa obravnava ta vprašanja kot sekundarna glede na »pravo programiranje« – razvoj jedra.

Kot je Linus napisal v comp.os.minix:

»Ali hrepenite po časih sistema Minix-1.1, ko so bili možje še možje in so si sami pisali gonilnike naprav? Ste brez prijetnega projekta in umirate od želje, da si polomite zobe na OS, ki ga bi radi oblikovali po svojih potrebah? Ste razočarani, kadar v Minixu vse deluje? Nič več neprespanih noči, da pripravite moden program k delovanju? Potem je morda to sporočilo ravno za vas.

Kot sem že omenil pred mesecem, delam na prosti različici Minixu podobnega sistema za računalnike AT-386. Moj sistem je končno dosegel stopnjo, ko je lahko celo uporaben (čeprav morda tudi ni, odvisno od tega, kaj hočete), in sem pripravljen objaviti izvorno kodo za širšo distribucijo. Je le različica 0.02… toda pod njim sem uspešno pognal bash, gcc, gnu-make, gnu-sed, compress, itd.«

Po različici 0.03 je Linus poskočil na številko različice 0.10, saj je več ljudi začenjalo sodelovati pri delu na sistemu. Po nekaj nadaljnjih revizijah je Linus marca 1992 povečal številko različice na 0.95, da bi ponazoril svoja pričakovanja, da bo sistem kmalu pripravljen na »uradno« izdajo. (V splošnem se programju ne priredi številka 1.0, dokler ni teoretično popolno in brez hroščev.) Skoraj leto in pol zatem, konec decembra 1993, je bilo jedro Linuxa še vedno na različici 0.99.pl14 – asimptotično se je bližalo 1.0. V času, ko to pišemo, ima trenutno stabilno jedro številko različice 2.2, stopnja popravka 2, razvija pa se različica 2.2.3.

Večina pomembnejših prostih paketov programja za Unix je bila prenešena na Linux, dostopno pa je tudi komercialno programje. Podprte je vse več strojne opreme kot v prvotnih različicah jedra. Mnogo ljudi je izvajalo teste hitrosti Linuxa na sistemih 80486 in ugotovilo, da so primerljivi z delovnimi postajami srednjega razreda podjetij Sun Microsystems in Digital Equipment Corporation. Kdo bi si mislil, da bo ta »mali« klon Unixa kdaj zrasel in zasedel celoten svet osebnega računalništva?

1.3 Odlike sistema

Linux podpira lastnosti, ki jih najdete tudi v drugih izvedbah Unixa, ima pa še veliko takšnih, ki jih drugje ne najdete. V tem razdelku bomo naredili kratek izlet v lastnosti jedra sistema Linux.

Linux je popolnoma večopravilen, večuporabniški operacijski sistem, kot so tudi vse druge različice Unixa. To pomeni, da se lahko hkrati prijavi na en sam stroj tudi več uporabnikov in lahko hkrati izvajajo več programov.

Sistem Linux je v veliki meri združljiv z različnimi standardi Unixa (kolikor Unix sploh ima standarde) na nivoju izvorne kode, vključno s standardi IEEE POSIX.1, Unix System V in Berkeley System Distribution Unix. Linux se je razvil s prenosljivostjo izvorne kode pred očmi in zlahka najdete odlike, ki so skupne različnim platformam. Večina na Internetu dostopnega, prostega programja za Unix se na Linuxu prevede »naravnost iz škatle«. Dodatno je dostopna in prosto razširljiva še vsa izvorna koda sistema Linux, vključno z jedrom, gonilniki naprav, knjižnicami, uporabniškimi programi in razvojnimi orodji.

Druge posebne notranje odlike Linuxa vključujejo kontrolo opravil POSIX (uporabljajo jih ukazne lupine, kot sta csh in bash), psevdoterminale (naprave pty) in podporo nacionalnim ali prirejenim gonilnikom tipkovnice, ki se lahko nalagajo dinamično. Linux podpira navidezne konzole, ki vam omogočajo preklapljanje med prijavnimi sejami na isti sistemski konzoli. Uporabnikom programa screen se bodo zdele navidezne konzole Linuxa že znane.

Jedro lahko emulira ukaze koprocesorja 387 in sistemi brez matematičnega koprocesorja lahko poganjajo programe, ki potrebujejo matematiko plavajoče vejice.

Linux podpira različne datotečne sisteme za hrambo podatkov, kot je datotečni sistem ext2, razvit posebej za Linux. Podprti so tudi datotečni sistemi sistemov Xenix in UNIX System V, kot tudi datotečni sistemi Microsoft MS-DOS in Windows 95 VFAT na trdem disku ali disketi. Podprt je standardni datotečni sistem ISO 9660 za CD-ROM. Več o datotečnih sistemih bomo spregovorili v poglavjih 2 in 4.

Linux ponuja popolno izvedbo programja za omrežja TCP/IP. Ta vključuje gonilnike naprav za mnogo popularnih mrežnih kartic, SLIP (Serial Line Internet Protocol) in PPP (Point-to-Point Protocol), ki poskrbita za dostop do omrežja TCP/IP po serijski zvezi, ter PLIP (Parallel Line Internet Protocol) in NFS (Network File System). Podprt je tudi popoln nabor odjemalcev in strežnikov TCP/IP, vključno s FTP, telnet, NNTP in SMTP. Več o omrežnih zadevah bomo povedali v poglavju 6.

Jedro Linuxa je zasnovano tako, da uporablja lastnosti zaščitenega načina procesorjev Intel 80386 ali boljših. Linux posebej uporablja vzorec upravljanja pomnilnika z deskriptorji v zaščitenem načinu in druge napredne lastnosti. Kdor je seznanjen s programiranjem 80386, ve, da je bil ta čip zasnovan za večopravilne sisteme, kot je Unix. Linux izkorišča to funkcionalnost.

Jedro podpira nalaganje strani izvedljivih datotek na zahtevo. Z diska se v pomnilnik preberejo le tisti deli programa, ki se zares uporabljajo. Izvedljive datoteke si delijo tudi strani, ki se prekopirajo ob pisanju. Če hkrati teče več izvodov programa, si fizičen pomnilnik delijo, kar zmanjša splošno porabo.

Linux podpira ostranjevanje na disk in s tem povečuje količino dostopnega pomnilnika. Disku lahko priredite do en gigabajt izmenjalnega prostora^{1} – swapa – do 8 particij, od katerih ima vsaka po 128 megabajtov. Ko sistem potrebuje več fizičnega pomnilnika, preseli nedejavne strani iz pomnilnika na disk in vam s tem omogoči poganjanje večjih aplikacij in podporo več uporabnikom. Vendar izmenjevanje podatkov na disk ni nadomestek za fizični RAM, ki je mnogo hitrejši.

Jedro Linuxa vsebuje izvedbo skupnega pomnilniškega prostora za uporabniške programe in diskovni predpomnilnik. Ves prosti pomnilnik se uporablja za predpomnilnik, ki se ob poganjanju velikih programov zmanjša.

Izvedljive datoteke uporabljajo dinamično povezane deljene knjižnice: kodo iz ene same knjižnice na disku. To je podobno mehanizmu deljenih knjižnic, ki ga uporablja SunOS. Izvedljive datoteke tako porabijo manj prostora na disku, predvsem tiste, ki uporabljajo veliko knjižničnih funkcij. Obstajajo tudi statično povezane knjižnice za objektno razhroščevanje in vzdrževanje »samostojnih« binarnih datotek, kadar dinamične knjižnice niso nameščene. Knjižnice se dinamično povezujejo med tekom in programer lahko uporablja svoje knjižnične podprograme namesto standardnih knjižničnih.

Jedro izdeluje posmrtne ostanke procesov (angl. core dumps) za lažje razhroščevanje sesutih programov. Posmrtni ostanek je izvedljiva datoteka, povezana s podporo razhroščevalniku, ki razvijalcu pomaga ugotoviti, zakaj se je program sesul.

1.4 Programske odlike

Na Linux so bili preneseni resnično vsi pripomočki, ki jih lahko pričakujete v standardni izvedbi Unixa, vključno z osnovnimi ukazi, kot so ls, awk, tr, sed, bc in more. Domače delovno okolje drugih sistemov Unix je prenešeno tudi v Linux. Vključeni so vsi standardni ukazi in pripomočki. (Novi uporabniki Unixa ali Linuxa bi morali pogledati poglavje 3 za uvod v osnovne ukaze Unixa.)

Na razpolago je mnogo urejevalnikov besedil, vključno z urejevalniki vi, ex, pico, jove, joe in GNU Emacs, in različic, kot je XEmacs, ki razširja zmožnosti sistema X Window System. Urejevalnik besedil, ki ste ga najbolj navajeni uporabljati, je verjetno prenesen tudi na Linux.

Izbira navadnega urejevalnika besedil je zanimiva. Veliko uporabnikov Unixa ima raje »preproste« urejevalnike, kakršen je vi. (Avtor izvirnika je napisal to knjigo z vi.) A vi ima zaradi svoje starosti precej omejitev in sodobni urejevalniki, kot je Emacs, so vse bolj priljubljeni. (Slovenski prevajalec te knjige je uporabil Emacs.) Emacs podpira popoln jezik in interpreter na Lispu temelječih makro ukazov, močno skladnjo ukazov in druge razširitve. Obstajajo paketi makro ukazov za emacs, ki vam omogočajo branje elektronske pošte in novic, urejanje vsebine imenikov in celo sodelovanje v psihoterapevtskih seansah umetne inteligence (nepogrešljivo za hekerje Linuxa pod stresom).

Večina osnovnih pripomočkov Linuxa spada med programje GNU. Pripomočki GNU podpirajo napredne odlike, ki jih ne najdete v standardnih različicah programov za BSD ali UNIX System V. Na primer, GNU-jev klon vi, elvis, vključuje strukturiran makro jezik, ki se razlikuje od prvotne izvedbe. Pripomočki GNU pa vendarle nameravajo ostati združljivi s svojimi ekvivalenti v BSD in System V. Mnogo ljudi ima različice GNU za boljše od originalov.

1Izmenjalni prostor je neustrezno poimenovan; ne izmenjujejo se celotni procesi, pač pa le posamezne strani.

Seveda se dostikrat na disk začasno preselijo celotni procesi, vendar to ni vselej res.

Ukazna lupina (angl. shell) je program, ki bere in izvaja uporabnikove ukaze. Mnoge ukazne lupine ponujajo še dodatne lastnosti, kot so nadzor opravil, upravljanje več hkratnih procesov, preusmeritev vhoda in izhoda ter ukazni jezik za pisanje lupinskih skriptov. Lupinski skript je program v ukaznem jeziku lupine in je analogna paketni datoteki (angl. batch) v MS-DOS-u.

Za Linux je na voljo veliko tipov ukaznih lupin. Najpomembnejša razlika med lupinami je ukazni jezik. Na primer, lupina C SHell (csh) uporablja ukazni jezik, podoben programskemu jeziku C. Klasična Bournova lupina Bourne SHell sh uporablja drug ukazni jezik. Izbira ukazne lupine pogosto temelji na ukaznem jeziku, ki ga ponuja, in v veliki meri določa kakovost vašega delovnega okolja v Linuxu.

Ukazna lupina GNU Bourne Again SHell (bash) je različica Bournove ukazne lupine in ima veliko naprednih odlik, kot so nadzor opravil, zgodovina ukazov, dopolnitev imen ukazov in datotek, emacs-u podoben vmesnik za urejanje ukazne vrstice ter druge zmogljive razširitve standardnega jezika Bourne Shell. Druga priljubljena lupina je tcsh, različica C-jevske lupine csh z napredno funkcionalnostjo, podobno tisti v bash. Ostale lupine vključujejo zsh, malo ukazno lupino, podobno Bournovi; Kornovo ukazno lupino (ksh); BSD-jevsko ash; in rc, ukazno lupino Plan 9.

Če vaš sistem uporabljate le vi in boste venomer uporabljali vi in bash kot svoj urejevalnik besedil in ukazno lupino, ni nobenega razloga za namestitev drugih urejevalnikov besedil ali ukaznih lupin. Pristop »naredi si sam« prevladuje med mnogimi hekerji in uporabniki Linuxa.

1.4.1 Urejanje in obdelava besedil

Skoraj vsak uporabnik računalnika potrebuje postopek za pripravo spisov. V svetu osebnih računalnikov je standard urejanje besedil: urejanje in upravljanje besedila v okolju »kar vidiš, to dobiš« (angl. What You See Is What You Get, WYSIWYG) in tiskanje besedila skupaj s slikami, tabelami in okraski.

V svetu Unixa so dostopni komercialni urejevalniki besedil podjetij Corel, Applix in Star Division, toda pogostejše je stavljenje besedil, kar je precej drugačna stvar. V sistemih za urejanje besedil je besedilo vnešeno v jeziku za opis strani, ki pove, kako naj bo besedilo oblikovano. Namesto vnosa besedila v posebnem okolju za urejanje besedil lahko spremenite besedilo v kateremkoli urejevalniku, kot sta vi ali Emacs. Ko končate z vnosom izvornega besedila (v stavnem jeziku), poseben program pretvori izvorno kodo v obliko, primerno za tiskanje. To je nekako analogno programiranju v jeziku, kot je C, in »prevajanju« spisa v obliko za izpis.

Za Linux je na voljo veliko stavnih sistemov. Eden od njih je groff, GNU-jevska različica klasičnega stavnika besedil troff, izvorno razvitega v Bell Labs in še vedno uporabljanega na mnogih sistemih Unix po vsem svetu. Drug sodoben sistem za stavljenje besedil je TEX, ki ga je razvil Donald Knuth, znan s področja teoretičnega računalništva. Na voljo so tudi dialekti TEX-a, kot je L^{A}TEX.

Stavniki besedil, kot sta TEX in groff, se razlikujejo predvsem v skladnji svojih jezikov za oblikovanje besedila. Izbira enega oblikovalnega sistema izmed ostalih temelji na dostopnosti pripomočkov, ki zadovoljujejo vaše potrebe, kot tudi na osebnem okusu.

Za mnoge ljudi je oblikovalni jezik groff-a malce obskuren in se jim zdi TEX lažje berljiv. Vendar groff naredi izhod v obliki ASCII, ki ga zlahka pregledamo na terminalu, medtem ko je TEX predvsem namenjen izdelavi izhoda za tiskalniško napravo. Če želimo iz sestavkov v TEX-u izdelati izhod ASCII ali pretvoriti vhod TEX-a v obliko za groff, potrebujemo različne dodatne programe.

Še en takšen program je texinfo, razširitev TEX-a, ki so jo razvili pri Free Software Foundation in se uporablja za programsko dokumentacijo. texinfo lahko izdela natisnjen izhod ali hipertekstni sestavek, imenovan »Info«, iz iste izvorne datoteke. Datoteke Info so glavna oblika dokumentacije, ki jo uporablja programje GNU (na primer emacs).

Stavniki besedil se v računalniški srenji na široko uporabljajo za pisanje razprav, disertacij, časopisnih člankov in knjig. (Ta knjiga je napisana z L^{A}TEX-om.) Ker izvorni spis ni shranjen v obskurnem zapisu, ki ga lahko bere le en urejevalnik besedil, lahko programerji pišejo čitalnike in prevajalnike za oblikovalni jezik in s tem razširjajo sistem.

Kako je videti oblikovalni jezik? V splošnem je oblikovana izvorna datoteka sestavljena predvsem iz samega besedila s krmilnimi kodami za doseganje učinkov, kot so spremembe pisave ali robov in oblikovanje seznamov.

Preglejte naslednje besedilo:

Gospod Torvalds:

Zelo smo vznemirjeni zaradi vaših trenutnih načrtov za izvedbo posthipnotičnih sugestij s kodo terminalskega gonilnika v Linuxu. Tako čutimo iz treh razlogov:

1. Podtikanje subliminalnih sporočil v gonilnik terminala ni le nemoralno, je izguba časa;

2. Dokazano je, da so „post-hipnotične sugestije“ neučinkovite, če jih izvajamo na nič hudega slutečih hekerjih Unixa;

3. Že zdaj smo kot varnostno sredstvo implementirali visoko-napetostne električne šoke v izvorni kodi za login.

Upamo, da boste še enkrat premislili.

To besedilo se lahko takole zapiše v opisnem jeziku za L^{A}TEX:

\begin{quote} Gospod Torvalds:

Zelo smo vznemirjeni zaradi vaših trenutnih načrtov za izvedbo \emph{post-hipnotičnih sugestij} s kodo terminalskega gonilnika v \textbf{Linuxu}. Tako čutimo iz treh razlogov: \begin{enumerate} \item Podtikanje subliminalnih sporočil v gonilnik terminala

ni le nemoralno, je izguba časa; \item Dokazano je, da so ,,post-hipnotične sugestije‘‘

neučinkovite, če jih izvajamo na nič hudega slutečih hekerjih Unixa;

\item Že zdaj smo kot varnostno sredstvo implementirali visoko-napetostne električne šoke v izvorni kodi

za \texttt{login}. \end{enumerate} Upamo, da boste še enkrat premislili. \end{quote}

Avtor vnese besedilo s katerimkoli urejevalnikom navadnega besedila in ustvari oblikovan izhod s procesiranjem izvornega besedila z L^{A}TEX-om. Na prvi pogled se morda zdi stavni jezik skrivnosten, vendar ga je v resnici zelo lahko razumeti. Uporaba sistema za stavljenje besedil že ob pisanju vsiljuje tipografske standarde. Vsi oštevilčeni seznami v spisu bodo izgledali enako, razen če avtor spremeni definicijo oštevilčenega seznama. Cilj takšne filozofije je, da se avtor osredotoči na samo besedilo, ne na podrobnosti dogovorov o stavljenju.

Ko se piše v urejevalniku besedil, se v splošnem ne razmišlja o tem, kakšno bo videti natisnjeno besedilo. Pisec se nauči končni izgled predočiti v mislih s pomočjo formatirnih ukazov v izvornem besedilu.

Urejevalniki besedil WYSIWYG so privlačni zaradi več razlogov. Ponujajo lahko praktičen vizualni vmesnik za urejanje spisov. Toda ta vmesnik je omejen na aspekte videza besedila, ki so dostopni uporabniku. Na primer, veliko urejevalnikov besedil še vedno ponuja poseben formatirni jezik za vključevanje zapletenih izrazov, na primer matematičnih formul. To je stavljenje besedila, čeprav v manjšem obsegu.

Nezanemarljiva prednost stavljenja besedil je, da lahko določite natančno tisto obliko, ki jo potrebujete. V veliko primerih zahteva stavni sistem naknadno določitev oblike. Stavni sistemi tudi omogočajo, da se izvorno besedilo uredi s katerimkoli tekstovnim urejevalnikom, namesto da se zanašajo na formatne kode, ki so skrite pod neprozornim uporabniškim vmesnikom urejevalnika besedil. Nadalje, izvorno besedilo se zlahka pretvori v druge oblike zapisa. Cena za to prilagodljivost in moč stavnih sistemov je pomanjkanje oblikovanja WYSIWYG.

Nekateri programi vam pred tiskanjem omogočajo predogled oblikovanega spisa na grafičnem zaslonu. Program xdvi pod okni X prikaže »od naprave neodvisno« datoteko, ki jo naredi sistem TEX. Aplikacije kot sta xfig in gimp ponujajo grafične vmesnike WYSI-WYG za risanje slik in diagramov, ki se lahko pretvorijo v opisno obliko, primerno za vključitev v vaš sestavek.

Stavniki besedil kot troff so se pojavili dosti prej kot urejevalniki besedil WYSIWYG. Mnogo ljudi ima še vedno raje njihovo vsestranskost in neodvisnost od grafičnega okolja.

Na voljo je veliko pripomočkov, povezanih s stavljenjem besedil. Zmogljivi sistem , ki se uporablja za oblikovanje pisav za TEX, je vključen v izvedbo TEX-a za Linux. Drugi programi vključujejo ispell, interaktivni črkovalnik in popravljalnik; makeindex, ki generira stvarna kazala v L^{A}TEX-ovih spisih; in veliko drugih paketov makrojev za TEX in groff, ki oblikujejo raznovrstna tehnična in matematična besedila. Na voljo so tudi programi, ki prevajajo izvorno kodo za TEX ali groff v veliko število drugih formatov.

Novinec pri stavljenju besedil je YODL, ki ga je napisal Karel Kubat. YODL je lahko naučljivi jezik s filtri za izdelavo različnih izhodnih formatov, kot so L^{A}TEX, SGML in HTML.

1.4.2 Programski jeziki in pripomočki

Linux ponuja popolno programsko okolje Unixa, vključno z vsemi standardnimi knjižnicami, orodji za programiranje, prevajalniki in razhroščevalniki, ki bi jih pričakovali na drugih sistemih Unix.

Podprti so standardi, kot je POSIX.1, kar omogoča, da se programje, napisano za Linux, zlahka prenaša na druge sisteme. Poklicni programerji na Unixu in upravniki sistemov uporabljajo Linux za razvoj programja doma in potem prenesejo programje na službene sisteme Unix. Ne le, da to prihrani dosti časa in denarja, pač pa vam tudi omogoča delati v udobju lastnega doma. (Eden od avtorjev uporablja doma svoj sistem za razvoj in preizkušanje aplikacij za X Window System; te aplikacije se lahko neposredno prevedejo na delovnih postajah drugje.) Študenti računalništva se učijo programiranja v Unixu in raziskujejo druge vidike svojega sistema, kot je arhitektura jedra.

Z Linuxom imate dostop do popolnega nabora knjižnic in programskih pripomočkov ter popolno izvorno kodo jedra in programskih knjižnic.

V svetu programske opreme za Unix se sistemi in aplikacije pogosto programirajo v jeziku C ali C++. Standardni prevajalnik za C in C++ je v Linuxu GNU gcc, napredni, sodobni prevajalnik, ki podpira C++, vključno z lastnostmi AT&T 3.0, kot tudi Objective-C, še eno objektno usmerjeno narečje jezika C.

Poleg jezikov C in C++ so bili na Linux preneseni tudi drugi prevajalniški in interpreterski programski jeziki, kot so Smalltalk, FORTRAN, Java, Pascal, LISP, Scheme in Ada (če ste tako mazohistični, da programirate v Adi, vam tega nikakor ne bomo preprečili). Dodatno so na voljo različni zbirniki za pisanje kode zaščitenega načina procesorja 80386 ter tudi favoriti hekanja v Unixu, kot sta Perl (skriptni jezik, ki potolče vse druge skriptne jezike) in Tcl/Tk (ukazni lupini podoben sistem za obdelovanje ukazov, ki ima podporo za razvoj preprostih aplikacij za X Window System).

Napredni razhroščevalnik gdb lahko izvaja program v izvorni kodi vrstico za vrstico ali preiskuje njegove posmrtne ostanke, da bi ugotovili vzrok sesutja. Pripomoček za optimalizacijo gprof ponuja statistiko delovanja vašega programa in vam pove, kje ta porabi največ svojega izvajalnega časa. Kot smo že omenili zgoraj, urejevalnik besedil emacs ponuja interaktivno urejanje in prevajalska okolja za različne programske jezike. Druga orodja vključujejo GNU make in imake, ki upravljata prevajanje velikih aplikacij, in RCS, sistem za zaklepanje izvorne kode in nadzor nad njenimi različicami.

Končno, Linux podpira dinamično povezane, deljene knjižnice (ang. Dynamically Linked Libraries, DLL), česar posledica so precej manjše binarne datoteke. Skupna koda podprogramov se poveže ob teku programa. Ti DLL-ji vam omogočajo tudi uporabo lastnih funkcij namesto vgrajenih. Na primer, če želite napisati svojo lastno različico knjižnične funkcije malloc(), bo povezovalnik uporabil vašo novo funkcijo namesto tiste iz standardne knjižnice.

1.4.3 Uvod v sistem X Window System

Grafični sistem X Window System ali preprosto X je standardni grafični uporabniški vmesnik (angl. graphical user interface, GUI) za stroje z Unixom; zmogljivo okolje, ki podpira mnogo aplikacij. Pri uporabi sistema X Window imate lahko na zaslonu hkrati več terminalskih oken, vsako lahko vsebuje različno prijavno sejo. Pogosto se z X uporablja tudi kazalna naprava, na primer miška, vendar ta ni nujno potrebna.

Posebej za X je bilo napisanih mnogo aplikacij, vključno z igrami, grafičnimi in programerskimi pripomočki in dokumentacijskimi orodji. Linux in X naredita iz vašega sistema pravo delovno postajo. Z vmreženjem TCP/IP lahko vaš stroj z Linuxom prikazuje aplikacije za X, ki v resnici tečejo na kakšnih drugih strojih.

X Window System je bil prvotno razvit na Massachusetts Institute of Technology in se lahko prosto razširja. Veliko komercialnih proizvajalcev je razširjalo lastne izboljšave originalnega sistema X Window. Različica X, ki teče na Linuxu, se imenuje XFree86, prenos X11R6 na računalnike s procesorji Intel (80x86), ki se lahko prosto razširja. XFree86 podpira širok razpon video opreme, vključno z grafičnimi karticami VGA, Super VGA in grafičnimi pospeševalniki. XFree86 je popolna distribucija programja X Windows System in vsebuje sam strežnik X, veliko aplikacij in pripomočkov, programskih knjižnic in dokumentacije.

Standardne aplikacije za X vključujejo xterm, terminalski emulator, ki se ga uporablja za poganjanje večine tekstovnih aplikacij v oknu, xdm, ki ureja prijave v sistem, xclock, preprosto številčnico ure, xman, bralnik strani referenčnega priročnika za X, in xmore. Aplikacij za X, ki tečejo v Linuxu, je preveč, da bi jih tukaj omenjali, a med njimi so programi za urejanje preglednic, urejevalniki besedil, grafični programi, spletni brkljalniki, kot je Netscape Navigator itd. Mnogo drugih aplikacij je dostopnih posebej. Teoretično bi se morala vsaka aplikacija, napisana za X, povsem brez napak prevesti za Linux.

Vmesnik sistema X Window v veliki meri nadzoruje okenski upravljalnik. Ta uporabniško prijazen program je med drugim zadolžen za postavljanje oken, uporabniški vmesnik za spremembo njihovih razsežnosti in položaja, spremembo oken v ikone in videz okenskih okvirjev. XFree86 vključuje twm, klasični okenski upravljalnik z MIT, dostopni pa so tudi napredni okenski upravljalniki, kot je Open Look Virtual Window Manager (olvwm). Med mnogimi uporabniki Linuxa je priljubljen fvwm – majhen okenski upravljalnik, ki potrebuje manj kot polovico pomnilnika, potrebnega za tek twm. Ponuja trirazsežen videz oken in navidezno namizje. Uporabnik premakne miško do roba zaslona, namizje pa se pomakne, kot da bi bilo precej večje, kot je v resnici. Upravljalnik fvwm je zelo nastavljiv in dovoljuje dostop do svojih funkcij prek tipkovnice ali miške. Veliko distribucij Linuxa uporablja fvwm kot standardni okenski upravljalnik. Različica fvwm-ja, imenovana fvwm95-2, ponuja podoben videz in občutek kot pri Microsoft Windows 95.

Distribucija XFree86 vključuje programske knjižnice za zvite programerje, ki želijo razvijati aplikacije za X. Podprti so nabori gradnikov kot so Athena, Open Look in Xaw3D. Vključene so vse standardne pisave, rastrske slike, strani referenčnega priročnika in dokumentacija. Podprt je tudi PEX, programski vmesnik za trirazsežno grafiko.

Veliko programerjev pri razvoju aplikacij za X uporablja lastniški nabor gradnikov Motif. Precej prodajalcev prodaja enouporabniške ali večuporabniške licence za binarne različice Motifa. Ker je sam Motif relativno drag, ga imajo le maloštevilni uporabniki Linuxa. Pač pa se binarne datoteke, statično povezane s podprogrami Motifa, lahko prosto razširjajo. Če napišete program z uporabo Motifa, lahko priskrbite binarno datoteko, tako da ga bodo lahko uporabljali tudi uporabniki, ki sicer nimajo knjižnic Motif.

Glavno opozorilo pri uporabi sistema X Window se nanaša na njegove strojne potrebe. Procesor 80386 s 4 megabajti RAM-a bo zadostoval za poganjanje X, a za udobno uporabo je potrebnih 16 megabajtov fizičnega RAM-a ali več. Dobro je imeti tudi hitrejši procesor, a pomembneje je imeti dovolj fizičnega RAM-a. Za res živahno zmogljivost videa vam dodatno priporočamo nabavo pospeševalne videokartice. Z Linuxom in XFree86 je bila že leta 1998 presežena ocena zmogljivosti 1.000.000 xstones. Z uporabo primerne strojne opreme boste ugotovili, da je tek X in Linuxa tako hiter ali celo hitrejši kot tek X na drugih delovnih postajah Unix.

V poglavju 5 razložimo, kako namestiti in uporabljati grafični sistem X na vašem stroju.

1.4.4 Uvod v vmreževanje

Bi radi komunicirali s svetom? Linux podpira dva osnovna omrežna protokola Unixa: TCP/IP in UUCP. TCP/IP (Transmission Control Protocol/Internet Protocol) je standard vmreževanja, ki omogoča sistemom po vsem svetu komuniciranje na enotnem omrežju, imenovanem Internet. Z Linuxom, TCP/IP in povezavo v Internet lahko komunicirate z uporabniki in stroji z elektronsko pošto, z novičarskimi skupinami Useneta in s prenosom datotek po FTP.

Večina omrežij za TCP/IP uporablja ethernet za fizičen prenos po lokalnem omrežju. Linux podpira mnoge priljubljene kartice za ethernet in vmesnike za osebne računalnike, vključno z adapterji pocket in PCMCIA Ethernet.

Ker pa vsi nimajo doma povezave prek etherneta, Linux podpira tudi protokola SLIP (Serial Line Internet Protocol) in PPP (Point-to-Point Protocol), ki ponujata dostop do Interneta z modemom. Veliko podjetij in univerz ponuja strežnike za SLIP in PPP. Pravzaprav lahko tudi vaš Linux postane strežnik za protokola SLIP ali PPP drugim sistemom, če le imate ethernetno povezavo in modem.

NFS (Network File System) omogoča vašemu sistemu brezšivno delitev datotečnih sistemov z drugimi stroji na omrežju. FTP (File Transfer Protocol) vam omogoča izmenjavo datotek z drugimi stroji. sendmail pošilja in sprejema elektronsko pošto po protokolu SMTP; C-News in INN sta nova sistema za izmenjavo novičarskih skupin po protokolu NNTP; in telnet, rlogin in rsh vam omogočajo prijavo in izvajanje ukazov na drugih strojih omrežja. Z ukazom finger izveste podatke o drugih uporabnikih Interneta.

Linux podpira povezovanje z Microsoft Windows s sistemom Samba^{2} in povezavo z Macintoshi po protokolih AppleTalk in LocalTalk. Vključena je tudi podpora Novellovemu protokolu IPX.

Za Linux je dostopen poln razpon poštnih in novičarskih bralnikov, vključno s programi elm, pine, rn, nn, in tin. Najsi bo vaš osebni okus tak ali drugačen, sistem z Linuxom lahko nastavite tako, da pošilja in sprejema elektronsko pošto in novice po celem svetu.

Sistem ponuja za Unix standarden vmesnik za programiranje vtičnic (angl. socket programming). Pravzaprav je mogoče vsak program, ki uporablja TCP/IP, prenesti na Linux. Tudi strežnik za X v Linuxu podpira TCP/IP, in aplikacije, ki tečejo na drugih sistemih, lahko uporabljajo zaslon vašega lokalnega sistema.

V poglavju 6 bomo obrazložili namestitev programja za TCP/IP, vključno s SLIP in PPP.

UUCP (UNIX-to-UNIX Copy) je starejši mehanizem prenosa datotek, elektronske pošte in elektronskih novic med stroji Unix. Nekoč so bili stroji UUCP povezani z modemom prek telefonskih linij, vendar lahko UUCP prenaša podatke tudi po omrežju TCP/IP. Če nimate dostopa do omrežja TCP/IP ali strežnika za SLIP ali PPP, lahko nastavite svoj sistem za pošiljanje in sprejem datotek in elektronske pošte z uporabo UUCP. Glejte poglavje 6 za več informacij.

2Glejte Samba: Integrating UNIX and Windows, \begin{matrix}c \\ ◯ \end{matrix} 1998 Specialized Systems Consultants.

1.4.5 Telekomunikacije in programje za BBS

Če imate modem, boste lahko komunicirali z drugimi stroji preko telekomunikacijskih paketov, dostopnih za Linux. Veliko ljudi uporablja telekomunikacijsko programje za dostop do elektronskih oglasnih desk (angl. Bulletin Board System, BBS), kot tudi do komercialnih storitev na zvezi, kot so Prodigy, CompuServe in America Online. Ljudje uporabljajo modeme za povezovanje s sistemi Unix v službi ali v šoli. Modemi lahko pošiljajo in sprejemajo fakse.

Priljubljen komunikacijski paket za Linux se imenuje seyon in ponuja prilagodljiv, ergonomičen vmesnik pod X z vgrajeno podporo za prenosna protokola Kermit in ZModem. Drugi telekomunikacijski programi vključujejo C-Kermit, pcomm in minicom. Ti so podobni komunikacijskim programom z drugih operacijskih sistemov in so precej enostavni za uporabo.

Če nimate dostopa do strežnika za SLIP ali PPP (glejte prejšnji razdelek), lahko uporabljate term za multipleksiranje vaše serijske linije. Program term vam omogoča odpiranje več kot ene prijavne seje po modemski povezavi. Omogoča vam preusmeritev odjemalnih povezav X na vaš lokalni strežnik X prek serijske linije. Drug programski paket, KA9Q, je izvedba vmesnika, podobnega SLIP-u.

Vzdrževanje BBS-a (angl. Bulletin Board System) je priljubljen konjiček in vir dohodka za veliko ljudi. Linux podpira širok spekter programja za BBS, večina od tega je zmogljivejša od tistega, dostopnega za druge operacijske sisteme. S telefonskim priključkom, modemom in Linuxom lahko spremenite vaš sistem v BBS in ponudite priključni dostop za uporabnike po vsem svetu. Programje za BBS v Linuxu vključuje paketa XBBS in UniBoard.

Večina programov za BBS zaklene uporabnika v sistem menujev, kjer so dostopne le nekatere funkcije in aplikacije. Alternativa dostopu do BBS-a je poln dostop do Unixa, ki omogoča uporabniku klic na vaš sistem in običajno prijavo. To zahteva precejšno mero vzdrževanja s strani upravitelja sistema, a ponujanje javnega dostopa do Unixa ni težko. Poleg vmreženosti s TCP/IP lahko naredite na vašem sistemu dostopno tudi elektronsko pošto in novice.

Če nimate dostopa do omrežja TCP/IP ali gostitelja UUCP, vam Linux omogoča komunikacijo z omrežji BBS-ov, kot je FidoNet, ki vam omogočajo izmenjavo elektronskih novic in pošte po telefonski liniji. Več podatkov o telekomunikacijah in programju za BBS v Linuxu lahko najdete v poglavju 6.

1.4.6 Svetovni splet

Omeniti velja, da Linux vključuje programje tako za spletne strežnike kot tudi za spletne brkljalnike. Najpogostejši strežnik je Apache. Na tisoče sistemov Linux na Internetu poganja Apache, vključno s strežnikom virov za Linux (Linux Resources), http://www.linuxresources.com/ in strežnikom Društva slovenskih uporabnikov Linuxa, http://www.lugos.si/.

Distribucije Linuxa vključujejo različne spletne brkljalnike, drugi brkljalniki pa se lahko vzamejo z Interneta. Dostopni brkljalniki vključujejo brkljalnike Lynx, Mosaic, Netscape, Arena in Amaya.

Linux ponuja popolno podporo programskemu jeziku Java in dodatkom CGI, Perl pa je sploh standardno orodje v programerskem sistemu Linuxa.

1.4.7 Povezljivost in MS-DOS

Obstajajo različni pripomočki za povezovanje z operacijskim sistemom MS-DOS. Najbolj znana aplikacija je MS-DOS Emulator, emulacija MS-DOS-a za Linux, ki vam omogoča poganjanje aplikacij za MS-DOS neposredno iz Linuxa. Čeprav sta Linux in MS-DOS popolnoma različna operacijska sistema, okolje zaščitenega načina 80386 omogoča dosovskim aplikacijam, da se obnašajo, kot da bi tekle v svojem domorodnem okolju 8086.

Emulator za MS-DOS se še vedno razvija, toda pod njim teče veliko popularnih aplikacij. Jasno je, da dosovske aplikacije, ki uporabljajo bizarne ali ezoterične lastnosti sistema, morda ne bodo nikoli podprte, to pa zaradi vrojenih omejitev vsakega emulatorja. Ne smete tudi pričakovati, da boste lahko poganjali programe, ki uporabljajo lastnosti zaščitenega načina 80386, kot je Microsoft Windows (v razširjenem načinu 386, se pravi).

Standardni dosovski ukazi in pripomočki, kot je PKZIP.EXE, delujejo pod emulatorji, kot tudi 4DOS, nadomestilo za COMMAND.COM, FoxPro 2.0, Harvard Graphics, MathCad, Stacker 3.1, Turbo Assembler, Turbo C/C++, Turbo Pascal, Microsoft Windows 3.0 (v realnem načinu) in WordPerfect 5.1.

Emulacija MS-DOS-a je mišljena predvsem kot ad-hoc rešitev za tiste, ki potrebujejo MS-DOS le za nekaj aplikacij, za vse ostalo pa uporabljajo Linux. Ni mišljeno, da bi bila to popolna izvedba MS-DOS-a. Seveda, če Emulator ne zadovolji vaših potreb, lahko vedno poženete MS-DOS na istem sistemu kot Linux. Z uporabo zagonskega nalagalnika LILO lahko ob zagonu določite, kateri operacijski sistem naj se zažene. Linux lahko sobiva tudi z drugimi operacijskimi sistemi kot je npr. OS/2.

Linux priskrbi brezšivni vmesnik za prenos datotek med Linuxom in MS-DOS-om. Pod Linuxom lahko priklopite particijo ali disketo za MS-DOS in dostopate do dosovskih datotek neposredno, kot pri katerikoli drugi datoteki.

Trenutno poteka razvoj emulatorja WINE – emulacije Microsoft Windows za sistem X Window pod Linuxom. Ko bo WINE nekoč končan, bodo lahko uporabniki poganjali aplikacije za MS-Windows neposredno iz Linuxa. To je podobno komercialnemu emulatorju Windows WABI podjetja Sun Microsystems, ki je dostopen tudi za Linux.

V razdelku 3.4 bomo govorili o dosovskih orodjih, ki so na voljo za Linux.

1.4.8 Druge aplikacije

Za Linux obstaja kopica raznovrstnih programov in pripomočkov, kot bi bilo tudi pričakovati za tako raznolik operacijski sistem. Primarno žarišče Linuxa je osebno računalništvo z Unixom, toda to ni edino področje, kjer blesti. Izbira poslovnega in znanstvenega programja se širi in proizvajalci komercialnega programja so začeli prispevati v rastoči bazen aplikacij za Linux.

Za Linux je dostopnih nekaj relacijskih zbirk, vključno z zbirkami podatkov Postgres, Oracle, Informix, Ingres in Mbase. To so polno zmogljive, profesionalne aplikacije zbirk podatkov tipa odjemnik/strežnik, podobne tistim, ki jih najdete na drugih platformah Unixa. Dostopnih je tudi precej komercialnih sistemov za baze podatkov.

Aplikacije znanstvenega računanja vključujejo FELT (analiza končnih elementov); gnuplot (risanje in analiziranje podatkov); Octave (paket za simbolno računanje, podoben kot MathLab); xspread (kalkulator preglednice); xfractint (prenos popularnega generatorja fraktalov Fractint na X) in xlispstat (statistika). Druge aplikacije vključujejo SPICE (načrtovanje in analiza električnih vezij) in Khoros (obdelava in vizualizacija slik in digitalnih signalov). Dostopni so komercialni paketi, kot so Maple, MathLab in Mathematica.

Na Linux je bilo prenesenih še mnogo več aplikacij. Če nikakor ne morete najti tega, kar potrebujete, lahko poskusite prenesti na Linux obstoječo aplikacijo s kakšne druge platforme. Kakršnokoli je že vaše področje, je prenos standardnih aplikacij z Unixa na Linux preprost. Popolno programsko okolje Unixa, ki ga ponuja Linux, je dovolj za osnovo vsake znanstvene aplikacije.

Linux ima tudi svoj delež iger. Te vključujejo klasične tekstovno usmerjene pustolovske igre, kot sta Nethack in Moria; MUD-e (angl. multi-user dungeons, večuporabniške pustolovščine, ki omogočajo večim uporabnikom stik v tekstovni avanturi), kot sta DikuMUD in TinyMUD; in nekaj iger za X, kot so xtetris, netrek in xboard, različica šahovskega programa gnuchess za X11. Tudi krvava arkadna igra Doom je bila prenesena na Linux.

Za avdiofile podpira Linux različne zvočne kartice in ustrezno programje, kot so CDplayer, ki spremeni pogon CD-ROM v igralnik glasbenih CD-jev, sekvencerji in urejevalniki MIDI, s katerimi lahko skladate glasbo za igranje na sintetizatorju ali drugem glasbilu, ki ga nadzoruje MIDI, in zvočni urejevalniki za digitalizirane zvoke.

Ne morete najti aplikacije, ki jo iščete? Zemljevid programja za Linux (Linux Software Map, LSM), ki je opisan v dodatku A, našteva programske pakete, napisane ali prenesene na Linux. Drugi način, da najdete aplikacije za Linux, je, da pogledate v datoteke INDEX, ki ležijo na mestih za FTP Linuxa, če imate dostop do Interneta.

Večina prosto razširljivega programja za Unix se bo prevedla na Linuxu kvečjemu z malimi težavami. Če odpove vse drugo, lahko sami napišete aplikacijo. Če iščete komercialno aplikacijo, je morda na voljo njen prosti »klon«. Lahko pa tudi spodbudite programsko podjetje, da razmisli o izdaji binarne različice za Linux. Več posameznikov se je že obrnilo na programska podjetja in jih prosilo, če prenesejo svoje aplikacije na Linux, in pri tem doseglo različne stopnje uspeha.

1.5 Vprašanja pravic razširjanja

Linux je pokrit s tem, kar je znano kot Splošno dovoljenje GNU (angl. GNU General Public License), ali kratko GPL. GPL je delo projekta GNU ustanove Free Software Foundation in določa več pridržkov za razširjanje in spreminjanje prostega programja. Prosto se, v tem smislu, nanaša na razširjanje, ne na stroške. GPL je bila vedno predmet napačnih interpretacij, zato upamo, da vam bo ta povzetek pomagal razumeti obseg in cilje GPL in njenega učinka na Linux. Popoln izvod GPL je natisnjen v dodatku D.

Prvotno je Linus Torvalds izdal Linux pod licenco, restriktivnejšo od GPL. Dovoljevala je prosto razširjanje in spreminjanje programja, vendar je prepovedovala vsako izmenjavo denarja za njegovo razširjanje in uporabo. Po drugi strani GPL omogoča ljudem prodajanje in ustvarjanje dobička od prostega programja, vendar jim ne dovoljuje komu drugemu odvzeti pravice, da bi to programje razširjal na kakršenkoli način.

Najprej je treba pojasniti, da prosto programje, ki ga pokriva GPL, ni v javni lasti. Programje v javni lasti po svoji definiciji nima zaščite pravic razširjanja in je dobesedno last vseh. Programje, ki ga pokriva GPL, pa pravno zaščiti njegov avtor. Programje varujejo mednarodni standardni zakoni o razširjanju in avtor je pravno definiran. GPL poskrbi za programje, ki se, pravno gledano, lahko razširja, a ni v javni lasti.

Programje, zaščiteno z GPL, tudi ni preizkusno programje (angl. shareware). V splošnem je preizkusno programje last avtorja, ki ga je zaščitil in zahteva, da mu uporabniki plačajo določen znesek za njegovo uporabo. Programje, ki ga pokriva GPL, lahko razširjate in uporabljate zastonj.

GPL tudi dovoljuje ljudem vzeti, spremeniti in razširjati njihove lastne različice programja. Vendar morajo biti vsa dela, izpeljana iz programja, ki je zaščiteno z GPL, tudi pokrita z GPL. Z drugimi besedami, podjetje ne more vzeti Linuxa, ga spremeniti in prodajati pod bolj omejujočo licenco. Če je programje izpeljano iz Linuxa, mora biti pokrito z GPL.

GPL dovoljuje brezplačno razširjanje in uporabo svojega programja. Dovoljuje tudi, da oseba ali organizacija programje, zaščiteno z GPL, razširja proti plačilu ali ustvarja celo dobiček iz njegove prodaje in distribucije. Vendar distributer programja GPL ne more vzeti teh pravic kupcu. Če kupite programje z GPL od nekoga tretjega, lahko to programje razširjate zastonj ali pa ga sami prodajate.

To se morda sliši protislovno. Zakaj prodajati programje, če pa vam GPL omogoča, da ga dobite zastonj? Denimo, da se podjetje odloči, da bo zbralo veliko količino prostega programja na CD-ROM-u in ga razširjalo. To podjetje bo moralo zaračunati stroške izdelave in distribucije CD-ROM-ov in se lahko celo odloči, da bo s prodajo tega programja kovalo dobiček. To je v GPL dovoljeno.

Organizacije, ki prodajajo prosto programje, morajo upoštevati omejitve, ki jih določa GPL. Ne morejo omejiti pravic uporabnikom, ki kupijo programje. Če kupite CD-ROM s programjem, zaščitenim z GPL, lahko kopirate in razširjate CD-ROM zastonj ali ga sami preprodajate. Distributerji morajo jasno razložiti uporabnikom, da je programje pokrito z GPL. Distributerji morajo tudi poskrbeti, zastonj, za popolno izvorno kodo razširjanega programja. To omogoča vsakomur, ki kupi programje z GPL, spreminjanje tega programja.

Dovoljenje podjetju za distribucijo in prodajo prostega programja je dobra stvar. Vsi nimajo dostopa do Interneta in možnosti dobivanja tega programja zastonj. Veliko organizacij prodaja Linux na disketah, traku ali CD-ROM-u, po poštnem naročilu, in ustvarja dobiček od prodaje. Razvijalci Linuxa morda nikoli ne vidijo tega dobička; to je pač dogovor med razvijalci in distributerji, ko se programje licencira z GPL. Z drugimi besedami, Linus Torvalds je vedel, da bodo podjetja morda želela prodajati Linux in da od njihovega dobička morda ne bo videl niti prebite pare.

V svetu prostega programja glavno vprašanje ni denar. Cilj prostega programja je vedno razvoj in razširjanje fantastičnega programja in dovoljenje vsakomur, da ga dobi in uporablja. V naslednjem razdelku bomo spregovorili o tem, kako se to odraža pri razvoju Linuxa.

1.6 Zasnova in filozofija Linuxa

Novi uporabniki imajo pogosto napačne predstave in pričakovanja o Linuxu. Pomembno je razumeti filozofijo in zasnovo Linuxa, če ga želite uporabljati učinkovito. Začeli bomo z opisom, kako Linux ni zasnovan.

V komercialnih razvijalskih hišah Unixa se celoten sistem razvija s strogo politiko zagotavljanja kvalitete, ki izkorišča sisteme za nadzor izvorne kode in popravkov, dokumentacijo, in postopke za poročilo in odpravo hroščev. Razvijalci najbrž ne bodo dodajali lastnosti ali spreminjali poglavitnih delov kode zaradi muhavosti. Spremembo morajo upravičiti kot odgovor na poročilo o hrošču in zaporedno »prijaviti« vse spremembe nadzornemu sistemu izvorne kode, tako da lahko po potrebi razveljavijo spremembe. Vsakemu razvijalcu je dodeljen eden ali več delov kode sistema in le ta razvijalec lahko spreminja te dele kode, ko je ta »v delu« (se pravi, ko je koda pod njegovim nadzorom).

V tej organizacijski shemi oddelek za zagotovitev kakovosti izvaja temeljite preizkuse vsake nove različice operacijskega sistema in poroča o hroščih. Razvijalec odpravi odkrite hrošče. Pred izdajo naslednje različice se uporablja zapleten sistem statistične analize, ki zagotavlja, da je določen odstotek hroščev odpravljen in da operacijski sistem v celoti zadošča določenim kriterijem za izdajo.

Programsko podjetje mora imeti seveda kvantitativni dokaz, da je naslednja različica operacijskega sistema pripravljena za prodajo; odtod zbiranje podatkov in statistično analiziranje obnašanja operacijskega sistema. Razvoj komercialnega sistema Unix je ogromen posel, pogosto dovolj velik, da zaposli na stotine, če ne tisoče, programerjev, preizkuševalcev, tehničnih piscev in administrativnega osebja. Seveda noben komercialni proizvajalec Unixa ni povsem enak drugemu, a to je splošna slika.

Model programskega razvoja za Linux zavrača celoten koncept organiziranega razvoja, nadzornih sistemov izvorne kode, strukturiranega poročanja o hroščih in statistične kontrole kvalitete. Linux je, in bo verjetno vedno ostal, operacijski sistem hekerjev. (Z izrazom heker (angl. hacker) mislimo mrzlično vnetega programerja, ki uživa v izkoriščanju računalnikov in z njimi počne zanimive stvari. To je prvotna definicija tega izraza, za razliko od drugega pomena hekerja kot računalniškega falota ali kriminalca.)

Za razvoj Linuxa ni odgovorna nobena organizacija. Vsakdo z dovolj znanja ima možnost pomagati pri razvoju in razhroščevanju napak jedra, prenosu novega programja, pisanju dokumentacije in pomoči novim uporabnikom. Skupnost Linuxa najpogosteje komunicira prek elektronskih spiskov in novičarskih skupin Useneta. Pri razvojnih naporih so se uveljavili nekateri dogovori. Vsakdo, ki želi, da bo njegova koda vključena v »uradno« jedro, jo pošlje Linusu Torvaldsu. Ta jo preizkusi in jo vključi v jedro, če ne kvari obstoječih zadev ali ne nasprotuje celotni zasnovi sistema.

Sam sistem je zasnovan z uporabo odprtega pristopa in z mislijo na dodatke. Vrsta novih dodatkov in kritičnih sprememb sistema se je v zadnjem času zmanjšala, in splošno pravilo je, da se nova različica jedra objavi vsakih nekaj tednov. Seveda je to približna številka. Kriteriji za novo različico vključujejo število odpravljenih hroščev, povratne informacije uporabnikov, ki preizkušajo pred-izdane različice kode, in količino spanca, ki jo je ta teden užil Linus Torvalds.

Dejstvo je, da med dvema izdajama niso odpravljeni vsi hrošči niti niso rešene vse težave. Če se zdi, da je izdaja očiščena kritičnih ali ponavljajočih se hroščev, se reče, da je stabilna, in izdana je nova različica. Namen, skrit za razvojem Linuxa, ni izdaja popolne kode brez hroščev, temveč razvoj proste izvedbe Unixa. Linux je namenjen razvijalcem bolj kot komurkoli drugemu.

Vsakdo, ki ima nov dodatek ali programsko aplikacijo, jo v splošnem objavi kot različico alfa – se pravi testno različico za tiste pogumne uporabnike, ki bi radi izbrskali težave v prvotni kodi. Ker skupnost Linuxa v veliki meri temelji na Internetu, se programje alfa navadno postavi na eno ali več mest za FTP paketov za Linux (glejte dodatek B), sporočilo o dostopnosti in načinu preizkušanja pa se objavi v eni od novičarskih skupin Useneta o Linuxu. Uporabniki, ki vzamejo in preizkusijo programje α, lahko avtorju po pošti sporočijo svoje izide, popravke napak in vprašanja.

Ko se odpravijo prvotni hrošči, izvorna koda vstopi v stanje preizkusa beta, v katerem se navadno pojmuje za stabilno, a ne za popolno. Deluje, a vse lastnosti morda še niso prisotne. Programje gre lahko tudi direktno v zadnje stanje, kjer se predpostavi njegova kompletnost in uporabnost.

Zavedajte se, da so to le dogovori – ne pravila. Nekateri razvijalci morda tako zaupajo v svoje programje, da se odločijo, da različici α in β nista potrebni. Takšne odločitve vedno sprejema razvijalec.

Morda vas preseneča, kako lahko nestrukturiran sistem prostovoljcev, ki preizkušajo in razhroščujejo celoten sistem Unix, sploh kaj naredi. Kot se je izkazalo, je to eden od najbolj učinkovitih in motiviranih razvojnih timov, kar se jih je zbralo. Celotno jedro Linuxa je napisano iz ničesar, brez kode lastniškega izvora. Za prenos vsega prostega programja pod soncem na Linux je potrebnega ogromno dela. Knjižnice so napisane in prenesene, datotečni sistemi so razviti in strojni gonilniki napisani za veliko priljubljenih naprav – vse zaradi dela prostovoljcev.

Programje za Linux se v splošnem izdaja kot distribucija, nabor vnaprej pripravljenega programja, ki sestavlja celoten sistem. Za večino uporabnikov bi bilo težko zgraditi popoln sistem od začetka, začenši z jedrom, dodajajoč pripomočke in nameščujoč vse potrebno programje na roko. Namesto tega je dostopnih veliko distribucij programja, ki vključujejo vse potrebno za namestitev in pogon popolnega sistema. Ni ene same, standardne distribucije – več jih je, in vsaka ima svoje prednosti in pomanjkljivosti. Namestitev različnih distribucij Linuxa opisujemo, začenši s stranjo 43.

1.7 Razlike med Linuxom in drugimi operacijskimi sistemi

Pomembno je razumeti razlike med Linuxom in drugimi operacijskimi sistemi, kot so MS-DOS, OS/2 in druge izvedbe Unixa za osebne računalnike. Najprej, Linux lahko srečno sobiva z drugimi operacijskimi sistemi na istem stroju: na istem sistemu lahko poleg Linuxa poganjate še MS-DOS in OS/2 brez težav. Obstajajo celo načini interakcije med različnimi operacijskimi sistemi, kot bomo videli.

Zakaj uporabljati Linux? Zakaj uporabljati Linux namesto dobro znanega, dobro preizkušenega in dobro dokumentiranega komercialnega operacijskega sistema? Naštejemo vam lahko tisoč razlogov. Eden od najpomembnejših je, da je Linux izvrstna izbira za osebno računalništvo z Unixom. Če ste razvijalec programov za Unix, zakaj bi doma uporabljali MS-DOS? Linux vam omogoča razvoj in preizkus programja za Unix na vašem PC-ju, vključno z bazami podatkov in aplikacijami za X Window System. Če ste študent, verjetno računalniški sistemi vaše univerze tudi poganjajo Unix. Poganjate lahko svoj lastni Unix in ga prikrojite po svojih potrebah. Nameščanje in poganjanje Linuxa je tudi odličen način za učenje Unixa, če nimate dostopa do drugih strojev z Unixom.

A ne izgubimo pregleda. Linux ni le za uporabnike osebnega Unixa. Dovolj je robusten in kompleten, da zmore obdelati velika opravila, kot tudi zadovoljiti potrebe porazdeljenega računanja. Veliko podjetij – posebno manjših – je preselilo svoje sisteme na Linux namesto na druga okolja delovnih postaj Unix. Univerze so ugotovile, da je Linux popoln za učne predmete zasnove operacijskih sistemov. Veliki komercialni proizvajalci so se začeli zavedati priložnosti, ki jih ponuja prosti operacijski sistem.

Linux vs. MS-DOS Poganjanje Linuxa in MS-DOS-a na istem sistemu ni neobičajno. Mnogo uporabnikov Linuxa se zanaša na MS-DOS za aplikacije, kot je urejanje besedil. Linux ponuja svoje analogije teh aplikacij, a morda imate dober razlog, da poganjate tako MS-DOS kot Linux. Če je vaša disertacija napisana z uporabo urejevalnika Word za Windows, je morda ne boste zlahka pretvorili v TEX ali kak drug format. Veliko komercialnih aplikacij za MS-DOS še ni dostopnih za Linux, a ni razloga, da ne bi uporabljali obeh.

MS-DOS ne izrablja vse funkcionalnosti procesorjev 80386 in novejših. Po drugi strani teče Linux popolnoma v zaščitenem načinu procesorja in uporablja vse njegove prednosti. Neposredno lahko dostopate do vsega dostopnega pomnilnika (in še dlje, z uporabo navideznega RAM-a). Linux priskrbi popoln vmesnik Unixa, ki ni dostopen v MS-DOS-u. Zlahka lahko razvijete in prenašate aplikacije za Unix na Linux, v MS-DOS-u pa ste omejeni le na del funkcionalnosti Unixa.

Linux in MS-DOS sta različna pojma. MS-DOS ni drag v primerjavi z drugimi komercialnimi operacijskimi sistemi in ima močno oporišče v svetu osebnih računalnikov. Noben drug operacijski sistem za osebne računalnike ni dosegel ravni priljubljenosti MS-DOS-a, ker je opravičevanje izdatka $1.000 za drugi operacijski sistem nemogoče za mnogo uporabnikov. Linux pa je prost in končno imate možnost, da se odločite sami.

Med Linuxom in MS-DOS-om se lahko odločite na podlagi svojih pričakovanj in potreb. Linux ni za vsakogar. Če ste si vedno želeli doma poganjati popoln sistem Unix, brez visokih cen drugih izvedb Unixa za osebne računalnike, je morda Linux prav to, kar iščete.

Linux vs. drugi tipi sistemov V svetu PC-jev je postalo priljubljenih precej naprednih operacijskih sistemov. Posebej sta pri nadgradnji uporabnikov z MS-DOS-a postala popularna IBM-ov OS/2 in Microsoftov Windows.

Tako OS/2 kot Windows NT sta povsem večopravilna operacijska sistema, enako kot Linux. OS/2, Windows NT in Linux podpirajo približno enak uporabniški vmesnik, vmreženost in varnostne odlike. Vendar je prava razlika med Linuxom in drugimi tipi dejstvo, da je Linux različica Unixa, in pridobiva s prispevki širše skupnosti Unixa.

Zakaj je Unix tako pomemben? Ne le, da je to najpopularnejši operacijski sistem za večuporabniške stroje, pač pa je tudi osnova za svet prostega programja. Večina prostega programja na Internetu je napisana prav za sisteme Unix.

Obstaja veliko izvedb Unixa različnih proizvajalcev. Za njihovo razširjanje ni odgovorna ena sama ustanova. V skupnosti Unixa obstajajo veliki pritiski za standardizacijo v obliki odprtih sistemov, a ni ene same skupine, ki bi načrtovala to zasnovo. Vsak proizvajalec (ali, kot se izkaže, vsak heker) lahko razvije standardno izvedbo Unixa.

Po drugi strani so OS/2 in operacijski sistemi Microsofta lastniški. Vmesnik in zasnovo nadzoruje ena sama korporacija, ki razvija kodo operacijskega sistema. V nekem smislu je takšna vrsta organizacije napredek, saj postavlja točne standarde za programiranje in zasnovo uporabniškega vmesnika, za razliko od tistih, ki jih najdemo v skupnosti odprtih sistemov.

Več organizacij je poskušalo opraviti težak posel standardizacije programskega vmesnika za Unix. Linux je večinoma združljiv s standardom POSIX.1. Sčasoma je pričakovati, da se bo sistem Linux prilagodil drugim standardom, vendar standardizacija ni prvotni cilj razvoja Linuxa.

Linux vs. druge izvedbe Unixa Za osebne računalnike s procesorjem 80386 ali boljšim obstaja precej drugih izvedb Unixa. Arhitektura 80386 je primerna za Unix in proizvajalci so to izkoristili.

Vse izvedbe Unixa za osebni računalnik so podobne Linuxu. Skoraj vse komercialne različice Unixa podpirajo približno isto programje, programsko okolje in lastnosti vmreževanja. Vendar obstajajo med Linuxom in komercialnimi različicami Unixa tudi razlike.

Linux podpira drugačen nabor strojne opreme kot komercialne izvedbe. V splošnem Linux podpira najbolj znane strojne naprave, toda podpora je še vedno omejena na strojno opremo, ki jo imajo razvijalci. Komercialni proizvajalci Unixa od začetka podpirajo več strojne opreme, a seznam v Linuxu podprtih naprav se nenehno daljša. Strojne potrebe za Linux bomo pokrili v razdelku 1.8.

Mnogo uporabnikov poroča, da je Linux vsaj tako stabilen kot komercialni sistemi Unix. Linux se še vedno razvija, a filozofija dvokoračnih izdaj, stabilne in razvojne, je izdelala dostopne stabilne različice, ne da bi upočasnila razvoj.

Za veliko uporabnikov je najpomembnejši dejavnik cena. Programska oprema Linux je prosta in jo lahko vzamete z Interneta ali kakšnega drugega računalniškega omrežja. Če nimate dostopa do Interneta, lahko še vedno poceni kupite Linux po poštnem naročilu na disketi, traku ali CD-ROM-u.

Seveda lahko skopirate Linux od prijatelja, ki že ima programje, ali delite stroške nakupa s kom drugim. Če nameravate namestiti Linux na velikem številu strojev, boste morali nabaviti le en izvod programja – Linux se ne razširja z licenco »enega stroja«.

Vrednosti komercialnih izvedb Unixa ne smete podcenjevati. Poleg cene samega programja se plača tudi za dokumentacijo, podporo in zagotovitev kvalitete. Za velike ustanove so to zelo pomembni dejavniki, a uporabniki osebnih računalnikov morda ne potrebujejo teh storitev. V vsakem primeru, mnogo podjetij in univerz je odkrilo, da je poganjanje Linuxa v laboratoriju poceni osebnih računalnikov boljše kot poganjanje komercialnih različic Unixa v laboratoriju delovnih postaj. Linux lahko zagotovi funkcionalnost delovne postaje na osebnem računalniku za delček njenih stroškov.

Sistemi Linux so pluli na visokih morjih Severnega Pacifika in upravljali telekomunikacije in analizo podatkov za oceanografsko raziskovalno plovilo. Sistemi Linux se uporabljajo v raziskovalnih postajah na Antarktiki. Več bolnišnic vzdržuje podatke o pacientih na sistemih Linux.

Za procesorje 80386 in boljše so dostopne tudi druge proste ali poceni izvedbe Unixa. Najbolj znana je 386BSD, izvedba Unixa BSD za 80386. Paket 386BSD je v veliki meri primerljiv z Linuxom, toda kateri od njiju je boljši, je odvisno od vaših potreb in pričakovanj. Edina pomembna razlika, ki jo lahko ugotovimo, je, da se Linux razvija odprto in lahko prostovoljci pomagajo pri razvojnem procesu, medtem ko 386BSD razvija zaključena skupina programerjev. Zaradi tega obstajajo med tema dvema projektoma bistvene filozofske in zasnovne razlike. Cilj Linuxa je razviti popoln sistem Unix iz nič (in se v tem procesu neznansko zabavati), cilj 386BSD je med drugim priredba obstoječe kode BSD za uporabo na 80386.

NetBSD je še en prenos distribucije BSD NET/2 na več strojev, vključno z 80386. NetBSD ima rahlo bolj odprto strukturo razvoja, sicer pa je v mnogih pogledih primerljiv s 386BSD.

Omeniti velja tudi projekt HURD, prizadevanje Free Software Foundation, da bi razvila in razširjala prosto različico Unixa za mnogo platform. Stopite v stik s Free Software Foundation (naslov je v dodatku D) za več informacij o tem projektu. V času tega pisanja je HURD še vedno v razvoju.

Obstajajo tudi druge poceni različice Unixa, na primer Minix, akademski, a uporaben klon Unixa, na katerem je temeljil zgodnji razvoj Linuxa. Nekatere od teh izvedb so le za izobraževalne namene, medtem ko so druge polnokrvni sistemi.

1.8 Strojne potrebe

Zdaj morate biti že prepričani, kako čudovit sistem je Linux in kako sijajne stvari lahko stori za vas. Vendar se morate, preden odhitite in namestite Linux, zavedati njegovih strojnih potreb in omejitev.

Zavedajte se, da Linux razvijajo uporabniki. To večinoma pomeni, da je v Linuxu podprta strojna oprema, do katere imajo dostop uporabniki in razvijalci. Izkaže se, da je podprta večina najbolj priljubljene strojne opreme in perifernih enot za osebne računalnike. Linux podpira več strojne opreme kot nekatere komercialne izvedbe Unixa. Vendar nekatere skrivnostne naprave še niso podprte.

Druga pomanjkljivost podpore strojne opreme v Linuxu je, da veliko podjetij ohranja svoje strojne vmesnike kot svojo last. Prostovoljni razvijalci Linuxa ne morejo napisati gonilnikov za naprave, saj proizvajalec ne objavi tehničnih podrobnosti širši javnosti. Tudi če bi razvijalci Linuxa lahko razvili gonilnike za lastniške naprave, bi bili ti last podjetij, ki si lastijo vmesnike naprav, kar je v nasprotju z GPL. Izdelovalci, ki vzdržujejo lastniške vmesnike, napišejo svoje lastne gonilnike za operacijske sistem kot sta MS-DOS in Microsoft Windows. Uporabnikom in ostalim razvijalcem ni treba nikoli vedeti podrobnosti vmesnika.

V nekaterih primerih so programerji Linuxa poskušali napisati hekerske gonilnike naprave na podlagi svojih domnev o vmesniku. V drugih primerih razvijalci sodelujejo z izdelovalci naprav in z različnimi stopnjami uspeha poskušajo dobiti podatke o vmesniku naprave.

V naslednjih razdelkih bomo poskušali povzeti strojne potrebe za Linux. Bolj popoln spisek podprte strojne opreme vsebuje spis Linux Hardware HOWTO (glejte razdelek 1.9).

◇ Opozorilo: Večina podpore strojne opreme za Linux je na razvojni stopnji. Nekatere distribucije lahko podpirajo eksperimentalne funkcije ali pa tudi ne. Ta razdelek našteva strojno opremo, ki je podprta že nekaj časa in je dokazano stabilna. Če ste v dvomih, preverite dokumentacijo vaše distribucije Linuxa. Glejte razdelek 2.2 za več informacij o distribucijah Linuxa.

Linux je poleg na sistemih Intel 80x86 dostopen še na mnogih drugih platformah. Te vključujejo računalnike Macintosh, Amiga, Sun SparcStation in sisteme s procesorji Digital Equipment Corporation Alpha. V tej knjigi se bomo osredotočili le na vrtiček procesorjev Intel 80386, 80486, Pentium ter klonov proizvajalcev, kot so AMD, Cyrix in IBM.

Matična plošča in procesorske zahteve Linux trenutno podpira sisteme s centralnimi procesnimi enotami (CPU) Intel 80386, 80486 ali Pentium, vključno z variantami, kot so 80386SX, 80486SX, 80486DX, 80486DX2, Pentium Pro, Pentium II in Celeron. Z Linuxom delujejo tudi ne-Intelovi kloni. Linux je prenesen tudi na računalnike DEC Alpha in Apple PowerMac …

Če imate 80386 ali 80486SX, boste morda želeli uporabljati matematični koprocesor (FPU), čeprav ta ni potreben. Jedro Linuxa lahko izvaja emulacijo FPU, če stroj nima koprocesorja. Podprti so vsi standardni dodatni čipi FPU, vključno z IIT, Cyrix FasMath in Intel.

Mnogo pogostih matičnih plošč v PC-jih je zasnovanih na vodilu PCI, toda ponujajo tudi priključke ISA. Linux podpira to konfiguracijo kot tudi sisteme z vodili EISA in VESA. Vodilo proizvajalca IBM MicroChannel (MCA), najde se ga v večini sistemov IBM PS/2, je znatno drugačno in podpora zanj je bila dodana šele pred kratkim.

Pomnilniške potrebe Linux v primerjavi z drugimi enako zmogljivimi operacijskimi sistemi potrebuje zelo malo pomnilnika. Imeti morate vsaj 4 megabajte RAM-a, močno pa priporočamo 16 megabajtov. Več kot imate pomnilnika, hitrejši sistem boste poganjali. Nekatere distribucije potrebujejo več RAM-a za namestitev.

Linux podpira celotni 32-bitni naslovni prostor procesorja. Z drugimi besedami, samodejno uporablja ves vaš RAM.

Linux bo tekel tudi na zgolj 4 megabajtih RAM-a, vključno s poslasticami, kot sta X Window System in Emacs. Vendar je večja količina pomnilnika pomembnejša od hitrosti procesorja. Za splošno uporabo bo 16 megabajtov dovolj, za sisteme z veliko uporabniško obremenitvijo pa bo morda potrebno 32 megabajtov ali več.

Večina uporabnikov Linuxa določi del njihovega trdega diska kot izmenjalni prostor (angl. swap space), ki se uporablja kot navidezni RAM. Kljub temu, da ima vaš stroj več kot 16 megabajtov fizičnega RAM-a, boste morda vseeno želeli uporabljati izmenjalno področje. To ni nadomestilo za fizični RAM, a omogoča vašemu sistemu poganjanje večjih aplikacij z izmenjavanjem delov kode na disk. Kolikšen del diska naj bi namenili za izmenjalni prostor, je odvisno od mnogih dejavnikov; k temu vprašanju se bomo vrnili v poglavju 2.

Podprti krmilniki trdih diskov Linux je mogoče poganjati tudi z diskete ali pri nekaterih distribucijah z »živega« sistema na CD-ROM-u, a za dobro odzivnost boste potrebovali trdi disk. Linux lahko sobiva z drugimi operacijskimi sistemi – potrebuje le eno ali več particij na disku.

Linux podpira vse krmilnike IDE in EIDE kot tudi starejše krmilnike MFM in RLL. Podprta je tudi večina krmilnikov ESDI, a ne vsi. Splošno pravilo za krmilnik trdega diska ne-SCSI in disketni krmilnik je, da morate biti sposobni do diska dostopati v Linuxu, če lahko do njega dostopate v MS-DOS-u ali drugem operacijskem sistemu.

Linux podpira tudi vrsto priljubljenih krmilnikov diskov SCSI. Ta seznam vključuje večino kartic Adaptec in Buslogic kot tudi kartice z naborom čipov NCR.

Prostorske potrebe na trdem disku Za namestitev Linuxa boste seveda potrebovali določeno količino prostega prostora na vašem trdem disku. Linux lahko podpira več kot en trdi disk na istem stroju; prostor za Linux lahko določite tudi na več diskih, če je to potrebno.

Količina porabljenega prostora na trdem disku je odvisna od vaših potreb in programske opreme, ki jo nameščate. Linux je relativno majhen glede na druge izvedbe Unixa. Sistem lahko poganjate že na 20 megabajtih diskovnega prostora. Vendar boste za razširitve in večje pakete, kot je X, potrebovali več prostora. Če nameravate dovoliti uporabo stroja več kot eni osebi, boste morali dodeliti prostor za njihove datoteke. Stvarne potrebe po prostoru se gibljejo od 200 megabajtov do enega gigabajta ali več.

Verjetno boste želeli določiti diskovni prostor za navidezni pomnilnik. Nameščanje in uporabo izmenjalnega prostora bomo obdelali v poglavju 2.

Z vsako distribucijo Linuxa pride literatura, ki vam pomaga umeriti natančno količino prostora za namestitev vašega programja. Glejte navodila, ki so priložena vaši distribuciji ali ustrezen razdelek o namestitvi v poglavju 2.

Podprti monitorji in grafične kartice Linux v privzetem tekstovnem vmesniku podpira standardne kartice Hercules, CGA, EGA, VGA, monokromatsko IBM, Super VGA in veliko grafičnih pospeševalnikov in monitorjev. V splošnem, če grafična kartica in monitor delujeta v operacijskem sistemu, kot je MS-DOS, bi ta kombinacija morala v redu delovati tudi v Linuxu. Vendar se pri originalnih karticah IBM CGA (se jih kdo še spomni?) v Linuxu pojavlja »sneg«, česar ni prijetno gledati.

Grafična okolja, kot je X, imajo svoje potrebe po strojni videoopremi. Namesto da bi jih tukaj naštevali, bomo prenesli to razpravo v razdelek 5.1. Podprte so priljubljene grafične kartice in redno se pojavlja podpora za nove.

Različna strojna oprema Morda imate tudi naprave, kot so pogon CD-ROM, miška ali zvočna kartica in vas zanima, ali je ta strojna oprema podprta v Linuxu.

Miške in druge kazalne naprave Tipično se miška uporablja le v grafičnih okoljih, na primer v X. Vendar mnogo aplikacij za Linux, ki niso povezane z grafičnim okoljem, tudi dovoljuje uporabo miške.

Linux podpira standardne miške na zaporednih vratih, kot so miške Logitech, serije MM, Mouseman, Microsoft (2-gumbna) in Mouse Systems (3-gumbna). Linux podpira tudi miške Microsoft, Logitech in ATIXL, ki se priključijo na vodilo, in vmesnik miške za PS/2.

Tudi kazalne naprave, ki emulirajo miško, kot so sledilne krogle in dotikalne plošče, bi morale delovati.

Pogoni CD-ROM Veliko pogostih pogonov CD-ROM se priključi na standardni vmesnik IDE. Drug pogosti vmesnik za CD-ROM-e je SCSI. Podpora SCSI vključuje več logičnih enot na napravo, zato lahko uporabljate »jukeboxe« CD-ROM-ov. Dodatno je podprtih nekaj lastniških vmesnikov, kot so NEC CDR-74, Sony CDU-541 in CDU-31a, Texel DM-3024 in Mitsumi.

Linux podpira standardni datotečni sistem ISO 9660 za CD-ROM-e in razširitve datotečnega sistema High Sierra.

Tračne enote Vse tračne enote SCSI, vključno s četrt-palčno, DAT in 8MM, so podprte, če je podprt krmilnik SCSI. Naprave, ki se povezujejo na disketni krmilnik, kot so disketni tračni pogoni, so tudi podprti, prav tako tudi nekateri drugi vmesniki, na primer QIC-02.

Tiskalniki Linux podpira poln nabor tiskalnikov, dostopnih prek vzporednih vrat. Če lahko MS-DOS ali kakšen drug sistem dostopa do vašega tiskalnika na vzporednih vratih, lahko dostopa tudi Linux. Tiskalniško programje za Linux vključuje standardna programa Unixa lp in lpr. To programje vam omogoča tudi tiskanje prek omrežja, če ga imate. Linux vključuje programje, ki omogoča večini tiskalnikov izpis datotek v obliki PostScript.

Modemi Kot pri tiskalnikih, podpira Linux tudi poln nabor modemov na zaporednih vratih, notranjih in zunanjih. Za Linux je dostopen dobršen del telekomunikacijske programske opreme, vključno s programi Kermit, pcomm, minicom in seyon. Če je vaš modem dostopen iz drugega operacijskega sistema na istem stroju, bi morali do njega dostopati brez težav tudi v Linuxu.

Omrežne kartice Mnoge popularne kartice Ethernet in adapterji LAN so podprti tudi v Linuxu. Linux podpira tudi nekatere kartice FDDI, »frame relay« in »token ring«, in vse kartice Arcnet. Seznam podprtih omrežnih kartic je vključen v izvorno kodo jedra vaše distribucije.

1.9 Viri informacij o Linuxu

Za Linux je na razpolago veliko drugih virov informacij. Posebej uporabne bodo številne knjige o Unixu na splošno, posebno za bralce, ki se v njem ne počutijo doma. Priporočamo vam, da skrbno preberete eno od njih, preden se poskusite pogumno podati v džunglo Linuxa.

Podatki so dostopni tudi na zvezi, v elektronski obliki. Za dostop do teh podatkov morate imeti dostop do omrežja na zvezi, kot so omrežja Internet, Usenet ali FidoNet. Dobro mesto za začetek je spletna stran http://www.linuxresources.com/ (glejte dodatek A). Če tega dostopa nimate, boste morali najti nekoga, ki bo tako prijazen, da vam bo priskrbel izvode tamkajšnjih spisov.

1.9.1 Dokumentacija na zvezi

Veliko spisov o Linuxu je dostopnih po anonimnem FTP-ju z arhivnih mest Interneta po vsem svetu in z omrežij, kot sta Fidonet in CompuServe. Distribucije Linuxa na CD-ROM-u lahko prav tako vsebujejo tukaj omenjene spise. Če lahko pošljete e-pismo na internetne strežnike, lahko dobite te datoteke z uporabo enega od strežnikov za »FTP po pošti« tudi po pošti. Za več navodil o uporabi tovrstnih strežnikov glejte dodatek B.

V dodatku B je seznam uveljavljenih arhivnih mest za Linux. Zaradi manjše obremenitve omrežja uporabite strežnik FTP, ki vam je zemljepisno najbližji.

Dodatek A vsebuje delni seznam dokumentacije za Linux, dostopne po anonimnem FTP-ju. Imena datotek so lahko odvisna od arhivnega mesta. Večina mest hrani spise o Linuxu v podimeniku docs njihovega arhiva za Linux. Na primer, FTP-strežnik metalab.unc.edu hrani datoteke za Linux v imeniku /pub/Linux, dokumentacijo o Linuxu pa v imeniku /pub/Linux/docs.

Primeri na zvezi dostopnih spisov so Pogosto zastavljena vprašanja o Linuxu z odgovori, PZV, (angl. Frequently Asked Questions, FAQ), zbirka vprašanj, ki jih ljudje najpogosteje vprašujejo o Linuxu; spisi HOWTO za Linux opisujejo določene vidike sistema kot na primer Installation HOWTO (namestitev), Printing HOWTO (tiskanje) in Ethernet HOWTO (uporaba mrežnih kartic); in Linux META-FAQ, ki našteva informacijske vire na Internetu.

Mnogi od teh spisov se redno objavljajo v nekaterih novičarskih skupinah Useneta o Linuxu; glejte razdelek 1.9.4 spodaj.

1.9.2 Linux na svetovnem spletu

Na naslovu http://metalab.unc.edu/LDP/ najdete domačo stran projekta Linux Documentation Project (LDP) na svetovnem spletu (angl. World Wide Web, WWW). Ta spletna stran našteva številne HOWTO-je in druge sestavke v obliki HTML kot tudi kazalce na druga mesta, ki bi utegnila zanimati uporabnike Linuxa, na primer http://www.ssc.com/, dom mesečnika Linux Journal.

Slovenski uporabniki Linuxa vzdržujemo spletno stran http://www.lugos.si/. Na njej so dostopne številne novice, navodila in članki v slovenščini, primeri in povezave.

1.9.3 Knjige in druga objavljena dela

Knjige Dokumentacijskega projekta za Linux (LDP) so rezultat na Internetu združenih naporov, da bi napisali in razširjali precejšen nabor priročnikov za Linux, analogijo dokumentacije, ki spremlja komercialne različice Unixa in pokriva njihovo namestitev, delovanje, programiranje, vmreževanje in razvoj jedra.

Priročniki projekta LDP so dostopni po anonimnem FTP-ju in po poštnem naročilu. Dodatek A našteva dostopne priročnike in opisuje, kako jih dobiti.

Mnogo velikih založnikov, vključno z založbami MIS:Press, Digital Press, O’Reilly & Associates in SAMS je skočilo na potujoči vagon Linuxa. Preverite zalogo v vaši prodajalni računalniške literature ali na spletni strani Specialized Systems Consultants (SSC) na http://www.ssc.com/ ali poglejte preglede knjig v reviji Linux Journal, ki jih včasih objavijo na svoji strani http://www.linuxjournal.com/.

Veliko število knjig o Unixu je v splošnem uporabnih tudi za Linux. Pri svoji uporabi in programskem vmesniku se Linux ne razlikuje dosti od drugih izvedb Unixa. V splošnih besedilih za Unix boste našli skoraj vse, kar bi radi vedeli o uporabi in programiranju Linuxa. Pravzaprav je ta knjiga mišljena kot dodatek k že dostopni knjižnici knjig za Unix. Tukaj predstavljamo le najpomembnejše podrobnosti Linuxa in upamo, da boste za poglobljene informacije pogledali še v druge vire.

Oboroženi z dobrimi knjigami o Unixu in s tole knjigo bi se morali biti sposobni spoprijeti z vsem mogočim. Dodatek A našteva nekatere knjige o Unixu, ki so močno priporočljive za novince in čarovnike Unixa.

Revija Linux Journal se razširja po vsem svetu in je izvrsten način, da ostanete v stiku z dogajanjem v skupnosti Linuxa, posebej če nimate dostopa do novic Useneta (glejte spodaj). Glejte dodatek A za podatke o naročilu na revijo Linux Journal.

1.9.4 Novičarske skupine Useneta

Usenet je svetovni elektronski forum novic in diskusij. Ponuja poglobljeno izbiro novičarskih skupin. Novičarske skupine so razvrščene v različna področja razprav, posvečena določenim temam. Veliko diskusij o razvoju Linuxa se pojavlja na Internetu in Usenetu. Ni presenetljivo, da je Linuxu posvečenih precej novičarskih skupin Useneta.

Prvotna novičarska skupina o Linuxu, alt.os.linux, je bila ustvarjena, da bi preselili razprave o Linuxu iz skupine comp.os.minix in različnih elektronskih spiskov. Promet v alt.os.linux je kmalu tako narasel, da je zagotovil obstoj novičarske skupine v hierarhiji comp. Februarja 1992 je bilo izvedeno glasovanje in ustanovljena je bila comp.os.linux.

Novičarska skupina comp.os.linux je kmalu postala ena najpopularnejših (in najglasnejših) skupin Useneta, popularnejša od katerekoli druge skupine v hierarhiji comp.os. Decembra 1992 je bilo potrebno ponovno glasovanje o razbitju novičarske skupine zaradi zmanjšanja prometa v njej; to glasovanje je prestala le novonastala comp.os.linux.announce. Julija 1993 je bila skupina dokončno razbita v novo hierarhijo. Za reorganizacijo comp.os.linux je glasovalo skoraj 2.000 ljudi, kar pomeni eno od največjih glasovanj (angl. Calls For Votes, CFV) na Usenetu nasploh.

Če nimate Useneta, obstajajo prehodi med pošto in novicami za večino spodnjih skupin (če ne kar za vse). comp.os.linux.advocacy

Novičarska skupina za razpravo o prednostih Linuxa pred drugimi operacijskimi sistemi.

comp.os.linux.alpha Novičarska skupina comp.os.linux.alpha naj bi se uporabljala za razprave o nakupu, namestitvi, poganjanju, vzdrževanju in razvijanju Linuxa na sistemih s procesorji Digital Alpha.

comp.os.linux.announce Moderirana novičarska skupina za napovedi o Linuxu, vključno s poročili o hroščih in pomembnih popravkih programja. Če sploh berete kakšno novičarsko skupino o Linuxu, berite tole. Pogosto pomembna sporočila v tej skupini niso poslana v druge. Ta skupina vsebuje tudi veliko periodičnih sporočil o Linuxu, vključno s spisi »na zvezi«, opisanimi v zadnjem razdelku in naštetimi v dodatku A.

Prispevke v to novičarsko skupino morata potrditi moderatorja, Matt Welsh in Lars Wirzenius. Če nameravate poslati članek, ga preprosto pošljite, kot bi ga tudi sicer; novičarsko programje bo poslalo članek moderatorjema v potrditev. A če vaš novičarski sistem ni pravilno nastavljen, boste morda morali poslati članek neposredno na linux-announce@tc.cornell.edu.

comp.os.linux.answers Namenjena objavi pogosto zastavljenih vprašanj, HOWTO-jev, datotek README in ostalih spisov, ki odgovarjajo na vprašanja o Linuxu. Tako se bo zmanjšal promet v ostalih skupinah c.o.l.* in rezerviral comp.os.linux.announce za prave najave.

comp.os.linux.development.apps Nemoderirana novičarska skupina za vprašanja in razprave o pisanju in prenosu aplikacij za in na Linux.

comp.os.linux.development.system Nemoderirana novičarska skupina za razprave o razvoju sistema Linux, povezane z jedrom, gonilniki naprav in naložljivimi moduli.

comp.os.linux.hardware Ta novičarska skupina je za vprašanja in razprave o določenem kosu strojne opreme, npr. »Ali lahko ta sistem poganja Linux?«, »Kako naj uporabljam ta diskovni pogon v Linuxu?« itd.

comp.os.linux.m68k Ta je namenjena zanimivostim in razvoju prenosa Linuxa na arhitekturo Motorola 680x0.

comp.os.linux.misc Vse razprave, ki nekako ne sodijo v nobeno drugo dostopno skupino o Linuxu. Vsi netehnični ali metapogovori o Linuxu bi se morali odvijati

v comp.os.linux.misc.

comp.os.linux.networking Razprave o vmreževanju in komunikacijah, vključno s ploščami Ethernet, protokoloma SLIP in PPP itd.

comp.os.linux.setup Vprašanja in razprave o namestitvi in sistemskem upravljanju Linuxa.

comp.os.linux.x Razprave o lastnostih X Window System, edinstvenih za Linux, vključno s strežniki, odjemniki, pisavami in knjižnicami.

Ta seznam še zdaleč ni popoln. Nove skupine se rojevajo, ko se pokaže potreba po razdelitvi razprav, obstajajo pa tudi skupine o Linuxu v drugih hierarhijah. V Sloveniji obstajata dve novičarski skupini, povezani z Unixom:

si.comp.os.unix Ta je namenjena splošnim razpravam o Unixu. Linux nima svoje skupine, zato svoja vprašanja v slovenščini pošiljajte sem.

si.org.lugos To je skupina Društva slovenskih uporabnikov Linuxa, LUGOS. Mišljena je bolj za enosmerno obveščanje javnosti o svojem početju, a bo tudi prenesla kakšno dodatno sporočilce.

1.9.5 Elektronski poštni spiski na Internetu

Če imate dostop do elektronske pošte Interneta, lahko sodelujete v številnih elektronskih poštnih spiskih, tudi če nimate dostopa do Useneta. Če niste neposredno priključeni na Internet, se lahko priključite enemu od teh elektronskih spiskov, če lahko izmenjujete pošto z Internetom (na primer, preko omrežij UUCP, FidoNet, CompuServe ali drugih omrežij za izmenjavo internetne pošte).

Za več podatkov o elektronskih spiskih za Linux pošljite e-pismo na naslov

majordomo@vger.rutgers.edu

V telo sporočila vključite besedo help in sporočilo se vam bo vrnilo z navodili, kako se prijaviti na različne dopisne sezname in se z njih odjaviti. Osamljena beseda lists v vrstici bo prinesla imena poštnih seznamov, ki so dostopni na strežniku majordomo.vger.rutgers.edu.

Za Linux obstaja tudi precej poštnih seznamov za posebne namene. Najboljši način, da izveste o njih, je, da spremljate novičarske skupine Useneta o Linuxu za najave, pa tudi prebirate seznam javno dostopnih poštnih spiskov, ki se objavlja v skupini Useneta news.answers.

V Sloveniji obstajajo elektronski poštni spiski društva LUGOS o Linuxu. Zanje veljajo podobna navodila kot za prijavo na svetovne spiske, le e-pismo pošljete na naslov

majordomo@lugos.si

Na glavni spisek Lugosa, imenovan lugos-list, se prijavite z naslednjim ukazom v telesu sporočila na naslov majordomo@lugos.si

subscribe lugos-list

1.10 Kako do pomoči za Linux

Med svojimi pustolovščinami v svetu Linuxa boste nedvomno kdaj potrebovali tudi pomoč. Tudi čarovnike Unixa včasih zmede kakšna zvijača ali lastnost Linuxa. Pomembno je vedeti, kako, kje in kdaj poiskati pomoč.

Primarni načini dobivanja pomoči so prek internetnih elektronskih poštnih seznamov in novičarskih skupin, opisanih v razdelku 1.9. Če nimate dostopa do omenjenih virov, boste lahko našli primerljive diskusijske forume pri storitvah na zvezi, kot so BBS-i in CompuServe. Na zvezi je dostopna tudi rubrika Best of Technical Support (Najboljše od tehnične podpore) časopisa Linux Journal, http://www.linuxjournal.com/techsup. html.

Veliko podjetij ponuja komercialno podporo za Linux. Te storitve vam proti plačilu naročnine omogočajo, da pokličete svetovalce za pomoč pri vaših problemih z Linuxom.

Upoštevanje naslednjih predlogov bo precej izboljšalo vaše delo z Linuxom in vam zagotovilo več uspeha pri iskanju pomoči.

Preglejte vso dostopno dokumentacijo … najprej! To bi morali storiti, ko prvič trčite ob problem. Različni viri informacij so našteti v razdelku 1.9 in dodatku A. Ti spisi so bili napisani s trudom za ljudi kot ste vi, ki potrebujejo pomoč pri sistemu Linux. Kot je omenjeno zgoraj, so za Linux uporabne tudi knjige o Unixu in tudi te bi morali uporabljati.

Če imate dostop do novic Useneta ali katerega od elektronskih spiskov o Linuxu, se prepričajte, da ste prebrali vse tam dostopne podatke, preden pošljete sporočilo širši javnosti. Pogosto so v novičarskih skupinah in dopisnih spiskih lepo obdelane rešitve pogostih problemov, ki jih sicer v dokumentaciji ni lahko najti. Če le pošiljate sporočila na te skupine, a jih ne berete, potem povzročate težave. Tudi če nimate neposrednega dostopa do Useneta, lahko pregledate spletni arhiv vseh večjih svetovnih novičarskih skupin. Ta arhiv se imenuje Deja News in ga lahko obiščete na http://www.dejanews.com/.

Naučite se ceniti samozaupanje. Saj zato ste sploh začeli poganjati Linux. Pomnite, Linux je prežet s hekanjem in odpravljanjem problemov. To ni komercialni operacijski sistem in niti ne poskuša biti. Hekanje vam ne more škoditi. Pravzaprav vas bo razsvetlilo, da boste sami preiskovali in reševali probleme – morda se boste nekega dne celo imenovali guru Linuxa. Naučite se spoštovati polno vrednost hekanja sistema in samostojnega odpravljanja težav. Ne morete pričakovati, da boste poganjali popoln, doma narejen sistem Linux brez nekaj ročnega dela.

Ostanite mirni. Ničesar ne boste opravili, če boste nad svojo škatlo z Linuxom dvignili sekiro – ali še huje, močan magnet. Velika boksarska vreča ali dolg sprehod sta dobra načina za sprostitev običajnih napadov stresa. Upamo, da bo ta problem izginil z zorenjem Linuxa in vse boljšimi distribucijami. Vendar so tudi komercialne izvedbe Unixa in drugih operacijskih sistemov lahko včasih kočljive. Kadar odpove vse drugo, se usedite, nekajkrat globoko vdihnite in se vrnite k problemu, ko se počutite sproščeno. Vaš um in zavest bosta jasnejša.

Izogibajte se pošiljanju prenagljenih sporočil. Mnogo ljudi naredi napako in prehitro prosi za pomoč. Ko naletite na težavo, ne odhitite takoj do najbližjega terminala in pošljite sporočila na eno od novičarskih skupin Useneta. Najprej poskušajte sami odpraviti težavo in se absolutno prepričajte, v čem je sploh problem. Se vaš sistem ne odziva, ko ga prižgete? Mogoče imate samo iztaknjen kabel.

Ko prosite za pomoč, to naredite pomoči vredno. Pomnite, da ljudje, ki berejo vaša sporočila, niso nujno tam zato, da vam bodo pomagali. Torej je pomembno ostati vljuden, jasen in informativen, kot se le da.

Kako se to doseže? Najprej, vključiti bi morali čimveč relevantnih informacij o vašem sistemu in vašem problemu. Če pošljete preprosto zahtevo »Izgleda, da v službi ne morem dobiti e-pošte«, vam verjetno to ne bo nič pomagalo, če ne vključite podatkov o vašem sistemu, programski opremi, ki jo uporabljate, ter kaj ste poskusili storiti do sedaj in kakšni so bili rezultati. Ko vključujete tehnične podatke, je dobro vključiti tudi splošne podatke o različici vašega programja (različici jedra Linuxa, na primer), kot tudi kratek povzetek vaše strojne sestave. A pri tem ne pretiravajte – tip in znamka vašega monitorja sta verjetno nepomembna, če poskušate usposobiti omrežno programje.

Pridobitev in namestitev Linuxa

David Bandel je na novo napisal in pregledal prvi razdelek o nameščanju Linuxa. Prvemu razdelku so bili dodani tudi deli spisov naslednjih avtorjev kot različni razdelki o distribucijah Linuxa.

Boris Beletsky je napisal razdelek o distribuciji Debian. Sean Dreilinger je napisal razdelek o distribuciji Slackware. Henry Pierce je napisal razdelek o distribuciji Red Hat Linux. Evan Leibovitch je napisal razdelek o distribuciji Caldera OpenLinux. Larry Ayers je napisal razdelek o distribuciji S. u. S. E. Linux.

2.1 Splošna namestitev

Za razliko od večine drugih operacijskih sistemov lahko Linux dobite zastonj. Zaradi licence GNU General Public License, pod katero se razširja Linux (glejte dodatek D), vam nihče ne more prodati licence za to programsko opremo. Linux lahko uporabljate brez plačila in ste pooblaščeni, da ga naredite dostopnega tudi drugim.

Toda to ne pomeni, da podjetja niso upravičena do povračila stroškov distribucije, ali do dobička. Dodajajo lahko tudi programje, ki ni prosto, pač pa teče na tem sistemu.

To vam daje svobodno izbiro. Če nakup CD-ROM-a ni v mejah vašega proračuna, si lahko preprosto sposodite prijateljev izvod ali vzamete izvorni paket z Interneta. Bodisi ga kupite od velikega distributerja Linuxa, bodisi ga vzamete z njihovega mesta za FTP (glejte dodatek B), v vsakem primeru boste dobili enak operacijski sistem in vse programske pakete, ki jih ponujajo. Pravzaprav lahko dobite po FTP-ju več prostega programja, kot pa ga lahko podjetja razširjajo na CD-ju, saj nekateri avtorji postavljajo omejitve za njihovo razširjanje.

2.1.1 Večje distribucije Linuxa

Poglobljen pogled na nekatere distribucije Linuxa se začenja na strani 43. Te distribucije so: Debian, Red Hat, Caldera, Slackware in S. u. S. E. Vsak razdelek vsebuje več informacij, kje dobiti posamezno distribucijo. A pomnite, Linux je jedro. Programje je del distribucije, ne Linuxa. Večina programja je prosto dostopna in se lahko prenaša med različnimi platformami Unixa. Ko upoštevamo, kaj vse podpira samo jedro, je največja razlika v tem, kaj podpirajo knjižnice (programske rutine, klicane iz aplikacij).

Vsaka distribucija ima lastne namestitvene in vzdrževalne pripomočke, ki olajšajo namestitev in upravljanje sistema. Očitno vsaka cilja na drugačno občinstvo. Vsaka distribucija vam bo omogočila začetek in tek sistema. Zato priporočamo, da si najprej preberete navodila o vsaki distribuciji in se pogovorite s poznavalskimi prijatelji. Veliko področij po svetu ima uporabniško skupino^{1} Linuxa (v Sloveniji je to LUGOS, s spletno stranjo http://www.lugos.si/), večinoma z izkušenimi uporabniki, ki vam lahko na dolgo in široko razložijo, katera distribucija je najboljša in zakaj. Predlagamo, da poslušate nekatere njihove argumente in se potem odločite. Priključite se lahko tudi poštnim spiskom (priporočamo, da se naročate na enega po enega) in berete uporabniška vprašanja in odgovore gurujev s poštnega seznama. Kot je različna vsaka distribucija, so različni tudi elektronski poštni spiski, ki ponujajo pomoč. Pomembno je, da izberete pravo zase, saj pogosta menjava distribucij navadno pomeni ponovno nameščanje vsega od začetka.

2.1.2 Splošne zadeve

Ta razdelek predpostavlja, da povprečni novinec v svetu Linuxa:

• ima računalnik s sistemoma MS-DOS in Windows ali OS/2;

• približno razume MS-DOS, nima pa izkušenj z Unixom;

• ve, ali lahko izve, katera strojna oprema je nameščena na njegovem računalniku;

• iz kateregakoli razloga želi preskusiti Linux, čeprav morda noče popolnoma presedlati nanj (zaenkrat); in

• nima na voljo niti prostega stroja, niti drugega diska, pač pa ima na obstoječem disku več sto megabajtov prostega diskovnega prostora za uporabo.

Te predpostavke niso ekstremne in so morda celo malce konzervativne. Nekateri pravijo, da Linux ni za vas, če ne znate nastaviti ure na svojem videorekorderju, toda to bi potem izključilo tudi mene. Na mojem videorekorderju še vedno utripa 12:00.

Preden začnemo, moramo vedeti, kam gremo. Medtem ko je prav gotovo možno (slej ko prej) priti iz New Yorka v Kalifornijo s tavanjem v skoraj katerikoli naključni smeri, bi večina od nas rada izbrala bolj ali manj direktno pot. Tako je tudi pri namestitvi Linuxa.

2.1.3 Strojna oprema

Ta razdelek razlaga vse namestitvene korake, razen same namestitve. Vsaka distribucija ureja te priprave rahlo drugače. Čeprav izgledajo namestitve različno, izvedejo iste stvari in imajo več skupnega kot ne. Vse vključujejo:

• načrtovanje;

• zbiranje podatkov o strojni opremi sistema;

• izdelavo rezervne kopije vašega starega sistema (neobvezno, a močno priporočljivo);

• pripravo particij za Linux;

• odločitev o zagonskem nalagalniku (za dvo-zagonske sisteme); • zagon jedra operacijskega sistema Linux;

1Glejte http://www.ssc.com/glue/ za podatke SSC-ja o skupinah uporabnikov Linuxa po svetu. Med njimi boste našli tudi lokalno skupino LUGOS.

• namestitev jedra;

• izbiro in namestitev programskih paketov;

• nalaganje programja;

• izdelavo končnih nastavitvenih prilagoditev in

• ponoven zagon v tekoči sistem.

Zdaj ko smo dovolj in preveč poenostavili namestitveni proces, pojdimo lepo po vrsti. Kar lepo počasi, ni se slabo učiti na tujih napakah.

2.1.4 Načrtovanje

Ta korak želimo posebej poudariti. Vsak pilot vam bo povedal, da je pristanek le tako dober kot približevanje cilju. Isto velja za namestitev Linuxa.

Najprej ugotovite, kakšno strojno opremo imate. Vključen je seznam za odkljukanje, ki vam lahko pomaga. Bodite tako natančni, kot se le da, a naj vas ne zanese. Na primer, če imate kartico Ethernet, morate vedeti njeno vrsto (npr., SMC-Ultra, 3Com 3C509 itd.), V/I vrata (npr., io=0x300), prekinitev (IRQ 10), ne pa tudi strojnega naslova (00 00 a6 27 bf 3c). Za vašo opremo ne bodo potrebni vsi podatki. Če imate tekoč sistem Windows 95 ali Windows NT, lahko prepišete vrednosti iz zaslona informacij o sistemskih strojnih napravah. Sicer preučite strojne priročnike ali domačo stran proizvajalca strojne opreme. Ker je to pomembno, bomo tukaj predstavili naslednji delovni list.

2.1.5 Delovni list zasnove sistema

Splošno

Procesor: • Tip: 386 486 Pentium PPro II • Hitrost (izbira):

• Izdelovalec: Intel AMD Cyrix

Matična plošča: • Znamka:

• Nabor čipov:

Primer: Znamka: neznana; Nabor čipov: triton II

Miška: • Izdelovalec:

• Tip: vodilo PS/2 zaporedna vrata

• Če zaporedna: COM1 (ttyS0) COM2 (ttyS1)

Trdi diski: • Tip: IDE/MFM/RLL/ESDI SCSI • Velikost (naštet vsak disk):

• Če je krmilnik SCSI: – Znamka:

– Model:

Primer: Znamka: BusLogic; Model: 948

• Zagon: Linux  DOS/Windows  OS/2  Drugo
Disk:  Particija:  Velikost:  Zagon:
Disk:  Particija:  Velikost:  Zagon:
Disk:  Particija:  Velikost:  Zagon:
Disk:  Particija:  Velikost:  Zagon:

• CD-ROM:

– Tip: IDE/ATAPI SCSI lastniški

– Izdelovalec:

– Model:

– (Le lastniški):

Okenski sistem X Video-kartica: • Proizvajalec:

• Model:

• RAM: 1 MB 2 MB 4 MB 8 MB 16 MB

Monitor: • Proizvajalec:

• Model:

• Hitrost osveževanja zaslona:

Vmreževanje Modem: • Hitrost:

• Proizvajalec:

• Model:

• Zaporedna vrata: COM1 COM2 COM3 COM4 (ttyS0) (ttyS1) (ttyS2) (ttyS3)

Gostiteljsko ime računalnika:

Primer: rainier

Naslednje odgovore boste potrebovali le, če uporabljate kartico za omrežni vmesnik (angl. network interface card, NIC); ne nastavljajte vmreževanja, če nimate nameščene NIC. NIC: • Tip: ethernet token ring FDDI drugo

• Proizvajalec:

• Model:

Ime omrežne domene:

(Primer: mountains.net)

Naslov IP: (Npr.: 192.168.1.2)

Omrežni naslov:

(Npr.: 192.168.1.0)

Omrežna maska:

(Npr.: 255.255.255.0)

Naslov za oddajanje:

(Npr.: 192.168.1.255)

Prehod(i): (Npr.: jih ni, ali 192.168.1.1)

Imenski strežnik(i):

(Npr.: 192.168.1.2)

Tukaj je nekaj razdelka »Splošno« za nadaljnji vpogled. Natančneje, v tem hipu nam še ni treba vedeti tipa našega procesorja (CPU). Shajamo lahko tudi brez podatka o naboru čipov, ki ga imamo na matični plošči. Toda če je informacija dostopna, jo je dobro imeti.

2.1.6 Miške

Potrebujemo tudi druge podatke, na primer o miški, če jo nameravamo uporabljati. Poznati moramo proizvajalca miške, saj različne znamke različno izvajajo notranje signalne funkcije. Tukaj moramo biti nadvse pozorni na podrobnosti. Če imate miško Microsoftove blagovne znamke, ima lahko zaporedni vmesnik ali pa vmesnik PS/2. Pomagal vam ne bo niti videz priključka na računalnik. Številni računalniki so opremljeni z miškami, ki izgledajo kot zaporedne miške in imajo zaporedni konektor, a so notranje povezane na matično ploščo kot miške PS/2.

Pazljivo preberite napis na spodnji strani miške, preden se odločite. Če imate miško s tremi gumbi, ki ima na spodnji strani stikalo za preklop med, denimo, načinoma »Microsoft« in »sistem PC«, izberite slednjega. Nastavitev miške na »Microsoft« ne vključuje podpore srednjega gumba, ki je v Unixu uporaben. Za proizvajalca izberite »stikalno nastavitev«, saj je to uporabljeni signalni protokol. Za miško »Cutie« ni nobenih gonilnikov, pač pa ti obstajajo za »stikalno nastavitev« (angl. switch settings) Microsofta in Mouse System, ki jo najdete na spodnji strani miške.

Čeprav vas po tem podatku ne bo nihče posebej spraševal, je edina dodatna informacija, ki jo morda želite dodati, naprava, skozi katero sistem dostopa do miške. Linux mora vedeti, kako nasloviti napravo. Če imate miško PS/2, boste navadno uporabljali /dev/psaux, pomožna vrata za kazalne naprave PS/2, ali /dev/psmouse, včasih prav tako uporaben sinonim. Do mišk na vodilu se dostopa skozi posebej ustvarjeno datoteko za to lastniško miško, denimo /dev/atibm za miške ATI bus mice, /dev/logibm za Logitechove miške na vodilu, /dev/inportbm za miške InPort na vodilu, njihovi ustrezni sinonimi so atimouse, logimouse in tako naprej. Če pri zaporedni miški poznate njena vrata COM: v MS-DOS-u, zamenjajte /dev/ttyS0 za COM1: in /dev/ttyS1 za COM2:. Vzdržali se bomo razlage izvora imena tty v imenu ttyS0, saj bi to zahtevalo nekaj odstavkov in je že opisano v mnogih virih o Unixu.

2.1.7 Upoštevanje trdih diskov in CD-ROM-ov

Preden začnete z namestitvijo, se morate odločiti, koliko prostora na trdem disku boste odredili Linuxu glede na vso razpoložljivo količino. Mencanje o razdelitvi trdega diska med samo namestitvijo vam bo prineslo težave in verjetno boste končali z izgubljenim časom, izgubljenimi podatki in ponovno namestitvijo.

Vaš trdi disk je določenega tipa. Za naše potrebe bodo tipi IDE, MFM, RLL in ESDI ekvivalentni in bomo za vse skupaj uporabljali izraz »IDE«. Ta vključuje tudi EIDE, trenutno najpogostejši in cenovno zelo ugoden vmesnik na tržišču domačih računalnikov.

Če ima trdi disk vmesnik SCSI, se bo to izkazalo med nalaganjem. Vedeti boste morali znamko in model krmilnika SCSI. Najobičajnejši so krmilniki Adaptec in BusLogic, a nikakor niso edini. Ti imajo tudi posebne modele, kot je AHA-1572 ali BTC-958. Ta podatek se pogosto izpiše med inicializacijo sistema.

Za dodelitev prostora moramo oceniti velikost trdega diska. Pod sistemom OS/2 lahko uporabite celoten trdi disk za OS/2, potem namestite Microsoft Windows na particijo s sistemom OS/2 in poganjate Microsoft Windows znotraj OS/2-ja. Z Linuxom ni tako. Če imate na svojem računalniku MS-DOS in Microsoft Windows ali OS/2, bi moral Linux imeti svojo lastno particijo. Lahko se tudi naloži s particije za MS-DOS z uporabo datotečnega sistema UMSDOS, česar tukaj ne obravnavamo. Medtem ko ima Linux emulatorje DOS-a in lahko bere in celo poganja nekatere programe za DOS, DOS navadno ne more »videti«, kaj je na particiji z Linuxom.

Če imate in želite obdržati MS-DOS (tako predvidevamo), boste morali ugotoviti, koliko prostora boste rezervirali zanj. Odštejte to število od skupne velikosti trdega diska in s tem boste morali delati. Za zdaj si zabeležite skupno velikost vašega(ih) diska(ov) in koliko od tega boste namenili Linuxu.

Podobne podatke potrebujete za vaš CD-ROM. Pogon CD-ROM je bodisi IDE/ATAPI, najpogostejši v danes prodajanih sistemih; SCSI; ali starejši, lastniški pogon, npr. tisti, priključen na grafično kartico. Če imate pogon IDE ali SCSI, še toliko bolje. Če imate lastniški pogon, morate poznati znamko in model, saj Linux identificira lastniške CD-ROM-e po proizvajalcu in specifičnem pogonu.

2.1.8 Diski v Linuxu

Za novince v Linuxu, ki so doma le v MS-DOS-u, in tiste, ki prihajajo z drugih platform Unixa, imajo naprave v Linuxu čudna referenčna imena. Te reference se uporabljajo skoraj od začetka in potrebno jih je malce razumeti.

V Linuxu kot v kateremkoli Unixu so naprave posebne datoteke. Trdi diski so obravnavani kot datoteke in na njih se sklicujemo z imenom te datoteke, podobno kot tudi modemi, monitorji in druge strojne naprave. Unix jih obravnava kot datoteke, iz katerih se dá brati ali na njih pisati. Ker jih Linux vidi kot datoteke, so vse zbrane v imeniku, namenjenem napravam. Po namestitvi jih boste videli v imeniku /dev (iz angl. izraza devices, naprave).

Čeprav Linux vidi te naprave kot datoteke, so nekaj posebnega. Dveh vrst so, blokovne ali znakovne naprave, kar se nanaša na način komuniciranja z napravo, v blokih podatkov ali s posameznimi znaki. Med namestitvijo se samodejno ustvarijo.

Dogovori za njihovo poimenovanje so razloženi na strani 155.

2.1.9 Namestitev X Window System

Med podatke na delovnem listu smo vključili tudi podatke o vaši grafični kartici in monitorju. Čeprav to ni absolutno potrebno, bo večina tistih, ki prihajate iz sveta Microsoft Windows ali OS/2, želela namestiti in nastaviti za uporabo grafični uporabniški vmesnik (angl. graphical user interface, GUI). Nekatere distribucije vas bodo sprehodile skozi to sestavljanje, druge bodo opozorile na ponamestitvene programe. Takrat bo ta informacija pomembna.

Poznati morate proizvajalca in poseben model vaše grafične kartice. Nekatere kartice se lahko preizkusijo glede na RAM ali nabor čipov, druge ne. V vsakem primeru je pomembno vedeti, koliko RAM-a je na kartici in katero čipje, kot npr. S3 ali S3-Virge, ta uporablja. Ta podatek vam prihrani veliko časa in bridkosti. Morda je sestava X Window System najtežji in najbolj frustrirajoči del vsake namestitve in sestave Linuxa.

Podatke o vašem monitorju je pogosto še težje dobiti. Če imate enega od bolj obskurnih znamk monitorjev, boste morda morali sami priskrbeti podatke o vertikalnih in horizontalnih osveževalnih frekvencah.

◇ Če ste v dvomih, se vedno odločite za konzervativno izbiro. Prenaprezanje vašega

sistema lahko privede do poškodbe monitorja ali grafične kartice.

Večino podatkov, ki jih potrebujemo za miško – edini ostali podsistem, ki ga potrebuje strežnik X – že imamo. Podatki, ki jih mora Linux vedeti o vaši miški, so opisani na strani 33.

2.1.10 Oprema za vmreževanje

Ta razdelek še ni tako pomemben, kot sugerira delovni list. Vmreževanje je podrobno razloženo v poglavju 6. A če imate kartico omrežnega vmesnika (NIC), naj bo to ethernet, token ring ali kak drug sistem, morate pred nadaljevanjem prebrati o kartici. Ti podatki bodo potrebni med namestitvijo uporabe NIC.

Med uvodnim nameščanjem Linuxa lahko preskočite del o vmreževanju, če nimate NIC. Vendar imajo vsi računalniki v Linuxu svoje ime. Primer na delovnem listu predpostavlja, da ste si izbrali temo, kot so gore (angl. mountains), in boste poimenovali vaše računalnike po imenih gora, a vsaka shema, ki si jo zamislite, je v redu.

Če imate modem, morate tudi vedeti, kam je priključen. To je lahko na zaporedna vrata, /dev/ttyS0 do /dev/ttyS3, ki ustrezajo MS-DOS-ovim vratom COM: od 1–4. Z ISDN se ravna podobno, a navadno se nastavi po namestitvi osnovnega sistema, z več posebnimi določitvami naprav.

To končuje naš delovni list in približno polovico snovanja, ki smo ga morali opraviti. Zapis, ki ga ni na našem delovnem listu, je količina pomnilnika (RAM), ki ga ima sistem. Linux veselo teče na sistemih z manj kot 4 MB RAM-a, toda to močno vpliva na namestitev in posledično na uporabo sistema. Če imate 4 MB RAM ali manj, morate slediti posebnim postopkom za stroje z malo pomnilnika, kjer se to da. Pri trenutnih nizkih cenah pomnilnika in majhnem številu prodanih sistemov z manj kot 16 MB RAM-a, to v splošnem ni več problem. A če je, se prepričajte, da boste pregledali vašo distribucijo in poiskali posebna navodila.

2.1.11 Zasnova, drugi del

Deli naslednjega razdelka, posebej strategije particioniranja diska, so zelo sporni med izkušenimi nameščevalci, toda posredoval vam bom svoje mnenje o tem. Dovoljeno se vam je oddaljiti od njega, kot se vam zdi primerno. Glavne razlike v mišljenju pač izvirajo iz razlik pri končni uporabi sistema; npr. za delovno postajo, spletni strežnik, novičarski strežnik ali druge funkcije.

2.1.12 Strategije particioniranja

Le redki izkušeni uporabniki Linuxa vam bodo dejali, da naredite eno domorodno particijo Linuxa in eno izmenjalno particijo (swap) ter začnite z nameščanjem. Proti temu obstaja več razlogov in z večino se strinjam, zato imam nekaj domorodnih particij Linuxa. A zame je najbolj prepričljiv razlog ta, da boste nekega dne hoteli nadgraditi sistem in boste morali ponovno formatirati datotečni(e) sistem(e). Pravzaprav distribucija Slackware sploh ne poskrbi za nadgradnjo »na mestu« in niti ne namiguje, da jo bo podpirala v prihodnosti. Nadgradnja jedra 0.99 na 1.2.13 je od mene zahtevala ponovno formatiranje kot tudi nadgradnja 1.2.13 na 2.0.0 in sumim, da bo tako tudi z nadgradnjo na 2.2.0. Nikakor ne želim izgubiti datotek, ki sem jih zbral v svojem domačem imeniku. Da, imam rezervne kopije. A lažje je pustiti moj imenik /home nedotaknjen, posebej, ker sem premaknil vse svoje posebne datoteke v njegov podimenik.

◇ Še en razlog za več particij je ta, da mora biti zagonska particija med prvimi 1024 cilindri trdega diska. Ko se PC zažene, se začne zaporedje dogodkov, ki se končajo z nalaganjem operacijskega sistema. Zaradi omejitev v BIOS-u (angl. Basic Input/Output System) se lahko dostopa le do prvih 1024 cilindrov, dokler ni naložen operacijski sistem.

Da dobite bolj oprijemljiv občutek, o čem se pogovarjamo, bomo opisali standardni datotečni sistem Linuxa in kako Linux upravlja particije.

Pod MS-DOS-om pomeni vsaka particija drug disk, in malo je razlike med tem, kaj je fizičen pogon in kaj logičen pogon (particija). V Linuxu so fizični in logični pogoni zasnovani precej bolj svobodno.

Med namestitvijo morate izbrati neko particijo kot vašo korensko particijo. Korenska particija je označena kot »/«. Ko govorimo o »/dev«, sta to v resnici dva imenika, »/« in »dev«. Vaše jedro Linuxa bo ležalo v korenski particiji, a lahko leži tudi v podimeniku, če je le-ta na korenski particiji. Na primer, nekatere distribucije uporabljajo imenik /boot za hrambo jedra, zemljevid sistema in zagonske datoteke.

Na vaši korenski particiji bo med namestitvijo sestavljena (najmanj) naslednja struktura:

/bin /dev /etc /home  /lib /lost+found /proc /root  /sbin /usr /var

Lahko, da boste imeli tudi druge imenike, kot so /boot, /mnt, /cdrom, /floppy, /opt in tako naprej, a zgornja shema je nujna.

Kaj pa druge particije? Linux lahko uporablja ime imenika (denimo /usr) kot točko priklopa (angl. mount point). Se pravi, druga particija na disku (ali na drugem disku) se priklopi pod njim (v tem primeru pod /usr).

Če odklopite drugo particijo in pogledate v podimenik, ki ga Linux uporablja kot točko priklopa, ne boste (vsaj ne bi smeli) videli ničesar – nobenih datotek ali imenikov. Ko je ta druga particija priklopljena, boste videli datoteke in imenike, ki so na particiji pod točko priklopa. Če imate torej dva pogona, enega s 120 MB in drugega z 840 MB, boste lahko naredili eno particijo na pogonu s 120 MB (denimo, da bo to korenska particija) in priklopili vse particije, ki ste jih naredili na pogonu velikosti 840 MB (to je lahko ena velika particija ali več manjših) pod njihove ustrezne točke priklopa, po eno particijo na eno točko nameščanja. To bo, posledično, ustvarilo en, 960 MB velik, datotečni sistem.

Edina omejitev je, da za točke nameščanja ne morete uporabljati določenih imenikov na korenskem pogonu, saj vsebujejo datoteke, ki so potrebne pri zagonu sistema ali priklopu drugih sistemov. To je očitno, kajti če je ukaz za priklop drugih particij nameščen na neki drugi particiji in če nimate dostopa do te particije, dokler je niste priklopili, boste kot pes, ki se podi za svojim repom.

◇ Imeniki, ki jih ne morete uporabiti za točke priklopa in torej morajo biti na korenski

particiji, so: /bin, /dev, /etc, /lib, /lost+found, /proc, /root in /sbin.

Podroben opis o tem, kakšne datoteke najdete v teh standardnih sistemskih imenikih, je podan na strani 116.

Poglejmo majhen primer. Ste prizadeven ponudnik storitev Interneta (angl. Internet Service Provider, ISP). Imate štiri stroje, in vsak od njih ima pogon, velik 1 gigabajt. Torej, odločite se dodeliti prostor na naslednji način:

stroj A: / = 120 MB /usr = preostanek pogona (izvožen) /home = 0 - točka priklopa (priklop od B) /var/news = 0 - točka priklopa (priklop od C) /var/spool/mail = 0 - točka priklopa (priklop od D)

stroj B: / = 120 MB /usr = 0 - točka priklopa (priklop od A) /home = preostanek pogona (izvožen) /var/news = 0 - točka priklopa (priklop od C) /var/spool/mail = 0 - točka priklopa (priklop od D)

stroj C: / = 120 MB /usr = 0 - točka priklopa (priklop od A) /home = 0 - točka priklopa (priklop od B) /var/news = preostanek pogona (izvožen) /var/spool/mail = 0 - točka priklopa (priklop od D)

stroj D: (vaja za bralca)

Verjetno ste opazili, da smo namenoma dodelili velikost korenske particije 120 MB in dodelili ostanek čemurkoli že (/usr, /home, /var/spool/mail in tako dalje). Nobenega prostora tudi nismo dodelili izmenjalni particiji. Poglejmo torej, kaj bomo verjetno potrebovali, končna presoja pa bo seveda »odvisna od potreb«. To bomo razložili s perspektive domače situacije, z le nekaj uporabniki, veliko programi in nobenimi drugimi omembe vrednimi potrebami.

Najbolje je začeti z opisom mojega primarnega domačega računalnika. Imam dva pogona, /dev/hda (1,2 GB) in /dev/hdb (540 MB). Pripomoček df (angl. disk free) izpiše:

File system 1024-blocks Used Available Capacity Mounted on

/dev/hda1  150259 69605  72894  49% /
/dev/hda3  723923 615452  71075  90% /usr
/dev/hda2  150291 93326  49204  65% /usr/X11R6
/dev/hdb1  499620 455044  18773  96% /home

Vidite lahko, da imam na pol uporabljeno 150-MB korensko particijo (/), skoraj polno particijo /usr, precej uporabljano particijo /usr/X11R6, in veliko, a utesnjeno 500-MB particijo /home. Ostanek pogona /dev/hdb je izmenjalna particija.

Za realistično ocenjeni minimum vam priporočam rezervacijo 80–100 MB za vašo korensko particijo, približno 10 MB na uporabnika za vašo particijo /home, toliko prostora, kot ga lahko določite za izmenjalno particijo v razumnih okvirih (glejte naslednji razdelek), in ostanek za particijo z /usr. Doma imam petuporabniški sistem, vendar imam sam v imeniku /home več kot 400 MB, večina tega je slik – fotoalbum družine in prijateljev. Vaša particija /usr bi morala biti velika vsaj 250 MB, a minimum je odvisen od tega, kar ste se odločili namestiti. Kot vidite, se hitro zapolni s preko 800 MB programov, knjižnic in podatkov. Ne pozabite tudi, da vam te particije dajo prožnost, ki jo z eno samo gigantsko particijo izgubite.

2.1.13 Izmenjalna particija

Razmisliti morate o izmenjalni particiji (angl. swap). Za razliko od Microsoft Windows uporablja Linux posebno izmenjalno particijo, kar je hitrejše. Čeprav je mogoče ustvariti tudi izmenjalno datoteko, tega ne priporočamo. Linux lahko uporablja do 128 MB izmenjalnega prostora. Priporočamo praktični minimum 16 MB. Optimum je verjetno toliko, kot si lahko privoščite med 32 in 64 MB – čim več, tem bolje.

Še zadnji pogled, preden se odločite, kako najbolje razdeliti svoj disk. Spomnite se, da sem omenil, da BIOS ne more »videti« čez sektor 1023 trdega diska (približno 512 MB). Torej mora jedro Linuxa (datoteka na vašem zagonskem disku, verjetno imenovana vmlinuz) ali pravzaprav katerokoli jedro OS, v celoti ležati na enem od prvih dveh diskovnih pogonov (/dev/hda ali /dev/hdb) in znotraj prvih 1024 sektorjev, sicer je BIOS ne bo mogel naložiti. Temu primerno načrtujte izdelavo svojih korenskih particij (kot tudi drugih zagonskih particij) tako, da bodo padle pod to omejitev na prvem ali drugem trdem pogonu.

2.1.14 Razdelitev diska

Na začetku tega poglavja sem omenil, da bom privzel nekaj domnev. Ena od njih je bila, da želite še naprej obdržati svoja udobna operacijska sistema MS-DOS in Microsoft Windows. In ker ste ob nakupu dobili računalnik z MS-DOS-om, nima smisla imeti več particij, torej je vaš edini pogon verjetno popolnoma določen za MS-DOS.

Tako ali drugače bomo imeli na tem računalniku dva operacijska sistema. Če trenutno na svojem disku nimate ničesar (srečnež), je to odlično, a besedila vam še ni treba preskakovati, niste še pripravljeni na to. Linuxu je udobno, kamorkoli ga postavite. Vaš BIOS ga morda ne bo sposoben zaganjati, a ko enkrat teče, se ne bo pritoževal tudi, če mu je dodeljena četrta particija četrtega trdega pogona. Toda MS-DOS in Microsoft Windows nista tako razumevajoča. Želita imeti prvi pogon in prvo particijo in se morda ne bosta hotela zagnati z nobenega drugega mesta. Videl sem že zagon MS-DOS-a s prve particije na drugem trdem pogonu, toda prvi trdi pogon ni imel particij za MS-DOS, torej ga MS-DOS sploh ni prepoznal. Najboljša strategija je pogosto pot najmanjšega upora. Če je to le mogoče, namestite MS-DOS na prvi pogon in na prvo particijo.

Drugi premislek pri več OS je, kateri operacijski sistem najprej naložiti. Če vas mika, da bi razdelili trdi disk in najprej namestili Linux (in rezervirali /dev/hda1 za MS-DOS, ter potem namestili MS-DOS) – nikar. Windows 95 je najhujši prestopnik, a izdelki Microsofta v splošnem vsi pobrišejo prejšnji zagonski nalagalnik, ki ga imate nameščenega na glavnem zagonskem zapisu (angl. master boot record; to kar uporablja BIOS, ko kaže na zagonska jedra). Pravzaprav ste morda o tem že kdaj slišali pod imenom »virus Microsofta«. To ni virus v pravem pomenu te besede, temveč aroganca s strani Microsofta, kot da bodo vsi želeli zaganjati le njihove operacijske sisteme. Linux ne povzroča takšnih težav in pravzaprav poskrbi za način izbire privzete zagonske slike. Dovoljuje vam tudi posredovanje med zagonskim procesom in odločitev, kateri operacijski sistem naj se zažene. To je standarden del namestitvenih postopkov Linuxa.

2.1.15 Izdelava rezervne kopije vašega starega sistema

Preden se zares lotimo dela na particijski tabeli, se sprehodimo po postopkih za zaščito vaših obstoječih podatkov na trdem disku. Ti postopki predpostavljajo, da imate dosovsko particijo. Drugi operacijski sistemi lahko izvedejo isto stvar, ali pa tudi ne.

◇ Prva reč, ki bi jo morali narediti, je izdelava kompletnih rezervnih kopij. Orodja, ki jih boste uporabljali, delujejo, kot bi morala. Vendar so ti postopki že sami po sebi nevarni. Vsakič, ko spreminjate particijsko tabelo trdega diska, lahko zlahka izgubite vse podatke na pogonu. Pred nadaljevanjem shranite kopije vašega trdega diska.

Ko ste naredili rezervno kopijo diska, ustvarite zagonsko disketo sistema. Uporabite lahko ukaz MS-DOS-a

     C:\> FORMAT A: /S

ki formatira disketo in prepiše nanjo potrebne sistemske datoteke, ali uporabite formatirano disketo in ukažite

     C:\> SYS A:

Ko ste ustvarili zagonsko disketo in jo preizkusili, da se prepričate o njenem delovanju, prepišite naslednje datoteke sistema MS-DOS na to zagonsko disketo: FDISK.EXE, SCANDISK.EXE, in SYS.COM. Prekopirajte tudi datoteko RESTORRB.EXE z distribucijskega CD-ja ali arhiva FTP za Linux. (Glejte dodatek B).

Poženite defragmentacijski program za vaš dosovski pogon, da defragmentirate pogon in spravite datoteke skupaj na začetek diska. Če defragmentacijski program naleti na napake, morate pognati SCANDISK.EXE in jih odpraviti. Šele ko ste defragmentirali disk in se prepričali, da se datoteke stiskajo proti začetku pogona (kot prikazuje grafična slika vašega diska), ste pripravljeni za pogon pripomočka FIPS.EXE in skrčitev particije za MS-DOS.

2.1.16 FIPS.EXE

Na vašem distribucijskem CD-ju za Linux (ali na internetnem distribucijskem mestu) boste našli izvod pripomočka FIPS.EXE, ki zna skrčiti particije MS-DOS brez izgube podatkov na njih. Zavedajte se, da FIPS.EXE deluje le za dosovske particije. Če imate druge particije, ki bi jih radi skrčili, vam morda lahko pomaga program Partition Magic, ki pa ni prosti program. Prepišite FIPS.EXE na vašo zagonsko disketo in zaženite računalnik s te diskete. S tem dosežete dve stvari: prepričate se, da zagonska disketa deluje, in prepričate se, da ste zagnali sistem v realnem načinu sistema MS-DOS in ne morda v Microsoft Windows.

Ob pojavi pozornika A:\> napišite FIPS (z velikimi ali malimi črkami). Ta vas bo pozdravil in vprašal, na katerem pogonu želite delovati (če imate več kot enega). Izberite pogon za skrčitev. Ko enkrat potrdite svojo izbiro, naj FIPS.EXE naredi kopijo vašega zagonskega in korenskega sektorja na disketo za primer, da se zgodi kaj neugodnega.

Potem boste vprašani, če naj se za izdelavo vaše druge particije porabi ves razpoložljivi prostor. Če odgovorite pritrdilno, ne boste imeli na dosovski particiji nobenega dostopnega prostora za shranjevanje podatkov, zato odgovorite z »no«. Potem boste lahko spreminjali količino prostora, dodeljenega prvi in drugi particiji. Vedite, da ne boste mogli kaj dosti počenjati z drugo particijo, če niste pravilno defragmentirali vašega pogona. Tudi če uporabljate zrcalno programje za MS-DOS, se ustvari datoteka na samem koncu particije in FIPS.EXE vam pove, da nimate prostora za izdelavo druge particije. Pojdite iz pripomočka FIPS in odpravite težavo tako, da pobrišete datoteko MIRROR.FIL, potem spet poženite FIPS.EXE.

Tabelo lahko spreminjate in spreminjate, dokler niste zadovoljni z njo. Ko ste enkrat srečni z razporeditvijo prostora med particijami, potrdite svoje spremembe in zapišite novo particijsko tabelo na disk.

Ko FIPS.EXE konča, odstranite zagonsko disketo in ponovno zaženite vaš računalnik. V našem primeru bomo med namestitvijo uničili in ponovno ustvarili drugo particijo, da bomo ustvarili vsaj dve particiji za Linux: izmenjalno particijo in domorodno particijo Linuxa. Toda ustvarite lahko toliko particij, kot vam je drago.

2.1.17 Priprava na zagon Linuxa

Za namestitev Linuxa moramo začeti z zagonom jedra Linuxa. To storimo na povsem enak način, kot da bi želeli ponovno naložiti MS-DOS: potrebujemo zagonsko disketo. Toda večina distribucij pride le na CD-ROM-u in tudi, če bi imeli tekoči sistem Linux, je ukaz za ustvarjanje zagonskih disket Linuxa drugačen kot v MS-DOS-u. Če ste kupili nov računalnik, ki podpira zagon s CD-ROM-a, vam nekatere distribucije omogočajo tudi takšen zagon. A za ostale med nami se bomo sprehodili skozi proces izdelave zagonske diskete.

2.1.18 Izdelava zagonske diskete Linuxa v DOS-u

Vsak distribucijski CD-ROM vsebuje programe za MS-DOS, ki vam omogočajo izpis surove slike diskete na formatirano disketo. Imeti morate disketnik visoke gostote, in nekatere distribucije zahtevajo, da je to disketnik za 3,5-palčne diskete, velikosti 1,44 MB. Vstavite disketo v pogon. Na CD-ju (ali na vašem diskovnem pogonu, če ste stvar prenesli) poiščite RAWRITE2.EXE (morda imate starejši program RAWRITE.EXE).

Potem se s CD pomaknite v imenik, ki vsebuje slike disket, ki jih potrebujete za zagon. Lahko bo tam le ena slika, ali pa jih bo več, za različno strojno opremo. Preučiti boste morali dokumentacijo distribucije. Poganjanje RAWRITE2.EXE brez argumentov vas vpraša za odgovora na dve vprašanji: ime poti do slike diskete za izpis in ciljni disketni pogon, lahko je A: ali B:. Da skrajšate pozornike RAWRITE.EXE ali RAWRITE2.EXE, napišite v MS-DOS-u ukazno vrstico z naslednjimi argumenti:

C:\> RAWRITE slika_diskete pogon

Ponovite ta korak za vse dodatne slike disket, ki jih potrebuje vaš sistem. ◇ Če lahko pred pisanjem slik preverite diskete s SCANDISK.EXE in opravite tudi pre-

gled površine, si lahko prihranite nekaj poznejšega časa. Večina začetnih neuspehov pri namestitvi se pojavlja zaradi slabih disket, in RAWRITE2.EXE ne preverja disket.

◇ To velja tudi za ustvarjanje zagonskih disket v Linuxu. Stran referenčnega priročnika o

badblocks(1) opisuje, kako preveriti diskete, da ne vsebujejo napak.

Označite diskete, ki jih izdelujete, za poznejšo uporabo.

2.1.19 Izdelava zagonske diskete za Linux v Linuxu

Če imate delujoči Linux; na primer, če nadgrajujete in želite ustvariti slike disket v Linuxu, lahko spremenite imenik v tistega s slikami disket in izdate ukaz

# dd if=slika_diskete of=naprava_zagonske_diskete bs=512 conv=sync ; sync

Zamenjajte ime slike diskete namesto slika_diskete in pravilno ime disketne naprave (skoraj vedno je to /dev/fd0), ter postopek ponovite za vsako disketo, ki jo potrebujete. Argumenti ukaza dd so: if za vhodno datoteko (angl. input file); of za izhodno datoteko (angl. output file), in tukaj želimo uporabljati disketno napravo; bs za velikost blokov (angl. block size), v tem primeru 512 bajtov; conv=sync zagotavlja, da bo imela izhodna datoteka povsem enako velikost kot vhodna. Končni ukaz »sync« zagotavlja, da bomo takoj izpraznili vmesni pomnilnik na disk.

Alternativna metoda, ki deluje, čeprav se je »pravi« upravitelji Linuxa izogibajo, je ukaz cp za kopiranje (copy)

# cp slika_diskete naprava_zagonske_diskete ; sync

Spet, zamenjajte ime datoteke s sliko diskete namesto slika_diskete, pravo napravo naprava_zagonske_diskete in ponovite ta korak za vsako disketo, ki jo potrebujete. Morda boste dobivali sporočila z vprašanji, če zares želite zamenjati napravo zagonske diskete z datoteko slika_diskete. Očitno se to ne bo zgodilo, saj disketa ni prava datoteka, temveč naprava, toda cp se ne zmeni za takšne podrobnosti. Le odgovorite z »yes«, če vas že vprašajo.

Z namestitvenimi zagonskimi disketami Linuxa v roki ste pripravljeni na namestitev vašega sistema. Večina distribucij pokliče fdisk, različico za Linux, tako da lahko ustvarite domorodno particijo za Linux in izmenjalno particijo. Namestitveni programi nadaljujejo z ustvarjanjem datotečnega sistema (to je ekvivalentno formatiranju diska v MS-DOS-u) za Linux in izmenjalne particije, in inicializirajo izmenjalno ter priklopijo domorodno particijo za Linux.

Vprašanje, ki vam bo zastavljeno, je, ali želite preveriti, da na vašem disku ni slabih področij (angl. »Do you want to check your hard disk for bad blocks?«). Če uporabljate pogon SCSI, odgovorite nikalno. Pogoni SCSI imajo vgrajeno ugotavljanje in odpravljanje napak. Pogoni IDE in podobni, tega nimajo in morajo označevati slabe bloke. Če imate starejši pogon, boste to vsekakor želeli. Če odgovorite z »yes«, bo namestitveni program poklical program badblocks, ki bo označil vse pokvarjene bloke, ki jih bo našel. To traja nekaj časa. Če ste v dvomih, odgovorite pritrdilno.

2.1.20 Razdelitev trdega diska: fdisk in cfdisk

Vsak operacijski sistem, naj bo to MS-DOS in Microsoft Windows ali Linux, ima svojo lastno različico pripomočka fdisk. Če želite ustvariti particije za uporabo v MS-DOS-u, uporabljajte različico za MS-DOS, FDISK.EXE, za izdelavo particij in pisanje particijske tabele. Če nameravate ustvariti particijo za Linux, jo morate narediti s pripomočkom fdisk v Linuxu.

Pod Linuxom sta dostopna dva programa za razdelitev diska: originalni fdisk, in prijaznejši cfdisk. Razlika med njima je ta, da v fdisk-u izdajate vse ukaze preko črk in številk na tipkovnici. V cfdisk-u uporabljate tipke s puščicami za osvetlitev izbir, ki jih želite, in pritisnete Enter za izvajanje ukaza. Poleg puščic in tipke Enter pritisnete druge tipke le za številčni vnos velikosti particije.

Za začetnike, vse zagonske diskete za Linux so v bistvu narejene enako. Zaženite računalnik z zagonsko disketo v zagonskem disketniku. Pozdravil vas bo zaslon z nekaj navodili in pozornikom

LILO boot:

ter utripajočim kurzorjem. Če uporabite tipko Tab, bi morali videti seznam imen. Imena so odvisna od distribucije, toda glejte za tisto, ki pravi »rescue« (reševanje) ali »expert« (strokovnjak). Oznaka »install« po nalaganju jedra požene namestitveni program, zato jo izberite, če želite, da vas po namestitvi vodi namestitveni program; v nasprotnem primeru izberite drugo oznako. Morda boste morali Linuxu priskrbeti tudi nekatere zagonske parametre. V našem primeru nam tega ne bo treba, a boste kmalu izvedeli, če je pri vas to potrebno.

Izberite ime oznake in pritisnite Return . Ko jedro Linuxa konča z zagonskim procesom, je lahko pred vami katerikoli od številnih pozornikov, odvisno od distribucije. Če imate za pozornik ukazne lupine višaj (#) ali znak za dolar ($), ste tam, kjer želite biti. Če ne, poskusite pritisniti Alt - F2 ali Alt - Shift - F2 . Tako bi morali biti sposobni aktivirati eno od sistemskih navideznih konzol.

Ko boste enkrat imeli pozornik (ni se vam treba prijavljati), boste delali kot »root« (več o tem v poglavju 4). Vnesite ukaz

     # fdisk

Če je javljena napaka, poskusite pognati cfdisk. To je pripomoček za razdelitev particij diska. Privzeto deluje na /dev/hda, zato boste morali uporabiti naslednji ukaz, če želite obdelati sekundarni trdi pogon:

     # fdisk /dev/hdb

V fdisk-u pritisnite m za menu izbir. Ukazi, ki jih boste uporabljali, so: n za ustvarjanje nove particije; d za uničenje particije; t za spremembo tipa particije (83 je domorodna za Linux, 82 je izmenjalna za Linux); p izpiše na zaslon particijsko informacijo, ki je trenutno v pomnilniku (ne tistega, kar je na disku); w zapiše particijsko tabelo na disk; in q zapusti program.

◇ Dokler ne uporabite ukaza w, niste k ničemur zavezani in lahko stvari spreminjate ali

zapustite program brez sprememb. ◇ Pazite na predpone in podaljške velikosti particij. Pri velikosti particije morate določiti

predpono »+«, če bo velikost drugačna od končne številke particije, in podaljšek »k« ali »M« (velike ali male črke) za določitev KB ali MB.

Še zadnje opozorilo o particijah: ustvarite lahko do štiri primarne particije. Če potrebujete več kot štiri particije, boste ustvarili tri primarne particije in potem razširjene particije (angl. extended partitions). Razširjene particije se začnejo s številko 5, če torej potrebujete pet particij, imate lahko /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5 in /dev/hda6.

Za končno kontrolo, preden zapišete particijsko tabelo na disk, se prepričajte, da se vaše particije ne prekrivajo. Dokler se začetni in končni segmenti ne prekrivajo z drugimi začetnimi in končnimi segmenti, ste lahko prepričani, da je z mejami particij vse v redu. Namesto začetne številke za particije, ki se začnejo po 1024. sektorju, je lahko navedena številka 1024. Za zdaj imejte to le za opombo, da BIOS ne bo mogel brati (ali zaganjati) s take particije.

cfdisk naredi natanko enako stvar kot fdisk, vendar v vsakem trenutku prikazuje na zaslonu stanje particijske tabele v pomnilniku (ne pa tudi na disku). Uporabljajte tipki s puščicama ↑ in ↓ za izbiro particije, ki jo želite obdelovati, in tipki s puščicama ← in → za izbiro aktivnosti, ki naj se izvede. Potem pritisnite tipko Enter za izvedbo izbrane aktivnosti. Vnesti boste morali številke za velikost particije, ki jo želite ustvariti, vendar so vsi podatki dani na zaslonu, le sledite navodilom. cfdisk privzame /dev/hda, torej morate za spremembo particijske tabele na drugem diskovnem pogonu, vnesti argument /dev/hdb. Ne pozabite napisati tabele na papir, preden zaključite. To je najtežji del v cfdisk-u. Ob izhodu vas ne vpraša za potrditev. Zato izberite »Write« in pritisnite Enter , preden izberete »Quit« in pritisnete Enter .

2.2 Distribucije Linuxa

Pred vami je zdaj težka naloga odločanja, točno katera distribucija Linuxa ustreza vašim potrebam. Vse distribucije niso enake. Veliko jih vključuje skoraj vse programje, ki ga potrebujete za tek kompletnega sistema – in še več. Druge distribucije Linuxa so »majhne« distribucije, namenjene za uporabnike brez obilnih količin diskovnega prostora. Mnoge distribucije vsebujejo le osnovno programje za Linux in pričakujejo, da boste sami naložili večje programske pakete, kot je X Window System. (V poglavju 5 vam bomo pokazali, kako to storite.)

Spis Distribution HOWTO za Linux (glejte dodatek A) vsebuje seznam distribucij Linuxa, dostopnih na Internetu kot tudi po poštnem naročilu.

Če imate dostop do novičarskih skupin Useneta ali do kakega drugega računalniškega konferenčnega sistema, lahko vprašate za osebno mnenjo ljudi, ki so že namestili Linux. Tudi revija Linux Journal vzdržuje primerjalno tabelo lastnosti posameznih distribucij Linuxa in redno objavlja programske recenzije distribucij (poglejte na http: //www.linuxjournal.com/selected.html za različico tabele in člankov na zvezi). Še bolje, če poznate nekoga, ki je namestil Linux, ga vprašajte za pomoč in nasvet. Pri izbiri distribucije je treba upoštevati veliko dejavnikov, vendar so potrebe in mnenja vsakogar različna. Dejansko večina priljubljenih distribucij Linuxa vsebuje približno enak nabor programja, torej je izbira vaše distribucije bolj ali manj poljubna.

2.3 Debian GNU/Linux

Ta razdelek o distribuciji Debian GNU/Linux je napisal Boris Beletsky.

2.3.1 Namestitvene lastnosti distribucije Debian GNU/Linux

Odvisnosti:  da
Namestitvene zagonske metode: disketa
Namestitvene metode:  CD, trdi disk, NFS, FTP
Inicializacija sistema:  Sys V init
Zahtevnost namestitve:  izziv
Grafična upravljalska orodja:  ne
Namestitveni pripomoček:  dselect
Pripomoček vzdrževanja paketov: dselect/dpkg

44 2. Pridobitev in namestitev Linuxa

Imenik  Vsebina

./stable/ Zadnja stabilna izdaja Debian. ./stable/binary-i386 Paketi Debian za arhitekturo Intel i386. ./stable/disks-i386 Zagonske in korenske diskete, potrebne

za namestitev Debiana.

./stable/disks-i386/current Trenutni nabor zagonskih disket. ./stable/disks-i386/special-kernels Posebna jedra in zagonske diskete za

strojno opremo. Konfiguracije, ki nočejo delovati z našimi običajnimi zagonskimi disketami.

./stable/msdos-i386 Dosovska kratka imena za pakete distribucije Debian.

Tabela 2.1: Arhivska struktura za Debian GNU/Linux.

Ime datoteke  Oznaka  Opis

rsc1440.bin Rescue Floppy

Nabor disket za sisteme z vsaj 5 MB RAM-a in z disketnikom velikosti 1,44 MB.

drv1440.bin  Device Drivers
base-1.bin  Base 1
base-2.bin  Base 2
base-3.bin  Base 3
base-4.bin  Base 4
base-5.bin  Base 5
root.bin  Root Disk

rsc1440r.bin Rescue Floppy Dodatna slika rešilne diskete za sisteme z malo pomnilnika (<5 MB RAM-a).

rsc1200r.bin Rescue Floppy

Nabor disket za sisteme z disketnikom velikosti 1,2 MB.

drv1200.bin  Device Drivers
base-1.bin  Base 1
base-2.bin  Base 2
base-3.bin  Base 3
base-4.bin  Base 4
root.bin  Root Disk

Tabela 2.2: Namestitvene diskete za Debian GNU/Linux.

2.3.2 Pridobitev slik disket

Če imate hiter in poceni dostop do Interneta, je najboljši način za pridobitev Debiana po anonimnem FTP-ju (glejte dodatek B). Domače mesto za FTP distribucije Debian je v imeniku ftp://ftp.debian.org/pub/debian. Struktura arhiva distribucije Debian je opisana v tabeli 2.1.

Za osnovno namestitev Debiana potrebujete okoli 12 megabajtov diskovnega prostora in nekaj disket. Najprej potrebujete sliko zagonske diskete in sliko diskete z gonilniki. Debian ponuja dva nabora slik zagonskih disket, za diskete velikosti 1,2 in 1,44 MB, in en nabor slik osnove, ki deluje s katerimkoli disketnikom. Preverite, s katerega disketnega pogona se zaganja vaš sistem, in vzemite ustrezni nabor disket.

Izberite primerni nabor disket za vašo strojno opremo iz tabele 2.2 in zapišite slike disket na diskete, kot je to opisano na strani 40.

2.3.3 Jemanje paketov z Interneta

Za namestitev in uporabo distribucije Debian boste potrebovali več kot le osnovni sistem. Za pomoč pri odločitvi, katere pakete želite imeti, vzemite datoteko Packages z naslova:

ftp://ftp.debian.org/pub/debian/stable/Packages

Ta datoteka vsebuje sveži seznam paketov za Debian, dostopnih v stabilni distribuciji Debian. Datoteka je posebne oblike; vsak paket ima svoj lasten vnos, paketi so med seboj ločeni s prazno vrstico. Podatki o vsakem paketu so razbiti v polja. Tabela na strani 52 opisuje polja in njihove možne vrednosti. Pomagala naj bi vam pripraviti vaš osebni seznam za jemanje. Ko imate seznam paketov, ki jih želite, se morate odločiti, kako jih boste vzeli z omrežja. Če ste izkušen uporabnik, boste morda želeli vzeti paket netbase – in po potrebi še SLIP in PPP – tako da boste lahko ostale pakete pobrali pozneje, v Linuxu. Sicer vzemite vse pakete v vašem trenutnem operacijskem sistemu in jih pozneje namestite s priklopljene particije.

2.3.4 Zaganjanje z disket in namestitev Debian GNU/Linux-a

Rešilna disketa Vstavite rešilno disketo (označeno z »Rescue floppy«) v zagonski disketnik in ponovno zaženite sistem. Po minuti ali dveh bi morali videti zaslon, ki najavlja uporabo rešilne diskete, ter pozornik boot.

◇ Disketa, označena z »Rescue floppy«, se imenuje rešilna disketa, ker jo lahko uporabljate za zagon sistema in izvajanje popravil tudi, če zaradi te ali one težave sistema ne morete zagnati z diska. To disketo tudi po namestitvi sistema skrbno hranite.

V pozorniku boot: lahko naredite dve stvari: ali pritiskate funkcijske tipke od F1 do F10 in s tem pogledate nekaj strani koristnih informacij ali zaženete sistem. Če imate strojne naprave, do katerih Linux ob zagonskem času ne more dostopati, lahko dodate poseben parameter v zagonsko ukazno vrstico, podrobnosti izveste s pritiskom na F3 , F4 in F5 .

◇ Ko dodajate parametre v zagonsko ukazno vrstico, se prepričajte, da boste pred prvim parametrom napisali besedo »linux« in presledek. Če pritisnete zgolj Enter , je to enako, kot da bi napisali »linux« brez posebnih parametrov.

Če je to prvi zagon sistema, pritisnite Enter in glejte, če vse pravilno deluje. Verjetno bo. Če ne, lahko pozneje ponovno zaženete in poiščete posebne parametre, ki obveščajo sistem o vaši strojni opremi.

Ko boste pritisnili Enter , bi morali videti sporočilo:

Loading...

Uncompressing Linux...

ki mu sledi kakšna stran nerazumljivih informacij o strojni opremi sistema. Najbrž bo veliko sporočil oblike »can’t find nekaj« (ne najdem nečesa), »nekaj not present« (nekaj ni prisotno), »can’t initialize nekaj« (ne morem inicializirati nečesa) ali celo »this driver release depends on nekaj« (ta gonilnik je odvisen od nečesa). Večina sporočil je neškodljivih. Zagonski disk za namestitev je zgrajen za tek na računalnikih z veliko različnimi perifernimi napravami. Očitno noben računalnik nima vseh mogočih perifernih naprav in operacijski sistem bo izpisal nekaj pritožb, ko išče naprave, ki jih nimate. Morda boste opazili, da si je sistem za nekaj časa vzel premor. To se zgodi zaradi čakanja na odziv naprave, ki na sistemu sploh ni prisotna. Če se vam zdi, da je čas za nalaganje sistema nesprejemljivo dolg, lahko po namestitvi sistema ustvarite prilagojeno jedro, ki vsebuje le gonilnike za obstoječe naprave.

Sistemi z malo pomnilnika Če ima vaš sistem 4 MB RAM-a, lahko vidite na zaslonu odstavek o majhnem pomnilniku (angl. low memory) in tekstovni menu s tremi izbirami. Če ima vaš sistem dovolj RAM-a, tega sploh ne boste videli in boste šli neposredno v barvno ali črnobelo pogovorno okno. Če dobite menu za premajhen pomnilnik, lahko greste pri njegovih izbirah kar po vrsti. Razdelite particije vašega diska, aktivirajte izmenjalno particijo in poženite grafični namestitveni sistem. Program za razdelitev vašega diska se imenuje cfdisk. Za pomoč bi morali pogledati stran v priročniku o cfdisk in navodila na strani 41.

Program cfdisk se uporablja za izdelavo izmenjalne particije za Linux (tip 82, Linux Swap) na trdem disku. Izmenjalno particijo potrebujete za navidezni pomnilnik med namestitvijo, saj postopek rad porabi več pomnilnika, kot imate zanj fizičnega RAM-a. Izberite količino navideznega pomnilnika, ki ga nameravate uporabljati, ko bo vaš sistem nameščen. Ta je popolnoma enaka količini potrebnega diskovnega prostora. Šestnajst megabajtov je verjetno najmanjša praktična količina, a raje uporabite 32 megabajtov, če lahko pogrešate toliko diska, in 64 megabajtov, če je disk dovolj velik in ne boste pogrešali prostora.

Barvno ali črnobelo pogovorno okno Ko se sistem neha zaganjati, naj bi videli barvno ali črnobelo pogovorno okno. Če vaš monitor prikazuje le črnobelo (enobarvno) sliko, pritisnite Enter in nadaljujte z namestitvijo. Sicer pa uporabljajte tipke s puščicami za premik kurzorja na postavko Color v menuju in pritisnite Enter . Prikaz bi se moral spremeniti iz črnobelega v barvnega. Ponovno pritisnite Enter in nadaljujte z namestitvijo.

Glavni menu Videli boste lahko pogovorno okno, ki pravi, da namestitveni program ugotavlja trenutno stanje vašega sistema:

The installation program is determining the current state of your system.

Na nekaterih sistemih se to sporočilo prikaže in izgine prehitro, da bi ga lahko prebrali. Prikazuje se med koraki namestitvenega procesa. Namestitveni program po vsakem koraku preveri stanje vašega sistema. To vam dovoljuje ponoven zagon namestitve, ne da bi izgubili že opravljeno delo, če ustavite sistem nekje na sredini namestitve. Če morate ponovno pognati namestitev, boste spet vprašani o izbiri barvne ali monokromatske lestvice, nastavitvi tipkovnice, reaktiviranju izmenjalnega področja in ponovnem priklopu diskov, ki so bili inicializirani. Vse druge izbire na sistemu bodo shranjene.

Med celotnim procesom bo pred vami glavni menu. Izbire na vrhu menuja se spremenijo, da prikazujejo stanje pri namestitvi sistema. Phil Hughes je napisal v Linux Journal, da lahko celo piščanca naučite nameščati Debian. S tem je hotel reči, da lahko namestitveni proces sestavlja le kljuvanje tipke Enter . Prva izbira namestitvenega menuja je naslednja aktivnost, ki bi jo morali izvesti, glede na to, kar sistem zazna, da ste že opravili. Pisati bi moralo Next (naslednja izbira) in na tej točki bi morala biti naslednja izbira nastavitev tipkovnice:

Configure the Keyboard

Nastavitev tipkovnice Prepričajte se, da je osvetljena postavka Next, in pritisnite Enter za nastavitveni menu tipkovnice. Izberite ustrezno vrsto tipkovnice za vaš jezik, ali izberite nekaj najbližjega, če vrsta vaše tipkovnice ni prikazana. Po namestitvi lahko izberete vrsto tipkovnice iz širšega spektra izbir. Premaknite osvetljeno polje na izbiro tipkovnice in pritisnite Enter . Za premike osvetljenega polja uporabljajte puščice – te so na enakih mestih na vseh tipkovnicah in so neodvisne od nastavitev tipkovnice.

Ukazna lupina Če ste izkušen uporabnik Unixa ali Linuxa, pritisnite hkrati levi Alt in F2 za drugo navidezno konzolo. To je tipka Alt na levi strani Space in funkcijska tipka F2 . Videli boste ločeno okno, ki poganja klon Bournove ukazne lupine, ash. Na tej točki je korenski datotečni sistem v vašem pomnilniškem disku, dosegljiv pa je tudi omejen nabor pripomočkov Unixa. Kateri programi so vam dostopni, vidite z ukazom

     # ls /bin /sbin /usr/bin /usr/sbin

◇ Ukazna lupina in ukazi so tu le za primer, da se vam kaj zalomi. Pomnite, vedno morate uporabljati menuje in ne ukazne lupine za aktiviranje vaše izmenjalne particije (swap), saj menujsko programje ne more ugotoviti, ali je bilo to storjeno v ukazni lupini. Pritisnite levi Alt - F1 za vrnitev v menuje. Linux ponuja do 64 navideznih konzol, a rešilna disketa jih uporablja le nekaj.

◇ Zadnja priložnost! Ste napravili varnostne kopije vaših diskov? Tukaj je vaša prva priložnost, da izbrišete vse podatke na vaših diskih, in hkrati vaša zadnja priložnost, da shranite kopijo vašega starega sistema. Če še niste naredili kopij vseh vaših diskov, odstranite disketo iz pogona, ponovno zaženite sistem in napravite rezervne kopije.

Razdelite vaše trde diske Če še niste razdelili vašega trdega diska na particiji z datotečnima sistemoma Linux Native in Linux Swap, se bo naslednja postavka Next glasila

Partition a Hard Disk

Če ste že ustvarili vsaj eno domorodno in eno izmenjalno particijo za Linux, bo izbira Next omogočala inicializacijo in aktivacijo izmenjalne diskovne particije, torej bo videti takšna:

Initialize and Activate the Swap Disk Partition

Ta korak lahko tudi preskočite, če ima vaš sistem malo RAM-a, in namestitveno programje vas bo prosilo, da aktivirate izmenjalno particijo, brž ko se sistem zažene. Kakršnakoli je že vaša menujska izbira Next, lahko uporabite ↓ in izberete razdelitev trdega diska z izbiro

Partition a Hard Disk

Menujska izbira Partition a Hard Disk vam prikaže seznam diskov, ki jih lahko razdelite, in požene program cfdisk (glejte stran 41), ki vam omogoča izdelavo in urejanje diskovnih particij. Ustvariti morate vsaj eno domorodno diskovno particijo Linuxa (tip 83).

Vaša izmenjalna particija bo služila sistemu za navidezni pomnilnik in mora biti po velikosti med 16 in 128 megabajti, odvisno od tega, koliko diskovnega prostora imate in koliko velikih aplikacij bi radi poganjali. Linux ne bo uporabljal več kot 128 megabajtov izmenjalnega prostora, zato ni razloga, da bi ustvarjali večjo izmenjalno particijo. Izdelava izmenjalne particije je močno priporočena, a lahko shajate tudi brez nje, če vztrajate in ima sistem več kot 16 MB RAM-a.

Inicializacija in aktiviranje izmenjevalne diskovne particije To je izbira Next v menuju, ko ustvarite diskovno particijo. Na izbiro imate aktiviranje nove izmenjalne particije, aktiviranje poprej inicializirane particije in shajanje brez izmenjalne particije. Vedno je dovoljeno še enkrat inicializirati izmenjalno particijo, zato izberite Initialize and Activate the Swap Disk Partition, razen če natanko veste, kaj počnete. Ta menujska izbira vam bo dala možnost pregleda celotne particije za diskovne bloke, ki jih ni mogoče brati zaradi napak na površini diska. To je uporabno, če imate diske MFM, RLL ali starejše IDE, in preverjanje diska nikoli ne škodi. Pravilno delujočih diskov SCSI ni treba nikoli pregledovati. Ti imajo lasten notranji mehanizem za označevanje slabih diskovnih blokov.

Izmenjalna particija ponuja navidezni pomnilnik kot dodatek RAM-u vašega sistema in se že uporablja, ko nameščate sistem. Zato jo najprej inicializiramo.

Inicializacija diskovne particije za Linux Na tej točki bi se morala menujska postavka Next glasiti

Initialize a Linux Disk Partition

Če ni tako, niste končali procesa razdelitve diska ali pa niste uporabili ene od menujskih izbir, ki se ukvarja z vašo izmenjalno particijo.

Diskovno particijo za Linux lahko inicializirate ali namesto tega priklopite že prej inicializirano particijo.

◇ Zagonske diskete ne bodo nadgradile starega sistema brez odstranitve datotek – za že obstoječe sisteme ponuja Debian drugačen postopek, kot je uporaba zagonskih disket. Torej, če uporabljate stare diskovne particije, ki niso prazne, bi jih morali inicializirati, kar pobriše vse datoteke z njih. Pri koraku razdelitve diska morate inicializirati vsako particijo, ki ste jo ustvarili. Nekako edini razlog za priklop particije brez njene inicializacije bi bil na tej točki priklop particije, na kateri imate uporabniške datoteke, ki jih ne bi radi pobrisali, na primer /home.

Izberite menujsko postavko Next za inicializacijo in priklop korenske diskovne particije (imenika »/«). Prva particija, ki jo priklopite ali inicializirate po izmenjalni, če jo uporabljate, je particija, priklopljena kot korenska (angl. root). Ponujena vam bo izbira pregleda diskovne particije za morebitni pojav slabih blokov, kot pri inicializaciji izmenjalne particije. Iskanje slabih blokov nikoli ne škodi. Zavedajte se, da lahko ta korak traja 10 minut ali celo več, če imate velik disk.

Namestitev osnovnega sistema Ko ste priklopili korensko particijo, bo menujska postavka Next omogočala namestitev osnovnega sistema:

Install the Base System

razen, če niste že izvedli nekaterih namestitvenih korakov. Uporabljate lahko puščice za izbiro menujskih postavk za inicializiranje ali priklop diskovnih particij, če morate sestaviti dodatne particije. Če ste ustvarili posebne particije za datotečne sisteme /var, /usr ali druge, bi jih morali zdaj inicializirati in priklopiti.

Nastal bo premor, v katerem sistem išče lokalne kopije osnovnega sistema. To iskanje je za namestitve s CD-ROM-a in bo neuspešno. Potem vam je ponujen menu pogonov, iz katerih lahko berete osnovne diskete. Izberite ustrezni pogon. Vstavite diskete, označene z »Base 1«, »Base 2«, »Base 3«, in »Base 4« – in »Base 5«, če uporabljate 1,2-MB diskete – kot jih zahteva program. Če se z ene od osnovnih disket ne da brati, morate ustvariti nadomestno disketo in ponovno vstaviti vseh pet disket v sistem. Po branju disket bo sistem namestil datoteke. To lahko na počasnih sistemih traja deset minut ali več.

Namestitev jedra operacijskega sistema Na tej točki vam bo izbira Next omogočala namestitev jedra OS:

Install the Operating System Kernel

Izberite jo in naprošeni boste, da izberete disketni pogon in vanj vstavite rešilno disketo, označeno kot »Rescue floppy«. To prepiše jedro na vaš trdi disk. Jedro se pozneje uporablja za izdelavo prirejene zagonske diskete za vaš sistem in za prireditev diska, da se lahko zažene brez diskete.

Namestitev gonilnikov naprav Izberite menujsko postavko za namestitev gonilnikov naprav. Naprošeni boste, da vstavite disketo, označeno kot »Device Drivers«, in gonilniki se bodo prepisali na vaš trdi disk. Izberite nastavitev gonilnikov naprav

Configure Device Drivers

in poiščite naprave, ki so na vašem sistemu. Nastavite te gonilnike naprav (angl. device drivers), da se bodo naložili ob vsakem zagonu sistema.

Obstaja menujska izbira za gonilnike naprav PCMCIA, a vam je ni treba uporabiti. Po namestitvi sistema lahko namestite še paket pcmcia-cs. Ta samodejno zazna kartice PCMCIA in nastavi tiste, ki jih najde. Prepozna tudi kartice, ki so se zamenjale med tekom sistema – vse te bodo nastavljene, ko bodo priključene, in izločene, ko bodo izključene.

Nastavitev osnovnega sistema Na tej točki je sistem prebral vse datoteke, ki sestavljajo minimalni sistem Debian, vendar morate za tek sistema opraviti še njegovo sestavo. Izberite

Configure the Base System

To vas povpraša po vašem časovnem območju. Poiščite vaš časovni pas ali del sveta v menuju in ga vpišite v pozornik. To vas lahko popelje v nov menu, kjer lahko izberete bolj podrobna navodila.

Nadalje ste vprašani, ali naj bo vaša sistemska ura nastavljena na Greenwiški čas (GMT) ali na lokalni čas. Če na vašem sistemu poganjate le Linux ali kak drug Unix, izberite GMT. Izberite lokalni čas, če uporabljate še kak drug sistem, kot sta MS-DOS ali Microsoft Windows. Sistemi Unix uporabljajo GMT za sistemski čas in uporabljajo programje, ki ga spreminja v lokalni čas. To jim omogoča spremljati poletni ali zimski čas in celo dovoljuje uporabnikom, ki so prijavljeni na sistem iz drugih časovnih območij, da si sami nastavijo časovno območje za svoj terminal. Če poganjate sistemsko uro z GMT in vaše okolje upošteva zimski in poletni čas zaradi varčevanja s sončno svetlobo (angl. daylight savings time), vaš sistem pravilno nastavi lokalno uro glede na začetek in konec veljave takšnega časa.

Sestava omrežja Omrežje morate nastaviti tudi, če ga nimate, vendar morate odgovoriti le na prvi dve vprašanji; o imenu vašega računalnika in ali je priključen na omrežje:

What is the name of your computer? Is your system connected to a network?

Če ste priključeni na omrežje, dobite pri vašem upravitelju sistema ali ponudniku internetnih storitev (ISP) naslednje podatke:

• ime vašega računalnika (angl. host name);

• ime domene vašega računalnika ali domene vašega ISP-ja (angl. domain name);

• vaš omrežni naslov IP (angl. IP address);

• omrežno masko (angl. netmask), ki se uporablja v vašem omrežju;

• naslov IP za vaše omrežje (angl. network IP address);

• naslov za oddajanje na vašem omrežju (angl. broadcast address on your network);

• če ima vaše omrežje tudi prehod (angl. gateway), naslov za IP privzetega sistema za prehod, na katerega morate usmerjati pakete (angl. default gateway system to route packets);

• sistem na vašem omrežju za uporabo imenskega strežnika (angl. Domain Name Service, DNS); in

• ali naj se priključite na omrežje prek etherneta.

Program bo naslov mreže sam izračunal kot bitni in vašega sistemskega naslova za IP in omrežne maske. Prav tako bo tudi izračunal naslov za oddajanje kot bitni ali naslova IP vašega sistema z bitno negacijo vaše omrežne maske. Uganil bo, ali je vaš prehodni sistem hkrati tudi vaš imenski strežnik (DNS). Če ne morete sami poiskati teh odgovorov, uporabite predloge sistema – če je to potrebno, jih lahko spremenite tudi po namestitvi s popravki datoteke /etc/init.d/network.

Priprava zagonskega trdega diska Če se odločite, da boste zaganjali Linux kar s trdega diska, ste povprašani, ali naj se namesti glavni zagonski zapis (angl. master boot record, MBR). Če ne uporabljate zagonskega upravljalnika (angl. boot manager; če ne veste, kaj je to, ga najbrž ne uporabljate), odgovorite na to vprašanje z »yes«. Naslednje vprašanje je, ali želite po prižiganju računalnika avtomatično zaganjati Linux s trdega diska. To označi particijo z Linuxom kot zagonsko – tisto, ki naj se zažene s trdega diska. Če na to vprašanje odgovorite z »no«, lahko nastavite zagonsko particijo pozneje z uporabo dosovskega programa FDISK.EXE ali programov fdisk ali activate v Linuxu.

Izdelava zagonske diskete Zagonsko disketo naredite tudi, če nameravate zaganjati sistem s trdega diska. Mogoče je namreč, da se z zagonom z diska kaj zaplete, zagonska disketa pa bo skoraj vedno delovala. Izberite torej v menuju možnost izdelave zagonske diskete:

Make a Boot Floppy

in vstavite v sistem prazno disketo, kot vam je naročeno. Prepričajte se, da disketa ni zaščitena proti pisanju. Programje poskuša formatirati disketo in pisati nanjo. Označite to disketo kot »Custom Boot« (prilagojen zagon) in jo zaščitite pred pisanjem, ko se je nanjo vse zapisalo.

Trenutek resnice To je tisto, kar inženirji elektronike imenujejo »dimni preizkus« (angl. smoke test) – kaj se zgodi, ko prvič prižgete nov sistem. Odstranite disketo iz disketne enote in iz menuja izberite ponoven zagon sistema:

Reboot the System

Če se sistem Linux ne zažene, vstavite disketo »Custom Boot«, ki ste jo naredili v prejšnjem koraku, in ponovno zaženite sistem. Linux bi se zdaj moral zagnati. Videti bi morali ista sporočila kot prvič, ko ste zagnali namestitveno zagonsko disketo, a z nekaterimi novimi sporočili.

Dodajte uporabniški račun in geslo Ko ste ustvarili uporabniške račune (to je podrobno razloženo v poglavju 4), se spustite v dselect, paket za rokovanje s paketi distribucije Debian.

◇ Preden poskusite namestiti pakete z orodjem dselect, bi morali prebrati učbenik.

dselect vam omogoča izbiro paketov, ki jih želite namestiti na svoj sistem. Programska oprema za rokovanje s paketi distribucije Debian je podrobno opisana od strani 51 naprej. Če imate CD-ROM ali trdi disk z dodatnimi paketi za Debian ali ste priključeni na Internet, lahko zdaj preberete ta razdelek. Sicer zapustite dselect. Programje za rokovanje s paketi lahko uporabljate tudi potem, ko boste prenesli datoteke s paketi distribucije Debian na vaš sistem.

◇ Za uporabo orodja dselect morate biti super-uporabnik (root). ◇ Če nameščate X Window System in ne uporabljate ameriške tipkovnice, preberite na-

vodilo o ne-ameriških tipkovnicah, priloženo X11. Slovensko tipkovnico nastavite po navodilih spisa Slovenian HOWTO, glejte dodatek A za mesta, na katerih ga lahko dobite.

Prijava Ko ste zapustili dselect, ste pred pozornikom login:. Prijavite se z uporabniškim imenom in geslom, ki ste ga izbrali. Vaš sistem je pripravljen za uporabo.

2.3.5 Poganjanje Debian GNU/Linux-a

Ta razdelek opisuje pakirni sistem Debiana in pripomočke, specifične za to distribucijo. Format paketnih datotek za Debian/GNU Linux se imenuje Packages in je prikazan v tabeli na strani 52.

Distribucije Debian so zbrane v arhivih, imenovanih paketi. Vsak paket je zbirka datotek (navadno programov), ki se lahko namestijo z uporabo dpkg ali dselect. Dodatno paket vsebuje nekaj informacij o sebi, ki jih preberejo namestitveni pripomočki.

Razvrstitev paketov Paketi, ki so vključeni v Debian GNU/Linux, so urejeni po njihovi pomembnosti (priority) in funkcionalnosti (section).

Polje priority paketa pove, kako nujna je njegova namestitev. Debian GNU/Linux razvršča vse pakete v štiri različne ravni pomembnosti:

Required (nujni) Ti paketi morajo biti nameščeni, če naj sistem pravilno deluje in so nameščeni kot del osnovnega sistema.

◇ Nikoli ne odstranite nujnih paketov s sistema, če niste popolnoma prepričani, da veste, kaj počenjate. To potrebuje ponovitev: Nikoli, nikoli, nikoli ne odstranite nujnih paketov

Package  Ime paketa
Priority  Pomembnost paketa

Required Mora biti nameščen za pravilno delovanje sistema. Important Ni potreben, a je pomemben. Optional Ni potreben, a je uporaben. Extra Paket lahko povzroča konflikte z drugimi paketi viš-

jih prioritet.

Section  Splošna kategorija

Base Osnovni sistem. Devel Razvojna orodja. X11 Paketi za X Window System. Admin Pripomočki za upravljanje. Doc Dokumentacija. Comm Različni komunikacijski pripomočki. Editors Različni urejevalniki. Electronics Pripomočki za elektroniko. Games Igre. (To ste uganili, kajneda?) Graphics Grafični pripomočki. Hamradio Pripomočki za internetni radio. Mail E-poštni odjemniki in strežniki. Math Matematični pripomočki (kot kalkulatorji ipd.) Net Različna orodja za priključitev na omrežje (navadno

TCP/IP).

News Strežniki in odjemniki za internetne novice

(NNTP).

Shells Ukazne lupine, kot sta tcsh in bash. Sound Različne zvočne aplikacije (kot igralniki glasbenih

CD-jev).

TeX Vse, kar lahko berete, izpisujete in pretvarjate

v TEX.

Text Aplikacije za procesiranje teksta (kot je nroff). Misc Vse ostalo, kar še ni našteto zgoraj.

Maintainer  Ime osebe, ki vzdržuje paket in njen e-poštni naslov.
Version  Različica paketa v obliki glavna-različica–različica-debian.

Depends Seznam drugih paketov, od katerih je odvisen trenutni paket in brez njih ne bo deloval.

Recommends Še en nivo odvisnosti paketov – močno je priporočeno, da imate nameščene tukaj naštete pakete.

Suggests Paketi, navedeni v tem polju, so lahko uporabni za pakete, ki jih opisuje ta vnos.

Filename  Ime datoteke paketa po FTP-ju ali na CD-ROM-u.

MS-DOS- Filename

Ime datoteke paketa v kratkem dosovskem formatu.

Size  Velikost paketa po namestitvi.
Md5sum  Kontrola »md5sum«, ki zagotavlja, da je paket res uraden.
Description  To polje opisuje paket – ne jemljite paketa, ne da bi ga prebrali.

Tabela 2.3: Polja v formatu Packages za Debian GNU/Linux. s sistema, če niste popolnoma prepričani, da veste, kaj počenjate. Takšno početje bo najbrž naredilo vaš sistem popolnoma neuporaben.

Nujni paketi so v pripomočku dselect okrajšani kot Req.

Important (pomembni) Pomembne pakete najdete na skoraj vseh Unixu podobnih operacijskih sistemih. Ti paketi vključujejo cron, man in vi.

Pomembni paketi so v pripomočku dselect okrajšani kot Imp.

Standard (standardni) Standardni paketi so paketi, ki bolj ali manj sestavljajo »standardni«, tekstovno orientirani sistem Debian GNU/Linux. Standardni sistem vključuje precej popolno okolje za razvoj programja in GNU Emacs.

Standardni paketi se v dselect pojavljajo kot Std.

Optional (izbirni) Izbirni paketi sestavljajo že precej kompleten sistem. Izbirni sistem vključuje TEX in X Window System.

Tovrstne pakete najdete v dselect pod oznako Opt.

Extra (dodatni) Dodatni paketi so najbolj uporabni za majhno ali izbrano skupino ljudi ali pa so nameščeni z določenim razlogom. Dodatni paketi lahko vključujejo take programe, kot so aplikacije v elektroniki in radioamaterstvu.

Dodatni paketi so vidni v dselect kot Xtr.

Privzeto dselect samodejno izbere standardni sistem »Standard«, če uporabnik ne želi izbirati posameznih paketov, ki naj bi bili nameščeni.

Polje section v glavi paketa določa njegovo funkcionalnost ali uporabo. Paketi na CD-ROM-u in v arhivih FTP so urejeni v podimenike glede na funkcijo. Imena imenikov že sama precej pojasnjujejo: na primer, imenik admin vsebuje pakete za upravljanje sistema (angl. system administration), imenik devel pa pakete za razvoj programja (angl. software development) in programiranje. Za razliko od ravni pomembnosti lahko enemu paketu pripada več polj section in še več se mu jih lahko doda v prihodnosti, zato jih v tem vodniku ne opisujemo posamično.

Odnosi med paketi Vsak paket vključuje podatke o tem, kako je povezan z drugimi paketi, vključenimi v sistem. V distribuciji Debian GNU/Linux obstajajo štirje odnosi med paketi: konflikti (angl. conflicts), odvisnosti (angl. dependencies), priporočila (angl. recommendations) in predlogi (angl. suggestions).

Konflikt se pojavi, ko dva paketa ne moreta biti hkrati nameščena na istem sistemu. Dober primer konfliktnih paketov so programi za izmenjavo pošte (angl. mail transfer agents, MTA). MTA je program, ki dostavlja elektronsko pošto uporabnikom sistema in drugim strojem na omrežju. Debian GNU/Linux ima dva tovrstna strežnika: sendmail in smail.

Hkrati sme biti nameščen le en program za izmenjavo pošte. Oba opravljata enako delo in nista zasnovana za sobivanje. Paketa sendmail in smail sta konfliktna. Če poskušate namestiti sendmail, ko je smail že nameščen, bo sistem za rokovanje s paketi distribucije Debian GNU/Linux zavrnil njegovo namestitev. Podobno, če poskušate namestiti smail, ko je sendmail že nameščen, bo dselect (ali dpkg; glejte spodaj) zavrnil namestitev.

Odvisnost se pojavi, ko je za pravilno delovanje nekega paketa potreben neki drug paket. Če uporabimo naš primer elektronske pošte, uporabniki berejo pošto s programi za branje in pisanje pošte (angl. mail user agents, MUA). Priljubljeni poštni agenti vključujejo elm, pine in emacs-ov način RMAIL. Hkratna namestitev več poštnih programov je normalna, saj niso konfliktni. Toda ti programi ne izročajo pošte – to je delo za program za izmenjavo pošte. Zato so vsi programi za branje in pisanje pošte odvisni od programa za izmenjavo pošte.

Paket lahko tudi priporoča ali predlaga druge pakete, ki so povezani z njim.

2.3.6 dselect

Ta razdelek je kratek učbenik pripomočka dselect iz distribucije Debian. Za več podrobnih informacij poglejte v priročnik za dselect na naslovu ftp://ftp.debian.org/ debian/Debian-1.2/disks-i386/current/dselect.beginner.6.html.

dselect je preprost, menujsko usmerjeni vmesnik, ki pomaga pri namestitvi paketov. Popelje vas skozi proces namestitve paketov po vrsti, skozi zaslonski menu:

Debian Linux dselect package handling front end. 0. [A]ccess Choose the access method to use.

1. [U]pdate Update list of available packages, if possible.

2. [S]elect Request which packages you want on your system.

3. [I]nstall Install and upgrade wanted packages.

4. [C]onfig Configure any packages that are unconfigured.

5. [R]emove Remove unwanted software.

6. [Q]uit Quit dselect.

Za izbiro možnosti iz menuja obstajata dva načina: izberite jo s puščicami ali pritisnite ustrezno tipko v oglatih oklepajih.

Access (dostop) V tem menuju izbirate metodo dobivanja in namestitve paketov.

Okrajšava  Opis
cdrom  namestitev s CD-ROM-a
nfs  namestitev s strežnika NFS (še ne priklopljenega)
harddisk  namestitev s particije trdega diska (še ne priklopljene)
mounted  namestitev z datotečnega sistema, ki je že priklopljen
floppy  namestitev s kupa disket
ftp  namestitev z uporabo FTP

Update (osvežitev) dselect prebere bazo podatkov Packages (opisano zgoraj) in ustvari bazo podatkov tistih paketov, ki so dostopni na vašem sistemu.

Select (izbira) S tem izbirate pakete. Izberite paket, ki ga želite, in pritisnite Enter . Če imate počasen stroj, se bo zaslon pobrisal in ostal prazen 15 sekund. Prva stvar, ki se prikaže na strani 1, je datoteka s pomočjo (angl. Help file). Ta zaslon lahko vidite v kateremkoli trenutku, če pritisnete ? v zaslonu Select. Po zaslonih s pomočjo se lahko premikate s pritiskom na piko, ·.

Iz zaslona Select lahko greste po izbiri vseh paketov s pritiskom Enter . To vas vrne v glavni zaslon, če ni nobenih težav z vašo izbiro. Sicer morate najprej razrešiti te težave. Ko ste zadovoljni z določenim zaslonom, pritisnite Enter .

Konflikti z odvisnostmi so precej normalni in pričakovani. Če izberete paket A in ta paket zahteva, da ne izberete paketa B, vas dselect obvesti o problemu in vam najverjetneje predlaga rešitev. Če sta si paketa A in B v laseh, se morate odločiti za enega od njiju.

Install (namestitev) dselect gre skozi vseh 800 paketov in namesti tiste, ki ste jih izbrali. Med tem procesom boste morali sprejemati odločitve. Pogosto je uporabno preklopiti v drugo ukazno lupino in primerjati, na primer, staro nastavitveno datoteko z novo. Če se, denimo, stara datoteka imenuje conf.modules, se bo nova datoteka imenovala conf.modules.dpkg-new.

Na hitrejših strojih se zaslon pomika precej hitro. Izpis lahko zaustavite s pritiskom Control - S in ga spet poženete s Control - Q. Na koncu teka bo izpisan seznam vseh nenameščenih paketov.

Configure (nastavitev) Večina paketov je nastavljenih v koraku 3, a vse ostalo lahko nastavite tukaj.

Remove (odstranitev) Odstrani pakete, ki niso več potrebni.

Quit (prekinitev) Au revoir!

2.3.7 dpkg

To je orodje ukazne vrstice, ki namesti in rokuje s paketi Debian. Ima več možnosti, ki vam dovoljujejo nameščanje, nastavljanje, osvežitev, odstranitev in izvajanje drugih operacij s paketi Debian. Gradite lahko celo vaše lastne pakete. dpkg vam omogoča tudi izpis dostopnih paketov, datotek, ki si jih »lastijo« paketi, seznamov, kateri paket si lasti katero datoteko in tako naprej.

Nameščanje ali osveževanje novih ali obstoječih paketov Napišite naslednji ukaz:

# dpkg -i ime_datoteke.deb

kjer je ime_datoteke ime datoteke, ki vsebuje paket za Debian, kot na primer tcsh_6.06-11_i386.deb. dpkg je delno interaktiven; med namestitvijo vam lahko postavlja dodatna vprašanja, kot so, ali naj namesti nove različice nastavitvenih datotek (angl. configuration files) ali obdrži stare različice.

Paket lahko odpakirate tudi, ne da bi ga nastavljali, z vnosom:

# dpkg --unpack ime_datoteke

Če je paket odvisen od nenameščenega paketa ali novejše različice paketa, ki ga že imate, ali če se med namestitvijo pojavijo druge odvisnostne težave, se izvajanje dpkg prekine brez nastavitve paketa.

Nastavitev nameščenih paketov Če se dpkg med namestitvijo prekine in pusti paket nameščen, ostane ta paket nenastavljen (angl. unconfigured). Pakirni sistem Debiana zahteva, da se paket nastavi in se s tem izogne odvisnostnim težavam. Nekateri paketi potrebujejo nastavitev za pravilno delovanje.

Za nastavitev paketa napišite:

     # dpkg --configure paket

kjer je paket ime paketa, kot je tcsh. (Opazili boste, da to ni izvorno ime datoteke, iz katere smo namestili tcsh. Tisto ime je bilo daljše, vključevalo je številko različice in se je končalo z .deb.)

Odstranitev nameščenih paketov V pakirnem sistemu Debiana obstajata dva načina za odstranitev paketov: remove in purge. Možnost remove odstrani določeni paket; izbira purge odstrani določeni paket in njegove nastavitvene datoteke. Uporaba je:

     # dpkg -r paket
     # dpkg --purge paket

Če obstajajo kakšni nameščeni paketi, ki so odvisni od tega, ki ga želite odstraniti, se paket ne bo odstranil in dpkg bo končal s sporočilom o napaki.

Poročilo o statusu paketa Za poročilo o statusu paketa (npr. nameščen, ni nameščen, ali nenastavljen), vnesite:

     # dpkg -s paket

Izpis dostopnih paketov Za izpis nameščenih paketov, ki se ujemajo z določenim vzorcem, napišite:

# dpkg -l vzorec-za-ime-paketa

kjer je vzorec-za-ime-paketa dodatni argument, ki določa vzorec, ki naj mu ustreza ime paketa, kot je *sh. Dovoljeni so običajni džokerji ukazne lupine (angl. shell wildcards). Če ne določite vzorca, se izpišejo vsi nameščeni paketi.

Izpis datotek v lasti paketa Za izpis vseh datotek v lasti določenega paketa preprosto napišite:

     # dpkg -L paket

Vendar to ne bo izpisalo datotek, ki so jih ustvarili posebni namestitveni skripti paketa.

Določitev paketa, ki si lasti datoteko V kateri paket spada kakšna datoteka, izveste z naslednjim ukazom:

# dpkg -S vzorec-za-ime-datoteke

kjer je vzorec-za-ime-datoteke vzorec za iskanje po imenih paketov. Tudi tu so dovoljeni običajni džokerji ukazne lupine.

Povzetek Uporaba orodja dpkg je preprosta in je priporočljiva zamenjava za dselect, kadar morate le namestiti, nadgraditi ali odstraniti manjše število paketov. Ima tudi nekaj funkcionalnosti, ki je dselect (vmesnik za dpkg) nima, na primer iskanje, kateri paket si lasti datoteko. Za popoln seznam izbir poglejte stran priročnika o dpkg(8).

2.3.8 O Debian GNU/Linux-u

Projekt Debian GNU/Linux je organiziral Ian Murdock leta 1993, najprej pod pokroviteljstvom projekta GNU ustanove Free Software Foundation (FSF). Pozneje se je Debian ločil od FSF. Debian je rezultat prostovoljnih naporov za izdelavo prostega, visoko-kvalitetnega operacijskega sistema, zasnovanega na jedru Linuxa in združljivega z Unixom s popolnim naborom aplikacij.

Skupnost Debiana je skupina več kot 150 neplačanih prostovoljcev z vsega sveta, ki sodelujejo preko Interneta. Ustanovitelji projekta so oblikovali organizacijo Software in the Public Interest (SPI), ki sponzorira nadaljnji razvoj sistema Debian GNU/Linux.

Software in the Public Interest je neprofitna ustanova, ki so jo ustanovili, ko je FSF umaknil svoje pokroviteljstvo nad Debianom. Naloga organizacije je razvijati in razširjati prosto programje. Njeni cilji so zelo podobni ciljem FSF in spodbuja programerje k uporabi licence GNU General Public License v njihovih programih. Vendar ima SPI rahlo drugačen pogled, saj gradi in razširja sistem Linux, ki se v mnogih tehničnih podrobnostih oddaljuje od sistema GNU, ki ga načrtuje FSF. SPI še vedno komunicira s FSF in sodeluje tako, da jim pošilja spremembe GNU-jevskega programja in naproša svoje uporabnike, naj prispevajo k FSF in projektu GNU.

SPI lahko dosežete po pošti na naslovu:

Software in the Public Interest P. O. Box 70152 Pt. Richmond, CA 94807-0152 U. S. A.

2.3.9 Poštni spiski

Obstaja kar nekaj poštnih spiskov, ki se ukvarjajo s projektom Debian:

debian-announce@lists.debian.org Moderiran. Večje sistemske najave. Običajno eno sporočilo na mesec.

debian-changes@lists.debian.org Najave novih izdaj paketov za stabilno distribucijo. Navadno precej sporočil na dan.

debian-devel-changes@lists.debian.org Najave novih izdaj paketov za nestabilno distribucijo. Navadno precej sporočil na dan.

debian-user@lists.debian.org Poštni spisek, kjer uporabniki Debiana sprašujejo in prejemajo podporo. Navadno okoli 50 sporočil na dan.

debian-sparc@lists.debian.org

debian-alpha@lists.debian.org

debian-68k@lists.debian.org Seznami za tiste, ki so vključeni v prenos programja Debian na arhitekture SPARC, DEC Alpha in Motorola 680x0.

Obstaja tudi precej poštnih seznamov za razvijalce Debiana.

Na te poštne spiske se lahko naročite, če pošljete pošto, ali po svetovnem spletu. Za več podatkov prosimo obiščite http://www.debian.org/.

2.3.10 Sistem zasledovanja hroščev

Projekt Debian ima sistem zasledovanja hroščev, ki ureja poročila o hroščih, o katerih poročajo uporabniki. Brž, ko je hrošč javljen, mu je dodeljena številka, vse informacije o določenem hrošču pa se hranijo v datoteki in se po pošti pošljejo vzdrževalcu paketa. Ko je hrošč odpravljen, ga mora vzdrževalec označiti kot opravljenega (»zaprtega«). Če je zaprt po pomoti, se lahko spet odpre.

Za več podatkov o tem sistemu zasledovanja hroščev pošljite e-pismo na request@ bugs.debian.org z vrstico help v telesu sporočila.

2.3.11 Zahvale za Debian

Najlepša hvala Bruceu Perensu in ostalim avtorjem snovi, povezane z distribucijo Debian, ki je bila uporabljena pri pisanju tega poglavja. Zahvala tudi Vadiku Vygonetsu, mojem dragem sorodniku, ki mi je precej pomagal. Končno, hvala tudi vsem članom skupnosti Debiana za njihovo trdo delo. Upajmo, da bo Debian GNU/Linux postal še boljši.

2.3.12 Zadnje sporočilo

Debian GNU/Linux se spreminja zelo hitro in mnoga dejstva se spreminjajo hitreje od te knjige. Izvorno besedilo tega razdelka se redno osvežuje. Najdete ga na http://www.cs. huji.ac.il/~borik/debian/ligs/.

2.4 Red Hat Linux

Ta razdelek o distribuciji Red Hat Linux je napisal Henry Pierce.

2.4.1 Namestitvene lastnosti distribucije Red Hat Linux

Odvisnosti:  da
Namestitvene zagonske metode:  CD, disketa, loadlin (iz DOS-a)
Namestitvene metode:  CD, trdi disk, NFS, FTP, SMB
Inicializacija sistema:  Sys V init
Zahtevnost namestitve:  lahka
Grafična upravljalna orodja:  številna
Namestitveni pripomoček:  namestitveni skript, ki kliče RPM
Pripomoček za vzdrževanje paketov: RPM, glint

2.4.2 Sistem RPM za upravljanje paketov

Distribucija RedHat premore posebni sistem za nameščanje in nadgradnjo programske opreme, imenovan RPM (angl. RedHat Packet Manager, upravljalnik paketov podjetja Red-Hat). Programski paketi, zgrajeni s sistemom RPM, se zlahka nameščajo, med namestitvijo pa se lahko izbirajo posamezni deli in metode namestitve paketa. Paket RPM ima v glavi datoteke paket.rpm podatke, ki opisujejo, kam spada paket, katere podporne pakete potrebuje za pravilno delovanje in ali so ti nameščeni, ter omogoča ugotavljanje programskih odvisnosti. Ti podatki se lahko dodajo skupni sistemski bazi tovrstnih podatkov na vašem računalniku.

S sistemom RPM lahko upravljalci sistema nadgrajujejo posamezne dele ali celotne sisteme, pri tem pa ohranijo svoje prejšnje nastavitve sistema ali programskega paketa. Poizvedovati je mogoče o položaju datotek in podobnih informacij v bazi podatkov, preverjati, ali so paketi pravilno nameščeni ter hraniti »prastare« izvorne pakete. S tem lahko zasledujete pot prenosa programskega paketa. Z RPM-jem lahko nameščate, nadgrajujete ali odstranjujete pakete z eno samo ukazno vrstico ali nekaj kliki miške v orodju za upravljanje paketov v X. Primeri uporabe sistema RPM v ukazni vrstici:

# rpm --install paket.rpm # to namesti paket # rpm --upgrade paket.rpm # to nadgradi paket # rpm --erase paket.rpm # to odstrani ali izbriše paket

Pravila imenovanja paketov Ime pravilno zgrajene datoteke paket.rpm označuje ime paketa, različico, revizijo gradnje, arhitekturo, in ima pripono .rpm, ki ga označuje kot paket RPM.

Vzemimo na primer bash-1.14.7-1.i386.rpm. Sámo ime vsebuje uporabne podatke: paket je bash (ukazna lupina Bourne Again SHell), je različice 1.14.7 in je 1. gradnja trenutne različice za Red Hat Linux. Zgrajen je bil za procesorje, združljive s procesorjem Intel 80386 ali boljšim in je v formatu za RPM. Če boste torej videli paket, imenovan bash-1.14.7-2.i386.rpm, boste vedeli, da je to druga gradnja paketa bash 1.14.7 in da verjetno vsebuje tudi popravke težav prejšnjih gradenj, saj je novejša. Notranja organizacija datotek *.rpm je sicer izven dometa tega razdelka, a pravilno grajen paket vsebuje izvedljivo datoteko, nastavitvene datoteke, dokumentacijo (ali vsaj strani priročnika), različne druge datoteke, neposredno povezane s paketom, zapis, kam naj se te datoteke namestijo, in seznam paketov, ki jih ta paket potrebuje. Po uspešni namestitvi se informacije o paketu registrirajo v bazi podatkov za RPM.

Podrobnejša razlaga sistema za upravljanje paketov RPM je v spisu RPM HOWTO (glejte dodatek A). Slovenski prevod tega spisa je dostopen na naslovu

http://www.lugos.si/delo/slo/HOWTO-sl/RPM-HOWTO-sl.html

najnovejši izvirnik v angleščini pa na naslovu

http://www.redhat.com/support/docs/rpm/RPM-HOWTO/RPM-HOWTO.html

2.4.3 Sporočilo o nadgradnji Red Hat Linuxa

Zaradi večjih sprememb v binarnem formatu Linuxa so podprte le nadgradnje od različice 2.0 sistema Red Hat Linux naprej. Nadgradnje sicer lahko izvedete z enakimi namestitvenimi metodami s CD-ROM-a, NFS, FTP in trdega diska. V različici sistema Red Hat Linux 4.0 je možnost nadgradnje vključena v zagonsko disketo namesto v poseben program. Če nadgrajujete z v2.1 na v3.0.3 in želite spet nadgraditi na različico 4.0, morate ustvariti zagonsko disketo (Boot), namesto da iščete nadgraditveni skript, podobno kot pri namestitvi sistema Red Hat 4.x od začetka. Ta metoda ne formatira ponovno vaših particij niti ne pobriše vaših nastavitvenih datotek.

2.4.4 Izdelava namestitvenih disket

Za izdelavo opreme za namestitev z disket potrebujete naslednje:

1. Sliko zagonske diskete (Boot) za Red Hat, ki je dostopna na

ftp://ftp.redhat.com/pub/redhat/current/i386/images/boot.img

ali v imeniku images na CD-ROM-u z distribucijo Red Hat.

2. Sliko dodatne diskete (Supplemental) za Red Hat, supp.img, ki je dostopna na naslovu

ftp://ftp.redhat.com/pub/redhat/current/i386/images/supp.img

ali v imeniku images na CD-ROM-u z distribucijo Red Hat. To disketo potrebujete, če vaša namestitev ni zasnovana na CD-ROM-u ali če za pravilno namestitev potrebujete podporo PCMCIA za katerokoli napravo, denimo za CD-ROM na prenosniku. Ta disketa se lahko skupaj z disketo Boot uporablja tudi na že nameščenem sistemu kot rešilna zagonska disketa.

3. Program RAWRITE.EXE za MS-DOS, ki ga dobite na:

ftp://ftp.redhat.com/pub/redhat/current/i386/dosutils/rawrite.exe

ali v imeniku DOS na CD-ROM-u Red Hat-a.

4. Uporabniki operacijskih sistemov MS-DOS in Windows 95, ki prvič nameščate Red Hat Linux na stroj, ki bo imel Linux nameščen kot drugi operacijski sistem, morate dobiti tudi:

ftp://ftp.redhat.com/pub/redhat/dos/fdips11.zip

in odzipati datoteke v imenik C:\FIPS, če morate pred namestitvijo narediti prostor na vašem trdem disku.

5. Na ciljnem stroju, na katerem bo nameščen Linux kot drugi operacijski sistem, morate narediti rešilno zagonsko disketo za že obstoječi operacijski sistem.

2.4.5 Namestitveni medij

Ko ustvarite namestitvene diskete z uporabo RAWRITE.EXE ali dd, kot je opisano na strani 40, se prepričajte, da je metoda vaše namestitve pravilno nastavljena za uporabo namestitvenih disket distribucije Red Hat. Pri namestitvah s CD-ROM-ov, datotečnih sistemov NFS, prek FTP ali s trdih diskov mora na izvornem mediju obstajati imenik /RedHat, s podimenikoma base in RPMS pod njim:

/RedHat |----> RPMS (vsebuje pakete .rpm za namestitev) |----> base (vsebuje osnovni sistem in datoteke

za uporabo trdega diska)

Namestitev z NFS Za namestitev preko omrežnega datotečnega sistema NFS boste potrebovali na stroju CD-ROM z distribucijo Red Hat (denimo na obstoječi škatli z Linuxom), ki lahko podpira in izvaža datotečni sistem z razširitvami ISO-9660 z razširitvami Rockridge, ali pa morate preslikati eno od distribucij Red Hat z drevesom imenikov, organiziranim na zgornji način – in seveda, s pravilnimi datotekami v vsakem imeniku. /RedHat mora biti izvožen na stroje v omrežju, na katerih boste nameščali ali nadgrajevali Red Hat Linux. Ta stroj mora biti na ethernetu; namestitve z NFS ne morete opraviti preko klicne povezave.

Namestitev s trdega diska Namestitve s trdega pogona morajo imeti imenik /RedHat, narejen relativno glede na korenski imenik particije (ni pomembno, katere particije), ki vsebuje distribucijo Red Hat, dobljeno s CD-ROM-a ali z mesta za FTP. Na primer, na primarni dosovski particiji mora biti pot do imenika \RedHat enaka C:\RedHat. Na datotečnih sistemih MS-DOS ni pomembno, da so imena datotek paket.rpm skrajšana. Vse, kar morate storiti je, da se prepričate, da imenik \RedHat\base vsebuje osnovne datoteke s CD-ROM-a ali mesta za FTP, in da imenik \RedHat\RPMS vsebuje vse datoteke paket.rpm s CD-ROM-a ali FTP-ja. Potem lahko s te particije nameščate ali nadgrajujete. Če imate obstoječo particijo za Linux, ki je ne potrebujete za namestitev ali nadgradnjo, jo lahko sestavite, kot smo tule nakazali, in jo uporabljate.

Namestitev po FTP Vse, kar potrebujete za namestitev po FTP preko Interneta, je naslov za IP strežnika FTP in pot do korenskega imenika sistema Red Hat Linux, ki ga želite namestiti. Glejte dodatek B za seznam strežnikov in zrcalnih strežnikov za prenos datotek za Linux po FTP. Če nameravate nameščati po protokolu FTP po nizko prepustni povezavi (vse, kar je počasnejše od povezave ISDN na 128 Kbps), vam močno priporočamo, da najprej prepišete datoteke na obstoječo dosovsko particijo in potem nameščate s trdega diska. Skupna velikost paketov v imeniku /RedHat/RPMS je približno 170 MB in namestitev bo trajala več ur. Če gre pri namestitvi kaj narobe (lahko se, na primer, podre povezava), boste morali začeti od začetka. Če najprej dobite datoteke in pripravite vaš trdi disk za namestitev Linuxa, je potrebnega manj dela in manj zmede, da si opomorete po neuspešni namestitvi. Za minimalni sistem, ki lahko raste z vašimi potrebami, vam niti ni treba vzeti vseh datotek iz imenika /RedHat/RPMS. Za podrobnosti glejte naslednji razdelek.

2.4.6 Prilagoditev vaše namestitve z NFS ali s trdega diska

Namestitveni proces si lahko prilagodite. To ni za tiste s slabim srcem – poskusi naj le, kdor je domač v Linuxu. Od različice Red Hat Linuxa 4.x naprej vsebuje imenik /RedHat/RPMS približno 170 MB datotek .rpm. RPM komprimira te pakete in predpostavlja, da potrebuje paket od 2 do 3-krat več prostora na trdem disku kot pa arhiviran v formatu RPM. Če je datoteka paket.rpm velika 6 MB, potrebujete za namestitev tega paketa med 12 in 18 MB diskovnega prostora.

Kateri paketi so dostopni za namestitev, je mogoče prilagoditi, ko nameščate sistem po FTP, z NFS ali s trdega diska. Na CD-ROM-e (tipično) ni mogoče pisati, a lahko prepišete datoteke na trdi disk in jih namestite od tam, s prilagojenim seznamom paketom. Namestitve po FTP in z NFS lahko načrtujete le, če imate korenski dostop do strežnika(ov) na vašem omrežju ali je vaš sistemski upravitelj pripravljen sodelovati z vami. Pri naslednjih namestitvenih situacijah je zaželeno prilagoditi namestitev: ko dobivate Red Hat Linux po FTP-ju preko slabo prepustne povezave ali ko načrtujete zbirko programja, ki jo bodo uporabljale vse delovne postaje s sistemom Red Hat Linux na omrežju.

Za prilagoditev namestitve morate dobiti datoteko /base/comps, ki vam priskrbi seznam paketov, ki bi jo sicer vključevala normalna polna namestitev. Potem morate prenesti pakete iz /base/comps, ki jih zares želite namestiti. Datoteko /base/comps morate po-

praviti, glede na to, katere pakete imate in katere bi radi namestili. ◇ Če imate lokalne pakete RPM, jih tudi lahko naštejete v datoteki comps.

Datoteka comps Namestitveni program za Red Hat Linux uporablja datoteko /RedHat/base/comps (tukajšnja datoteka je primer iz sistema Red Hat Linux 4.0). Z njeno pomočjo program za vsako namestitveno kategorijo ugotovi, kateri paketi so dostopni v imeniku /RedHat/RPMS. Datoteka je organizirana po kategorijah in vsaka kategorija vsebuje seznam paketov, za katere Red Hat misli, da so za ta razdelek nujno potrebni. Vedite: od polnega imena paketa paket-različica-gradnja.rpm je v tej datoteki naštet le del paket. To pomeni, da je datoteka comps v splošnem uporabna od ene različice Red Hat do naslednje. Razdelek v tej datoteki ima naslednjo strukturo:

     številka kategorija
     paket

... end

To je oznaka za identifikacijo številke kategorije, kategorije, seznama imen paketov v kategoriji, in oznaka »end«, ki označuje konec kategorije.

Vsakdo, brez izjeme, potrebuje vse programske pakete, navedene v razdelku Base v tej datoteki. Drugi razdelki so v splošnem lahko prilagojeni ali odstranjeni, da zadostijo posebnim potrebam. Na primer, obstajajo trije tipi omrežnih postaj (Networked Stations): »navadni«, upravljalski in klicni. Preiskava teh razdelkov pokaže, da je veliko programskih paketov navedenih v vseh treh kategorijah, a nekateri so lastni le eni izmed njih. Če ustvarjate klicno omrežno postajo (Dial-up Networked Station), lahko varno odstranite razdelka »Plain« in »Management« in vse programje, ki ga najdete le v teh dveh kategorijah. Podobno, če potrebujete le osnovno zmožnost vmreževanja za omrežne delovne postaje, lahko odstranite preostala razdelka in programje, lastno tema dvema razdelkoma. Prepričati se morate le, da imate vse programske pakete, navedene v tej kategoriji. Če imate lastne lokalne pakete (tiste, ki jih ne priskrbi Red Hat Software), jih raje dodajte v primerno obstoječo kategorijo, kot pa da ustvarjate novo.

Ker seznam paketov v vsaki kategoriji vsebuje le ime paketa (se pravi, ne celotnega imena datoteke ime_paketa-različica-gradnja.rpm), lahko nadomestite stare distribucijske pakete v imeniku /RedHat/RPMS z novimi popravki, ki jih Red Hat objavlja v imeniku updates na svojem strežniku za FTP:

ftp://ftp.redhat.com/pub/redhat/current/updates

ali na enem od zrcalnih strežnikov za distribucijo Red Hat. Namestitveni program je relativno neobčutljiv za različico. Edino opozorilo tukaj je, da je treba poskrbeti za pakete, od katerih je odvisen novopečeni paket. Ko se gradi paket RPM, poskuša sam RPM ugotoviti, kateri paketi morajo biti nameščeni, če naj ta paket deluje (razvijalec RPM ima lahko tudi neposredni nadzor nad tem – dodaja lahko odvisnosti, ki jih RPM običajno ne bi zaznal). Tukaj je potrebno malce poskušanja ali raziskovanja. Na primer, eden od načinov za ugotovitev odvisnosti od paketov (če imate uporabniški dostop do vašega strežnika za NFS na obstoječi škatli s sistemom Red Hat Linux) je, da se s telnet-om ali login-om povežete s strežnikom NFS (ali če priklopite CD-ROM in greste v imenik RedHat/RPMS) ter povprašate po odvisnosti paketa:

2.4. Red Hat Linux 63

[root@happy RPMS] rpm -q -p -R bash-1.14.7-1.i386.rpm

libc.so.5 libtermcap.so.2

Izbira »-q« postavi rpm v poizvedovalni način, izbira »-p« naroči rpm-ju, naj pregleduje nenameščeni paket, in izbira »-R« mu naroči, naj izpiše odvisnosti ciljne datoteke. V tem primeru vidimo, da sta potrebni knjižnici libc.so.5 in libtermcap.so.2. Ker sta libc in termcap del osnove nujno potrebnega programja (za bash), morate zagotoviti, da sta paketa libc in libtermcap (odvisna paketa) prisotna. Le tako boste lahko namestili paket bash (cilj). Takoj ko imate nameščen ves osnovni sistem, lahko po koncu namestitvenega programa zaženete novi sistem. Po potrebi lahko dodajate dodatne pakete na Red Hat Linux tudi, če namestitveni program poroča, da paketa ne more namestiti zaradi manjkajočih odvisnosti.

Tabela na strani 63 opisuje kategorije programja, ki jih najdete v imeniku /base/comps distribucije Red Hat v4.0:

Kategorija RPM Potreben?

Komentar

BASE Da

Naj ne bi prilagajali.

C Development Zelo priporočen Potrebuje minimalni sistem za prevaja-

nje jedra.

Development Libs Zelo priporočen Potrebuje minimalni sistem za prevaja-

nje jedra.

C++ Development Izbiren

Razvoj v C++.

Networked Workstation Priporočen; Nujen za drugo omrežno programje Ta paket morate namestiti, če ste na ethernetu ali pa imate klicni dostop. Tega ne prilagajajte.

Anonymous FTP/Gopher Server Izbiren Če bo vaša škatla Linux stregla datoteke po FTP ali Gopherju.

Web Server Izbiren Uporaben spletni strežnik za omrežne razvijalce, potreben, če strežete spletne strani.

Network Management Workstation Izbiren Vsebuje dodatna orodja za klicni dostop in za dostop po ethernetu.

Dialup Workstation Priporočen

Potreben, če imate klicni dostop.

Game Machine Izbiren

Igre. Moram reči več?

Multimedia Machine Izbiren

Če imate podprto strojno opremo.

X Window System Izbiren

Če želite poganjati X.

X Multimedia Support Izbiren

Če imate podprto strojno opremo.

TEX Document Formatting Izbiren Priporočena je namestitev celotnega paketa.

emacs Priporočen

Edino Pravo Urejevalno Orodje.

emacs with X support Priporočen

Podpora za X (potrebuje X).

MS-DOS and Windows Connectivity Izbiren

Huh?

Extra Documentation Nujen Strani priročnika bi morale biti vedno nameščene.

Tabela 2.4: Pomembni paketi za Red Hat Linux.

Uporaba particije  Priporočilo  Komentar velikosti

Izmenjalna (swap) 2× fizični RAM Če imate manj kot 16 MB RAM-a, je 16 MB izmenjalnega področja nujnost. Če je malo prostora in 16 MB RAM-a, je najmanjša priporočena velikost 1× fizični RAM.

Korenski sistem, brez X 100 – 200 MB Odvisno od zahtevanih orodij, kot so prevajal-

niki.

Korenski sistem, z X 250 – 350 MB Odvisno od zahtevanih orodij, kot so prevajal-

niki.

/home 5 – ∞ MB Odvisno od tega, ali je uporabnik en sam ali jih

je več, in od njihovih potreb.

/var 5 – ∞ MB Odvisno od hranitve novičarskih skupin, števila

uporabnikov itd.

/usr/local 25 – 200 MB Za uporabo programov, ki niso v formatu RPM ali ki jih morate ločiti od ostalega sistema Red Hat.

/usr  350+ MB

Tabela 2.5: Tipične diskovne potrebe za Red Hat Linux.

2.4.7 Priporočena minimalna namestitev

Težko je ugotoviti, koliko prostora bo potrebovala namestitev. Vendar bi moral vsakdo, ki namešča po FTP-ju, dobiti vsaj osnovni sistem Base in sistem za omrežno postajo Dialup Networked Station ter ju namestiti. Dodatno programje lahko dobite in dodate po potrebi. Seveda, če želite programirati v C-ju, morate dobiti ustrezne pakete in primerno urediti datoteko comps.

◇ Če med namestitvijo naletite na paket, ki potrebuje drugi paket, ki vam ni dostopen, ali naredite napako v vaši datoteki comps, lahko v splošnem končate namestitev in imate delujoč sistem, ki ga lahko zaganjate. Težavo lahko odpravite s poznejšim ročnim dodajanjem neuspešnega paketa in njegovih odvisnosti. Predvsem namestite celotni sistem Base in enega od paketov Networked Station, pa boste lahko pozneje dodajali to, kar potrebujete ali želite.

2.4.8 Koliko prostora zares potrebujete?

Tabela na strani 64 vam daje približne diskovne potrebe sistema Red Hat Linux in različnih podsistemov.

2.4.9 Namestitev

Do zdaj bi si že morali narediti opremo za namestitev z disket (angl. Installation Floppy Kit), pripraviti svoj trdi disk in imeti pripravljen namestitveni medij. Podrobnosti namestitve sledijo. Najprej začnete z zagonom vašega sistema in nastavitvijo namestitvenega programa za namestitev z vašega izbranega medija. Po tem se namestitev nadaljuje z enakimi koraki za vsakogar. Začeti jo morate z zagonom vašega računalnika z diskete, označene kot »Boot diskette«.

2.4.10 Pregled namestitvenih medijev

Ko se zagonska disketa požene, jedro poskuša zaznati vso strojno opremo, za katero ima zagonsko jedro vgrajene gonilnike. Ko se zagon konča, se prikaže sporočilo, ki vas vpraša, ali imate barvni zaslon (če ga imate, izberite »OK«). Nato se prikaže pozdravni zaslon distribucije Red Hat. Izberite »OK« za nadaljevanje. Naslednje vprašanje poizve, ali potrebujete podporo za PCMCIA. Odgovoriti morate z »yes«, če pa nameščate na prenosni računalnik, vstavite dodatno disketo, označeno s »Supplemental«, ko ste za to naprošeni. Ko je vključena podpora za PCMCIA (če je to potrebno), se vam predstavi zaslon, ki sprašuje po vrsti namestitvene metode, ki naj se uporabi. Sledite navodilom v naslednjih razdelkih za izbiro vaših metod.

Namestitev s CD-ROM-a Za namestitev s CD-ROM-a osvetlite napis »Local CD-ROM« iz seznama vrst namestitve. Potem kliknite »OK«. Vprašani boste, če imate SCSI, IDE/ATAPI ali lastniški CD-ROM. Splača se malo raziskati svojo strojno opremo: če imate CD-ROM 4X ali hitrejšega, ki je bil narejen pred kratkim in je bil v paketu z zvočno kartico Sound Blaster ali kakšno drugo, imate zelo verjetno tip pogona IDE/ATAPI. To je ena najbolj zmedenih stvari, ki vas čakajo.

Če izberete SCSI, morate vedeti, kakšno vrsto krmilnika SCSI imate in vam bo predstavljen spisek. Pomikajte se navzdol, dokler ne najdete svojega vmesnika SCSI. Ko ga izberete, boste vprašani, ali želite, da se samodejno preizkusi (AUTOPROBE) ali bi radi določili posebne izbire (SPECIFY OPTIONS). Večina ljudi bi morala tukaj izbrati AUTOPROBE, kar povzroči, da program pregleduje vaš vmesnik SCSI in omogoči podporo SCSI za vaš vmesnik, ko ga prepozna.

Ko je namestitveni program uspešno našel CD-ROM z distribucijo Red Hat, preberite naslednji razdelek.

Namestitev s trdega diska Za namestitev s trdega diska osvetlite to izbiro in izberite »OK«. Če še niste izbrali podpore PCMCIA, boste naprošeni, da vstavite disketo »Supplemental«.

Namestitev z NFS Za namestitev z omrežnega datotečnega sistema NFS osvetlite to izbiro in izberite »OK«. Izbrati morate mrežno kartico, ki je nameščena v ciljnem stroju, tako da lahko namestitveni program naloži ustrezen gonilnik. Osvetlite primerno kartico s seznama in izberite »OK«. Potem dovolite, da namestitveni program izvede samodejno iskanje (AUTOPROBE) vaše mrežne kartice.

◇ Če vaš stroj zmrzne, morate pritisniti Ctrl - Alt - Delete in ponovno zagnati sistem. To se večinoma zgodi, ker preizkušanje moti kartico, nezdružljivo z Ethernet. Če se to zgodi, poskusite ponovno in izberite SPECIFY OPTIONS. Potem podajte podatke o vaši kartici v naslednji obliki:

ether=IRQ,IO_PORT,eth0

To naroča preizkuševalni rutini, da naj išče omrežno kartico na mestu, označenem z vrednostmi IRQ in IO_PORT. Če je vaša omrežna kartica nastavljena na IRQ 11 in vhodnoizhodna vrata IO_PORT 0x300, določite:

ether=11,0x300,eth0

Ko je kartica uspešno prepoznana, vas program vpraša po podatkih za TCP/IP vašega stroja in strežniku za NFS z namestitvenimi paketi za Linux. Najprej boste vprašani za vpis podatkov ciljnega stroja: naslov za IP (angl. IP Address), omrežna maska (angl. Netmask), privzeti prehod (angl. Default Gateway) in osnovni imenski strežnik (angl. Primary Name Server). Na primer:

     IP Address:  192.168.181.21
     Netmask:  255.255.255.0

Default Gateway: 192.168.181.1 Primary Nameserver: 192.168.181.2

Ko izberete OK, ste povprašani za ime domene (angl. Domain name) in gostiteljsko ime (angl. Host name) ciljnega stroja. Na primer, če je ime vaše domene infomagic.com in ime gostitelja vador, vnesite:

     Domainname:  infomagic.com
     Host name:  vador.infomagic.com

Secondary nameserver IP: (Vstavite, če je potrebno.) Tertiary nameserver IP: (Vstavite, če je potrebno.)

Zadnji zaslon vas sprašuje o strežniku NFS in izvoženem imeniku, ki vsebuje distribucijo Red Hat. Na primer, če je vašemu strežniku za NFS ime redhat.infomagic.com, vnesite:

     NFS Server name:  redhat.infomagic.com
     Red Hat Directory: /pub/mirrors/linux/RedHat

Če ne poznate teh vrednosti, vprašajte svojega sistemskega upravitelja. Ko vnesete vse te vrednosti, izberite OK za nadaljevanje. Če namestitveni program poroča o napaki pri iskanju distribucije Red Hat, se prepričajte, da ste zgoraj vnesli pravilne vrednosti in da vam je vaš omrežni administrator dal izvozna dovoljenja za ciljni stroj.

Namestitev po FTP Namestitev po FTP je podobna zgoraj opisani namestitvi z NFS. Vprašani ste za vrsto omrežne kartice in podatke o TCP/IP za vaš stroj. Vendar boste vprašani tudi za ime strežnika za FTP (angl. FTP site name) in oddaljeni imenik, ki vsebuje distribucijo Red Hat (angl. Red Hat directory) na zrcalnem mestu za Red Hat, namesto da bi bili vprašani o strežniku z NFS. Opozorilo za namestitev po FTP: izberite najbližji in najmanj zaseden strežnik za FTP. Glejte dodatek B za seznam arhivnih strežnikov FTP za Linux.

◇ Če vaša strojna oprema ni prepoznana, boste morda morali drugače poskrbeti, da bo pravilno delovala. Morda boste želeli tudi preveriti na:

http://www.redhat.com/pub/redhat/updates/različica/images

da boste preverili, ali je Red Hat pripravil zagonske diskete za vašo strojno opremo.

2.4.11 Sprehod skozi ostanek namestitve

1. Program vas nato vpraša, ali nameščate nov sistem ali nadgrajujete Red Hat Linux 2.0 ali poznejši. Če nadgrajujete, vam ne bo ponujena možnost razdelitve vašega trdega diska ali nastavitve česarkoli v vašem sistemu, razen LILO. Izberite namestitev (INSTALL) ali nadgradnjo (UPGRADE) za nadaljevanje.

2. Če nadgrajujete, boste vprašani o korenski particiji vašega obstoječega sistema Red Hat. Osvetlite ustrezno particijo in pritisnite OK. Če nameščate prvič, morate razdeliti svoj trdi disk z zgoraj določenim prostim prostorom.

3. Ko ustvarite nujno potrebni particiji Linux Native (domorodna) in Linux Swap (izmenjalna), morate inicializirati in omogočiti delovanje izmenjalne particije. Vprašani boste, na katero(e) particijo(e) nameravate namestiti Linux. Če nadgrajujete, izberite korensko particijo. Osvetlite torej korensko particijo (angl. root partition). Če ne nadgrajujete, se vam potem predstavi tabela ostalih dostopnih particij. Izberite ustrezne particije in jih uredite (EDIT) tako, da se bo videlo, za katere imenike bodo uporabljane. Če imate več kot eno particijo za namestitev Linuxa, je zdaj čas, da označite tudi to.

4. Potem bo naveden seznam programskih kategorij za nameščanje, ki mu bo sledila možnost prilagoditve posameznih programskih paketov ali celotnih kategorij za nameščanje. Če prej še nikoli niste namestili distribucije Red Hat ali drugih distribucij Linuxa, preprosto izberite kategorije programja za namestitev in pustite namestitvenemu programu, da namesti privzete pakete v vseh izbranih kategorijah. Če potrebujete paket, ki ga sprva niste namestili, ga lahko še vedno namestite pozneje. Medtem ko se programska oprema namešča, boste videli kazalnik napredovanja in lahko si privoščite skodelico ali dve kave. Namestitev lahko traja od trideset minut do ure in več, odvisno od izbire programja in strojne sestave.

5. Ko je namestitev programja končana, boste naprošeni za nastavitev vaše miške. Pregled protokolov in naprav za miške se začenja na strani 33.

6. Na vrsti je sestava grafičnega okolja X Window System. Priporočeno je, da s tem počakate, dokler se vaš sistem prvič ne zažene. Če se kaj zalomi pri nastavitvi X, boste morda morali ponoviti nastavitveni postopek od začetka, če si nastavitveni program ne bo mogel opomoči.

7. Če nimate etherneta, v tem trenutku še ne nastavljajte vašega omrežja. Če imate omrežno kartico in je prej še niste nastavili, naj bi jo zdaj. Nastavitve za omrežje na klic naj bi se opravile po končani namestitvi.

8. Potem morate nastaviti sistemsko uro. UTC je dobra izbira, če ste na omrežju in želite, da se pravilno obravnava polletno prestavljanje časa. Lokalni čas zadošča, če je vaš računalnik samostojen stroj.

9. Če imate neameriško tipkovnico, morate določiti nastavitev zanjo. Dostopna je tudi slovenska tipkovnica, vendar ta nastavitev velja le v konzoli, pod okni X pa morate tipkovnico dodatno nastaviti. Podrobnosti izveste v spisu Slovenian HOWTO, kazalec nanj najdete v dodatku A.

10. Vprašani ste za sistemsko geslo super-uporabnika root. Ne pozabite ga! Iskanje izgubljenega gesla ni preprosta zadeva. Geslo boste potrebovali za dostop do sistema, ko boste prvič zagnali računalnik.

11. Končno, nastavili boste lahko tudi nalagalnik operacijskih sistemov, LILO.

◇ Če niste namestili korenske particije, ki se začenja in konča med cilindri 0–1023, ne nameščajte nalagalnika LILO. Če vam LILO ne omogoča pravilnega zagona sistema, ko ste ga prvič zagnali, uporabite rešilno zagonsko disketo za MS-DOS ali Windows 95 in v dosovskem pozorniku A:\> vnesite FDISK /MBR. To bo vašemu sistemu omogočilo zagon v obstoječi sistem MS-DOS ali Windows 95, kot pred namestitvijo nalagalnika LILO. Potem lahko uporabite zagonsko disketo Red Hata, označeno z »Boot«, z naslednjimi parametri pozorniku boot: in zaženete vaš sistem s trdega diska:

     boot: rescue root=/dev/xxxx ro load_ramdisk=0

Pri tem je xxxx korenska particija.

Po končanem namestitvenem postopku ste pripravljeni, da zaženete in uporabljate Linux.

2.4.12 Po namestitvi

Ko ste namestili Linux in prvič zagnali vaš sistem, je tu nekaj nasvetov za uporabo vašega sistema.

Razumite pozornik nalagalnika LILO Ko prižgete ali zaženete sistem, lahko vidite pozornik LILO, ki je (upajmo) nastavljen za 30-sekundni premor (ali nekaj takega), preden zažene sistem. Ko se LILO prikaže na zaslonu, se bo po preteku premora zagnal privzeti sistem, če niste storili ničesar. Vendar, iz nalagalnika LILO lahko nadzorujete številne načine nalaganja Linuxa ali naročite nalagalniku LILO, da zažene drug operacijski sistem. Če želite zaobiti privzeto obnašanje tega nalagalnika, bo pritisk na Shift ob prikazu »LILO« priklical pozornik »boot:«. S pritiskom na Tab v tem pozorniku se bo izpisal seznam dostopnih operacijskih sistemov:

LILO boot: Tab

dos linux boot:

To nam pove, da je »dos« privzeti operacijski sistem, ki se zažene, če ne vpišete nič drugega; za zagon Linuxa vpišite »linux«. Vendar LILO dovoljuje tudi podajanje parametrov jedru sistema Linux, ki preglasijo privzeto obnašanje jedra. Na primer, morda ste eksperimentirali z zagonskimi nastavitvenimi datotekami in naredili nekaj, kar preprečuje sistemu, da bi se pravilno zagnal. Če je tako, morda želite zagnati sistem le do točke, ko prebira nastavitvene datoteke in nič dlje. Ključ za to je »single«:

     boot: linux single

zažene sistem v enouporabniškem načinu, da lahko opravite popravni izpit. To je uporabno tudi, če iz kakršnegakoli razloga vaš sistem ne pride do pozornika login:.

Prva prijava Zdaj ko ste prvič soočeni s pozornikom login:, se morda sprašujete, kako neki se vstopi v sistem. Na tej točki je na novonameščenem sistemu le en račun za prijavo – upravljalni račun, »root«. Ta račun se uporablja za upravljanje vašega sistema in početje stvari, kot je nastavitev sistema, dodajanje in brisanje uporabnikov, programja in tako naprej. Za prijavo v pozornik login: vnesite »root« in pritisnite Enter . Povprašani ste po geslu, ki ste ga vnesli med namestitvijo. Vnesite to geslo v pozornik password:. Če ste uspešno končali postopek prijave, se bo prikazal sistemski pozornik:

[root@localhost] #

Sistemski pozornik vam pove dve reči: prijavljeni ste kot root, in v tem primeru se vaš stroj imenuje localhost. Če ste svoj stroj poimenovali med namestitvenim procesom, se bo namesto localhost prikazalo vaše gostiteljsko ime.

2.5 Caldera OpenLinux

Caldera|seedistribucija Ta razdelek o distribuciji Caldera OpenLinux je napisal Evan Leibovitch. Ta razdelek namerava biti dodatek vodnikom Getting Started Guides, ki jih Caldera

prodaja skupaj z vsemi svojimi izdelki za Linux. V tem razdelku so sklici na vodnik Getting Started Guide for Caldera Open Linux Base označeni kot sklici na »Vodnik«.

2.5.1 Pridobitev distribucije Caldera OpenLinux

Za razliko od večine drugih distribucij Linuxa, Caldera OpenLinux (COL) ni dostopna za jemanje z Interneta niti se je ne sme prosto razširjati ali posojati. Tako je zaradi komercialnih paketov, ki so del COL. Medtem ko je večina komponent COL pod licenco GNU Public License, pa to ne velja za komercialne komponente, kot sta Looking Glass in Metro-X. V seznamu paketov, vključenih na medij s COL, ki se začne na strani 196 Vodnika, so komercialni paketi označeni z zvezdico.

COL je dostopna neposredno od podjetja Caldera ali po omrežju partnerjev, ki so se zavezali podpirati izdelke podjetja Caldera. Ti partnerji lahko navadno ponudijo uporabnikom Caldere profesionalno pomoč, nastavitev sistema in vaje. Za trenutni seznam partnerjev obiščite spletno stran Caldere.

2.5.2 Priprave na namestitev distribucije Caldera OpenLinux

Caldera podpira enako strojno opremo kot katerakoli druga izdaja Linuxa na jedrih 2.0. Dodatek A v Vodniku našteva večino podprtih vmesnikov SCSI in nastavitvene parametre, potrebne za veliko strojnih kombinacij.

Vodnik za Caldero vključuje delovni list, ki vam pomaga, da imate pri roki vse podrobnosti vašega sistema, ki jih boste potrebovali za namestitev. Pred začetkom namestitve je ta list zelo priporočljivo izpolniti; čeprav nekateri parametri, kot so omrežni, niso potrebni za samo namestitev, je navadno lažje narediti vse naenkrat, kot pa da se morate vračati. Včasih se temu ne da izogniti, a v času namestitve naredite toliko, kot je le mogoče.

2.5.3 Ustvarjanje zagonskih in modulskih disket

Distribuciji COL nista priloženi disketi, potrebni za namestitev. Vpleteni sta dve disketi; ena je za zaganjanje, druga pa je »modulska« disketa, ki vsebuje veliko strojnih gonilnikov.

Čeprav Vodnik priporoča, da ustvarite disketi s kopiranjem iz CD-ROM-a, je navadno bolje nabaviti novejši različici disket s spletne strani Caldere. Slike disket na starejših CD-ROM-ih imajo napake, ki povzročajo težave, posebej pri namestitvah z uporabo diskov SCSI in velikih particij.

Novejše različice slik obeh disket vzemite s strežnika FTP Caldere. V imeniku pub/col-1.0/updates/Helsinki boste našli kopico oštevilčenih imenikov. Preverite jih v padajočem vrstnem redu – tako boste dobili najnovejši različici.

Če ima eden od teh imenikov podimenik, imenovan bootdisk, je vsebina tega imenika to, kar iščete.

Poiskati bi morali dve datoteki:

install-2.0.25-XXX.img modules-2.0.25-XXX.img

Namesto XXX bo napisana številka različice slik disket. V času tega pisanja sta trenutni sliki 034 in jih najdete v imeniku 001.

Ko imate ti dve sliki, ju prenesite na dve disketi, kot je opisano za splošno namestitev na strani 40, z uporabo dosovskega programa RAWRITE.EXE, priloženega CD-ROM-u s COL ali z dd na sistemu Linux.

CD-ROM Caldere lahko tudi zaženete, če to dovoljuje vaš sistemski BIOS, a po možnosti uporabite raje zgoraj omenjeni disketi. Novejši sta in vsebovali bosta popravke hroščev, ki jih na različici na CD-ju še ne bo.

2.5.4 Priprava trdih diskov

Ta postopek ni nič drugačen kot pri drugih distribucijah Linuxa. Uporabiti morate fdisk na vašem zagonskem trdem disku, da naredite vsaj dve particiji Linuxa, eno za izmenjalno področje in eno za korenski datotečni sistem. Če nameravate pripraviti vaš sistem, da bo lahko zaganjal dva operacijska sistema (COL in še enega, kot so Microsoft Windows, MS-DOS ali OS/2), je navadno bolje, da namestite COL nazadnje. Program fdisk za Linux prepoznava »tuje« tipe OS bolje kot orodja za razdelitev diska večine drugih operacijskih sistemov.

Zaženite sistem z zagonske (ali morda modulske) diskete in poženite fdisk. COL morate povedati, kakšne tipe diskov in diskovnih krmilnikov imate. Če Linux ne bo prepoznal vašega trdega diska, ne pridete niti tako daleč, da bi vstopili v fdisk!

Zato sledite zagonskim navodilom v Vodniku od koraka 2 na straneh 33–36. Tokrat vam še ni treba nastavljati ali zaznavati CD-ROM-ov ali mrežnih kartic; vse, kar je pomembno na tej točki, je, da Linux »vidi« zagonski trdi disk, da ga bo lahko razdelil s pripomočkom fdisk. Na strani 28 v Vodniku je kratek opis fdisk-a za Linux.

Ne pozabite, da morate z orodjem fdisk vzpostaviti korenski datotečni sistem kot domorodni Linux Native (tip 83) in vaš izmenjalni prostor Linux Swap (tip 82) kot novi particiji. Kratka razlaga, koliko izmenjalnega prostora morate dodeliti, je ponujena na strani 10 v Vodniku.

◇ Takoj ko dodelite prostor vsem particijam in trajno zapišete particijsko tabelo na disk, morate ponovno zagnati računalnik.

2.6 Slackware

Ta razdelek o distribuciji Linux Slackware je napisal Sean Dreilinger.

2.6.1 Slackware ni za vas (ali pa tudi je)

Dobrodošli v distribucijo Linuxa Slackware! Ta razdelek pomaga novim uporabnikom ali upraviteljem Linuxa oceniti Slackware, zasnovati sistem Slackware in namestiti distribucijo Slackware Linux.

Potreben je tehtni premislek, da izberete Slackware kot vrsto Linuxa, ki jo boste uporabljali. Morda se vam zdi to trenutno trivialna odločitev, a škatle z Linuxom prevzemajo več in več odgovornosti v organiziranih računalniških okoljih. Veliko poskusov z Linuxom se je v prvem letu razvilo v kritične stroje, ki strežejo veliko več uporabnikom in služijo za veliko več namenov, kot je bilo sprva pričakovano. Slackware je ena najbolj uporabljanih distribucij Linuxa. Ko gre za odločitev za najnovejšo, najpreprostejšo ali najbolj skrbno zasnovano distribucijo Linuxa, Slackware morda ne bo »nič od naštetega«. Nekaj ozadja iz življenja in časov distribucije Slackware osvetli stvari.

2.6.2 Kratka zgodovina

Leta 1993 je podjetje Soft Landing System ustvarilo eno prvih organiziranih distribucij Linuxa. Čeprav je bil to velik korak, je imela distribucija SLS mnogo pomanjkljivosti (in ni ravno delovala, za začetnike). Slackware, božji dar Patricka Volkerdinga, je reševala številne od teh problemov. Zrcalila se je po FTP-ju in bila tiskana na CD-ROM-e po vsem svetu, tako da je kmalu postala najbolj uporabljana vrsta Linuxa. Za trenutek je bila Slackware edina »rešitev« Linuxa z vsemi lastnostmi. Drugi vzdrževalci distribucij Linuxa, komercialni in neprofitni, so sčasoma razvili distribucije, ki so postale vredne vašega zanimanja.

Do januarja 1994 je distribucija Slackware doživela tako široko uporabo in postala tako razvpita, kot je običajno le za rokovske zvezde in kultne vodje. Po Usenetu so se razširile govorice, da je celoten projekt Slackware delo čarovnic in častilcev hudiča!

»Linux, prosti OS … razen tvoje DUŠE! MUAHAHAHAHA!«

     Pošilja:  cajho@uno.edu
     Datum:     7 Jan 1994 15:48:07 GMT

Šale z namigovanji na RFC 666, demonični demoni (strežniki) in špekulacije, da je Pat Volkerding pravzaprav L. Ron Hubbard v preobleki, so razsajale v nitih sporočil, ki so sledila. Celotni zabavni incident je verjetno pomagal distribuciji Slackware, da je pridobila nekaj tržnega deleža: TO MI JE VŠEČ!!

Brkljal sem tukaj, da bi ugotovil, katero različico Linuxa naj namestim, a po vsem tem se mi zdi, da nimam druge izbire, kot da namestim Slackware.

     Pošilja:  widsith@phantom.com (David Devejian)
     Datum:     10 Jan 1994 04:57:41 GMT

Pustimo ob strani vso folkloro in zafrkavanje. Slackware je pametna in zmogljiva izbira za vaše podvige v Linuxu, če ste amater, študent, heker ali bodoči sistemski upravitelj.

2.6.3 Zakaj potemtakem?

Če ste sistemski upravitelj, ste se morda že srečali z enim ali več ključnih strežnikov, na katerih teče Slackware. Razen če imate obilo časa za eksperimentiranje, je izbira »najbolj preizkušane in pravilne« distribucije najlažji način. Če nameravate prejemati pomoč od prijateljev in kolegov, ki so pismeni v Unixu, se raje prepričajte, da poganjajo nekaj združljivega – možno je, da poganjajo Slackware. Pomanjkljivosti te distribucije so splošno znane, najpogosteje jih odkrijejo, dokumentirajo in popravijo, če je to mogoče. Sestavite lahko škatlo z distribucijo Slackware, zamašite znane varnostne luknje in namestite nekaj dodatnih orodij iz drugih distribucij Linuxa ter ustvarite izvrsten strežnik Unix ali namizno delovno postajo, vse skupaj v približno enem popoldnevu.

Poglejte tudi v vodnik Buyer’s Guide, ki ga objavlja Linux Journal ter daje podrobne primerjave in ocene vsake od večjih distribucij. Za premočrten seznam vrst Linuxa poglejte v spis Linux Distribution HOWTO (glejte dodatek A).

2.6.4 Nadgradnja? Dvakrat premislite!

◇ Sporočilo Patricka Volkerdinga z dne 24. avgusta 1995:

Poskus nadgradnje distribucije Slackware s formata a.out na ELF bo nedvomno povzročal vse vrste težav. Ne počnite tega.

Stvar, ki je pri Slackware ne slišimo pogosto, je beseda na »N«. Nastavitveni program za Slackware je zasnovan za namestitev svežega operacijskega sistema na prazne trde diske ali vsaj prazne particije na njih. Namestitev čez prejšnjo namestitev Slackware lahko pobriše vaše posebne aplikacije in povzroča združljivostne težave med nadgrajenimi aplikacijami in starejšimi datotekami na istem sistemu. Ko je bila distribucija Slackware prvič sestavljena, je bil vsakdo novopečeni uporabnik Linuxa in sistem je bil vselej preizkusen – ponovna namestitev celotnega operacijskega sistema in aplikacij je bila norma razvojnega sistema. Danes veliko ustanov in podjetij poganja kritične aplikacije na sistemih Slackware Linux. V takšnih okoljih je potrebno načrtovati celo preprost ponoven zagon računalnika, ugasnitev sistema in prepis vseh uporabniških datotek ali posebnih aplikacij pa je popolnoma nesprejemljiva.

Nadgradnja sistema Slackware presega okvire tega poglavja, a je tudi mogoča, če ste izkušeni upravitelj Unixa in ste upoštevali ukrepe za ohranitev lokalnih sprememb in uporabniških datotek. Obstaja vir na Internetu, ki trdi, da lahko analizira vašo distribucijo in je nadgradi po Internetu. Morda boste želeli pogledati ta URL, če se soočate s problemom nadgradnje:

ftp://ftp.wsc.com/pub/freeware/linux/update.linux/

Ali pa berite, objokujte in se učite iz ekspertize o nadgradnjah Grega Louisa v njegovem spisu mini HOWTO: Upgrading Your Linux Distribution, dostopnega z mesta, kjer se zrcalijo publikacije LDP:

http://metalab.unc.edu/LDP/

2.6.5 Izbira namestitvene metode

Slackware lahko namestite z različnih medijev in omrežnih virov, da zadostite svojim potrebam in proračunu. Za vsako namestitveno metodo potrebujete vsaj tri diskete.

CD-ROM Namestitev s CD-ROM-a je hitra, priljubljena in udobna. Čeprav se mora nekdo žrtvovati in plačati za začetni nakup CD-ROM-a, je posojanje CD-jev spodbujano. Ker sta Linux in distribucija Slackware zaščitena z GPL, lahko naredite toliko izvodov, kot želite. Namestitev s CD-ROM-a je tudi malce lepša praksa zaradi netikete (pravil obnašanja na omrežju), saj ne uporabljate pasovne širine za celodnevne prenose po FTP. Nenazadnje, morda boste hvaležni za dodatne pripomočke in dokumentacijo, ki spremlja CD-ROM, posebej če boste podlegli namestitveni mrzlici ali želeli dodajati sestavne dele tudi v prihodnje.

Zabava! Če je računalništvo vaš konjiček (ali če si želite ogledati nekaj ducatov namestitev distribucije Slackware, preden to opravite v službi), poglejte, če obstaja kje blizu uporabniška skupina Linuxa (angl. Linux User Group, LUG), ki prireja namestitvene zabave. Predstavljajte si polno sobo darežljivih in znanja polnih hekerjev, ki se družijo in si posojajo CD-ROM-e ter se posvetujejo z drugimi navdušenci.

FTP Ko enkrat prenesete Slackware z najbližjega zrcalnega strežnika za FTP, morate še vedno prepisati nabore disket na namestitveni medij, kot je particija trdega diska, ali jih pridno prekopirati na kakšnih 50 disket.

NFS V omrežnem okolju je mogoče namestiti Slackware na deljeni datotečni sistem in omogočiti vsem na lokalni mreži, da priklopijo to deljeno lokacijo in namestijo Slackware. Če imate tehnične izkušnje ali sistemskega upravitelja, ki pozna Linux, je to odlična pot. Prvotna distribucija Slackware se lahko doda na omrežje s CD-ROM-a, po FTP-ju, z namestitvenih disket, s traku, ali celo z oddaljenega strežnika za NFS po Internetu. Za podrobnosti o oddaljenih delitvah glejte naslednje URL-je:

http://sunsite.doc.ic.ac.uk/sunsite/access/nfs.html

ftp://ftp.cdrom.com/pub/linux/slackware/MIRRORS.TXT http://www.cs.us.es/archive/nfs.html

Diskete Je časovno potratno, a deluje – ustvarite lahko kup disket, ki so potrebne za namestitev Slackware in jih potem eno za drugo vstavljate v disketnik, ko ste naprošeni. Nabori disket (angl. disk sets) distribucije Slackware so pravzaprav zasnovani in urejeni tako, da gredo na diskete. Če imate na voljo ogromen kup recikliranih disket velike gostote, je to morda najbolj ekonomičen način.

Trdi disk Tako se dela, če ste prenesli distribucijo Slackware po FTP – ustvariti boste morali le zagonsko (boot), korensko (root) in rešilno disketo (rescue). Imeti morate dodatni disk ali diskovno particijo s prostim prostorom, da boste lahko odložili datoteke za Slackware med namestitvijo (pozneje jih lahko pobrišete). Namestitev s trdega diska je tudi ovinek, če ste kupili CD-ROM, a vaš pogon za CD-ROM ni podprt v nobenem od jeder Linuxa, ki so na CD-ju s Slackware. Za prenos namestitvenih datotek na prosti trdi disk lahko uporabite vaš trenutni operacijski sistem, potem poženete namestitev distribucije Slackware.

Trak V času tega pisanja še vedno poskusna možnost. Trak ponuja velik kompromis med hitrostjo in učinkovitostjo, ko nameščate Slackware – o njem velja premisliti, če lahko prijatelj z združljivo tračno enoto podvoji CD ali arhiv FTP. Preberite najnovejše podrobnosti iz razdelka o traku (angl. tape) v datoteki INSTALL.TXT, ki je del vaše distribucije Slackware.

2.6.6 Zagonske diskete: vedno dobra stvar

Tudi če ste obdarjeni z direktno povezavo T-3 v Internet, ki vam omogoča nabavo nove distribucije Slackware z omrežja, boste ravnali razumno, če boste ustvarili dve disketi za sestavo Slackware (zagonsko in korensko, angl. boot in root), preden nadaljujete. V primeru nezgode (izpada elektrike, prečkanja mačjih prijateljev čez vašo tipkovnico ali celo človeške napake) bosta ti dve mali disketi morda lahko oživili vaš sistem ali vsaj rešili vaše osebne datoteke.

2.6.7 Delovni list za sestavo Slackware-a

Ko so vse datoteke skopirane, lahko Slackware nadaljuje in opravi večino sistemske in omrežne sestave, če ste na to pripravljeni. Za pomoč pri načrtovanju vaših odločitev je ta razdelek sestavljen kot delovni list, dobljen iz tekstovnega programa za sestavo Slackware. Ta delovni list lahko uporabljate za vnaprejšnji zapis odgovorov (dokler vaš računalnik še melje), tako da boste opremljeni z nujnimi podrobnostmi – particijami, naslovi za IP, IRQ-ji modema in miške, imenom gostitelja in domen in drugimi podatki, ki jih boste morali vnesti med sestavo. Vprašanja so v angleščini, upajmo, da vam ne bodo povzročala prevelikih preglavic.

1. Tipkovnica (angl. Keyboard): Slackware-ov setup bo hotel vedeti, ali želite preslikati vašo tipkovnico v kaj drugega, kot je standardna ameriška tipkovnica s 101 tipko?

da ali ne

2. Sestava izmenjalnih particij (angl. Swap Configuration): Ali imate eno ali več particij, pripravljenih kot tip 82 (Linux Swap)?

da ali ne

Ali naj setup uporablja mkswap na vaših izmenjalnih particijah? Najverjetneje »da«, razen če imate manj kot 4 MB RAM-a in ste to že storili, da bi setup deloval bolje.

da ali ne

3. Priprava glavne particije Linuxa (angl. Prepare Main Linux Partition): setup bo naštel vse particije, označene kot tip 83 (domorodne za Linux), in vprašal, katero naj uporablja za korensko particijo datotečnega sistema za Linux (/). Uporabljajte obliko, kot je /dev/hda3 ali kakršno je že ime vaše naprave.

ime particije

◇ Zadnja priložnost za umik! Ko uporabljate izbiro namestitve iz nič, morate nameščati na prazno particijo. Če je še niste formatirali ročno, jo morate formatirati, ko se vam to izpiše. Vnesite »I« za namestitev od začetka ali »a« za dodajanje programja na vaš obstoječi sistem.

namest[i]tev ali dod[a]janje 2.6. Slackware 75

(Re)formatiranje glavne particije Linuxa. Ali bi radi formatirali to particijo?

[y]–da, [n]e, ali [c]–preveri tudi sektorje

ext2fs privzame en inode na 4096 bajtov diskovnega prostora. Če boste imeli na vašem pogonu več majhnih datotek, boste morda potrebovali več inodov (za vsak vnos datoteke se uporablja po eden). Gostoto inodov lahko spremenite na en inode na 2048 bajtov ali celo na 1024 bajtov. Vnesite 2048 ali 1024 ali le pritisnite Enter za sprejetje privzete vrednosti 4096.

4096 (privzeto). 2048, ali 1024

4. Priprava dodatnih particij Linuxa (angl. Prepare Additional Linux Partitions): Priklopite lahko nekatere druge particije za /usr ali /usr/X11 ali kakorkoli že (/tmp – karkoli). Bi radi uporabljali tudi druge particije Linuxa za priklop nekaterih vaših imenikov?

[y]–da ali [n]e

To so vaše particije Linuxa (prikaže se seznam particij). Te particije se že uporabljajo (prikaže se drug seznam particij). Vnesite particijo, ki bi jo radi uporabljali, ali pritisnite q za prenehanje dodajanja novih particij. Uporabljajte obliko, kot je: /dev/hda3 ali kakorkoli je že ime napravi.

Ime particije ali [q]–konec

Bi radi formatirali te particije?

[y]–da, [n]–ne, ali [c]–preveri tudi sektorje

Zdaj mora biti nova particija priklopljena nekam v vaše novo drevo imenikov. Na primer, če jo želite priklopiti pod /usr/X11R6, odgovorite: /usr/X11R6. Bi radi priklopili to novo particijo?

Točka priklopa

Bi radi priklopili kakšne dodatne particije?

[y]–da ali [n]–ne

5. Nastavitev particij za DOS in OS/2 (angl. DOS and OS/2 Partition Setup): Naslednje dosovske particije FAT ali particije HPFS sistema OS/2 so bile najdene: (prikazan seznam particij). Bi radi omogočili vidnost nekaterih od teh particij v Linuxu?

[y]–da ali [n]–ne

Prosim, vnesite particijo, do katere bi radi dostopali v Linuxu, ali pritisnite q za konec dodajanja novih particij. Uporabite format, kot je: /dev/hda3, ali kakorkoli je vaši napravi že ime.

Ime particije ali [q]–konec

Ta nova particija mora biti zdaj priklopljena nekam v drevo imenikov. Prosim, vpišite imenik, pod katerim bi jo radi vstavili. Na primer, morda boste želeli odgovoriti /dosc, /dosd ali kaj podobnega. Kam naj se priklopi ta particija?

Točka priklopa

6. Izbor izvornega medija (angl. Source Media Selection):

1 Namestitev s particije trdega diska (angl. hard drive). 2 Namestitev z disket (angl. floppy disks). 3 Namestitev preko NFS. 4 Namestitev iz že priklopljenega imenika (angl. from a pre-mounted directory). 5 Namestitev s CD-ROM-a.

1, 2, 3, 4, ali 5

7. Namestitev s particije trdega diska (angl. Install from a hard drive partition): Za namestitev neposredno s trdega diska morate imeti particijo z imenikom, ki vsebuje distribucijo Slackware tako, da je vsebina vsake diskete razen zagonske vsebovana v ustreznem podimeniku. Na primer, če je distribucija v /stuff/slack, morate imeti imenike poimenovane /stuff/slack/a1, /stuff/slack/a2 in tako naprej, vsak podimenik naj vsebuje datoteke, ki bi bile na tej disketi. Nameščate lahko s particij DOS, HPFS ali domorodnih za Linux. Vnesite particijo, kjer leži izvorna distribucija Slackware ali p za seznam particij.

Ime particije ali seznam [p]articij

V katerem imeniku (angl. directory) na tej particiji najdemo izvorno distribucijo Slackware? V zgornjem primeru bi to bil imenik /stuff/slack. V katerem imeniku je torej izvor Slackware-a?

Ime imenika

Na kakšnem tipu datotečnega sistema je vaša particija z izvornimi paketi distribucije Slackware?

1 FAT (MS-DOS, DR-DOS, OS/2) 2 Linux Second Extended File System (domorodni datotečni sistem Linuxa) 3 Linux Xiafs 4 Linux MINIX 5 OS/2 HPFS

1, 2, 3, 4, ali 5 2.6. Slackware 77

8. Namestitev iz že priklopljenega imenika (angl. Install from a pre-mounted directory): Prav, nameščali bomo iz imenika, ki je trenutno priklopljen. Lahko je priklopljen običajno ali preko NFS. Določiti morate ime imenika, ki vsebuje podimenike za vsako izvorno disketo. Iz katerega imenika bi radi nameščali?

Ime imenika

9. Namestitev z disket (angl. Install from floppy disks): Osnovni nabor disket za Slackware (A) lahko namestite z disketnega medija velikosti 1,2 MB ali 1,44 MB. Večina ostalih disket ne bo šla na 1,2-megabajtne diskete, a jih lahko naložite na svoj trdi disk in namestite od tam. S katerega disketnika (angl. floppy drive) bi radi nameščali (1/2/3/4)? 1 /dev/fd0u1440 (pogon A:, 1,44 MB) 2 /dev/fd1u1440 (pogon B:, 1,44 MB) 3 /dev/fd0h1200 (pogon A:, 1,2 MB) 4 /dev/fd1h1200 (pogon B:, 1,2 MB)

1, 2, 3, ali 4

10. Namestitev prek omrežnega datotečnega sistema (angl. Install via NFS): Zmanjkuje vam datotečnega sistema na trdem disku. Ali ta stroj trenutno teče na omrežju, s katerega nameravate nameščati? Če da, ne bomo skušali ponovno nastaviti vaše omrežne kartice. Ali ste trenutno na delujočem omrežju?

[y]–da ali [n]e

Vstaviti boste morali naslov za IP, ki ga želite dodeliti temu stroju. Primer: 111.112.113.114. Kakšen je vaš naslov za IP?

Naslov za IP

Zdaj moramo vedeti vašo omrežno masko (angl. netmask). Tipično bo to 255.255.255.0. Kakšna je vaša omrežna maska?

Naslov za IP

Ali imate prehod med omrežji (angl. gateway)?

[y]–da ali [n]–ne

Kakšen je naslov prehoda?

Naslov za IP Dobro! Na lokalnem koncu smo vse pripravili, a zdaj moramo vedeti, kje naj najdemo programske pakete za namestitev. Najprej potrebujemo naslov za IP stroja, kjer so shranjeni izvorni paketi za Slackware. Ker že delujete v omrežju, bi morali biti sposobni uporabiti tudi omrežno ime namesto omrežnega naslova za IP, če tako želite. Kakšen je naslov za IP vašega strežnika za NFS?

Naslov za IP

Na strežniku za NFS mora biti imenik z izvornimi paketi za Slackware z vsebino vsake diskete v njegovih podimenikih. setup mora vedeti ime imenika na vašem strežniku, ki vsebuje podimenike z vsebino disket. Na primer, če bi vsebino vaše diskete A3 našli v imeniku /slackware/a3, bi zdaj odgovorili /slackware. Kateri je izvorni imenik distribucije Slackware?

Ime imenika

11. Namestitev s CD-ROM-a (angl. Install from CD-ROM): Kakšen tip pogona za CD-ROM imate?

1 Deluje z večino CD-pogonov ATAPI/IDE (/dev/hd*) 2 SCSI (/dev/scd0 ali /dev/scd1) 3 Sony CDU31A/CDU33A (/dev/sonycd) 4 Sony 531/535 (/dev/cdu535) 5 Mitsumi, lastniški vmesnik – ni IDE (/dev/mcd) 6 Novejši Mitsumi, ki ni IDE (/dev/mcdx0) 7 Sound Blaster Pro/Panasonic (/dev/sbpcd) 8 Aztech/Orchid/Okano/Wearnes (/dev/aztcd) 9 Phillips in nekateri ProAudioSpectrum16 (/dev/cm206cd) 10 Goldstar R420 (/dev/gscd) 11 Optics Storage 8000 (/dev/optcd) 12 Sanyo CDR-H94 + zvočna kartica ISP16 (/dev/sjcd) 13 Poskusi samodejno zaznati pogon za CD-ROM

1, 2, 3, 4, 5, 6, 7 8, 9, 10, 11, 12, ali 13

CD-ROM IDE: Vnesite ime naprave, ki predstavlja vaš pogon za CD-ROM tipa IDE. To bo verjetno eden od teh (po vrstnem redu od najbolj do najmanj verjetnega): /dev/hdb /dev/hdc /dev/hdd /dev/hde /dev/hdf /dev/hdg /dev/hdh /dev/hda

Ime naprave

CD-ROM SCSI: Kateri pogon CD-ROM tipa SCSI uporabljate? Če niste prepričani, izberite /dev/scd0.

1. /dev/scd0 2. /dev/scd1

Namestitvena metoda (angl. installation method): S CD-ROM-om distribucije Slackware lahko poganjate večino sistema s CD-ja, če nimate veliko diskovnega prostora ali če želite le preizkusiti Linux, ne da bi se zamujali s popolno namestitvijo. Kateri tip namestitve želite (»slakware« ali »slaktest«)? slakware Običajna namestitev na trdi disk slaktest Povezava /usr→/cdrom/live/usr za tek večine s CD-ROM-a

slakware ali slaktest

12. Izbira naborov (angl. Series Selection): Določite pakete, ki bi jih radi namestili. V spodnjem pozorniku lahko določite poljubno kombinacijo naborov disket. Na primer, za namestitev osnovnega sistema, osnovnega sistema X Window in kompleta orodij za Tcl bi lahko vnesli: a x tcl. Katere nabore disket bi radi namestili? A Osnovni sistem Linux AP Različne aplikacije, ki ne potrebujejo X D Razvoj programov (C, C++, izvorna koda jedra, Lisp, Perl itd.) E GNU Emacs F Seznami pogosto zastavljenih vprašanj (angl. Frequently Asked Questions, FAQ) K Izvorna koda jedra operacijskega sistema Linux N Vmreževanje (TCP/IP, UUCP, Mail) Q Posebna dodatna jedra s posebnimi gonilniki (potrebna za CD-je, ki niso SCSI) T TEX TCL Tcl/Tk/TclX, komplet orodij za Tcl in Tk, za razvijanje aplikacij za X X Osnovni grafični sistem X Window, imenovan XFree86 XAP Aplikacije za X Window XD Razvojni sistem za strežnik X11 XFree86 XV Xview (navidezni okenski upravljalnik OpenLook, aplikacije) Y Igre (ki ne potrebujejo X)

Katerakoli s presledki ločena kombinacija a ap d e f k n q t tcl x xap xd xv y in drugih ponujenih naborov disket

13. Namestitev programja (angl. Software Installation): Programski paketi bodo prenešeni na vaš trdi disk. Če je to vaša prva namestitev Linuxa, bi najbrž morali uporabljati način PROMPT. Tako bo upoštevana datoteka s privzetimi vrednostmi nujno potrebnih paketov in ti bodo nameščeni samodejno. Vprašani boste o namestitvi drugih paketov. Če ne uporabljate načina PROMPT, bo namestitveni program namestil vse nabore disket, ki ste jih izbrali. Ali želite uporabljati način PROMPT?

[y]–da ali [n]–ne Te privzete vrednosti so uporabniško nastavljive – katerikoli paket lahko določite kot samodejno vključljiv ali preskočljiv, tako da uredite vaše izbire v datoteki, imenovani TAGFILE. Najdete jo na prvi disketi vsakega nabora. Tam bo tudi izvod originalne datoteke z označbami, imenovane TAGFILE.ORG, dostopne v primeru, ko želite obnoviti privzete nastavitve. Datoteka z oznakami vsebuje vsa navodila, potrebna za popolno avtomatizacijo vaše namestitve. Bi radi uporabljali posebno pripono za datoteko z oznakami? Določite lahko pripono, sestavljeno iz ».«, ki ji sledi katerakoli kombinacija treh znakov, različnih od tgz. Sam, na primer, določim ».pat«; ko so med namestitvijo najdene datoteke »tagfile.pat«, se uporabljajo namesto privzetih datotek »tagfile«. Če namestitveni program ne najde datotek z označbami s posebnimi priponami, bo uporabil privzete datoteke. Vnesite vašo prirejeno pripono za datoteke TAGFILE (vključno z vodečo ».«) ali le pritisnite Enter za nadaljevanje brez posebne pripone.

Pripona za datoteke z oznakami, ali Enter

14. Dodatna sestava (angl. Extra Configuration): Če želite, greste lahko zdaj skozi izbire za ponovno sestavo vaše strojne opreme, izdelavo zagonske diskete in namestitev nalagalnika LILO. Če ste namestili novo sliko jedra, bi morali iti ponovno skozi te korake. Sicer se odločite sami.

[y]–da ali [n]–ne

15. Izdelava zagonske diskete (angl. Boot Disk Creation): Priporočljivo je, da napravite zagonsko disketo. Bi radi to storili zdaj?

[y]–da ali [n]–ne

Zdaj vstavite formatirano disketo v vaš zagonski disketnik. Ta bo postala vaša zagonska disketa za Linux. Uporabljajte jo za zagon Linuxa, dokler nalagalnika LILO ne nastavite za zagon z vašega trdega diska. Vsi podatki na ciljni disketi bodo uničeni. Vstavite disketo in pritisnite Enter ali s , če želite preskočiti ta korak.

Enter ali pre[s]kok

16. Nastavitev modema (angl. Modem Setup): Ustvarila se bo povezava v imeniku /dev. Kazala bo od vaše klicne naprave (cua0, cua1, cua2, cua3) na /dev/modem. To povezavo lahko pozneje spremenite, če boste vstavili vaš modem na druga vrata (angl. port). Bi radi zdaj nastavili vaš modem?

[y]–da ali [n]–ne

To so standardne serijske V/I (vhodno-izhodne, angl. input/output, I/O) naprave. Na katero napravo je priključen vaš modem (0, 1, 2, 3)?

0 /dev/ttyS0 (ali COM1: pod DOS-om) 1 /dev/ttyS1 (ali COM2: pod DOS-om) 2 /dev/ttyS2 (ali COM3: pod DOS-om) 3 /dev/ttyS3 (ali COM4: pod DOS-om)

0, 1, 2, ali 3

17. Usposobitev miške (angl. Mouse Setup): V imeniku /dev bo ustvarjena povezava od vaše miškovne naprave do /dev/mouse. To povezavo lahko spremenite tudi pozneje, če boste želeli uporabljati drugačno miško. Bi radi zdaj usposobili vašo miško?

[y]–da ali [n]–ne

Podprti so naslednji tipi mišk. Kateri tip miške imate (1, 2, 3, 4, 5, 6, 7)?

1 Serijska miška, združljiva z Microsoftovo 2 Miška QuickPort ali PS/2 (zunanja vrata (angl. auxiliary port)) 3 Logitech Bus Mouse 4 ATI XL Bus Mouse 5 Microsoft Bus Mouse 6 Serijska miška Mouse Systems 7 Serijska miška Logitech (MouseMan)

1, 2, 3, 4, 5, 6, ali 7

To so standardne V/I naprave. Na katero napravo je priključena vaša miška (0, 1, 2, 3)?

0 /dev/ttyS0 (ali COM1: pod DOS-om) 1 /dev/ttyS1 (ali COM2: pod DOS-om) 2 /dev/ttyS2 (ali COM3: pod DOS-om) 3 /dev/ttyS3 (ali COM4: pod DOS-om)

0, 1, 2, ali 3

18. Nastavitev omrežja (angl. Network Configuration): Zdaj bomo poskusili nastaviti vašo pošto in TCP/IP. Ta proces verjetno ne bo deloval na vseh možnih nastavitvah omrežja, a bi vam moral omogočiti dober začetek. Svoj sistem boste lahko ponovno nastavili v kateremkoli trenutku z uporabo ukaza netconfig. Najprej nas zanima ime, ki bi ga radi dali svojemu računalniku. Trenutno je potrebna le osnova imena gostitelja (angl. base host name), ne domena. Vnesite ime gostitelja.

Ime gostitelja

Zdaj potrebujemo še ime domene. Izpustite vodilno ».«. Vnesite ime domene.

Ime domene

Če nameravati uporabljati TCP/IP le skozi zaprto zanko (angl. loopback), bo vaš naslov za IP enak 127.0.0.1 in lahko preskočimo veliko nadaljnjih vprašanj. Ali nameravate uporabljati le zaprtozančni vmesnik?

[y]–da ali [n]–ne

Vnesite naslov za IP, ki pripada lokalnemu stroju. Primer: 111.112.113.114. Vnesite naslov za IP tega stroja (aaa.bbb.ccc.ddd).

Naslov za IP

Vnesite naslov vašega prehoda (angl. gateway) kot npr. 111.112.113.1. Če nimate prehoda, lahko pozneje uredite datoteko /etc/rc.d/rc.inet1, lahko pa se najbrž izvlečete tudi tako, da vnesete tukaj svoj lastni naslov za IP. Vnesite naslov prehoda (aaa.bbb.ccc.ddd).

Naslov za IP

Vnesite svojo omrežno masko (angl. netmask). To bo v splošnem podobno temu: 255.255.255.0. Vnesite omrežno masko (aaa.bbb.ccc.ddd).

Naslov za IP

Ali boste dostopali do imenskega strežnika (angl. domain name server, DNS)?

[y]–da ali [n]–ne

Prosim, dodajte naslov za IP imenskega strežnika, ki ga boste uporabljali. Pozneje lahko dodate še več DNS-jev z ureditvijo datoteke /etc/resolv.conf. Imenski strežnik vaše domene (aaa.bbb.ccc.ddd)?

Naslov za IP

Zdaj lahko ponovno zaženete svoj računalnik s pritiskom Ctrl - Alt - Delete . Če ste namestili LILO, odstranite zagonsko disketo iz vašega računalnika pred ponovnim zagonom. Ne pozabite ustvariti svoje datoteke /etc/fstab, če je še nimate (glejte stran 154)!

2.6.8 Naj se zgodi Slackware

Če ste si vzeli čas za premislek in zasnovo, kot smo vam priporočili v prejšnjih razdelkih, je resnična namestitev mačji kašelj. Za pravi proces nalaganja distribucije Slackware na vaš računalnik ni potrebnih veliko besed. Sledite korakom za izdelavo zagonske in korenske diskete, potem odgovorite na dolg seznam vprašanj, ki jih postavlja namestitveni program za Slackware. Če ste izpolnili delovni list za Slackware, vam bodo ta vprašanja znana (čeprav postavljana v angleščini) in vse bo teklo gladko.

2.6.9 Ustvarite nekaj zagonskih disket

Izberite vaše jedro! Ob namestitvi sistema Slackware Linux morate ustvariti zagonsko disketo z jedrom Linuxa, ki je posebej pripravljena za prepoznavo sistemske strojne opreme. Na primer, za namestitev Slackwarea s pogona CD-ROM tipa IDE na trdi disk

Datoteka Zagonske diskete za Slackware na IDE:

aztech.i Pogoni CD-ROM: Aztech CDA268-01A, Orchid CD-3110, Okano/Wearnes CDD110, Conrad TXC, CyCDROM CR520, CR540. bare.i Le podpora za IDE. cdu31a.i CD-ROM Sony CDU31/33a. cdu535.i CD-ROM Sony CDU531/535. cm206.i CD-ROM Philips/LMS cm206z adaptersko kartico cm260 goldstar.i CD-ROM Goldstar R420 (včasih prodajan kot Reveal Multime-

dia Kit).

mcd.i Podpora ne-IDE CD-ROM-ov Mitsumi.

mcdx.i Izboljšana podpora ne-IDE CD-ROM-ov Mitsumi.

net.i Podpora za Ethernet.

optics.i CD-ROM Optics Storage 8000 AT (pogon »DOLPHIN«).

sanyo.i Podpora za CD-ROM Sanyo CDR-H94A.

sbpcd.i Podpora za ne-IDE CD-ROM-e Matsushita, Kotobuki, Panaso-

nic, CreativeLabs (Sound Blaster), Longshine in Teac.

xt.i Podpora trdih pogonov MFM.

Tabela 2.6: Slike zagonskih disket distribucije Slackware za IDE

tipa SCSI mora imeti jedro na zagonski disketi gonilnike za vaš krmilnik SCSI in vaš CD-ROM IDE.

Jedra so shranjena kot komprimirane datoteke bitnih slik, do katerih lahko dostopate iz skoraj vsakega operacijskega sistema in tako ustvarite zagonsko disketo distribucije Slackware (Slackware Boot). Na FTP-ju, CD-ROM-u ali pod NFS priklopljenem imeniku distribucije Slackware boste našli podimenik, imenovan bootdsks.144, ki vsebuje slike jedra velikosti 1,44 MB za ustvarjanje zagonskih disket na 3,5”-disketah visoke gostote. Če delate z zagonskim disketnikom velikosti 5,25”, poglejte v imenik bootdsks.12 za slike jedra, ki bodo šle na diskete manjše podatkovne velikosti.

Tabela na strani 83 ponuja hitro referenco dostopnih slik jedra v času nastanka tega spisa. Podatki o osveženih slikah zagonskih disket so dostopni z URL-ja:

ftp://ftp.cdrom.com/pub/linux/slackware/bootdsks.144/README.TXT

2.6.10 Zaganjanje v akcijo

Sledi pristanek na trda tla. Po vsem tem načrtovanju, pripravah in particioniranju, se boste znašli v domači natezalnici. Prepričajte se, da je zagonska disketa v disketniku in zaženite računalnik. Zdaj je pravšnji čas za kavico (ali kaj drugega, kar vam ponavadi dela družbo) in vrnitev k stroju, pripravljeni na vlogo gumbe pritiskajočega dolgočasneža, ki kakšno uro odgovarja na vprašanja »da ali ne«.

Prijavite se kot root (brez gesla) in vpišite setup ali setup.tty.

2.6.11 Program setup distribucije Slackware

Distribucijo Slackware spremljata dve različici odličnega nastavitvenega programa setup. Prva različica je barvna, zasnovana na dialogu in menujih. Alternativa, setup.tty, je zgolj tekstovna različica, ki jo boste imeli morda raje, saj podrobne diagnoze in sporočila

Datoteka: Zagonske diskete za Slackware na SCSI/IDE: 7000fast.s Podpora za Western Digital 7000FASST SCSI. Advansys.s Podpora za AdvanSys SCSI. Aha152x.s Podpora za Adaptec 152x SCSI. Aha1542.s Podpora za Adaptec 1542 SCSI. Aha1740.s Podpora za Adaptec 1740 SCSI. Aha2x4x.s Podpora za Adaptec AIC7xxx SCSI (za te krmilnike: AHA-274x, AHA-2842,

AHA-2940, AHA-2940W, AHA-2940U, AHA-2940UW, AHA-2944D, AHA-2944WD, AHA-3940, AHA-3940W, AHA-3985, AHA-3985W).

Am53c974.s Podpora za AMD AM53/79C974 SCSI. Aztech.s Vsi podprti krmilniki SCSI in podpora za CD-je Aztech CDA268-01A, Or-

chid CD-3110, Okano/Wearnes CDD110, Conrad TXC, CyCDROM CR520, CR540.

Buslogic.s Podpora Buslogic MultiMaster SCSI. Cdu31a.s Vsi podprti krmilniki SCSI plus podpora za CD-ROM Sony CDU31/33a. Cdu535.s Vsi podprti krmilniki SCSI plus podpora za CD-ROM Sony CDU531/535. Cm206.s Vsi podprti krmilniki SCSI plus podpora za CD-ROM Philips/LMS cm206 CD-

ROM z adaptersko kartico cm260.

Dtc3280.s Podpora za DTC (Data Technology Corp) 3180/3280 SCSI. Eata_dma.s Podpora za DPT EATA-DMA SCSI (plošče, kot PM2011, PM2021, PM2041,

PM3021, PM2012B, PM2022, PM2122, PM2322, PM2042, PM3122, PM3222, PM3332, PM2024, PM2124, PM2044, PM2144, PM3224, PM3334).

Eata_isa.s Podpora za DPT EATA-ISA/EISA SCSI (plošče, kot PM2011B/9X, PM2021A/9X, PM2012A, PM2012B, PM2022A/9X, PM2122A/9X, PM2322A/9X).

Eata_pio.s Podpora za DPT EATA-PIO SCSI (PM2001 in PM2012A). Fdomain.s Podpora za Future Domain TMC-16x0 SCSI. Goldstar.s Vsi podprti krmilniki SCSI, plus podpora za CD-ROM Goldstar R420 (včasih

prodajan kot Reveal »Multimedia Kit«).

In2000.s Podpora Always IN2000 SCSI. Iomega.s Podpora za vzporedna vrata SCSI IOMEGA PPA3 (podpira tudi različico po-

gona ZIP za vzporedna vrata).

Mcd.s Vsi podprti krmilniki SCSI plus standardni ne-IDE CD-ROM-i Mitsumi. Mcdx.s Vsi podprti krmilniki SCSI plus razširjeni ne-IDE CD-ROM-i Mitsumi. N53c406a.s Podpora za NCR 53c406a SCSI. N_5380.s Podpora za NCR 5380 in 53c400 SCSI. N_53c7xx.s Podpora za NCR 53c7xx, 53c8xx SCSI (Večina krmilnikov NCR PCI SCSI

uporablja ta gonilnik).

Optics.s Vsi podprti krmilniki SCSI plus CD-ROM Optics Storage 8000 AT (pogon

»DOLPHIN«).

Pas16.s Podpora za Pro Audio Spectrum/Studio 16 SCSI. Qlog_fas.s Podpora za ISA/VLB/PCMCIA Qlogic FastSCSI! (podpira tudi kartice SCSI

Control Concepts SCSI, zasnovane na čipu Qlogic FASXXX).

Qlog_isp.s Podpira vse krmilnike SCSI Qlogic PCI razen PCI-basic (AMD SCSI). Sanyo.s Vsi podprti krmilniki SCSI plus CD-ROM Sanyo CDR-H94A. Sbpcd.s Vsi podprti krmilniki SCSI plus CD-ROM-i ne-IDE Matsushita, Kotobuki, Pa-

nasonic, CreativeLabs (Sound Blaster), Longshine in Teac.

Scsinet.s Vsi podprti krmilniki SCSI plus polna omrežna podpora. Seagate.s Podpora za Seagate ST01/ST02, Future Domain TMC-885/950 SCSI. Trantor.s Podpora za Trantor T128/T128F/T228 SCSI. Ultrastr.s Podpora za SCSI UltraStor 14F, 24F, in 34F. Ustor14f.s Podpora za SCSI UltraStor 14F in 34F.

Tabela 2.7: Slike zagonskih disket distribucije Slackware za SCSI/IDE.

====== Nastavitev za Slackware96 Linux (različica HD-3.1.0) ======

Dobrodošli v programu za nastavitev distribucije Slackware Linux.

Namig: Če imate težave z uporabo tipk s puščicami na vaši tipkovnici, lahko namesto tega uporabljate tipke ’+’, ’-’, in TAB. Kaj boste izbrali? ==================================================================

HELP Branje datoteke s pomočjo za Slackware Setup KEYMAP Premapiranje vaše tipkovnice MAKE TAGS Program za prilagoditev datotek z oznakami TARGET Izbira trenutnega imenika [zdaj: / ] SOURCE Izbira izvornega medija DISK SETS Odločitev, katere nabore disket želite namestiti INSTALL Namestitev izbranih naborov disket CONFIGURE Ponovna nastavitev vašega sistema Linux PKGTOOL Namestitev ali odstranitev paketov s Pkgtool-om EXIT Izhod iz programa Slackware Linux Setup

================================================================== ==================================================================

< OK > <Preklic>

==================================================================

Slika 2.1: Prevod zaslona programa setup

o napakah ostajajo na zaslonu in se ne zakrijejo z naslednjo škatlo dialoga. Če poskušate namestiti Slackware na zametku prave strojne opreme, močno priporočamo uporabo manj barvne rutine setup.tty. Če ne veste veliko o Unixu in se boste počutili udobneje s privlačnejšim, »čistejšim« vmesnikom, se vsekakor odločite za lepši program setup. Na sliki 2.6.11 na strani 85 je prikazan slovenski prevod zaslona programa setup.

Prenos Slackware-a na vaš sistem od tu naprej ne vključuje kaj dosti več kot menujsko izbiro tega, kar želite. Z vnaprejšnjo izpolnitvijo delovnega lista iz razdelka 2.6.7 bi morali biti sposobni hitrega napredovanja skozi vsako postavko menuja, dokler ne dosežete izbire INSTALL. Takrat se lahko zadeve upočasnijo: priporočamo vam, da izberete lastnost PROMPT, preberete opis vsakega programskega paketa in se odločite, ali bi ga radi imeli na vašem sistemu Slackware. Zadnji del običajne sestave je razdelek CONFIGURE in vprašanja, na katera morate odgovoriti, so zelo podobna drugi polovici delovnega lista iz razdelka 2.6.7.

2.6.12 Je to vse?

Nikakor ne! Na tej točki ste trčili ob kakšno zoprno oviro, ki preprečuje programu setup, da bi zaključil nastavitev, ali bolj verjetno, gledate v pozornik ukazne lupine uporabnika root

darkstar~#

in se sprašujete, »Kaj pa zdaj?«.

No, če ste se znašli v težavah, boste želeli nadaljevati neposredno z branjem naslednjega razdelka o odpravljanju težav. Če je videti, da sistem deluje, imate še vedno nekaj podrobnosti, ki jih morate opraviti. To je podobno nakupu novega avtomobila – ko ga izberete in plačate, je še vedno nekaj reči, ki jih morate vedeti, preden se lahko z njim varno vozite – zavarovanje, članstvo v avtomobilističnem društvu in morda nekatera razkošja, ki naredijo vašo vožnjo zabavnejšo.

2.6.13 Odprava porodnih težav

Nobena namestitev Slackware se ne rodi po pričakovanjih sistemskih upraviteljev. Prebedel sem kar nekaj noči, ko sem se nekoč po službi zvečer spravil nadgrajevati škatlo s sistemom Slackware in se do jutra mučil, da bi presneta stvar ob zori spet delala, še preden bi ljudje začeli preklinjati zaradi manjkajoče pošte in novic. Ta razdelek bo pregledal nekaj pogostih težav pri sestavi sistema Slackware, ter ponudil nekaj rešitev in krajev, kamor lahko pogledate za nadaljnjo pomoč.

Pogosto zastavljena vprašanja o namestitvi Slackware Patrick Volkerding, oče distribucije Slackware, je imel opravka z veliko vprašanji novih uporabnikov, ki jim je prisluhnil, odgovarjal in slutil ponovljene poizvedbe. Patrick je prijazno ustvaril dokumentacijo in jo vključil v distribucijo Slackware, da bi prehitel uporabnike, preden zastavijo enako vprašanje že pettisočič. Tri datoteke v angleščini, ki se vam bodo morda zdele zelo uporabne in bodo odgovorile na vaša začetna vprašanja, so FAQ.TXT, INSTALL.TXT in BOOTING.TXT.

Spletna podpora za Slackware Najpreprostejši način za iskanje splošnih dokumentov o Linuxu je domača stran Dokumentacijskega projekta za Linux (angl. Linux Documentation Project, LDP). Glejte stran 23 za opis domače strani LDP.

V tem trenutku se pomoč za Slackware, ki jo boste našli na Internetu, nagiba v visoko prilagojenost – denimo, kako prek NFS priklopiti distribucijo na računalnikih določene univerze ali kako z uporabo Slackware ožičiti vašo mansardno sobo za določeno stanovanjsko omrežje WAN.

Novičarske skupine Useneta o sistemih Slackware Hierarhija Useneta comp.os.linux.* je zakladnica podatkov o Linuxu, ne nujno specifičnih za distribucijo Slackware. Trenutno je v tej hierarhiji 11 posebnih konferenc o Linuxu, ki ustvarjajo širok spekter diskusij. Te novičarske skupine so opisane na strani 24.

Dopisni seznami o Slackware Trenutno ni elektronskih poštnih seznamov, ki bi se ukvarjali izključno s posebnostmi distribucije Slackware. Po e-pošti lahko sodelujete v izvrstnem pogovoru o Linuxu, poglejte na http://www.linux.org/ in vprašajte v novičarske skupine Useneta za nekaj dobrih naročniških spiskov.

Za podatke o naročitvi na splošne poštne spiske o Linuxu glejte stran 26.

Dobite to, kar plačate (komercialna podpora) Komercialna podpora za Linux je dostopna preko nekaterih prodajalcev CD-ROM-ov in dolgega seznama svetovalcev za Linux (angl. Linux Consultants), s katerimi stopite v stik, kot je opisano v spisih Linux Commercial HOWTO in Linux Consultants HOWTO:

http://metalab.unc.edu/LDP/HOWTO/Consultants-HOWTO.html http://metalab.unc.edu/LDP/HOWTO/Commercial-HOWTO.html

2.6.14 Sončenje v večerni zarji

Ne počivajte še na svojih lovorikah, posebej če je vaš stroj s sistemom Slackware deljen računalnik ali živi v omrežnem okolju. Negovanje računalnika za skupnost in omrežno uporabo zahteva več, kot pa da sistem namestite in pozabite nanj. Zapustili vas bomo z nekaj kazalci za zagotovitev varnosti in delitvi uporabe vašega novega sistema Slackware.

2.6.15 Premislite o ponovni namestitvi!

Vem, da je ravnokar za vami morda dolga in zbegana namestitvena seja. A preden se vselite v hišo, ki ste si jo pravkar zgradili, razmislite, da bi jo podrli in začeli znova. Friedrich Nietzsche je dejal:

»Človek se nauči vsega, kar mora vedeti o gradnji svoje hiše šele potem, ko jo dokonča.«

Če ste imeli v procesu namestitve sistema pomisleke, kako bi to lahko naredili drugače, je zdaj pravi čas. Če bo vaša škatla s sistemom Slackware Linux večuporabniški stroj ali omrežni strežnik, morda ne bo nikoli več primernejše priložnosti za ponovno namestitev ali radikalno ponovno nastavitev sistema.

2.6.16 Zavarujte sistem

◇ Takoj zapustite LAN Slackware, kot pride iz škatle, ni varen sistem. Čeprav se Patrick Volkerding trudi po svojih močeh, da bi ustvaril varno distribucijo, je znanih nekaj neizogibnih lukenj in narejeni so bili popravki ali ovinki, dostopni v srenji sistemskih upravljalcev (in vlomilcev). Če ste namestili Slackware z omrežnega vira, kot je pogon, priklopljen po NFS, morate po uspešni namestitvi začasno izključiti vašo škatlo iz omrežja (LAN) in zamašiti nekaj varnostnih lukenj.

Izberite geslo super-uporabniku root Na začetku je privzeto, da nova škatla s sistemom Slackware ne potrebuje gesla za korenskega uporabnika (root). Ko ste zadovoljni in je vaš novi sistem Slackware stabilen (po nekaj urah, ne dnevih ali tednih), dodajte geslo, s katerim zavarujete korenski račun. Prijavite se kot root in napišite:

     # passwd root

Dodelite si uporabniški račun Na velikih, deljenih sistemih se superuporabniški račun root ne uporablja kot delujoči prijavni račun za nobenega posameznika. Če vas zanima upravljanje sistema ali poganjate omrežen stroj, je to dober zgled, ki mu velja slediti. Uporabite program /sbin/adduser in si naredite prijavni račun za login, namesto, da delate pod uporabniškim imenom root. Vedno se nasmehnem, ko vidim študente in amaterje, ki ponosno pošiljajo sporočila v Usenet kot root@moj_stroj.moja_domena. Bodite ponižni in varni: ustvarite še en prijavni račun za vaše vsakodnevno delo in uporabljajte su (namesto prijavnega programa login) za občasen vhod v vaš račun root.

Preberite poglavje 4 za razlago, katere stvari se počne pod računom root (in katerih ne).

Onemogočite prijave uporabnika root Ne le, da je nenavadno delati kot uporabnik root, tudi prijava kot root prek omrežja velja za nevarno. Administrativni uporabniki se navadno povežejo na škatlo z Unixom pod njihovim navadnim uporabniškim imenom za login, potem napravijo su v račun root, ko je to potrebno. Da preprečite vlomilcem in nevednim uporabnikom neposredno prijavo kot root, uredite datoteko /etc/securetty in zakomentirajte (postavite pred vrstico znak za višaj (#)) vse, razen lokalnih terminalov:

console

tty1 tty2 # ttyS0 # ttyS1

Po tem popravku bo prijava kot root po omrežju zavrnjena:

Linux 2.0.29 (durak.interactivate.com) (ttyp4)

durak login: root

root login refused on this terminal.

durak login:

Uporabite preproste popravke Slackware se namesti z nekaterimi zelo resnimi varnostnimi problemi. Namesto da obvladate varnost Unixa in sami odkrijete Ahilove pete sistema, lahko začnete proces krpanja varnostnih lukenj z obiskom spletnega vira, ki ga vzdržujejo le s tem namenom, imenuje se Slackware SimpleFixes:

http://cesdis.gsfc.nasa.gov/linux-web/simplefixes/simplefixes.html

Preverite popravke na ftp.cdrom.com Ker je Slackware vzdrževana distribucija, lahko najnovejše popravke in nadgradnje snamete z:

ftp://ftp.cdrom.com/pub/linux/slackware/patches/

Ostanite na tekočem Morda se boste želeli naročiti na enega ali več elektronskih poštnih spiskov, ki opozarjajo uporabnike s temami iz upravljanja Linuxa, kot so:

linux-alert-request@tarsier.cv.nrao.edu linux-security-request@redhat.com

Obstaja tudi spisek v slovenščini za varnostna vprašanja o Linuxu, imenuje se lugos-sec@lugos.si, nanj pa se naročite tako, da pošljete e-pismo na majordomo@ lugos.si in vanj napišete:

subscribe lugos-sec

2.6.16.1 Naredite varnostne kopije

Vam je všeč, kako vse deluje? Shranite sistem za težke čase z izdelavo varnostnih kopij. Amanda, napredni samodejni arhivnik omrežnega diska iz Marylanda (angl. Advanced Maryland Automatic Network Disk Archiver) je ena od številnih možnosti za izdelavo rezervnih kopij namestitev Linuxa. Več o Amandi izveste na spletni strani:

http://www.cs.umd.edu/projects/amanda/index.html

2.7 S. u. S. E. Linux

Ta razdelek o distribuciji S. u. S. E. Linux je napisal Larry Ayers.

Distribucija SuSE se je začela pred nekaj leti kot prilagoditev distribucije Slackware. Patrick Volkerding (Slackware) je na začetku pomagal razvijalcem distribucije SuSE, a že dolgo tega je distribucija začenjala dobivati svojo lastno identiteto. Precej novih lastnosti, dodanih za pomoč novim uporabnikom, povečuje verjetnost, da namestitve ne bo treba takoj ponoviti. Glede na medsebojno križanje, ki je endemično v svetu prostega programja, se ne bi čudili, če bi se nekatere od teh lastnosti pojavile tudi v novejših izdajah distribucije Slackware.

2.7.1 Začetek namestitve

Ko zaženete svoj stroj z ene same namestitvene diskete, v resnici zaženete miniaturni sistem Linux, zasnovan prav v ta namen. Prikaže se barvni zaslon, pripravljen, da vam postavi vrsto vprašanj, ki vas bodo z malce sreče vodila skozi proces namestitve. Orodje za sestavo YAST (angl. Yet Another Set-up Tool, še eno namestitveno orodje) nakazuje, da izvira iz distribucije Slackware, saj uporablja program dialog. To orodje poganja skripte ukazne lupine in prikazuje pogovorne škatle, radijske gumbe in potrditvene sezname, ki dovoljujejo uporabniku izbiro možnosti in usmerjajo potek namestitve.

Čeprav nobena distribucija ne more zagotoviti neboleče namestitve, je razvijalcem podjetja S. u. S. E. GmbH uspelo predvideti precej težav, ki bi jih utegnili imeti novi uporabniki Linuxa. Ena od bolj neprijetnih težav je ugotovitev, da sistem ne prepozna vašega pogona CD-ROM. Prepis paketov, potrebnih za začetek namestitve, na trdi disk in namestitev od tam je sicer rešitev, a je nerodna in časovno potratna. Ena sama zagonska disketa distribucije S. u. S. E. ponuja majhno, osnovno jedro z vsemi dostopnimi gonilniki – če so potrebni – v obliki modulov, namesto da bi bila uporabniku ponujena izbira ogromno slik disket, od katerih ima ena verjetno podporo za njegov pogon CD-ROM. Strežnik jedra je proces v ozadju, ki zagotavlja, da se bo naložil dotični modul, če je potrebna modulska funkcija. To pomaga odpraviti zamudno čakanje. Druga pogosta past je prenizka ocena diskovnega prostora, ki ga potrebujete. To prisili namestitev, da se konča zaradi pomanjkanja prostora. Ko se to zgodi, ključni končni koraki (kot je namestitev LILO) še niso bili izvedeni in navadno je neizogiben ponoven začetek. Namestitve v obliki skriptov so po naravi nujno zaporedne; morda veste, da preskok enega koraka ne bo škodil, a težko je predvideti vse možnosti v skriptu ukazne lupine, in če gredo stvari narobe, se skript navadno prekine.

Med namestitvijo distribucije S. u. S. E. se na zaslonu YAST spreminja delež preostalega prostora na particiji; med izbiro paketov lahko preizkusite različne kombinacije in upoštevate, koliko prostega diskovnega prostora bi radi ohranili. Razdelitev in formatiranje diskov, kot tudi ustvarjanje in aktiviranje izmenjalne particije so procesi, ki niso dosti različni od drugih distribucij. Vsi uporabljajo ista orodja; postopek je postal bolj ali manj standardiziran.

Odvisnosti Uporaba odvisnosti, ki se sestoji iz podatkov, vključenih v programski paket, katere pakete le-ta potrebuje, se je hitro razširila med distribucijami Linuxa. Žal se še ni pojavila univerzalna oblika zapisa odvisnosti. Vsaka distribucija uporablja različno obliko. Format RPM distribucije RedHat, uporabljan v kar nekaj distribucijah, je zmogljiv in učinkovit, a ima nekaj stranskih učinkov. Najbolje deluje na sistemu, nameščenemu popolnoma preko sistema RPM, saj preverjanje odvisnosti, ki ga izvaja program RPM, ve le za pakete oblike RPM. S.u.S.E. 5.1 uporablja format srpm. Odvisnosti se preverjajo le, če je paket nameščen iz programa YAST, kar dovoljuje (izkušenemu uporabniku) izbiro dearhiviranja paketa na drugo mesto ter potem preverjanje datotek in nastavitev pred končno namestitvijo. Odvisnosti so najbolj uporabne med uvodno namestitvijo in med seznanjanjem z novo namestitvijo. Ko sistem že nekaj časa uporabljate, približno veste, katere knjižnice in programi so dostopni. Večina programskih paketov za Linux vsebuje tudi podatke o – za delovanje prvega paketa potrebni – prisotnosti določenih drugih paketov na sistemu. Modro je prebrati celotno datoteko rc.config, preden poženete SuSEconfig in naredite kakšne od možnih sprememb. Nekatere od privzetih dejanj, ki jih lahko izvede skript, boste morda raje ročno storili sami, toda zlahka se onemogočijo z ureditvijo te datoteke.

Uporabniki, ki jim je domača podoba inicializacijskih datotek v Slackware, bodo morali narediti nekaj prilagoditev; datoteke navadno najdete v imeniku /etc/rc.d namesto v imeniku /sbin/init.d.

2.7.2 Po namestitvi S. u. S. E.

YAST je uporaben tudi po namestitvi za rutinsko vzdrževanje sistema. Veliko število datotek z viri, potrebnih za zagon in tek Linuxa, lahko preplaši začetnike. YAST ponuja menujsko orientiran vmesnik do teh datotek, vključno z namestitveno datoteko za sendmail, datotekami za cron (periodično poganjanje opravil), inicializacijskimi skripti in različnimi omrežnimi datotekami. Spremembe, narejene v seji YAST-a, se zapišejo v eno samo datoteko v imeniku /etc, rc.config, ki jo lahko vedno uredite direktno. Te spremembe potem skript SuSEconfig zapiše v različne »prave« nastavitvene datoteke. Ta skript samodejno zažene YAST ob vsakem koncu svoje seje; če datoteko /etc/rc.config popravite ročno, morate ročno zagnati tudi SuSEconfig. To se morda sliši kot zapleten postopek, a je precej lažje kot iskanje posameznih datotek, učenje pravilne skladnje za njihovo ureditev in prilagoditev, da postanejo to, kar želite.

Ko imate sestavljen in delujoč sistem S. u. S. E. Linux, je dobro namestiti izvorno kodo jedra (dostopna je na CD-ROM-u kot izbiren paket, ki ga lahko namestite med uvodno sestavo). S. u. S. E. namešča splošno jedro in verjetno potrebujete le nekaj spremljajočih modulov. To je odlična priložnost, da se udomačite z mehanizmi prevajanja izvorne kode in končali boste z manjšim prilagojenim jedrom, ki podpira le zmožnosti, ki jih potrebujete. Za prevajanje jedra mora biti nameščen prevajalnik gcc s spremljajočimi orodji; ta orodja so skoraj nujna na sistemu Linux, tudi če niste programer. Preverjanje odvisnosti v YAST bo pomagalo zagotoviti nameščenost vseh potrebnih orodij.

Prevajanje jedra se morda začetniku sliši srhljivo, a to je precej intuitiven proces. Za prvi inicializacijski korak so na voljo trije vmesniki. Prvi (in najstarejši) je skript, delujoč v konzolnem načinu, ki ga poženete z ukazom make config. Ta skript vam postavi vrsto vprašanj in uporablja rezultate za zapis datoteke, ki vodi prevajalnik pri njegovem delu. Poznati morate nekaj osnovnih dejstev o vaši strojni opremi, kot sta tip vašega trdega diska in pogona za CD-ROM. Če želite zvočno podporo, morate poznati IRQ, ki ga uporablja vaša zvočna kartica, kot tudi nekatere druge parametre, ki jih lahko zberete iz priročnika kartice ali izhoda pripomočka msd za MS-DOS.

Druga dva vmesnika sta menuconfig in xconfig. Prvi uporablja spremenjeno različico zgoraj omenjenega programa dialog, ki teče na navidezni konzoli ali v xterm-u in je podoben sestavnemu orodju YAST. Program xconfig je različica za sistem X Window, napisana v Tk. Vsi trije vmesniki naredijo isto opravilo. Poznejša dva vam omogočata izbiro možnosti brez veliko tipkanja. Izvorna koda jedra je dobro dokumentirana. Datoteka README v najvišje ležečem imeniku vsebuje dovolj informacij za skoraj zagotovljeno uspešno gradnjo jedra.

2.7.3 Usposobitev in poganjanje X

Pri pravilni nastavitvi sistema X Window (posebej strežnika XFree86, ki je vključen v S. u. S. E. in večino drugih distribucij) se lahko zatakne. Obstaja toliko različnih monitorjev in grafičnih kartic, da mora biti vsaka namestitev X posamično nastavljena. Težave so bile nekako olajšane z izdajo strežnika XFree86 3.2, ki je vključen v novejše izdaje S. u. S. E. Namesto prejšnjega pripomočka xf86config lahko zdaj uporabljate orodje, zasnovano na uporabi programa dialog. Oba sta zasnovana z uporabo skriptov ukazne lupine, podobnih tistemu, ki se uporablja za nastavitev jedra sistema Linux. Kakorkoli že, morali boste poznati horizontalne in vertikalne frekvence osveževanja vašega monitorja kot tudi nabor čipov, nameščenih na vaši grafični kartici. Bolje je, da najprej nastavite X za delovanje v nižji ločljivosti, preden poskušate popolnoma izkoristiti zmogljivosti vaše grafične kartice.

Razvijalci distribucije S. u. S. E. so se trudili z nastavitvami različnih okenskih upravljalnikov, na primer fvwm95. Ko prvič zaženete X, bo preko z miško aktiviranega korenskega okenskega menuja dostopnih veliko aplikacij, ki ste jih izbrali med namestitvijo. Drug vnos v menuju vam omogoča spremembo okenskega ozadja.

Distribuciji S. u. S. E. je priloženih mnogo lepo oblikovanih ikon. To izboljša prvi vtis novih uporabnikov. Ko končno pridobite Linux in poženete X, imate dovolj dela že z učenjem sistema, ne da bi se še čutili poklicane spreminjati okolje, da bo to za oko sprejemljivo!

2.7.4 Poznejše nadgradnje

V trenutku, ko končate namestitev tudi najbolj sveže distribucije, ta začenja postajati zastarela. To je počasen proces, a slej ko prej boste čutili potrebo po nadgradnji kakšnega dela vašega sistema. Od distribucije S. u. S. E. 5.1 naprej zna YAST nadgrajevati tudi po FTP-ju.

2.8 Postopki po namestitvi

Na tej točki velja pojasniti, kako ponovno zagnati (angl. reboot) in zaustaviti (angl. shutdown) sistem, ki ga uporabljate. Nikoli ne zaganjajte ali zaustavljajte vašega sistema Linux s pritiskom na stikalo za resetiranje. Tudi toka ne smete kar izklopiti. Kot večina sistemov Unix tudi Linux predpomni pisanje po disku v pomnilniku. Če nenadoma ponovno zaženete sistem, ne da bi ga »čisto« ustavili, lahko pokvarite podatke na vaših pogonih, kar lahko povzroči nepopisno škodo.

Najlažji način za zaustavitev sistema je z uporabo ukaza shutdown. Kot primer, za takojšnjo ustavitev in ponoven zagon sistema uporabite naslednji ukaz kot root:

     # shutdown -r now

To na čist način ponovno zažene vaš sistem. Stran v priročniku o ukazu shutdown opisuje druge argumente, ki so dostopni v ukazni vrstici. Uporabite ukaz man shutdown za ogled strani priročnika o ukazu shutdown.

Vedite pa, da mnogo distribucij Linuxa ne priskrbi ukaza shutdown na namestitvenem mediju. To pomeni, da boste prvič po namestitvi, ko boste hoteli ponovno zagnati vaš sistem, morda morali uporabiti kombinacijo Ctrl - Alt - Del .

Ko imate priložnost za raziskovanje in uporabo sistema, vas čaka več drobnih nastavitvenih del, ki naj bi jih opravili. Prvo je ustvarjanje uporabniškega računa zase (in, po izbiri, za druge uporabnike, ki bodo morda vstopali v sistem). Ustvarjanje uporabniških računov je opisano v poglavju 4. Navadno je vse, kar morate storiti, da se prijavite kot root in poženete program adduser (ponekod useradd). To vas popelje skozi nekaj vprašanj do priprave novega uporabniškega računa.

Če naredite več kot en datotečni sistem za Linux ali če uporabljate izmenjalno particijo, morate morda urediti datoteko /etc/fstab, če naj bodo ti datotečni sistemi samodejno na voljo po vsakem zagonu. Če uporabljate ločeno particijo za /usr in ni videti nobene od datotek, ki bi morale biti v /usr, morate morda le priklopiti to particijo. Glejte stran 154 za opis datoteke /etc/fstab.

2.9 Zaplet v težave

Skoraj vsakdo naleti na kakšno čer ali kavelj, ko poskuša prvič namestiti Linux. Največkrat je vzrok preprosti nesporazum. Včasih gre vendarle lahko za kaj resnejšega, kot je napaka enega od razvijalcev ali hrošč.

Če se zdi vaša namestitev uspešna, a dobivate nepričakovana sporočila o napakah, so ta opisana tukaj.

2.9.1 Težave z zagonom namestitvenega medija

Ko poskušate prvič zagnati namestitveni medij, lahko trčite ob številne težave. Te so opisane spodaj. Vedite, da naslednje težave niso povezane z zagonom vašega novo nameščenega sistema Linux. Glejte stran 100 za informacije o tovrstnih pasteh.

• Disketna napaka ali napaka medija ob poskusu zagona Najpogostejši vzrok tovrstnih težav je pokvarjena zagonska disketa. Ali je disketa fizično poškodovana in boste morali ponovno ustvariti disketo s popolnoma novo disketo ali pa so podatki na disketi pokvarjeni, v tem primeru bi morali preveriti, da ste pravilno pobrali in prenesli podatke na disketo. V večini primerov bo preprosta ponovna priprava zagonske diskete odpravila vaše težave. Sledite svojim prejšnjim korakom in poskusite znova. Če ste prejeli vašo zagonsko disketo od prodajalca po pošti ali od kakšnega drugega distributerja, stopite z njim v stik in zahtevajte novo zagonsko disketo (namesto, da bi jo pobrali in ustvarili sami) – a le, ko se prepričate, da je težava zares v tem.

• Sistem se obesi med zaganjanjem ali po njem Ko se zažene namestitveni medij, bo jedro izpisalo številna sporočila, ki sporočajo, katere naprave so bile zaznane in nastavljene. Po tem se bo pred vami običajno znašel prijavni pozornik, ki vam bo omogočal nadaljevanje namestitve (nekatere distribucije vas namesto tega vržejo naravnost v nekakšen namestitveni program). Med mnogimi koraki se lahko zazdi, da se je sistem obesil. Bodite potrpežljivi: nalaganje programja z diskete je relativno počasno. V veliko primerih se sistem sploh ni obesil, pač pa si le vzame veliko časa. Preverite, da pogoni niso aktivni najmanj nekaj minut, preden predpostavite, da se je sistem obesil.

1. Po zaganjanju iz pozornika nalagalnika LILO mora sistem naložiti sliko jedra z diskete. To lahko traja nekaj sekund; vedeli boste, da gredo stvari v pravo smer, če je lučka na disketnem pogonu še vedno prižgana.

2. Med zagonom jedra se morajo preizkusiti naprave SCSI. Če nimate nameščenih naprav SCSI, bo sistem zmrznil za 15 sekund, medtem ko se nadaljuje iskanje morebitnih naprav SCSI; to se navadno zgodi po prikazu te vrstice na vašem zaslonu:

lp_init: lp1 exists (0), using polling driver

3. Ko jedro konča z zagonom, se nadzor prenese na sistemske zagonske datoteke na disketi. Končno bo pred vami prijavni pozornik login ali pa boste padli v namestitveni program. Če je pred vami prijavni pozornik, kot je

Linux login:

se morate prijaviti (navadno kot root ali kot install – to je odvisno od distribucije). Po vnosu uporabniškega imena lahko sistem zastane za 20 sekund ali več, dokler se namestitveni program ali ukazna lupina ne naloži z diskete. Spet se mora videti prižgana lučka na disketniku. Ne predpostavljajte, da se je sistem obesil.

Vsaka od zgornjih postavk je lahko izvor vaših težav. Vendar je v resnici možno, da se sistem obesi med zagonom, kar se lahko zgodi iz več razlogov. Najprej, morda nimate dovolj dostopnega RAM-a, da bi zagnali sistem z namestitvenega medija. Glejte naslednjo postavko za informacije o onemogočanju pomnilniškega diska (angl. ramdisk) za sprostitev pomnilnika. Strojna nezdružljivost je vzrok mnogih obešanj sistema. Zadnje poglavje je predstavljalo pregled podprte strojne opreme v Linuxu. Tudi če je vaša strojna oprema podprta, lahko zaidete v težave z nezdružljivo strojno sestavo, ki povzroči, da se sistem obesi. Glejte stran 94 za razlago strojnih nezdružljivosti.

• Sistem poroča o napakah zaradi pomanjkanja pomnilnika (angl. out-of-memory errors), ko se poskuša zagnati ali namestiti programje Ta postavka ima opraviti s količino RAM-a, ki ga imate na voljo. Na sistemih s 4 megabajti RAM-a ali manj lahko zaidete v težave z zaganjanjem namestitvenega medija ali namestitvijo same programske opreme. Tako je, ker mnoge distribucije uporabljajo pomnilniški disk (angl. RAM disk), datotečni sistem, naložen neposredno v RAM, za operacije med uporabo namestitvenega medija. Celotna slika namestitvene zagonske diskete se lahko, na primer, naloži v pomnilniški disk, kar lahko porabi več kot megabajt RAM-a. Morda ne boste videli sporočila o napaki pomanjkanja pomnilnika (»out of memory«), ko boste zaganjali sistem ali nameščali programje; namesto tega se bo sistem nepričakovano obesil ali se ne bo hotel zagnati. Če se vaš sistem obesi in se kot vzrok ne zdi prikladna nobena od razlag prejšnjega razdelka, poskusite onemogočiti pomnilniški disk. Za podrobnosti glejte dokumentacijo vaše distribucije. Zavedajte se, da sam Linux potrebuje vsaj 2 megabajta RAM-a, da sploh teče; veliko sodobnih distribucij Linuxa potrebuje 4 megabajte ali več.

• Sistem sporoča med zagonom napako kot je »permission denied« (prepovedan dostop) ali »file not found« (datoteka ni najdena) To je znak, da je vaš namestitveni zagonski medij pokvarjen. Če poskušate zaganjati z namestitvenega medija (in ste prepričani, da vse delate pravilno), se takšne napake ne bi smele pojavljati. Stopite v stik z distributerji vašega programja za Linux in ugotovite, kje so težave, ter si morda po potrebi priskrbite nov izvod zagonskega medija. Če ste sami pobrali zagonsko disketo, jo poskušajte ponovno ustvariti in poglejte, če to reši vašo težavo.

• Sistem ob zagonu javlja napako »VFS: Unable to mount root« (VFS: ne morem namestiti korenskega datotečnega sistema) To sporočilo o napaki pomeni, da korenskega datotečnega sistema (najdete ga na samem zagonskem mediju) ni bilo mogoče najti. To pomeni, da je nekako pokvarjen vaš zagonski medij ali da sistema ne zaganjate pravilno. Na primer, mnoge distribucije na CD-ROM-ih zahtevajo, da imate CD-ROM med zagonom v pogonu. Prepričajte se, da je pogon CD-ROM vključen in preverite, če se z njim kaj dogaja. Možno je, da sistem ob zagonu ne najde vašega CD-ROM-a; glejte stran 94 za več informacij.

2.9.2 Strojne težave

Najpogostejša vrsta težav, ko poskušate namestiti ali uporabljati Linux, je nezdružljivost s strojno opremo. Tudi če je vsa vaša strojna oprema podprta v Linuxu, napačna nastavitev ali konflikti med posameznimi deli strojne opreme lahko včasih dajo čudne rezultate – vaše naprave morda ne bodo zaznane ob zagonu ali se sistem obesi.

Pomembno je identificirati te strojne težave, če sumite, da so vir vaših težav.

Osamitev strojnih problemov Če izkusite problem, za katerega verjamete, da je povezan s strojno opremo, je prva stvar, ki bi jo morali narediti, poskus osamitve problema. To pomeni odstranitev vseh možnih spremenljivk in (navadno) razstavljanje sistema, kos za kosom, dokler strojni krivec ni točno določen.

To ni tako strašljivo, kot se morda sliši. Pravzaprav morate odstraniti vso nebistveno strojno opremo iz vašega sistema in ugotoviti, katera naprava povzroča težave – najbrž tako, da ponovno vstavite vsako napravo, po eno naenkrat. To pomeni, da morate odstraniti vso strojno opremo, razen disketnika in krmilnikov videa in seveda tipkovnice. Celo naprave, ki izgledajo nedolžno, kot so krmilniki mišk, lahko vnesejo precejšnje opustošenje v vaš duševni mir, če jih imate za nebistvene.

Denimo na primer, da se sistem obesi med zagonom ob zaznavanju plošče Ethernet. Predpostavite lahko, da gre za konflikt ali problem s ploščo Ethernet v vašem stroju. Hitra in preprosta pot za ugotovitev tega je, da izpulite ploščo Ethernet in ponovno skušate zagnati računalnik. Če gre vse v redu, potem veste, da (a) plošča Ethernet ni podprta v Linuxu (glejte stran 20) ali (b) obstaja konflikt z naslovom ali z IRQ-jem plošče.

»Konflikt z naslovom ali z IRQ-jem?« Kaj na svetu pa to pomeni? Vse naprave v vašem stroju uporabljajo IRQ ali prekinitveno linijo za zahteve (angl. interrupt request line, IRQ), za sporočanje sistemu, da potrebujejo, da ta nekaj opravi namesto njih. IRQ si lahko predstavljate kot vrv, ki jo naprava potegne, ko mora sistem poskrbeti za nekakšno nerešeno zahtevo. Če več kot ena naprava vleče isto vrv, jedro ne bo moglo ugotoviti, katera naprava potrebuje postrežbo. In zmeda je tu.

Torej, prepričajte se, da vse vaše nameščene naprave uporabljajo vsaka svojo linijo za IRQ. V splošnem se IRQ za napravo lahko nastavi s skakači (angl. jumpers) na kartici; glejte dokumentacijo za določeno napravo za podrobnosti. Nekatere naprave sploh ne potrebujejo uporabe IRQ-ja, a priporočeno je, da jih nastavite tako, da ga uporabljajo, če je to mogoče (krmilnika SCSI Seagate ST01 in ST02 sta dobra primera).

V nekaterih primerih je jedro na vaših namestitvenih medijih nastavljeno za uporabo določenih IRQ-jev za določene naprave. Na primer, na nekaterih distribucijah Linuxa je jedro vnaprej nastavljeno za uporabo IRQ 5 za krmilnik SCSI TMC-950, krmilnik Mitsumi za CD-ROM in gonilnik miške, priključene na vodilo. Če želite uporabljati dve ali več od teh naprav, boste morali najprej namestiti Linux z omogočeno le eno od teh naprav, potem spet prevesti jedro, da boste spremenili privzeti IRQ za eno od njih. (Glejte poglavja 4 za informacije o prevajanju jedra.)

Še eno področje, kjer se lahko pojavijo strojni konflikti, je pri kanalih DMA (angl. direct memory access, neposredni dostop do pomnilnika), V/I naslovih in naslovih deljenega pomnilnika. Vsi od teh izrazov opisujejo mehanizme, skozi katere sistem komunicira s strojnimi napravami. Nekatere omrežne kartice, na primer, uporabljajo deljen pomnilniški naslov kot tudi IRQ za vmesnik do sistema. Če je katerakoli od njih v sporu z drugimi napravami, se sistem lahko obnaša nepredvidljivo. Morali bi imeti možnost spremeniti kanal DMA (angl. DMA channel), naslove za V/I ali deljene pomnilniške naslove za vaše različne naprave z nastavitvami skakačev. (Žal nekatere naprave ne dopuščajo spremembe teh nastavitev.)

Dokumentacija za različne strojne naprave bi morala določati IRQ, kanal DMA, V/Inaslov (angl. I/O address) ali naslov deljenega pomnilnika (angl. shared memory address), ki ga naprave uporabljajo, in vsebovati opise, kako jih nastaviti. Spet je preprost način, da se izognete tem problemom, da začasno onemogočite sporne naprave, dokler nimate časa ugotoviti vzroka problema.

Tabela 2.8 vsebuje seznam IRQ-jev in kanalov DMA, ki jih uporabljajo različne »standardne« naprave na večini sistemov. Skoraj vsi sistemi imajo katero od teh naprav, zato se morate izogibati nastavitvi IRQ-ja ali DMA-ja drugih naprav tako, da so v konfliktu s temi vrednostmi.

Težave s prepoznavanjem trdega diska ali krmilnika Ko se Linux zažene, bi morali na vašem zaslonu videti vrsto sporočil, kot so:

Console: colour EGA+ 80x25, 8 virtual consoles Serial driver version 3.96 with no serial options enabled tty00 at 0x03f8 (irq = 4) is a 16450 tty03 at 0x02e8 (irq = 3) is a 16550A lp_init: lp1 exists (0), using polling driver ...

Naprava  V/I naslov IRQ DMA
ttyS0 (COM1)  3f8  4  n/a
ttyS1 (COM2)  2f8  3  n/a
ttyS2 (COM3)  3e8  4  n/a
ttyS3 (COM4)  2e8  3  n/a
lp0 (LPT1)  378 – 37f 7  n/a
lp1 (LPT2)  278 – 27f 5  n/a
fd0, fd1 (disketnika 1 in 2) 3f0 – 3f7 6  2
fd2, fd3 (disketnika 3 in 4) 370 – 377 10  3

Tabela 2.8: Pogoste nastavitve naprav

Tukaj jedro zaznava različne strojne naprave, ki so v vašem sistemu. Na neki točki bi morali videti vrstico

Partition check:

ki ji sledi seznam prepoznanih particij, na primer:

Partition check: hda: hda1 hda2 hdb: hdb1 hdb2 hdb3

Če iz nekega razloga vaši diski ali particije niso prepoznani, potem do njih nikakor ne boste mogli dostopati.

Obstaja precej stvari, ki lahko povzročijo, da se to zgodi:

• Trdi disk ali krmilnik ni podprt (angl. Hard drive or controller not supported.) Če imate krmilnik trdega diska (IDE, SCSI, ali drugega), ki ni podprt v Linuxu, jedro ne bo prepoznalo vaših particij ob zagonu.

• Disk ali krmilnik je nepravilno nastavljen (angl. Drive or controller improperly configured) Tudi če je vaš krmilnik podprt v Linuxu, morda ni pravilno nastavljen. (To je posebno problem pri krmilnikih SCSI. Mnogi krmilniki, ki niso SCSI, bi morali delovati v redu brez dodatne nastavitve.) Poglejte v dokumentacijo za vaš trdi disk in/ali krmilnik. Mnogi trdi diski morajo imeti skakač nastavljen tako, da so uporabljani kot podrejeni diski (angl. slave drive, druga naprava na primarnem ali sekundarnem vodilu IDE). Kislinski test tovrstnega pogoja je zagon MS-DOS-a ali kakšnega drugega operacijskega sistema, za katerega je znano, da deluje z vašim diskom in krmilnikom. Če lahko dostopate do diska in krmilnika iz drugega operacijskega sistema, problem ni v vaši strojni sestavi. Glejte stran 94 za informacije o razreševanju možnih konfliktov med napravami in stran 97 za informacije o nastavitvah diskov SCSI.

• Krmilnik pravilno nastavljen, a ni zaznan (angl. Controller properly configured, but not detected) Nekateri krmilniki SCSI brez BIOS-a pričakujejo od uporabnika, da bo določil informacije o krmilniku ob zagonu. Opis, kako vsiliti zaznavo strojne opreme za te krmilnike, se začne na strani 97.

• Geometrija trdega diska ni prepoznana (angl. Hard drive geometry not recognized) Nekateri sistemi, kot IBM PS/ValuePoint ne shranjujejo informacij o geometriji trdega diska v pomnilnik CMOS, kjer Linux pričakuje, da jih bo našel. Določenim krmilnikom SCSI je treba povedati, kje lahko najdejo geometrijo diska, če naj Linux prepozna ureditev vašega diska. Večina distribucij ponuja izbire ob zagonu za določitev geometrije diska. V splošnem, ko zaganjate z namestitvenega medija, lahko določite geometrijo diska v zagonskem pozorniku nalagalnika LILO z ukazom, kot je:

boot: linux hd=cilindri,glave,sektorji

kjer cilindri, glave, in sektorji ustrezajo številu cilindrov, glav in sektorjev na sled (angl. cylinders, heads, sectors per track) za vaš trdi disk. Po namestitvi Linuxa boste lahko namestili LILO, ki vam bo omogočal zagon z vašega trdega diska. Takrat boste lahko določili geometrijo diska v nalagalniku LILO in bo nepotrebno, da bi jo še vnašali ob vsakem zagonu. Glejte poglavje 4 za več informacij o nalagalniku LILO.

Težave s krmilniki in napravami SCSI Tukaj je predstavljenih nekaj najpogostejših težav s krmilniki in napravami SCSI, kot so CD-ROM-i, trdi pogoni in tračne enote. Če imate težave s prepričevanjem Linuxa, da prepozna vaš pogon ali krmilnik, berite naprej.

Spis Linux SCSI HOWTO (glejte dodatek A) vsebuje veliko koristnih podatkov o napravah SCSI kot dodatek tukaj naštetim. SCSI je lahko včasih še posebej zapleteno nastaviti.

• Naprava SCSI je zaznana na vseh mogočih ID-jih. To se zgodi zaradi tlačenja naprave na isti naslov kot krmilnik. Spremeniti morate nastavitve skakačev (angl. jumper settings), da bo pogon uporabljal drug naslov kot krmilnik.

• Linux sporoča napake, tudi če se za napravo vé, da deluje brez napak. To se lahko zgodi zaradi slabih kablov ali slabega zaključka. Če se vaše vodilo SCSI ne zaključi na obeh koncih, imate lahko napake pri dostopu do naprav SCSI. Ko ste v dvomih, vedno preverite vaše kable.

• Naprave SCSI poročajo o zakasnitvenih napakah (angl. timeout errors). To se navadno zgodi zaradi spora z IRQ-ji, naslovi za DMA ali naslovi naprav. Preverite tudi, da so prekinitve na vašem krmilniku pravilno omogočene.

• Krmilniki SCSI, ki uporabljajo BIOS, niso zaznani. Zaznava krmilnikov, ki uporabljajo BIOS, bo spodletela, če je BIOS onemogočen ali če jedro ne prepozna podpisa vašega krmilnika. Za več informacij o tem glejte spis Linux SCSI HOWTO, dostopen iz virov, naštetih v dodatku A.

• Krmilniki, ki uporabljajo V/I preslikan v pomnilnik (angl. memory mapped I/O), ne delujejo. Vzrok je, da so v pomnilnik preslikana V/I vrata nepravilno predpomnjena. V nastavitvah XCMOS označite naslovni prostor plošče kot nepredpomnjen ali onemogočite vsakršno predpomnenje.

• Ob razdelitvi diska (angl. partitioning) dobivate sporočila »cylinders > 1024« ali ne morete zagnati sistema s particije z uporabo cilindrov nad 1023. BIOS omejuje število cilindrov na največ 1024, in vse particije, ki uporabljajo cilindre nad to mejo, ne bodo dostopne BIOS-u. Kar se tiče Linuxa, to zadeva le zaganjanje; ko se je enkrat sistem zagnal, bi moral biti sposoben dostopa do particije. Vaši izbiri sta zagon Linuxa z zagonske diskete ali zagon s particije, ki uporablja cilindre, oštevilčene pod 1024.

• Pogon CD-ROM ali druge naprave odstranljivih medijev niso prepoznane ob zagonu. Poskusite zagnati s CD-ROM-om (ali diskom) v pogonu. To je za nekatere naprave potrebno.

Če vaš krmilnik SCSI ni prepoznan, boste morda ob zagonu morali vsiliti zaznavanje strojne opreme. To je posebej pomembno za krmilnike SCSI brez BIOS-a. Večina distribucij vam ob zagonu z namestitvenega medija dovoljuje, da določite IRQ krmilnika (angl. controller IRQ) in naslov deljenega pomnilnika (angl. shared memory address). Na primer, če uporabljate krmilnik TMC-8xx, morda lahko vnesete

boot: linux tmx8xx=prekinitev,pomnilniški-naslov

v zagonski pozornik nalagalnika LILO, kjer je prekinitev IRQ krmilnika in pomnilniškinaslov naslov deljenega pomnilnika. Ali je to mogoče ali ne, je odvisno od distribucije Linuxa; preverite vašo dokumentacijo za podrobnosti.

2.9.3 Težave z namestitvijo programja

Pravzaprav bi morala iti namestitev programja precej brez težav, če imate srečo. Edini problemi, ki jih lahko izkusite, so povezani s pokvarjenim namestitvenim medijem ali pomanjkanjem prostora na vaših datotečnih sistemih za Linux. Tukaj je seznam teh pogostih problemov.

• Sistem med namestitvijo programja poroča o napaki pri branju (»Read error«), manjkajoči datoteki (»file not found«) ali drugih napakah. To nakazuje težave z nastavitvenim medijem. Če nameščate z diskete, se zavedajte, da so diskete precej dovzetne do napak medija. Prepričajte se, da uporabljate povsem nove, na novo formatirane diskete. Če imate na vašem disku particijo za MS-DOS, vam veliko distribucij Linuxa dovoljuje namestitev programja s trdega diska. To je najbrž hitrejše in zanesljivejše kot uporaba disket. Če uporabljate CD-ROM, preverite, da CD ni opraskan, prašen ali kako drugače poškodovan. Vzrok težave je lahko tudi v tem, da je medij nepravilno formatiran. Veliko distribucij Linuxa potrebuje diskete, formatirane v formatu za MS-DOS visoke gostote. (Zagonska disketa je izjema; v večini primerov ni v formatu za MS-DOS.) Če vse drugo odpove, si nabavite nov nabor disket ali jih pripravite (z uporabo novih disket), če ste sami prenesli programsko opremo.

• Sistem poroča o napakah, kot sta »tar: read error« (tar je javil bralno napako) ali »gzip: not in gzip format« (gzip ne prepozna formata). Vzrok te težave so navadno pokvarjene datoteke na namestitvenem mediju. Z drugimi besedami: vaša disketa je lahko brez napak, a podatki na njej so na nek način pokvarjeni. Če ste prek FTP-ja prenesli programje za Linux v tekstovnem namesto v binarnem načinu, so vaše datoteke pokvarjene in neuporabne.

• Sistem med namestitvijo poroča o napaki polne zasedenosti naprave (»device full«), ali čem podobnem. To je jasen znak, da vam je med namestitvijo zmanjkalo prostora. Vse distribucije Linuxa ne znajo čisto pospraviti nereda; ne morete pričakovati, da boste prekinili namestitev in vam bo sistem deloval. Rešitev je navadno v ponovnem ustvarjanju vaših datotečnih sistemov (s pripomočkom mke2fs), ki pobriše prvotno nameščeno programsko opremo. Ponovno lahko poskusite namestiti programje, a tokrat ga izberite manj. Sicer boste morda morali začeti povsem od začetka ter še enkrat premisliti o svojih particijah in velikosti datotečnih sistemov.

• Sistem med dostopom do trdega diska poroča o napakah, kot je »read_intr: 0x10«. To navadno nakazuje slabe bloke na vašem disku. Vendar če dobivate tovrstne napake med uporabo pripomočka mkswap ali mke2fs, ima sistem morda težave z dostopom do vašega diska. To je lahko strojni problem (glejte stran 94) ali pa gre za primer slabo določene geometrije. Če ste ob zagonu uporabili izbiro

hd=cilindri,glave,sektorji

za vsilitev zaznave geometrije vašega diska in napačno določili geometrijo, bi se vam ta problem utegnil pojaviti. To se lahko zgodi tudi, če je geometrija vašega diska nepravilno določena v sistemskih nastavitvah CMOS.

• Sistem poroča o napakah, kot je »file not found« (datoteka ni najdena) ali »permission denied« (dovoljenje zavrnjeno). Ta težava se lahko pojavi, če na namestitvenem mediju manjka katera od potrebnih datotek (glejte naslednji odstavek) ali če gre za problem z dovoljenji za uporabo namestitvenega programja. Na primer, za nekatere distribucije Linuxa je znano, da vsebujejo hrošče že v samem namestitvenem programju. Ti so navadno popravljeni zelo hitro in so precej redki. Če sumite, da vaše distribucijsko programje vsebuje hrošče, in ste prepričani, da niste storili ničesar narobe, se javite vzdrževalcu distribucije s poročilom o hrošču.

Če prejemate ob namestitvi Linuxa druge čudne napake (posebej, če ste sami prenesli programje), se prepričajte, da ste res dobili vse potrebne datoteke. Na primer, nekateri ljudje uporabljajo ukaz za FTP

ftp> mget *.*

ko jemljejo programsko opremo za Linux po FTP-ju. To bo preneslo le tiste datoteke, ki v svojih imenih vsebujejo znak ».«; če obstajajo tudi datoteke brez ».«, jih boste spregledali. Pravilni ukaz se v tem primeru glasi

ftp> mget *

Najboljši nasvet, ko gre kaj narobe, je, da ponovno sledite svojim korakom. Morda mislite, da ste vse naredili pravilno, v resnici pa ste nekje na poti pozabili majhen, a pomemben korak. V veliko primerih lahko ponovno jemanje in ponovna namestitev programja odpravi težave. Ne tolčite z glavo ob zid dlje, kot morate!

Tudi če se Linux nepričakovano obesi med namestitvijo, je lahko prisoten neke vrste strojni problem. Glejte stran 94 za namige.

2.9.4 Problemi po namestitvi Linuxa

Porabili ste celo popoldne za namestitev Linuxa. Da bi naredili prostor zanj, ste izbrisali vaše particije za MS-DOS in OS/2 ter v solzah pobrisali vaše izvode igric SimCity in Wing Commander. Ponovno zaženete sistem in nič se ne zgodi. Ali še slabše, nekaj se zgodi, a to ni tisto, kar bi se moralo zgoditi. Kaj naj storite?

Na strani 92 obravnavamo nekaj najpogostejših težav, ki se lahko zgodijo ob zaganjanju namestitvenega medija za Linux – veliko od teh problemov se lahko pojavlja tudi tukaj. Poleg tega ste morda žrtev ene od naslednjih bolezni.

Težave z zagonom Linuxa z diskete Če za zagon Linuxa uporabljate disketo, morate morda ob zagonu določiti lokacijo vaše korenske particije Linuxa. To je posebej res, če uporabljate samo originalno namestitveno disketo in ne prilagojene zagonske diskete, ki ste jo ustvarili med namestitvijo.

Med zaganjanjem z diskete držite Shift ali Ctrl . To bi vam moralo priklicati zagonski menu. Pritisnite Tab za seznam dostopnih izbir. Na primer, veliko distribucij vam dovoljuje vpis

boot: linux hd=particija

v zagonskem menuju, kjer je particija ime korenske particije Linuxa, kot je /dev/hda2. Preverite dokumentacijo vaše distribucije za podrobnosti.

Težave z zagonom Linuxa s trdega diska Če ste izbrali namestitev nalagalnika LILO namesto ustvarjene zagonske diskete, bi morali biti zmožni zagnati Linux s trdega diska. Vendar avtomatizirani namestitveni postopek nalagalnika LILO, ki ga uporablja veliko distribucij, ni vedno popoln. Lahko naredi veliko napak pri domnevah o ureditvi vaših particij in morali boste ponovno namestiti LILO, da bo vse delovalo. Namestitev nalagalnika LILO je pokrita v poglavju 4.

• Sistem poroča, da se z diska ne da zaganjati sistema in da morate vstaviti

     nov sistemski disk (»Drive not bootable—Please insert system

disk.«) Glavni zagonski zapis trdega diska je nekako pokvarjen. V večini primeri je to neškodljivo in vse na vašem disku je nedotaknjeno. Obstaja nekaj poti okoli tega:

1. Med razdelitvijo vašega diska s fdisk-om ste morda pobrisali particijo, ki je bila označena kot »aktivna« (angl. active). MS-DOS in drugi operacijski sistemi poskušajo v času zagona zaganjati z »aktivne« particije (Linux se ne zmeni, ali je particija »aktivna« ali ne). Morda boste lahko zagnali sistem z zagonske diskete za MS-DOS in pognali FDISK.EXE za nastavitev aktivnostne zastavice na vaši particiji za MS-DOS in vse bo v redu. Drug ukaz, ki ga velja poskusiti (z MS-DOS-om 5.0 ali poznejšim), je:

              FDISK /MBR

Ta ukaz poskuša ponovno zgraditi glavni zagonski zapis trdega diska za zaganjanje MS-DOS-a, tako da prepiše LILO. Če nimate več MS-DOS-a na vašem trdem disku, boste morali zagnati Linux z diskete in pozneje poskušati namestiti LILO.

2. Če ste ustvarili particijo za MS-DOS z uporabo fdisk-a za Linux ali obratno, lahko srečate to napako. Particije za MS-DOS bi morali ustvarili le z različico FDISK.EXE za MS-DOS. (To velja tudi za druge operacijske sisteme.) Najboljša rešitev je, da začnete od začetka in pravilno razdelite svoj disk, ali da le pobrišete in ponovno ustvarite problematične particije s pravilno različico fdisk-a.

3. Namestitvenemu postopku za LILO je morda spodletelo. V tem primeru morate zagnati sistem z vaše zagonske diskete za Linux (če jo imate) ali z izvornega namestitvenega medija. Katerikoli od teh dveh medijev bi moral ponujati izbire za določitev korenske particije Linuxa za uporabo ob zagonu. V času zagona držite Shift ali Ctrl in pritisnite Tab v zagonskem menuju za seznam izbir.

• Ko zaganjate sistem s trdega diska, se zažene MS-DOS (ali drug operacijski sistem) namesto Linuxa. Najprej se prepričajte, da ste ob namestitvi programske opreme za Linux zares namestili tudi LILO. Če ga niste, sistem še vedno zaganja MS-DOS (ali kakršenkoli operacijski sistem že imate), ko poskušate zaganjati s trdega diska. Za zagon Linuxa s trdega diska morate namestiti nalagalnik LILO (glejte poglavje 4). Po drugi strani, če ste namestili LILO in se namesto Linuxa zaganja drug operacijski sistem, ste nastavili LILO tako, da privzeto zaganja drug operacijski sistem. Med zagonom sistema držite Shift ali Ctrl in pritisnite Tab v zagonskem pozorniku. To bi vam moralo predstaviti seznam izbir vseh za zagon možnih operacijskih sistemov; izberite ustrezno (navadno »linux«) za zagon Linuxa. Če želite izbrati Linux kot privzeti operacijski sistem, morate ponovno namestiti LILO. Glejte poglavje 4. Možno je tudi, da ste poskušali namestiti LILO, a je nastavitvenemu postopku nekako spodletelo. Glejte prejšnjo postavko.

Težave pri prijavi Po zagonu Linuxa bi moral biti pred vami prijavni pozornik (angl. login prompt), kot je

linux login:

Na tej točki vam bo dokumentacija distribucije ali pa sam sistem povedal, kaj naj storite. V večini distribucij se preprosto prijavite kot root, brez gesla. Drugi mogoči uporabniški imeni za preizkus sta guest ali test.

Večina na novo nameščenih sistemov Linux ne bi smela potrebovati gesla za prvo prijavo. Vendar, če ste povprašani, da vnesete geslo (angl. password), je problem lahko tu. Najprej poskusite uporabiti geslo, ekvivalentno uporabniškem imenu; se pravi, če se prijavljate kot root, uporabite »root« kot geslo.

Če se preprosto ne morete prijaviti, ste morda v težavah. Najprej poglejte dokumentacijo distribucije; uporabniško ime (angl. user name) in geslo za uporabo (angl. password) morata biti zakopana tam nekje. Uporabniško ime in geslo sta vam lahko izdana tudi med namestitvenim postopkom ali sta natisnjena na prijavnem pozdravnem zaslonu.

Eden od vzrokov so lahko težave pri namestitvi prijavnega programa login in inicializacijskih datotek. Morda boste morali programje za Linux (ali vsaj njegov del) ponovno namestiti ali zagnati vaš namestitveni medij in poskušati popraviti problem ročno – glejte poglavje 4 za namige.

Težave pri uporabi sistema Če je prijava uspešna, bi vas moral pričakati pozornik ukazne lupine (kot »#« ali »$«) in lahko se veselo klatite po vašem sistemu. Vendar je nekaj začetnih problemov pri uporabi sistema, ob katerih vas včasih oblije kurja polt.

Najpogostejši začetni nastavitveni problemi so napačna dovoljenja za uporabo datotek ali imenikov. To lahko povzroči izpis sporočila o napaki

Shell-init: permission denied

po prijavi (pravzaprav, vsakič, ko vidite sporočilo »permission denied« ste lahko kar prepričani, da je problem z dovoljenji za uporabo datotek).

V veliko primerih je to le stvar preproste uporabe ukaza chmod, ki popravi dovoljenja ustreznih datotek ali imenikov. Na primer, nekatere distribucije Linuxa so včasih uporabljale (nepravilni) datotečni način 0644 za korenski imenik (/). To ste lahko popravili z uporabo ukaza

     # chmod 755 /

kot root. Vendar, če ste hoteli uporabiti ta ukaz, ste morali zagnati sistem z namestitvenega medija in ročno priklopiti korenski datotečni sistem Linuxa – gnusno opravilo za večino novincev.

Ko uporabljate sistem, lahko trčite na kraje, kjer so dovoljenja za uporabo datotek in imenikov nastavljena napačno ali pa programje ne deluje tako, kot je nastavljeno. Dobrodošli v svet Linuxa! Medtem ko je večina distribucij precej netežavnih, jih je zelo malo popolnih. Tukaj nočemo pokrivati vseh teh težav. Namesto tega vam bomo skozi to knjigo pomagali rešiti veliko nastavitvenih problemov tako, da vas bomo naučili, kako jih sami najdete in popravite. V poglavju 1 smo podrobno opisali to filozofijo. V poglavju 4 dajemo namige za popravke mnogih od pogostih nastavitvenih problemov.

Učbenik Linuxa

3.1 Uvod

Če ste novinec v Unixu in Linuxu, vas morda malce straši obsežnost in očitna kompleksnost sistema pred vami. To poglavje ne gre v podrobnosti niti ne pokriva naprednih tem. Namesto tega želimo, da stojite na trdnih tleh in da vaš sistem teče.

Tukaj ne predpostavljamo posebnega predznanja, razen morda, da ste kolikor toliko domači z osebnimi računalniškimi sistemi in MS-DOS-om. Vendar tudi če niste uporabnik MS-DOS-a, bi morali biti sposobni razumeti vse od tukaj. Na prvi pogled je Linux precej podoben MS-DOS-u – konec koncev, deli MS-DOS-a so se zgledovali po operacijskem sistemu CP/M, ki se je zgledoval po Unixu. Vendar le najbolj površinske lastnosti Linuxa spominjajo na MS-DOS. Tudi če ste popoln novinec v svetu osebnih računalnikov, vam naj bi ta učbenik pomagal.

In, preden začnemo: Ne bojte se eksperimentiranja. Sistem vas ne bo ugriznil. Ničesar ne morete uničiti, če delate na sistemu. Linux ima vgrajene varnostne zapore, da prepreči »navadnim« uporabnikom poškodbo datotek, ki so nujno potrebne za sistem. Celo tedaj je najhujše, kar se vam lahko zgodi, da pobrišete nekaj ali vse vaše datoteke in boste morali ponovno namestiti sistem. Torej na tej točki nimate česa izgubiti.

3.2 Osnovni pojmi Linuxa

Linux je večopravilni, večuporabniški operacijski sistem, kar pomeni, da lahko več ljudi hkrati poganja več različnih aplikacij na enem samem računalniku. To se razlikuje od MS-DOS-a, kjer sistem hkrati uporablja le ena oseba. Pod Linuxom se morate, kot dokaz vaše istovetnosti, prijaviti, kar vključuje vnos vašega uporabniškega imena (imena, pod katerim vas sistem identificira) in vnos gesla, ki je vaš osebni ključ za prijavo v vaš račun. Ker le vi poznate vaše geslo, se nihče drug ne more prijaviti v sistem pod vašim uporabniškim imenom.

Na tradicionalnih sistemih Unix vam sistemski upravitelj določi uporabniško ime in začetno geslo, ko vam odpre račun na sistemu. Vendar ker ste na vašem Linuxu vi sistemski upravitelj, morate usposobiti vaš lastni račun, preden se lahko prijavite vanj. Za nadaljnje razprave bomo uporabljali izmišljeno uporabniško ime, »larry«.

Nadalje, vsakemu sistemu je prirejeno ime gostitelja. To ime gostitelja določa ime vašega stroja, mu daje značaj in šarm. Ime gostitelja se uporablja za identifikacijo posameznih strojev na mreži, a tudi če vaš stroj ni omrežen, mora imeti ime gostitelja. Za naše nadaljnje primere naj bo gostiteljsko ime »mousehouse«.

3.2.1 Izdelava računa

Preden lahko uporabljate na novo nameščen sistem Linux, morate usposobiti uporabniški račun zase. Navadno ni dobro uporabljati računa root za normalno uporabo; račun root rezervirajte za poganjanje privilegiranih ukazov in za vzdrževanje sistema, kot je opisano spodaj.

Za izdelavo svojega računa se prijavite kot root in uporabite ukaz useradd ali adduser. Glejte razdelek 4.7 za informacije o tem postopku.

3.2.2 Prijava v sistem

Ob prijavi boste videli pozornik, podoben naslednjemu:

mousehouse login:

Vnesite vaše uporabniško ime in pritisnite Enter . Naš junak larry bi napisal:

mousehouse login: larry Password:

Potem vnesite svoje geslo. Znaki, ki jih boste vnašali, se ne bodo videli na zaslonu, zato tipkajte previdno. Če se zatipkate pri vnosu gesla, boste videli sporočilo o napačni prijavi

Login incorrect

in boste morali ponovno poskusiti postopek prijave.

Ko ste enkrat pravilno vnesli uporabniško ime in geslo, ste uradno prijavljeni na sistem in lahko se pričnete klatiti po njem.

3.2.3 Navidezne konzole

Sistemska konzola je sestavljena iz monitorja in tipkovnice, priključene neposredno na sistem. (Ker je Linux večuporabniški operacijski sistem, imate lahko tudi druge terminale, ki so na vaš sistem priključeni prek serijskih vrat, a ti niso konzole.) Linux, kot nekatere druge različice Unixa, ponuja dostop do navideznih konzol (angl. virtual consoles, VCs), ki vam omogočajo, da imate hkrati na konzoli več kot eno prijavno sejo.

Za demonstracijo tega se najprej prijavite v vaš sistem. Potem pritisnite Alt-F2 . Spet bi morali videti prijavni pozornik login:. Gledate drugo navidezno konzolo (VC). Za preklop na prvo VC, pritisnite Alt-F1 . Voila! Vrnili ste se v prvo prijavno sejo.

Novo-nameščeni sistem Linux vam verjetno dovoljuje dostop le do prvega pol ducata (ali kaj takega) navideznih konzol, s pritiskom kombinacij od Alt-F1 do Alt-F4 oziroma kolikor VC je pač nastavljenih na vašem sistemu. Možno je omogočiti do 12 VC – po eno za vsako funkcijsko tipko na vaši tipkovnici. Kot vidite, je uporaba VC lahko zelo zmogljiva, saj lahko delate v precej različnih sejah hkrati.

Medtem ko je uporaba VC včasih omejujoča (konec koncev, naenkrat lahko gledate le eno VC), vam naj bi vendarle dala občutek večopravilnostnih zmožnosti Linuxa. Medtem ko počnete eno stvar na prvi VC, lahko preklopite na drugo VC in delate na nečem drugem.

3.2.4 Ukazne lupine in ukazi

Pri večini vaših odkrivanj sveta Linuxa se boste pogovarjali s sistemom skozi ukazno lupino (angl. shell), programom, ki bere ukaze, ki jih vpišete, in jih prevede v navodila operacijskemu sistemu. To se lahko primerja s programom COMMAND.COM pod MS-DOS-om, ki opravlja pravzaprav enako stvar. Ukazna lupina je le en vmesnik do Linuxa. Obstaja več različnih vmesnikov – na primer grafični vmesnik X Window System, ki vam omogoča poganjanje ukazov z uporabo miške in tipkovnice.

Takoj ko se prijavite v sistem, ta zažene ukazno lupino in začnete lahko z vnosom ukazov. Tukaj je kratek primer. Larry se prijavi in čaka v pozorniku (angl. prompt) ukazne lupine.

mousehouse login: larry

     Password: larryjevo geslo

Welcome to Mousehouse!

/home/larry$

Zadnja vrstica tega teksta je pozornik ukazne lupine, ki nakazuje, da je ukazna lupina pripravljena sprejemati ukaze. (Več o tem, kaj pomeni sam pozornik, kasneje.) Poskusimo naročiti sistemu, da naredi kaj zanimivega:

/home/larry$ make love

make: *** No rule to make target ‘love’. Stop.

/home/larry$

No, kot se izkaže, je make ime pravega programa na sistemu, in ukazna lupina je izvedla ta program, ko smo ji tako ukazali. (Žal je bil sistem neprijazen.)

To nas privede do žgočega vprašanja: Kaj je ukaz? Kaj se zgodi, ko vpišete »make love«? Prva beseda v ukazni vrstici, »make«, je ime ukaza, ki naj se izvede. Vse drugo v ukazni vrstici šteje za argument temu ukazu. Primer:

/home/larry$ cp foo bar

Ime tega ukaza je »cp«, argumenta sta »foo« in »bar«.

Ko vnesete ukaz, naredi ukazna lupina precej stvari. Najprej preveri ukaz ter pogleda ali je vgrajen v ukazno lupino. (Se pravi, ali je to ukaz, ki ga zna izvesti sama lupina. Obstaja vrsta takih ukazov in vanje se bomo poglobili pozneje.) Lupina tudi preveri, ali je ukaz vzdevek (angl. alias) ali nadomestno ime za drug ukaz. Če noben od teh pogojev ni izpolnjen, ukazna lupina na disku poišče program z danim imenom. Če je pri iskanju uspešna, lupina požene program in mu pošlje argumente, podane v ukazni vrstici.

V našem primeru ukazna lupina išče program, imenovan make, in ga požene z argumentom love. Make je program, ki se pogosto uporablja pri prevajanju velikih programov in vzame za argumente imena »cilja« (angl. target) za prevod. V primeru ukaza »make love« smo naročili programu make, naj prevede cilj love. Ker make ne more najti cilja s tem imenom, se pritoži s šegavim sporočilom o napaki in nas postavi v ukazno vrstico.

Kaj se zgodi, če vpišemo ukaz v ukazno lupino in lupina ne more najti programa z določenim imenom? No, poskusimo lahko naslednje:

/home/larry$ eat dirt eat: command not found /home/larry$

Precej preprosto, če ukazna lupina ne more najti programa z imenom, danim v ukazni vrstici (tukaj »eat«), izpiše sporočilo o napaki. Pogosto boste videli to sporočilo o napaki, če boste zatipkali ukaz (na primer, če ste napisali »mkae love« namesto »make love«).

3.2.5 Odjava iz sistema

Preden se še bolj zatopimo, vam moramo povedati, kako se lahko odjavite iz sistema. V ukazni vrstici uporabite ukaz

/home/larry$ exit

za odjavo. Obstajajo tudi drugi načini odjave iz sistema, a ta je najbolj otročje lahek.

3.2.6 Sprememba vašega gesla

Vedeti morate tudi, kako spremeniti svoje geslo. Ukaz passwd vas vpraša za vaše staro geslo in za novo geslo (angl. old & new password). Prosi vas tudi, da ponovno vnesete novo geslo za preverbo. Pazite, da ne boste pozabili svojega gesla – če ga, boste morali prositi sistemskega upravitelja, da ga spet nastavi. (Če ste vi ta sistemski upravitelj, glejte stran 158.)

3.2.7 Datoteke in imeniki

Pod večino operacijskih sistemov (vključno z Linuxom) obstaja pojem datoteke, ki je le skupek informacij pod nekim imenom (imenovanim ime datoteke). Primeri datotek so lahko vaš seminar iz zgodovine, e-poštno sporočilo ali pravi program, ki se lahko izvede. V bistvu se vse, kar se posname na disk, posname kot posamična datoteka.

Datoteke (angl. files) se prepoznavajo po njihovih imenih datotek (angl. file names). Na primer, datoteka z vašim seminarjem iz zgodovine se lahko posname z imenom datoteke zgodovinski-seminar. Ta imena navadno določajo datoteko in njeno vsebino v neki obliki, ki ima za vas pomen. Za imena datotek ni standardnega formata, kot je pod MS-DOS-om in nekaterimi drugimi operacijskimi sistemi; v splošnem lahko ime datoteke vsebuje katerikoli znak (razen znaka »/« – glejte razpravo o imenih poti spodaj) in je po dolžini omejeno na 256 znakov.

S pojmom datotek pride tudi pojem imenikov. Imenik je zbirka datotek. Predstavljate si ga lahko kot »mapo«, ki vsebuje mnoge različne datoteke. Imenikom so prirejena imena, pod katerimi jih lahko istovetite. Nadalje, imeniki so vzdrževani v drevesu podobni strukturi; se pravi, imeniki lahko vsebujejo druge imenike.

Na datoteko se lahko torej sklicujete z njenim imenom poti (angl. path name), ki jo sestavlja ime datoteke, pred katerim je ime imenika, ki vsebuje datoteko. Na primer, denimo, da ima Larry imenik z imenom papers, ki vsebuje tri datoteke: history-final, english-lit in masters-thesis. Vsaka od teh treh datotek vsebuje informacije o treh Larryjevih projektih. Za sklicevanje na datoteko english-lit lahko Larry določi ime datoteke kot v:

papers/english-lit

Kot vidite, imenik in ime datoteke ločuje ena sama poševnica (/). To je razlog, da sama imena datotek ne morejo vsebovati znaka /. Uporabnikom MS-DOS-a se bo zdelo to pravilo domače, čeprav se v svetu MS-DOS-a namesto tega uporablja poševnica vznak (\).

Slika 3.1: Tipično (okrnjeno) drevo imenikov Linuxa

Kot smo že omenili, se imeniki tudi lahko gnezdijo drug v drugega. Na primer, denimo, da obstaja še en imenik znotraj papers, imenovan notes. Imenik notes vsebuje datoteke math-notes in cheat-sheet. Ime poti do datoteke cheat-sheet bi bilo

papers/notes/cheat-sheet

Torej je ime poti res kot pot do datoteke. Imenik, ki vsebuje dani podimenik, je znan kot starševski imenik. Tukaj je imenik papers starševski imenik imenika notes.

3.2.8 Drevo imenikov

Mnogi sistemi Linux uporabljajo standardni načrt za datoteke, tako da se sistemski viri in programi lahko zlahka poiščejo. Ta načrt tvori drevo imenikov, ki se začenja z imenikom »/«, znanim tudi kot »korenski imenik«. Neposredno pod / so pomembni podimeniki: /bin, /etc, /dev, /usr in drugi. Ti imeniki spet vsebujejo druge imenike, ki vsebujejo nastavitvene datoteke sistema, programe in tako naprej.

Vsak uporabnik ima svoj domači imenik, ki je imenik, namenjen uporabnikovem shranjevanju svojih datotek. V zgornjih primerih so vse Larryjeve datoteke (kot cheat-sheet in history-final) shranjene v njegovem domačem imeniku. Navadno so uporabniški domači imeniki vsebovani pod imenikom /home in so poimenovani po uporabniku, ki je lastnik tega imenika. Larryjev domači imenik je /home/larry.

Diagram na strani 107 kaže primer drevesa imenikov, ki naj bi vam dal predstavo, kako je organizirano drevo imenikov na vašem sistemu.

3.2.9 Trenutni delovni imenik

Za ukaze, ki jih vnašate, se vedno predpostavlja, da so relativni glede na vaš trenutni delovni imenik. Delovni imenik si lahko zamišljate kot imenik, v katerem se trenutno »nahajate«. Ko se prvič prijavite, je vaš delovni imenik nastavljen na domači imenik – v našem primeru /home/larry. Kadar se sklicujete na datoteko, se lahko sklicujete nanjo v odvisnosti od vašega trenutnega delovnega imenika, namesto da določate polno ime datoteke.

Tukaj je primer. Larry ima imenik papers, in imenik papers vsebuje datoteko history-final. Če želi Larry pogledati vsebino te datoteke, lahko uporabi ukaz

     /home/larry$ more /home/larry/papers/history-final

Ukaz more preprosto izpiše datoteko, po en zaslon naenkrat. A ker je Larryjev trenutni imenik /home/larry, se lahko namesto tega sklicuje na datoteko relativno glede na svojo trenutno lokacijo, z uporabo ukaza

     /home/larry$ more papers/history-final

Če imena datoteke (kot papers/final) ne začnete z znakom /, se sklicujete na datoteko v izrazih, relativnih glede na vaš trenutni delovni imenik. To je znano kot relativno ime poti.

Po drugi strani, če začnete ime datotek z znakom /, ga sistem tolmači kot polno ime poti – se pravi, ime poti, ki vključuje celotno pot do datoteke, začenši od korenskega imenika, /. To je znano kot absolutno ali polno ime poti.

3.2.10 Sklicevanje na domače imenike

Pod ukaznima lupinama tcsh in bash^{1} lahko določite vaš domači imenik z znakom za tildo (˜ ). Na primer, ukaz

     /home/larry$ more ˜ /papers/history-final

je ekvivalenten ukazu

     /home/larry$ more /home/larry/papers/history-final

Ukazna lupina nadomesti znak ˜ z imenom vašega domačega imenika.

Z znakom za tildo lahko določate tudi domače imenike drugih uporabnikov. Ime poti ˜ karl/letters ukazna lupina tolmači kot /home/karl/letters (če je /home/karl domači imenik uporabnika karl). Uporaba tilde je preprosto bližnjica; ni imenika, imenovanega ˜ – to je le skladenjski posladek, ki ga priskrbi ukazna lupina.

3.3 Prvi koraki v Linuxu

Preden začnemo, je pomembno vedeti, da Linux razlikuje med velikimi in malimi črkami pri vseh imenih datotek in ukazov (za razliko od operacijskih sistemov, kot je MS-DOS). Na primer, ukaz make je zelo različen od Make ali MAKE. Isto velja za imena datotek in imenikov.

1tcsh in bash sta dve ukazni lupini, ki tečeta na Linuxu. Ukazna lupina je program, ki bere uporabniške ukaze in jih izvaja; večina sistemov Linux omogoča tcsh ali bash za račune novih uporabnikov.

3.3.1 Premikanje naokrog

Zdaj ko se znate prijaviti in veste, kako se sklicujete na datoteke z uporabo imen poti, si oglejmo še, kako lahko spremenite svoj trenutni delovni imenik.

Ukaz za premikanje po strukturi imenikov se imenuje cd (iz angleškega izraza »change directory«, sprememba imenika). Mnogo pogosto uporabljanih ukazov Linuxa je dolgih dve ali tri črke. Uporaba ukaza cd je

cd imenik

kjer je imenik ime imenika, za katerega želite, da postane vaš trenutni delovni imenik.

Kot je bilo že omenjeno, ob prijavi začnete v svojem domačem imeniku. Če bi Larry želel preklopiti v podimenik papers, bi uporabil ukaz

/home/larry$ cd papers /home/larry/papers$

Kot lahko vidite, se Larryjev pozornik spreminja, da odraža njegov trenutni delovni imenik (tako, da ve, kje je). Zdaj, ko je v imeniku papers, lahko pogleda svoj zaključni spis iz zgodovine z ukazom

/home/larry/papers$ more history-final

Zdaj je Larry obtičal v podimeniku papers. Za premik nazaj v naslednji višji (ali starševski) imenik, uporabite ukaz

/home/larry/papers$ cd ..

/home/larry$

(Pazite na presledek med »cd« in »..«.) Vsak imenik ima vnos, imenovan »..«, ki se nanaša na njegov starševski imenik. Podobno, vsak imenik ima vnos, imenovan ».«, ki se nanaša na njega. Torej nas ukaz

/home/larry/papers$ cd .

pusti v istem imeniku.

Z ukazom cd lahko uporabljate tudi absolutna imena poti. Za cd v Karlov domači imenik lahko uporabimo ukaz

/home/larry/papers$ cd /home/karl /home/karl$

Tudi uporaba cd brez argumentov nas bo vrnila v naš lastni domači imenik.

/home/karl$ cd /home/larry$

3.3.2 Ogled vsebine imenikov

Zdaj ko veste, kako se premikati po imenikih, si morda mislite, »Pa kaj?«. Premikanje po imenikih je samo po sebi precej neuporabno, zato uvedimo nov ukaz, ls. Ukaz ls izpiše seznam datotek in imenikov, privzeto iz vašega trenutnega imenika. Na primer:

/home/larry$ ls

Mail letters papers /home/larry$

Tukaj vidimo, da ima Larry tri vnose v svojem trenutnem imeniku: Mail, letters in papers. To nam ne pove veliko – so to imeniki ali datoteke? Lahko uporabimo izbiro -F ukaza ls za podrobnejše informacije.

/home/larry$ ls -F

Mail/ letters/ papers/ /home/larry$

Iz znaka /, ki je pripet vsakemu imenu datoteke, vemo, da so ti trije vnosi pravzaprav podimeniki.

Uporaba ls -F lahko v izpisu tudi pripne »*« na konec imena datoteke, kar pomeni, da je datoteka izvedljiva oziroma program, ki se lahko požene. Če ni ničesar pripetega imenu datoteke ob uporabi ls -F, je datoteka »navadna stara datoteka«, se pravi, ni niti imenik niti izvedljiva datoteka.

V splošnem vsak ukaz Unixa lahko vzame številne izbire poleg drugih argumentov. Te izbire se navadno začenjajo z znakom »-«, kot smo videli zgoraj pri izbiri -F. Izbira -F pove ukazu ls, naj izda več informacij o tipu datotek – v tem primeru izpiše / za vsakim imenom imenika.

Če podate ukazu ls ime imenika, bo sistem izpisal vsebino tega imenika.

/home/larry$ ls -F papers

english-lit history-final masters-thesis notes/ /home/larry$

Za bolj zanimiv izpis poglejmo, kaj je v sistemskem imeniku /etc.

/home/larry$ ls /etc

Images  group  pac  rpcinfo
adm  inet  passwd  securetty
bcheckrc  init  printcap  services
brc  init.d  profile  shells
brc  initrunlvl  psdatabase  startcons
csh.cshrc  inittab  rc  swapoff
csh.login  inittab.old  rc.new  swapon
default  issue  rc0.d  syslog.conf
disktab  lilo  rc1.d  syslog.pid
fdprm  lpc  rc2.d  syslogd.reload
fstab  magic  rc3.d  termcap
ftpaccess  motd  rc4.d  umount

ftpusers  mount  rc5.d  update
getty  mtab  rmt  utmp
gettydefs  mtools  rpc  wtmp

/home/larry$

Če ste uporabnik MS-DOS-a, boste opazili, da so imena datotek lahko daljša od 8 znakov in lahko vsebujejo pike na kateremkoli položaju. V imenu datoteke lahko uporabljate celo več kot eno piko.

Premaknimo se na vrh drevesa imenikov in potem navzdol do drugega imenika, z ukazi

/home/larry$ cd ..

/home$ cd ..

     /$ cd usr
     /usr$ cd bin

/usr/bin$

V imenike se lahko premikate tudi v enem koraku kot v ukazu cd /usr/bin.

Poskusite se premikati po različnih imenikih in uporabljajte ls in cd. V nekaterih primerih trčite ob slabo znamenje v obliki sporočila o napaki zavrnitve dostopa (»Permission denied«). To je le varnost Unixa, ki se oglaša: če želite uporabljati ukaza ls ali cd, morate imeti za to potrebna dovoljenja. O tem bomo spregovorili več od strani 126 naprej.

3.3.3 Ustvarjanje novih imenikov

Čas je, da se naučimo, kako ustvariti imenike. To vključuje uporabo ukaza mkdir. Poskusite naslednje:

/home/larry$ mkdir foo /home/larry$ ls -F Mail/ foo/ letters/ papers/ /home/larry$ cd foo /home/larry/foo$ ls /home/larry/foo$

Čestitamo! Naredili ste nov imenik in se premaknili vanj. Ker v tem novem imeniku še ni datotek, se naučimo, kako prepišete datoteke z enega mesta na drugo.

3.3.4 Prepisovanje datotek

Za prepisovanje datotek uporabljajte ukaz cp, kot je prikazano tukaj:

/home/larry/foo$ cp /etc/termcap . /home/larry/foo$ cp /etc/shells . /home/larry/foo$ ls -F shells termcap /home/larry/foo$ cp shells bells /home/larry/foo$ ls -F bells shells termcap /home/larry/foo$

Ukaz cp prepiše datoteke, navedene v ukazni vrstici, v datoteko ali imenik, določen z zadnjim argumentom. Tu uporabljamo ».« za sklicevanje na trenutni imenik.

3.3.5 Premikanje datotek

Ukaz mv premika datoteke, namesto da bi jih prepisal. Skladnja je zelo premočrtna:

/home/larry/foo$ mv termcap sells /home/larry/foo$ ls -F bells sells shells /home/larry/foo$

S tem smo datoteko termcap preimenovali v sells. Ukaz mv lahko uporabljate tudi za premikanje datoteke v popolnoma nov imenik.

◇ Pozor! Ukaza mv in cp bosta prepisala ciljno datoteko z istim imenom, ne da bi vas vprašala. Bodite previdni pri premikanju datoteke v drugi imenik. Morda je tam že datoteka z istim imenom, ki jo boste prepisali!

3.3.6 Brisanje datotek in imenikov

Zdaj se vam pri uporabi ukaza ls razvija grda rima. Za brisanje datoteke uporabite ukaz rm (iz angleškega izraza »remove«, odstrani) kot je prikazano tukaj:

/home/larry/foo$ rm bells sells /home/larry/foo$ ls -F shells /home/larry/foo$

Ostalo nam ni nič drugega kot shells, a ne bomo se pritoževali. Vedite, da vas ukaz rm, privzeto, ne bo vprašal, ali naj izbriše datoteko – zato bodite previdni.

Ukazu rm je soroden ukaz rmdir. Ta ukaz izbriše imenik, a le, če je ta prazen. Če imenik vsebuje kakšno datoteko ali podimenik, ga rmdir ne bo pobrisal, ampak se bo pritožil.

3.3.7 Ogled datotek

Ukaza more in cat se uporabljata za ogled vsebine datotek. Ukaz more izpiše datoteko po en zaslon naenkrat, medtem ko cat izpiše vso datoteko naenkrat.

Za ogled datoteke shells uporabite ukaz

/home/larry/foo$ more shells

V primeru, da vas zanima, kaj vsebuje datoteka shells: to je seznam veljavnih programov za ukazno lupino na vašem sistemu. Na večini sistemov to vključuje /bin/sh, /bin/bash in /bin/csh. O teh različnih vrstah ukaznih lupin bomo spregovorili kasneje.

Med uporabo more pritisnite Space (tipko presledek) za izpis naslednje strani s tekstom in b za izpis prejšnje strani. V pripomočku more so dostopni tudi drugi ukazi, ta dva sta le osnova. Pritisk na q bo zaključil more.

Zapustite more in poskusite cat /etc/termcap. Besedilo bo verjetno letelo prehitro, da bi ga sploh lahko brali. Ime »cat« pravzaprav izhaja iz angleške besede »concatenate«, ki pomeni »povezati«, »spenjati« in res opisuje uporabo tega programa. Ukaz cat se lahko uporablja za spenjanje vsebine različnih datotek in shranjevanje rezultata v drugo datoteko. To bo na vrsti ponovno v razdelku 3.14.1.

3.3.8 Dobivanje pomoči na zvezi

Skoraj vsak sistem Unix, vključno z Linuxom, priskrbi pripomoček, znan kot strani priročnika (angl. manual pages). Te strani priročnika vsebujejo dokumentacijo, dostopno na zvezi, za sistemske ukaze, vire, nastavitvene datoteke in tako naprej.

Ukaz, ki se uporablja za dostop do strani priročnika, se imenuje man. Če bi radi izvedeli več o drugih izbirah ukaza ls, lahko napišete

/home/larry$ man ls

in prikazana bo stran priročnika o ukazu ls.

Žal je večina strani priročnika napisana za tiste, ki vsaj približno že vedo kaj počne ukaz ali vir. Zato strani priročnika navadno vsebujejo le tehnične podrobnosti o ukazu, brez veliko razlage. Vendar so strani priročnika neprecenljiv vir za osvežitev vašega spomina, če pozabite skladnjo nekega ukaza. Strani priročnika vam bodo povedale tudi o ukazih, ki jih ne pokrivamo v tej knjigi.

Priporočam, da uporabite man za ukaze, ki smo jih že spoznali, in tako vsakič, ko uvedemo nov ukaz. Nekateri od teh ukazov ne bodo imeli strani v priročniku, iz različnih vzrokov. Najprej, strani priročnika morda še niso bile napisane. (Dokumentacijski projekt za Linux je odgovoren tudi za strani priročnika v Linuxu. Sčasoma pridobivamo večino strani priročnika, dostopnih za sistem.) Drugič, ukaz je lahko notranji ukaz ukazne lupine (razložen na strani 105) ali vzdevek, ki ne bo imel svoje strani v priročniku. En primer je že cd, ki je notranji ukaz lupine. Ukazna lupina pravzaprav sama izvede cd – ni posebnega programa, ki bi izvedel ta ukaz.

3.4 Dostop do datotek MS-DOS-a

Če zaradi kakršnegakoli sprevrženega in bizarnega razloga želite dostopati do datotek MS-DOS-a, se to v Linuxu naredi zlahka.

Običajen način za dostop do datotek za MS-DOS je priklop dosovske particije ali diskete pod Linuxom, kar vam dovoljuje dostop do datotek neposredno skozi datotečni sistem. Na primer, če imate disketo za MS-DOS v /dev/fd0, jo bo ukaz

     # mount -t msdos /dev/fd0 /mnt

priklopil pod /mnt. Glejte razdelek 4.9.4 za več informacij o priklopu disket.

Priklopite lahko tudi particije za MS-DOS na vašem trdem disku ter potem dostopate do njih. Če je particija z MS-DOS-om /dev/hda1, jo priklopi ukaz

     # mount -t msdos /dev/hda1 /mnt

Poskrbite, da boste particijo odklopili z umount, ko jo nehate uporabljati. Particija za MS-DOS se lahko samodejno priklopi, če vključite ustrezen vnos v datoteko /etc/fstab. Glejte razdelek 4.5 za podrobnosti. Naslednja vrstica v /etc/fstab bo priklopila particijo za MS-DOS /dev/hda1 v imenik /dos.

/dev/hda1  /dos  msdos  defaults

Priklopite lahko tudi datotečne sisteme VFAT, ki jih uporablja Windows 95:

     # mount -t vfat /dev/hda1 /mnt

To dovoljuje dostop do dolgih imen datotek sistema Windows 95. To se nanaša le na particije, ki imajo zares shranjena dolga imena datotek. Tega ne morete uporabiti, da bi priklopili navadni datotečni sistem FAT16 in uporabljali dolga imena datotek.

Za dostop do datotek za MS-DOS se lahko uporablja tudi programje Mtools. Ukazi mcd, mdir in mcopy se vsi obnašajo kot njihovi ekvivalenti v MS-DOS-u. Če namestite Mtools, bi morale biti dostopne tudi strani priročnika za te ukaze.

Dostopanje do datotek za MS-DOS je ena stvar; poganjanje programov za MS-DOS je druga. Za Linux se razvija program MS-DOS Emulator, emulacija MS-DOS-a; dostopen je na široko in vključen v večino distribucij. Vzamete ga lahko s številnih lokacij, vključno z različnimi mesti za prenos datotek Linuxa po FTP, naštetimi v dodatku B. Za MS-DOS Emulator poročajo, da je dovolj zmogljiv, da z njim tečejo v Linuxu številne aplikacije, vključno z WordPerfectom. Vendar sta Linux in MS-DOS nadvse različna operacijska sistema. Zmogljivost vsakega emulatorja za MS-DOS pod Unixom je omejena. Poleg tega se razvija tudi emulacija Microsoft Windows, ki teče pod grafičnim sistemom X Window.

3.5 Povzetek osnovnih ukazov Unixa

Ta razdelek predstavlja nekatere od najbolj uporabnih osnovnih ukazov sistema Unix, vključno s tistimi, ki so pokriti v prejšnjih razdelkih.

Upoštevajte, da se izbire navadno začnejo z znakom »-«, in v večini primerov lahko določite več kot eno izbiro z enim samim znakom »-«. Na primer, namesto da bi uporabljali ukaz ls -l -F, lahko uporabljate ls -lF.

Namesto da bi vam izpisali vsako izbiro vsakega ukaza, vam predstavljamo le v tem času uporabne ali pomembne ukaze. Pravzaprav ima večina teh ukazov izbire, ki jih ne boste nikoli uporabljali. Strani priročnika o vsakem posameznem ukazu si lahko ogledate z uporabo man, ki izpiše seznam vseh dostopnih izbir.

Upoštevajte tudi, da veliko ukazov vzame kot argument seznam datotek ali imenikov, označenih v tej tabeli kot »datoteka_{1} … datoteka_{N}«. Na primer, ukaz cp vzame za argument seznam datotek za prepis, ki mu sledi ciljna datoteka ali imenik. Ko prepisujete več kot eno datoteko, mora biti cilj imenik.

cd Spremeni trenutni delovni imenik.

Skladnja: cd imenik

Kjer je imenik ime imenika, v katerega želite vstopiti. (».« se nanaša na trenutni imenik, »..« na starševski imenik. Če ni določen noben imenik, se privzame vaš domači imenik.) Primer: cd ../foo nastavi vaš trenutni imenik za en nivo navzgor in spet za en nivo navzdol v foo.

ls Prikaže seznam datotek in imenikov.

Skladnja: ls datoteke

Kjer so datoteke imena datotek ali imenikov za izpis. Najpogosteje uporabljani izbiri sta -F (za prikaz tipa datoteke) in -l (za »dolgi« izpis, ki vključuje velikost datoteke, lastnika, dovoljenja za dostop do datoteke in tako naprej). Primer: ls -lF /home/larry izpiše vsebino imenika /home/larry.

cp Prepiše eno ali več datotek v drugo datoteko ali v imenik.

Skladnja: cp datoteke cilj Kjer datoteke našteva datoteke za prepis in je cilj ciljna datoteka ali imenik. Primer: cp ../frog joe prepiše datoteko ../frog v datoteko ali imenik joe.

mv Premakne eno ali več datotek v drugo datoteko ali imenik. Ta ukaz je ekvivalenten prepisu, ki mu sledi izbris izvorne datoteke. To lahko uporabljate za preimenovanje datotek kot pri ukazu RENAME v MS-DOS-u. Skladnja: mv datoteke cilj Kjer datoteke našteva datoteke za premik in je cilj ciljna datoteka ali imenik. Primer: mv ../frog joe premakne datoteko ../frog v datoteko ali imenik joe.

rm Izbriše datoteke. Upoštevajte, da datotek ne morete več dobiti nazaj, ko jih enkrat v Unixu izbrišete (za razliko od MS-DOS-a, kjer lahko navadno »odbrišete« datoteko). Skladnja: rm datoteke Kjer datoteke opisujejo imena datotek za brisanje. Izbira -i vas vpraša za potrditev pred izbrisom datoteke. Primer: rm -i /home/larry/joe /home/larry/frog pobriše datoteki joe in frog v imeniku /home/larry.

mkdir Ustvari nove imenike.

Skladnja: mkdir imeniki Kjer so imeniki imeniki, ki naj se ustvarijo. Primer: mkdir /home/larry/test ustvari imenik test v imeniku /home/larry.

rmdir Izbriše prazne imenike. Ko uporabljate rmdir, trenutni delovni imenik ne sme biti znotraj imenika, ki ga izbrisujete. Skladnja: rmdir imeniki Kjer imeniki definira imenike za izbris. Primer: rmdir /home/larry/papers izbriše imenik /home/larry/papers, če je prazen.

man Prikaže stran priročnika za dani ukaz ali vir (se pravi, vsak sistemski pripomoček, ki ni ukaz, kot je knjižnična funkcija). Skladnja: man ukaz Kjer je ukaz ime ukaza ali vira, za katerega bi radi dobili pomoč. Primer: man ls izpiše pomoč o ukazu ls.

more Prikaže vsebino poimenovanih datotek, po en zaslon naenkrat. Skladnja: more datoteke Kjer datoteke naštevajo seznam datotek za prikaz. Primer: more papers/history-final prikaže datoteko papers/history-final.

cat Uradno se uporablja za združevanje datotek, a cat se uporablja tudi za prikaz vsebine datoteke na zaslonu. Skladnja: cat datoteke Kjer so v seznamu datoteke naštete datoteke, katerih vsebina naj se združi in prikaže. Primer: cat letters/from-mdw prikaže vsebino datoteke letters/from-mdw.

echo Izpiše dane argumente na zaslon.

Skladnja: echo argumenti Kjer so argumenti argumenti, ki naj se izpišejo. Primer: echo "Zdravo, svet" izpiše niz »Zdravo, svet«.

grep Izpiše vsako vrstico v eni ali več datotekah, ki ustreza danemu vzorcu. Skladnja: grep vzorec datoteke Kjer je vzorec vzorec regularnih izrazov in datoteke našteva seznam datotek za iskanje. Primer: grep loomer /etc/hosts izpiše vse vrstice v datoteki /etc/hosts, ki vsebujejo vzorec »loomer«.

3.6 Raziskovanje datotečnega sistema

Datotečni sistem je zbirka datotek in hierarhije imenikov na sistemu. Prišel je čas, da vas pospremimo skozi datotečni sistem.

Zdaj imate veščine in znanje, da razumete datotečni sistem Linuxa, in imate tudi zemljevid (poglejte na diagram na strani 107).

Najprej pojdite v korenski imenik (cd /) in vnesite ls -F za izpis njegove vsebine. Verjetno boste videli naslednje imenike^{2}: bin, dev, etc, home, install, lib, mnt, proc, root, tmp, user, usr in var.

Zdaj si oglejmo vsakega od teh imenikov.

/bin /bin je kratko za »binarne« ali izvedljive datoteke, kjer počiva veliko programov, nujnih za sistem. Uporabite ls -F /bin za izpis tamkajšnjih datotek. Če pogledate na dobljeni spisek, boste lahko videli nekatere ukaze, ki jih prepoznate, kot so cp, ls in mv. Ti so pravi programi za te ukaze. Ko uporabite na primer ukaz cp, s tem poženete program /bin/cp.

Z uporabo ls -F boste videli, da ima večina (če ne vse) datotek v imeniku /bin za imenom zvezdico (»*«). To pomeni, da so te datoteke izvedljive, kot je bilo opisano na strani 109.

/dev »Datoteke« v imeniku /dev so datoteke naprav (angl. device files) – prek njih se dostopa do sistemskih naprav in virov, kot so diskovni pogoni, modemi in pomnilnik. Kot lahko vaš sistem bere podatke iz datoteke, lahko bere tudi vhod iz miške z dostopom do datoteke naprave /dev/mouse.

2Lahko vidite tudi druge in morda ne boste videli vseh. Vsaka izdaja Linuxa se razlikuje v nekaterih pogledih.

Datoteke, katerih imena se začenjajo s fd, so disketniške naprave. fd0 je prvi disketnik in fd1 je drugi. Morda ste opazili, da je naštetih več disketnih naprav kot le dve zgoraj omenjeni: te predstavljajo različne tipe disket. Na primer, fd1H1440 dostopa do 3,5-disket visoke gostote v prvem disketniku.

Sledi seznam nekaterih najpogosteje uporabljanih datotek naprav. Četudi morda nimate vseh fizičnih naprav, naštetih spodaj, imate verjetno v imeniku /dev vseeno gonilnik zanjo.

• /dev/console se nanaša na sistemsko konzolo – se pravi na monitor, priključen neposredno na vaš sistem.

• Različne naprave /dev/ttyS in /dev/cua se uporabljajo za dostop do zaporednih vrat. /dev/ttyS0 se nanaša na »COM1« v MS-DOS-u. Naprave /dev/cua so naprave za »klic ven« (angl. callout) in se uporabljajo z modemom.

• Prek naprav z imeni, ki se začenjajo na hd (iz angl. hard drives), dostopamo do trdih diskov. /dev/hda se nanaša na celoten prvi trdi disk, medtem ko se /dev/hda1 nanaša na prvo particijo na /dev/hda.

• Naprave, katerih imena se začenjajo s sd, so pogoni SCSI (angl. SCSI drive). Če imate trdi disk SCSI, boste do njega dostopali kot /dev/sda namesto /dev/hda. Do tračnih enot SCSI dostopamo prek naprav st in do CD-ROM-ov SCSI prek naprav sr.

• Prek naprav z imeni, ki se začenjajo na lp, dostopamo do vzporednih vrat. /dev/lp0 je isto kot »LPT1« v svetu MS-DOS-a.

• /dev/null se uporablja kot »črna luknja« – podatki, poslani na to napravo, so za vedno izgubljeni. Zakaj je to uporabno? No, če želite ukiniti izhod ukaza, ki se prikazuje na vašem zaslonu, lahko pošljete ta izhod na ničelno napravo /dev/null. Več o tem bomo govorili pozneje.

• Naprave, katerih imena so /dev/tty, ki mu sledi številka, se nanašajo na »navidezne konzole« (angl. virtual console, VC) vašega sistema (do njih dostopate s pritiskom Alt-F1 , Alt-F2 in tako naprej), pa tudi na čisto prave terminale, priključene na zaporedna vrata. /dev/tty1 se nanaša na prvo navidezno konzolo, /dev/tty2 na drugo in tako naprej.

• Naprave, katerih imena se začenjajo z /dev/pty, so psevdoterminali, ki se uporabljajo, da ponudijo »terminal« oddaljenim prijavnim sejam. Na primer, če je vaš stroj na omrežju, bodo prihajajoče prijave z uporabo telnet uporabljale eno od naprav /dev/pty.

/etc /etc vsebuje številne različne nastavitvene datoteke sistema. Te vključujejo /etc/passwd (bazo podatkov o uporabnikih), /etc/rc (sistemski inicializacijski skript) in tako naprej.

/sbin /sbin vsebuje nujne sistemske binarne datoteke, ki se uporabljajo pri upravljanju sistema.

/home /home vsebuje domače imenike uporabnikov. Na primer, /home/larry je domači imenik uporabnika »larry«. Na sveže nameščenem sistemu morda ne bo nobenih uporabnikov v tem imeniku.

/lib /lib vsebuje slike deljenih knjižnic. To so datoteke, ki vsebujejo kodo, skupno več programom. Namesto da vsak program uporablja svoj izvod teh podprogramov, so vsi shranjeni na enem samem skupnem mestu, v imeniku /lib. To naredi izvedljive datoteke manjše in varčuje s prostorom na vašem sistemu.

/proc /proc podpira »navidezni datotečni sistem« (angl. virtual file system, VFS), kjer so datoteke shranjene v pomnilniku, ne na disku. Te »datoteke« se nanašajo na različne procese, ki tečejo na sistemu, in vam omogočajo pridobitev informacij o programih in procesih, ki se v vsakem času izvajajo na sistemu. Več o tem bomo razložili na strani 131 in naslednjih straneh.

/tmp Mnogi programi shranjujejo začasne informacije v kakšno datoteko, ki se pobriše, ko program preneha z izvajanjem. Standardno mesto za te datoteke je v imeniku /tmp.

/usr /usr je zelo pomemben imenik, ki vsebuje podimenike z nekaterimi najpomembnejšimi in najuporabnejšimi programi in nastavitvenimi datotekami, uporabljanimi na sistemu.

Različni imeniki, opisani zgoraj, so nujni za delovanje sistema, a večina postavk v imeniku /usr je izbirnih. Vendar je sistem uporaben in zanimiv prav zaradi teh izbirnih delov. Brez imenika /usr bi imeli dolgočasen sistem, ki bi podpiral le programe, kot sta cp in ls. /usr vsebuje večino večjih programskih paketov in namestitvene datoteke, ki jih spremljajo.

/usr/X11R6 /usr/X11R6 vsebuje grafični vmesnik X Window System, če ste ga namestili. X Window System je veliko, zmogljivo grafično okolje, ki ponuja veliko število grafičnih pripomočkov in programov, prikazanih v »oknih« na vašem zaslonu. Če ste navajeni na okolja Microsoft Windows ali Macintosh, se vam bo tudi okenski sistem X Window zdel domač. Imenik /usr/X11R6 vsebuje vse izvedljive datoteke za sistem X Window, nastavitvene datoteke in podporne datoteke. To je podrobneje pokrito v poglavju 5.

/usr/bin /usr/bin je pravo skladišče programja na vsakem sistemu Linux. Vsebuje večino izvedljivih datotek za programe, ki jih ne najdete na drugih

mestih, kot /bin.

/usr/etc Kakor /etc vsebuje različne nujno potrebne sistemske programe in namestitvene datoteke, tako /usr/etc vsebuje različne pripomočke in datoteke, ki v splošnem niso nujni za sistem.

/usr/include /usr/include vsebuje glave za prevajalnik programskega jezika C. Te datoteke (večina od njih se konča s .h kot »glava« (angl. header)) določajo imena podatkovnih struktur, podprogramov in konstant, ki se uporabljajo pri pisanju programov v C-ju. Datoteke v imeniku /usr/include/sys se v splošnem uporabljajo za programiranje na sistemskem nivoju Unixa. Če ste domači v programskem jeziku C, boste tukaj našli datoteke z glavami kot stdio.h, ki deklarirajo funkcije, kot je printf().

/usr/g++-include /usr/g++-include vsebuje vključne datoteke za prevajalnik za C++ (precej podobno kot /usr/include).

/usr/lib /usr/lib vsebuje »štoraste« in »statične« ekvivalente datotek, najdenih v /lib. Ko prevajate program, se program »povezuje« s knjižnicami, najdenimi v /usr/lib, ki potem naročijo programu, naj pogleda v /lib, ko potrebuje pravo kodo. Poleg tega tudi različni drugi programi shranjujejo nastavitvene datoteke v imeniku /usr/lib.

/usr/local /usr/local je precej podoben /usr – vsebuje različne programe in datoteke, ki niso nujne za sistem, a naredijo sistem zabaven in vznemirljiv. V splošnem so programi v /usr/local specializirani za vaš sistem – posledično se /usr/local zelo razlikuje pri posameznih sistemih Linux.

/usr/man Ta imenik vsebuje strani priročnika. V njem sta dva podimenika za vsak »razdelek« (angl. section) strani priročnika (uporabite ukaz man man za podrobnosti). Na primer, /usr/man/man1 vsebuje izvorno kodo (se pravi, neformatirani izvirnik) za strani priročnika v razdelku 1, /usr/man/cat1 pa vsebuje formatirane strani priročnika za razdelek 1.

/usr/src /usr/src vsebuje izvorno kodo (neprevedena navodila) za različne programe na vašem sistemu. Najpomembnejši imenik tukaj je /usr/src/linux, ki vsebuje izvorno kodo jedra za Linux.

/var /var vsebuje imenike, katerih velikost se pogosto spreminja ali se sčasoma veča. Večina od teh imenikov je včasih ležala v /usr, a ker skušajo tisti, ki podpirajo Linux, ta imenik obdržati relativno nespremenljiv, so se imeniki, ki se pogosto spreminjajo, preselili v /var. Nekatere distribucije Linuxa vzdržujejo svoje baze podatkov o programskih paketih v imenikih pod /var.

/var/log /var/log vsebuje različne datoteke, ki zanimajo sistemskega upravitelja, posebej dnevnike sistemske aktivnosti, ki zapisujejo napake ali probleme sistema. Druge datoteke beležijo prijave v sistem kot tudi neuspele

poskuse prijav. To bo pokrito v poglavju 4.

/var/spool /var/spool vsebuje datoteke, ki v vrsti čakajo na obdelavo. Te so »navite« (angl. spooled) na neki program. Na primer, če imate tiskalnik, se datoteke, ki čakajo na tiskanje, začasno shranjujejo v imeniku /var/spool/lp. Če je vaš stroj povezan v omrežje, se prihajajoča pošta shranjuje v imeniku /var/spool/mail, dokler je ne preberete ali pobrišete, odhajajoči ali prihajajoči novičarski članki so v imeniku /var/spool/news in tako naprej.

3.7 Tipi ukaznih lupin

Kot je bilo že omenjeno, je Linux večopravilni, večuporabniški operacijski sistem. Večopravilnost je zelo uporabna, in ko jo enkrat razumete, jo boste uporabljali vseskozi. Ne bo dolgo, ko boste poganjali programe v ozadju, preklapljali med opravili in povezovali programe s cevovodi, da boste dosegli zapletene rezultate z enim ukazom.

Veliko lastnosti, ki jih pokrivamo v tem razdelku, ponuja sama ukazna lupina. Bodite previdni, da ne boste zamešali Linuxa (pravega operacijskega sistema) z ukazno lupino – lupina je le vmesnik do spodaj ležečega sistema. Ukazna lupina priskrbi funkcionalnost poleg samega Linuxa.

Ukazna lupina ni le tolmač za interaktivne ukaze, ki jih vpisujete v pozornik, ampak ima vgrajen tudi zmogljiv programski jezik. Omogoča vam pisanje lupinskih skriptov (angl. shell scripts) za »pakiranje« različnih lupinskih ukazov v skupno datoteko. Če poznate MS-DOS, boste prepoznali podobnost s »paketnimi datotekami«. Lupinski skripti so zelo zmogljivo orodje, ki vam omogoča avtomatizacijo in razširitev vaše uporabe Linuxa. Glejte stran 141 za več informacij.

V svetu Linuxa obstajajo različni tipi ukaznih lupin. Dva glavna tipa sta »Bournova lupina« in »lupina C« (C shell). Bournova lupina uporablja ukazno skladnjo, podobno originalni ukazni lupini na zgodnjih sistemih Unix, kot je System III. Ime Bournove lupine na večini sistemov Linux je /bin/sh (kjer sh pomeni »shell«, ukazno lupino). Lupina C uporablja drugačno skladnjo, nekako podobno programskem jeziku C, in je na večini sistemov Linux imenovana /bin/csh.

Pod Linuxom so dostopne različne variacije teh ukaznih lupin. Dve najpogosteje uporabljani sta ukazna lupina Bourne Again Shell ali »Bash« (/bin/bash) in »Tcsh« (/bin/tcsh). bash je oblika Bournove lupine, ki vključuje veliko naprednih značilnosti, ki jih najdemo v lupini C. Ker bash podpira nadmnožico skladnje Bournove lupine, bo lupinski skript, napisan v standardni Bournovi lupini, deloval tudi z lupino bash. Če raje uporabljate skladnjo lupine C, Linux podpira tcsh, ki je razširjena različica izvorne lupine C.

Tip uporabljane ukazne lupine, za katerega se odločite, je predvsem religiozno vprašanje. Nekaterim je ljubša skladnja Bournove lupine z naprednimi odlikami bash-a, drugim je ljubša bolj strukturirana skladnja lupine C. Kar se tiče navadnih ukazov, kot sta cp in ls, ukazna lupina, ki jo uporabljate, ni pomembna – skladnja je enaka. Le kadar začnete pisati lupinske skripte ali uporabljati napredne značilnosti lupine, igrajo vlogo razlike med različnimi tipi ukaznih lupin.

Ko razlagamo značilnosti različnih ukaznih lupin, bomo opazili različnosti med Bournovo in lupino C. Vendar so za potrebe tega priročnika te razlike večinoma minimalne. (Če ste na tej točki zares radovedni, preberite strani priročnika o lupinah bash in tcsh).

3.8 Džokerji

Glavna značilnost večine ukaznih lupin Linuxa je zmožnost sklicevanja na več kot eno datoteko z uporabo posebnih znakov. Ti džokerji (angl. wildcards) vam omogočajo sklicevanje na, denimo, vsa imena datotek, ki vsebujejo znak »n«.

Džoker »*« lahko zamenja katerikoli znak ali niz znakov v imenu datoteke. Ko v imenu datoteke uporabite znak »*«, ga ukazna lupina zamenja z vsemi mogočimi zamenjavami iz imen datotek, ki so v imeniku, v katerem se sklicujete.

Tukaj je preprost primer. Denimo, da ima Larry v svojem trenutnem imeniku datoteke frog, joe in stuff.

/home/larry$ ls

frog joe stuff /home/larry$

Za določitev vseh datotek, katerih ime vsebuje črko »o«, uporabite ukaz

/home/larry$ ls *o* frog joe /home/larry$

Kot lahko vidite, je vsaka pojavitev »*« zamenjana z vsemi nadomestitvami, ki ustrezajo džokerju iz imen datotek v trenutnem imeniku.

Uporaba samega znaka »*« preprosto ustreza vsem imenom datotek, saj vsi znaki ustrezajo džokerju.

/home/larry$ ls * frog joe stuff /home/larry$

Tukaj je še nekaj več primerov:

/home/larry$ ls f* frog /home/larry$ ls *ff stuff /home/larry$ ls *f* frog stuff /home/larry$ ls s*f stuff /home/larry$

Proces spremembe »*« v seznam imen datotek se imenuje razvitje džokerjev (angl. wildcard expansion) in ga opravi ukazna lupina. To je pomembno: posamezen ukaz, kot je ls,nikoli ne vidi »*« v svojem seznamu parametrov. Ukazna lupina razvije džoker tako, da vključi vsa imena datotek, ki mu ustrezajo. Torej ukaz

/home/larry$ ls *o*

razvije ukazna lupina v ukaz

/home/larry$ ls frog joe

Pomembno opozorilo o džokerju »*«: ta ne ustreza imenom datotek, ki se začenjajo s piko (».«). Te datoteke veljajo za skrite datoteke – čeprav niso zares skrite, se ne prikažejo v običajnih izpisih programa ls in jih uporaba džokerja »*« ne zadeva.

Tukaj je primer. Omenili smo že, da vsak imenik vsebuje dva posebna vnosa: ».« se nanaša na trenutni imenik, in »..« na starševski imenik. Vendar ko uporabljate ls, se ta dva vnosa ne prikažeta.

/home/larry$ ls

frog joe stuff

/home/larry$

Če uporabite stikalo -a ukaza ls, pa lahko prikažete imena datotek, ki se začenjajo s piko. Poglejte:

/home/larry$ ls -a

. .. .bash_profile .bashrc frog joe stuff /home/larry$

Seznam vsebuje dva posebna vnosa, ».« in »..«, kot tudi dve drugi »skriti« datoteki – .bash_profile in .bashrc. Ti dve datoteki sta začetni datoteki, ki ju uporablja bash, ko se larry prijavi v sistem. Opisani sta od strani 145 naprej.

Upoštevajte, da se ob uporabi džokerja »*« ne prikaže nobeno ime datoteke, ki se začne z ».«.

/home/larry$ ls * frog joe stuff /home/larry$

To je varnostna lastnost: če bi znak »*« ustrezal imenom datotek, ki se začnejo z ».«, bi tudi ustrezal imenom imenikov ».« in »..«. To je lahko pri uporabi nekaterih ukazov nevarno.

Še en džoker je »?«. Džoker »?« se lahko zamenja v en sam znak. Torej, »ls ?« prikaže vsa imena datotek z enim samim znakom. In »ls termca?« bi prikazalo »termcap« a ne tudi »termcap.backup«. Tukaj je še en primer:

/home/larry$ ls j?e

joe

/home/larry$ ls f??g

frog

/home/larry$ ls ????f

stuff

/home/larry$

Kot lahko vidite, vam džokerji dovoljujejo določitev veliko datotek hkrati. V pregledu ukazov, ki se začenja na strani 114, smo dejali, da lahko ukaza cp in mv pravzaprav prepisujeta ali premikata več kot eno datoteko naenkrat. Na primer,

     /home/larry$ cp /etc/s* /home/larry

prepiše vse datoteke iz /etc, ki se začenjajo s »s«, v imenik /home/larry. Oblika uporabe ukaza cp je v resnici

cp datoteke cilj

kjer datoteke naštevajo ime datotek za prepis in je cilj ciljna datoteka ali imenik. mv ima identično skladnjo.

Če prepisujete ali premikate več kot eno datoteko, mora biti cilj imenik. Le eno samo datoteko lahko prepišete ali premaknete v drugo datoteko.

3.9 Vodovodne inštalacije Linuxa

3.9.1 Standardni vhod in standardni izhod

Veliko ukazov Linuxa bere vhod in podatke iz tega, kar se imenuje standardni vhod in pošilja svoj izhod na standardni izhod (pogosto sta ta dva pojma okrajšana kot stdin in stdout). Vaša ukazna lupina uredi zadeve tako, da je standardni vhod vaša tipkovnica, standardni izhod pa zaslon.

Tukaj je primer uporabe ukaza cat. Navadno bere cat podatke iz vseh datotek, določenih v ukazni vrstici, in pošlje te podatke neposredno na stdout. Torej uporaba ukaza

     /home/larry/papers$ cat history-final masters-thesis

izpiše vsebino datoteke history-final, ki ji sledi vsebina datoteke masters-thesis.

A če ne določite imena datoteke, cat bere podatke iz stdin in jih pošilja na stdout. Tukaj je primer:

/home/larry/papers$ cat

     Pozdravljeni.

Pozdravljeni.

     Na svidenje.

Na svidenje. Ctrl-D /home/larry/papers$

Vsaka vrstica, ki ste jo vpisali, takoj odmeva nazaj v cat-u. Ko berete s standardnega vhoda, določite, da je vaš vnos »končan« tako, da pošljete signal za konec teksta, imenovan signal EOT (iz angl. end-of-text signal), v splošnem ga dobite s pritiskom Ctrl-D .

Tukaj je še en primer. Ukaz sort prebere vrstice teksta (spet iz standardnega vhoda, razen če določite eno ali več datotek) in pošlje urejen izhod na standardni izhod. Poskusite naslednje.

/home/larry/papers$ sort

     korenje
     banane
     jabolka

Ctrl-D banane jabolka korenje /home/larry/papers$

Zdaj lahko svoj nakupovalni spisek uredimo po abecedi … mar ni Linux uporaben?

3.9.2 Preusmeritev vhoda in izhoda

Zdaj denimo, da želite poslati izhod ukaza sort v datoteko, da boste shranili vaš nakupovalni spisek na disk. Ukazna lupina vam omogoča preusmeritev standardnega izhoda v datoteko z uporabo znaka »>«. Takole to deluje:

     /home/larry/papers$ sort > nakupovalni-spisek
     korenje
     banane
     jabolka

Ctrl-D /home/larry/papers$

Kot lahko vidite, se rezultat ukaza sort ni prikazal, a je shranjen v datoteki, imenovani nakupovalni-spisek. Poglejmo vsebino te datoteke:

     /home/larry/papers$ cat nakupovalni-spisek

banane jabolka korenje /home/larry/papers$

Zdaj lahko uredite vaš nakupovalni spisek in ga tudi shranite! A denimo, da shranjujete neurejen, izvorni nakupovalni spisek v datoteko stvari. En način urejanja te informacije in shranjevanja v datoteko bi bil, da daste ukazu sort ime datoteke za branje namesto standardnega vhoda, in preusmerite standardni izhod, kot smo to naredili zgoraj. Torej takole:

     /home/larry/papers$ sort stvari > nakupovalni-spisek
     /home/larry/papers$ cat nakupovalni-spisek

banane jabolka korenje /home/larry/papers$

Vendar obstaja tudi druga pot za dosego tega. Ne le, da lahko preusmerite standardni izhod, preusmerite lahko tudi standardni vhod, z uporabo znaka »<«.

/home/larry/papers$ sort < stvari

banane jabolka korenje /home/larry/papers$

Tehnično je »sort < stvari« ekvivalenten »sort stvari«, a vam omogoča demonstracijo naslednje stvari: sort < stvari se obnaša, kot da bi bili podatki v datoteki stvari vtipkani na standardnem vhodu. Ukazna lupina ureja preusmerjanje. Ukazu sort ni dano ime datoteke (stvari), s katere naj bere; kar se tiče sort-a, še vedno bere s standardnega vhoda, kot če bi vnesli podatke z vašo tipkovnico.

To uvaja koncept filtra. Filter je program, ki bere podatke s standardnega vhoda, jih na nek način obdela in pošlje obdelane podatke na standardni izhod. Z uporabo preusmerjevanja (angl. redirection) se na standardni vhod in izhod lahko sklicujete iz datotek. Kot smo omenili, stdin in stdout privzeto ustrezata tipkovnici in zaslonu, po vrsti. Pripomoček sort je preprost filter. Uredi vhodne podatke in pošlje rezultat na standardni izhod. Pripomoček cat je še preprostejši. Ničesar ne naredi z vhodnimi podatki, le izpiše, kar pač že dobi.

3.9.3 Uporaba cevi

Pokazali smo že, kako uporabljati sort kot filter. Vendar ti primeri predpostavljajo, da imate podatke nekje shranjene v datoteki ali ste pripravljeni sami vpisati vse podatke standardnega vhoda. Kaj, če podatki, ki jih želite urediti, pridejo kot izhod nekega drugega ukaza, kot je ls?

Izbira -r ukaza sort uredi podatke v obratnem abecednem vrstnem redu. Če želite našteti imena datotek v vašem trenutnem imeniku v obratnem vrstnem redu, je en način za to naslednji:

/home/larry/papers$ ls

english-list history-final masters-thesis notes

Zdaj preusmerimo izhod ukaza ls v datoteko, imenovano file-list:

/home/larry/papers$ ls > file-list /home/larry/papers$ sort -r file-list notes masters-thesis history-final english-list /home/larry/papers$

Tukaj shranjujemo izhod ukaza ls v datoteko, in potem na tej datoteki poženemo sort -r. A to je nepripravno in uporablja začasno datoteko za shranjevanje podatkov iz ls.

Rešitev je uporaba cevovoda (angl. pipeline). To je lastnost ukazne lupine, ki poveže niz ukazov s »cevjo« (angl. pipe). Standardni izhod prvega ukaza se pošlje na stdin drugega ukaza. V tem primeru želimo poslati stdout ukaza ls na stdin ukaza sort. Uporabimo znak »|« za ustvarjanje cevi, kot sledi:

/home/larry/papers$ ls | sort -r notes masters-thesis history-final english-list /home/larry/papers$

Ta ukaz je krajši in lažji za vnos.

Tukaj je še en uporaben primer, ukaz

/home/larry/papers$ ls /usr/bin

izpiše dolg seznam imen datotek, večina od njih preleti zaslon prehitro, da bi jih lahko prebrali. Zato uporabimo more za prikaz seznama datotek v /usr/bin.

/home/larry/papers$ ls /usr/bin | more

Zdaj se lahko pomikate po seznamu teh datotek po svoji volji.

A zabava se tu še ne konča! S cevmi lahko povežete skupaj tudi več kot dva ukaza. Ukaz head je filter, ki prikaže prve vrstice vhodnega toka (v tem primeru, vhod iz cevi). Če želite prikazati ime datoteke v trenutnem imeniku, zadnje po abecednem redu, uporabljajte ukaze, kot so naslednji:

/home/larry/papers$ ls | sort -r | head -1 notes /home/larry/papers$

kjer head -1 izpiše prvo vrstico vhoda, ki jo sprejme (v tem primeru tok podatkov iz ls, urejenih po obratnem abecednem redu).

3.9.4 Ne-uničevalna preusmeritev izhoda

Uporaba »>« za preusmeritev izhoda v datoteko je uničevalna; z drugimi besedami, ukaz

/home/larry/papers$ ls > file-list

prepiše vsebino datoteke file-list. Če namesto tega preusmerjate s simbolom »>>«, bo izhod pripet na (dodan na konec) poimenovano datoteko, namesto da bi jo prepisal. Na primer,

/home/larry/papers$ ls >> file-list

pripne izhod ukaza ls na datoteko file-list.

Zavedajte se, da so preusmerjanje in cevi lastnosti ukazne lupine – ki podpira uporabo »>«, »>>« in »|«. To nima nič opraviti s samimi ukazi.

3.10 Dovoljenja datotek

3.10.1 Koncepti dovoljenj datotek

Ker je na sistemu Linux tipično več kot en uporabnik, Linux ponuja mehanizem, znan kot dovoljenja datotek, ki ščiti vaše uporabniške datoteke pred brkljanjem drugih uporabnikov. Ta mehanizem omogoča datotekam in imenikom, da so »last« določenega uporabnika. Na primer, ker je Larry ustvaril datoteke v svojem domačem imeniku, je Larry njihov lastnik in ima do njih dostop.

Linux tudi dovoljuje delitev datotek med uporabniki in skupinami uporabnikov. Če Larry tako želi, lahko onemogoči dostop do svojih datotek, da do njih ne bo mogel dostopati noben drug uporabnik. Vendar je na večini sistemov privzeto dovoliti drugim uporabnikom branje svojih datotek, ne pa tudi njihovo spreminjanje ali brisanje.

Vsako datoteko si lasti določen uporabnik. Vendar so datoteke tudi last določene skupine (angl. group) uporabnikov sistema. Vsak uporabnik se ob stvaritvi uporabniškega računa dodeli vsaj v eno skupino. Sistemski upravitelj pa lahko podeli uporabniku dostop do več kot ene tovrstne skupine.

Skupine navadno določa vrsta uporabnikov, ki dostopajo do stroja. Na primer, na univerzitetnem sistemu Linux so lahko uporabniki razdeljeni v skupine studenti, osebje, predavatelji ali gostje. Obstaja tudi nekaj sistemsko definiranih skupin (kot sta skupini bin in admin), ki jih uporablja sam sistem za nadzor dostopa do virov – zelo redko v ti sistemski skupini spadajo pravi uporabniki.

Dovoljenja so razdeljena v tri glavne oddelke: branje, pisanje in izvajanje. Ta dovoljenja so lahko dana trem razredom uporabnikov: lastniku datoteke, skupini, kateri pripada datoteka, in vsem uporabnikom, ne glede na skupino.

Dovoljenje za branje pusti uporabniku brati vsebino datoteke ali, v primeru imenikov, izpis vsebine imenika (z uporabo ls). Dovoljenje za pisanje dovoljuje uporabniku pisanje ali spreminjanje datoteke. Pri imenikih, dovoljenje za pisanje dovoljuje uporabniku ustvarjanje novih datotek ali brisanje starih datotek v tem imeniku. Končno, dovoljenje za izvajanje dovoljuje uporabniku pogon datoteke kot programa ali skripta ukazne lupine (če je datoteka program ali skript ukazne lupine). Pri imenikih omogoča posest dovoljenja za izvajanje uporabniku cd v ta imenik.

3.10.2 Razlaga dovoljenj datotek

Poglejmo primer, ki demonstrira dovoljenja datotek. Z uporabo ukaza ls z izbiro -l se prikaže »dolgi« izpis imena datoteke, vključno z dovoljenji za uporabo te datoteke.

/home/larry/foo$ ls -l stuff

-rw-r--r-- 1 larry users 505 Mar 13 19:05 stuff /home/larry/foo$

Prvo polje v izpisu predstavlja dovoljenja za uporabo datoteke. Tretje polje vsebuje lastnika datoteke (to je larry) in četrto polje je skupina, kateri datoteka pripada (users). Zadnje polje je očitno ime datoteke (stuff). Druga polja bomo obravnavali pozneje.

To datoteko si lasti larry, in pripada skupini users. Niz -rw-r--r-- po vrsti našteva dovoljenja, dana lastniku datoteke, skupini datoteke in vsem ostalim.

Prvi znak niza dovoljenj (»-«) predstavlja tip datoteke. Znak »-« pomeni, da je to običajna datoteka (za razliko od imenika ali gonilnika naprave). Naslednji trije znaki (»rw-«) predstavljajo dovoljenja, podeljena lastniku datoteke larry. Črka »r« pomeni »branje« (angl. read) in črka »w« pomeni »pisanje« (angl. write). Torej, larry ima dovoljenja za branje in pisanje datoteke stuff.

Kot smo omenili, poleg dovoljenj za branje in pisanje obstaja tudi dovoljenje za »izvajanje« (angl. execute) – predstavlja ga črka »x«. Vendar je tukaj namesto »x« naštet »-«, torej Larry nima dovoljenja za poganjanje te datoteke. To je v redu, saj datoteka stuff ni program kakršnekoli vrste. Seveda, ker je Larry lastnik te datoteke, si lahko podeli dovoljenja za izvajanje datoteke stuff, če tako želi. (O tem bomo spregovorili v kratkem.)

Naslednji trije znaki, (»r--«), predstavljajo dovoljenja skupine do uporabe datoteke. Skupina, ki si lasti to datoteko, se imenuje users. Ker se tukaj pojavlja le »r«, lahko vsak uporabnik, ki pripada skupini users, bere to datoteko.

Zadnji trije znaki, tudi (»r--«), predstavljajo dovoljenja, podeljena vsem uporabnikom sistema (razen lastnika datoteke in uporabnikom skupine users). Spet, ker je prisoten le »r«, lahko drugi uporabniki berejo datoteko, a ne morejo vanjo pisati ali je izvajati.

Tukaj je nekaj drugih primerov dovoljenj:

-rwxr-xr-x Lastnik datoteke lahko bere, piše in izvaja datoteko. Uporabniki v skupini datoteke in vsi drugi uporabniki lahko berejo in izvajajo datoteko.

-rw------- Lastnik te datoteke lahko bere in piše v datoteko. Do datoteke ne more dostopati noben drug uporabnik.

-rwxrwxrwx Vsi uporabniki lahko berejo, pišejo in izvajajo datoteko.

3.10.3 Odvisnosti dovoljenj

Dovoljenja za dostop do datoteke so tudi odvisna od dovoljenj za dostop do imenika, v katerem je datoteka. Na primer, če so dovoljenja datoteke nastavljena na -rwxrwxrwx, drugi uporabniki ne morejo dostopati do datoteke, razen če imajo bralni ali izvajalni dostop do imenika, v katerem je datoteka. Na primer, če bi Larry želel omejiti dostop do vseh svojih datotek, bi lahko nastavil dovoljenja svojega domačega imenika /home/larry na -rwx------. Na ta način noben drug uporabnik nima dostopa do njegovega imenika in datotek in imenikov v njem. Larryju ni treba skrbeti o posameznih dovoljenjih za vsako od njegovih datotek.

Z drugimi besedami, če želite sploh dostopati do datoteke, morate imeti izvajalni dostop do vseh imenikov po poti datoteke in dovoljenje za branje (ali izvajanje) same datoteke.

Uporabniki na sistemu Linux so, navadno, zelo radodarni s svojimi datotekami. Običajen nabor dovoljenj za dostop do datotek je -rw-r--r--, kar omogoča branje datoteke drugim uporabnikom, a brez vsakih sprememb. Običajen nabor dovoljenj za imenike je -rwxr-xr-x, kar omogoča drugim uporabnikom sprehod po imenikih, a brez ustvarjanja ali brisanja datotek v njih.

Vendar veliko uporabnikov želi obdržati druge uporabnike čimdlje od njihovih datotek. Nastavitve dovoljenj datoteke na -rw------- bo preprečevala vsem drugim uporabnikom dostop do datoteke. Podobno, nastavitev dovoljenj imenika na -rwx------ prepreči vstop drugim uporabnikom v ta imenik.

3.10.4 Spreminjanje dovoljenj

Ukaz chmod se uporablja za nastavitev dovoljenj za dostop do datoteke. Dovoljenja lahko spreminja le lastnik datoteke. Skladnja ukaza chmod je

chmod {a,u,g,o}{+,-}{r,w,x} imena_datotek

Na kratko, podajte eno ali več od črk »a« (vsi, angl. all), »u« (uporabnik, angl. user), »g« (skupina, angl. group) ali »o« (ostali, angl. other). Potem določite, ali naj se pravice dodajo (+) ali odvzamejo (-). Končno, določite še eno ali več dovoljenj za branje (angl. read), pisanje (angl. write) in izvajanje (angl. execute). Nekateri primeri legalnih ukazov so:

chmod a+r stuff To podeli vsem uporabnikom dovoljenje za branje te datoteke.

chmod +r stuff Kot zgoraj – če ni določen noben znak od a, u, g ali o, se privzame a.

chmod og-x stuff Prekliče dovoljenje za izvajanje vsem uporabnikom razen lastniku.

chmod u+rwx stuff Dovoli uporabniku datoteke branje, pisanje in izvajanje datoteke. chmod o-rwx stuff

Prekliče dovoljenja za branje, pisanje in izvajanje vsem uporabnikom razen lastniku in uporabnikom v skupini, v katere lasti je datoteka.

3.11 Upravljanje s povezavami datotek

Povezave vam omogočijo, da daste eni datoteki več kot eno ime. Sistem navadno prepozna datoteke po njihovem številu inode, ki je le enoličen sistemski razpoznavni znak te datoteke. Imenik je navadno seznam števil inode z njihovimi ustreznimi imeni datotek. Vsako ime datoteke v imeniku je povezava (angl. link) do določene informacije inode.

3.11.1 Trde povezave

Ukaz ln se uporablja za ustvarjanje več povezav do ene datoteke. Denimo, da imate v imeniku datoteko, imenovano foo. Z uporabo ls -i lahko pogledate število inode za to datoteko.

/home/larry$ ls -i foo

22192 foo /home/larry$

Tukaj ima foo v datotečnem sistemu prirejeno število inode 22192. Takole lahko ustvarite še eno povezavo, po imenu bar, do foo:

/home/larry$ ln foo bar

Z uporabo ls -i boste videli, da imata ti dve datoteki isto število inode.

/home/larry$ ls -i foo bar 22192 bar 22192 foo /home/larry$

Zdaj lahko do iste datoteke dostopate prek imena foo ali pa bar. Če naredite spremembe v datoteki foo, se te spremembe pojavijo tudi v datoteki bar. Za vse namene sta foo in bar ista datoteka.

Tovrstne povezave so znane kot trde povezave (angl. hard links), saj ustvarijo neposredno povezavo na inode. Upoštevajte, da lahko trdo povežete datoteki le, če ležita na istem datotečnem sistemu; simbolne povezave (glejte spodaj) nimajo te omejitve.

Ko pobrišete datoteko z rm, pravzaprav pobrišete le eno povezavo do nje. Če uporabite ukaz

/home/larry$ rm foo

se pobriše le povezava, imenovana foo, bar bo še vedno obstajala. Datoteka je zares odstranjena s sistema le, ko ni več povezav do nje. Navadno imajo datoteke le po eno povezavo, zato uporaba ukaza rm pobriše datoteko. Vendar če ima datoteka več povezav do nje, bo uporaba rm pobrisala le eno povezavo; za brisanje datoteke morate pobrisati vse povezave do nje.

Ukaz ls -l prikaže število povezav do datoteke (med ostalimi informacijami).

/home/larry$ ls -l foo bar

-rw-r--r-- 2 root  root  12 Aug 5 16:51 bar
-rw-r--r-- 2 root  root  12 Aug 5 16:50 foo

/home/larry$

Drugi stolpec v izpisu, »2«, prikazuje število povezav do datoteke.

Kot se izkaže, je imenik pravzaprav le datoteka, ki vsebuje informacije o zvezah med povezavami in inodi. Vsak imenik vsebuje tudi vsaj dve trdi povezavi: ».« (povezavo, ki kaže nanj) in »..« (povezavo, ki kaže na starševski imenik). Povezava »..« korenskega imenika (/) kaže le nazaj na /. (Z drugimi besedami, starševski imenik korenskega imenika je sam korenski imenik.)

3.11.2 Simbolne povezave

Simbolne povezave (angl. symbolical links, ali symlinks) so še ena vrsta povezave, ki je drugačna od trdih povezav. Simbolna povezava vam omogoča določitev drugega imena, a ne poveže datoteke z inode.

Ukaz ln -s ustvari simbolno povezavo do datoteke. Na primer, če uporabljate ukaz

/home/larry$ ln -s foo bar

boste ustvarili simbolno povezavo, imenovano bar, ki kaže na datoteko foo. Če uporabite ls -i, boste videli, da imata ti dve datoteki zares različni števili inode.

/home/larry$ ls -i foo bar

22195 bar 22192 foo

/home/larry$

Vendar z uporabo ls -l vidimo, da je datoteka bar simbolna povezava, ki kaže na foo.

/home/larry$ ls -l foo bar

lrwxrwxrwx 1 root  root  3 Aug 5 16:51 bar -> foo
-rw-r--r-- 1 root  root  12 Aug 5 16:50 foo

/home/larry$

Dovoljenja datoteke se pri simbolni povezavi ne uporabljajo (vedno so oblike rwxrwxrwx). Namesto tega se uporabljajo dovoljenja cilja simbolne povezave (v našem primeru datoteke foo).

Funkcionalno so trde in simbolne povezave podobne, a obstajajo razlike. Ena od njih je, da lahko ustvarite simbolno povezavo do datoteke, ki ne obstaja; kar ne velja za trde povezave. Simbolne povezave obdela jedro drugače kot trde, kar je le tehnična, a včasih pomembna, razlika. Simbolne povezave so nam v pomoč, ker določajo datoteko, na katero kažejo; pri trdih povezavah ni preprostega načina za ugotovitev, katere datoteke so povezane na ista števila inode.

Povezave se uporabljajo v sistemu Linux na veliko mestih. Simbolne povezave so posebej pomembne pri slikah deljenih knjižnic v imeniku /lib. Glejte stran 175 za več informacij.

3.12 Nadzor opravil

3.12.1 Opravila in procesi

Nadzor opravil (angl. job control) je lastnost, ki jo ponuja mnogo ukaznih lupin (vključno z bash in tcsh), ki vam omogoča nadzor več tekočih ukazov ali opravil naenkrat. Preden se potopimo globlje, moramo spregovoriti o procesih.

Vsakič, ko poženete program, začnete to, kar se imenuje proces. Ukaz ps izpiše spisek procesov, ki trenutno tečejo, kot je prikazano tukaj:

/home/larry$ ps PID TT STAT TIME COMMAND 24 3 S 0:03 (bash) 161 3 R 0:00 ps

/home/larry$

Številka PID v prvem stolpcu je identifikacijska številka procesa, unikatna številka, dodeljena vsakemu tekočemu procesu. Zadnji stolpec, COMMAND, je ime tekočega ukaza. Tukaj gledamo le procesa, ki ju trenutno poganja sam Larry. (Na sistemu obstajajo tudi drugi tekoči procesi – »ps aux« jih vse izpiše.) To sta bash (Larryjeva ukazna lupina) in sam ukaz ps. Kot vidite, teče bash vzporedno z ukazom ps. bash je izvedel ukaz ps, ko ga je Larry vtipkal. Ko ps preneha delovati (po izpisu tabele procesov), se nadzor vrne procesu bash, ki izpiše pozornik, pripravljen na naslednji ukaz.

Tekoči proces se tudi imenuje opravilo (angl. job). Izraza proces in opravilo sta zamenljiva. Vendar se o procesu navadno govori kot o »opravilu«, ko se uporablja v povezavi z nadzorom opravil – značilnosti ukazne lupine, da vam omogoča preklapljanje med različnimi neodvisnimi opravili.

V večini primerov uporabniki poganjajo le eno opravilo hkrati – katerikoli ukaz so pač zadnji vnesli v ukazno lupino. Vendar pa z uporabo nadzora opravil lahko hkrati poganjate več opravil in po potrebi preklapljate med njimi.

Kako je lahko to uporabno? Denimo, da urejate tekstovno datoteko in bi radi prekinili vaše urejanje in naredili nekaj drugega. Z nadzorom opravil lahko začasno odložite urejevalnik, se vrnete v pozornik ukazne lupine in začnete delati na nečem drugem. Ko ste opravili, lahko preklopite nazaj v urejevalnik in ste tam, kjer ste bili, kot da sploh ne bi zapustili urejevalnika. Obstaja mnogo praktičnih uporab nadzora opravil.

3.12.2 Ospredje in ozadje

Opravila so lahko v ospredju (angl. foreground) ali v ozadju (angl. background). Hkrati je lahko v ospredju le eno opravilo. Opravilo v ospredju je opravilo, s katerim vzajemno delujete – sprejema vhod s tipkovnice in pošilja izhod na zaslon (razen seveda, če ste preusmerili vhod ali izhod, kot je opisano od strani 124 naprej). Po drugi strani, opravila v ozadju ne sprejemajo vhoda s terminala – v splošnem tečejo tiho, brez potrebe po interakciji.

Nekatera opravila potrebujejo dolgo časa, da se končajo, in ne počnejo ničesar zanimivega, dokler tečejo. Prevajanje programov je takšno opravilo kot tudi komprimiranje velike datoteke. Ni razloga, da bi posedali naokrog in se dolgočasili, dokler ta opravila ne končajo svojih nalog; preprosto jih poženite v ozadju. Dokler opravila tečejo v ozadju, lahko po mili volji poganjate druge programe.

Opravila so lahko odložena. Odloženo opravilo (angl. suspended job) je opravilo, ki je le začasno ustavljeno. Ko odložite opravilo, mu lahko poveste, naj nadaljuje v ospredju ali ozadju, če je to potrebno. Nadaljevanje odloženega opravila nikakor ne spremeni stanja opravila – opravilo nadaljuje s tekom tam, kjer je ostalo.

Odložitev opravila ni enaka prekinitvi opravila. Ko prekinete (angl. interrupt) tekoči proces (s pritiskom prekinitvene tipke, ki je navadno Ctrl-C )^{3}, se proces ubije, za vedno. Ko se opravilo ubije, ni upanja za njegovo nadaljevanje. Ponovno boste morali pognati ukaz. Nekateri programi pa prestrežejo prekinitev tako, da pritisk Ctrl-C ne ubije opravila takoj. To je zato, da se programu omogoči vse potrebne čistilne operacije, preden se konča. Pravzaprav vam nekateri programi sploh ne dovoljujejo, da jih ubijete s prekinitvijo.

3.12.3 Spravljanje v ozadje in ubijanje opravil

Začnimo s preprostim zgledom. Ukaz yes je navidezno neuporaben ukaz, ki pošilja neskončen tok črk y na standardni izhod. (To je celo uporabno. Če s cevjo povežete izhod ukaza yes do drugega ukaza, ki vprašuje niz vprašanj tipa da/ne (angl. yes/no), bo tok črk y potrdil vsa vprašanja.)

Preizkusite:

/home/larry$ yes

y y y y y

Izpis ipsilonov se bo nadaljeval ad infinitum. Proces lahko ubijete s pritiskom na prekinitveno tipko, ki je navadno Ctrl-C .

Da nam ne bo treba spet shajati z mučnim tokom ipsilonov, preusmerimo standardni izhod programa yes na napravo /dev/null. Kot se spomnite, /dev/null deluje kot »črna luknja« za podatke. Vsi podatki, poslani vanjo, izginejo. To je zelo učinkovita metoda za utišanje sicer zgovornega programa.

/home/larry$ yes > /dev/null

Ah, veliko bolje. Nič se ne izpiše, a pozornik ukazne lupine se ne prikaže nazaj. To je zato, ker yes še vedno teče, in pošilja te nesmiselne ipsilone na /dev/null. Spet za ubijanje opravila pritisnite prekinitveno tipko.

Denimo, da želite, da ukaz yes nadaljuje s tekom, a želite dobiti pozornik ukazne lupine nazaj, da boste lahko delali na drugih zadevah. Ukaz yes lahko postavite v ozadje, in mu s tem omogočite tek brez potrebe za vzajemno delovanje.

En način za postavljanje procesa v ozadje je, da pripnemo znak »&« na konec ukaza.

     /home/larry$ yes > /dev/null &

[1] 164

/home/larry$

Kot lahko vidite, se je pozornik ukazne lupine vrnil. A kaj pomeni ta »[1] 164«? In ali ukaz yes zares teče?

3Prekinitveno tipko lahko nastavite z ukazom stty.

Oznaka »[1]« predstavlja številko opravila za trenutni proces yes. Ukazna lupina dodeli številko opravila vsakemu tekočemu opravilu. Ker je yes edino opravilo, ki teče, mu je dodeljena številka opravila 1. Oznaka »164« je ID procesa ali PID, številka, ki jo opravilu dodeli sistem. Katerokoli od teh dveh številk lahko uporabite za sklicevanje na opravilo, kot boste videli pozneje.

Zdaj vam v ozadju teče proces yes, ki nenehno pošilja tok črk y na /dev/null. Za preverbo statusa tega procesa uporabite notranji lupinski ukaz jobs.

/home/larry$ jobs

[1]+ Running yes >/dev/null &

/home/larry$

Tukaj je, dovolj prepričljivo. Uporabili bi lahko tudi ukaz ps, opisan zgoraj, za preverbo statusa opravila.

Za pokončanje opravila uporabite ukaz kill. Ta ukaz vzame za svoj argument bodisi številko opravila, bodisi številko ID procesa. To je bilo opravilo številka 1, zato uporaba ukaza

/home/larry$ kill %1

pobije opravilo. Ko se sklicujete na opravilo s številko opravila, morate pred številko dodati znak za odstotek (»%«).

Zdaj ko ste pobili opravilo, spet uporabite ukaz jobs za njegovo preverbo:

/home/larry$ jobs

[1]+ Terminated yes >/dev/null /home/larry$

Opravilo je zares mrtvo, in če spet uporabite ukaz jobs, se ne bo izpisalo nič.

Opravilo lahko pobijete tudi z uporabo številke ID procesa (PID), ki je prikazana poleg ID opravila, ko zaženete opravilo. V našem primeru je ID procesa 164, zato je ukaz

/home/larry$ kill 164

ekvivalenten ukazu

/home/larry$ kill %1

Kadar se sklicujete na opravilo z njegovo številko ID procesa, navedete številko PID brez znaka za odstotek.

3.12.4 Ustavljanje in ponovno zaganjanje opravil

Obstaja tudi drug način za postavitev opravila v ozadje. Opravilo lahko zaženete kot običajno (v ospredju), ustavite opravilo in ga ponovno zaženete v ozadju.

Najprej, poženite proces yes v ospredju, kot ste storili že prej:

/home/larry$ yes > /dev/null

Spet, ker yes teče v ospredju, ne bi smeli dobiti nazaj pozornika.

Zdaj, namesto da prekinete opravilo s Ctrl-C , odložite opravilo. Odložitev opravila ne pobije: le začasno ustavi opravilo, dokler ga ponovno ne poženete. Za to pritisnite tipko za odložitev, ki je navadno Ctrl-Z .

/home/larry$ yes > /dev/null

Ctrl-Z [1]+ Stopped yes >/dev/null /home/larry$

Ko je opravilo odloženo, preprosto ne teče. Za opravilo se ne uporablja nič procesorskega časa. Vendar lahko ponovno zaženete opravilo, kar povzroči, da opravilo spet teče, kot da se ni nikoli nič zgodilo. Opravilo bo nadaljevalo s tekom tam, kjer je končalo.

Za ponovni zagon opravila v ospredju, uporabite ukaz fg (iz angl. »foreground«, ospredje).

/home/larry$ fg yes >/dev/null

Ukazna lupina spet izpiše ime ukaza, tako da se zavedate, katero opravilo ste pravkar postavili v ospredje. Spet ustavite opravilo s Ctrl-Z . Tokrat uporabite bg in postavite opravilo v ozadje. To povzroča, da ukaz teče, kot da bi ga zagnali z ukazom z »&«, kot smo videli v zadnjem razdelku.

/home/larry$ bg [1]+ yes >/dev/null & /home/larry$

In spet imate nazaj svoj pozornik. Ukaz jobs naj bi poročal, da yes zares teče, in opravilo lahko pobijete z ukazom kill, kot smo že naredili.

Kako lahko ponovno ustavite to opravilo? Uporaba Ctrl-Z ne bo delovala, saj je opravilo v ozadju. Odgovor je, da postavite opravilo v ospredje s fg in ga potem ustavite. Kot se izkaže, lahko uporabljate fg na ustavljenih opravilih ali opravilih v ozadju.

Obstaja velika razlika med opravilom v ozadju in opravilom, ki je ustavljeno. Ustavljeno opravilo ne teče – ne uporablja procesorskega časa in ne opravlja nobenega dela (opravilo še vedno zaseda sistemski pomnilnik, čeprav je morda izmenjano na disk). Opravilo v ozadju teče in uporablja pomnilnik, kot tudi zaključuje neko nalogo, medtem ko vi delate kaj drugega.

Včasih opravilo v ozadju poskuša na vašem terminalu prikazati tekst, kar je lahko nadležno, če poskušate delati kaj drugega. Na primer, če ste uporabili ukaz

/home/larry$ yes &

brez preusmeritve stdout na /dev/null, bo na zaslonu prikazovan tok črk y, ne da bi ga lahko prekinili. (Za prekinitev opravil v ozadju ne morete uporabiti Ctrl-C .) Za ustavitev neskončnih ipsilonov uporabite ukaz fg, da prenesete opravilo v ospredje, potem uporabite Ctrl-C , da ga pobijete.

Še eno sporočilo. Ukaza fg in bg navadno prizadeneta le opravilo, ki je bilo zadnje ustavljeno (prikazano z znakom »+« poleg številke opravila, ko uporabite ukaz jobs). Če hkrati poganjate več opravil, lahko postavljate opravila v ospredje ali ozadje tako, da podate številko opravila kot argument ukazu fg ali bg, kot v primeru

/home/larry$ fg %2

(za postavitev opravila številka 2 v ospredje), ali

/home/larry$ bg %3

(za postavitev opravila številka 3 v ozadje). Z ukazoma fg in bg ne morete uporabljati številk ID procesov (PID).

Nadalje, uporaba same številke opravila, kot v

/home/larry$ %2

je ekvivalentna uporabi

/home/larry$ fg %2

Spomnite se le, da je uporaba nadzora opravil lastnost ukazne lupine. Ukazi fg, bg in jobs so notranji ukazi ukazne lupine. Če iz nekega razloga uporabljate lupino, ki ne podpira nadzora opravil, ne pričakujte, da bodo ti ukazi dostopni.

Poleg tega obstajajo nekateri vidiki nadzora opravil, ki se razlikujejo med ukaznima lupinama bash in tcsh. Nekatere ukazne lupine sploh ne ponujajo nadzora opravil – večina ukaznih lupin, dostopnih za Linux, pa ga ponuja.

3.13 Uporaba urejevalnika vi

Urejevalnik besedil (angl. text editor) je program, ki se uporablja za urejanje datotek, ki so sestavljene iz besedila: pismo, program v C-ju ali sistemska nastavitvena datoteka. Medtem ko je za Linux na voljo veliko takšnih urejevalnikov, je edini urejevalnik, ki ga boste zajamčeno našli na vsakem sistemu Unix ali Linux, urejevalnik vi – tako imenovani »vizualni urejevalnik« (angl. visual editor). Urejevalnik vi ni najpreprostejši urejevalnik za uporabo niti uporaba ni zelo samoumevna. A ker je vi tako pogost v svetu Unixa/Linuxa in včasih nujno potreben, si zasluži tukajšnji opis.

Izbira vašega urejevalnika je predvsem vprašanje osebnega okusa in stila. Veliko uporabnikov ima najraje baročni, samoumevni in zmogljivi emacs – urejevalnik z več zmožnostmi kot katerikoli drugi posamični program v svetu Unixa. Na primer, Emacs ima vgrajeno lastno narečje programskega jezika LISP in ima mnogo razširitev (ena od njih je program umetne inteligence, podoben Elizi). Vendar ker je Emacs s svojo podporo relativno velik, morda na nekaterih sistemih ne bo nameščen. Urejevalnik vi, po drugi strani, je majhen in zmogljiv, a zapleten za uporabo. A ko ga enkrat obvladate, je vi pravzaprav zelo enostaven.

Ta razdelek predstavlja uvod v vi – ne bomo razlagali vseh njegovih značilnosti, le tiste, ki jih potrebujete, da začnete. Pogledate lahko stran referenčnega priročnika o vi, če bi se radi naučili več o značilnostih tega urejevalnika. Ali pa preberete knjigo Learning the vi Editor založbe O’Reilly and Associates ali VI Tutorial založbe Specialized Systems Consultants (SSC) Inc. Glejte dodatek A za informacije.

3.13.1 Pojmi

Ko uporabljate vi, ste v kateremkoli času v enem od treh načinov delovanja. Ti načini se imenujejo ukazni način (angl. command mode), način za vstavljanje (angl. insert mode) in način zadnje vrstice (angl. last line mode).

Ko poženete vi, ste v ukaznem načinu. Ta način vam omogoča uporabo ukazov za urejanje datotek ali spremembo v druga dva načina. Na primer, če v ukaznem načinu pritisnete x , pobrišete znak pod kazalcem. Tipke s puščicami med urejanjem premikajo kazalec po datoteki. V splošnem so ukazi, uporabljani v ukaznem načinu, dolgi en ali dva znaka.

Besedilo zares vrivate ali urejate v načinu za vstavljanje. Ko boste uporabljali vi, boste verjetno preživeli večino vašega časa v tem načinu. Način za vstavljanje poženete z uporabo ukaza, kot je i (iz angl. »insert«, vstavi) iz ukaznega načina. Dokler ste v načinu za vstavljanje, lahko vstavljate besedilo v spis na trenutnem mestu kazalca. Za konec načina za vstavljanje in vrnitev v ukazni način, pritisnite Esc .

Način zadnje vrstice je poseben način, ki daje določene razširjene ukaze urejevalniku vi. Ko vpisujete te ukaze, se prikazujejo v zadnji vrstici zaslona (odtod ime). Na primer, ko vpisujete v ukaznem načinu »:«, skočite v način zadnje vrstice in lahko uporabljate ukaze, kot sta »wq« (iz angl. write & quit, za zapis datoteke in izhod iz vi), ali »q!« (za izhod iz vi brez shranjevanja sprememb). Način zadnje vrstice se v splošnem uporablja za ukaze v vi, ki so daljši kot en znak. V načinu zadnje vrstice lahko vnesete enovrstični ukaz in pritisnete Enter za njegovo izvajanje.

3.13.2 Zagon vi

Najboljši način za spoznavanje teh pojmov je, da zaženete vi in pričnete urejati datoteko. Primeri »zaslonov« spodaj kažejo le nekaj vrstic besedila, kot da bi bil zaslon visok le šest vrstic, namesto štiriindvajset.

Skladnja za klic vi je

vi datoteka

kjer je datoteka ime datoteke za ureditev.

Poženite vi z vnosom

/home/larry$ vi test

za urejanje datoteke test. Videti bi morali nekaj kot

(\underline{}˜) / ˜

˜ ˜ ˜ ˜ "test" [New file]

Stolpec znakov »˜ « nakazuje, da ste na koncu datoteke. Podčrtaj » « predstavlja kazalec.

3.13.3 Vstavljanje besedila

Program vi je zdaj v ukaznem načinu. Vnesite besedilo v datoteko s pritiskom i , kar postavi urejevalnik v način za vstavljanje, in začnite tipkati. Morda boste trenutno imeli še probleme z vnosom šumnikov, odvisno od vaše distribucije in tega, kako ste nastavili tipkovnico. Če imate tovrstne težave, pišite »CSZ« namesto »ČŠŽ«. Ureditev vnosa slovenskih znakov je podrobno opisana v spisu Slovenian HOWTO, glejte dodatek A za informacije o tem, kje ga dobite.

Zdaj je čas za vse dobre može, da pridejo pomagat zabavi\underline{.} ˜ ˜ ˜ ˜ ˜

Vpišite toliko vrstic, kot želite (po vsaki pritisnite Enter ). Napake lahko popravite z Backspace .

Za konec načina za vstavljanje in vrnitev v ukazni način pritisnite Esc .

V ukaznem načinu lahko uporabljate tipke s puščicami za premikanje po datoteki. (Če imate le eno vrstico besedila, bo poskus uporabe tipk s puščicama navzgor ali navzdol verjetno povzročil le, da vam bo vi zapiskal.)

Poleg ukaza i obstaja še precej drugih načinov za vstavljanje besedila. Ukaz a vstavi besedilo, začenši za trenutnim položajem kazalca, namesto na trenutnem položaju kazalca. Na primer, uporabite levo puščico za premik kazalca med besedi »dobre« in »može«.

Zdaj je čas za vse dobre može, da pridejo pomagat zabavi.

˜ ˜ ˜ ˜ ˜

Pritisnite a za začetek načina za vstavljanje, napišite »figa« in potem pritisnite Esc za vrnitev v ukazni način.

Zdaj je čas za vse dobre figa\underline{m}ože, da pridejo pomagat zabavi.

˜ ˜ ˜ ˜ ˜

Za začetek vstavljanja besedila v naslednjo vrstico uporabite ukaz o. Pritisnite o in vnesite še vrstico ali dve:

Zdaj je čas za vse dobre figamože, da pridejo pomagat zabavi.

Potem bomo šli ven na pizzo in pivo\underline{.}

˜ ˜ ˜ ˜

3.13.4 Brisanje besedila

Ukaz x v ukaznem načinu pobriše znak pod kazalcem. Če petkrat pritisnete x , boste končali z:

Zdaj je čas za vse dobre figamože, da pridejo pomagat zabavi.

Potem bomo šli ven na pizzo in

˜ ˜ ˜ ˜

Zdaj pritisnite a in vstavite nekaj besedila, nato pa Esc :

Zdaj je čas za vse dobre figamože, da pridejo pomagat zabavi.

Potem bomo šli ven na pizzo in dietno kokto\underline{.}

˜ ˜ ˜ ˜

Celotne vrstice lahko pobrišete z ukazom dd (se pravi, dvakrat zaporedoma pritisnite d ). Če je kazalec na drugi vrstici in vpišete dd, boste videli:

\underline{Z}daj je čas za vse dobre figamože, da pridejo pomagat zabavi.

˜ ˜ ˜ ˜ ˜

Za izbris besede, na kateri je kazalec, uporabite ukaz dw. Postavite kazalec na besedo »dobre«, in vtipkajte dw.

Zdaj je čas za vse \underline{f} igamože, da pridejo pomagat zabavi.

˜ ˜ ˜ ˜ ˜

3.13.5 Spreminjanje besedila

Razdelke besedila lahko nadomestite z uporabo ukaza R. Postavite kazalec na prvo črko v »zabavi«, pritisnite R, in vpišite besedo »lačnim«.

Zdaj je čas za vse figamože, da pridejo pomagat lačnim\underline{.} ˜ ˜ ˜ ˜ ˜

Uporaba R za urejevanje besedila je podobna ukazoma i in a, toda R prepiše besedilo, namesto, da bi ga vstavljal.

Ukaz r nadomesti en sam znak pod kazalcem. Na primer, postavite kazalec na začetek besede »Zdaj«, in pritisnite r, ki mu sledi K. Videli boste:

\underline{K}daj je čas za vse figamože, da pridejo pomagat lačnim.

˜ ˜ ˜ ˜ ˜

Ukaz »˜ « spremeni velikost črk pod kazalcem iz velikih v male in obratno. Na primer, če postavite kazalec na »d« v »Kdaj«, zgoraj, in zaporedoma pritiskate ˜ , boste končali z:

KDAJ JE čAS ZA VSE FIGAMOžE, DA PRIDEJO POMAGAT LAčNIM\underline{.} ˜ ˜ ˜ ˜ ˜

Če se velikost slovenskih črk »čšž« pri tem ohrani, kot v zgornjem primeru, jih popravite na roke, denimo z ukazom r. V tem primeru boste najbrž želeli prikrojiti svoj sistem po navodilih iz spisa Slovenian HOWTO (glejte dodatek A) – ključna sta predvsem izvoz in nastavitev okoljske spremenljivke, ki določa uporabo slovenske abecede (export LC_CTYPE=sl_SI v lupini bash).

3.13.6 Ukazi za premikanje kazalca

Veste že, kako uporabljati tipke s puščicami za premikanje po spisu. Poleg tega lahko uporabljate ukaze h, j, k in l za premikanje kazalca levo, dol, gor in desno, po vrsti. To je pripravno, če (zaradi nekega vzroka) vaše tipke s puščicami ne delujejo pravilno.

Ukaz w premakne kazalec na začetek naslednje besede; ukaz b ga premakne na začetek prejšnje besede.

Ukaz 0 (to je tipka z ničlo) premakne kazalec na začetek trenutne vrstice, in ukaz $ ga premakne na konec vrstice.

Ko urejate velike datoteke, se boste želeli pomikati po datoteki po en zaslon hkrati navzgor ali navzdol. Pritisk Ctrl-F premakne kazalec en zaslon naprej, Ctrl-B ga premakne zaslon nazaj.

Za premik kazalca na konec datoteke pritisnite G. Lahko ga tudi premaknete na poljubno vrstico; na primer, vnos ukaza 10G bi premaknil kazalec na vrstico 10 v datoteki. Za premik na začetek datoteke uporabite 1G.

Premikalne ukaze lahko združujete z drugimi ukazi, kot so tisti za brisanje besedila. Na primer, ukaz d$ pobriše vse od kazalca do konca vrstice, dG pobriše vse od kazalca do konca datoteke in tako najprej.

3.13.7 Shranjevanje datotek in zapuščanje vi

Urejevalnik vi zapustite, ne da bi naredili spremembe v datoteki, z uporabo ukaza :q!. Ko pritisnete »:«, se kazalec premakne v zadnjo vrstico zaslona in boste v načinu zadnje vrstice.

KDAJ JE ČAS ZA VSE FIGAMOŽE, DA PRIDEJO POMAGAT LAČNIM. ˜ ˜ ˜ ˜ ˜ :

V načinu zadnje vrstice so dostopni nekateri razširjeni ukazi. Eden od njih je q!, ki zapusti vi brez shranjevanja. Ukaz :wq shrani datoteko in potem zapusti vi. Ukaz ZZ (iz ukaznega načina, brez »:«) je ekvivalenten ukazu :wq. Če datoteka ni bila spremenjena od zadnjega shranjevanja, le zapusti urejevalnik in ohrani čas spremembe datoteke. Ne pozabite, da morate po ukazu, vnešenem v načinu zadnje vrstice, pritisniti Enter .

Za shranitev datoteke brez zapuščanja vi uporabite :w.

3.13.8 Urejanje druge datoteke

Za urejanje druge datoteke uporabite ukaz :e. Na primer, za prenehanje urejevanja datoteke test in urejevanje datoteke foo uporabite ukaz

KDAJ JE ČAS ZA VSE FIGAMOŽE, DA PRIDEJO POMAGAT LAČNIM. ˜ ˜ ˜ ˜ ˜

      :e foo

Če uporabite :e, ne da bi najprej shranili datoteko, boste dobili sporočilo o tovrstni napaki

No write since last change (":edit!" overrides)

kar pomeni, da vi noče urejevati nove datoteke, dokler ne shranite prvotne. Na tej točki lahko uporabite :w za shranitev prvotne datoteke in potem uporabite :e, ali pa lahko uporabite ukaz

KDAJ JE ČAS ZA VSE FIGAMOŽE, DA PRIDEJO POMAGAT LAČNIM. ˜ ˜ ˜ ˜ ˜

      :e!  foo

Klicaj »!« pove urejevalniku vi, da to res mislite – urejevanje nove datoteke, ne da bi shranili spremembe v prvotno.

3.13.9 Vključevanje drugih datotek

Če uporabite ukaz :r, lahko v trenutno datoteko vključite vsebino druge datoteke. Na primer, ukaz

     :r foo.txt

vstavi vsebino datoteke foo.txt v besedilo na mestu kazalca.

3.13.10 Poganjanje lupinskih ukazov

V urejevalniku vi lahko poganjate tudi ukaze ukazne lupine. Ukaz :r! deluje kot :r, a namesto da bi prebral datoteko, vstavi izhod danega ukaza v vmesni pomnilnik na trenutnem mestu kazalca. Na primer, če uporabite ukaz

     :r!  ls -F

boste končali z

KDAJ JE ČAS ZA VSE FIGAMOŽE, DA PRIDEJO POMAGAT LAČNIM. pisma/ razno/ spisi\underline{/} ˜ ˜

Lahko se tudi »preselite« v ukazno lupino iz urejevalnika vi, z drugimi besedami, poženete ukaz iz njega in se vrnete v urejevalnik, ko ste končali. Na primer, če uporabite ukaz

     :!  ls -F

se bo ukaz ls -F pognal in bo rezultat prikazan na zaslonu, a ne bo vstavljen v datoteko, ki jo urejate. Če uporabite ukaz

     :shell

bo vi zagnal izvod ukazne lupine in vam omogočil, da začasno postavite vi »na čakanje«, dokler izvajate druge ukaze. Za vrnitev v vi se le odjavite iz ukazne lupine (z uporabo ukaza exit).

3.13.11 Iskanje pomoči o vi

Urejevalnik vi ne ponuja dosti na področju interaktivne pomoči (večina programov za Linux ne), a vedno lahko preberete stran priročnika za vi (z ukazom man vi). Urejevalnik vi je vizualni vmesnik za urejevalnik ex; ki ureja mnoge ukaze načina zadnje vrstice v vi. Zato poleg branja strani priročnika o vi poglejte še ex.

3.14 Prilagoditev vašega okolja

Ukazna lupina ponuja veliko mehanizmov za prilagoditev vašega delovnega okolja. Kot smo omenili zgoraj, je ukazna lupina več kot le tolmač posamičnih ukazov – je tudi tolmač za zmogljiv programski jezik. Čeprav je pisanje skriptov ukazne lupine široko področje, bi vas radi seznanili z nekaterimi načini za poenostavitev vašega dela na sistemu Linux brez uporabe teh naprednih odlik ukazne lupine.

Kot je bilo že omenjeno, različne ukazne lupine uporabljajo različno skladnjo, ko izvajajo skripte ukazne lupine. Na primer, Tcsh uporablja C-ju podobno skladnjo, medtem, ko Bournove lupine uporabljajo drugo vrsto skladnje. V tem razdelku ne bomo opazili velikih razlik med tema dvema, a bomo privzeli, da se skripti ukazne lupine izvajajo z uporabo skladnje Bournove lupine.

3.14.1 Skripti ukazne lupine

Denimo, da pogosto uporabljate vrsto ukazov in bi radi prihranili čas tako, da jih uvrstite skupaj v en sam »ukaz«. Na primer, trije ukazi

     /home/larry$ cat poglavje1 poglavje2 poglavje3 > knjiga

/home/larry$ wc -l knjiga /home/larry$ lp knjiga

združijo datoteke poglavje1, poglavje2, in poglavje3 in postavijo rezultat v datoteko knjiga. Drugi ukaz prikaže prešteto število vrstic v datoteki knjiga, tretji ukaz lp knjiga pa natisne datoteko knjiga.

Namesto da pišete vse te ukaze, jih lahko poberete skupaj v lupinski skript. Lupinski skript, uporabljan za tek vseh teh ukazov, bi se lahko glasil takole:

#!/bin/sh

# Lupinski skript za ustvarjanje in natis knjige cat poglavje1 poglavje2 poglavje3 > knjiga wc -l knjiga lp knjiga

Lupinski skripti so le preproste tekstovne datoteke; ustvarite jih lahko s katerimkoli urejevalnikom, kot je emacs ali vi, ki je opisan od strani 135 naprej.

Poglejmo ta lupinski skript. Prva vrstica, »#!/bin/sh«, identificira datoteko kot lupinski skript in naroči ukazni lupini, kako naj izvede skript. Naroči ukazni lupini, naj prepusti skript v izvajanje /bin/sh, kjer je /bin/sh sam program za ukazno lupino. Zakaj je to pomembno? Na večini sistemih Linux je /bin/sh ukazna lupina Bournovega tipa, kot je bash. Prisila lupinskega skripta, da teče z uporabo /bin/sh, zagotavlja, da se bo pognal pod ukazno lupino Bournove skladnje (namesto pod lupino C). To bo povzročilo, da bo vaš skript tekel z uporabo Bournove skladnje, tudi če uporabljate tcsh (ali drugo podobno ukazno lupino) kot vašo prijavno lupino.

Druga vrstica je komentar. Komentar se začne z znakom »#« in se nadaljuje do konca vrstice. Ukazna lupina ignorira komentarje – pogosto se jih uporablja, da predstavijo lupinski skript programerju in ga naredijo lažje umljivega.

Ostanek vrstic v skriptu so preprosto ukazi, kot bi jih vpisali neposredno v ukazno lupino. Ukazna lupina tako prebere vsako vrstico skripta in požene to vrstico, kot da bi jo vpisali v pozornik ukazne lupine.

Za lupinske skripte so pomembna dovoljenja. Če ustvarite skript ukazne lupine, poskrbite, da imate dovoljenja za izvajanje skripta, če bi ga radi poganjali. Ko ustvarjate tekstovne datoteke, privzeta dovoljenja navadno ne vključujejo dovoljenja za izvajanje, in tega morate navesti eksplicitno. Glejte razpravo o dovoljenjih za dostop do datotek na strani 126 za podrobnosti. Na kratko, če bi bil zgornji skript shranjen v datoteki, imenovani narediknjigo, bi lahko uporabili ukaz

     /home/larry$ chmod u+x narediknjigo

da bi si dali dovoljenje za izvajanje lupinskega skripta narediknjigo.

Za poganjanje vseh ukazov v skriptu lahko tedaj uporabite ukaz

     /home/larry$ ./narediknjigo

3.14.2 Spremenljivke ukazne lupine in okolje

Ukazna lupina vam dovoljuje definiranje spremenljivk kot večina programskih jezikov. Spremenljivka je le kos podatkov, ki mu je prirejeno ime.

◇ Ukazna lupina tcsh, kot tudi druge ukazne lupine tipa C, uporabljajo drugačen mehanizem za nastavitev spremenljivk od tukaj opisanega. Ta razprava predpostavi uporabo Bournove ukazne lupine, kot je bash. Glejte stran priročnika o tcsh za podrobnosti.

Ko spremenljivki določite vrednost (z uporabo operatorja »=«), lahko dostopate do spremenljivke s predpono »$« njenemu imenu, kot je pokazano spodaj.

     /home/larry$ foo="zdravo tam"

Spremenljivki foo je dana vrednost »zdravo tam«. Na to vrednost se lahko potem sklicujete z imenom spremenljivke, ki mu spredaj dodate znak »$«. Na primer, ukaz

/home/larry$ echo $foo

zdravo tam /home/larry$

doseže enak rezultat, kot

     /home/larry$ echo "zdravo tam"

zdravo tam /home/larry$

Te spremenljivke so notranje ukazni lupini, kar pomeni, da do njih lahko dostopa le lupina. To je lahko uporabno v lupinskih skriptih; če si morate, na primer, zabeležiti ime datoteke, ga lahko shranite v spremenljivko kot zgoraj. Uporaba ukaza set prikaže seznam vseh definiranih lupinskih spremenljivk.

Ukazna lupina pa vam dovoljuje izvoz spremenljivk v okolje. Okolje (angl. environment) je nabor spremenljivk, ki so dostopne vsem ukazom, ki jih izvajate. Ko enkrat definirate spremenljivko znotraj ukazne lupine, njen izvoz naredi, da postane tudi ta spremenljivka del okolja. Za izvoz spremenljivke v okolje uporabite ukaz export.

◇ Spet, tukaj razlikujemo med bash in tcsh. Če uporabljate tcsh, se za nastavitev okoljskih spremenljivk uporablja druga skladnja (uporablja se ukaz setenv). Glejte stran priročnika o ukazni lupini tcsh za več informacij.

Okolje je za sistem Unix zelo pomembno. Dovoljuje vam nastavitev nekaterih ukazov le z nastavitvijo spremenljivk, ki jih ti ukazi poznajo.

Tukaj je kratek primer. Okoljska spremenljivka PAGER se uporablja v ukazu man in določa ukaz, ki naj se uporablja za prikaz strani referenčnega priročnika, po eno stran naenkrat. Če nastavite spremenljivko PAGER na ime ukaza, uporablja namesto (privzetega) ukaza more novi ukaz za prikaz strani priročnika.

Nastavite PAGER na »cat«. To povzroča, da se izhod priročnika man prikaže naenkrat na zaslonu, brez premora med stranmi.

/home/larry$ PAGER=cat

Zdaj izvozimo PAGER v okolje.

/home/larry$ export PAGER

Poskusite ukaz man ls. Stran priročnika bi morala zleteti mimo vašega zaslona, ne da bi čakala na vas.

Če zdaj nastavimo PAGER na »more«, se bo za prikaz strani priročnika uporabljal ukaz more.

/home/larry$ PAGER=more

Upoštevajte, da ni več treba uporabiti ukaza export, ko smo spremenili vrednost spremenljivke PAGER. Spremenljivko moramo izvoziti le enkrat; od takrat naprej se bodo vse njene spremembe samodejno prenesle v okolje.

Pogosto je nize nujno navesti med narekovaji, ali naj se prepreči ukazni lupini, da bi upoštevala njihove različne znake kot posebne. Na primer, niz boste morali zapisati med narekovajema, če želite lupini preprečiti tolmačenje posebnega pomena znakov, kot so »*«, »?« ali presledek. Obstaja veliko drugih znakov, ki jih je treba zaščititi pred tolmačenjem. Podrobna razlaga in opis citiranja je opisana v knjigi Bourne Shell Tutorial založbe SSC.

Strani priročnika za določen ukaz vam povedo, če ukaz uporablja okoljske spremenljivke. Na primer, stran priročnika o ukazu man razlaga, da se za določitev izpisovalnika uporablja spremenljivka PAGER.

Nekateri ukazi delijo okoljske spremenljivke. Na primer, mnogi ukazi uporabljajo okoljsko spremenljivko EDITOR za določitev privzetega urejevalnika za uporabo, ko je ta potrebna.

Okolje se uporablja tudi za zapis sledi pomembnih informacij o vaših prijavnih sejah. Primer je okoljska spremenljivka HOME, ki vsebuje ime vašega domačega imenika.

/home/larry/papers$ echo $HOME

/home/larry

Druga zanimiva okoljska spremenljivka je PS1, ki definira glavni pozornik ukazne lupine. Na primer,

     /home/larry$ PS1="Vaš ukaz, prosim:  "

Vaš ukaz, prosim:

Za nastavitev pozornika na prvotno vrednost (ki vsebuje trenutni delovni imenik, ki mu sledi znak »$«), uporabite

Vaš ukaz, prosim: PS1="\w\$ "

/home/larry$

Stran priročnika o bash opisuje skladnjo, potrebno za nastavitev pozornika.

Okoljska spremenljivka PATH Ko uporabite ukaz ls, kako ukazna lupina najde samo izvajalno datoteko programa ls? Pravzaprav ls leži v imeniku /bin na večini sistemov. Ukazna lupina uporablja okoljsko spremenljivko PATH za določitev izvajalnih datotek za ukaze, ki jih vpisujete.

Na primer, vaša spremenljivka PATH je lahko nastavljena na

/bin:/usr/bin:/usr/local/bin:.

To je seznam imenikov, ki naj jih ukazna lupina poišče. Imeniki so ločeni z »:«. Ko uporabljate ukaz ls, ukazna lupina najprej pogleda za /bin/ls, potem /usr/bin/ls, in tako naprej.

Upoštevajte, da PATH nima ničesar opraviti z iskanjem običajnih datotek. Na primer, če uporabite ukaz

/home/larry$ cp foo bar

ukazna lupine ne uporablja PATH za iskanje datotek foo in bar – za ti imeni datotek se predpostavlja, da sta popolni. Ukazna lupina uporablja PATH samo, da najde izvedljivo datoteko cp.

To vam prihrani čas, in pomeni, da si vam ni treba zapomniti, kje se shranjujejo vsi izvajalni ukazi. Na veliko sistemih so izvedljive datoteke razmetane po veliko mestih, kot so imeniki /usr/bin, /bin ali /usr/local/bin. Namesto da podate polno ime poti ukaza (kot je /usr/bin/cp), lahko nastavite spremenljivko PATH na seznam imenikov, za katere želite, da jih ukazna lupina samodejno preišče.

Upoštevajte, da PATH vsebuje ».«, kar je trenutni delovni imenik. To vam omogoča ustvarjanje lupinskega skripta ali programa in njegovo poganjanje iz trenutnega imenika, ne da bi ga bilo treba določiti neposredno (kot ./narediknjigo). Če imenik ni v vaši poti PATH, potem ga ukazna lupina ne bo preiskovala za ukaze, ki se lahko izvedejo; to vključuje tudi trenutni imenik.

3.14.3 Inicializacijski skripti ukazne lupine

Poleg skriptov ukazne lupine, ki jih naredite sami, obstajajo še številni skripti, ki jih za določene namene uporablja sama ukazna lupina. Najpomembnejši od teh so inicializacijski skripti, ki so skripti, ki jih ukazna lupina izvede, ko se prijavite.

Inicializacijski skripti sami so skripti ukazne lupine, vendar inicializirajo vaše okolje s samodejno izvedbo ukazov ob vaši prijavi. Če vedno uporabljate ukaz mail za preverbo vaše pošte, ko se prijavite v sistem, lahko ta ukaz položite v inicializacijski skript, da se bo izvedel samodejno.

Obe ukazni lupini, bash in tcsh, ločita med prijavno ukazno lupino (angl. login shell) in drugimi priklici ukazne lupine. Prijavna lupina je lupina, ki se izvede, ko se prijavite v sistem. Navadno je to edina ukazna lupina, ki jo uporabljate. Vendar če se »spravite v lupino« drugega programa, kot je vi, zaženete drugi primerek ukazne lupine, ki ni vaša prijavna ukazna lupina. Poleg tega, če zaženete lupinski skript, samodejno začnete novo pojavitev lupine, ki izvaja skript.

Inicializacijske datoteke, ki jih uporablja bash, so: /etc/profile (nastavi jo sistemski upravitelj in se izvede pri vseh uporabnikih lupine bash v času prijave), $HOME/.bash_profile (izvede jo prijavna seja bash-a), in $HOME/.bashrc (izvedejo jo neprijavne pojavitve bash-a). Če datoteka .bash_profile ni prisotna, se namesto nje uporablja .profile.

tcsh uporablja naslednje inicializacijske skripte: /etc/csh.login (ob prijavi se izvede vsem uporabnikom lupine tcsh), $HOME/.tcshrc (izvede se ob prijavi in ob novih pojavitvah tcsh-ja), in $HOME/.login (izvede se v času prijave, takoj za .tcshrc). Če .tcshrc ne obstaja, se uporablja .cshrc.

Popoln vodnik po programiranju ukaznih lupin bi presegal obseg te knjige. Glejte strani priročnika o ukazni lupini bash ali tcsh za nadaljnje učenje o prilagoditvi vašega okolja Linux.

3.15 Torej želite poskusiti po svoje?

To poglavje bi vam moralo dati dovolj informacij za osnovno uporabo Linuxa. Strani referenčnega priročnika so nepogrešljivo orodje za dodatno učenje o Linuxu. Sprva se lahko zdijo zmedene, a če se prekopljete pod površino, predstavljajo pravi zaklad informacij.

Predlagamo tudi, da najprej preberete dobro splošno referenčno knjigo o Linuxu. Linux ima več odlik, kot se sprva zdi nevajenemu očesu. Žal je večina od njih izven dosega te knjige. Druge priporočene knjige o Linuxu so naštete v dodatku A.

146 3. Učbenik Linuxa

Sistemsko upravljanje

To poglavje obravnava najpomembnejše stvari, ki jih morate vedeti o sistemskem upravljanju pod Linuxom, in vključuje dovolj podrobnosti, da začnete udobno uporabljati sistem. Da bi bilo to poglavje obvladljivo, pokriva le osnove in izpušča številne pomembne podrobnosti. Knjiga Linux System Administrator’s Guide (SAG) Larsa Wirzeniusa (glejte dodatek A) govori o občutno več podrobnostih v zvezi s sistemskim upravljanjem. Pomagala vam bo bolje razumeti, kako stvari delujejo skupaj in se medsebojno navezujejo. Vsaj površno preletite SAG, da boste vedeli, kaj vsebuje in kakšne vrste pomoč lahko pričakujete od nje.

4.1 Račun root

Linux loči med različnimi uporabniki. Določeno je, kaj lahko storijo drug drugemu in sistemu. Dovoljenja datotek so urejena tako, da običajni uporabniki ne morejo brisati ali spreminjati datotek v imenikih, kot so /bin in /usr/bin. Večina uporabnikov ščiti svoje lastne datoteke z ustreznimi dovoljenji, da drugi uporabniki ne morejo dostopati do njih ali jih spreminjati. (Nezaželeno je, da bi lahko kdorkoli bral tuja ljubezenska pisma.) Vsakemu uporabniku je dan račun, ki vključuje uporabniško ime in domači imenik. Poleg tega obstajajo posebni, sistemsko definirani računi, ki imajo posebne privilegije. Najpomembnejši od teh je korenski račun, ki ga uporablja upravitelj sistema. Po dogovoru je sistemski upravitelj uporabnik, imenovan root.

Za uporabnika root ni omejitev. Lahko bere, spreminja ali pobriše katerokoli datoteko na sistemu, spreminja dovoljenja in lastništvo katerekoli datoteke in poganja posebne programe, kot so tisti, ki razdelijo trdi pogon ali ustvarijo datotečne sisteme. Osnovna zamisel tega je, da se oseba, ki skrbi za sistem, prijavi v sistem kot root ter izvaja opravila, ki jih ne bi mogla izvajati kot običajni uporabnik. Ker lahko root naredi karkoli, je mogoče narediti napake s katastrofalnimi posledicami.

Če navaden uporabnik nenamenoma poskuša pobrisati vse datoteke v imeniku /etc, mu sistem tega ne bo dovolil. Če pa isto poskusi root, se sistem sploh ne bo pritožil. Ko uporabljate sistem Linux kot root, je zelo lahko pokvariti sistem. Najboljši način za preprečitev nesreč je:

• Usedite se na svoje roke, preden pritisnete Enter za katerikoli ukaz, ki ni obrnljiv. Če nameravate pravkar počistiti imenik, preberite celoten ukaz še enkrat in se prepričajte, da je vnesen pravilno.

• Za račun root uporabljajte drugačen pozornik. Datoteki .bashrc ali .login računa root bi morali nastaviti pozornik ukazne lupine na nekaj drugega, kot je standardni pozornik. Mnogo ljudi rezervira znak »#« v pozorniku za račun root in za vse druge račune uporablja v pozorniku znak »$«.

• Prijavite se kot root le, ko je to absolutno potrebno. Ko ste končali svoje delo kot root, se odjavite. Manj kot uporabljate račun root, manj verjetno boste poškodovali sistem. Manj verjetno boste zamešali privilegije računa root s tistimi običajnega uporabnika.

Predstavljajte si račun root kot poseben čarovniški klobuk, ki vam daje ogromno moč, s katero lahko, z zamahom svoje roke, uničite celotna mesta. Dobra zamisel je, da ste malce previdni pri tem, kar počnete s svojimi rokami. Ker je lahko zamahniti z vašimi rokami na uničevalen način, kljub čudovitemu občutku ni dobra zamisel, da bi nosili čarovniški klobuk takrat, ko to ni potrebno.

O odgovornostih sistemskega upravitelja bomo spregovorili podrobneje od strani 158 naprej.

4.2 Zaganjanje sistema

Nekateri ljudje zaganjajo Linux z diskete, ki vsebuje kopijo jedra za Linux. To jedro ima vkodirano korensko particijo Linuxa, zato ve, kje mora iskati korenski datotečni sistem. Takšne vrste je na primer disketa, ki jo Slackware ustvari med namestitvijo.

Za ustvarjanje vaše lastne zagonske diskete poiščite sliko jedra na vašem trdem disku. Morala bi biti v datoteki /vmlinuz ali /vmlinux. V nekaterih namestitvah je /vmlinuz simbolna povezava na pravo jedro, zato boste morda morali izslediti jedro s sledenjem povezavam.

Ko enkrat veste, kje je jedro, nastavite korensko napravo slike jedra na ime vaše korenske particije Linuxa z ukazom rdev. Skladnja za uporabo tega ukaza je

rdev ime-jedra korenska-naprava

kjer je ime-jedra ime slike jedra in korenska-naprava ime korenske particije Linuxa. Na primer, za nastavitev korenske naprave v jedru /vmlinuz na /dev/hda2, uporabite ukaz

     # rdev /vmlinuz /dev/hda2

Ukaz rdev lahko nastavlja tudi druge izbire v jedru, kot je privzeti način SVGA za uporabo ob zagonu. Ukaz

     # rdev -h

izpiše sporočilo s pomočjo na zaslon. Ko usposobite korensko napravo (angl. root device), preprosto prekopirajte sliko jedra na disketo. Pred kopiranjem podatkov na katerokoli disketo je vendarle dobra zamisel, da uporabite pripomoček MS-DOS-a FORMAT.COM ali program fdformat v Linuxu za formatiranje diskete. To zapiše informacije o sektorjih in sledeh, ki so ustrezne za kapaciteto diskete.

Disketni formati in gonilniki naprav zanje so nadalje obravnavani, začenši s stranjo 166.

Datoteke gonilnikov naprav, kot je bilo že omenjeno, počivajo v imeniku /dev. Za prepis jedra iz datoteke /vmlinuz na disketo v /dev/fd0 uporabite ukaz

     # cp /vmlinuz /dev/fd0

Ta disketa bi zdaj morala pognati Linux.

4.2.1 Uporaba nalagalnika LILO

LILO je ločen zagonski nalagalnik, ki počiva na vašem trdem disku. Izvede se le, ko zaganja sistem s trdega pogona in lahko samodejno zažene Linux iz slike jedra, shranjene tam.

LILO se lahko uporablja kot prvostopenjski zagonski nalagalnik za precej operacijskih sistemov, kar vam omogoča, da ob zagonu izberete operacijski sistem kot je Linux ali MS-DOS. Z uporabo LILO se zažene privzeti operacijski sistem, razen če med zagonskim zaporedjem pritisnete Shift ali je podano navodilo za pozornik prompt v datoteki lilo.conf. V obeh primerih vam bo priskrbljen zagonski pozornik, kjer vpišete ime operacijskega sistema, ki naj se požene (kot »linux« ali »msdos«). Če v zagonskem pozorniku pritisnete Tab, se prikaže seznam operacijskih sistemov, ki jih pozna sistem LILO.

Najpreprostejši način za namestitev nalagalnika LILO je ureditev nastavitvene datoteke /etc/lilo.conf. Ukaz

     # /sbin/lilo

prepiše spremenjeno nastavitev lilo.conf na zagonski sektor trdega diska in se mora pognati vsakič, ko spremenite lilo.conf.

Nastavitvena datoteka za LILO vsebuje »kitico« za vsak operacijski sistem, ki ga želite zagnati. Najboljši način za demonstracijo tega je s primerom. Datoteka lilo.conf spodaj je za sistem, ki ima korensko particijo Linuxa na /dev/hda1 in particijo za MS-DOS na /dev/hda2.

# Naroči LILU naj spremeni zagonski zapis na /dev/hda (prvi # trdi pogon ne-SCSI). Če ne zaganjate iz pogona /dev/hda, # spremenite naslednjo vrstico. boot = /dev/hda

# Nastavi zdrav grafični način.

vga = normal

# Nastavi premor v mili-sekundah. To je čas, ki ga imate # za pritisk tipke ’SHIFT’, da se prikaže pozornik LILO:, # če niste določili navodila ’prompt’. delay = 60

# Ime zagonskega nalagalnika. Ni razloga za spreminjanje # tega, razen če ste resno hekali po nalagalniku LILO. install = /boot/boot.b

# To prisili LILO, da vas vpraša, kateri OS bi radi pognali. # Tipka ’TAB’ v pozorniku LILO: bo izpisala seznam OS-ov, # dostopnih za zagon, glede na imena, našteta v spodnjem # navodilu ’label=’. prompt

# Naj LILO izvede nekatere optimalizacije.

compact

# Kitica za korensko particijo Linuxa na /dev/hda1.

image = /vmlinuz # Lokacija jedra label = linux # Ime OS-a (za zagonski menu LILA) root = /dev/hda1 # Lokacija korenske particije read-only # Priklopi le za branje

# Kitica za particijo MSDOS-a na /dev/hda2. other = /dev/hda2 # Lokacija particije

table = /dev/hda # Lokacija particijske tabele za /dev/hda2 label = msdos # Ime OS-a (za zagonski menu)

Kitica o prvem operacijskem sistemu določa privzeti operacijski sistem, ki naj ga LILO zažene. Vedite tudi, da ni razloga, da bi z rdev določili korensko particijo v sliki jedra, če uporabljate vrstico »root =«. LILO to nastavi ob zagonu sistema.

Namestitveni program za Microsoft Windows ’95 prepiše zagonski upravljalnik LILO. Če boste po namestitvi LILA namestili na vašem sistemu Windows ’95, se prepričajte, da boste najprej ustvarili zagonsko disketo (glejte razdelek 4.2). Z zagonsko disketo lahko poženete Linux in ponovno namestite LILO, ko se namestitev Windows ’95 konča. To se naredi preprosto kot root z vnosom ukaza /sbin/lilo, enako kot v zgornjem koraku. Particije z Windows ’95 se lahko nastavijo tako, da se zaženejo z nalagalnikom LILO z uporabo enakih vnosov v lilo.conf kot tistih za zagon s particije MS-DOS.

Več podatkov o nalagalniku LILO boste našli v Linux FAQ (glejte dodatek A), vključno s tem, kako uporabljati LILO za zagon z zagonskim upravljalnikom Boot Manager sistema OS/2.

4.3 Zaustavitev

Zaustavitev sistema Linux je lahko zapletena. Nikoli ne bi smeli preprosto izključiti elektrike ali pritisniti tipke za reset. Jedro shranjuje informacije o branju/pisanju podatkov na disk v vmesnih pomnilnikih (angl. buffers) v RAM-u. Če ponovno zaženete sistem, ne da bi dali jedru priložnost, da zapiše svoje vmesne pomnilnike na disk, lahko pokvarite datotečne sisteme.

Med zaustavitvijo se upoštevajo tudi drugi previdnostni ukrepi. Vsem procesom se pošlje signal, ki jim omogoča milo smrt (tako da najprej zapišejo in zaprejo vse datoteke, na primer). Datotečni sistemi se zaradi varnosti odklopijo. Če želite, lahko sistem tudi opozori uporabnike, da se sistem ustavlja, in jim da priložnost za odjavo.

Najpreprostejši način za ustavitev sistema je z ukazom shutdown. Format tega ukaza je

shutdown čas opozorilo

Argument čas je čas zaustavitve sistema v obliki uu:mm:ss in opozorilo je sporočilo, ki se pred zaustavitvijo prikaže na vseh uporabniških terminalih. Alternativno lahko določite čas kot »now« (zdaj!) za takojšnjo zaustavitev. Izbira -r pomeni ukazu shutdown ponoven zagon sistema po njegovi zaustavitvi.

Na primer, za ustavitev in ponoven zagon sistema ob 20h uporabite ukaz

     # shutdown -r 20:00

Za takojšnjo zaustavitev sistema brez opozorilnih sporočil ali čakanja lahko uporabite ukaz halt. Ukaz halt je uporaben, če ste edini, ki uporablja sistem, in bi radi zaustavili in izključili stroj.

◇ Ne izključujte napetosti ali zaganjajte sistema, dokler ne vidite sporočila, da je sistem zaustavljen:

The system is halted

Zelo je pomembno, da sistem ustavite »na čist način«, z uporabo ukaza shutdown ali halt. Na nekaterih sistemih bo pritisk Ctrl - Alt - Del prestrežen in bo pognal shutdown. Na drugih sistemih bo uporaba »triprstnega pozdrava« takoj ponovno zagnala sistem in povzročila katastrofo.

4.4 Datoteka /etc/inittab

Takoj ko se Linux zažene in jedro priklopi korenski datotečni sistem, je prvi program, ki ga sistem izvede, init. Ta program je odgovoren za poganjanje sistemskih začetnih skriptov in spremeni delovanje sistema iz njegovega prvotnega zagonskega stanja v standardno, večuporabniško stanje. Program init tudi požene prijavne ukazne lupine na vseh napravah tty na sistemu in določa druge začetne in ustavitvene postopke.

Ko se zažene, init ostaja tiho v ozadju, pregleduje, in če je potrebno, spreminja tekoče stanje sistema. Obstaja veliko podrobnosti, na katere mora gledati program init. Ta opravila so definirana v datoteki /etc/inittab. Primer datoteke /etc/inittab je prikazan spodaj.

◇ Nepravilno spreminjanje datoteke /etc/inittab vam lahko onemogoči prijavo v vaš sistem. Kot minimum, ko spreminjate datoteko /etc/inittab, imejte v roki izvod originala, pravilno datoteko in zagonsko/korensko rešilno disketo, če slučajno naredite napako.

#

# inittab Ta datoteka opisuje, kako naj bi procesi INIT # nastavili sistem za delovanje določenega # načina delovanja (angl. run-level). #

# Različica:  @(#)inittab  2.04  17/05/93  MvS
#  2.10  02/10/95  PV

#

# Avtor: Miquel van Smoorenburg,

# <miquels@drinkel.nl.mugnet.org>

# Spremenil: Patrick J. Volkerding,

# <volkerdi@ftp.cdrom.com>

# Manjše popravke naredil:

# Robert Kiesling, <kiesling@terracom.net> # # Privzeti način delovanja. id:3:initdefault:

# Sistemska inicializacija (teče, ko se sistem zaganja).

si:S:sysinit:/etc/rc.d/rc.S

# Skript za preklop v enouporabniški način (način delovanja 1).

su:1S:wait:/etc/rc.d/rc.K

# Skript za preklop v večuporabniški način.

152 4. Sistemsko upravljanje

rc:23456:wait:/etc/rc.d/rc.M

# Kaj storiti ob Ctrl-Alt-Del ca::ctrlaltdel:/sbin/shutdown -t5 -rfn now

# Način delovanja 0 zaustavi sistem. l0:0:wait:/etc/rc.d/rc.0

# Način delovanja 6 ponovno zažene sistem. l6:6:wait:/etc/rc.d/rc.6

# Kaj storiti, ko zmanjka električne napetosti (izključitev # sistema v enouporabniški način). pf::powerfail:/sbin/shutdown -f +5 "ZMANJKUJE NAPETOSTI"

# Če se napetost vrne pred ugasnitvijo (angl. shutdown), # prekliči tekoče ugašanje. pg:0123456:powerokwait:/sbin/shutdown -c "NAPETOST SE JE VRNILA"

# Če se napetost vrne v enouporabniškem načinu, se vrni # v večuporabniški način. ps:S:powerokwait:/sbin/init 5

# Getty-ji v večuporabniškem načinu na konzolah in zaporednih # linijah. # # POZOR POZOR POZOR - Nastavite to na vaš getty, sicer se ne # boste mogli prijaviti!! # # Pazite: za ’agetty’ uporabljate obliko hitrost-linije, linija. # Za ’getty_ps’ uporabljate linija, hitrost-linije in tudi # uporabite ’gettydefs’ c1:1235:respawn:/sbin/agetty 38400 tty1 linux c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:1235:respawn:/sbin/agetty 38400 tty3 linux c4:1235:respawn:/sbin/agetty 38400 tty4 linux c5:1235:respawn:/sbin/agetty 38400 tty5 linux c6:12345:respawn:/sbin/agetty 38400 tty6 linux

# Zaporedne linije # s1:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt100 s2:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100

# Klicne linije d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100 #d2:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS1 vt100

# Način delovanja 4 je bil včasih sistem le z X-window, # dokler nismo ugotovili, da vrže init v zanko, ki vseskozi # vzdržuje vašo povprečno obremenjenost vsaj na 1. Torej je # zdaj odprta prijavna seja z getty na tty6. Upajmo, da ne # bo nihče opazil. ;^) # Morda tako ali tako ni slabo imeti vsaj eno tekstovno konzolo, # za vsak slučaj, če se kaj zgodi z X. x1:4:wait:/etc/rc.d/rc.4

# Konec datoteke /etc/inittab

Ob začetku ta /etc/inittab požene šest navideznih konzol, prijavni pozornik za modem, priključen na /dev/ttyS0, in prijavni pozornik za znakovni terminal, povezan po zaporedni liniji RS-232 na /dev/ttyS1.

Na kratko, init stopa skozi vrsto načinov delovanja (angl. run levels), ki ustrezajo različnim delovnim stanjem sistema. V način delovanja 1 se vstopi takoj, ko se sistem zažene, načina delovanja 2 in 3 sta običajna, večopravilna delovna načina sistema, način delovanja 4 požene X Window System s prikaznim upravljalnikom xdm in način delovanja 6 ponovno zažene sistem. Načini delovanja, povezani z vsakim ukazom, so druge postavke v vsaki vrstici datoteke /etc/inittab.

Na primer, vrstica

s2:12345:respawn:/sbin/agetty -L 9600 ttyS1 vt100

bo vzdrževala prijavni pozornik na zaporednem terminalu za načine delovanja 1–5. Postavka »s2« pred prvim dvopičjem je simbolni identifikator, ki ga interno uporablja init. Postavka respawn je ključna beseda programa init, ki se pogosto uporablja v povezavi z zaporednimi terminali. Če po določenem časovnem obdobju program agetty, ki poraja terminalski prijavni pozornik, ne prejme vhoda s terminala, se čas programu izteče in izvajanje se prekine. Postavka »respawn« pove init-u, naj spet izvede agetty ter tako zagotovi, da je na terminalu vedno prijavni pozornik, ne glede na to, ali je kdo prijavljen ali ne. Ostali parametri se predajo neposredno programu agetty in mu povedo, naj porodi prijavno ukazno lupino, podatkovno hitrost zaporedne linije, zaporedno napravo in terminalski tip, kot so definirani v datoteki /etc/termcap ali /etc/terminfo.

Program /sbin/agetty ureja mnoge podrobnosti, povezane s terminalskim vhodom/izhodom sistema. Obstaja nekaj različic, ki se uporabljajo na sistemih Linux. Te vključujejo mgetty, psgetty ali preprosto getty.

V primeru vrstice v /etc/inittab

d1:12345:respawn:/sbin/agetty -mt60 38400,19200,9600,2400,1200 ttyS0 vt100

ki dovoljuje uporabnikom prijavo po modemu, priključenem na zaporedno linijo /dev/ttyS0, so parametri za /sbin/agetty enaki »-mt60«, kar dovoljuje sistemu, da se sprehodi skozi vse hitrosti modema, ki jih lahko uporablja klicoči, ko se prijavlja v sistem, in da ustavi /sbin/agetty, če po 60 sekundah še ni povezave. Temu se reče dogovarjanje povezave. Podprte hitrosti modema so naštete tudi v ukazni vrstici, kot tudi zaporedna linija za uporabo in terminalski tip. Seveda, oba modema morata podpirati hitrost prenosa podatkov, za katero se stroja končno dogovorita.

V tem razdelku smo prezrli mnoge pomembne podrobnosti. Opravila, ki jih vzdržuje /etc/inittab, bi lahko sestavljala svojo knjigo. Za nadaljnje informacije so dobre začetne točke strani priročnika o programih init in agetty in spis Serial HOWTO Dokumentacijskega projekta za Linux. Dostopen je iz virov, naštetih v dodatku A.

4.5 Upravljanje datotečnih sistemov

Še eno opravilo za upravitelja sistema je skrb za datotečne sisteme. Večino tega sestavljajo periodična preverjanja datotečnih sistemov, da ne vsebujejo napak ali pokvarjenih datotek. Veliko sistemov Linux tudi samodejno preverja datotečne sisteme v času zagona.

4.5.1 Priklop datotečnih sistemov

Preden je datotečni sistem dostopen, mora biti priklopljen na imenik. Na primer, če imate datotečni sistem na disketi, ga morate priklopiti pod imenikom, kot je /mnt, če želite dostopati do datotek na disketi (glejte stran 169). Po priklopu datotečnega sistema se vse datoteke datotečnega sistema prikažejo v tem imeniku. Po odklopu datotečnega sistema bo imenik (v tem primeru /mnt) prazen.

Enako velja tudi za datotečne sisteme na trdem disku. Sistem samodejno priklopi datotečne sisteme na vašem trdem disku v času zagona. Tako imenovani »korenski datotečni sistem« se priklopi na imenik /. Če imate poseben datotečni sistem za /usr, se priklopi na /usr. Če imate le korenski datotečni sistem, bodo vse datoteke (vključno s tistimi iz /usr) obstajale na tem datotečnem sistemu.

Ukaza mount in umount (ne unmount) se uporabljata za priklop in odklop datotečnih sistemov. Ukaz

mount -av

se samodejno požene iz izvedljivega skripta /etc/rc v času zagona ali iz skripta /etc/rc.d/boot (glejte stran 176) na nekaterih sistemih Linux. Datoteka /etc/fstab priskrbi informacije o datotečnih sistemih in točkah priklopa. Primer datoteke /etc/fstab je

# naprava  imenik  tip  izbire
/dev/hda2  /  ext2  defaults
/dev/hda3  /usr  ext2  defaults
/dev/hda4  none  swap  sw
/proc  /proc  proc  none

Prvo polje, naprava, je ime particije za priklop. Drugo polje je točka priklopa. Tretje polje je tip datotečnega sistema kot ext2 (za ext2fs) ali minix (za datotečne sisteme vrste Minix). Tabela 4.1 našteva različne tipe datotečnih sistemov, ki se lahko priklopijo v Linux.^{1} Morda vsi ti tipi datotečnih sistemov ne bodo dostopni na vašem sistemu, ker mora biti v jedro prevedena podpora zanje. Glejte stran 170 za informacije o gradnji jedra.

Zadnje polje v datoteki fstab so izbire za priklop z mount. To je običajno nastavljeno na privzeto vrednost, defaults.

Izmenjalne particije so vključene v datoteko /etc/fstab. Kot imenik za priklop imajo navedeno vrednost none, za tip pa swap. Ukaz swapon -a, ki se izvede iz /etc/rc ali /etc/init.d/boot, se uporablja za vklop izmenjevanja na vseh izmenjalnih napravah, ki so naštete v /etc/fstab.

Datoteka /etc/fstab vsebuje poseben vnos za datotečni sistem /proc. Kot je opisano na strani 131, se datotečni sistem /proc uporablja za shranjevanje informacije o sistemskih procesih, dostopnem pomnilniku in tako naprej. Če datotečni sistem /proc ni priklopljen, ukazi, kot je ps, ne bodo delovali.

1Ta tabela je bila osvežena za jedro 2.0.33.

Datotečni sistem Ime tipa  Komentar
Second Extended ext2  Najpogostejši datotečni sistem Linuxa.
Extended  ext  Nasledil ga je ext2.
Minix  minix  Originalni datotečni sistem Minixa; redko uporabljan.
Xia  xia  Kot ext2, a redko uporabljan.
UMSDOS  umsdos  Uporabljan za namestitev Linuxa na particijo MS-DOS.
MS-DOS  msdos  Uporabljan za dostop do datotek MS-DOS-a.
/proc  proc  Ponuja informacije o procesih za ps itd.
ISO 9660  iso9660  Format, ki ga uporablja večina CD-ROM-ov.
Xenix  xenix  Uporabljan za dostop do datotek Xenixa.
System V  sysv  Uporabljan za dostop do datotek na različicah System V za x86.
Coherent  coherent Uporabljan za dostop do datotek Coherenta.
HPFS  hpfs  Le bralni dostop do particij HPFS (DoubleSpace).

Tabela 4.1: Tipi datotečnih sistemov za Linux

◇ Ukaz mount lahko uporablja le root. To zagotavlja varnost sistema. Saj ne želite, da običajni uporabniki priklapljajo in odklapljajo datotečne sisteme ob vsakem preblisku. Obstaja precej dostopnih programskih paketov, ki dovoljujejo nekorenskim uporabnikom priklapljanje in odklapljanje datotečnih sistemov, posebej disket, ne da bi bila prizadeta varnost sistema.

Ukaz mount -av pravzaprav priklopi vse datotečne sisteme, razen korenskega (v zgornji tabeli, /dev/hda2). Korenski datotečni sistem samodejno priklopi že jedro v času zagona.

Namesto uporabe mount -av lahko priklopite datotečni sistem na roke. Ukaz

     # mount -t ext2 /dev/hda3 /usr

je ekvivalenten priklopu datotečnega sistema z vnosom za /dev/hda3 v zgornji zgledni datoteki /etc/fstab.

4.5.2 Imena gonilnikov naprav

Poleg imen particij, naštetih v datoteki /etc/fstab, Linux prepoznava številne fiksne in odstranljive naprave. Razvrščene so po tipu, vmesniku in vrstnem redu, kot so nameščene. Na primer, prvi trdi disk vašega sistema, če je to IDE ali starejši trdi disk MFM, je nadzorovan z gonilnikom naprave, na katero kaže /dev/hda. Prva particija trdega diska je /dev/hda1, druga particija je /dev/hda2, tretja particija je /dev/hda3 in tako naprej. Prva particija drugega pogona IDE je pogosto /dev/hdb1, druga particija /dev/hdb2 in tako dalje. Shema poimenovanja za najbolj pogosto nameščene diske IDE za arhitekturo Intel, stroje z vodili ISA in PCI je podana v tabeli 4.2.

Gonilnik naprave Disk
/dev/hda  Nadrejeni disk IDE, primarno vodilo IDE.
/dev/hdb  Podrejeni disk IDE, primarno vodilo IDE.
/dev/hdc  Nadrejeni disk IDE, sekundarno vodilo IDE.
/dev/hdd  Podrejeni disk IDE, sekundarno vodilo IDE.

Tabela 4.2: Imena gonilnikov naprav IDE

Ta imena naprav uporabljajo tudi pogoni CD-ROM in tračne enote, ki uporabljajo razširjeni vmesnik pogona IDE/ATAPI.

Mnogi stroji, vključno z osebnimi računalniškimi delovnimi postajami zgornjega razreda in stroji, ki tečejo na procesorju Alpha izdelovalca Digital Equipment Corporation, pa uporabljajo vmesnik SCSI (angl. Small Computer System Interface, sistemski vmesnik za male računalnike). Poimenovalni dogovori za naprave SCSI se zaradi večje prožnosti naslavljanja SCSI nekako razlikujejo od zgornjih. Prvi trdi disk SCSI na sistemu je /dev/sda, drugi disk SCSI je /dev/sdb in tako naprej. Seznam pogostih naprav SCSI je podan v tabeli 4.3.

Gonilnik naprave Pogon
/dev/sda  Prvi trdi disk SCSI.
/dev/sdb  Drugi trdi disk SCSI.
/dev/st0  Prvi tračni pogon SCSI.
/dev/st1  Drugi tračni pogon SCSI.
/dev/scd0  Prvi pogon CD-ROM SCSI.
/dev/scd1  Drugi pogon CD-ROM SCSI.

Tabela 4.3: Gonilniki naprav SCSI

Upoštevajte, da se CD-ROM-i in tračni pogoni imenujejo drugače kot trdi diski SCSI. Odstranljivi mediji SCSI, kot je pogon Iomega Zip, upoštevajo poimenovalne dogovore za ne-odstranljive pogone SCSI. Uporaba pogona Zip za izdelovanje varnostnih kopij vaših podatkov je opisana od strani 167 naprej.

Tokovni tračni pogoni, kot so tisti, ki berejo in pišejo magnetne trakove formatov QIC-02, QIC-40 in QIC-80, imajo svoj lastni nabor imen naprav, ki so opisane na strani 168.

Disketni pogoni uporabljajo spet drugo shemo poimenovanja, ki je opisana na strani 166.

4.5.3 Preverjanje datotečnih sistemov

Navadno je dobro vsake toliko časa pregledati vaše datotečne sisteme, ali vsebujejo pokvarjene datoteke. Nekateri sistemi samodejno preverjajo datotečne sisteme v času zagona (z ustreznimi ukazi v /etc/rc ali /etc/init.d/boot).

Ukaz za preverjanje datotečnega sistema je odvisen od vrste datotečnega sistema. Za datotečne sisteme ext2fs (najpogosteje uporabljano vrsto) je ta ukaz e2fsck. Na primer, ukaz

     # e2fsck -av /dev/hda2

preveri datotečni sistem ext2fs na /dev/hda2 in samodejno odpravi vsakršne napake.

Navadno je koristno odklopiti datotečni sistem pred njegovim preverjanjem, to je celo potrebno, če ga namerava e2fsck popravljati. Ukaz

     # umount /dev/hda2

odklopi datotečni sistem na /dev/hda2. Izjema je korenski datotečni sistem, ki ga ni mogoče odklopiti. Za preverjanje korenskega datotečnega sistema, ko je odklopljen, bi morali uporabiti vzdrževalno zagonsko/korensko disketo (glejte stran 178). Datotečnega sistema tudi ne morete odklopiti, če je katerakoli od datotek, ki jih vsebuje, »zasedena« – se pravi, če jo uporablja katerikoli tekoči proces. Na primer, ne morete odklopiti datotečnega sistema, če je na njem trenutni delovni imenik kateregakoli uporabnika. Namesto tega boste prejeli sporočilo o napaki zasedenosti naprave »Device busy«.

Drugi tipi datotečnih sistemov uporabljajo drugačne oblike ukaza e2fsck, kot sta efsck in xfsck. Na nekaterih sistemih lahko preprosto uporabite ukaz fsck, ki samodejno ugotovi tip datotečnega sistema in izvede ustrezni ukaz.

◇ Če e2fsck poroča, da je izvedel popravila na priklopljenem datotečnem sistemu, morate takoj ponovno zagnati računalnik. Izdati morate ukaz shutdown -r s katerim se izvede ponovni zagon. To dovoljuje sistemu, da spet uskladi informacije o datotečnem sistemu, ki ga je e2fsck spremenil.

Datotečnega sistema /proc ni treba nikoli preveriti na ta način. /proc je pomnilniški datotečni sistem in ga neposredno upravlja jedro.

4.6 Uporaba izmenjalne datoteke

Namesto da bi rezervirali posebno particijo za izmenjalni prostor, lahko uporabljate izmenjalno datoteko (angl. swap file). Vendar morate namestiti Linux in doseči, da vse deluje, preden ustvarite izmenjalno datoteko.

Ko je Linux nameščen, lahko uporabite naslednje ukaze za ustvarjanje izmenjalne datoteke. Spodnji ukaz ustvari izmenjalno datoteko velikosti 8208 blokov (približno 8 MB).

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

Ta ukaz ustvari izmenjalno datoteko /swap. Parameter »count=« je velikost izmenjalne datoteke v blokih. Velikost bloka smo določili s parametrom »bs=«.

# mkswap /swap 8208

Ta ukaz inicializira izmenjevalno datoteko. Spet, nadomestite ime in velikost izmenjevalne datoteke z ustreznimi vrednostmi.

     # sync
     # swapon /swap

Zdaj sistem izmenjuje podatke med pomnilnikom in diskom na datoteko /swap. Ukaz sync zagotavlja, da je datoteka res zapisana na disk.

Precej slaba stran uporabe izmenjalne datoteke je, da se ves dostop do izmenjalne datoteke opravlja preko datotečnega sistema. To pomeni, da si bloki, ki sestavljajo izmenjalno datoteko, morda ne bodo blizu. Izvajanje morda ne bo tako hitro kot pri izmenjalni particiji, kjer bloki vedno ležijo skupaj in se V/I zahteve sklicujejo neposredno na napravo.

Še ena slaba stran velike izmenjalne datoteke je, da je večja nevarnost okvare datotečnega sistema, če gre kaj narobe. Ločevanje običajnih datotečnih sistemov in izmenjalnih particij preprečuje, da bi se to zgodilo.

Izmenjalne datoteke so lahko uporabne, če morate začasno uporabljati več izmenjalnega prostora. Če prevajate ogromen program in bi radi nekako pospešili stvari, lahko ustvarite začasno izmenjalno datoteko in jo uporabljate kot dodatek k običajnemu izmenjevalnemu prostoru.

Za odstranitev izmenjalne datoteke najprej uporabite swapoff kot v ukazu

     # swapoff /swap

Potem lahko pobrišete datoteko.

# rm /swap

Vsaka izmenjevalna datoteka ali particija je lahko velika do 16 megabajtov, vendar lahko na vašem sistemu hkrati uporabljate do 8 izmenjevalnih datotek ali particij.

4.7 Upravljanje z uporabniki

Tudi če ste edini uporabnik na vašem sistemu, je pomembno razumeti vidike upravljanja z uporabniki pod Linuxom. Imeti bi morali vsaj račun zase (drugega kot root) za opravljanje večine vašega dela.

◇ Vsak uporabnik bi moral imeti svoj lastni račun. Le izjemoma je sprejemljivo, da si več ljudi deli isti račun. Vprašljiva je varnost, saj računi edinstveno istovetijo uporabnike sistema. Imeti morate možnost slediti, kaj kdo počne.

4.7.1 Pojmi upravljanja z uporabniki

Sistem beleži naslednje informacije o vsakem uporabniku:

uporabniško ime Ta identifikator je edinstven za vsakega uporabnika. Primeri uporabniških imen so larry, karl in mdw. Lahko uporabljate črke in številke, kot tudi »_« in ».« (podčrtaj in piko). Uporabniška imena so navadno omejena na 8 znakov dolžine.

uporabniška identifikacijska številka Ta številka, okrajšana kot UID, je edinstvena za vsakega uporabnika. Sistem običajno beleži uporabnike po njihovih številkah UID, ne po uporabniškem imenu.

skupinska identifikacijska številka Ta številka, okrajšana kot GID (iz angl. group ID), določa privzeto skupino uporabnika. V razdelku 3.10 opisujemo skupinska dovoljenja. Vsak uporabnik pripada eni ali več skupinam, kot določi sistemski upravitelj.

geslo To je uporabniško šifrirano geslo. Za nastavljanje in spremembo uporabniških gesel se uporablja ukaz passwd (iz angl. password).

polno ime Uporabnikovo »pravo ime« ali »polno ime« se shranjuje poleg uporabniškega imena. Na primer, uporabnik schmoj je lahko v resničnem življenju »Joe Schmo«.

domači imenik To je imenik, v katerega je prvotno postavljen uporabnik po prijavi in kjer so shranjene njegove osebne datoteke. Vsakemu uporabniku pripada domači imenik, ki je navadno lociran pod imenikom /home.

prijavna ukazna lupina Ta ukazna lupina se zažene za uporabnika po njegovi prijavi. Primera sta /bin/bash in /bin/tcsh.

Vse te informacije so shranjene v datoteki /etc/passwd. Vsaka vrstica te datoteke ima obliko

uporabniško ime:šifrirano geslo:UID:GID:polno ime:domači imenik:prijavna lupina

Primer bi lahko bil

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

V tem primeru je prvo polje, »kiwi«, uporabniško ime.

Naslednje polje, »Xv8Q981g71oKK«, je šifrirano geslo. Gesla se na sistemu ne shranjujejo v obliki, primerni za človeško branje. Geslo se šifrira s seboj kot skrivnim ključem. Z drugimi besedami, če želi kdo odšifrirati geslo, ga mora poznati. Ta oblika šifriranja je zmerno varna.

Nekateri sistemi uporabljajo »senčna gesla« (angl. shadow passwords), pri katerih se informacije o geslu shranjujejo v datoteki /etc/shadow. Ker lahko /etc/passwd bere ves svet, datoteka /etc/shadow priskrbi določeno stopnjo dodatne varnosti, saj so dovoljenja za dostop do nje precej bolj omejena. Senčna gesla ponujajo tudi druge lastnosti, kot je prenehanje veljavnosti gesla po določenem časovnem obdobju.

Tretje polje, »102«, je UID. Ta številka mora biti različna za vsakega uporabnika. Četrto polje, »100«, je GID. Ta uporabnica pripada skupini, oštevilčeni s 100. Informacije o skupinah se shranjujejo v datoteki /etc/group. Glejte razdelek 4.7.5 za več informacij.

Peto polje je polno ime uporabnice, »Laura Poole«. Zadnji dve polji sta uporabničin domači imenik (/home/kiwi) in njena prijavna ukazna lupina (/bin/bash), po vrsti. Ni nujno, da ima uporabničin domači imenik isto ime, kot je uporabniško ime. To le pomaga identificirati imenik.

4.7.2 Dodajanje uporabnikov

Ob dodajanju uporabnikov je treba narediti več korakov. Najprej se uporabniku dodeli zapis v /etc/passwd z enkratnim uporabniškim imenom in UID. Določena morajo biti polja o GID, uporabniškem imenu in drugih informacijah. Ustvarjen mora biti uporabnikov domači imenik, dovoljenja za ta imenik pa morajo biti nastavljena tako, da je uporabnik lastnik imenika. V domači imenik morajo biti nameščene inicializacijske datoteke za ukazno lupino in na sistemu morajo biti nastavljene druge datoteke (na primer čakalni imenik za prihajajočo uporabnikovo e-pošto).

Dodajanje uporabnikov na roko ni težko, a če poganjate sistem z mnogimi uporabniki, je zelo lahko kaj pozabiti. Najpreprostejši način za dodajanje uporabnikov je uporaba interaktivnega programa, ki samodejno osveži vse sistemske datoteke. Ime tega programa je useradd ali adduser, odvisno od nameščenega programja.

Ukaz adduser vzame potrebne informacije iz datoteke /etc/adduser.conf, ki definira standardno, privzeto nastavitev za vse nove uporabnike.

Tipična datoteka /etc/adduser.conf je prikazana spodaj.

# /etc/adduser.conf: nastavitev programa ‘adduser’.

# Za popolno dokumentacijo glejte adduser(8) in adduser.conf(5).

# Spremenljivka DSHELL določa privzeto prijavno ukazno lupino # na vašem sistemu. DSHELL=/bin/bash

160 4. Sistemsko upravljanje

# Spremenljivka DHOME določa imenik, ki vsebuje domače imenike # uporabnikov. DHOME=/home

# Če je GROUPHOMES "yes", potem bodo domači imeniki uporabniki # ustvarjani kot /home/ime-skupine/uporabnik. GROUPHOMES=no

# Če je LETTERHOMES "yes", potem bodo ustvarjeni domači imeniki # imeli dodaten imenik - prvo črko uporabniškega imena. Na primer: # /home/u/uporabnik. LETTERHOMES=no

# Spremenljivka SKEL določa imenik, ki vsebuje "skeletne" # uporabniške datoteke; z drugimi besedami, datoteke, kot je # vzorčni skript .profile, ki se bodo prepisale v domači # imenik novega uporabnika, ko je ta ustvarjen. SKEL=/etc/skel

# Nabor UID-ov za dinamično dodeljevane upravljalne in sistemske # račune sega od FIRST_SYSTEM_UID do vključno LAST_SYSTEM_UID. FIRST_SYSTEM_UID=100 LAST_SYSTEM_UID=999

# Nabor UID-ov za dinamično dodeljevane uporabniške račune # sega od FIRST_UID do vključno LAST_UID. FIRST_UID=1000 LAST_UID=29999

# Spremenljivka USERGROUPS je lahko nastavljena na "yes" ali "no". # Če je "yes", je privzeto vsakemu ustvarjenemu uporabniku dodeljena # lastna skupina za uporabo in njegov domači imenik bo g+s. # Če je "no", bo vsak novi uporabnik priključen skupini, katere # gid je USERS_GID (glejte spodaj). USERGROUPS=yes

# Če je USERGROUPS "no", potem mora biti USERS_GID GID skupine # ‘users’ (ali druge primerne skupine) na vašem sistemu. USERS_GID=100

# Če je nastavljen QUOTAUSER, bo za novega uporabnika določena # privzeta kvota z ukazom ‘edquota -p QUOTAUSER newuser’ QUOTAUSER=""

Poleg definiranja že nastavljenih spremenljivk, ki jih uporablja ukaz adduser, /etc/adduser.conf določa tudi, kje so shranjene privzete sistemske nastavitvene datoteke za vsakega uporabnika. V tem primeru se nahajajo v imeniku /etc/skel, kot definira zgornja vrstica SKEL=. Datoteke, ki so postavljene v ta imenik, bo ukaz adduser samodejno namestil v domači imenik novega uporabnika, podobno kot sistemske, privzete datoteke .profile, .tcshrc ali .bashrc.

4.7.3 Brisanje uporabnikov

Uporabnike brišemo z ukazom userdel ali deluser, odvisno od programja, nameščenega na sistem.

Če bi radi začasno »onemogočili« uporabniku, da bi se prijavil v sistem, ne da bi izbrisali njegov račun, preprosto pripnite zvezdico (»*«) v polje za geslo v datoteki /etc/passwd. Na primer, sprememba vnosa za kiwi v /etc/passwd

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

onemogoča kiwi, da bi se prijavila v sistem.

4.7.4 Nastavitev uporabniških atributov

Ko ste ustvarili uporabnika, boste morda želeli zanj spremeniti atribute, kot so domači imenik ali geslo. Najpreprostejši način za to je neposredna sprememba vrednosti v datoteki /etc/passwd. Za nastavitev uporabniškega gesla uporabite passwd. Ukaz

     # passwd larry

bo spremenil larry-jevo geslo. Le root lahko na tak način spreminja gesla drugih uporabnikov. Navadni uporabniki lahko spreminjajo le svoja lastna gesla.

Na nekaterih sistemih ukaza chfn in chsh omogočata uporabnikom, da si nastavijo svoje polno ime in atribute prijavne lupine. Če ne, mora ta atributa zanje spremeniti sistemski upravitelj.

4.7.5 Skupine

Kot smo že omenili zgoraj, vsak uporabnik pripada eni ali več skupinam. Edini pravi namen povezovanja v skupine se nanaša na dovoljenja za uporabo datotek. Kot se spomnite iz razdelka 3.10, ima vsaka datoteka »skupinsko lastništvo« in nabor skupinskih dovoljenj, ki definirajo, kako lahko uporabniki iz te skupine dostopajo do datoteke.

Obstaja več skupin, ki jih definira sistem, kot so bin, mail in sys. Uporabniki ne bi smeli pripadati nobeni od teh skupin; uporabljajo se za sistemska dovoljenja datotek. Namesto tega bi morali uporabniki pripadati posamezni skupini, kot je users. Vzdržujete lahko tudi več skupin za uporabnike, kot studenti, osebje in predavatelji.

Datoteka /etc/group vsebuje informacije o skupinah. Oblika vsake vrstice je

ime skupine:geslo:GID:drugi člani

Nekatere zgledne skupine so lahko:

root:*:0:

users:*:100:mdw,larry

guest:*:200: other:*:250:kiwi

Prva skupina, root, je posebna sistemska skupina, rezervirana za račun root. Naslednja skupina, users, je za običajne uporabnike. Ima GID 100. Uporabnika mdw in larry sta člana te skupine. Spomnite se, da je v /etc/passwd vsakemu uporabniku prirejena privzeta številka GID. Vendar lahko uporabniki pripadajo več kot eni skupini, tako da so njihova imena našteta v vrsticah drugih skupin v datoteki /etc/group. Ukaz groups našteva, do katerih skupin imate dostop.

Tretja skupina, guest, je za gostujoče uporabnike in other za »druge« uporabnike. Uporabnica kiwi ima dostop tudi do te skupine, poleg tega je privzeto že članica skupine users, saj je njena številka GID enaka 100.

Polje »geslo« v datoteki /etc/group se včasih uporablja za nastavljanje gesla za skupinski dostop. To je le redko potrebno. Za zavarovanje uporabnikov, da se ne bi spremenili v privilegirane skupine (z ukazom newgroup), nastavite polje z geslom na »*«.

Za dodajanje skupin na vaš sistem lahko uporabljate addgroup ali groupadd. Navadno je preprosteje, če sami dodate vnose v datoteko /etc/group, saj za skupino ni potrebno nobeno drugo nastavljanje. Skupino izbrišete preprosto tako, da izbrišete njen vnos v datoteki /etc/group.

4.7.6 Odgovornosti sistemskega upravljanja

Ker ima sistemski upravitelj tako veliko moči in odgovornosti, nekateri uporabniki izkoristijo prvo priložnost, ko se lahko prijavijo kot root na sistemu Linux ali drugje, da zlorabijo privilegije korenskega uporabnika. Poznal sem tako imenovane »sistemske upravitelje«, ki so brali pošto drugih uporabnikov, brisali uporabniške datoteke, ne da bi o tem opozorili njihove lastnike in se v splošnem obnašali kot otroci, ko jim je dana tako silna »igrača«.

Ker ima upravitelj takšno moč nad sistemov, je potrebna določena stopnja zrelosti in samonadzora, da uporablja račun root, za kar je namenjen – za tek sistema. Obstaja nepisani zakonik časti, ki obstaja med sistemskim upraviteljem in uporabniki na sistemu. Kako bi se počutili, če bi vaš sistemski upravitelj bral vaša e-pisma ali pregledoval vaše datoteke? Še vedno ni vplivnega pravnega precedensa za elektronsko zasebnost na večuporabniških računalniških sistemih. Na sistemih Unix ima uporabnik root možnost, da obide vse varnostne in zasebnostne mehanizme sistema. Pomembno je, da sistemski upravitelj s svojimi uporabniki razvije zaupanja vredno zvezo. To želimo še posebej poudariti.

4.7.7 Shajanje z uporabniki

Sistemski upravitelji lahko izberejo dva principa, ko imajo opravka z zlonamernimi uporabniki: lahko so paranoični ali zaupljivi. Paranoični sistemski upravitelj navadno povzroči več škode, kot jo prepreči. Eden mojih priljubljenih izrekov je, »Nikoli ne pripisujte zlobi česarkoli, kar lahko pripišete neumnosti«. Z drugimi besedami, večina uporabnikov nima zmožnosti ali znanja, da bi zares škodovali sistemu. V devetdesetih odstotkih, kadar uporabnik povzroča težave na sistemu (denimo, zapolnjuje uporabniško particijo z velikimi datotekami ali poganja več izvodov velikega programa), se uporabnik preprosto ne zaveda, da ustvarja problem. Izsledil sem uporabnike, ki so povzročali ogromno težav, vendar so preprosto delovali iz nevednosti – ne iz zlobe.

Ko imate opraviti z uporabniki, ki povzročajo potencialne težave, ne bodite obtoževalni. Breme dokaza leži na vas; se pravi, še vedno velja pravilo, da je uporabnik »nedolžen, dokler se ne dokaže, da je kriv«. Najbolje je, da se preprosto pogovorite z uporabnikom in ga povprašate o težavah, namesto da bi se spuščali v spore. Zadnja stvar, ki jo želite, je, da bi se zamerili uporabniku. To bi sprožilo veliko sumov o vas – sistemskem upravitelju – da morda sistema ne poganjate pravilno. Če uporabnik misli, da mu ne zaupate ali da ga ne marate, vas lahko obtoži izbrisa datotek ali kršitve zasebnosti na sistemu. To vsekakor ni položaj, v katerem bi se radi znašli.

Če ugotovite, da uporabnik poskuša »vlamljati« ali drugače namenoma škodovati sistemu, ne vrnite zlobnega obnašanja z lastno zlobo. Namesto tega ga posvarite, vendar bodite prožni. V veliko primerih lahko ujamete uporabnika »na delu« škodovanja sistemu. Posvarite ga. Povejte mu, da naj se to ne zgodi več. Vendar če ga spet ujamete, da dela škodo, bodite popolnoma prepričani, da je bilo to namenoma. Ne želim niti začeti opisovati številnih primerov, kjer se je zdelo, da uporabnik povzroča težave, v resnici pa je šlo za nezgodo ali mojo lastno napako.

4.7.8 Postavljanje pravil

Najboljša pot za tek sistema ni z železno roko. Tako se morda priganja vojsko, a Linux ni zasnovan za takšno disciplino. Razumno se zdi zapisati nekaj preprostih in prožnih vodnikov. Manj kot imate pravil, manj verjetno je, da bodo kršena. Tudi če so vaša pravila popolnoma razumna in jasna, jih bodo uporabniki občasno še vedno prekršili, ne da bi to nameravali. To je posebej res za nove uporabnike, ki se uvajajo v sistem. Ni povsem očitno, da ne bi smeli pobrati gigabajta datotek in jih poslati po pošti vsem uporabnikom sistema. Uporabniki potrebujejo pomoč, da razumejo pravila in zakaj so ta tukaj.

Če določite pravila za uporabo vašega sistema, se prepričajte tudi, da je pojasnilo za določen napotek jasno. Če ne, bodo uporabniki iznašli vse vrste ustvarjalnih načinov, da se bodo izognili pravilu in ne bodo vedeli, da ga kršijo.

4.7.9 Kaj vse to pomeni

Ne razlagamo vam do zadnje podrobnosti, kako poganjajte vaš sistem. To je odvisno od tega, kako ga uporabljate. Če imate veliko uporabnikov, so stvari zelo drugačne, kot če jih imate le malo ali če ste edini uporabnik na sistemu. Vendar je vedno koristno – v vsakem primeru – da razumete, kaj zares pomeni to, da ste sistemski upravitelj.

Če ste sistemski upravitelj, še ne pomeni, da ste čarovnik Linuxa. Obstaja veliko upraviteljev, ki vedo zelo malo o Linuxu. Podobno, veliko »običajnih« uporabnikov ve več o Linuxu kot katerikoli sistemski upravitelj. To, da ste sistemski upravitelj, vam tudi ne dovoljuje, da stresate zlobo na uporabnike. Če sistem dovoljuje upraviteljem brkljanje po uporabniških datotekah, to še ne pomeni, da imajo pravico to tudi početi.

Biti sistemski upravitelj ni velika reč. Ni pomembno, ali je vaš sistem drobcena 386 ali superračunalnik Cray. Poganjanje sistema je enako ne glede na velikost. S poznavanjem korenskega gesla si ne boste prislužili denarja ali slave. Omogočilo vam bo, da vzdržujete sistem in poskrbite, da bo tekel. To je to.

4.8 Arhiviranje in komprimiranje datotek

Preden spregovorimo o varnostnih kopijah (angl. backups), moramo uvesti orodja, ki se uporabljajo za arhiviranje datotek na sistemih Unix.

4.8.1 Uporaba pripomočka tar

Najpogosteje se uporablja za arhiviranje datotek ukaz tar. Njegova ukazna skladnja je

tar izbire datoteke

kjer je izbire seznam ukazov in izbir za tar in datoteke seznam datotek za dodajanje ali izločitev iz arhiva.

Na primer, ukaz

     # tar cvf rezerva.tar /etc

zapakira vse datoteke v imeniku /etc v arhivsko datoteko rezerva.tar. Prvi argument ukaza tar, »cvf«, je »ukaz« tar-u. Izbira c naroči tar-u, da naj ustvari novo arhivno datoteko. Izbira v prisili tar, da uporablja gostobesedni način, izpisujoč vsako ime datoteke, ko se arhivira. Izbira »f« pove tar-u, da je naslednji argument rezerva.tar ime arhivne datoteke, ki naj se ustvari. Ostanek argumentov ukaza tar predstavljajo imena datotek in imenikov, ki naj se dodajo v arhiv.

Ukaz

     # tar xvf rezerva.tar

bo odarhiviral arhivno datoteko rezerva.tar v trenutni imenik. ◇ Stare datoteke z enakim imenom so prepisane, ko se datoteke odtarajo v obstoječi ime-

nik.

Preden odarhivirate datoteke v formatu za tar, je pomembno vedeti, kje bi morale biti datoteke odpakirane. Denimo, da arhivirate naslednje datoteke: /etc/hosts, /etc/group in /etc/passwd. Če uporabite ukaz

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

je ime imenika /etc/ dodano pred vsakim imenom datoteke. Za odtaranje datotek na pravilno mesto uporabite

     # cd /
     # tar xvf rezerva.tar

saj so datoteke odtarane z imenom poti, shranjenim v arhivni datoteki.

Vendar če arhivirate datoteke z ukazom

     # cd /etc
     # tar cvf rezerva.tar hosts group passwd

se ime imenika ne shrani v arhivno datoteko. Zato morate pred odtaranjem datotek narediti »cd /etc«. Kot lahko vidite, način izdelave datoteke tar določa veliko razliko, kje jo morate odtarati. Ukaz

     # tar tvf rezerva.tar

se lahko uporablja za prikaz izpisa datotek v arhivu, ne da bi jih odtarali. Vidite lahko imenik, relativno na katerega so datoteke v arhivu shranjene, in odtarate arhiv na pravo mesto.

4.8.2 gzip in compress

Za razliko od arhivnih programov za MS-DOS, tar samodejno ne stiska datotek, ko jih arhivira. Če arhivirate dve enomegabajtni datoteki, bo končna datoteka .tar velika malo več kot dva megabajta. Ukaz gzip stisne podatke v datoteki (ki ni nujno datoteka .tar). Ukaz

     # gzip -9 rezerva.tar

stisne datoteko rezerva.tar v datoteko rezerva.tar.gz. Izbira -9 pove gzip-u, da naj uporabi največji faktor stiskanja.

Ukaz gunzip se lahko uporablja za razširjanje gzipane datoteke. Enako lahko uporabljate tudi »gzip -d«.

Pripomoček gzip je relativno novo orodje v skupnosti Unixa. Mnogo let se je namesto njega uporabljal ukaz compress. Vendar zaradi različnih dejavnikov, vključno s pričkanji o patentu za algoritem stiskanja podatkov programa compress in dejstva, da je gzip veliko bolj učinkovit, compress počasi izginja.

Datoteke, ki jih obdela compress, se končajo z ».Z«. Datoteka rezerva.tar.Z je s compressom stisnjena različica datoteke rezerva.tar, medtem ko je rezerva.tar.gz, z gzipom stisnjena različica^{2}. Ukaz uncompress se uporablja za razširitev datoteke, zgoščene s compress-om. Je ekvivalenten ukazu »compress -d.« Tudi ukaz gunzip ve, kako mora obravnavati datoteke, stisnjene s compress-om.

4.8.3 Sestavljanje vsega skupaj

Za arhiviranje skupine datotek in stiskanje rezultata uporabite ukaza:

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

Rezultat je rezerva.tar.gz. Za odpakiranje te datoteke uporabite obratna ukaza:

     # gunzip rezerva.tar.gz
     # tar xvf rezerva.tar

Vedno se prepričajte, da ste v pravilnem imeniku, preden odpakirate datoteko tar. Z nekaj spretnosti lahko vse to opravite tudi v eni vrstici.

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

Tukaj pošiljamo datoteko tar na »-«, kar označuje standardni izhod iz programa tar. Ta se po cevi usmeri na standardni vhod za program gzip, ki stisne prihajajočo datoteko tar. Rezultat se shrani v datoteko rezerva.tar.gz. Izbira -c naroči gzip-u, naj pošlje svoj izhod na standardni izhod, ki ga preusmerimo v rezerva.tar.gz.

En sam ukaz za odpakiranje te arhivske datoteke bi bil:

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

Spet, gunzip razširi vsebino datoteke rezerva.tar.gz in pošlje rezultat, datoteko tar, na standardni izhod. Ta se po cevi prenese do tar-a, ki prebere »-«, tokrat se ta znak nanaša na standardni vhod za tar.

Na srečo ukaz tar vključuje tudi izbiro z za samodejno sprotno zgoščevanje/razširitev datotek z uporabo algoritma zgoščevanja gzip.

Ukaz

     # tar cvfz rezerva.tar.gz /etc

je ekvivalenten ukazoma

2Nekaj časa se je za gzipane datoteke uporabljal podaljšek .z (mali »z«). Dogovorjeni podaljšek za gzip je zdaj .gz.

     # tar cvf rezerva.tar /etc
     # gzip rezerva.tar

Kot lahko uporabite tudi ukaz

     # tar xvfz rezerva.tar.Z

namesto ukazov

     # uncompress rezerva.tar.Z
     # tar xvf rezerva.tar

Poglejte strani priročnika za tar in gzip za podrobnejša navodila.

4.9 Uporaba disket in izdelava varnostnih kopij

Diskete se pogosto uporabljajo kot medij za shranjevanje varnostnih kopij. Če na vašem sistemu nimate priključene tračne enote, lahko uporabljate diskete (čeprav so počasnejše in nekoliko manj zanesljive).

Kot je bilo omenjeno, morajo biti diskete formatirane z programom FORMAT.COM za MS-DOS ali programom fdformat za Linux. Ta zapiše informacije o sektorjih in sledeh, ki so primerne, glede na zmogljivost diskete.

Nekaj imen naprav in formatov disket, ki so dostopne v Linuxu, je podanih v tabeli 4.4.

Gonilnik disketne naprave Format
/dev/fd0d360  Dvojna gostota, 360 KB, 5,25 palcev.
/dev/fd0h1200  Visoka gostota, 1,2 MB, 5,25 palcev.
/dev/fd0h1440  Visoka gostota, 1,44 MB, 3,5 palcev.

Tabela 4.4: Formati disket za Linux

Naprave, ki se začenjajo s fd0, so prvi disketni pogon, ki se v MS-DOS-u imenuje A:. Imena datotek gonilnikov druge diskovne naprave se začenjajo s fd1. V splošnem jedro Linuxa lahko zazna format diskete, ki je že bila formatirana – lahko preprosto uporabite /dev/fd0 in zaznavanje formata prepustite sistemu. A ko prvič uporabite popolnoma nove, neformatirane diskete, boste morda morali uporabiti določitve gonilnika, če sistem ne more zaznati tipa disket.

Popoln seznam naprav Linuxa z imeni gonilnikov teh naprav je podan v spisu Linux Allocated Devices H. Petra Anvina (glejte dodatek A).

Diskete lahko uporabljate tudi za hranjenje posameznih datotečnih sistemov in z mount priklopite disketo, da dostopate do podatkov na njej. Glejte razdelek 4.9.4.

4.9.1 Uporaba disket za varnostne kopije

Najpreprostejši način za izdelavo varnostne kopije z uporabo disket je s pripomočkom tar. Ukaz

     # tar cvfzM /dev/fd0 /

bo naredil popolno varnostno kopijo vašega sistema z uporabo disketnega pogona /dev/fd0. Izbira »M« ukaza tar dovoljuje, da se varnostne kopije raztezajo prek več delov; se pravi, ko je ena disketa polna, bo tar prosil za naslednjo. Ukaz

     # tar xvfzM /dev/fd0

obnovi celotno varnostno kopijo. Ta metoda se lahko uporablja tudi s tračno enoto, priključeno na vaš sistem. Glejte razdelek 4.9.3.

Obstajajo različni drugi programi za izdelavo večdelnih varnostnih kopij; morda bo priročen program backflops, ki ga najdete na tsx-11.mit.edu.

Izdelava popolne varnostne kopije sistema z disketami je lahko časovno in zmogljivostno potratna. Mnogi sistemski upravitelji uporabljajo politiko diferenčnih varnostnih kopij (angl. incremental backup). Vsak mesec se naredi popolno varnostno kopijo, vsak teden pa se naredi le varnostna kopija tistih datotek, ki so se spremenile v zadnjem tednu. Če sesujete sistem sredi meseca, lahko v tem primeru preprosto obnovite zadnjo popolno mesečno varnostno kopijo in potem po potrebi obnovite zadnje tedenske varnostne kopije.

Ukaz find je uporaben za iskanje datotek, ki so bile spremenjene po določenem datumu. Veliko skriptov za upravljanje diferenčnih varnostnih kopij lahko najdete na metalab.unc.edu.

4.9.2 Varnostne kopije s pogonom Zip

Izdelava varnostnih kopij na pogon Zip je podobna izdelavi varnostnih kopij na diskete, a ker imajo diski Zip največkrat kapaciteto 98 MB, je mogoče uporabiti en sam priklopljen disk Zip za en sam varnostni arhiv.

Pogoni Zip so dostopni s tremi različnimi strojnimi vmesniki: vmesnikom SCSI, vmesnikom IDE in vmesnikom vzporednih vrat PPA. Podpora za pogon Zip ni vključena kot že prevedena izbira v Linuxu, a se lahko določi ob gradnji prirejenega jedra za vaš sistem. Stran 172 opisuje namestitev gonilnika za napravo Iomega Zip.

Pogona Zip z vmesnikoma SCSI in PPA uporabljata vmesnik SCSI in sledita poimenovalnim dogovorom za druge naprave SCSI, ki so opisani na strani 155.

Diski Zip so navadno vnaprej formatirani z datotečnim sistemom za MS-DOS. Lahko uporabljate bodisi obstoječi datotečni sistem MS-DOS, ki mora biti podprt v vašem jedru Linuxa, bodisi mke2fs ali podoben program za zapis datotečnega sistema za Linux na disk.

Disk Zip, ko je priklopljen kot prva naprava SCSI, je /dev/sda4.

     # mount /dev/sda4 /mnt

Pogosto je udobno priskrbeti dodatno točko priklopa za datotečne sisteme diska Zip; na primer /zip. Naslednji koraki, ki morajo biti izvedeni kot root, bodo ustvarili točko priklopa:

     # mkdir /zip
     # chmod 0755 /zip

Potem lahko uporabljate imenik /zip za priklop datotečnega sistema diska Zip.

Pisanje arhivov na diske Zip je podobno arhiviranju na diskete. Za arhiviranje in stiskanje imenika /etc na priklopljen pogon Zip bi bil uporabljen ukaz

     # tar zcvf /zip/etc.tgz /etc

Ta ukaz se lahko izvede iz poljubnega imenika, saj določa absolutna imena poti. Arhivno ime etc.tgz je potrebno, če pogon Zip vsebuje datotečni sistem za MS-DOS, saj morajo tedaj imeti vse datoteke, zapisane na disk, imena, ki zadoščajo poimenovanju datotek tipa 8+3 v MS-DOS-u; sicer bo ime datoteke krajšano.

Podobno, izločanje tega arhiva zahteva ukaza

     # cd /
     # tar zxvf /zip/etc.tgz

Za ustvarjanje, na primer, datotečnega sistema ext2 na pogonu Zip bi podali ukaz (za nepriklopljeni disk Zip)

     # mke2fs /dev/sda4

S pogonom Zip, priklopljenim na ta način, z datotečnim sistemom ext2, je mogoče napraviti varnostne kopije celotnih datotečnih sistemov z enim samim ukazom.

     # tar zcvf /zip/local.tar.gz /usr/local

Upoštevajte, da je izdelava varnostnih kopij z ukazom tar v veliko primerih še vedno bolj zaželena kot preprosta izdelava arhivskega izvoda z ukazom cp -a, saj tar ohranja čas spremembe izvornih datotek.

4.9.3 Izdelava varnostnih kopij na tračne enote

Arhiviranje na tračno napravo brez zaustavljanja je podobno izdelavi varnostnih kopij na disketni datotečni sistem, le z drugim gonilnikom naprave. Trakovi so tudi formatirani in obravnavani drugače kot diskete. Nekateri reprezentativni gonilniki tračnih enot za sisteme Linux so izpisani v tabeli 4.5.

Gonilnik tračne naprave Format
/dev/rft0  Trak QIC-117, previjanje ob zaprtju.
/dev/nrft0  Trak QIC-117, brez previjanja ob zaprtju.
/dev/tpqic11  Trak QIC-11, previjanje ob zaprtju.
/dev/ntpqic11  Trak QIC-11, brez previjanja ob zaprtju.
/dev/qft0  Disketniška tračna enota, previjanje ob zaprtju.
/dev/nqft0  Disketniška tračna enota, brez previjanja ob zaprtju.

Tabela 4.5: Gonilniki tračnih enot

Disketniške tračne enote uporabljajo krmilnik disketnega pogona in jih nadzoruje gonilnik naprave ftape, ki je pokrit spodaj. Namestitev modula za gonilnik naprave ftape je opisana na strani 174. Tračne enote SCSI so naštete v tabeli 4.3.

Za arhiviranje imenika /etc na tračno enoto z uporabo ukaza tar uporabite ukaz

     # tar cvf /dev/qft0 /etc

Podobno za izločitev datotek s traku uporabite ukaza

     # cd /
     # tar xvf /dev/qft0

Ti trakovi morajo biti pred uporabo formatirani, tako kot diskete. Gonilnik ftape lahko formatira trakove pod Linuxom. Za formatiranje traku formata QIC-40 uporabite ukaz

     # ftformat --format-parameter qic40-205ft --mode-auto
     --omit-erase --discard-header

Druge tračne enote imajo lastno programje za formatiranje. Preverite strojno dokumentacijo za tračno enoto ali dokumentacijo za gonilnik naprave za Linux, ki ji pripada.

Preden se trakovi lahko odstranijo iz enote, morajo biti previti in V/I vmesni pomnilniki zapisani na trak. To je analogno odklopu diskete, preden jo izvržemo, saj tračni gonilnik tudi predpomni podatke. Standardni ukaz Unixa za nadzor operacij tračne enote je mt. Vaš sistem morda ne bo ponujal tega ukaza, odvisno od tega, ali ima zmožnosti uporabe tračne enote. Gonilnik ftape ima podoben ukaz, ftmt, ki se uporablja za nadzor tračnih operacij.

Za previjanje traku, preden ga odstranite, uporabite ukaz

     # ftmt -f /dev/qft0 rewoffl

Seveda nadomestite ustrezni gonilnik tračne enote za svoj sistem.

Priporočljivo je tudi ponovno napenjanje traku, preden pišete nanj, saj so magnetni trakovi občutljivi za natezanje. Ukaz se glasi

     # ftmt -f /dev/qft0 retension

Za branje statusa tračne enote s formatiranim trakom v enoti, izdajte ukaz

     # ftmt -f /dev/qft0 status

4.9.4 Uporaba disket kot datotečnih sistemov

Datotečni sistem na disketi lahko ustvarite, kot bi ga ustvarili na particiji trdega pogona. Na primer,

     # mke2fs /dev/fd0 1440

ustvari datotečni sistem na disketi v /dev/fd0. Velikost datotečnega sistema mora ustrezati velikosti diskete. 3,5" diskete visoke gostote so velike 1,44 megabajtov ali 1440 blokov. 5,25" diskete visoke gostote so velike 1200 blokov. Če sistem ne more samodejno zaznati kapacitete diskete, je nujno določiti velikost datotečnega sistema v blokih.

Za dostopanje do diskete morate priklopiti datotečni sistem, ki je na njej. Ukaz

     # mount /dev/fd0 /mnt

bo priklopil disketo v /dev/fd0 na imenik /mnt. Zdaj se bodo vse datoteke na disketi pojavile pod imenikom /mnt na vašem pogonu.

Točka priklopa, imenik, kamor priklopite datotečni sistem, mora že obstajati, ko uporabljate ukaz mount. Če še ne obstaja, jo ustvarite z ukazom mkdir, kot je opisano na strani 167.

Glejte stran 154 za več informacij o datotečnih sistemih, priklapljanju in točkah priklopa.

◇ Upoštevajte, da se ves V/I za disketo predpomni enako kot V/I za trdi disk. Če spreminjate podatke na disketi, morda ne boste videli lučke na disketni enoti, dokler jedro ne izprazni svojega V/I vmesnega pomnilnika. Pomembno je, da ne odstranite diskete, dokler je ne odklopite z ukazom

     # umount /dev/fd0

Disket ne smete preprosto zamenjati, kot bi to storili v sistemu MS-DOS. Vsakič, ko zamenjate disketo, uporabite umount za prvo disketo in mount za naslednjo.

4.10 Nadgradnja in namestitev novega programja

Še ena dolžnost sistemskega upravitelja je nadgradnja in nameščanje nove programske opreme.

Razvoj sistema Linux je hiter. Novo jedro izide vsakih nekaj tednov in drugo programje se ažurira skoraj tako pogosto. Zaradi tega novi uporabniki Linuxa pogosto čutijo potrebo po nenehni nadgradnji njihovih sistemov, da bi sledili hitremu tempu sprememb. To ni potrebno in je izguba časa. Če bi sledili vsem spremembam v svetu Linuxa, bi porabljali ves svoj čas za nadgrajevanje in vam ga ne bi ostalo nič za uporabo sistema.

Nekateri ljudje menijo, da bi morali nadgraditi, ko je narejena nova izdaja distribucije; na primer, ko Slackware izda novo različico. Mnogi uporabniki Linuxa ponovno v celoti namestijo svoje sisteme z vsako najnovejšo izdajo distribucije Slackware.

Najboljši način za nadgradnjo vašega sistema je odvisen od distribucije Linuxa, ki jo imate. Debian, S. u. S. E., Caldera in Red Hat Linux imajo vsi inteligentno programje za upravljanje paketov, ki dovoljuje preproste nadgradnje z nameščanjem novih paketov. Na primer, prevajalnik za C, gcc, se dobi kot vnaprej pripravljen binarni paket. Ko se namesti, so vse datoteke starejših različic prepisane ali odstranjene.

V največji meri brezumno nadgrajevanje, samo da »sledite trendu«, sploh ni pomembno. To ni MS-DOS ali Microsoft Windows. Ni bistvenega razloga za poganjanje novejših različic vsega programja. Če ugotovite, da bi želeli ali potrebovali zmožnosti, ki jih ponuja nova različica, potem nadgradite. Sicer ne nadgradite. Z drugimi besedami, nadgradite le to, kar morate in kadar morate. Ne nadgrajujte zaradi nadgrajevanja. To zapravlja veliko časa in naporov.

4.10.1 Nadgraditev jedra

Nadgraditev jedra je stvar dobivanja izvorne kode jedra in prevajanja le-te. To je v splošnem neboleč postopek, a lahko zaidete v težave, če poskušate nadgraditi na razvojno jedro ali nadgraditi na novo različico jedra. Ime različice jedra ima dva dela, številko različico jedra in stopnjo popravkov. V času nastanka te knjige je bilo zadnje stabilno jedro različice 2.2.3. 2.2 je tukaj različica jedra in 3 je stopnja popravkov. Liho oštevilčene različice jeder kot 2.3 so razvojna jedra. Izognite se razvojnim jedrom, razen če želite živeti nevarno! Kot splošno pravilo bi morali biti sposobni preproste nadgradnje na drugo stopnjo popravkov, a nadgradnja na novo različico zahteva nadgradnjo sistemskih pripomočkov, ki tesno sodelujejo z jedrom.

Izvorno kodo jedra za Linux lahko poberete s katerega od mest za anonimni FTP Linuxa (glejte stran 249 za seznam). Na metalab.unc.edu, denimo, najdete izvorno kodo jedra v imeniku /pub/Linux/kernel, organizirano v podimenike po številki različice.

Izvorna koda jedra izhaja kot z gzip-om stisnjena datoteka .tar. Na primer, datoteka, ki vsebuje izvorno kodo jedra 2.0.33, je linux-2.0.33.tar.gz.

Izvorna koda jedra se odpakira v imenik /usr/src, tako da ustvari imenik /usr/src/linux. Splošna praksa je, da je /usr/src/linux simbolna povezava na drug imenik, ki vsebuje številko različice kot /usr/src/linux-2.0.33. Tako lahko namestite novo izvorno kodo jedra in jo preizkusite, preden odstranite staro izvorno kodo jedra. Ukazi za ustvarjanje povezave imenika z jedrom so:

     # cd /usr/src
     # mkdir linux-2.0.33

     # rm -r linux
     # ln -s linux-2.0.33 linux
     # tar xzf linux-2.0.33.tar.gz

Ko nadgrajujete na novi nivo popravkov iste različice jedra, lahko datoteke s popravki jedra (angl. kernel patch files) prihranijo čas prenosa, saj je izvorna koda jedra velika okoli 7 MB, ko je že stisnjena z gzip-om. Za nadgradnjo z jedra 2.0.31 na jedro 2.0.33 bi pobrali datoteki s popravki patch-2.0.32.gz in patch-2.0.33.gz, ki ju najdete na istih mestih za FTP kot celotno izvorno kodo jedra. Ko ste položili popravka v imenik /usr/src, ju zaporedno uporabite na jedru, da boste osvežili izvorno kodo. Eden od načinov za to bi bil

     # cd /usr/src
     # gzip -cd patch-2.0.32.gz | patch -p0
     # gzip -cd patch-2.0.33.gz | patch -p0

Ko je izvorna koda odpakirana in so bili uporabljeni popravki, se boste morali prepričati, da so tri simbolne povezave v /usr/include pravilne za vašo distribucijo jedra. Za ustvarjanje teh povezav uporabite ukaze

     # cd /usr/include
     # rm -rf asm linux scsi
     # ln -s /usr/src/linux/include/asm-i386 asm
     # ln -s /usr/src/linux/include/linux linux
     # ln -s /usr/src/linux/include/scsi scsi

Ko ustvarite te povezave, ni razloga, da bi jih ponovno ustvarjali, ko nameščate nove popravke jedra ali novejšo različico jedra. (Glejte razdelek 3.11 za več o simbolnih povezavah.)

Za prevajanje jedra morate imeti na vašem sistemu nameščen prevajalnik za C gcc. Za prevajanje jedra 2.0 je potrebna različica gcc 2.6.3 ali poznejša.

Najprej naredite cd v /usr/src/linux. Ukaz make config vas sprašuje o številnih nastavitvenih izbirah. To je korak, kjer izberete strojno opremo, ki jo bo podpiralo vaše jedro. Največja napaka, ki se ji je treba izogniti, je, da ne vključite podpore za vaš krmilnik trdega diska. Brez pravilne podpore za trdi disk v jedru se sistem ne bo niti zagnal. Če niste prepričani, kaj pomeni izbira jedra, je kratek opis dostopen s pritiskom na ? in Enter .

V novejših različicah Linuxa sta dostopna tudi zaslonsko usmerjena ekvivalenta ukaza make config. Za zaslonsko različico nastavitvenih izbir za jedro napišite make menuconfig, če pa imate na vašem sistemu nameščen grafični vmesnik X Window System, lahko uporabite tudi make xconfig. Uporaba obeh je precej intuitivna in gotovo ju boste uporabljali raje kot make config.

Nato poženite ukaz make dep za ažuriranje vseh odvisnosti izvorne kode. To je pomemben korak. Ukaz make clean odstrani stare binarne datoteke iz drevesa izvorne kode jedra.

Ukaz make zImage prevede vaše jedro in ga zapiše v datoteko /usr/src/linux/arch/i386/boot/zImage. Jedra za Linux na sistemih Intel so vedno stisnjena. Včasih je jedro, ki ga želite prevesti, preveliko, da bi bilo lahko stisnjeno po metodi, ki jo uporablja make zImage. Jedro, ki je preveliko, bo izšlo iz prevajanja jedra s sporočilom o napaki: Kernel Image Too Large. Če se to zgodi, poskusite ukaz make bzImage. Ta uporablja program za stiskanje, ki podpira tudi večja jedra. Jedro se zapiše v datoteko /usr/src/linux/arch/i386/boot/bzImage.

Ko ste enkrat prevedli jedro, ga morate prekopirati na zagonsko disketo (z ukazom, kot »cp zImage /dev/fd0«) ali pa namestiti sliko tako, da bo LILO lahko zaganjal sistem z vašega trdega pogona. Glejte stran 149 za več informacij.

4.10.2 Dodajanje gonilnika naprave v jedro

Stran 167 opisuje, kako uporabljati pogon Iomega Zip za izdelavo rezerv. Podpora za pogon Iomega Zip, kot za mnoge druge naprave, ni splošno prevedena v zalogo distribucijskih jeder Linuxa – različnost naprav je preprosto prevelika, da bi podpirali vse od njih v uporabnem jedru. Vendar pa je izvorna koda za gonilnik naprave Zip na vzporednih vratih vključena kot del distribucije izvorne kode jedra. Ta razdelek opisuje, kako dodati podporo za pogon Iomega Zip na vzporednih vratih in doseči sobivanje s tiskalnikom, priključenim na druga vzporedna vrata.

Pogoj je, da ste namestili in uspešno zgradili prilagojeno jedro za Linux, kot je opisano v prejšnjem razdelku.

Izbor naprave ppa za pogon Zip kot možnost za jedro zahteva, da odgovorite z Y na primerna vprašanja med korakom make config, ko določate sestavo prilagojenega jedra. Posebej pri napravi ppa morate odgovoriti z »Y« na tri izbire:

SCSI support? [Y/n/m] Y SCSI disk support? [Y/n/m] Y IOMEGA Parallel Port Zip Drive SCSI support? [Y/n/m] Y

Ko ste uspešno pognali make config z vsemi podpornimi izbirami, ki jih želite vključiti v jedro, pognali make dep, make clean in make zImage za gradnjo jedra, morate povedati jedru, kako naj namesti gonilnik. To se naredi z ukazno vrstico v zagonskem nalagalniku LILO. Kot je bilo opisano v razdelku 4.2.1, ima nastavitvena datoteka za LILO /etc/lilo.conf »kitice« za vsak operacijski sistem, ki ga pozna, in tudi navodila za predstavljanje teh izbir uporabniku v času zagona.

Drugo navodilo, ki ga LILO prepozna, je »append=«, ki dovoljuje dodajanje informacij, ki jih potrebujejo različni gonilniki naprav, ob času zagona v ukazno vrstico. V tem primeru gonilnik ppa za Iomega Zip potrebuje neuporabljeno prekinitev (angl. interrupt) in naslov vrat za V/I (angl. I/O port address). To je analogno določanju različnih tiskalniških naprav, kot sta v MS-DOS-u LPT1: in LPT2:.

Na primer, če vaš tiskalnik uporablja šestnajstiški (z osnovo 16) naslov vrat 0x378 (glejte namestitveni priročnik za vašo kartico vzporednih vrat, če ne veste, kakšen je naslov) in je izprašan (angl. polled, se pravi, ne potrebuje linije linije IRQ, pogosta nastavitev Linuxa), bi postavili naslednjo vrstico v vašo sistemsko datoteko /etc/lilo.conf:

append="lp=0x378,0"

Velja omeniti, da Linux ob zagonu samodejno prepozna ena vrata /dev/lp, a ob določitvi prirejene nastavitve vrat so potrebna navodila v času zagona.

Število »0« za naslovom vrat pove jedru, naj ne uporablja linije IRQ (zahteva prekinitve, angl. interrupt request) za tiskalnik. To je v splošnem sprejemljivo, saj so tiskalniki veliko počasnejši kot procesorji, zato počasnejša metoda dostopa do V/I naprav, znana kot izpraševanje (angl. polling), kjer jedro periodično na lastno pest preverja status tiskalnika, še vedno dovoljuje računalniku, da dohaja tiskalnik.

Vendar naprave, ki delujejo na višjih hitrostih, kot so serijske linije in diski, potrebujejo linijo IRQ ali linijo za zahtevo prekinitve. To je strojni signal, ki ga naprava pošlje procesorju, kadar naprava potrebuje njegovo pozornost; na primer, če ima naprava podatke, ki čakajo za vhod v procesor. Procesor preneha delati to, kar počne, in obdela zahtevo za prekinitev, ki jo je izdala naprava. Naprava ppa za pogon Zip potrebuje prosto prekinitev, ki mora ustrezati prekinitvi, ki je nastavljena na tiskalniški kartici, na katero povežete pogon Zip. V času tega pisanja gonilnik naprave ppa za Linux ne podpira »veriženja« (angl. chaining) naprav na vzporednih vratih, in za napravo ppa za Zip in tiskalnik se morajo uporabljati ločena vrata.

Za ugotovitev, katere prekinitve se že uporabljajo na vašem sistemu, ukaz

     # cat /proc/interrupt

prikaže seznam naprav in linije IRQ, ki jih uporabljajo. Vendar morate biti previdni, da ne uporabljate nobene od samodejno nastavljenih prekinitev serijskih vrat, ki morda niso naštete v datoteki /proc/interrupt.

Spis Serial HOWTO (iz projekta LDP), dostopen iz virov, naštetih v dodatku A, podrobno opisuje nastavitve serijskih vrat.

◇ Preveriti bi morali tudi strojne nastavitve različnih vmesnih kartic na vašem stroju – z odpiranjem ohišja stroja in ogledom nastavitev skakačev, če je potrebno – da zagotovite, da ne privzemate linije IRQ, ki jo že uporablja druga naprava. Več naprav, ki se bojujejo za prekinitveno linijo, je morda najpomembnejši razlog za nedelujoče sisteme Linux.

Tipična datoteka /proc/interrupt je videti nekako takole:

0: 6091646 timer 1: 40691 keyboard 2: 0 cascade 4: 284686 + serial 13: 1 math error 14: 192560 + ide0

Tukaj je zanimiv prvi stolpec. To so številke linij IRQ, ki se uporabljajo na sistemu. Za gonilnik ppa želimo izbrati linijo, ki ni našteta. Pogosto je dobra izbira IRQ 7, saj je redko uporabljan v privzetih sistemskih nastavitvah. Določiti moramo tudi naslov vrat, ki jih bo uporabljala naprava ppa. Ta naslov mora biti fizično nastavljen za kartico vmesnika. Vzporednim V/I vratom so dodeljeni posebni naslovi, zato boste morali prebrati dokumentacijo za vašo kartico vzporednih vrat. V tem primeru bomo uporabljali V/I naslov vrat 0x278, ki ustreza tiskalniškim vratom LPT2: pod MS-DOS-om. Podporo za druga vzporedna vrata in prekinitveno linijo vklopimo z naslednjo vrstico v primerni kitici datoteke /etc/lilo.conf:

append="lp=0x378,0 ppa=0x278,7"

Ti stavki so pripeti začetnim parametrom jedra v času zagona. Zagotavljajo, da se katerikoli tiskalnik, priključen na sistem, ne vtika v delovanje pogona Zip. Seveda, če vaš sistem nima nameščenega tiskalnika, se navodilo »lp=« lahko izpusti in bi se tudi moralo.

Ko namestite prirejeno jedro, kot je bilo opisano v razdelku 4.2.1, in preden ponovno zaženete sistem, se prepričajte, da ste že pognali ukaz

     # /sbin/lilo

za namestitev nove nastavitve LILO na zagonski sektor trdega pogona.

4.10.3 Namestitev modula za gonilnik naprave

Stran 168 opisuje, kako narediti rezervne kopije datotek na tračno enoto. Linux ponuja podporo za različne tračne enote z vmesniki IDE, SCSI in nekaterimi lastniškimi vmesniki. Drug pogosti tip tračnih enot se priključi neposredno na krmilnik disketnega pogona. Linux priskrbi gonilnik naprave ftape kot modul.

V času tega pisanja je najnovejša različica gonilnika ftape 3.04d. Paket lahko pridobite z arhiva za FTP metalab.unc.edu (glejte dodatek B za navodila). Arhivno datoteko za ftape najdete v imeniku /pub/Linux/kernel/tapes. Prepričajte se, da boste vzeli najnovejšo različico. V času tega pisanja je to ftape-3.04d.tar.gz.

Po odpakiranju arhiva ftape v imenik /usr/src bo ukaz make install v najvišjem imeniku ftape prevedel module gonilnika in pripomočke za ftape, če je potrebno, in jih namestil. Če izkušate združljivostne težave z izvedljivimi distribucijskimi datotekami za ftape in vašim sistemskim jedrom ali knjižnicami, bo izvajanje ukazov make clean in make install zagotovilo, da so moduli prevedeni na vašem sistemu.

◇ Za uporabo te različice gonilnika ftape morate imeti v jedro prevedeno podporo modulom (angl. module support) kot tudi podporo za jedrni strežnik (angl. kernel daemon) kerneld. Vendar ne smete vključiti zgrajene kode jedra za ftape kot izbiro jedra, saj novejši modul ftape popolnoma nadomesti to kodo.

Ukaz make install tudi namesti module gonilnikov naprav v ustreznih imenikih. Na standardnih sistemih Linux so moduli locirani v imeniku

/lib/modules/različica-jedra

Če je vaša različica jedra 2.0.30, so moduli na vašem sistemu v imeniku /lib/modules/2.0.30. Korak make install tudi zagotavlja, da se ti moduli lahko najdejo, saj doda primerne stavke v datoteko modules.dep, ki je locirana v najvišjem imeniku datotek za module, v tem primeru /lib/modules/2.0.30. Namestitev za ftape dodaja naslednje module na vaš sistem (v tem primeru uporabljamo jedro različice 2.0.30):

/lib/modules/2.0.30/misc/ftape.o

/lib/modules/2.0.30/misc/zft-compressor.o /lib/modules/2.0.30/misc/zftape.o

V sistemsko nastavitveno datoteko za module morajo biti dodana tudi navodila za nalaganje modulov. Ta datoteka se na mnogih sistemih imenuje /etc/conf.modules. Za samodejno nalaganje modulov za ftape na zahtevo dodajte naslednji vrstici v datoteko /etc/conf.modules:

alias char-major-27 zftape

pre-install ftape /sbin/swapout 5

Prvi stavek naloži vse module, povezane s ftape, če je to potrebno, ko jedro dostopa do naprave z vélikim številom (angl. major number) 27 (naprava ftape). Ker podpora za modul zftape (ki priskrbi samodejno stiskanje podatkov za tračne enote) potrebuje podporo drugih modulov za ftape, so vsi naloženi ob zahtevi jedra. Druga vrstica določa nalagalne parametre za module. V tem primeru zagotavlja pripomoček /sbin/swapout, ki je poleg paketa ftape, da je dostopnega dovolj pomnilnika DMA za delovanje gonilnika ftape.

Za dostop do naprave ftape morate najprej v enoto vstaviti formatirani trak. Navodila za formatiranje trakov in delovanje tračne enote so podana v razdelku 4.9.3.

4.10.4 Nadgradnja knjižnic

Kot smo že omenili, je večina programja na sistemu prevedena za uporabo deljenih knjižnic, ki vsebujejo skupne podprograme, deljene med različnimi programi.

Če vidite sporočilo o nezdružljivi različici knjižnice

Incompatible library version

ko poskušate pognati program, morate knjižnice nadgraditi na različice, ki jih potrebuje program. Knjižnice so za nazaj združljive. Program, preveden za uporabo starejše različice knjižnic, bi moral delovati tudi z nameščeno novo različico knjižnic. Obratno ni res.

Novejše različice knjižnic lahko najdemo na mestih za FTP datotek za Linux. Na metalab.unc.edu so zbrane v imeniku /pub/Linux/GCC. Datoteke o »izdaji« (angl. release), ki jih najdete tam, bi morale pojasniti, katere datoteke morate vzeti in kako jih namestite. Na kratko, morali bi vzeti datoteki image-različica.tar.gz in inc-različica.tar.gz, kjer je različica različica knjižnic za namestitev, kot je 4.4.1. To sta z gzip-om stisnjeni datoteki za tar. Datoteka image vsebuje slike knjižnic za namestitev v imenika /lib in /usr/lib. Datoteka inc vsebuje glave za namestitev v imenik /usr/include.

Datoteka release-različica.tar.gz bi morala podrobno pojasniti namestitveni postopek (natančna navodila se razlikujejo z vsako izdajo). V splošnem morate namestiti knjižnične datoteke .a in .sa v imenik /usr/lib. To so knjižnice, ki se uporabljajo ob prevajanju.

Dodatno, datoteke libc.so.različica s slikami deljenih knjižnic se namestijo v imenik /lib. To so slike deljenih knjižnic, ki se naložijo pri poganjanju programov, ki uporabljajo knjižnice. Vsaka knjižnica ima simbolno povezavo in véliko številko različice knjižnice v /lib.

Knjižnica libc različice 4.4.1 ima véliko številko različice enako 4. Datoteka, ki vsebuje knjižnico, je libc.so.4.4.1. V imenik /lib je postavljena tudi simbolna povezava libc.so.4, ki kaže na knjižnico. Ko nadgrajujete knjižnice, morate spremeniti to simbolno povezavo. Na primer, ko nadgrajujete iz libc.so.4.4 na libc.so.4.4.1, morate spremeniti simbolno povezavo, da kaže na novo različico.

◇ Simbolno povezavo morate spremeniti v enem koraku, kot je opisano spodaj. Če pobrišete simbolno povezavo libc.so.4, bodo programi, ki so odvisni od te povezave (vključno z osnovnimi pripomočki kot ls in cat), nehali delovati. Uporabite naslednji ukaz za posodobljenje simbolne povezave libc.so.4, da bo kazala na datoteko libc.so.4.4.1:

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

V enakem smislu morate spremeniti tudi simbolno povezavo libm.so.različica. Če nadgrajujete na drugačno različico knjižnic, zgoraj vstavite primerna imena datotek. Zapiski ob izdaji knjižnice bi morali pojasnjevati podrobnosti. (Glejte stran 129 za več informacij o simbolnih povezavah.)

4.10.5 Nadgradnja prevajalnika gcc

Prevajalnik gcc za C in C++ se uporablja za prevajanje programja na vašem sistemu, najpomembneje za prevajanje jedra. Najnovejša različica prevajalnika gcc se nahaja na mestih za FTP Linuxa. Na metalab.unc.edu je locirana v imeniku /pub/Linux/GCC (skupaj s knjižnicami). Tam mora biti tudi datoteka release za distribucijo gcc, ki podrobno opisuje, katere datoteke morate prenesti in kako jih namestite. Večina distribucij (RedHat, Debian itd.) ima različice za nadgradnjo, ki delujejo z njihovim programjem za upravljanje programskih paketov. V splošnem so ti paketi veliko preprostejši za namestitev kot »splošne« distribucije.

4.10.6 Nadgradnja drugega programja

Nadgradnja drugega programja je pogosto le stvar nabiranja ustreznih datotek in njihovega nameščanja. Večina programja za Linux se razširja kot stisnjene datoteke .tar, ki vključujejo izvorno kodo, binarne datoteke ali oboje. Če binarne datoteke niso vključene v izdajo, jih boste morali prevesti sami. To pomeni, da boste morali vsaj vpisati make v imeniku z izvorno kodo.

Najpreprostejši način za obveščanje o novih izdajah programja je branje novičarske skupine Useneta comp.os.linux.announce. Ko iščete programje na mestu za FTP, je jemanje indeksne datoteke ls-lR z mesta za FTP in uporaba pripomočka grep za iskanje datotek, ki jih želite, najpreprostejši način za iskanje programja. Če vam je dostopen archie, vam je tudi ta lahko v pomoč^{3}. Obstajajo tudi drugi viri Interneta, ki so posvečeni posebej Linuxu. Glejte dodatek A za več podrobnosti.

4.11 Različna opravila

Verjeli ali ne, obstajajo številna oskrbniška opravila za sistemskega upravljalca, ki ne spadajo v nobeno od večjih kategorij.

4.11.1 Sistemske začetne datoteke

Ko se sistem zažene, samodejno izvede številne skripte, še preden se prijavi kak uporabnik. Tukaj je opis, kaj se dogaja.

V času zagona jedro porodi proces /etc/init. init je program, ki prebere svojo nastavitveno datoteko /etc/inittab in rodi druge procese glede na vsebino te datoteke. Eden od pomembnih procesov, ki se zaženejo iz inittab, je proces /etc/getty, ki se začne na vsaki navidezni konzoli (angl. virtual console, VC). Proces getty vzame navidezno konzolo, ki jo uporablja, in začne na njej prijavni proces z ukazom login. To vam dovoljuje, da se prijavite na vsako navidezno konzolo. Če /etc/inittab ne vsebuje procesa getty za določeno navidezno konzolo, se na to navidezno konzolo ne boste mogli prijaviti.

Še en proces, ki se izvede iz /etc/inittab, je /etc/rc, glavna sistemska inicializacijska datoteka. Ta datoteka je preprost skript ukazne lupine, ki izvaja vse inicializacijske ukaze, potrebne v času zagona, kot so priklop datotečnih sistemov (glejte stran 154) in priprava izmenjalnega prostora. Na nekaterih sistemih init izvaja datoteko /etc/init.d/rc.

Vaš sistem lahko izvaja tudi druge inicializacijske skripte, na primer /etc/rc.local, ki navadno vsebuje pripravljalne ukaze, specifične za vaš lasten sistem, kot je nastavitev gostiteljskega imena (glejte naslednji razdelek). Skript rc.local se lahko zažene iz /etc/rc ali neposredno iz /etc/inittab.

3Če nimate programa archie, se lahko priključite s telnet na strežnik za archie, kot je archie.rutgers.edu, se prijavite kot »archie« in uporabite ukaz »help«.

4.11.2 Nastavitev gostiteljskega imena

V omrežnem okolju se gostiteljsko ime (angl. host name) uporablja za enoznačno določitev določenega stroja, medtem ko pri samostojnem stroju gostiteljsko ime preprosto daje sistemu osebnost in šarm. To je kot poimenovanje domače živali: vedno lahko rečete svojemu psu »Pes«, a je veliko bolj zanimivo, da poimenujete svojega psa z imenom, kot je Piko ali Runo.

Nastavitev gostiteljskega imena vašega sistema zadeva le uporabo ukaza hostname. Če ste na omrežju, bo vaše gostiteljsko ime polno gostiteljsko ime vašega stroja, kot je goober.norelco.com. Če niste na omrežju nobene vrste, lahko izberete poljubno ime gostitelja in domeno, kot loomer.vpizza.com, shoop.nowhere.edu ali floof.org.

Gostiteljsko ime se mora pojaviti v datoteki /etc/hosts, ki priredi naslove za IP vsakemu gostitelju. Tudi, če vaš stroj ni na omrežju, bi morali vključiti vaše lastno gostiteljsko ime v datoteko /etc/hosts. Če niste na omrežju TCP/IP in je vaše gostiteljsko ime floof.org, preprosto vključite naslednjo vrstico v /etc/hosts:

127.0.0.1 floof.org localhost

To dodeli vaše gostiteljsko ime floof.org zaprtozančnemu naslovu (angl. loopback address) 127.0.0.1. Povratni vmesnik je prisoten, če je stroj priključen na omrežje ali pa ne. Vzdevku localhost se vedno priredi ta naslov.

Če ste na omrežju TCP/IP, bi v datoteki /etc/hosts morala biti vaš naslov za IP in gostiteljsko ime. Na primer, če je vaše gostiteljsko ime goober.norelco.com in vaš naslov za IP 128.253.154.32, dodajte naslednjo vrstico v /etc/hosts:

128.253.154.32 goober.norelco.com

Za nastavitev vašega gostiteljskega imena preprosto uporabite ukaz hostname. Na primer, ukaz

     # hostname -S goober.norelco.com

nastavi gostiteljsko ime na goober.norelco.com. V večini primerov se ukaz hostname izvede iz ene od sistemskih zagonskih datotek, kot sta /etc/rc ali /etc/rc.local. Uredite ti dve datoteki in spremenite ukaz hostname, ki ga najdete tam, da bo odražal vaše lastno gostiteljsko ime. Po ponovnem zagonu bo sistem uporabljal novo ime.

4.12 Dejanja v sili

V nekaterih primerih se bo sistemski upravitelj soočil s problemom okrevanja od popolne katastrofe, kot je pozaba korenskega gesla ali sesutje datotečnih sistemov. Najboljši nasvet je, brez panike. Vsakdo dela neumne napake – to je najboljši način za učenje sistemskega upravljanja: trnova pot.

Linux ni nestabilna različica Unixa. Pravzaprav sem imel manj problemov z obešanjem sistema kot pri komercialnih različicah Unixa na veliko platformah.

Prvi korak samostojne odprave problema je ugotovitev, kje problem sploh leži. Brskajte naokoli in opazujte, kako stvari delujejo. Velikokrat sistemski upravitelj obupano prosi za pomoč, še preden sploh ve, v čem je problem. Opazili boste, da je pravzaprav zelo lahko samostojno odpraviti težave. To je pot razsvetlitve in gurujstva.

Obstaja le nekaj primerov, ko je nujna ponovna namestitev sistema od samega začetka. Mnogo novih uporabnikov po nesreči pobriše kakšno nujno potrebno sistemsko datoteko in takoj posežejo po namestitvenih disketah. To ni dobra ideja. Preden uporabite tako drastične ukrepe, raziščite problem in poprosite druge za pomoč. V veliko primerih lahko obnovite vaš sistem z vzdrževalne diskete.

4.12.1 Okrevanje z vzdrževalne diskete

Eno od nepogrešljivih orodij sistemskega upravitelja je tako imenovana »zagonska/korenska disketa« (angl. boot/root floppy disk), disketa, s katere lahko zaženete popoln sistem Linux, neodvisno od vašega trdega pogona. Zagonske/korenske diskete so pravzaprav zelo preproste – na disketi naredite korenski datotečni sistem, prepišete nanj vse potrebne pripomočke, namestite LILO in zagonsko jedro na disketo. Druga tehnika je uporaba ene diskete za jedro in druge za korenski datotečni sistem. V vsakem primeru, rezultat je enak: sistem Linux poganjate popolnoma iz disketne enote.

Kanonični primer zagonske/korenske diskete sta zagonski disketi za Slackware. Ti disketi vsebujeta zagonsko jedro in korenski datotečni sistem, vse na disketi. Njun namen je namestitev distribucije Slackware, a prideta prav tudi ob vzdrževanju sistema.

Drug primer vzdrževalne diskete je zagonska/korenska disketa H. J. Luja, dostopna iz imenika /pub/Linux/GCC/rootdisk na metalab.unc.edu. Če ste častihlepni, lahko naredite svojo lastno. V večini primerov pa so že narejene zagonske/korenske diskete veliko preprostejše za uporabo in bodo verjetno tudi popolnejše.

Uporaba zagonske/korenske diskete je zelo preprosta. Zaženite disketo na vašem sistemu in se prijavite kot root (navadno brez gesla). Za dostop do datotek na trdem pogonu boste morali ročno priklopiti datotečne sisteme. Na primer, ukaz

     # mount -t ext2 /dev/hda2 /mnt

bo priklopil datotečni sistem ext2fs na /dev/hda2 pod /mnt. Ne pozabite, da je zdaj imenik / sama zagonska/korenska disketa; datotečne sisteme trdega pogona morate priklopiti pod kak imenik, če želite dostopati do datotek. Torej je /etc/passwd na vašem trdem pogonu zdaj /mnt/etc/passwd, če ste priklopili vaš običajni korenski datotečni sistem na /mnt.

4.12.2 Poprava korenskega gesla

Presenetljivo – če pozabite vaše korensko geslo, to sploh ni problem. Zaženite zagonsko/korensko disketo, priklopite korenski datotečni sistem na /mnt in izpraznite polje za geslo uporabnika root v datoteki /mnt/etc/passwd, kot v tem primeru:

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

Zdaj root nima gesla. Ko boste ponovno zagnali sistem s trdega pogona, bi morali biti sposobni prijave kot root in ponovne nastavitve gesla z uporabo ukaza passwd.

Kaj niste veseli, da ste se naučili uporabe urejevalnika vi? Verjetno na vaši zagonski/korenski disketi ne bodo dostopni urejevalniki, kot je Emacs, toda vi bi moral biti.

4.12.3 Sesuti datotečni sistemi

Če nekako sesujete datotečne sisteme, lahko poženete pripomoček e2fsck ali ustrezno obliko pripomočka fsck za vaš tip datotečnega sistema. (Glejte stran 156.) V večini primerov je najvarneje popraviti vse poškodovane podatke na trdem disku z diskete.

Pogost vzrok okvare datotečnega sistema je poškodovan superblok. Superblok (angl. super block) je »glava« datotečnega sistema, ki vsebuje informacije o njegovem statusu, velikosti, prostih blokih in tako naprej. Če poškodujete superblok (na primer, z nenamernim pisanjem podatkov neposredno v particijsko tabelo datotečnega sistema), sistem verjetno sploh ne bo prepoznal datotečnega sistema. Poskus priklopa datotečnega sistema bo neuspešen in e2fsck ne bo mogel odpraviti problema.

Na srečo datotečni sistem ext2fs shranjuje kopije superbloka na mejah »skupin blokov« na pogonu, navadno na vsakih 8 K blokov. Pripomočku e2fsck lahko naročite, naj uporabi kopijo superbloka z ukazom, kot je

     # e2fsck -b 8193 particija

kjer je particija particija, na kateri počiva datotečni sistem. Izbira -b 8193 pove e2fsck, naj uporablja kopijo superbloka, shranjeno na bloku številka 8193 v datotečnem sistemu.

4.12.4 Obnova izgubljenih datotek

Če pomotoma pobrišete pomembno datoteko na vašem sistemu, ni nobenega načina, da jo »povrnete«. Včasih pa lahko prepišete ustrezne datoteke z diskete na vaš trdi pogon. Če, na primer, zbrišete /bin/login, ki vam omogoča prijavo, preprosto zaženite sistem z zagonske/korenske diskete, priklopite korenski datotečni sistem na /mnt in uporabite ukaz

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

Izbira -a naroči cp, da ohrani dovoljenja datotek, ki jih prepisuje.

Seveda, če datoteke, ki ste jih zbrisali, niso potrebne sistemske datoteke, ki imajo ustreznice na zagonski/korenski disketi, potem nimate sreče. Če redno delate varnostne kopije, jih lahko obnovite iz njih.

4.12.5 Sesute knjižnice

Če pomotoma sesujete vaše knjižnice ali simbolne povezave v imeniku /lib, ukazi, ki so odvisni od teh knjižnic, zagotovo ne bodo več delovali (glejte stran 175). Najpreprostejša rešitev je, da zaženete sistem z vaše zagonske/korenske diskete, priklopite vaš korenski datotečni sistem in popravite knjižnice v imeniku /mnt/lib. Stran 175 opisuje, kako namestiti sprotne knjižnice (angl. run time libraries) in njihove simbolne povezave.

180 4. Sistemsko upravljanje

X Window System

Okenski sistem X Window System je grafični uporabniški vmesnik (angl. graphical user interface, GUI) in je bil prvotno razvit na Massachusetts Institute of Technology (MIT). Komercialni proizvajalci so od takrat napravili X za industrijsko standardni GUI za platforme Unix. Zdi se, da vsaka delovna postaja Unix na svetu zdaj poganja neko obliko sistema X.

Prenos MIT X Window System različice 11, izdaje 6 (X11R6) za sisteme Unix s procesorji 80386, 80486 in Pentium, je razvila programerska skupina, ki jo je prvotno vodil David Wexelblat. Ta izdaja, znana kot XFree86^{1}, je prosto dostopna za sisteme System V/386, 386BSD in druge izvedbe Unixa za procesorje Intel x86, vključno z Linuxom. Ponuja vse binarne datoteke, podporne datoteke, knjižnice in orodja, potrebna za namestitev.

Nekatere odlike, ki jih ponuja ta izdaja, so:

• popolna vključitev izdaje X11R6.3 ustanove X Consortium;

• nova razširitev DPMS, podarilo jo je podjetje Digital Equipment Corporation;

• razširitve Low Bandwidth X (LBX) v vseh strežnikih X;

• podpora za Microsoft IntelliMouse;

• podpora za zgoščevanje pisav z gzip-om.

Za uporabo okenskega sistema X vam svetujemo, da preberete knjigo The X Window System: A User’s Guide (glejte dodatek A). Tukaj korak za korakom opisujemo namestitev XFree86 pod Linuxom. Še vedno morate zapolniti nekatere podrobnosti z branjem dokumentacije za XFree86, o kateri razpravljamo spodaj. Še en dober vir informacij je spis XFree86 HOWTO.

5.1 Strojne zahteve za sistem X Window

5.1.1 Grafična kartica

Dokumentacija za vašo grafično kartico bi morala določati nabor čipov. Če v trgovini iščete novo grafično kartico ali kupujete stroj, ki je opremljen z grafično kartico, prosite prodajalca, da vam pove natančnega izdelovalca, model in nabor čipov na grafični kartici.

1XFree86 je zaščitena blagovna znamka ustanove The XFree86 Project, Inc.

Prodajalec bo morda moral poklicati proizvajalčev oddelek za tehnično podporo. Mnogo prodajalcev računalniške strojne opreme zagotavlja, da je njihova grafična kartica »standardna kartica SVGA«, ki »bi morala delovati« z vašim sistemov. Pojasnite, da vaše programje (omenite Linux in XFree86!) ne podpira vseh grafičnih čipov in morate zato poznati točne podatke.

Čipje grafične kartice lahko določite tudi tako, da poženete program SuperProbe, ki je vključen v distribucijo XFree86. To je opisano v nadaljevanju.

Grafične kartice, ki uporabljajo navedene nabore čipov, so uporabne na vseh tipih vodil, vključno z VLB, PCI in AGP. Vsi našteti nabori čipov so podprti v 256-barvnem načinu. Poleg tega nekatere kartice podpirajo barvne načine, kot je enobarvni (torej: le črna ali le bela pika na zaslonu), 15-bitni, 16-bitni, 24-bitni in 32-bitni način. Za barvne globine, večje od 256 barv (8 bitov), morate imeti nameščeno potrebno količino grafičnega pomnilnika (angl. video dynamic RAM, DRAM). Navadna nastavitev je 16 bitov na piko (65536 barv).

Monokromatski strežnik podpira tudi splošne kartice VGA, monokromatsko kartico Hercules, Hyundai HGC1280, Sigma LaserView in monokromatske kartice Apollo.

Zapiski ob izdaji trenutne različice XFree86 bi morali vsebovati popoln seznam podprtih naborov videočipov. Distribucija XFree86 ima datoteke README, specifične za nabore čipov, ki ponujajo podrobne informacije o stanju podpore za vsak posamezni nabor čipov.

Pereč problem, s katerim se soočajo razvijalci XFree86, je, da nekateri proizvajalci uporabljajo nestandardne mehanizme za določanje točkovnih frekvenc, potrebnih za nastavljanje kartice. Nekateri od teh proizvajalcev ne izdajo specifikacij, kako naj program uporablja kartico, ali zahtevajo od razvijalcev, da podpišejo pogodbo, s katero se obvezujejo, da ne bodo izdali danih specifikacij. To bi očitno preprečevalo prosto razširjanje programja XFree86, s čimer se razvijalska skupina XFree86 noče sprijazniti. Zato so bili dolgo problemi z Diamondovimi grafičnimi karticami, v izdaji XFree86 3.1 pa je Diamond začel sodelovati z razvijalsko skupino za XFree86 in izdal proste gonilnike za svoje kartice.

Priporočamo tudi uporabo pospeševalnih kartic, kot so npr. kartice z naborom čipov S3. Pregledati bi morali dokumentacijo za XFree86 in preveriti, da je podprta vaša izbrana kartica, preden napravite odločilni korak in kupite drago strojno opremo. Primerjalni testi grafičnih kartic pod XFree86 se rutinsko objavljajo v novičarskih skupinah Useneta comp.windows.x.i386unix in comp.os.linux.misc.

Pomembno je upoštevati, da je povprečna pospeševalna grafična kartica znatno hitrejša od standardne grafične kartice večine delovnih postaj. Sistem z Linuxom na 66-MHz procesorju 80486DX2 z 20 megabajti RAM-a, opremljen z grafično kartico za vodilo VESA Local Bus (VLB) in naborom čipov S3-864, ki ima 2 megabajta DRAM-a, opremljen s strežnikom XFree86 3.1, bo pri primerjalnih testih za X dosledno okrog 7-krat hitrejši od delovne postaje Sun Sparc IPX. Različica z XFree86 3.3 je še hitrejša. V splošnem vam bo dal sistem Linux z grafičnim pospeševalnikom SVGA veliko večje zmogljivosti kot komercialne delovne postaje Unix, ki navadno uporabljajo preproste slikovne izravnalnike (angl. frame buffers) za grafiko.

5.1.2 Pomnilnik, procesor in diskovni prostor

Priporočena sestava za XFree86 pod Linuxom je stroj s procesorjem 80486 ali hitrejšim, z vsaj 16 megabajti RAM-a. Več kot je nameščenega fizičnega RAM-a, manj mora sistem izmenjevati pomnilnik z diskom, ko zmanjka pomnilnika. Ker je zamenjevanje vrojeno počasno (diski so zelo počasni glede na pomnilnik), je potrebno imeti 16 megabajtov ali več RAM-a za udobno delo z XFree86. Sistem s 4 MB fizičnega RAM-a lahko teče 10- do 100-krat počasneje od sistema s 16 MB ali več pomnilnika.

Običajna namestitev XFree86 »iz škatle« zahteva minimalno 60–80 megabajtov diskovnega prostora. To vključuje prostor za strežnik(e), pisave, knjižnice in standardne pripomočke. Če nameravate dodajati aplikacije, lahko verjetno udobno poganjate XFree86 v 200 MB diskovnega prostora.

5.2 Namestitev XFree86

Binarno distribucijo XFree86 za Linux najdete na vseh distribucijah Linuxa na CD-ROM-ih in tudi na številnih mestih za FTP. Na metalab.unc.edu jo najdete v imeniku /pub/X11/XFree86. V času nastanka te knjige je trenutna različica 3.3.1. Novejše različice redno izhajajo. Če ste dobili XFree86 kot del distribucije Linuxa, lahko ta razdelek preskočite.

V distribucijo XFree86-3.3.1 so vključene spodaj opisane datoteke. Potreben je eden od naslednjih strežnikov:

datoteka  opis
X338514.tgz  Strežnik za plošče z 8514.
X33AGX.tgz Strežnik za plošče z AGX.
X33I128.tgz  Strežnik za plošče Imagine I128.
X33Ma64.tgz Strežnik za plošče z Mach64.
X33Ma32.tgz Strežnik za plošče z Mach32.
X33Ma8.tgz  Strežnik za plošče z Mach8.
X33Mono.tgz Strežnik za monokromatske grafične načine.
X33P9K.tgz  Strežnik za plošče z P9000.
X33S3.tgz  Strežnik za plošče z S3.
X33S3V.tgz  Strežnik za plošče z S3/Virge.
X33SVGA.tgz Strežnik za plošče z Super VGA.
X33VGA16.tgz Strežnik za plošče z VGA/EGA.
X33W32.tgz  Strežnik za plošče z ET4000/W32.

Potrebne so tudi vse naslednje datoteke:

datoteka  opis
preinst.sh  Prednamestitveni skript.
postinst.sh  Ponamestitveni skript.
X33bin.tgz  Odjemniki, izvajalne knjižnice in datoteke privzetih nastavitev aplikacij.
X33doc.tgz  Dokumentacija.
X33fnts.tgz Pisave 75dpi, misc in PEX.
X33lib.tgz  Datoteke s podatki, potrebnimi pri izvajanju.
X33man.tgz Strani priročnika.
X33set.tgz  Pripomoček XF86Setup.
X33VG16.tgz 16-barvni strežnik VGA (XF86Setup potrebuje ta strežnik)

Naslednje je potrebno za nove namestitve in izbirno za obstoječe namestitve:

datoteka  opis
X33cfg.tgz primer nastavitvenih datotek za xinit, xdm.

◇ Ne nameščajte X33cfg.tgz preko obstoječe namestitve XFree86, ne da bi najprej naredili rezervne kopije nastavitvenih datotek. Odpakiranje X33cfg.tgz prepiše te in druge datoteke. Če že imate prilagojene nastavitvene datoteke, ni potrebe, da bi namestili ta paket.

◇ Rastrske pisave, distribuirane z izdajo 3.3.1, so zgoščene s programom gzip, ne s compress. Verjetno boste želeli odstraniti stare pisave, ko boste naredili njihove varnostne kopije. Strežniki X in strežniki pisav v prejšnjih izdajah ne morejo brati pisav, zgoščenih z gzip-om, zato shranite kopijo starih pisav, če želite uporabljati starejše strežnike.

Naslednje datoteke so izbirne:

Datoteka  Opis
X33f100.tgz Pisave 100dpi.
X33fcyr.tgz Cirilične pisave.
X33fnon.tgz Druge pisave (kitajske, japonske, korejske, hebrejske).
X33fscl.tgz  Raztegljive pisave (Speedo in Type1).
X33fsrv.tgz Strežnik za pisave in nastavitvene datoteke.
X33prog.tgz Datoteke z glavami za X, nastavitvene datoteke in prevajalne knjižnice.
X33nest.tgz Gnezdeni strežnik X.
X33vfb.tgz  Strežnik X z navideznim slikovnim izravnalnikom (angl. virtual framebuffer).
X33prt.tgz  Tiskalniški strežnik X.
X33ps.tgz  Različica dokumentacije v Postscriptu.
X33html.tgz Različica dokumentacije v HTML.
X33jdoc.tgz Dokumentacija v japonščini (za različico 3.2).
X33jhtm.tgz Različica japonske dokumentacije v HTML (3.2).
X33lkit.tgz  LinkKit za strežnik X.

Imenik za XFree86 bi moral vsebovati datoteke README in namestitvena sporočila za trenutno različico.

Najprej kot root ustvarite imenik /usr/X11R6, če še ne obstaja. Nato poženite prednamestitveni skript preinst.sh. Skript in vse arhivne datoteke za vaš sistem morate prepisati v imenik /var/tmp, preden poženete preinst.sh. Ko poženete prednamestitveni skript in odpakirate arhive, mora biti /usr/X11R6 vaš trenutni imenik.

     # cd /usr/X11R6
     # sh /var/tmp/preinst.sh

Potem bi morali odpakirati datoteke iz /var/tmp v /usr/X11R6 z ukazom, kot je:

     # gzip -d < /var/tmp/X33prog.tgz | tar vxf -

◇ Te datoteke za tar so pakirane relativno na /usr/X11R6. Datoteke morate odpakirati

tam. Na nekaterih distribucijah Linuxa je namesto tega starševski imenik /var/X11R6.

Ko ste odpakirali potrebne datoteke in vse izbirne datoteke, ki ste jih določili, poženite ponamestitveni skript postinst.sh.

     # cd /usr/X11R6
     # sh /var/tmp/postinst.sh

Zdaj povežite datoteko /usr/X11R6/bin/X na strežnik, ki podpira vašo grafično kartico. Če je to na primer barvna SVGA, mora biti /usr/X11R6/bin/X povezan na /usr/X11R6/bin/XF86_SVGA. Za uporabo monokromatskega strežnika namesto tega prevežite X na XF86_MONO z ukazom

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

Enako velja tudi za druge strežnike.

Zagotoviti morate tudi, da je imenik /usr/X11R6/bin v vaši poti. To lahko storite z urejanjem sistemskih privzetih vrednosti v datoteki /etc/profile ali /etc/csh.login (odvisno od lupine, ki jo uporabljate vi ali drugi uporabniki sistema). Lahko pa preprosto dodate imenik v vašo osebno pot, tako da, odvisno od vaše ukazne lupine, spremenite /etc/.bashrc ali /etc/.cshrc.

Na koncu zagotovite, da izvajalni povezovalnik ld.so lahko najde /usr/X11R6/lib. Za to dodajte vrstico

/usr/X11R6/lib

v datoteko /etc/ld.so.conf in kot root poženite /sbin/ldconfig.

5.3 Preizkušanje strojne sestave

Če niste prepričani, kateri strežnik uporabiti, ali ne poznate nabora čipov vaše video kartice, uporabite program SuperProbe, ki ga najdete v /usr/X11R6/bin. Ta lahko poskusi ugotoviti nabor video čipov in druge informacije. Zapišite njegov izhod za poznejšo rabo.

SuperProbe poženite kot root z ukazom:

     # SuperProbe

◇ SuperProbe sistematično preiskuje V/I vrata, ki bi jih lahko uporabljale grafične kartice, kar lahko zmede naprave, ki v resnici uporabljajo ta vrata. Da preprečite programu SuperProbe preverjanje teh naslovov, uporabite argument excl, ki mu sledi seznam naslovov, ki naj jih SuperProbe ne preiskuje. Na primer:

     # SuperProbe -excl 0x200-0x230,0x240

Naslovi so podani kot šestnajstiške številke s predpono 0x.

Za prikaz seznama video naprav, ki jih SuperProbe pozna, uporabite ukaz

     # SuperProbe -info

SuperProbe lahko izpiše veliko informacij, če dodate argument -verbose. Izhod lahko preusmerite v datoteko:

     # SuperProbe -verbose >superprobe.out

◇ Poganjanje SuperProbe lahko povzroči, da se sistem obesi. Prepričajte se, da ne tečejo pomembne aplikacije, ali vsaj, da imate vse svoje podatke varno shranjene na disku, in zagotovite, da so vsi uporabniki odjavljeni. Tudi preobremenjen sistem (ki tiska v ozadju, na primer), lahko zmede izhod programa SuperProbe ali strežnik X, ko poskušata izmeriti frekvenčne specifikacije grafične kartice.

5.4 Samodejno generiranje datoteke XF86Config

Ročno pripravljanje datoteke XF86Config je naporno opravilo, čeprav ne nemogoče. Pomaga vam lahko več pripomočkov iz XFree86 različice 3.3.1. Eden izmed njih, program XF86Setup, lahko samodejno generira datoteko XF86Config v pravilni obliki. Poznati morate natančne specifikacije svoje video plošče in vertikalne ter horizontalne osvežitvene frekvence monitorja. Večino informacij lahko najdete v uporabniških priročnikih.

Odvisno od distribucije Linuxa je dostopnih tudi več drugih nastavitvenih programov. Najpogostejša sta Xconfigurator in xf86config. Slednji je starejša različica programa XF86Setup in je vključen v starejše izdaje XFree86. Če imate nameščena xf86config in XF86Setup, uporabite slednjega.

5.5 Nastavitev XFree86

V tem razdelku opisujemo, kako ustvariti in urediti datoteko XF86Config, ki nastavlja strežnik XFree86. V veliko primerih je najbolje začeti z nastavitvijo XFree86, ki uporablja nizko ločljivost, kot je 640×480, in jo podpirajo domala vse grafične kartice in monitorji. Ko enkrat XFree86 deluje na nizki, standardni ločljivosti, lahko spreminjate nastavitev in raziskujete zmogljivosti vaše video strojne opreme. To zagotavlja, da XFree86 deluje na vašem sistemu in da je njegova namestitev v bistvu pravilna, preden poskušate včasih zapletena opravila nastavitve XFree86 za visoko zmogljivostno uporabo.

Poleg informacij, naštetih tukaj, bi morali prebrati naslednje spise:

• Dokumentacijo za XFree86 v /usr/X11R6/lib/X11/doc (iz paketa XFree86-3.1-doc). Posebej morate pogledati datoteko README.Config, ki je učbenik za nastavljanje XFree86.

• Mnogi nabori video čipov imajo posebne datoteke README v zgornjem imeniku (kot README.Cirrus in README.S3). Preberite datoteko, ki se nanaša na vašo grafično kartico.

• Stran priročnika o XFree86.

• Stran priročnika o XF86Config.

• Stran priročnika o strežniku, ki ga uporabljate, kot XF86_SVGA ali XF86_S3.

Glavna nastavitvena datoteka za XFree86 je /usr/X11R6/lib/X11/XF86Config. Ta datoteka vsebuje informacije o vaši miški, parametrih grafične kartice in tako naprej. Datoteka XF86Config.eg je priložena distribuciji XFree86 kot primer. Prepišite to datoteko v XF86Config in jo uredite kot začetno izhodišče.

Stran priročnika o XF86Config razlaga format datoteke XF86Config. Preberite stran priročnika, če tega še niste naredili.

Opisali bomo vzorčno datoteko XF86Config, razdelek za razdelkom. Ta datoteka morda ne bo videti popolnoma tako kot vzorčna datoteka, vključena v distribucijo XFree86, a njena struktura je enaka.

◇ Upoštevajte, da se lahko format datoteke XF86Config spreminja z vsako različico

XFree86. Glejte sporočila ob izdaji vaše distribucije za popravke. ◇ Ne kopirajte tukaj navedene nastavitvene datoteke na vaš sistem in je ne posku-

šajte uporabljati. Nastavitvena datoteka, ki ne ustreza vaši strojni opremi, lahko poganja monitor na frekvenci, ki je zanj previsoka. Bilo je že veliko poročil o poškodbi monitorjev, posebej monitorjev s fiksnimi frekvencami, ki so jih povzročile nepravilno nastavljene datoteke XF86Config. Absolutno se prepričajte, da vaša datoteka XF86Config ustreza vaši strojni opremi, preden jo uporabite.

Vsak razdelek datoteke XF86Config obdaja par vrstic s skladnjo Section "imerazdelka"… EndSection.

Prvi razdelek datoteke XF86Config je razdelek o datotekah, Files, ki je videti takole:

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

EndSection

Vrstica RgbPath nastavi pot do podatkovne baze barv v formatu RGB za X11R6. Vsaka vrstica FontPath nastavlja pot do imenika, ki vsebuje pisave za X11. Teh dveh vrstic vam ne bi bilo treba spreminjati. Preprosto zagotovite, da vnos FontPath obstaja za vsako vrsto pisav, ki jo imate nameščeno; se pravi, za vsak podimenik v imeniku /usr/X11R6/lib/X11/fonts.

Naslednji razdelek je ServerFlags, ki določa več globalnih zastavic za strežnik. V splošnem je ta razdelek prazen.

Section "ServerFlags"

# Odkomentirajte to, če želite povzročiti izpis posmrtnih ostankov # procesa takoj ob prejetju ustreznega signala. To lahko pusti # konzolo v neuporabnem stanju, a ponuja boljše sledenje sklada # v posmrtnem ostanku in vam pomaga pri razhroščevanju. # NoTrapSignals

# Odkomentirajte to, če želite onemogočiti ukinitev strežnika # s kombinacijo <Ctrl><Alt><BS>: # DontZap EndSection

V tem razdelku ServerFlags so vse vrstice zakomentirane.

Naslednji razdelek je razdelek o tipkovnici, Keyboard. Ta primer prikazuje osnovne nastavitve, ki bi morale delovati na večini sistemov. Datoteka XF86Config opisuje, kako spremeniti nastavitev.

Section "Keyboard" Protocol "Standard" AutoRepeat 500 5 ServerNumLock

EndSection

Sledi mu razdelek Pointer, ki določa parametre za miško ali drugo kazalno napravo:

Section "Pointer"

Protocol "MouseSystems" Device "/dev/mouse"

# Vnosa Baudrate in SampleRate sta le za nekatere miške znamke # Logitech. # BaudRate 9600 # SampleRate 150 # Emulate3Buttons (emulacija treh gumbov) je izbira za miške znamke # Microsoft, ki imajo samo dva gumba. # Emulate3Buttons

# ChordMiddle je izbira za nekatere miške Logitech s tremi gumbi.

# ChordMiddle

EndSection

Trenutno sta edini izbiri, ki bi vas morali zanimati, Protocol in Device. Protocol določa komunikacijski protokol miške. XFree86 pod Linuxom prepoznava naslednje protokole za miške:

• BusMouse

• Logitech

• Microsoft

• MMSeries • Mouseman

• MouseSystems

• PS/2

• MMHitTab

Ime komunikacijskega protokola se ne ujema nujno z imenom proizvajalca miške. Protokol BusMouse naj bi se uporabljal za miško Logitech, priključeno na vodilo. Starejše miške Logitech uporabljajo protokol Logitech, novejše zaporedne miške Logitech pa protokol Microsoft ali Mouseman.

Device določa datoteko naprave, s katero se dostopa do miške. Na večini sistemov Linux je to /dev/mouse, ki je navadno povezava na ustrezna zaporedna vrata kot /dev/cua0 za zaporedne miške in ustrezno napravo miške na vodilu za miške na vodilu. V vsakem primeru se prepričajte, da ta datoteka naprave obstaja.

Naslednji razdelek je Monitor, ki določa karakteristike vašega monitorja. Kot pri drugih razdelkih v datoteki XF86Config, je tudi tu lahko več kot en razdelek Monitor. To je uporabno, če imate na sistem priključenih več monitorjev ali uporabljate isto datoteko XF86Config za različne strojne sestave.

Section "Monitor"

Identifier "CTX 5468 NI"

# Te vrednosti so le za model CTX 5468NI! Ne poskušajte jih # uporabljati z vašim monitorjem (če nimate ravno tega modela).

Bandwidth 60

HorizSync 30-38,47-50

VertRefresh 50-90

# Načini: ime točkovna frekvenca  horiz.  vert.
ModeLine "640x480" 25  640 664 760 800  480 491 493 525
ModeLine "800x600" 36  800 824 896 1024  600 601 603 625

ModeLine "1024x768" 65 1024 1088 1200 1328 768 783 789 818

EndSection

Identifier je poljubno ime za vnos Monitor. To je lahko poljuben niz in se uporablja za poznejše sklicevanje na vnos Monitor v datoteki XF86Config.

HorizSync določa veljavne frekvence horizontalne sinhronizacije vašega monitorja v kHz. Pasovno-frekvenčni (angl. multisync) monitorji imajo lahko interval vrednosti ali nekaj z vejico ločenih intervalov. Monitorji s fiksnimi frekvencami potrebujejo seznam diskretnih vrednosti, na primer:

HorizSync 31.5, 35.2, 37.9, 35.5, 48.95

Priročnik za monitor bi moral navajati te vrednosti v razdelku o tehničnih specifikacijah. Če jih ne, vprašajte proizvajalca ali dobavitelja, od katerega ste dobili svoj monitor.

VertRefresh določa veljavne frekvence vertikalnega osveževanja v Hz (ali frekvence vertikalne sinhronizacije) za vaš monitor. Kot HorizSync, je tudi to lahko seznam diskretnih vrednosti. Priročnik za vaš monitor bi jih moral navajati.

HorizSync in VertRefresh se uporabljata le za dodatno preverjanje, da so ločljivosti vašega monitorja v pravilnem območju. To zmanjšuje možnost, da bi svoj monitor poškodovali z vsiljevanjem frekvence, za katero ni bil načrtovan.

Ukaz ModeLine se uporablja za določitev načinov ločljivosti za vaš monitor. Oblika je

ModeLine ime frekvenca horiz-vrednosti vert-vrednosti

Tukaj je ime poljuben niz, ki ga boste uporabljali za sklicevanje na način ločljivosti pozneje v datoteki, frekvenca je točkovna frekvenca (angl. dot clock), povezana z načinom ločljivosti. Ta vrednost je določena v MHz. Je hitrost, s katero mora grafična kartica pri dani ločljivosti pošiljati pike na monitor. Vrednosti horiz-vrednosti in vert-vrednosti so dvakrat po štiri števila, ki določajo, kdaj naj elektronski top monitorja izstreli snop ter kdaj naj se vklopita horizontalni in vertikalni sinhronizacijski pulz.

Datoteka VideoModes.doc, vključena v distribucijo XFree86, podrobno opisuje, kako ugotoviti vrednosti ModeLine za vsak način ločljivosti, ki ga podpira vaš monitor. Vrednost frekvenca mora ustrezati eni ali več točkovnim frekvencam (angl. dot clock values), ki jih podpira vaša grafična kartica. Pozneje boste v datoteki XF86Config določili te frekvence.

Dve datoteki, modeDB.txt in Monitors, lahko vsebujeta informacije o vrednosti ModeLine za vaš monitor. Nahajata se v /usr/X11R6/lib/X11/doc.

Začnite z vrednostmi ModeLine za standardne frekvence monitorjev VESA, saj jih podpira večina monitorjev. ModeDB.txt vključuje frekvence za standardne ločljivosti VESA. Na primer, ta vnos

# 640x480@60Hz, neprepleteni način # horizontalna sinhronizacija = 31,5 kHz # Časi: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms) #

# ime  frekvenca horizontalni časa  vertikalni čas  zastavice
"640x480"  25.175 640 664 760 800  480 491 493 525

določa standardne frekvence VESA za grafični način 640×480. Ima točkovno frekvenco 25,175, ki jo mora podpirati vaša grafična kartica. To je opisano spodaj. Za vključitev te postavke v datoteko XF86Config uporabite vrstico

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

Argument ime v vrstici ModeLine ("640x480") je poljuben niz. Grafični načini se po dogovoru poimenujejo po ločljivostih, vendar je ime lahko teoretično katerakoli opisna oznaka.

Za vsako vrstico ModeLine strežnik preverja določitve načina in zagotavlja, da spadajo v obseg vrednosti, določenih za vrednosti Bandwidth, HorizSync in VertRefresh. Če ne, se strežnik pritoži, ko poskušate pognati X. Ena stvar je že ta, da točkovna frekvenca (angl. dot clock), ki jo uporablja ta grafični način, ne sme biti višja od vrednosti, ki se uporabljajo za pasovno širino Bandwidth. Vendar pa je v veliko primerih še vedno varno uporabljati način, ki ima rahlo višjo pasovno širino (angl. bandwidth) od tiste, ki jo podpira vaš monitor.

Če standardne frekvence osveževanja po standardu VESA ne delujejo (to boste vedeli šele potem, ko jih boste poskušali uporabljati), poglejte v datoteki modeDB.txt in Monitors, ki vključujeta posebne vrednosti grafičnih načinov za veliko tipov monitorjev. Iz teh vrednosti lahko ustvarite tudi vnose ModeLine. Prepričajte se, da boste uporabljali le vrednosti za vaš določeni monitor. Veliko 14 in 15-palčnih monitorjev ne podpira načinov višjih ločljivosti in pogosto ločljivost 1024×768 le pri nizkih točkovnih frekvencah. Če v teh datotekah ne morete najti načina visoke ločljivosti za vaš monitor, potem jih vaš monitor verjetno ne podpira.

Če ste popolnoma izgubljeni in ne morete najti vrednosti ModeLine za vaš monitor, sledite navodilom v datoteki VideoModes.doc, ki je vključena v distribucijo XFree86, in generirajte vrednosti iz specifikacij v priročniku za vaš monitor. Vsekakor se bodo vaše izkušnje razlikovale, ko boste poskušali na roko generirati vrednosti za ModeLine. A to je dobro ogledno mesto, če ne morete najti vrednosti, ki jih potrebujete. VideoModes.doc tudi opisuje obliko ukaza ModeLine in druge značilnosti strežnika XFree86 v krvave podrobnosti.

Končno, če dobite vrednosti ModeLine, ki so skoraj, a ne popolnoma, pravilne, boste morda sposobni malce spremeniti vrednosti in dobiti zaželeni rezultat. Na primer, če je slika na zaslonu XFree86 rahlo premaknjena ali se zdi, da se slika »vrti«, sledite navodilom v datoteki VideoModes.doc in popravite vrednosti. Prepričajte se, da boste preverili krmilnike na samem monitorju. V veliko primerih morate spremeniti horizontalno ali vertikalno velikost zaslona, ko se XFree86 požene, da osredinite sliko in jo spravite na pravo velikost.

◇ Ne uporabljajte frekvenc osveževanja monitorja ali vrednosti ModeLine za monitorje, različne od vašega modela. Če skušate poganjati monitor na frekvenci, za katero ni bil zasnovan, ga lahko poškodujete ali celo uničite.

Naslednji razdelek datoteke XF86Config je razdelek, imenovan Device (naprava), ki določa parametre vaše video kartice. Tukaj je primer.

Section "Device" Identifier "#9 GXE 64"

# Še nič; te vrednosti bomo izpolnili pozneje.

EndSection

Ta razdelek definira lastnosti določene video kartice. Polje Identifier je poljuben opisni niz. Ta niz boste pozneje uporabili za sklicevanje na kartico.

Sprva vam v razdelek Device ni treba vključiti ničesar, razen polja Identifier. Pozneje bomo uporabili sam strežnik X za preizkus lastnosti video kartice in jih bomo nato vnesli v razdelek Device. Strežnik XFree86 je zmožen zaznavati nabore video čipov, RAMDAC in količine video RAM-a na plošči. To je opisano v razdelku 5.6.

Preden naredimo to, pa moramo končati s pisanjem datoteke XF86Config. Naslednji razdelek je Screen, ki določa kombinacijo monitorja/grafične kartice za uporabo z določenim strežnikom.

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

EndSubsection EndSection

Vrstica Driver določa strežnik X, ki ga boste uporabljali. Veljavne vrednosti za Driver (gonilnik) so:

• Accel: Za strežnike XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, in XF86_W32;

• SVGA: Za strežnik XF86_SVGA;

• VGA16: Za strežnik XF86_VGA16;

• VGA2: Za strežnik XF86_Mono;

• Mono: Za ne-VGA monokromatske gonilnike v strežnikih XF86_Mono in XF86_VGA16.

Prepričajte se, da je /usr/X11R6/bin/X simbolna povezava na ta strežnik.

Vrstica Device določa identifikatorja (Identifier) razdelka naprave (Device), ki ustreza grafični kartici za uporabo s tem strežnikom. Zgoraj smo ustvarili razdelek Device z vrstico

Identifier "#9 GXE 64"

Torej, tukaj uporabljamo "#9 GXE 64" v vrstici Device.

Podobno, vrstica Monitor določa ime razdelka Monitor, ki naj se uporablja s tem strežnikom. Tukaj je "CTX 5468 NI" identifikator (Identifier), ki smo ga uporabili v zgoraj opisanem razdelku Monitor.

Podrazdelek o zaslonu, Subsection "Display", definira različne lastnosti strežnika XFree86 glede na vašo kombinacijo monitorja/video kartice. Datoteka XF86Config podrobno opisuje vse izbire. Večina jih ni nujno potrebnih za usposobitev sistema.

Izbire, ki jih morate poznati, so:

• Depth (globina). Določa število barvnih ravnin; se pravi število bitov na piko. Navadno se vrednost Depth nastavi na 16. Za strežnik VGA16 boste uporabili globino 4 in za monokromatski strežnik globino 1. Če uporabljate pospešeno grafično kartico z dovolj pomnilnika za podporo več bitom na piko, lahko nastavite vrednost Depth na 24 ali 32. Če imate težave z globinami, večjimi od 16, nastavite nazaj na 16 in poskušajte razhroščiti težavo pozneje.

• Modes (načini). To je seznam imen načinov, ki so bili definirani z uporabo navodil ModeLine v razdelku Monitor. V zgornjem razdelku smo uporabili vrednosti ModeLine, imenovane "1024x768", "800x600" in "640x480". Torej uporabljamo takšno vrstico Modes:

Modes "1024x768" "800x600" "640x480"

Prvi način, naveden v tej vrstici, je privzeti način, ko se XFree86 zažene. Ko XFree86 teče, lahko preklapljate med načini, naštetimi tukaj, z uporabo tipk Ctrl - Alt - + in Ctrl - Alt - − , kjer sta + in − tipki na numeričnem delu tipkovnice. Ko na začetku nastavite XFree86, je morda najbolje, da jih nastavite tako, da uporabite grafične načine nižjih ločljivosti, denimo 640×480, ki radi delujejo z večino sistemov. Ko imate enkrat delujočo osnovno sestavo, lahko spremenite XF86Config za podporo višjim ločljivostim.

• Virtual (navidezno). Določi velikost navideznega namizja (angl. virtual desktop size). XFree86 lahko uporablja dodaten pomnilnik na vaši grafični kartici za razširitev velikosti namizja. Ko premikate kazalec miške na rob zaslona, se namizje premakne in prinese v pogled dodaten prostor. Tudi če poganjate strežnik z nižjimi ločljivosti, denimo 800×600, lahko nastavite Virtual na skupno ločljivost, ki jo lahko podpira vaša grafična kartica. Enomegabajtna grafična kartica lahko podpira 1024×768 z barvno globino 8 bitov na piko; dvomegabajtna kartica 1280×1024 z globino 8 ali 1024×768 z globino 16. Seveda vse področje ne bo vidno hkrati, a se lahko še vedno uporablja. Lastnost Virtual je precej omejena. Če želite uporabljati pravo navidezno namizje, vam fvwm in podobni okenski upravljalniki dovoljujejo, da imate velika navidezna namizja s skrivanjem oken in uporabo drugih tehnik namesto s shranjevanjem celotnega namizja v grafični pomnilnik. Glejte strani priročnika za fvwm za več podrobnosti o tem. Mnogi sistemi Linux uporabljajo fvwm kot privzeti okenski upravljalnik.

• ViewPort (ogledno okno). Če uporabljate izbiro Virtual, ki je opisana zgoraj, ViewPort določa koordinate zgornjega levega roba navideznega namizja, ko se XFree86 zažene. Pogosto se uporablja ViewPort 0 0. Če to ni določeno, se namizje osredini na navideznem prikazu namizja, kar vam morda ne bo po volji.

Obstaja še veliko drugih izbir za ta razdelek; glejte stran priročnika o XF86Config za popoln opis. V praksi te izbire niso nujno potrebne za začetno usposobitev delovanja XFree86.

5.6 Izpolnjevanje informacij o grafični kartici

Vaša datoteka XF86Config je zdaj, z izjemo popolnih informacij o grafični kartici, pripravljena. Za merjenje le-teh bomo uporabili strežnik X in jih dodali v XF86Config.

Namesto da bi merili te informacije v strežniku X, so v datotekah modeDB.txt, AccelCards in Devices navedene vrednosti za veliko kartic, ki jih lahko uporabite v datoteki XF86Config. Vse te datoteke se najdejo v /usr/X11R6/lib/X11/doc. Dodatno, obstajajo različne datoteke README za določene nabore čipov. Te datoteke bi morali pregledati za informacije o vaši grafični kartici in jih uporabiti (vrednosti o frekvencah (angl. clock values), tipu nabora čipov (angl. chip set type) in drugih izbirah) v datoteki XF86Config. Če kakšna informacija manjka, jo lahko poskušate izmeriti.

V večini teh primerov demonstriramo nastavitev grafične kartice #9 GXE 64, ki uporablja nabor čipov S3 in torej strežnik XF86_S3. Najprej ugotovite nabor grafičnih čipov na kartici. Poženite SuperProbe (najdete ga v /usr/X11R6/bin) in program vam bo povedal te podatke, a morate poznati ime nabora čipov, kot je znano strežniku X.

Zato poženite ukaz

     # X -showconfig

To izpiše imena naborov čipov, znanih strežniku X. (Navaja jih tudi stran priročnika za vsak strežnik X.) Na primer, pri pospeševalnem strežniku XF86_S3 bi dobili:

XFree86 Version 3.1 / X Window System

(protocol Version 11, revision 0, vendor release 6000)

Operating System: Linux

Configured drivers:

S3: accelerated server for S3 graphics adaptors (Patchlevel 0) mmio_928, s3_generic

Veljavni imeni naborov čipov za ta strežnik sta mmio_928 in s3_generic. Stran priročnika za XF86_S3 opisuje tadva nabora čipov in grafične kartice, ki ju uporabljajo. V primeru grafične kartice #9 GXE 64 je ustrezni nabor mmio_928.

Če ne veste, kateri nabor čipov se uporablja, ga lahko strežnik X zazna namesto vas. Za to poženite ukaz

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

če uporabljate bash za svojo ukazno lupino. Če uporabljate csh, poskusite:

     # X -probeonly &> /tmp/x.out

Ta ukaz bi morali pognati, ko sistem ni obremenjen; se pravi, ko se na vašem sistemu ne dogaja nobena druga aktivnost. Ta ukaz tudi poskuša prepoznati točkovne frekvence vaše grafične kartice (angl. video card dot clocks), kot vidite spodaj, in obremenitev sistema lahko pokvari izračun.

Izhod zgornjega ukaza, v datoteki /tmp/x.out, bi moral vsebovati vrstice kot:

XFree86 Version 3.1 / X Window System

(protocol Version 11, revision 0, vendor release 6000)

Operating System: Linux

Configured drivers:

S3: accelerated server for S3 graphics adaptors (Patchlevel 0)

mmio_928, s3_generic Več vrstic je pobrisanih … (--) S3: card type: 386/486 localbus (--) S3: chipset: 864 rev. 0 (--) S3: chipset driver: mmio_928

Tukaj vidimo, da sta dva veljavna nabora čipov za ta strežnik (v tem primeru, XF86_S3) mmio_928 in s3_generic. Strežnik je poskušal zaznati in našel grafično kartico z naborom čipov mmio_928.

V razdelku Device datoteke XF86Config dodajte vrstico Chipset, ki ima ime nabora čipov, kot je določeno zgoraj. Na primer

Section "Device" # Tukaj smo že imeli identifikator ... Identifier "#9 GXE 64" # Dodajte tole vrstico: Chipset "mmio_928"

EndSection

Zdaj moramo ugotoviti gonilne točkovne frekvence (angl. driving clock frequencies), ki jih uporablja grafična kartica. Gonilna točkovna frekvenca ali točkovna frekvenca (angl. dot clock) je preprosto hitrost, s katero lahko grafična kartica pošilja pike na monitor. Kot je opisano zgoraj, vsaki ločljivosti monitorja ustreza pridružena točkovna frekvenca. Ugotoviti moramo, katere točkovne frekvence so dostopne na grafični kartici.

Najprej bi morali pogledati v zgoraj omenjeno dokumentacijo in pogledati, če so tam navedene frekvence kartice. Točkovne frekvence so navadno seznam 8 ali 16 vrednosti, od katerih so vse v MHz. Na primer, ko iščemo v datoteki modeDB.txt, vidimo vnos za grafično kartico Cardinal ET4000, ki je videti takole:

# čip RAM navidezno točkovne frekvence privzeti način zastavice ET4000 1024 1024 768 25 28 38 36 40 45 32 0 "1024x768"

Točkovne frekvence (angl. dot clocks) za to kartico so 25, 28, 38, 36, 40, 45, 32 in 0 MHz.

V razdelku Devices datoteke XF86Config dodajte vrstico Clocks, ki vsebuje seznam točkovnih frekvenc za vašo kartico. Na primer, za zgornje frekvence dodajte vrstico

Clocks 25 28 38 36 40 45 32 0

v razdelek Devices te datoteke, po vrstici Chipset. ◇ Vrstni red točkovnih frekvenc je pomemben! Ne preurejajte seznama in ne odstra-

njujte podvojenih vrednosti.

Če ne morete najti frekvenc vaše kartice, jih lahko strežnik X poskuša samodejno zaznati. Uporabite X -probeonly, kot je opisano zgoraj. Izhod bi moral vsebovati vrstice, ki so videti kot tale:

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

Potem dodamo vrstico Clocks, ki vsebuje vse te vrednosti, kot so bile izpisane. V datoteki XF86Config lahko uporabite tudi več kot eno vrstico Clocks, če vse vrednosti (včasih se izpiše več kot 8 točkovnih frekvenc) ne gredo v eno vrstico. Spet se prepričajte, da boste obdržali enak vrstni red frekvenc, kot se izpiše.

◇ Pred uporabo X -probeonly se prepričajte, da v razdelku Devices ni vrstice Clocks (ali da je zakomentirana). Če obstaja vrstica Clocks, strežnik ne bo preizkušal različnih frekvenc – uporabil bo vrednosti, podane v XF86Config.

Nekatere video plošče uporabljajo programabilne oscilatorske čipe (angl. programmable clock chips). Glejte stran priročnika za vaš strežnik X ali datoteko README, ki opisuje vašo grafično kartico. Čip v bistvu dovoljuje strežniku X, da pove kartici, katere točkovne frekvence naj uporablja. Za grafične kartice, ki imajo oscilatorske čipe, morda ne boste našli seznama točkovnih frekvenc kartice v nobeni od zgornjih datotek. Ali pa bo seznam frekvenc, ki se izpišejo ob uporabi X -probeonly vseboval le eno ali dve diskretni frekvenčni vrednosti, ostale bodo dvojniki ali ničle. Ali pa strežnik X lahko javi izrecno opozorilo, da ima grafična kartica programabilni oscilatorski čip, kot:

(--) SVGA: cldg5434: Specifying a Clocks line makes no sense for this driver

Ta primer je vzet iz strežnika XF86_SVGA, ki poganja kartico Cirrus Logic PCI.

Za kartice, ki uporabljajo programabilne oscilatorske čipe, uporabite vrstico ClockChip namesto vrstice Clocks v datoteki XF86Config. ClockChip je ime oscilatorskega čipa, kot ga uporablja grafična kartica; opisani so v priročniku za posamezni tip strežnika X. Na primer, v datoteki README.S3 vidimo, da precej grafični kartic S3-864 uporablja oscilatorski čip »ICD2061A«, in bi morali uporabiti vrstico

ClockChip "icd2061a"

namesto vrstice Clocks v datoteki XF86Config. Kot pri Clocks gre tudi ta vrstica v razdelek Devices, takoj po polju Chipset.

Podobno nekatere grafične kartice zahtevajo, da določite tip čipov RAMDAC v datoteki XF86Config. To se naredi z vrstico Ramdac. Stran priročnika o XF86_Accel opisuje to izbiro. Pogosto bo strežnik X pravilno zaznal tip RAMDAC.

Nekateri tipi grafični kartic zahtevajo, da določite več izbir v razdelku Devices datoteke XF86Config. Te izbire so opisane v strani priročnika za vaš strežnik kot tudi v različnih datotekah, kot sta README.cirrus in README.S3. Te izbire so omogočene z uporabo vrstice Option. Na primer, kartica #9 GXE 64 zahteva dve izbiri:

Option "number_nine" Option "dac_8_bit"

Strežnik X lahko deluje tudi brez vrstic Option, vendar so te potrebne za izkoriščenje največje zmogljivosti kartice. Obstaja preveč izbir, da bi jih tukaj vse našteli. Različne so za vsako kartico. Če morate uporabiti eno od njih, vam bodo strani priročnika o strežniku X in različne datoteke v imeniku /usr/X11R6/lib/X11/doc povedale, katere so te izbire.

Ko končate, bi se vaš razdelek Devices moral glasiti nekako takole:

Section "Device"

# Razdelek ,Device‘ je le za #9 GXE 64 Identifier "#9 GXE 64" Chipset "mmio_928" ClockChip "icd2061a" Option "number_nine" Option "dac_8_bit" EndSection

Obstajajo tudi druge izbire, ki bi jih morali vključiti v polje Devices. Stran priročnika o strežniku X priskrbi podrobnosti za pogumne.

5.7 Poganjanje XFree86

Z vašo nastavljeno datoteko XF86Config, lahko zaženete strežnik X in ga preizkusite. Spet se prepričajte, da je imenik /usr/X11R6/bin na vaši poti.

Ukaz za zagon strežnika XFree86 je

     $ startx

To je vmesnik do programa xinit. Zažene strežnik X in izvede ukaze v datoteki .xinitrc v vašem domačem imeniku. Datoteka .xinitrc je lupinski skript, ki vsebuje ukazne vrstice odjemnikov X, ki naj jih požene ob zagonu strežnika X. Če ta datoteka ne obstaja, se uporablja privzeti sistemski skript /usr/X11R6/lib/X11/xinit/xinitrc.

Preprosta datoteka .xinitrc je videti takole:

#!/bin/sh

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

exec twm

Ta skript zažene dva odjemnika, xterm in oclock, in postavi barvo korenskega okna (ozadja) na barvo midnightblue (polnočno modro). Zažene okenski upravljalnik twm. Upravljalnik twm se izvede z lupinskim stavkom exec. To povzroči, da se proces xinit nadomesti s twm. Ko se proces twm konča, se strežnik X ustavi. Izhod iz twm lahko dosežete z uporabo korenskega menuja. Pritisnite in spustite prvi gumb miške na ozadju namizja. To prikaže dvižni menu, ki vam dovoljuje izbiro Exit Twm, izhod iz twm.

Prepričajte se, da se zadnji ukaz v .xinitrc začne z exec in da proces ni postavljen v ozadje (ni znaka »in«, »&«, na koncu vrstice). Sicer se bo strežnik X ustavil takoj, ko bo zagnal odjemnike v datoteki .xinitrc.

Alternativno lahko zapustite X s pritiskom kombinacije Ctrl - Alt - Backspace . To neposredno pobije strežnik X in zapusti okenski sistem.

Zgornji primer je le preprosta nastavitev namizja. Spet priporočamo, da preberete knjigo, kot je The X Window System: A User’s Guide (glejte dodatek A). Možnih variacij uporabe in nastavitve X je preveč, da bi jih tukaj opisovali. Strani priročnika o ukazih xterm, oclock in twm vam bodo priskrbele namige, kako začeti.

5.8 Ko zaidete v težave

Pogosto kaj ne bo povsem prav, ko boste prvič zagnali strežnik X. Vzrok je skoraj vedno v vaši datoteki XF86Config. Navadno so napačno nastavljene osvežitvene frekvence monitorja (angl. monitor timing values) ali točkovne frekvence grafične kartice (angl. video card dot clocks). Če je videti, da se zaslon vrti ali so robovi nejasni, to kaže, da gre za napačne frekvenčne vrednosti monitorja ali kartice. Prepričajte se tudi, da ste pravilno določili nabor čipov grafične kartice (angl. video card chip set) in izbire v razdelku Device datoteke XF86Config. Absolutno zagotovite, da uporabljate pravi strežnik X in da je /usr/X11R6/bin/X simbolna povezava nanj.

Če vse drugo odpove, poskusite pognati X »gole«; se pravi, z ukazom kot:

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

Potem lahko pobijete strežnik X (z uporabo Ctrl - Alt - Backspace ) in pregledate vsebino /tmp/x.out. Strežnik X poroča o vsakršnih opozorilih in napakah – na primer, če vaša grafična kartica nima točkovne frekvence, ki bi ustrezala načinu, ki ga podpira vaš monitor.

Datoteka VideoModes.doc, ki je vključena v distribucijo XFree86, vsebuje mnogo namigov za uravnavanje vrednosti v vaši datoteki XF86Config.

Spomnite se, da lahko uporabljate Ctrl - Alt - + in Ctrl - Alt - − za preklop med grafičnimi načini, navedenimi v vrstici Modes razdelka Screen datoteke XF86Config. Če način najvišje ločljivosti ni videti v redu, poskusite preklopiti na nižjo ločljivost. To vam pove vsaj to, da tisti deli vaše nastavitve X delujejo pravilno.

Naravnajte vertikalno in horizontalno velikost ter osredinjenje z gumbi na vašem monitorju. V veliko primerih je potrebno nastaviti te gumbe, ko zaganjate X. Na primer, če se vam zdi, da je zaslon rahlo premaknjen na eno stran, lahko navadno to popravite z uporabo krmilnih gumbov ali drsnikov na monitorju.

Novičarska skupina Useneta comp.windows.x.i386unix je posvečena razpravam o XFree86. Morda bo koristno branje novičarskih skupin za sporočila, povezana z video nastavitvami. Lahko naletite na koga z enako težavo.

Obstajajo tudi vzorčne datoteke XF86Config, ki so jih prispevali uporabniki. Nekatere od teh so dostopne v arhivu metalab.unc.edu v imeniku /pub/Linux/X11 in tudi drugje. Za vašo strojno opremo morda lahko najdete že napisano nastavitveno datoteko.

198 5. X Window System

Vmreževanje

V tem poglavju govorimo o vmreževanju – kako nastaviti povezavo, uporabljati TCP/IP, SLIP, PPP ali UUCP, elektronsko pošto in novice.

6.1 Vmreževanje s TCP/IP

Linux podpira celotno izvedbo omrežnih protokolov TCP/IP (Transport Control Protocol/Internet Protocol). TCP/IP je postal najuspešnejši mehanizem za vmreževanje računalnikov po vsem svetu. Z Linuxom in mrežno kartico lahko priključite vaš stroj na lokalno mrežo (LAN, angl. local area network, LAN) ali (s pravilnimi omrežnimi povezavami) na Internet – svetovno omrežje TCP/IP.

Priključitev majhne lokalne mreže (LAN) strojev z Unixom je preprosta. Potrebujete le krmilnik etherneta v vsakem stroju in ustrezne kable za ethernet in drugo strojno opremo. Ali, če vaše podjetje ali univerza ponuja dostop do Interneta, lahko preprosto vključite vaš stroj z Linuxom na to omrežje.

Trenutna izvedba TCP/IP in sorodnih protokolov za Linux se imenuje »NET-3« in pred tem »NET-2«. To nima zveze s tako imenovano izdajo NET-2 BSD Unixa; »NET-2« v tem kontekstu pomeni drugo izvedbo TCP/IP za Linux.

Linux NET-3 podpira tudi SLIP, internetni protokol po serijski liniji (angl. Serial Line Internet Protocol), in PPP, protokol za zvezo od točke do točke (angl. Point-to-Point Protocol). SLIP in PPP vam z uporabo vašega modema dovoljujeta, da imate klicni dostop do Interneta. Če vaše podjetje ali univerza ponuja dostop SLIP ali PPP, se lahko prijavite na strežnik za SLIP ali PPP in povežete vaš stroj na Internet preko telefonske linije. Ali pa obratno – če ima vaš stroj z Linuxom tudi dostop do Interneta prek etherneta, lahko usposobite vašo škatlo z Linuxom kot strežnik za SLIP ali PPP.

Za popolne informacije o usposobitvi TCP/IP pod Linuxom vam svetujemo, da preberete spis Linux NET-3 HOWTO, dostopen po anonimnem FTP-ju s strežnika metalab.unc.edu. NET-3 HOWTO je popoln vodnik za nastavitev TCP/IP pod Linuxom, vključno z ethernetom in povezavami SLIP ali PPP. Soroden sestavek je Linux Ethernet HOWTO, ki opisuje nastavitve različnih gonilnikov za mrežne kartice za Linux. Dostopna je tudi knjiga iz Dokumentacijskega projekta za Linux (LDP) Linux Network Administrator’s Guide. Glejte dodatek A za več informacij o teh dokumentih.

Zanimiva je tudi knjiga TCP/IP Network Administration Craiga Hunta. Vsebuje popolna navodila o uporabi in nastavljanju TCP/IP na sistemih Unix.

Strojne potrebe za TCP/IP

TCP/IP za Linux lahko uporabljate brez vsakršne strojne opreme za vmreževanje – nastavitev »kratko sklenjenega načina« (angl. loopback mode) vam dovoljuje, da se pogovarjate s sabo. To je potrebno za nekatere aplikacije in igre, ki uporabljajo omrežno napravo z zaprto zanko.

Če želite uporabljati Linux na omrežju TCP/IP tipa Ethernet, boste potrebovali mrežno kartico. Podprte so pogoste kartice, kot so 3com 3c503, HP PCLAN (serije 27245 in 27xxx), Western Digital WD80x3 in Novell NE2000/NE1000 kot tudi mnoge druge. Za podrobnosti glejte spisa Ethernet HOWTO in Hardware HOWTO.

Obstaja nekaj pogostih situacij, kar se tiče podprtih kartic, ki se jih morate izogibati: Veliko kartic je podprtih, a ponujajo slabo zmogljivost ali imajo druge omejitve. Primera sta 3Com 3C501, ki deluje, a klavrno, in Racal-Interlan NI6510, ki uporablja čip (angl. lance chip) am7990, ki ne deluje z več kot 16 megabajti RAM-a. Podobnega razpoloženja so mnogi kloni kartic NE1000/NE2000, ki imajo lahko različne probleme. Za bolj podrobno razlago združljivosti mrežnih kartic z Linuxom glejte Linux Ethernet HOWTO.

Linux podpira tudi SLIP in PPP, kar vam omogoča, da uporabljate modem za dostop do Interneta po telefonski liniji. V tem primeru boste potrebovali modem, združljiv z vašim strežnikom za SLIP ali PPP – večina strežnikov zahteva najmanj modem hitrosti 14.400 bps (bitov na sekundo) V.32bis. Zmogljivost se močno izboljša z modemom hitrosti 33.600 bps ali hitrejšim.

6.1.1 Nastavitev TCP/IP na vašem sistemu

V tem razdelku bomo razložili, kako nastaviti na vašem sistemu mrežno povezavo (po ethernetu) s TCP/IP. Vedite, da bi ta metoda morala delovati na veliko sistemih, a gotovo ne na vseh. Ta razprava bi morala zadostovati, da vas pripelje na pravo pot pri nastavljanju mrežnih parametrov vašega stroja, a obstajajo številna svarila in podrobnosti, ki tukaj niso omenjene. Za več informacij vas usmerjamo na knjigo Linux Network Administrators’ Guide in spis NET-3-HOWTO^{1}.

Najprej predpostavljamo, da imate sistem Linux, ki ima nameščeno programje za TCP/IP. To vključuje osnovne odjemalce, kot sta telnet in ftp, ukaze za sistemsko upravljanje, kot sta ifconfig in route (navadno ju najdete v /etc), in nastavitvene datoteke za vmreževanje (kot je /etc/hosts). Drugi dokumenti, povezani z vmreževanjem v Linuxu, opisani zgoraj, pojasnjujejo, kako se lotiti nameščanja programja za vmreževanje v Linuxu, če ga še nimate.

Predpostavljamo tudi, da je bilo vaše jedro nastavljeno in prevedeno z omogočeno podporo za TCP/IP. Glejte razdelek 4.10 za informacije o prevajanju vašega jedra. Za omogočanje vmreževanja morate odgovoriti pritrdilno na primerna vprašanja med korakom make config in ponovno zgraditi jedro.

Ko je to enkrat storjeno, morate spremeniti številne nastavitvene datoteke, ki jih uporablja NET-3. Večinoma je to preprost postopek. Žal vendarle obstaja velik nesporazum med posameznimi distribucijami Linuxa o tem, kam naj bi šle različne nastavitvene datoteke in podporni programi za TCP/IP. Največkrat jih lahko najdete v /etc, a v drugih primerih jih lahko najdete v /usr/etc, /usr/etc/inet ali na drugih bizarnih mestih. V najslabšem primeru boste morali uporabiti ukaz find, da boste našli datoteke na vašem sistemu. Vedite tudi, da vse distribucije nimajo nastavitvenih datotek in programja na enakem mestu – te datoteke so lahko razpršene po več imenikih.

1Nekatere teh informacij so prirejene iz NET-3-HOWTO Terryja Dawsona in Matta Welsha.

Naslednje informacije se nanašajo predvsem na povezave ethernet. Če nameravate uporabljati SLIP ali PPP, preberite ta razdelek, da boste razumeli pojme, in sledite bolj podrobnim navodilom v naslednjih razdelkih.

Vaša omrežna nastavitev Preden lahko nastavite TCP/IP, morate ugotoviti naslednje o vaši mrežni sestavi. V večini primerov vam bo te podatke priskrbel vaš upravitelj lokalnega omrežja.

Naslov za IP. To je unikatni naslov stroja v obliki štirih decimalnih številk, ločenih s pikami. Primer je 128.253.153.54. To številko vam bodo priskrbeli upravitelji vašega omrežja.

Če nastavljate le način zaprte zanke (se pravi, niti SLIP-a niti kartice Ethernet, le zveze TCP/IP z vašim lastnim strojem), potem je vaš naslov za IP 127.0.0.1.

Vaša omrežna maska (angl. network mask, »netmask«).

To je s pikami ločen četverec, podoben naslovu za IP, ki določa, kateri del naslova za IP določa številko podomrežja (angl. subnetwork number) in kateri del gostitelja na tem podomrežju. (Če ste negotovi pri teh terminih vmreževanja s TCP/IP, vam priporočamo, da preberete kakšno uvodno snov o upravljanju omrežij.) Omrežna maska je bitni vzorec, ki bo, položen na naslov vašega omrežja, povedal, v katerem podomrežju živi ta naslov. To je zelo pomembno za usmerjanje (angl. routing), in če na primer ugotovite, da se lahko veselo pogovarjate z ljudmi izven vašega omrežja, ne pa tudi z ljudmi v vašem omrežju, je velika verjetnost, da imate nepravilno določeno omrežno masko.

Upravitelji vašega omrežja izberejo omrežno masko, ko je omrežje zasnovano, in bi vam torej morali biti sposobni povedati, katera maska je prava za uporabo. Večina omrežij je podomrežij razreda C (angl. class C subnetworks), ki uporabljajo za svojo omrežno masko 255.255.255.0. Omrežja razreda B uporabljajo 255.255.0.0. Koda NET-3 bo samodejno izbrala privzeto masko, ki ne predvideva podvmreževanja, če je ne določite sami.

To se nanaša tudi na vrata zaprte zanke. Ker je naslov zaprtozančnih vrat vedno 127.0.0.1, je omrežna maska za ta vrata vedno 255.0.0.0. To lahko določite eksplicitno ali pa se zanesete na privzeto masko.

Naslov vašega omrežja.

To je vaš naslov za IP, maskiran z bitnim IN z omrežno masko. Na primer, če je vaša omrežna maska 255.255.255.0 in je vaš naslov za IP 128.253.154.32, potem je vaš omrežni naslov 128.253.154.0. Z omrežno masko 255.255.0.0 bi bilo to 128.253.0.0.

Če uporabljate le zaprto zanko, nimate omrežnega naslova.

Vaš naslov za oddajanje.

Naslov za oddajanje (angl. broadcast address) se uporablja za oddajanje paketov na vsak stroj v vaši podmreži. Torej, če je gostiteljsko število strojev na vašem podomrežju podano z zadnjim bajtom naslova za IP (omrežna maska 255.255.255.0), bo vaš naslov za oddajanje vaš omrežni naslov, obdelan z logičnim ALI z 0.0.0.255.

Na primer, če je vaš naslov za IP 128.253.154.32 in je vaša omrežna maska 255.255.255.0, je vaš naslov za oddajanje enak 128.253.154.255.

Vedite, da so nekatera omrežja iz zgodovinskih razlogov nastavljena za uporabo omrežnega naslova kot naslova za oddajanje. Če vas muči dvom, preverite pri vašem upravljalcu omrežja. (V veliko primerih bo zadostovalo podvojiti omrežne nastavitve drugih strojev na vašem podomrežju, seveda z zamenjavo naslova za IP z vašim lastnim.)

Če uporabljate le zaprto zanko, nimate naslova za oddajanje.

Vaš naslov za prehod.

To je naslov stroja, ki je vaš »prehod« (angl. gateway) v zunanji svet (se pravi do strojev, ki niso na vašem podomrežju). V veliko primerih ima stroj za prehod naslov za IP, identičen vašemu, le da ima ».1« kot svoj naslov gostitelja; npr., če je vaš naslov za IP 128.253.154.32, je morda vaš prehod 128.253.154.1. Naslov za IP vašega prehoda dobite pri upravljalcih vašega omrežja.

Pravzaprav imate lahko več prehodov. Prehod je le stroj, ki živi na dveh različnih omrežjih (ima naslova za IP na različnih podomrežjih) in usmerja pakete med njima. Veliko omrežij ima en sam prehod do »zunanjega sveta« (omrežja, sosednega vašemu), a v nekaterih primerih boste imeli več prehodov – po enega za vsako sosedno omrežje.

Če uporabljate le zaprto zanko, nimate naslova prehoda. Enako drži, če je vaše omrežje izolirano od vseh drugih.

Ime vašega imenskega strežnika (angl. domain name server, DNS).

Večina strojev na omrežju uporablja imenski strežnik, ki namesto njih prevaja imena gostiteljev v naslove za IP. Upravljalci vašega omrežja vam bodo povedali naslov vašega imenskega strežnika. Strežnik lahko poganjate celo na svojem lastnem stroju, če poganjate named, v tem primeru je naslov strežnika 127.0.0.1. Razen če absolutno morate poganjati svoj lastni imenski strežnik, vam priporočamo, da uporabite tistega, ki vam ga priskrbijo na omrežju (če ga). Nastavitev programa named je popolnoma druga tema; naša prioriteta na tej točki je, da vas pripravimo do pogovora z omrežjem. Z vprašanji razreševanja imen se lahko ukvarjate pozneje.

Če uporabljate le zaprto zanko, nimate naslova imenskega strežnika.

Uporabniki SLIP/PPP: Naslov imenskega strežnika boste vsekakor potrebovali, ostalih informacij pa morda tudi ne. Ko uporabljate SLIP, se vaš naslov za IP navadno ugotovi na enega od dveh načinov: Ali (a) imate »statični« naslov za IP, ki je enak vsakič, ko se povežete na omrežje, ali (b) imate »dinamični« naslov za IP, ki se dodeli iz množice prostih naslovov, ko se povežete na strežnik. V naslednjem razdelku o namestitvi SLIP je to obravnavano bolj podrobno.

NET-3 podpira polno usmerjanje, več smeri, podvmreževanje (zaenkrat le na mejah bajtov), skratka vse. Zgornje opisuje najbolj osnovne nastavitve TCP/IP. Vaša je lahko popolnoma drugačna: ko ste v dvomih, se pogovorite z guruji vašega lokalnega omrežja in preverite strani priročnika za route in ifconfig. Nastavitev omrežij TCP/IP je povsem izven dometa te knjige; zgornje bi moralo zadostovati večini ljudi, da začnejo.

Omrežne datoteke rc Datoteke rc so sistemski nastavitveni skripti, ki jih ob zagonu izvede init, ki zažene vse osnovne sistemske strežnike (kot sendmail, cron, itd.), in nastavijo stvari, kot so parametri omrežja, ime gostitelja in tako naprej. Datoteke rc se navadno najdejo v imeniku /etc/rc.d, a na drugih sistemih so morda v /etc. V splošnem distribucije Slackware uporabljajo datoteke rc.inet1 itd. v imeniku /etc/rc.d, medtem ko distribucije RedHat uporabljajo zaporedje imenikov.

Tukaj bomo opisali datoteke rc, ki se uporabljajo za nastavitev TCP/IP. Obstajata dve takšni datoteki: rc.inet1 in rc.inet2. Datoteka rc.inet1 se uporablja za nastavitev osnovnih parametrov omrežja (kot so naslovi za IP in informacije o usmerjanju), datoteka rc.inet2 pa zažene strežnike za TCP/IP (telnetd, ftpd in tako naprej).

Mnogi sistemi kombinirajo ti dve datoteki v eno, navadno imenovano rc.inet ali rc.net. Imena, dana vašim datotekam rc, niso pomembna, dokler izvajajo pravilne funkcije in jih init izvede ob zagonu. Za zagotavljanje tega boste morda morali urediti datoteko /etc/inittab in odkomentirati vrstice za izvajanje ustreznih datotek rc (ali ene same). V najslabšem primeru boste morali ustvariti datoteki rc.inet1 in rc.inet2 iz nič in dodati vnose za njiju v datoteko /etc/inittab.

Kot smo dejali, rc.inet1 nastavi osnovni omrežni vmesnik. To vključuje vaš naslov za IP in vaš omrežni naslov, in informacije usmerjevalne tabele za vaše omrežje. Usmerjevalne tabele se uporabljajo za usmerjanje izhodnih (in prihajajočih) omrežnih datagramov na druge stroje. Na večini preprostih nastavitev imate tri poti: eno za pošiljanje paketov na vaš lasten stroj, drugo za pošiljanje paketov na druge stroje v vašem omrežju in tretjo za pošiljanje paketov na stroje izven vašega omrežja (skozi stroj, ki je prehod). Za nastavitev teh parametrov se uporabljata dva programa: ifconfig in route. Oba sta navadno v imeniku /etc.

Pripomoček ifconfig se uporablja za nastavljanje vmesnika omrežne naprave s parametri, ki jih potrebuje za delovanje, kot je naslov za IP, omrežna maska, naslov za oddajanje in podobno. Pripomoček route se uporablja za spreminjanje vnosov v usmerjevalni tabeli.

Datoteka rc.inet1, primer navajamo spodaj, bi morala delovati za večino sestav. Seveda jo boste morali urediti za vaš lastni sistem. Ne uporabljajte vzorčnega naslova za IP in omrežnega naslova na vašem lastnem sistemu; vsak računalnik mora imeti svoj naslov na Internetu.

#!/bin/sh

# To je /etc/rc.d/rc.inet1 -- Nastavite vmesnike TCP/IP

# Najprej nastavite zaprtozančno napravo (angl. loopback device)

HOSTNAME=‘host name‘ /etc/ifconfig lo 127.0.0.1 # uporablja privzeto omrežno masko 255.0.0.0 /etc/route add 127.0.0.1 # smer za kazanje na zaprtozančno napravo

# Potem nastavite omrežne naprave. Če uporabljate le zaprto zanko

# ali SLIP, zakomentirajte ostanek teh vrstic.

# Uredite za vašo sestavo.

IPADDR="128.253.154.32" # NADOMESTITE z VAŠIM naslovom za IP NETMASK="255.255.255.0" # NADOMESTITE z VAŠO omrežno masko NETWORK="128.253.154.0" # NADOMESTITE z VAŠIM omrežnim naslovom BROADCAST="128.253.154.255" # NADOMESTITE z VAŠIM naslovom oddajanja,

# če ga imate. Če ne, pustite prazno in # uredite spodaj. GATEWAY="128.253.154.1" # NADOMESTITE z VAŠIM naslovom prehoda!

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

# Če nimate naslova za oddajanje, spremenite zgornjo vrstico v:

# /etc/ifconfig eth0 ${IPADDR} netmask ${NETMASK}

/etc/route add ${NETWORK}

# Naslednje je potrebno le, če imate prehod; se pravi, če je

# vaše podomrežje povezano z zunanjim svetom. /etc/route add default gw ${GATEWAY} metric 1

# Konec nastavitev omrežja

Spet boste morda morali to datoteko nekoliko spremeniti, da bo delovala. Zgornje bi moralo biti dovolj za večino nastavitev preprostih omrežij, a vsekakor ne za vse.

Skript rc.inet2 požene različne strežnike, ki se uporabljajo v zbirki za TCP/IP. Najpomembnejši med njimi je inetd. Inetd sedi v ozadju in posluša omrežna vrata. Ko stroj poskuša vzpostaviti povezavo na določenih vratih (na primer na vhodnih vratih za telnet), inetd razmnoži izvod ustreznega strežnika za ta vrata (v primeru vrat za telnet inetd požene in.telnetd). To je preprosteje kot poganjanje več različnih, posebnih strežnikov (npr. posameznih izvodov strežnikov telnetd, ftpd in tako naprej) – inetd zažene strežnike le, ko so potrebni.

Syslogd je sistemski strežnik za pisanje dnevnika obdelave – akumulira zabeležena sporočila različnih aplikacij in jih shranjuje v datoteke z dnevniki, odvisno od informacij o nastavitvah v /etc/syslogd.conf. Program routed je strežnik, ki se uporablja za vzdrževanje dinamičnih usmerjevalnih informacij. Ko vaš sistem poskuša poslati pakete na drugo omrežje, morda potrebuje dodatne vnose v usmerjevalni tabeli, da lahko to stori. Strežnik routed poskrbi za upravljanje usmerjevalne tabele brez potrebe po uporabniškem posegu.

Naš spodnji primer datoteke rc.inet2 zažene le goli minimum strežnikov. Obstajajo tudi drugi strežniki – mnogi od njih imajo opraviti z nastavitvami NFS. Ko poskušate usposobiti TCP/IP na vašem sistemu, je navadno najbolje začeti z minimalno konfiguracijo in dodajati bolj kompleksne kose (kot NFS), ko vam stvari delujejo.

Vedite, da v spodnji datoteki predpostavljamo, da se vsi omrežni strežniki nahajajo v imeniku /etc. Kot navadno, prilagodite to za svojo lastno sestavo.

#! /bin/sh

# Primer /etc/rc.d/rc.inet2

# Zaženi syslogd if [ -f /etc/syslogd ] then

/etc/syslogd fi

# Zaženi inetd if [ -f /etc/inetd ] then

/etc/inetd fi

# Zaženi routed if [ -f /etc/routed ] then

/etc/routed -q fi

# Opravljeno!

Med različnimi dodatnimi strežniki, ki jih bi morda želeli pognati v datoteki rc.inet2, je tudi named. Named je imenski strežnik – odgovoren je za pretvarjanje (lokalnih) naslovov za IP v imena in obratno. Če nimate imenskega strežnika drugje na omrežju ali želite priskrbeti imena lokalnih strojev drugim strojem v vaši domeni, je zagon named lahko nujno potreben. (Za večino sestav vendarle ni potreben.) Nastavitev strežnika named je dokaj kompleksna in potrebuje načrtovanje; radovedne bralce usmerjamo na dobro knjigo o upravljanju omrežja TCP/IP.

Datoteka /etc/hosts Datoteka /etc/hosts vsebuje seznam naslovov IP in gostiteljskih imen, ki jim ustrezajo. V splošnem vsebuje /etc/hosts le vnose za vaš lokalni stroj in morda za druge »pomembne« stroje (kot je vaš imenski strežnik ali prehod). Vaš lokalni imenski strežnik bo priskrbel transparentne preslikave iz-naslovov-v-imena za druge stroje na omrežju.

Na primer, če je vaš stroj loomer.vpizza.com z naslovom IP 128.253.154.32, bo vaša datoteka /etc/hosts videti takole:

127.0.0.1 localhost

128.253.154.32 loomer.vpizza.com loomer

Če uporabljate le zaprto zanko, mora biti edina vrstica v /etc/hosts 127.0.0.1, z obema imenoma, localhost in gostiteljskim, za temi številkami.

Datoteka /etc/networks Datoteka /etc/networks našteva imena in naslove vašega lastnega in drugih omrežij. Uporablja se v ukazu route in vam dovoljuje, da določite omrežje po imenu, če tako želite.

Vsako omrežje, v katerega želite dodati smer z uporabo ukaza route (ta se navadno kliče iz rc.inet1 – glejte zgoraj), mora imeti vnos v datoteki /etc/networks.

Kot primer,

default  0.0.0.0  # privzeta smer  - obvezna
loopnet  127.0.0.0  # zaprtozančno omrežje - obvezno

mynet 128.253.154.0 # Prilagodite za vaš omrežni naslov

Datoteka /etc/host.conf Ta datoteka se uporablja za izbiro, kako bo vaš sistem ugotavljal imena gostiteljev. Vsebovati bi morala dve vrstici:

order hosts,bind

multi on

Ti vrstici povesta razreševalnim knjižnicam (angl. resolve libraries), naj za iskanje imen najprej preverijo datoteko /etc/hosts in potem vprašajo imenski strežnik (če je prisoten). Vnos multi vam dovoljuje, da imate več naslovov za IP za določeno ime stroja v /etc/hosts.

Datoteka /etc/resolv.conf Ta datoteka nastavi razreševalnik imen, tako da določi naslov vašega imenskega strežnika (če obstaja) in ime vaše domene. Ime vaše domene je vaše popolno gostiteljsko ime (če ste registrirani stroj na Internetu, na primer) z odbitim gostiteljskim imenom. Se pravi, če je vaše polno gostiteljsko ime loomer.vpizza.com, je ime vaše domene le vpizza.com.

Na primer, če je vaš stroj goober.norelco.com in ima imenski strežnik na naslovu 128.253.154.5, bo vaša datoteka /etc/resolv.conf videti takole:

domain norelco.com nameserver 127.253.154.5

Določite lahko več kot en imenski strežnik – vsak mora imeti lastno vrstico nameserver v datoteki resolv.conf.

Nastavitev vašega gostiteljskega imena Vaše gostiteljsko ime naj bi nastavili z ukazom hostname. Ta se navadno kliče iz /etc/rc ali /etc/rc.local; preprosto preiščite vaše sistemske datoteke rc za ugotovitev, kje se kliče. Na primer, če je vaše (polno) gostiteljsko ime loomer.vpizza.com, uredite ustrezno datoteko rc, da bo izvedla ukaz:

/bin/hostname loomer.vpizza.com

Vedite, da se izvedljiva datoteka hostname na vašem sistemu morda ne nahaja v imeniku /bin.

Preizkus Ko imate enkrat nastavljene vse te datoteke, bi morali biti sposobni zagnati vaše novo jedro in poskušati uporabljati omrežje. Veliko je mest, kjer se lahko kaj zalomi, zato predlagamo, da preizkusite posamezne elemente nastavitev omrežja (npr., poganjanje pregledovalnika Mosaic preko omrežne povezave X najbrž ni dobra zamisel).

Za prikaz vaših usmerjevalnih tabel lahko uporabite ukaz netstat; te tabele so navadno izvor večine težav. Stran priročnika o netstat podrobno opisuje točno skladnjo tega ukaza. Za preizkus omrežne povezljivosti, priporočamo uporabo odjemalca, kot je telnet, za povezavo na stroje na vašem lokalnem podomrežju in zunanjih omrežjih. To vam bo pomagalo izslediti izvor težav. (Na primer, če se ne morete povezati na lokalne stroje, a se lahko povežete na stroje v drugih omrežjih, je več kot verjetno težava z vašo omrežno masko in nastavitvijo usmerjevalne tabele.) Ukaz route lahko pokličete tudi direktno (kot root) in se igrate z vnosi v vaši usmerjevalni tabeli.

Omrežno povezljivost bi morali preverjati tudi z neposredno določanimi naslovi za IP namesto imen gostiteljev. Na primer, če imate probleme z ukazom

     $ telnet shoop.vpizza.com

je vzrok lahko nepravilna nastavitev imenskega strežnika. Poskusite uporabiti pravi naslov za IP zgornjega stroja; če to deluje, veste, da je vaša osnovna nastavitev omrežja (skoraj gotovo) pravilna in problem leži v vaši določitvi naslova imenskega strežnika.

Razhroščevanje omrežnih nastavitev je lahko težaško opravilo in ne moremo niti začeti z njegovo obravnavo. Če ne morete dobiti pomoči od lokalnega guruja, vam močno priporočamo branje knjige Linux Network Administrators’ Guide iz LDP.

6.1.2 Nastavitev SLIP

SLIP (angl. Serial Line Internet Protocol, internetni protokol po serijski liniji) vam dovoljuje uporabo TCP/IP po serijski liniji, naj bo to klicni modem ali najeta asinhrona linija. Seveda boste za uporabo SLIP-a potrebovali dostop do klicnega strežnika za SLIP v vašem področju. Veliko univerz in podjetij ponuja dostop SLIP za skromno plačilo.

Obstajata dva pomembna programa, povezana s SLIP-om – dip in slattach. Oba se uporabljata za uvajanje povezave SLIP prek zaporednih vrat. Za vključitev SLIP-a je nujno uporabljati enega od teh dveh programov – ni dovolj le poklicati strežnik SLIP (s komunikacijskim programom, kot je kermit) in izdati ukaza ifconfig in route. To je zato, ker dip in slattach izdata poseben sistemski klic ioctl() za pridobitev nadzora nad zaporedno napravo, ki se bo uporabljala kot vmesnik za SLIP.

Program dip se lahko uporablja za klicanje strežnika SLIP, opravljanje rokovanja za prijavo na strežnik (izmenjavo vašega uporabniškega imena in gesla, na primer) in potem poganjanje povezave SLIP po odprti serijski liniji. Program slattach, po drugi strani, predvsem rezervira serijsko napravo za uporabo SLIP-a. Uporaben je, če imate stalno linijo na vaš strežnik SLIP in ni potrebno klicanje z modemom ali rokovanje za vzpostavitev zveze. Večina telefonskih uporabnikov SLIP-a naj bi uporabljala dip.

Pripomoček dip se lahko tudi uporablja za ukrojitev vašega sistema Linux kot strežnik za SLIP. Pri tem lahko drugi stroji pokličejo vašega in se povežejo na omrežje skozi sekundarno povezavo Ethernet na vašem stroju. Glejte dokumentacijo in strani priročnika za dip za več informacij o tem postopku.

SLIP je precej različen od etherneta v tem, da sta na »omrežju« le dva stroja – odjemalec za SLIP (se pravi: vi) in strežnik za SLIP. Iz tega razloga se SLIP pogosto omenja kot protokol »od točke do točke« (angl. point-to-point protocol). Za Linux je izvedena tudi posplošitev te ideje, znana kot PPP (angl. Point to Point Protocol).

Ko vzpostavite povezavo s strežnikom SLIP, vam ta dodeli naslov IP glede na (navadno) eno od dveh metod. Nekateri strežniki SLIP dodelijo »statične« naslove IP – v tem primeru bo vaš naslov IP enak vsakič, ko se povežete s strežnikom. Vendar mnogo strežnikov SLIP dodeljuje naslove IP dinamično – v tem primeru lahko dobite ob vsaki povezavi drugačen naslov IP. V splošnem bo strežnik SLIP ob prijavi izpisal vrednosti vašega naslova IP in naslov prehoda. dip lahko bere ti vrednosti iz izhoda prijavne seje strežnika SLIP in jih uporabi za prikrojitev naprave SLIP.

Pravzaprav je nastavitev povezave SLIP precej podobna nastavitvi za zaprto zanko ali ethernet. Glavne razlike so razložene spodaj. Preberite prejšnji razdelek o nastavitvah poglavitnih datotek za TCP/IP in uporabite spodaj opisane spremembe.

Povezave SLIP s statičnim naslovom IP z uporabo dip. Če uporabljate strežnik SLIP, ki statično dodeljuje naslove IP, boste morda želeli v datoteko /etc/hosts vključiti vnosa za vaš naslov IP in gostiteljsko ime. Prikrojite si tudi naslednje datoteke, naštete v zgornjem razdelku: rc.inet2, host.conf in resolv.conf.

Nastavite tudi rc.inet1, kot je opisano zgoraj. Vendar boste za zaprtozančno napravo želeli izvesti le ukaza ifconfig in route. Če za povezavo s strežnikom SLIP uporabljate dip, bo ta izvedel primerna ukaza ifconfig in route namesto vas. (Če uporabljate slattach, po drugi strani, boste morali za napravo SLIP vključiti ukaza ifconfig/route v datoteko rc.inet1 – glejte spodaj.)

dip naj bi primerno nastavil vaše usmerjevalne tabele za povezavo SLIP, ko se ta vzpostavi. Včasih pa obnašanje dip-a morda ne bo pravilno za vašo nastavitev in boste ukaza ifconfig ali route morali pognati na roko, potem ko ste se že povezali s strežnikom z dip-om (to se najlažje naredi znotraj lupinskega skripta, ki poganja dip in takoj izvede ustrezne nastavitvene ukaze). Vaš prehod je v veliko primerih kar naslov strežnika SLIP. Ta naslov morda veste že vnaprej ali pa ga bo strežnik SLIP izpisal, ko se povežete. Vaš pogovorni skript za dip (opisan spodaj) lahko dobi to informacijo od strežnika SLIP.

Program ifconfig lahko zahteva uporabo argumenta pointopoint, če dip nepravilno nastavi vmesnik. Na primer, če je naslov vašega strežnika SLIP 128.253.154.2 in vaš naslov IP 128.253.154.32, boste morda morali pognati ukaz

     # ifconfig sl0 128.253.154.32 pointopoint 128.253.154.2

kot root, ko vzpostavite povezavo z dip-om. Prav vam bodo prišle strani referenčnega priročnika o ifconfig.

Vedite, da so imena naprav, ki jih uporabljata ukaza ifconfig in route, podobna sl0, sl1 in tako naprej (za razliko od eth0, eth1 itd. za naprave Ethernet).

V razdelku 6.1.2 spodaj razlagamo, kako nastaviti dip za povezavo s strežnikom SLIP.

Povezave SLIP s statičnim naslovom IP z uporabo slattach. Če imate najeto linijo ali kabelsko povezavo neposredno do vašega strežnika SLIP, ni potrebe, da bi uporabljali dip za inicializacijo povezave. Namesto tega lahko uporabite program slattach za nastavitev naprave SLIP.

V tem primeru bi morala biti vaša datoteka /etc/rc.inet1 približno takšna:

#!/bin/sh

IPADDR="128.253.154.32" # Nadomestite s svojim naslovom IP

REMADDR="128.253.154.2" # Nadomestite z naslovom vašega strežnika SLIP

# Spremenite naslednje za primerno serijsko napravo za

# povezavo SLIP:

slattach -p cslip -s 19200 /dev/ttyS0

/etc/ifconfig sl0 $IPADDR pointopoint $REMADDR up

/etc/route add default gw $REMADDR

Ukaz slattach dodeli prvo nedodeljeno napravo SLIP (sl0, sl1 itd.) določeni serijski liniji.

Bodite pozorni na to, da je prvi parameter ukaza slattach ime protokola SLIP, ki naj se uporablja. Trenutno sta edini veljavni vrednosti tukaj slip in cslip. Izbira slip izbere navaden SLIP, kot bi tudi pričakovali, cslip pa je SLIP s stiskanjem glav datagramov.

V večini primerov bi morali uporabiti cslip; vendar če je videti, da imate s tem težave, poskusite slip.

Če imate več kot en vmesnik SLIP, boste morali sprejeti usmerjevalne odločitve. Odločiti se boste morali, katere smeri (angl. routes) dodati, in te odločitve lahko sprejmete le na osnovi pravilnih nastavitev vaših omrežnih povezav. Uporabna bo knjiga o nastavitvah vmreževanja TCP/IP, kot tudi strani priročnika za ukaz route.

Povezave SLIP z dinamičnim naslovom IP z uporabo dip Če vaš strežnik SLIP dinamično dodeljuje naslov IP, potem svojega naslova gotovo ne poznate vnaprej – torej ne morete vključiti vnosa zanj v datoteko /etc/hosts. (Morali pa bi vseeno vključiti vnos za vaš računalnik z zaprtozančnim naslovom 127.0.0.1.)

Mnogi strežniki SLIP izpišejo vaš naslov IP (kot tudi naslov strežnika), ko se prijavite. Na primer, eden od tipov strežnikov SLIP izpiše niz, kot je

Your IP address is 128.253.154.44. Server address is 128.253.154.2.

dip lahko ujame te številke iz izhoda strežnika in jih uporabi za nastavitev naprave SLIP.

Glejte stran 208 za informacije o nastavitvah različnih datotek TCP/IP za uporabo s SLIP-om. Spodaj razlagamo, kako nastaviti dip za povezavo s strežnikom SLIP.

Uporaba dip

Program dip lahko poenostavi proces priključevanja na strežnik SLIP, prijavljanje in nastavljanje naprave SLIP. Če nimate najete linije, je dip prava pot.

Za uporabo dip-a boste morali napisati »pogovorni skript« (angl. chat script), ki vsebuje seznam ukazov za pogovarjanje s strežnikom SLIP v času prijave. Ti ukazi lahko samodejno pošljejo strežniku vaše uporabniško ime/geslo in dobijo informacije o vašem naslovu IP s strežnika.

Tukaj je primer pogovornega skripta za dip za uporabo s strežnikom dinamičnih naslovov IP. Za strežnike statičnih naslovov boste morali v tem vrstnem redu nastaviti spremenljivki $local in $remote na vrhu vašega skripta na vrednosti vašega lokalnega naslova IP in naslova IP strežnika. Za podrobnosti glejte stran priročnika o dip.

main:

# Nastavi enoto maksimalnega pretoka (angl. Maximum Transfer Unit). # To je maksimalna velikost paketov, prenesenih po napravi SLIP. # Mnogi strežniki SLIP uporabljajo za enoto ali 1500 ali 1006; # preverite pri svojih upravnikih omrežja, če ste v dvomih. get $mtu 1500

# Naredi smer po SLIP za privzeto smer za usmerjanje paketov # s tega sistema. default

# Nastavi želena vrata in hitrost.

port cua03 speed 38400

# Resetiraj modem in terminalsko linijo. Če vam to povzroča

210 6. Vmreževanje

# težave, zakomentirajte. reset

# Pripravi se za klic. Nadomestite naslednjo vrstico z # inicializacijskim nizom za vaš modem. Ne pozabite dodati # v ta niz X3, če ste na običajni liniji v Sloveniji. send ATT&C1&D2X3\\N3&Q5%M3%C1N1W1L1S48=7\r wait OK 2 if $errlvl != 0 goto error # Kliči strežnik SLIP dial 2546000 if $errlvl != 0 goto error wait CONNECT 60 if $errlvl != 0 goto error

# Prijavljeni smo. Prijava v sistem. login:

sleep 3 send \r\n\r\n # Čakaj na prijavni pozornik wait login: 10 if $errlvl != 0 goto error

# Pošlji svoje uporabniško ime send USERNAME\n

# Čakaj na pozornik za geslo wait ord: 5 if $errlvl != 0 goto error

# Pošlji geslo. send PASSWORD\n

# Čakaj na znak, da je strežnik SLIP pripravljen wait annex: 30 if $errlvl != 0 goto error

# Pošlji ukaze strežniku SLIP za inicializacijo povezave. send slip\n wait Annex 30

# Pridóbi oddaljeni naslov IP s strežnika SLIP. Ukaz ‘get...remote’ # prebere tekst oblike xxx.xxx.xxx.xxx in ga priredi spremenljivki, # podani kot drugi argument (tukaj, $remote). get $remote remote if $errlvl != 0 goto error wait Your 30

# Pridóbi lokalni naslov IP s strežnika SLIP in ga dodeli # spremenljivki $local. get $local remote if $errlvl != 0 goto error

# Vžgi povezavo SLIP done:

print CONNECTED to $remote at $rmtip print GATEWAY address $rmtip print LOCAL address $local mode SLIP goto exit

error:

print SLIP to $remote failed.

exit:

dip samodejno pokliče ukaza ifconfig in route glede na vrednosti spremenljivk $local in $remote. Tukaj sta vrednosti tema spremenljivkama dodeljeni z uporabo ukaza get...remote, ki dobi tekst s strežnika SLIP in ga priredi poimenovani spremenljivki.

Če ukaza ifconfig in route, ki ju dip požene namesto vas, ne delujeta, lahko poženete ustrezna ukaza v lupinskem skriptu po izvedbi dip-a ali spremenite samo izvorno kodo programa dip. Poganjanje dip z izbiro -v bo izpisovalo razhroščevalne informacije medtem, ko se povezava vzpostavlja, kar bi vam moralo pomagati ugotoviti, kje se lahko stvari zalomijo.

Zdaj lahko za poganjanje dip-a in vzpostavitev povezave SLIP uporabite ukaz, kot je:

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

Tukaj so različne datoteke za dip in pogovorni skript (mychat.dip) shranjene v imeniku /etc/dip.

Zgornja razlaga bi morala zadostovati, da se znajdete na poti pogovarjanja z omrežjem, bodisi po ethernetu ali SLIP-u. Spet vam močno priporočamo pogled v knjigo o nastavitvah omrežja TCP/IP, posebej če ima vaše omrežje posebne usmerjevalne obzire, ki tukaj niso omenjeni.

6.2 Omrežje na klic in PPP

Linux popolnoma podpira omrežne protokole tipa PPP (angl. Point-to-Point Protocol, protokol od točke do točke). PPP je mehanizem za usposobitev in tek IP (internetnega protokola) in drugih omrežnih protokolov po serijski povezavi (z uporabo kabla »null-modem«), po povezavi, vzpostavljeni s programom telnet, ali po povezavi, narejeni z uporabo modemov in telefonskih linij (in seveda z uporabo digitalnih linij, kot je ISDN). Ta razdelek pokriva le nastavitev PPP kot odjemnika, ki se povezuje z analognim modemom na oddaljeni stroj, ki ponuja klicne storitve PPP.

Za popolne informacije o usposobitvi PPP pod Linuxom vas opogumljamo, da preberete spis Linux PPP HOWTO, izvirnik in slovenski prevod sta dostopna prek anonimnega FTP-ja s strežnika metalab.unc.edu. PPP HOWTO je popoln vodnik za nastavitev PPP pod Linuxom, vključno z modemom, ISDN-jem in kabli brez modema. Večina informacij v tem razdelku je bila napaberkovana iz omenjenega spisa. Dostopna je tudi knjiga Linux Network Administrator’s Guide iz Dokumentacijskega projekta za Linux. Glejte razdelek A za več informacij o tej literaturi.

6.2.1 Kaj potrebujete za začetek

Privzemamo, da je bilo vaše jedro prikrojeno in prevedeno z omogočeno podporo za TCP/IP. Glejte razdelek 4.10 za informacije o prevajanju vašega jedra. Za omogočanje vmreževanja morate odgovoriti pritrdilno na ustrezna vprašanja med korakom make config in ponovno zgraditi jedro. Domnevamo tudi, da je bil na vašem sistemu preveden in nameščen paket ppp. Domnevamo, da uporabljate jedro Linuxa 1.2.x s programjem PPP 2.1.2 ali pa Linux 1.3.X/2.0.x in PPP 2.2.0. V času tega pisanja je najnovejša dostopna uradna različica PPP-ja za Linux ppp-2.2f. Prosim, preberite spis kerneld mini-HOWTO, če nameravate uporabljati module za nalaganje ppp v vaše jedro.

◇ Toplo priporočamo, da uporabite različico jedra Linuxa in ustrezno različico PPP, za

kateri je znano, da sta skupaj stabilni.

Prebrati bi tudi morali

• dokumentacijo, ki pride poleg paketa PPP;

• strani priročnika o pppd in chat (uporabite man chat in man pppd za raziskovanje le-teh);

• knjigo Linux Network Administration Guide (NAG);

• spis Net-2/3 HOWTO;

• dokumentacijo jedra operacijskega sistema Linux, nameščeno v imeniku /usr/src/linux/Documentation, ko namestite izvorno kodo Linuxa;

• spletni sestavek o nastavitvah modemov The modem setup information page – glejte sestavek Modem Setup Information (http://www.in.net/info/modems/index. html)

• izvrstne knjige o Unixu/Linuxu, ki jih izdaja založba O’Reilly and Associates. Glejte njihov katalog na zvezi na naslovu http://www.ora.com/. Če ste novinec v Unixu/Linuxu, tecite (ne hodite) do vaše najbližje knjigarne in takoj investirajte v nekaj teh knjig!

• Spis The PPP-FAQ, pogosto zastavljena vprašanja z odgovori o PPP, ki ga vzdržuje Al Longyear. Ta spis je dostopen na naslovu ftp://metalab.unc.edu/pub/ Linux/docs/faqs; glejte dodatek B. Vsebuje mnogo uporabnih informacij v obliki »vprašanje/odgovor«, ki je zelo uporabna, ko želite ugotoviti, zakaj PPP ne deluje (pravilno).

6.2.2 Pregled potrebnih korakov

Obstaja nekaj korakov za usposobitev vašega sistema za uporabo PPP. Priporočamo vam, da pozorno pregledate ta seznam korakov, preden poskusite zares usposobiti povezavo PPP. Vsak od teh korakov bo podrobno razložen kasneje.

1. Prepričajte se, da je podpora za TCP/IP prevedena v vaše jedro.

2. Prepričajte se, da je podpora za PPP prevedena v vaše jedro statično ali pa kot naložljivi modul.

3. Prepričajte se, da je programje za PPP prevedeno in nameščeno na vaših sistemih.

4. Prepričajte se, da imate nastavljen modem, ki je nameščen/priključen na vaš računalnik in da veste, na katera zaporedna vrata je priključen modem.

5. Prepričajte se, da dobite od vašega ponudnika klicnega strežnika PPP (navadno ISP, angl. Internet Service Provider, ponudnik interneta) naslednje informacije:

• Telefonsko številko, ki jo boste klicali za priključitev na oddaljenega ponudnika klicnega PPP.

• Ali uporabljate dinamično ali statično dodeljevanje številk IP. V drugem primeru boste morali poznati to statično številko IP.

• Naslov IP imenskega strežnika (DNS, angl. Domain Name Service), ki ga boste uporabljali za razreševanje gostiteljskih imen, ko boste povezani.

Prepričajte se, da ima vaše jedro podporo za TCP/IP. Operacije za PPP v Linuxu so dveh vrst: 1) pritajeni strežnik za PPP (angl. PPP daemon) in 2) podpora za PPP v jedru. Kaže, da večina distribucij ponuja podporo za PPP v svojih privzetih namestitvenih jedrih, nekatere pa je vendarle ne. Morali bi se prepričati, da je v vaše jedro prevedena tudi podpora za TCP/IP. To lahko storite tako, da izdate naslednji ukaz:

     # grep -i "TCP/IP" /var/adm/messages

Če dobite vrstico, podobno

Jun 8 09:52:08 gemini kernel: Swansea University Computer Society TCP/IP for NET3.019

imate podporo za TCP/IP vključeno v jedro. Zgornji podatek lahko poiščete tudi na konzoli, ko se Linux še zaganja. Na mnogih hitrih strojih se izpis pomika prehitro, da bi ga lahko prebrali. Uporabite lahko Shift - PageUp za pomik zaslona navzgor in ogled tega sporočila.

Prepričajte se, da ima jedro podporo za PPP. Če v času zagona vaše jedro poroča kaj podobnega kot

PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.

PPP line discipline registered.

potem ima vaše jedro podporo za PPP. Izdate lahko tudi ukaz

     # grep -i "PPP" /var/adm/messages

Če dobite vrstico, podobno

Jun 8 09:52:08 gemini kernel: PPP: version 0.2.7 (4 channels)

NEW_TTY_DRIVERS OPTIMIZE_FLAGS

to pomeni, da je prisotna podpora za PPP.

Prepričajte se, da imate nastavljen modem. Morali bi se prepričati, da je vaš modem pravilno nastavljen in da veste, na katera serijska vrata je priključen.

• COM1: v DOS-u = /dev/cua0 (in /dev/ttyS0) v Linuxu, • COM2: v DOS-u = /dev/cua1 (in /dev/ttyS1) v Linuxu,

• et cetera.

Linux iz zgodovinskih razlogov uporablja naprave cuax za klice ven in naprave ttySx za prihajajoče klice. Koda jedra, ki je zahtevala to, je bila spremenjena v jedru različice 2.0.x in zdaj bi morali uporabljati ttySx za vhodne in izhodne klice. Imena naprav cuax lahko tudi izginejo v prihodnjih različicah jedra.

Če uporabljate hiter (zunanji) modem (14.400 bps ali več), morajo biti vaša serijska vrata sposobna obdelovati pretok, ki ga je takšen modem zmožen ustvariti, posebej še, če modem komprimira podatke.

To narekuje, da vaša serijska vrata uporabljajo sodobni čip UART (angl. Universal Asynchronous Receiver Transmitter, univerzalni asinhroni prejemnik-oddajnik), kot je čip 16550A. Če uporabljate starejši stroj (ali starejši serijski vmesnik), je precej verjetno, da imajo vaša serijska vrata le čip UART 8250, ki bo v kombinaciji s hitrim modemom povzročal precejšnje probleme.

Uporabite ukaz

  # setserial -a /dev/ttySx

da vam bo Linux sporočil tip UART-a, ki ga ima. Če nimate tipa UART-a 16550A, investirajte v nakup nove zaporedne kartice (dostopne za manj kot US$50).

Za PPP boste morali pravilno nastaviti vaš modem – za to preberite priročnik vašega modema! Večina modemov pride s tovarniško privzeto nastavitvijo, ki upošteva izbire, ki jih potrebuje PPP. Priporočene nastavitve določajo (v standardnih ukazih modemov Hayes):

• strojni nadzor pretoka (angl. hardware flow control, RTS/CTS) (&K3 na mnogih modemih);

• ukaz E1 – vključen odmev ukazov (angl. echo commands ON, chat to potrebuje za svoje delovanje);

• Q0 – poročanje kod rezultatov (angl. report result codes, chat to potrebuje za svoje delovanje);

• S0=0 – samodejni odziv izključen (angl. auto answer OFF, razen če želite, da vaš modem odgovori na klice);

• &C1 – zaznavanje nosilnega tona le po priključitvi (angl. Carrier Detect ON only after connect);

• &S0 – vedno pripravljen na sprejem podatkov (angl. Data Set Ready, DSR, always ON);

• X3 – ne čakaj signala za prosto linijo; to nastavitev potrebujemo v Sloveniji, ker se naš signal razlikuje od ameriškega;

• (odvisno od vrste modema) – pripravljen podatkovni terminal (angl. Data Terminal Ready).

Obstaja spletna stran, ki ponuja primere nastavitev za rastoče število modemov različnih proizvajalcev in modelov, kar vam lahko pri tem pomaga. Imenuje se Modem setup information, najdete jo na spletnem naslovu http://www.in.net/info/modems/index. html.

Uporabite vaše komunikacijsko programje (denimo minicom ali seyon) za določitev nastavitev vašega modema in jih oblikujte tako, kot zahteva PPP. Veliko modemov poroča o svojih trenutnih nastavitvah kot odgovor na AT&V, vendar bi morali preučiti priročnik za vaš modem.

Če popolnoma zmešate štrene vaših nastavitev, se lahko pozdravite (navadno) tako, da izdate ukaz AT&F – obnóvi tovarniške nastavitve. (Pri večini modemov, na katere smo naleteli, tovarniške nastavitve vključujejo vse, kar potrebujete za PPP, razen ukaza X3 – vendar bi morali to preveriti.)

Ko ste končno ugotovili potrebni nastavitveni niz za modem, si ga zapišite. Zdaj imate na izbiro: te nastavitve lahko shranite v obstojni pomnilnik modema, da jih boste lahko priklicali z ustreznim ukazom AT. Alternativa je, da podate pravilne nastavitve vašemu modemu kot del klicnega procesa PPP.

Če uporabljate vaš modem le iz Linuxa za klic vašega ponudnika Interneta ali strežnika vaše organizacije, je najpreprosteje shraniti vašo nastavitev modema v obstojni RAM.

Če, po drugi strani, vaš modem uporabljajo druge aplikacije in operacijski sistemi, je najvarneje podati te informacije modemu vsakič, ko z njim kličete, saj bo tako modem zagotovo v pravilnem stanju za klic. (To ima dodatno prednost tudi v tem, da v primeru izgube vsebine obstojnega RAM-a modema ne izgubite inicializacijskega niza.)

Informacije o ponudniku Interneta. Preden lahko vzpostavite povezavo PPP z oddaljenim strežnikom, morate dobiti naslednje informacije od sistemskega upravnika ali ljudi v tehnični podpori pri vašem ponudniku storitev interneta (angl. Internet Service Provider, ISP).

• Telefonsko številko ali številke za klic storitve. Če ste priključeni na naročniško telefonsko centralo (n. c.), boste potrebovali tudi številko n. c., ki vam daje zunanji pozivni signal – to je pogosto števka nič (0) ali devet (9).

• Ali strežnik uporablja dinamične ali statične številke IP? Če strežnik uporablja statične številke IP, morate morda vedeti, katero številko IP naj uporabljate na vašem koncu povezave PPP. Če vam vaš ISP ponuja podomrežje veljavnih številk IP, boste morali poznati številke IP, ki jih lahko uporabljate, in omrežno masko (angl. network mask, netmask). Večina ISP uporablja dinamične številke IP. Kot je omenjeno zgoraj, ima to določene posledice za storitve, ki jih lahko uporabljate. Vendar tudi če uporabljate statično številko IP, večina strežnikov PPP ne bo (zaradi varnostnih razlogov) nikoli dovolila določati številke IP odjemniku, saj je to varnostno tveganje. To informacijo boste morali še vedno poznati!

• Katere so številke IP imenskih strežnikov (DNS) ponudnika internetnih storitev? Obstajati bi morali vsaj dve, čeprav je potrebna le ena. Tukaj se lahko pojavi težava. Nastavitev PPP v MS Windows 95 dovoljuje, da se naslov DNS poda odjemniku pri njegovem priključitvenem procesu na ISP. Zato vam lahko vaš ISP (ali oddelek za pomoč v vaši organizaciji) pove, da ne potrebujete naslova IP imenskega strežnika (ali več strežnikov).

Za Linux potrebujete naslov vsaj enega DNS. Izvedba PPP za Linux ne dovoljuje dinamične nastavitve številke IP imenskega strežnika v času priključitve – in je precej verjetno ne bo nikoli dovoljevala.

• Ali strežnik potrebuje uporabo protokolov za identifikacijo PAP/CHAP? Če je tako, morate poznati polja "id" in "secret", ki naj bi ju uporabljali pri priključitvi. (To sta verjetno vaše uporabniško ime in geslo pri vašem ISP.)

• Ali strežnik samodejno zažene PPP ali mu morate izdati kakršnekoli ukaze za zagon PPP na strežniku, ko ste enkrat prijavljeni? Če morate izdati ukaz za zagon PPP, kakšen je ta ukaz?

• Je operacijski sistem strežnika Microsoft Windows NT in če je, ali uporablja sistem identifikacije MS PAP/CHAP? Videti je, da zaradi zagotavljanja varnosti veliko lokalnih omrežij podjetij uporablja MS Windows NT na ta način.

Vsaka naprava, ki se povezuje na Internet, mora imeti svojo lastno, edinstveno številko IP. Centralna oblast skrbi za razdelitev številk IP med posamezne države. Za uporabo povezave PPP morate torej imeti dodeljeno številko IP. Zaradi povečanega števila strojev na Internetu (delno zaradi velikega števila uporabnikov PPP), je bila razvita dinamična shema za PPP, ki predvideva sprotno pridobitev IP za vaš stroj, takoj ko vzpostavi povezavo PPP. To pomeni, da boste imeli ob vsaki priključitvi na oddaljeno klicno storitev PPP drugačen naslov IP. To je najpogostejša metoda za večino ponudnikov interneta. Druga metoda je uporaba statičnih številk IP. Številke IP si ne morete kar izbrati zase. Dodeliti vam jo mora centralna agencija, zadolžena za izdajanje številk IP. To preprečuje, da bi dva računalnika imela isti naslov IP in povzročala probleme na Internetu. Ponudnik storitve oddaljenega klicnega dostopa PPP vam bo povedal, ali naj uporabljate statične ali dinamične številke IP, in vam tudi priskrbel dejansko številko IP, če uporabljate statično metodo.

Pomembno je poudariti, da bo zelo zelo težko ponujati stalne internetne storitve, kot so strežniki svetovnega spleta, strežniki gopher ali strežniki za klepetanje po internetu (angl. Internet Relay Chat, IRC), če uporabljate dinamično dodeljevanje številk IP. Še vedno lahko uporabljate vse takšne strežnike, ki so na drugih strojih, vendar ne morete ponujati teh storitev na svojem stroju, ne da bi v to vložili ogromno truda. To presega namen te knjige.

PAP in CHAP sta dve različni razširjeni identifikacijski metodi. Linux podpira obe.

Preizkus vašega modema in oddaljene storitve. Ko ste uredili nastavitve serijskih vrat in modema, je dobra zamisel, da se prepričate v delovanje teh nastavitev tako, da pokličete vašega ISP in vidite, ali se lahko povežete.

Uporabite vaš terminalski komunikacijski paket (denimo minicom ali seyon), nastavite inicializacijo modema, ki jo potrebuje PPP, in pokličite na strežnik PPP, na katerega bi se radi priključili s sejo PPP.

(Pozor: na tej stopnji ne poskušamo narediti povezave PPP – le ugotoviti, da imamo pravilno telefonsko številko, in tudi izvedeti, kaj natanko nam strežnik pošilja, da se bomo znali prijaviti in začeti PPP.)

Med tem procesom zajemajte (beležite v datoteko) celoten prijavni proces ali previdno (zelo previdno) in natančno zapišite, katere pozive vam pošilja strežnik, da vam dá vedeti, da je čas za vnos uporabniškega imena in gesla (in vse druge ukaze, potrebne za vzpostavitev povezave PPP).

Če vaš strežnik uporablja PAP, ne bi smeli videti prijavnega pozornika, a bi morali namesto tega videti na vašem zaslonu (tekstovno reprezentacijo) nadzornega protokola povezave (ki je videti kot smeti).

Nekaj besed v opozorilo:

• Nekateri strežniki so precej inteligentni: prijavite se lahko s tekstovnim vnosom uporabniškega imena in gesla ali z uporabo PAP. Če torej vaš ISP uporablja PAP, a takoj še ne vidite prikaza smeti, to ne pomeni, da ste storili kaj narobe.

• Nekateri strežniki zahtevajo od vas, da najprej vnesete določeno besedilo in šele potem zaženejo standardni postopek PAP.

• Nekateri strežniki PPP so pasivni – se pravi, da preprosto čakajo in ne pošiljajo ničesar, dokler jim odjemnik, ki jih kliče, ne pošlje veljavnega paketa lcp. Če strežnik PPP, na katerega se povezujete, deluje v pasivnem načinu, ne boste nikoli videli smeti!

• Nekateri strežniki ne zaženejo PPP, dokler ne pritisnete Enter – torej se to izplača poskusiti, če se pravilno prijavite in ne vidite smeti!

Splača se vsaj dvakrat poklicati strežnik PPP – nekateri strežniki spremenijo svoje pozornike (npr. glede na čas!) vsakič, ko se prijavite na njih. Dva kritična pozornika, ki jih potrebuje vaša škatla z Linuxom, da se bo znala predstaviti vsakič, ko kličete na strežnik PPP, sta:

• pozornik, ki od vas zahteva vnos uporabniškega imena;

• pozornik, ki od vas zahteva vnos gesla.

Če morate izdati ukaz za pogon PPP na strežniku, boste morali najti tudi pozornik, ki ga izpiše strežnik, ko se prijavite nanj, in s katerim vam sporoča, da lahko vnesete ukaz za pogon PPP.

Če vaš strežnik samodejno požene PPP, ko se prijavite, boste začeli videvati smeti na vašem zaslonu – to je strežnik za PPP, ki pošilja vašemu stroju informacijo za začetek in nastavitev povezave PPP.

To naj bi izgledalo nekako takole:

y}#.!}!}!} }8}!}}U}"}\&} } } } }}\& ...}’}"}(}"} .~~y}

Na nekaterih sistemih mora biti PPP eksplicitno pognan na strežniku. To je navadno tedaj, ko je strežnik nastavljen tako, da dopušča prijave PPP in prijave v ukazno lupino z uporabo enakega para uporabniško ime/geslo. Če je to tako, po prijavi na strežnik pač izdajte ustrezni ukaz. Spet boste videli smeti, ko se požene povezava PPP na strani strežnika.

Če tega ne vidite takoj ob priključitvi (in prijavi in poganjanju strežnika PPP, če je to potrebno), pritisnite Enter in poglejte, če to zažene strežnik PPP.

Na tej točki lahko odložite vaš modem (navadno tako, da hitro vtipkate +++ in potem, ko enkrat vaš modem odgovori z OK, izdate ukaz ATH0).

Če ne morete pripraviti vašega modema k delovanju, preberite priročnik za vaš modem, strani referenčnega priročnika za vaše komunikacijsko programje in spis Serial HOWTO. Ko ste to uredili, nadaljujte, kot piše zgoraj.

Uporaba internetnih strežnikov z dinamičnimi številkami IP. Če uporabljate dinamične številke IP (in veliko ponudnikov storitev vam bo dalo le dinamično številko IP, razen če boste plačali znatno več za vašo povezavo), potem se morate zavedati omejitev, ki jih to narekuje.

Najprej, izhodne storitve bodo delovale čisto v redu. Se pravi, lahko pošiljate e-pošto s programom sendmail (če ste ga pravilno nastavili), prenašate datoteke z oddaljenih mest po protokolu FTP, potipate uporabnike na drugih strojih s programom finger, brkljate po spletu itd.

Povejmo posebej: na pošto, ki ste jo prenesli na vaš stroj, lahko odgovarjate tudi, ko niste na zvezi. Pošta bo preprosto počivala v vaši poštni vrsti, dokler se ne boste spet povezali z vašim ISP.

Vendar vaš stroj ni priključen na Internet 24 ur na dan niti nima iste številke IP vsakič, ko se priključi. Zato je nemogoče, da bi dobili e-pošto neposredno na vaš stroj (se pravi: brez protokolov, kot sta POP3 ali IMAP), in zelo težko nastaviti spletni strežnik ali strežnik za FTP, do katerega bi lahko dostopali vaši prijatelji! Kar se tiče Interneta, vaš stroj ne obstaja kot edinstven, vseskozi dostopen stroj, saj nima unikatne številke IP (zapomnite si – drugi stroji bodo uporabljali vašo prejšnjo številko IP, ko bodo poklicali na ISP).

Če postavljate spletni (ali katerikoli drugi) strežnik, je ta popolnoma neznan kateremukoli uporabniku Interneta, razen če vedo, da je vaš stroj priključen, in poznajo njegovo pravilno (trenutno) številko IP. Obstaja precej načinov, kako dobiti ti informaciji, od tega, da jih vi pokličete, jim pošljete e-pismo z informacijami, do prekanjene uporabe datotek .plan na lupinskem računu (kar predvideva, da vaš ponudnik dovoljuje dostop do ukazne lupine in tipanje s finger).

Za večino uporabnikov to ni problem – kar želi večina ljudi, je pošiljanje in prejemanje e-pošte (z uporabo računa pri vašem ponudniku storitev) in vzpostavljanje izhodnih povezav do spletnih strežnikov, strežnikov za FTP in drugih strežnikov na Internetu. Če potrebujete vhodne povezave do vašega strežnika, bi zares morali dobiti statično številko IP.

Datoteke za povezavo PPP. Zdaj morate biti prijavljeni kot root, da ustvarite imenike in uredite datoteke, potrebne za nastavitev PPP. PPP uporablja precej datotek za priključitev in vzpostavitev povezave PPP. Te datoteke se razlikujejo po imenu in mestu med različicama PPP 2.1.2 in 2.2.

Za PPP 2.1.2 so te datoteke:

/usr/sbin/pppd  # izvedljiva datoteka za PPP
/usr/sbin/ppp-on  # klicni/priključitveni skript
/usr/sbin/ppp-off  # odključitveni skript
/etc/ppp/options  # izbire, ki jih pppd uporablja za vse povezave
/etc/ppp/options.ttyXX  # izbire, specifične za povezavo na vratih XX

Za PPP 2.2 so te datoteke:

/usr/sbin/pppd  # izvedljiva datoteka za PPP
/etc/ppp/scripts/ppp-on  # klicni/priključitveni skript
/etc/ppp/scripts/ppp-on-dialer  # prvi del klicnega skripta
/etc/ppp/scripts/ppp-off  # sam pravi skript za chat
/etc/ppp/options  # izbire, ki jih pppd uporablja za vse povezave
/etc/ppp/options.ttyXX  # izbire, specifične za povezavo na vratih XX

Uporabniki distribucije Red Hat Linux bi morali vedeti, da standardna namestitev Red Hat 4.X postavi te skripte v imenik /usr/doc/ppp-2.2.0f-2/scripts.

V vašem imeniku /etc naj bi bil podimenik ppp:

drwxrwxr-x 2 root  root  1024 Oct 9 11:01 ppp

Če še ne obstaja, ga ustvarite s temi lastništvi in dovoljenji.

Če imenik že obstaja, bi moral vsebovati datoteko z vzorčnimi izbirami, imenovano options.tpl. Ta datoteka je vključena spodaj, za primer, če je še ni v imeniku /etc/ppp.

Natisnite jo, saj vsebuje razlago skoraj vseh izbir za PPP (te so uporabne za branje v povezavi s stranmi referenčnega priročnika o pppd). To datoteko sicer lahko uporabljate glede na svojo datoteko /etc/ppp/options, a je verjetno bolje, da naredite lastno datoteko z izbirami, ki ne vključuje vseh komentarjev v vzorčni – precej krajša in lažja bo za branje/vzdrževanje.

Videti je, da so nekatere distribucije PPP izgubile datoteko options.tpl. Poglejte v spis PPP-HOWTO (obstaja tudi slovenski prevod tega spisa) za popolno različico vzorčne datoteke.

Katere izbire naj uporabim? No, kot pri vseh stvareh, je to odvisno (vzdihljaj). Izbire, navedene tukaj, bi morale delovati z večino strežnikov.

Vendar če ne delujejo, preberite vzorčno datoteko (/etc/ppp/options.tpl) in stran priročnika o pppd ter se pogovorite s sistemskim upraviteljem ali ljudmi z oddelka za pomoč uporabnikom ponudnika, ki poganja strežnik, na katerega se priključujete.

Vedeti bi tudi morali, da priključitveni skripti, predstavljeni tukaj, uporabljajo tudi nekatere izbire v ukazni vrstici za klic pppd, da je spreminjanje zadev olajšano.

# /etc/ppp/options (brez podpore za PAP/CHAP)

#

# Prepreči pppd, da bi se razvejil v ozadju z -detach

#

# uporabljaj nadzorne linije modema

modem

# uporabljaj zaklepne datoteke v stilu uucp, da zagotoviš

# ekskluzivni dostop do serijske naprave

lock

# uporabljaj strojni nadzor pretoka

crtscts

# ustvari privzeto pot za to povezavo v usmerjevalni tabeli

defaultroute

# NE nastavljaj "ubežnih" nadzornih zaporedij

asyncmap 0

# uporabljaj največjo velikost prenesenega paketa 552 bajtov

mtu 552

# uporabljaj največjo velikost sprejetega paketa 552 bajtov

mru 552

#

#---KONEC VZORČNE DAT. /etc/ppp/options (brez podpore za PAP/CHAP)

Ročna vzpostavitev povezave PPP. Zdaj, ko ste ustvarili vaši datoteki /etc/ppp/options in /etc/resolv.conf (in če je potrebno, datoteko /etc/ppp/pap-secrets ali chap-secrets), lahko preizkusite nastavitve z ročno vzpostavitvijo povezave PPP. (Ko nam bo ročno vzpostavljena povezava delovala, bomo proces avtomatizirali.)

Za to mora biti vaše komunikacijsko programje sposobno izhoda, ne da se resetira modem. Program minicom lahko to stori z zaporedjem Ctrl - A Q

• Prepričajte se, da ste prijavljeni kot root.

• Zaženite vaše komunikacijsko programje (npr. minicom), pokličite na strežnik PPP in se prijavite kot običajno (če ste se sploh že kdaj prijavili). Če morate izdati ukaz za zagon PPP na strežniku, storite tako. Zdaj boste videli smeti, kot ste jih že videli prej.

• Če uporabljate PAP ali CHAP, bi morala že sama priključitev na oddaljeni sistem zagnati PPP na oddaljenem delu in videli boste smeti ne da bi se prijavili na strežnik (čeprav se to morda na nekaterih strežnikih ne bo zgodilo – poskusite pritisniti Enter in poglejte, če se pojavijo smeti).

• Zdaj zapustite komunikacijsko programje brez resetiranja modema in v pozorniku ukazne lupine v Linuxu (kot root) napišite

       # pppd -d /dev/ttyS0 38400 &

Seveda navedite namesto »/dev/ttyS0« ime naprave, na katero je priključen vaš modem. Izbira -d omogoča razhroščevanje – začetni pogovori povezave PPP se bodo beležili v sistemski dnevnik – kar je uporabno za izsleditev morebitnih poznejših težav.

• Ko se vzpostavi povezava PPP, zamežikajo lučke na vašem modemu (če imate zunanjega). Vzpostavitev povezave PPP bo trajala le malo časa.

Na tej točki lahko pogledate vmesnik PPP tako, da izdate ukaz

  # ifconfig

Poleg vseh naprav Ethernet in povratnih naprav, ki jih imate, bi morali videti tudi nekaj takega:

ppp0 Link encap:Point-Point Protocol inet addr:10.144.153.104 P-t-P:10.144.153.51 Mask:255.255.255.0 UP POINTOPOINT RUNNING MTU:552 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0

Kjer

• inet addr:10.144.153.10 pomeni številko IP na vašem koncu povezave.

• je P-t-P:10.144.153.5 številka IP strežnika.

(Pripomoček ifconfig ne bo izpisal ravno teh številk IP, pač pa tiste, ki se uporabljajo na vašem strežniku PPP.) Pomnite: ifconfig vam pove tudi, katera povezava je vzpostavljena in teče!

Morali bi biti sposobni tudi videti povezavo do oddaljenega gostitelja (in naprej). Za kaj takega ukažite

     # route -n

Videti bi morali nekaj takega:

Kernel routing table

Destination  Gateway  Genmask  Flags MSS  Window Use Iface
10.144.153.3  *  255.255.255.255 UH  1500 0  1 ppp0
127.0.0.0  *  255.0.0.0  U  3584 0  11 lo
10.0.0.0  *  255.0.0.0  U  1500 0  35 eth0
default  10.144.153.3  *  UG  1500 0  5 ppp0

Tukaj je posebej pomembno opaziti, da imamo dva vnosa, ki kažeta na naš vmesnik PPP.

Prvi je gostiteljska pot (označuje jo zastavica H kot angl. host route) in ta nam dovoljuje videnje gostitelja, na katerega smo priključeni – a nič dlje.

Drugi vnos je privzeta pot (vzpostavljena tako, da podamo programu pppd izbiro defaultroute). To je pot, ki pove našemu osebnemu računalniku z Linuxom, naj pošilja vse pakete, ki niso namenjeni na lokalni ethernet – za katerega imamo posebne omrežne poti – na sam strežnik PPP. Strežnik PPP je potem odgovoren za usmerjanje naših paketov na zunanji Internet in usmerjanje povratnih paketov nazaj do nas.

Če ne vidite usmerjevalne tabele z dvema vnosoma, je nekaj narobe. Posebej, če vaš sistemski dnevnik vsebuje sporočilo, ki vam sporoča, da vaš pppd ne nadomešča obstoječe privzete poti, potem imate privzeto pot, ki kaže na vaš vmesnik za Ethernet – in mora biti nadomeščena z določeno omrežno potjo: lahko imate le eno privzeto pot!!!

Raziskati boste morali inicializacijske datoteke vašega sistema, da boste ugotovili, kje se ta privzeta pot določi (uporabljen bo ukaz »route add default...«). Spremenite ta ukaz v nekaj takega kot »route add net...«.

Zdaj preizkusite povezavo s »pinganjem« strežnika na njegovo številko IP, kot jo sporoča izhod pripomočka ifconfig, denimo:

     # ping 10.144.153.51

Dobiti bi morali izhod, kot je ta:

PING 10.144.153.51 (10.144.153.51): 56 data bytes

64 bytes from 10.144.153.51: icmp_seq=0 ttl=255 time=328.3 ms 64 bytes from 10.144.153.51: icmp_seq=1 ttl=255 time=190.5 ms 64 bytes from 10.144.153.51: icmp_seq=2 ttl=255 time=187.5 ms 64 bytes from 10.144.153.51: icmp_seq=3 ttl=255 time=170.7 ms

Ta izpis se bo nadaljeval v neskončnost – prekinete ga s pritiskom Ctrl - C, na tej točki boste prejeli nekaj dodatnih informacij:

--- 10.144.153.51 ping statistics ---

4 packets transmitted, 4 packets received, 0% packet loss

round-trip min/avg/max = 170.7/219.2/328.3 ms

Zdaj poskusite pingati gostitelja po imenu (ne ime samega strežnika PPP), vendar gostitelja na drugem mestu, za katerega veste, da trenutno verjetno deluje. Na primer

     # ping sunsite.unc.edu

Tokrat bo sledil premor, v katerem Linux poizveduje o številki IP polnega gostiteljskega imena, ki ste ga pingali. To stori tako, da povpraša DNS, ki ste ga navedli v datoteki /etc/resolv.conf – zato ne skrbite (videli pa boste, da lučke na zunanjem modemu utripajo). Kmalu boste prejeli izhod, podoben temule:

PING sunsite.unc.edu (152.2.254.81): 56 data bytes 64 bytes from 152.2.254.81: icmp_seq=0 ttl=254 time=190.1 ms 64 bytes from 152.2.254.81: icmp_seq=1 ttl=254 time=180.6 ms 64 bytes from 152.2.254.81: icmp_seq=2 ttl=254 time=169.8 ms 64 bytes from 152.2.254.81: icmp_seq=3 ttl=254 time=170.6 ms 64 bytes from 152.2.254.81: icmp_seq=4 ttl=254 time=170.6 ms

Spet prekinite izhod s pritiskom Control - C in dobite nekaj dodatne statistike…

--- sunsite.unc.edu ping statistics ---

5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 169.8/176.3/190.1 ms

Če ne dobite nobenega odgovora, poskušajte pingati naslov IP strežnika DNS vašega ISP. Če dobite odgovor od njega, potem imate verjetno problem z datoteko /etc/resolv.conf.

Če to ne deluje, imate verjetno usmerjevalni problem ali pa ima vaš ISP težave z usmerjanjem paketov nazaj k vam. Preverite vašo usmerjevalno tabelo, kot je prikazana zgoraj, in če je to v redu, navežite stike z vašim ISP. Dober preizkus ISP-ja je uporaba drugega operacijskega sistema za priključitev. Če vam to uspe z vašim ISP-jem, je problem na vaši strani.

Če vse deluje, ukinite povezavo z vnosom

     # ppp-off

Po kratkem premoru bi moral modem sam odložiti linijo.

Če to ne deluje, izključite vaš modem ali poženite vaše komunikacijsko programje in prekinite modem z ukazom +++, potem pa odložite linijo z ATH0, ko prejmete odgovor OK od vašega modema.

Morda boste morali tudi počistiti zaklepno datoteko, ki jo ustvari pppd z vnosom

     # rm -f /var/lock/LCK..ttySx

6.2.3 Izdelava povezovalnih skriptov

Čeprav lahko nadaljujete z ročnim prijavljanjem, kot je prikazano zgoraj, je precej ličneje sestaviti nekaj skriptov, ki bodo to počeli samodejno namesto vas.

Nabor skriptov avtomatizira prijavljanje in zagon PPP, tako da je vse, kar morate storiti (kot root ali član skupine PPP), izdajanje enega samega ukaza za vključitev vaše povezave.

Če vaš ISP ne zahteva uporabe PAP/CHAP, so ti skripti za vas.

Če je paket PPP pravilno nameščen, bi morali imeti dve vzorčni datoteki. Za PPP 2.1.2 sta v imeniku /usr/sbin in za PPP 2.2 sta v /etc/ppp/scripts. Datoteke se imenujejo:

• za PPP-2.1.2:

ppp-on ppp-off

• in za PPP-2.2:

ppp-off ppp-on ppp-on-dialer

6.2. Omrežje na klic in PPP 223

Zdaj vam, če uporabljate PPP 2.1.2, močno priporočam, da pobrišete ti vzorčni datoteki. Potencialno povzročata probleme – in ne recite mi, da delujeta v redu – tudi jaz sem ju uporabljal celo večnost (in priporočil v prvih različicah PPP-HOWTO)!

Za dobrobit uporabnikov PPP 2.1.2 so tukaj boljše vzorčne različice, pobrane iz distribucije PPP 2.2. Priporočam vam, da namesto starih skriptov za PPP-2.1.2 uporabite te skripte.

Skript ppp-on. To je prvi od para skriptov, ki zares vzpostavita povezavo.

#!/bin/sh # # Skript za vzpostavitev povezave PPP. To je prvi od dveh # skriptov. To ni varen par skriptov, saj so kode vidne # z ukazom ’ps’. Vendar je preprost. # # To so parametri. Spremenite, kar je potrebno. TELEPHONE=555-1212 # Telefonska številka za povezavo ACCOUNT=george # Ime računa za prijavo (kot ’George Burns’) PASSWORD=gracie # Geslo za ta račun (in ’Gracie Allen’) LOCAL_IP=0.0.0.0 # Lokalni naslov IP, če je znan.

# Dinamično dobljen = 0.0.0.0

REMOTE_IP=0.0.0.0 # Oddaljeni naslov IP, če želite.

# Navadno 0.0.0.0

NETMASK=255.255.255.0 # Pravilna omrežna maska, če je potrebna. # # Izvozite te parametre, da bodo dostopni za ’ppp-on-dialer’ export TELEPHONE ACCOUNT PASSWORD # # To je lokacija skripta, ki pokliče po telefonski liniji in # se prijavi na strežnik. Prosim, uporabite absolutno ime # datoteke, saj se spremenljivka $PATH ne uporablja kot izbira # ob povezavi. (Kaj takega bi bila varnostna luknja računa # ’root’, zato ne sprašujte.) # DIALER_SCRIPT=/etc/ppp/ppp-on-dialer # # Inicializirajte povezavo # # exec /usr/sbin/pppd debug /dev/ttySx 38400 \

$LOCAL_IP:$REMOTE_IP \ connect $DIALER_SCRIPT

Skript ppp-on-dialer.

#!/bin/sh # # To je drugi del skripta ppp-on. Izvedel bo povezovalni # protokol za želeno povezavo. # /usr/sbin/chat -v \

TIMEOUT  3  \

224 6. Vmreževanje

ABORT  ’\nBUSY\r’  \
ABORT  ’\nNO ANSWER\r’  \
ABORT  ’\nRINGING\r\n\r\nRINGING\r’  \
’’  \rAT  \

’OK-+++\c-OK’ ATH0 \

TIMEOUT  30  \
OK  ATDT$TELEPHONE  \
CONNECT  ’’  \
ogin:--ogin:  $ACCOUNT  \

assword: $PASSWORD

Skript ppp-off za PPP-2.2. Za PPP-2.2 je skript ppp-off videti takole:

#!/bin/sh ######################################################### # # Poišči napravo, ki naj se prekine. # if [ "$1" = "" ]; then

DEVICE=ppp0

else

DEVICE=$1

fi

######################################################### # # Če obstaja datoteka pid ppp0, potem program teče. # Prekinite ga. if [ -r /var/run/$DEVICE.pid ]; then

kill -INT ‘cat /var/run/$DEVICE.pid‘

# # Če ’kill’ ne deluje, potem za ta pid ne teče noben proces. # To lahko pomeni tudi, da bo ostala zaklepna datoteka. # Morda boste želeli hkrati pobrisati zaklepno datoteko.

if [ ! "$?" = "0" ]; then rm -f /var/run/$DEVICE.pid echo "ERROR: Removed stale pid file" exit 1

fi

# # Uspeh. Naj pppd sam počisti svojo navlako.

echo "PPP link to $DEVICE terminated."

exit 0

fi # # Proces ppp ne teče za ppp0 echo "ERROR: PPP link is not active on $DEVICE" exit 1

6.2.4 Prilagajanje priloženih zagonskih skriptov za PPP

Novi skripti so v dveh delih, ki ju bomo uredili po vrsti.

Skript ppp-on. Urediti boste morali skript ppp-on, da bo odražal vaše uporabniško ime pri vašem ISP, vaše geslo pri vašem ISP in telefonsko številko vašega ISP.

Vsaka od vrstic, kot je TELEPHONE=, pravzaprav nastavi spremenljivke ukazne lupine, ki vsebujejo informacije na desni strani znaka »=« (brez komentarjev, seveda). Zato uredite vsako od teh vrstic tako, da ustreza vašemu ISP-ju in povezavi.

Tudi ko nastavljate številko IP (če jo morate), v datoteki /etc/ppp/options pobrišite vrstico, ki pravi:

$LOCAL_IP:$REMOTE_IP \

Prepričajte se, da lupinska spremenljivka DIALER_SCRIPT kaže na polno pot in ime klicnega skripta, ki ga boste zares uporabljali. Zato se, če ste premaknili ali preimenovali ta skript, prepričajte, da boste pravilno popravili to vrstico v skriptu ppp-on!

Skript ppp-on-dialer. To je drugi od skriptov, ki zares vzpostavita vašo povezavo PPP.

Vedite: pogovorni skript je navadno napisan v eni sami vrstici, obrnjene poševnice »\« se uporabljajo le za nadaljevanje vrstice v več fizičnih vrstic (za lažje človeško branje) in ne predstavljajo dela samega skripta.

Vendar je ta skript zelo uporabno podrobno pogledati, da bomo razumeli, kaj naj bi pravzaprav delal!

Pogovorni skript je zaporedje parov "pričakovani niz" "poslani niz". Pomnite, da vselej nekaj pričakujemo, preden nekaj pošljemo.

Če naj nekaj pošljemo, ne da bi najprej kaj prejeli, moramo uporabiti prazen pričakovani niz (označen z "") in podobno za pričakovanje nečesa, ne da bi karkoli poslali! Tudi če niz sestavlja več besed (npr. NO CARRIER), morate navesti niz tako, da ga chat vidi kot eno entiteto.

Pogovorna vrstica v našem vzorcu je:

exec /usr/sbin/chat -v

Ob klicanju chat-a izbira -v pove, naj se prepiše ves njegov vhod/izhod v sistemski dnevnik (ta je navadno v datoteki /var/log/messages).

Ko ste enkrat zadovoljni z zanesljivim delovanjem pogovornega skripta, uredite to vrstico in odstranite izbiro -v, da boste zmanjšali nepotreben šum v vašem sistemskem dnevniku.

TIMEOUT 3

To nastavi iztek časa za sprejem pričakovanega vhoda na tri sekunde. To lahko povečate na, denimo, 5 ali 10 sekund, če uporabljate zares počasen modem!

ABORT ’\nBUSY\r’

Če je sprejet niz BUSY (znak za zasedeno linijo), končaj postopek.

ABORT ’\nNO ANSWER\r’

Če prejmeš niz NO ANSWER (ni odgovora), končaj postopek.

ABORT ’\nRINGING\r\n\r\nRINGING\r’

Če prejmeš (ponovljen) niz RINGING, končaj postopek. To je zato, ker nekdo kliče vašo telefonsko linijo!

" \rAT

Ne pričakuj ničesar od modema in pošlji niz AT.

OK-+++\c-OK ATH0

Tale vrstica je malce bolj zapletena, saj uporablja nekatere zmožnosti za odpravljanje napak programa chat.

Kar pravi, je… Pričakuj OK in če ga ne prejmeš (ker modem ni v ukaznem načinu), potem pošlji +++ (modemski niz za standardne modeme, združljive s Hayes, ki vrne modem v ukazni način) in pričakuj OK. Potem pošlji ATH0 (ukazni niz, po katerem modem odloži linijo). To dovoljuje vašemu skriptu, da je kos položaju, ko modem obtiči na zvezi!

TIMEOUT 30

Nastavi iztek časa na 30 sekund za ostanek tega skripta. Če s tem pogovornim skriptom izkusite težave z izhodi zaradi izteka časa, povečajte to vrednost na 45 sekund ali več.

OK ATDT$TELEPHONE

Pričakuj OK (odgovor modema na ukaz ATH0) in pokliči številko, ki bi jo radi poklicali.

CONNECT ’’

Pričakuj CONNECT (kar pošlje naš modem, ko odgovori oddaljeni modem) in ne pošlji ničesar v odgovor.

ogin:--ogin: $ACCOUNT

Tukaj imamo spet vgrajenega nekaj odpravljanja napak. Pričakuj prijavni pozornik (...ogin:), a če ga ne dobimo pred iztekom časa, pošlji return in potem spet čakaj na prijavni pozornik. Ko se sprejme pozornik, pošlji uporabniško ime (shranjeno v lupinski spremenljivki $ACCOUNT).

assword: $PASSWORD

Pričakuj pozornik za geslo in pošlji naše geslo (spet, shranjeno v lupinski spremenljivki).

Ta pogovorni skript lahko precej dobro okreva od napak. Program chat ima bistveno več zmožnosti, kot jih je tukaj prikazanih. Za več informacij poglejte stran priročnika o programu chat (man 8 chat).

6.2.5 Zagon PPP na strani strežnika

Medtem ko je skript ppp-on-dialer v redu za strežnike, ki samodejno zaženejo pppd na svoji strani, ko se enkrat prijavite nanje, nekateri strežniki potrebujejo eksplicitni zagon PPP na strežniku.

Če morate izdati ukaz za zagon PPP na strežniku, morate urediti skript ppp-on-dialer.

Na koncu skripta (po vrstici z geslom) dodajte tradicionalni par »pričakuj-pošlji« – ta bo oprezal za vašim prijavnim pozornikom (pazite se znakov, ki imajo poseben pomen v Bournovi lupini), kot

$[]

Ko je enkrat chat našel lupinski pozornik, mora izdati zagonski ukaz za PPP, ki ga potrebuje strežnik za PPP pri vašem ISP.

Avtor je že naletel tudi na primer, ko strežnik za PPP uporablja standardni pozornik ukazne lupine Bash v Linuxu

[hartr@kepler hartr]$

ki zahteva odgovor

     $ ppp

za zagon PPP na strežniku.

Tukaj je koristno dovoliti malce popravljanja napak, zato uporabite

hartr–hartr ppp

Se pravi, če ne prejmemo pozornika pred iztekom časa, pošlje znak za pomik na začetek vrste (angl. carriage return) in spet čaka na pozornik.

Ko enkrat dobi pozornik, pošlje niz ppp.

Pozor: ne pozabite dodati \ na konec prejšnje vrstice, da bo chat še vedno mislil, da je celotni pogovorni skript v eni vrstici!

Žal nekateri strežniki producirajo zelo različno množico pozornikov! Morda se boste morali večkrat prijaviti z minicom-om, da boste razumeli, kaj se dogaja in izbrali stabilne »pričakovane« nize.

6.2.6 Če vaš strežnik PPP uporablja PAP (Password Authentication Protocol)

Če strežnik, na katerega se povezujete, zahteva identifikacijo PAP ali CHAP, imate malce več dela.

Dodajte naslednje vrstice v zgornjo datoteko z izbirami

#

# Prisili pppd, da bo med identifikacijskim procesom uporabljal # uporabniško ime na vašem ISP kot vaše ’gostiteljsko ime’ name uporabniško-ime-vašega-ISP # to vrstico morate popraviti # # Če poganjate *strežnik* PPP in morate vsiliti PAP ali CHAP, # odkomentirajte ustrezno od naslednjih vrstic. NE uporabljajte # jih, če ste odjemalec, ki se priključuje na strežnik PPP # (tudi če ta uporablja PAP ali CHAP), saj to naroči STREŽNIKU # naj se predstavi vašemu stroju (česar prav gotovo ne more # storiti -- in povezovanje bo spodletelo). #+chap #+pap # # Če uporabljate ZAKODIRANE zaupnosti (angl. encrypted secrets) # v datoteki /etc/ppp/pap-secrets, odkomentirajte naslednjo vrstico. # Vedite: to NI isto kot uporaba zakodiranih gesel Microsofta, # kot se lahko nastavijo v MS RAS na Windows NT. #+papcrypt

6.2.7 Uporaba protokola MSCHAP

RAS sistema Microsoft Windows NT se lahko nastavi tako, da uporablja različico protokola CHAP (angl. Challenge/Handshake Authentication Protocol, identifikacijski protokol s pozivanjem/rokovanjem). V izvorni kodi vašega PPP boste našli datoteko README.MSCHAP80, ki to obravnava. Ali strežnik zahteva identifikacijo z uporabo tega protokola, lahko ugotovite z vključitvijo razhroščevanja za pppd. Če strežnik zahteva identifikacijo MS CHAP, boste videli vrstice, kot je

rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a3>]

Tukaj ključno informacijo predstavlja »auth chap 80«.

Za uporabo protokola MS CHAP boste morali ponovno prevesti pppd za njegovo podporo. Prosim, poglejte navodila v datoteki README.MSCHAP80 v arhivu izvorne kode za PPP za navodila, kako prevesti in uporabljati to različico.

Če uporabljate identifikacijo PAP ali CHAP, potem morate ustvariti tudi datoteko s skrivnostmi (angl. secrets file). Ti sta /etc/ppp/pap-secrets in /etc/ppp/ chap-secrets.

Njun lastnik mora biti root, skupina root, in zaradi varnosti morata imeti dovoljenja datotek nastavljena na 740. Prva stvar, ki jo velja poudariti o PAP in CHAP, je, da sta zasnovana tako, da identificirata računalniške sisteme, ne uporabnikov. Z drugimi besedami, ko je enkrat vaš računalnik vzpostavil svojo povezavo PPP s strežnikom, lahko vsak uporabnik vašega sistema uporablja to povezavo – ne le vi.

PAP lahko (CHAP pa vedno) zahteva dvosmerno identifikacijo – se pravi: na vsakem računalniku obstaja veljavno ime in datoteka skrivnosti za vsak drugi vpleteni računalnik. Vendar to ni način, na katerega deluje večina strežnikov PPP, ki ponuja povezave, preverjene s PAP.

S tem v mislih: vaš ISP vam bo verjetno dal uporabniško ime in geslo, ki vam bosta omogočala povezavo na njegov sistem in od tam na Internet. Vašega ISP-ja sploh ne zanima ime vašega računalnika, zato boste verjetno morali uporabljati uporabniško ime pri vašem ISP-ju kot ime vašega računalnika. To se stori z uporabo izbire navedbe uporabniškega imena programa pppd. Torej, če boste uporabljali uporabniško ime, ki vam ga je dodelil vaš ISP, dodajte vrstico

name vaše_uporabniško_ime_pri_vašem_ISP

v vašo datoteko /etc/ppp/options.

Pravzaprav bi morali v resnici uporabljati

user vaše_uporabniško_ime_pri_vašem_ISP

za PAP, vendar je pppd dovolj inteligenten, da bo tolmačil name kot user, če je potrebno za uporabo PAP-a. Prednost uporabe izbire name je, da je veljavna tudi za CHAP.

Ker je PAP namenjen identifikaciji računalnikov, morate teoretično navesti tudi ime oddaljenega računalnika. Vendar ker ima večina ljudi le enega ISP, lahko uporabljate v datoteki s skrivnostjo (angl. secrets file) tudi džokerja (*) namesto imena oddaljenega gostitelja.

Datoteka /etc/ppp/pap-secrets izgleda takole

# Skrivnosti za identifikacijo z uporabo PAP

# odjemnik strežnik skrivnost sprejemljivi_lokalni_naslovi_IP

Štiri polja so ločena z belimi znaki (angl. white space) in zadnje je lahko prazno (to je to, kar želite za dinamično in verjetno tudi statično dodelitev IP od vašega ISP).

Denimo, da vam je ISP izdal uporabniško ime fred in geslo flintstone. Potem nastavite izbiro imena fred v datoteki /etc/ppp/options in nastavite vašo datoteko /etc/ppp/pap-secrets takole:

# Skrivnosti za identifikacijo z uporabo PAP

# odjemnik  strežnik  skrivnost sprejemljivi_lokalni_naslovi_IP
fred  *  flintstone

To pravi: lokalnemu stroju je ime fred (kar smo tudi naročili pppd-ju, da naj uporablja, čeprav to morda ni pravo lokalno ime našega stroja) in za vsak strežnik uporabljaj geslo (skrivnost) flintstone.

Vedite, da nam ni treba določiti lokalnega naslova IP, razen če moramo vsiliti določen lokalni, statični naslov IP. Tudi če to poskusite, verjetno ne bo delovalo, saj večina strežnikov PPP (iz varnostnih razlogov) ne dovoljuje oddaljenim sistemov samostojne nastavitve številke IP, ki jim je dodeljena.

To predvideva, da uporabljate vzajemne identifikacijske metode – se pravi, da morate dovoliti identifikacijo oddaljenega strežnika svojemu stroju in tudi identifikacijo vašega stroja oddaljenemu strežniku.

Če je torej vaš stroj fred in je oddaljeni stroj barney, bo vaš stroj nastavil name fred remotename barney, oddaljeni stroj pa bo nastavil name barney remotename fred v njunih ustreznih datotekah /etc/ppp/options.ttySx.

Datoteka /etc/chap-secrets bi na računalniku fred izgledala takole

# Skrivnosti za identifikacijo z uporabo CHAP

# odjemnik  strežnik  skrivnost sprejemljivi_lokalni_naslovi_IP
fred  barney  flintstone
barney  fred  wilma

in na računalniku barney takole

# Skrivnosti za identifikacijo z uporabo CHAP

# odjemnik  strežnik  skrivnost sprejemljivi_lokalni_naslovi_IP
barney  fred  flintstone
fred  barney  wilma

Posebej se zavedajte, da morata imeti oba stroja vnosa za dvosmerno identifikacijo. To dovoljuje lokalnemu stroju, da se predstavi oddaljenemu in obratno.

Pogovorni skript za povezave z identifikacijo PAP/CHAP. Če vaš ISP uporablja PAP/CHAP, je vaš pogovorni skript (za chat) precej preprostejši. Vse, kar mora storiti vaš pogovorni skript, je poklicati telefonsko številko, počakati na priključitev in potem dovoliti, da se program pppd prijavi na strežnik!

#!/bin/sh

#

# To je drugi del skripta ppp-on. Ta skript bo izvedel povezovalni # protokol za želeno povezavo. # exec /usr/sbin/chat -v \

TIMEOUT  3  \

ABORT  ’\nBUSY\r’  \
ABORT  ’\nNO ANSWER\r’  \
ABORT  ’\nRINGING\r\n\r\nRINGING\r’  \
’’  \rAT  \

’OK-+++\c-OK’ ATH0 \

TIMEOUT  30  \
OK  ATDT$TELEPHONE  \
CONNECT  ’’  \

Kot smo že videli, lahko z izbiro -d pppd-ju vključite beleženje razhroščevalnih informacij. Izbira „debug“ je ekvivalentna.

Ker vzpostavljamo novo povezavo z novim skriptom, zaenkrat pustite vključeno izbiro debug. (Pozor: če ste na tesnem z diskovnim prostorom, lahko beleženje aktivnosti programa pppd naglo poveča vaš sistemski dnevnik in zaidete lahko v težave – a za to vam mora spodleteti priključitev in morate neuspešno poskušati s priključitvijo nekaj minut.)

Ko ste enkrat zadovoljni, da vse deluje, lahko odstranite to izbiro.

exec /usr/sbin/pppd debug file options.myserver /dev/ttyS0 38400 \

Preizkus priključitvenega skripta. Odprite nov Xterm kot root (če ste v X) ali novo virtualno konzolo in se prijavite kot root.

V tej novi seji izdajte ukaz

     # tail -f /var/log/messages

Mnogi sistemski dnevniki se beležijo v datoteko /var/log/messages. Če ima na vašem sistemu drugačno ime, zamenjajte ime datoteke z vašim sistemskim dnevnikom v zgornjem ukazu.

V prvem oknu (ali virtualni konzoli) izdajte ukaz

     # ppp-on &

(ali kakorkoli ste že poimenovali vašo urejeno različico datoteke /usr/sbin/ppp-on). Če ne boste postavili skripta v ozadje z določitvijo & na koncu ukaza, ne boste dobili nazaj vašega terminalskega pozornika, dokler se PPP ne konča (se pravi: dokler se povezava ne prekine).

Zdaj preklopite nazaj na okno, ki spremlja vaš sistemski dnevnik.

6.2.8 Prekinitev povezave PPP

Ko ste končali s povezavo PPP, uporabite standardni ukaz ppp-off za njeno prekinitev (spomnite se, da morate biti root ali član skupine ppp!).

6.2.9 Odpravljanje pogostih težav, ko povezava deluje

Ena od težav, na katero boste naleteli, je, da bodo mnogi ponudniki storitev podpirali le programske pakete za povezavo, ki jih sami distribuirajo svojim novim uporabnikom. Ti paketi so tipično za Microsoft Windows – in mnogi oddelki za pomoč pri ponudnikih storitev ne vedo ničesar o Unixu (ali Linuxu). Zato bodite pripravljeni na omejeno pomoč od njih!

Seveda lahko uslužbencu naredite uslugo in ga poučite o Linuxu (vsakdo na oddelku za pomoč pri ISP bi moral biti razumno »na tekočem« s pojmi Interneta, in to pomeni, da bi moral imeti doma škatlo z Linuxom – seveda jo ima)!

Težave z razreševanjem naslovov. Prav – vaša povezava PPP je vzpostavljena, teče in lahko pingate strežnik PPP z njegovo številko IP (druga ali »oddaljena« (angl. remote) številka IP, ki jo pokaže ifconfig ppp0), vendar ne morete seči dlje od tega.

Najprej poskusite pingati številke IP, ki ste jih določili v datoteki /etc/resolv.conf kot imenske strežnike. Če to deluje, lahko vidite preko vašega strežnika PPP (razen če ima ta enako številko IP, kot je »oddaljena« številka IP vaše povezave). Zato zdaj poskusite pingati polno internetno ime vašega ponudnika storitev

     $ ping moj.ponudnik.si

Seveda tukaj vstavite ime vašega pravega ISP. Če to ne deluje, imate težavo z razreševanjem imen. To je verjetno zaradi tipkarske napake v vaši datoteki /etc/resolv.conf. Pozorno preverite to datoteko, ali se v njej pojavlja informacija iz vzorčne datoteke /etc/resolve.conf iz razdelka 6.1.1.

Če še vedno ne deluje (in vaš ponudnik storitev zagotavlja, da njegov imenski strežnik deluje), leži vaš problem nekje drugje – in previdno preverite vašo namestitev Linuxa (glejte predvsem dovoljenja datotek).

Če še vedno ne morete pingati imenskih strežnikov vašega ISP-ja z njihovimi številkami IP, so morda v okvari (pokličite jih po glasovnem telefonu in preverite) ali so usmerjevalne težave na strani vašega ISP-ja.

Ena od možnosti je, da je »oddaljena stran« strežnik za PPP z operacijskim sistemom Linux, v katerega jedru ni bila podprta izbira za posredovanje paketkov IP (angl. IP forwarding)!

Razhroščevanje neuspelega poskusa. Obstaja nešteto razlogov, da vaša povezava ne deluje – chat se ni uspešno povezal, imate umazano linijo itd. Zato preverite vaš sistemski dnevnik za indikacije.

Zelo pogost problem je, da ljudje prevedejo podporo za PPP v jedra, ko pa poskusijo poganjati pppd, se jedro kljub temu pritoži, da ne podpira PPP-ja! Obstaja vrsta razlogov, kako se to lahko zgodi.

• Ni vam uspelo zagnati novega jedra, v katerega ste prevedli podporo za PPP.

• Ni vam uspelo namestiti modula PPP, ki ste ga prevedli.

• Pričakovali ste, da bodo moduli naloženi samodejno, pa niso.

• Uporabljate napačno različico PPP-ja za vaše jedro.

• Programa pppd-ja ne poganjate kot root.

• V vaših zagonskih skriptih ste se nekje zatipkali.

• Nepravilno se prijavljate na strežnik.

• Na strežniku niste zagnali PPP.

• Oddaljeni proces PPP se počasi zažene.

• Privzeta pot (angl. default route) ni nastavljena.

In dosti drugih. Preberite PPP FAQ (ki je zares seznam vprašanj in odgovorov). To je zelo izčrpen sestavek in odgovori so tam! Če tam ni odgovora na vaše težave, vzrok težave ni v PPP!

Dobivanje pomoči, ko se vam popolnoma zatakne. Če ne morete pripraviti vaše povezave PPP do delovanja, se vrnite skozi to poglavje in preverite vse – v povezavi z izhodom, ki ga naredita »chat -v...« in »pppd -d« v vašem sistemskem dnevniku.

Preverite tudi dokumentacijo za PPP in FAQ ter druge dokumente, ki so tam omenjeni! Če ste obtičali, poskusite opisati svojo težavo v si.comp.os.unix ali (v angleščini) v

comp.os.linux.misc in comp.os.linux.networking. Te novičarske skupine, kot tudi novičarsko skupino comp.protocols.ppp, dokaj redno pregledujejo ljudje, ki vam lahko pomagajo s PPP.

Če se odločite iskati pomoč v novičarskih skupinah Useneta, prosim, ne pošiljajte zelo dolgega sporočila, ki sestoji le iz razhroščevalnega izhoda. To pokuri ogromno mrežne pasovne širine. Mnogo bolje je opisati problem in morda vključiti nekaj vrstic razhroščevalnega izhoda (definitivno ne več kot en zaslon).

6.3 Vmreževanje z UUCP

UUCP (angl. UNIX-to-UNIX Copy Protocol, protokol prepisovanja z Unixa na Unix) je starejši mehanizem, uporabljan za prenašanje informacij med sistemi Unix. Z uporabo UUCP-ja lahko sistemi Unix pokličejo drug drugega (z uporabo modema) in prenesejo poštna sporočila, novičarske članke, datoteke in tako naprej. Če nimate dostopa TCP/IP ali SLIP, lahko uporabljate za komunikacijo s svetom UUCP. Večina poštnega in novičarskega programja (glejte razdelka 6.5 in 6.6) se lahko nastavi tako, da UUCP prenaša informacije na druge stroje. Pravzaprav, če je v bližini mesto z Internetom, lahko uredite, da vam internetno pošto pošiljajo s tega mesta prek UUCP-ja na vaš stroj z Linuxom.

Knjiga Linux Network Administrator’s Guide vsebuje popolne informacije o nastavitvi in uporabi protokola UUCP pod Linuxom. Tudi spis Linux UUCP HOWTO, dostopen prek anonimnega FTP-ja s strežnika metalab.unc.edu, bi moral pomagati. Drug vir informacij o UUCP-ju je knjiga Managing UUCP and USENET Tima O’Reillyja in Grace Todino. Glejte razdelek A za več informacij.

6.4 Vmreževanje s sistemi Microsoft

Samba je zbirka programov, ki delujejo skupaj in dovoljujejo odjemalcem dostop do datotečnega prostora in tiskalnikov na strežniku po protokolu SMB (angl. kratica za Server Message Block). Prvotno je bila napisana za Unix, danes pa Samba teče tudi na sistemih Netware, OS/2 in VMS.

V praksi to pomeni, da lahko preusmerjate diske in tiskalnike na diske in tiskalnike Linuxa iz odjemalcev programa Lan Manager, odjemalcev Windows for Workgroups 3.11, Windows NT, Linux in OS/2. To vam daje možnost, da se ti operacijski sistemi obnašajo precej podobno kot strežnik LAN ali stroj Windows NT Server, le z dodano funkcionalnostjo in prožnostjo, načrtovano tako, da olajša življenje upravnikom.

Knjiga Samba: Integrating UNIX and Windows vsebuje popolne informacije o nastavitvi in uporabi zbirke Samba pod Linuxom. Domače strani Sambe so dostopne na http://samba.anu.edu.au/samba/, pomaga pa lahko tudi SMB HOWTO.

6.5 Elektronska pošta

Kot večina sistemov Unix, Linux priskrbi številne programske pakete za uporabo elektronske pošte. E-pošta na vašem sistemu je lahko bodisi lokalna (se pravi, pošto pošiljate le drugim uporabnikom na vašem sistemu), bodisi omrežna (se pravi, pošto prek protokola TCP/IP ali UUCP pošiljate uporabnikom na druge stroje v omrežju). E-poštno programje je navadno sestavljeno iz dveh delov: poštni program in program za prenos. Poštni program je navadno programje uporabniškega nivoja, ki se uporablja za sestavljanje in branje e-poštnih sporočil. Popularni tovrstni programi vključujejo elm in mailx. Program za prenos je nizkonivojsko programje, ki navadno poskrbi za dostavljanje pošte, lokalne ali oddaljene. Uporabnik nikoli ne vidi programja za prenos; opraviti ima le s poštnim programom. Vendar je pomembno, da kot sistemski upravnik razumete pojme v ozadju programja za prenos in kako ga nastaviti.

Najpopularnejši program za prenos pošte za Linux je sendmail. Zmožen je pošiljanja lokalne in oddaljene e-pošte po protokolih TCP/IP in UUCP. Alternativa programu sendmail je program Smail.

Več informacij o dostopnih poštnih programih za Linux in kako jih nastaviti na vašem sistemu ponuja spis Linux Mail HOWTO. Če nameravate pošiljati pošto na oddaljene sisteme, boste morali razumeti TCP/IP ali pa UUCP, odvisno od tega, kako je omrežen vaš stroj (glejte razdelka 6.1 in 6.3). Tukaj vam bodo v pomoč tudi spisi o UUCP in TCP/IP, našteti v dodatku A.

Večino poštnega programja za Linux lahko vzamete po anonimnem FTP-ju s strežnika metalab.unc.edu iz imenika /pub/Linux/system/Mail.

6.6 Novice in Usenet

Linux priskrbi tudi številne možnosti za upravljanje elektronskih novic. Odločite se lahko, da boste na svojem sistemu usposobili lokalni novičarski strežnik, ki bo dovoljeval uporabnikom pisanje »prispevkov« (angl. articles) v različne »novičarske skupine« (angl. news groups) na sistemu… Vendar če imate dostop do omrežja TCP/IP ali UUCP, boste lahko sodelovali v Usenetu – svetovni storitvi novičarskih skupin.

Obstajata dva dela novičarskega programja – strežnik (angl. server) in odjemalec (angl. client). Novičarski strežnik je programje, ki nadzoruje novičarske skupine in ureja razdeljevanje prispevkov na druge stroje (če ste na omrežju). Omrežni odjemalec ali novičarski bralnik je programje, ki se poveže na strežnik in potem dovoljuje uporabnikom branje in pošiljanje novic.

Za Linux obstaja več oblik novičarskih strežnikov. Vsi sledijo nekaterim osnovnim protokolom in zasnovi. Dve poglavitni različici sta »C News« in »INN«. Obstaja tudi več vrst novičarskih bralnikov, kot sta rn in tin. Izbira novičarskega bralnika je bolj ali manj stvar okusa; vsi novičarski bralniki bi morali delovati enako dobro z različicami strežniškega programja. Se pravi, novičarski bralnik je neodvisen od strežniškega programa in obratno.

Če želite imeti novice le lokalno (se pravi, ne kot del Useneta), potem boste morali poganjati strežnik na vašem sistemu, kot tudi namestiti novičarski bralnik za uporabnike. Novičarski strežnik bo shranjeval prispevke v imenik, kot je /var/spool/news, novičarski bralnik pa bo preveden tako, da bo pogledal v ta imenik za novičarske prispevke.

Če pa želite poganjati novice po omrežju, se vam odpira več možnosti. Novice na omrežjih TCP/IP uporabljajo protokol, znan kot NNTP (angl. Network News Transmission Protocol, protokol za prenos novic po omrežju). NNTP dovoljuje novičarskemu bralniku branje novic prek omrežja na oddaljenem stroju. NNTP omogoča tudi izmenjavo novic po omrežju med posameznimi novičarskimi strežniki – to je programje, na katerem sloni Usenet. Večina podjetij in univerz ima usposobljenega enega ali več strežnikov NNTP za urejanje novic Useneta za to ustanovo. Ostali stroji iz te ustanove, za branje in pisanje novic po omrežju preko strežnika NNTP poganjajo bralnik novic, zasnovan na NNTP. To pomeni, da le strežnik NNTP zares shranjuje novičarske prispevke na disk.

Tukaj je nekaj mogočih scenarijev za nastavitev novic.

• Novice poganjate lokalno. Se pravi, nimate omrežne povezave ali želje za poganjanje novic po omrežju. V tem primeru morate poganjati na vašem stroju C News ali INN in namestiti novičarski bralnik za lokalno branje novic.

• Imate dostop do omrežja TCP/IP in strežnika NNTP. Če ima vaša organizacija usposobljen novičarski strežnik NNTP, lahko berete in pošiljate novice z vašega stroja z Linuxom preprosto tako, da namestite novičarski bralnik, zasnovan na NNTP. (Večina dostopnih novičarskih bralnikov se lahko nastavi tako, da tečejo lokalno ali uporabljajo NNTP.) V tem primeru vam na svojem sistemu ni treba nameščati novičarskega strežnika ali shranjevati novičarskih prispevkov. Novičarski strežnik bo skrbel za branje in pošiljanje novic po omrežju. Seveda boste morali imeti nastavljeno omrežje TCP/IP in dostop do tega omrežja (glejte razdelek 6.1).

• Imate dostop do omrežja TCP/IP, vendar nimate strežnika NNTP. V tem primeru lahko poganjate novičarski strežnik NNTP na vašem sistemu Linux. Namestite lahko lokalni ali pa na NNTP zasnovan novičarski bralnik, in strežnik bo shranjeval novičarske prispevke na vašem sistemu. Dodatno lahko nastavite strežnik, da bo komuniciral z drugimi novičarskimi strežniki po protokolu NNTP in prenašal novičarske prispevke.

• Novice želite prenašati po protokolu UUCP. Če imate dostop UUCP (glejte razdelek 6.3), lahko prav tako sodelujete v Usenetu. Namestiti boste morali (lokalni) novičarski strežnik in novičarski bralnik. Dodatno boste morali nastaviti vaše programje za UUCP, da bo periodično prenašalo novičarske prispevke z drugega bližnjega stroja z UUCP (znanega kot »dotok novic«, angl. news feed). UUCP ne uporablja NNTP za prenos novic, ampak ponuja svoj lasten mehanizem za prenos novičarskih prispevkov.

Večina od »standardnega« novičarskega programja (dostopnega po anonimnem FTP-ju z ftp.uu.net v imeniku /news) se bo na Linuxu prevedla kot iz škatle. Nujne popravke lahko najdete na metalab.unc.edu v /pub/Linux/system/Mail (ki je, po naključju, tudi kraj, kjer lahko najdete poštno programje za Linux). V tem imeniku lahko najdete tudi druge binarne datoteke za novičarstvo v Linuxu.

Za več informacij glejte spis Linux News HOWTO s strežnika metalab.unc.edu v imeniku /pub/Linux/docs/HOWTO. Tudi knjiga LDP Linux Network Administrator’s Guide vsebuje popolne informacije o nastavitvah novičarskega programja za Linux. Knjiga Managing UUCP and Usenet Tima O’Reillyja in Grace Todino je izvrsten vodnik o vzpostavljanju programja za UUCP in novice. Zanimiv je tudi sestavek Useneta »How to become a Usenet site«, dostopen s strežnika ftp.uu.net v imeniku /usenet/news.announce.newusers.

Dodatek A

Viri informacij o Linuxu

Ta dodatek vsebuje informacije o različnih virih informacij o Linuxu, kot so sestavki na zvezi, knjige in drugi. Mnogi od teh spisov so dostopni bodisi v tiskani obliki ali elektronsko z Interneta ali sistemov BBS. Mnoge distribucije Linuxa vključujejo tudi veliko dokumentacije v sami distribuciji, zato so lahko po namestitvi Linuxa te datoteke že nameščene na vašem sistemu.

Sestavki na zvezi

Ti sestavki bi morali biti dostopni na kateremkoli od arhivnih mest za FTP Linuxa (glejte dodatek B za seznam). Če nimate neposrednega dostopa do FTP-ja, boste morda lahko našli te sestavke na drugih storitvah na zvezi (kot je CompuServe, lokalni BBS-i in tako naprej). Če imate dostop do internetne pošte, lahko uporabite storitev ftpmail in prejmete te spise po e-pošti. Glejte razdelek B za več informacij.

Naslednje spise lahko najdete na metalab.unc.edu v imeniku /pub/Linux/docs. Mnogo strežnikov zrcali ta imenik; vendar če ne morete najti zrcalnega strežnika v vaši bližini, je originalni dober za rezervo.

Pogosto zastavljena vprašanja z odgovori Pogosto zastavljena vprašanja o Linuxu z odgovori (angl. The Linux Frequently Asked Questions with Answers, FAQ) je seznam pogostih vprašanj (in odgovorov!) o Linuxu. Namen tega spisa je ponuditi splošen vir informacij o Linuxu, o pogostih težavah in o rešitvah ter seznam drugih virov informacij. Vsak novi uporabnik Linuxa bi moral prebrati ta spis. Angleški izvirnik je dostopen v številnih formatih, vključno z navadnim ASCII, PostScript in HTML. Spis The Linux FAQ vzdržuje Robert Kiesling, kiesling@terracom.net. Slovenski prevod je dostopen v različnih formatih, vključno s tekstovnim formatom ISO-8859-2 in formati PDF (angl. Portable Document File, datoteka za Adobe AcrobatReader), PostScript, DVI in HTML.

The Linux META-FAQ Spis META-FAQ je zbirka »metavprašanj« o Linuxu; se pravi, virov informacij o sistemu Linux in drugih splošnih temah. Predstavlja dobro izhodišče za uporabnika Interneta, ki želi izvedeti več o tem sistemu.

Vzdržuje ga Michael K. Johnson, johnsonm@metalab.unc.edu.

Informativni letak o Linuxu Spis Linux INFO-SHEET (informativni letak o Linuxu) je tehnični uvod v sistem Linux. Ponuja pregled odlik sistema in dostopnega programja in tudi seznam drugih virov informacij za Linux. Oblika in vsebina je podobne narave kot META-FAQ; po naključju tudi tega vzdržuje Michael K. Johnson. Obstaja tudi slovenski prevod.

Linux Journal Izbrani članki iz mesečnika Linux Journal so dostopni v elektronski obliki z njihove spletne strani, http://www.linuxjournal.com/. Članki pokrivajo tematiko, ki zanima začetne ali napredne uporabnike, vključujejo dodatke kot članke o uporabi Linuxa v »pravem svetu« in pogosto citirane primerjalne članke in tabele distribucij Linuxa.

Linux Gazette Prosta publikacija na zvezi, ki jo najdete na http://www. linuxgazette.com/. Linux Gazette ponuja odgovore in zabavo, »ki naredi Linux čisto malce bolj zabaven«. Založnik The Gazette je SSC, izdajatelj mesečnika Linux Journal. Za več informacij pišite na gazette@ssc.com.

Linux Resources Spletna stran The Linux Resources (http://www.linuxresources. com/) pokriva »Kaj to je, kje to dobiti, kako najti vse informacije, ki jih potrebujete, da bo to delovalo, in veliko več«.

The Linux Software Map The Linux Software Map (slov. Zemljevid programja za Linux) je seznam mnogih aplikacij, dostopnih za Linux, kje jih dobiti, kdo jih vzdržuje in tako naprej. Je daleč od popolnosti – zbrati popoln seznam programja za Linux bi bilo skoraj nemogoče. Vendar vključuje večino od najpriljubljenih programskih paketov za Linux. Če ne morete najti določene aplikacije, ki bo zadostila vašim potrebam, je LSM dobro izhodišče. To spletno stran vzdržuje Lars Wirzenius, lars.wirzenius@helsinki.fi.

Spisi HOWTO Tako imenovani »spisi HOWTO za Linux« predstavljajo zbirko spisov tipa »kako naj to naredim«, vsak od njih podrobno opisuje določen vidik sistema Linux. Vzdržuje jih Tim Bynum, linux-howto@metalab.unc. edu. Spis HOWTO-Index našteva vse spise HOWTO, ki so dostopni. Izvorno so večinoma napisani v angleščini, nekateri pa so prevedeni tudi v slovenščino.

Drugi sestavki na zvezi Če brskate po podimeniku docs kateregakoli strežnika FTP za Linux, boste videli mnogo drugih spisov, ki tukaj niso našteti: kopico FAQ-jev, zanimivih drobtin in drugih pomembnih informacij. To raznovrstnost je tukaj težko kategorizirati; če ne najdete tega, kar iščete, v zgornjem seznamu, le poglejte na enega od arhivnih mest za Linux, naštetih v dodatku B.

Uvod v Dokumentacijski projekt za Linux

Dokumentacijski projekt za Linux (angl. The Linux Documentation Project, LDP) razvija dobro, zanesljivo dokumentacijo za operacijski sistem Linux. Splošni cilj avtorjev LDP je pisanje sestavkov, ki pokrivajo namestitev, nastavitev in uporabo Linuxa. LDP izdeluje spise v različnih formatih: v navadnem tekstu, ki ga lahko berete povsod, sestavke HTML, ki jih lahko pregledujete z brkljalnikom, strani priročnika, ki ga lahko berete na zvezi, ali v knjigi, in stavljeno dokumentacijo, ki jo lahko natisnete in berete v knjigah.

»Dom« projekta LDP je njegova spletna stran, ki jo najdete na http://metalab.unc. edu/LDP/ in na mnogih zrcalnih mestih, naštetih v sestavku http://metalab.unc.edu/ LDP/mirrors.html. Tu se redno objavljajo novi popravki, novice in nekateri sestavki, ki obstajajo le na zvezi. Mednje sodijo:

• Linux Gazette, mesečna zbirka nerecenziranih člankov in pisem uporabnikov Linuxa z vsepovsod.

• The Linux Kernel Hackers’ Guide je interaktivni, urejevani forum, kjer se razvijalci jedra sistema Linux pogovarjajo o vprašanjih, povezanih z razvojem jedra.

• Posebni HOWTO-ji, spisi HOWTO, ki zaradi svoje oblike ne morejo biti obravnavani kot ostali spisi HOWTO.

Poleg spletnih strani LDP obstajajo še štiri osnovne vrste dokumentacije, ki jih izdeluje LDP: vodniki (angl. Guides), spisi HOWTO in mini-HOWTO, strani referenčnega priročnika (angl. man pages) in pogosto zastavljena vprašanja (PZV, angl. FAQ).

• Vodniki Celotne knjige o kompleksnih vprašanjih, denimo tale knjiga.

• spisi »HOWTO« in »mini-HOWTO« Sestavki s popolnim obravnavanjem precej dobro definirane teme ali preprostim obravnavanjem navadno enega samega opravila.

• strani priročnika Dokumentacija za posamezne programe, datotečne formate in knjižnične funkcije v standardnem referenčnem formatu za Unix.

• spisi »PZV« (angl. FAQ)

Pogosto zastavljena vprašanja z odgovori o različnih temah, vključujejo tudi Linux FAQ.

Če imate komentarje o kateremkoli določenem dokumentu v tej množici, jih kar pošljite avtorju. Vsi sestavki so opremljeni z elektronskim naslovom avtorja, na katerega lahko pošljete pripombe, in čeprav avtorji ne utegnejo vedno odgovoriti, vseeno preberejo in preučijo razumne pripombe na svoje delo. Vaše pripombe pripomorejo k izboljšanju teh sestavkov. Če imate komentar ali vprašanja o projektu LDP na splošno, prosim, stopite v stik z Gregom Hankinsom po e-pošti na <gregh@metalab.unc.edu>.

Slovenski dokumentacijski projekt za Linux

Skupina za slovenjenje pri Društvu slovenskih uporabnikov Linuxa se trudi s prevajanjem najpotrebnejše dokumentacije projekta LDP. V ta projekt se uvršča tudi prevod knjige, ki je pred vami.

Bralcem, ki jih zanima slovenska beseda o Linuxu, priporočamo obisk spletne strani s prevodi spisov HOWTO in FAQ, najdete jo na http://www.lugos.si/delo/slo/ HOWTO-sl/. Tamkajšnja dokumentacija je namenjena pregledu na zvezi. Če jo želite natisniti, je v formatih Postscript, PDF in DVI dostopna tudi na ftp://ftp.lugos.si/pub/ lugos/doc/HOWTO-sl/.

Med spisi HOWTO bo slovenske bralce posebej zanimal avtohtoni spis Slovenian HOWTO Primoža Peterlina. Ta sestavek se ukvarja s prilagoditvijo Linuxa slovenskemu uporabniku in je že od leta 1996 del uradnega svetovnega projekta LDP. Vključuje podrobna navodila o tem, kako pripraviti Linux in posamezne programe do tega, da bodo sprejemali, izpisovali in tiskali slovenske črke, ter splošne nadaljnje kazalce. Najnovejša različica v slovenščini je dostopna z avtorjeve spletne strani http://sizif.mf.uni-lj. si/linux/cee/Slovenian-HOWTO.html, ker pa je Slovenian HOWTO del LDP, ste ga zelo verjetno prejeli tudi poleg svoje distribucije Linuxa.

Knjige in druga izdana dela

Linux Journal je mesečna revija za in o skupnosti Linuxa, ki jo piše mnogo razvijalcev in navdušencev nad Linuxom. Razširja se po celem svetu in je odličen način, da ste na tekočem z dinamiko sveta Linuxa, posebej če nimate dostopa do novičarskih skupin Useneta.

V času nastanka te knjige znaša naročnina na mesečnik Linux Journal v Združenih državah Amerike US$22/leto, v Kanadi US$27, povsod drugje pa US$37. Za naročnino ali več informacij pišite na naslov Linux Journal, PO Box 55549, Seattle, WA, 98155-0549, USA, ali pokličite +1 206 782-7733, v Severni Ameriki obstaja tudi brezplačna linija 1-888-66-LINUX. Številka njihovega faksa je +1 206 782-7191 in e-poštni naslov je linux@ ssc.com. Najdete lahko tudi pogosto zastavljena vprašanja o Linux Journal in vzorčne članke, dostopne po anonimnem FTP-ju s strežnika metalab.unc.edu iz imenika /pub/ Linux/docs/linux-journal.

Kot smo že rekli, posebej za Linux je izdano le malo knjig. Vendar če ste novi v svetu Unixa ali želite več informacij, kot jih je predstavljenih tukaj, vam priporočamo, da si ogledate naslednje knjige.

Naslovi knjig za Linux

Naslov: The Complete Linux Kit Avtor: Stefan Strobel, Rainer Maurer, Stefan Middendorf, Volker Elling Založnik: Springer Verlag, 1997 ISBN: 0387142371, $59,95

Opis založnika: To knjigo v dveh delih in s štirimi CD-ROM-i sestavljata knjigi Linux Universe: Installation and Configuration in Linux: Unleashing the Workstation in Your PC. Prva je knjiga s paketom CD-ROM-ov, ki vključuje tudi popolnoma namestljivo različico Linuxa 2.0 in podrobni namestitveni vodnik za to različico. Druga je podrobni vodnik namestitve in upravljanja sistema Linux skupaj z mnogo orodji in aplikacijami za Linux.

Naslov: Linux: Installation, Configuration, and Use Avtor: Michael Kofler Založnik: Addison-Wesley, 1997 ISBN: 0201178095, $34,95

Opis založnika: Izčrpen in praktičen vodnik. Ta knjiga pokriva namestitev, nastavitev in uporabo Linuxa. Michael Kofler popelje bralca skozi namestitev do preprostega upravljanja in uporabe urejevalnika Emacs, stavljenja s stavnim sistemom L^{A}TEX in programskega jezika Tcl/Tk. CD-ROM vsebuje distribucijo RedHat Linux 4.1 in popolno izvorno kodo jedra za različici 2.0.29 in 2.1.28.

Naslov: Linux: Configuration and Installation (3rd Edition) Avtor: Patrick Volkerding Založnik: IDG Books, 1997 ISBN: 1558285660, $39,95

Povzetek: Naš paket z dvema CD-ROM-oma ponuja eno od najpriljubljenejših distribucij, Slackware 96, in prihaja neposredno od Patricka Volkerdinga, očeta distribucije Slackware. Oskrbi vas z nedokumentiranimi nasveti in tehnikami za vzpostavitev, uporabo in optimalizacijo vašega sistema Linux.

Naslov: Linux in Plain English Avtor: Patrick Volkerding, Kevin Reichard Založnik: IDG Books, 1997 ISBN: 1558285423, $19,95

Vključuje podroben seznam vseh ukazov Linuxa, pokriva ukazni nabor GNU in ukazno lupino Bash za Linux, rokovanje z datotekami, urejanje besedila, tiskanje, Internet, FTP in upravljanje sistema.

Naslov: Linux for Dummies (1st Ed) Avtor: Craig Witherspoon, Coletta Witherspoon Založnik: IDG Books, 1998 ISBN: 0764502751, $24,99

Knjiga o Linuxu za začetnika.

Naslov: Linux for Dummies Quick Reference Avtor: Phil Hughes Založnik: IDG Books, 1998 ISBN: 0764503022, $14,99

Opis založnika: Ta »Hitra referenca« je priročen vodnik za najbolj uporabljane ukaze in opravila Linuxa, obravnava predvsem priljubljene urejevalnike besedil, vmesnike za Windows in vrste Linuxa. Knjiga obravnava ukaze ukazne lupine, osnovne ukaze lupinskih skriptov in pogoste omrežne in upravljalne ukaze.

Naslov: Discover Linux (1st Ed) Avtor: Steve Oualline Založnik: IDG Books, 1997 ISBN: 0764531050, $24,99

Opis založnika: Uporabniki, ki poznajo Unix in se želijo naučiti in uporabljati Linux, bodo v tej knjigi našli, kar morajo vedeti. Različne vrste občinstva vključujejo programerje, omrežne upravnike, ljudi, ki potrebujejo preprosto povezavo v Internet/svetovni splet, uporabnike, ki potrebujejo varne stroje za požarni zid in igralce iger. CD-ROM vključuje priljubljeno in distribucijo RedHat Linux 4.1, ki jo je enostavno namestiti.

Naslov: Complete Red Hat Linux Resource Kit C/Dos/Us Avtor: Collective Work Založnik: Macmillan Digital, 1997 ISBN: 0672310570, $64,99

Opis založnika: Spremenite vaš osebni računalnik v zmogljivo delovno postajo Unix! Red Hat Linux je najbolj vroča izvedba operacijskega sistema Linux. Ta zbirka vključuje zadnjo različico programja, vključno z vsem, kar potrebujete za tek priljubljenega 32-bitnega operacijskega sistema Unix. Njene odlike so preprosta namestitev kateregakoli sistema Linux, več kot 180 programov za Linux in upravljalnik paketov RPM, ki dovoljuje popravke novih različic brez ponovne namestitve sistema. Prihaja s spletnim strežnikom Apache, igrami in 250-stranskim uporabniškim vodnikom.

Naslov: Running Linux (2nd Edition) Avtor: Matt Welsh, Lar Kaufman Založnik: O’Reilly and Associates, 1996 ISBN: 1565921518, $29,95

Opis založnika: Druga izdaja knjige Running Linux pokriva vse, kar morate razumeti in namestiti, da začnete uporabljati operacijski sistem Linux. Vključuje izčrpen namestitveni vodnik, popolne informacije o vzdrževanju sistema, orodja za razvoj dokumentacije in programiranje.

Naslov: The No B. S. Guide to Linux Avtor: Bob Rankin Založnik: No Starch Press, 1997 ISBN: 1886411042, $34,95

Opis založnika: Ta vodnik ponuja vse informacije, ki jih potrebujejo novi uporabniki, ne da bi jih zakopal v učne ure zgodovine in tehnične podrobnosti. Oblika vprašanj-in-odgovorov tega vodnika omogoča bralcu, da odpravi težave, odkrije trike in bližnjice opravilne vrstice in napravi prehod na novi sistem tako gladek, kot je le mogoče.

Naslov: Linux Start-Up Guide : A Self-Contained Introduction Avtor: Fred Hantelmann, A. Faber (prevajalec) Založnik: Springer Verlag, 1997 ISBN: 354062676X, $28,00

Opis založnika: Ta sistematični pregled za začetnike, upravljalce sistema in nove uporabnike Linuxa daje popolne podrobnosti zgradbe operacijskega sistema, osnovnih ukazov Linuxa in tipičnih razvojnih paketov ter aplikacij.

Uporaba Unixa

Naslov: Learning the UNIX Operating System Avtor: Grace Todino & John Strang Založnik: O’Reilly and Associates, 1987 ISBN: 0-937175-16-1, $9,00

Dobra uvodna knjiga za učenje operacijskega sistema Unix. Večina tukajšnjih informacij bi morala biti uporabna tudi za Linux. Priporočam branje te knjige, če ste novinka ali novinec v Unixu in zares želite začeti uporabljati vaš novi sistem.

Naslov: Learning the vi Editor Avtor: Linda Lamb Založnik: O’Reilly and Associates, 1990 ISBN: 0-937175-67-6, $21,95

To je knjiga o urejevalniku vi, zmogljivem urejevalniku besedila, ki ga najdete na vsakem sistemu Unix na svetu. Pogosto je pomembno, da znate in ste sposobni uporabljati vi, saj ne boste vedno imeli dostopa do »pravega« urejevalnika, kot je Emacs.

Naslov: VI Tutorial Avtor: Belinda Frazier Založnik: Specialized Systems Consultants ISBN: 0-916151-54-9, $6,00

Ta učbenik ponuja razlago primerov ukazov urejevalnika vi. Usmerjen je na začetne in vmesne uporabnike vi-ja, čeprav tudi dolgoletni uporabniki vi-ja poročajo, da so se iz te knjige naučili kaj novega.

Naslov: Bourne Shell Tutorial Avtor: Phil Hughes Založnik: Specialized Systems Consultants ISBN: 0-916151-39-5, $6,00

Ta vodnik razlaga mnoge zmožnosti standardne ukazne lupine sistemov UNIX System V, navadno imenovane »Bournova lupina« (angl. Bourne Shell). Vključuje štiristranski vodnik po ukazih, vgrajenih v ukazno lupino, in tristranski povzetek nekaterih najpogosteje uporabljanih ukazov Unixa.

Upravljanje sistema

Naslov: Essential System Administration Avtor: Æleen Frisch Založnik: O’Reilly and Associates, 1991 ISBN: 0-937175-80-3, $29,95

Iz kataloga založbe O’Reilly and Associates: »Kot vsi drugi večuporabniški sistemi tudi Unix potrebuje nekaj nege in hranjenja. Essential System Administration vam pove, kako. Ta knjiga odpravi mit in zmedo, ki je obdajala to pomembno temo, in ponuja kompakten in razumljiv uvod v opravila, s katerimi se sooča vsakdo, ki je odgovoren za sistem Unix.« Sam ne bi mogel povedati bolje.

Naslov: Samba: Integrating UNIX and Windows Avtor: John D. Blair Založnik: Specialized Systems Consultants ISBN: 1-57831-006-7, $29,95

Samba je izbrano orodje za delitev datotek in tiskalniških opravil med Windows ter Unixom in Unixu podobnimi sistemi. Samba je prosto dostopna pod licenco GNU Public License in omogoča strojem Unix, da so brezšivno integrirani v omrežje Windows, ne da bi bilo potrebno na stroje z Windows namestiti dodatno programje. Samba v povezavi z Linuxom ali FreeBSD-jem ponuja poceni alternativo sistemu Windows NT Server.

Naslov: TCP/IP Network Administration Avtor: Craig Hunt Založnik: O’Reilly and Associates, 1990 ISBN: 0-937175-82-X, $24,95

Popoln vodnik nastavljanja in poganjanja omrežja TCP/IP. Medtem ko ta knjiga ni specifična za Linux, je okoli 90% njene vsebine uporabne tudi v Linuxu. Skupaj s spisom Linux NET-2-HOWTO in knjigo Linux Network Administrator’s Guide je to odlična knjiga, ki razlaga principe in tehnične podrobnosti upravljanja TCP/IP.

Naslov: Managing UUCP and Usenet Avtor: Tim O’Reilly, Grace Todino Založnik: O’Reilly and Associates, 1991 ISBN: 0-937175-93-5, $24,95

Ta knjiga obravnava namestitev in nastavitev omrežnega programja za UUCP, vključno z nastavitvijo novičarskih skupin Useneta. Če vas uporaba protokola UUCP ali dostop do novičarskih skupin Useneta zanimata, predstavlja ta knjiga obvezno čtivo.

Sistem X Window

Naslov: The X Window System: A User’s Guide Avtor: Niall Mansfield Založnik: Addison-Wesley ISBN: 0-201-51341-2, ??

Popoln učbenik in referenčni vodnik za uporabo sistema X Window. Če ste namestili X Window na vašem sistemu Linux in želite izvedeti, kako iztisniti iz njega čim več, morate prebrati to knjigo. Za razliko od nekaterih drugih okenskih sistemov večina odlik, ki jih ponuja X, ni očitna na prvi pogled.

Programiranje

Naslov: The C Programming Language Avtor: Brian Kernighan, Dennis Ritchie Založnik: Prentice-Hall, 1988 ISBN: 0-13-110362-8, $25,00

Ta knjiga je obvezna za vsakogar, ki želi v C-ju programirati na sistemu Unix. (Pravzaprav na kateremkoli sistemu.) Medtem ko ta knjiga ni opazno specifična za Unix, je precej uporabna za programiranje v C-ju pod Unixom. Obstaja tudi slovenski prevod prve izdaje (ta opisuje K&R C, ne pa ANSI C), ki ga je založila Fakulteta za elektrotehniko in računalništvo v Ljubljani.

Naslov: The Unix Programming Environment Avtor: Brian Kernighan and Bob Pike Založnik: Prentice-Hall, 1984 ISBN: 0-13-937681-X, $40,00

Pregled programiranja pod sistemom Unix. Pokriva vsa orodja te obrti; dobro branje, da se seznanite z nekam brezobličnim svetom programiranja pod Unixom.

Naslov: Advanced Programming in the UNIX Environment Avtor: W. Richard Stevens Založnik: Addison-Wesley ISBN: 0-201-56317-7, $50,00

Ta mogočna knjiga vsebuje vse, kar morate vedeti za programiranje v Unixu na sistemskem nivoju – datotečni V/I, nadzor procesov, medprocesna komunikacija, signali, terminalski V/I, opravila. Ta knjiga se osredotoča na različne standardne Unixa, vključno s standardom POSIX.1, ki ga Linux večinoma upošteva.

Hekanje jedra

Naslov: Inside Linux: A Look at Operating System Development Avtor: Randolph Bentson Založnik: Specialized Systems Consultants ISBN: 0-916151-89-1, $22,00

Ta knjiga ponuja neformalni uvod v številne teme, povezane z operacijskim sistemom, tako da obdela zgodovino operacijskih sistemov, njihovo uporabo, in obravnava podrobnosti enega operacijskega sistema. Vsebina je načrtno zasnovana tako, da prepleta razprave o zgodovini s teorijo in prakso, da lahko bralec vidi, kaj se dogaja znotraj sistema.

Naslov: The Design of the UNIX Operating System Avtor: Maurice J. Bach Založnik: Prentice-Hall, 1986 ISBN: 0-13-201799-7, $70,00

Ta knjiga pokriva algoritme in notranje zadeve jedra operacijskih sistemov Unix. Ni specifična za nobeno določeno jedro, čeprav se nagiba proti System V. Predstavlja najboljše izhodišče, če želite razumeti notranji utrip sistema Linux.

Naslov: The Magic Garden Explained Avtor: Berny Goodheart and James Cox Založnik: Prentice-Hall, 1994 ISBN: 0-13-098138-9, $53,00

Ta knjiga podrobno opisuje jedro System V R4. Za razliko od Bachove knjige, ki se močno osredotoča na algoritme, ki omogočajo delovanje jedra, ta predstavlja izvedbo SVR4 na bolj tehničnem nivoju. Čeprav sta si Linux in SVR4 v daljnem sorodstvu, ta knjiga daje dober vpogled v delovanje prave izvedbe jedra sistema Unix. To je tudi zelo sodobna knjiga o jedru Unixa – izdana je leta 1994.

Naslov: Linux Kernel Internals Avtor: Michael Beck Založnik: Addison-Wesley, 1997 ISBN: 0201331438, $41,95

Pogled na izvorno kodo in tehnične podrobnosti jedra Linuxa.

Knjige v slovenščini

Slovenskih knjig o Unixu, kaj šele o Linuxu, je tako malo, da lahko tukaj naštejemo vse. Eno pravkar berete, druge pa bomo kar našteli. Spodnji seznam ne vključuje nobene selekcije in samo upajmo, da ni popoln.

Naslov: Naučite se sami Linux v 24-ih urah Avtor: Bill Ball, Andrej Grauf (prevajalec) Založnik: Desk, Izola, 1998 ISBN: 961-60002-67-8, 5000 tolarjev

Prevod knjige Teach yourself Linux in 24 hours. Opis založnika: Knjiga Naučite se sami Linux v 24-ih urah vam bo pomagala pri delu z Red Hat Linuxom. Ta opravilno orientiran vodič vas korak za korakom popelje skozi svet Red Hat Linux-a in vam pomaga, da hitro postanete produktiven Linux uporabnik. Naučite se namestiti in nastaviti vaš sistem Linux. Odkrijte, kako uporabljati ukaze, urejevati in tiskati tekst ter voditi uporabnike in skupine na vašem sistemu. Ta knjiga vsebuje vse osnove operacijskega sistema Linux od namestitve do upravljanja sistema v samo 24-ih kratkih lekcijah. Kot dodatek sta knjigi priložena dva CD-ROM-a s popolnoma funkcionalnima kopijama Red Hat Linux 5.1 in Caldera Open Linux Lite 1.3.

Naslov: Unix, Izbrana poglavja Avtor: Egon Zakrajšek Založnik: Fakulteta za matematiko in fiziko, Ljubljana, 1998 ISBN: –, dostopna v elektronski obliki

Knjiga na 110 straneh, dostopna v elektronskih oblikah DVI in PostScript z avtorjeve domače strani http://valjhun.fmf.uni-lj.si/~egon/.

Opis avtorja: Ta učbenik pokriva elemente operacijskega sistema Unix. V poglavju 1 obravnavamo elemente prijavljanja sistemu in rudimentarno upravljanje sistema, kolikor naj bi ga vsakdo poznal. V poglavju 2 obravnavamo urejevalnik vim, ki je izboljšana verzija standardnega urejevalnika vi. Tretje poglavje je zelo obsežen pregled Kornove lupine. Lupina je program, s katerim uporabniki komunicirajo, da bi uporabljali računalnik. Poglavje 4 obravnava knjižnice tekstovnih datotek. Poglavje 5 se ukvarja z avtomatiziranjem prevajanja programov in podobnih poslov, poglavje 6 pa govori o računalniških mrežah in o medmrežju. V poglavju 7 je govora o orodjih, ki jih potrebujemo za programiranje v programskem jeziku C.

Naslov: Sistem UNIX Avtor: Saša Divjak Založnik: Fakulteta za elektrotehniko in računalništvo, Ljubljana, 1990 ISBN: ??, ??

Priročnik za uporabo Unixa na 52 straneh.

Opis avtorja: To gradivo naj bi bilo zgoščen pripomoček za uporabnike operacijskega sistema UNIX, pri čemer so nujno opuščene številne podrobnosti v obširni dokumentaciji, ki sodi v opremo računalnika s tem operacijskim sistemom. Tako je za UNIX značilna cela vrsta usložnostnih programov (utilities), ki jih povprečen uporabnik morda nikoli ne bo uporabil. Po zgledu nekaterih knjig se tudi v tem gradivu omejujemo na osnovna orodja. Za boljše razumevanje so v gradivu podani tudi osnovni koncepti sistema UNIX.

Naslov: UNIX, 2. dopolnjena izdaja Avtor: Saša Divjak Založnik: Fakulteta za elektrotehniko in računalništvo, Ljubljana, 1994 ISBN: 86-7739-064-2, ??

Priročnik za uporabo Unixa na 92 straneh.

Opis avtorja: To gradivo naj bi bilo zgoščen pripomoček za uporabnike operacijskega sistema Unix, pri čemer so nujno opuščene številne podrobnosti, ki jih zasledimo v obširni dokumentaciji, ki sodi v opremo računalnika s tem operacijskim sistemom. Za boljše razumevanje so v gradivu podani tudi osnovni koncepti sistema Unix.

Prvi del knjige bralca takoj pouči z osnovnimi značilnostmi sistema Unix in ga seznani z osnovnimi ukazi, ki že omogočajo uporabo sistema. Konceptualno je opisan datotečni sistem. Pomensko so zbrani in našteti glavni ukazi za rokovanje z datotekami. Posebej je opisan urejevalnik vi, ki sodi v standardno programsko opremo sistema Unix.

V nadaljevanju so po abecedi nanizani in opisani vsi standardni ukazi oziroma orodja, potrebna za interaktivno delo. Uporabo posameznih ukazov ilustrirajo konkretni primeri.

Sledijo poglavja, namenjena bolj zahtevnim uporabnikom. Bralec se seznani s pisanjem ukaznih datotek, ki pri Unix lahko predstavljajo že prave programe.

Programerji malo bolj zahtevnih programov v jeziku C morajo tudi poznati interakcijo teh programov z operacijskim sistemom. V naslednjih poglavjih se zato seznanijo z ozadjem operacijskega sistema in z osnovnimi sistemskimi klici.

Knjigo zaključuje poglavje, ki predstavlja uvod v takoimenovano administracijo operacijskega sistema. Pod tem pojmom se skrivajo naloge sistemskega operaterja oziroma skrbnika računalniškega sistema.

Naslov: ANSI C Avtor: Egon Zakrajšek Založnik: Fakulteta za matematiko in fiziko, Ljubljana, 1998 ISBN: –, dostopna v elektronski obliki

Učbenik jezika ANSI C na 320 straneh. V oblikah PostScript in DVI je dostopna z domače strani prof. dr. Zakrajška na naslovu http://valjhun. fmf.uni-lj.si/~egon/.

Opis avtorja: Knjiga opisuje jezik C, kot ga določa ANSI standard. ANSI C je kot jezik podoben prejšnji verziji jezika (Kernighan & Ritchie C), vendar so med njima pomembne razlike.

V poglavju Prvi koraki je razložen skoraj ves C, vsekakor pa dovolj, da ga bralec lahko začne uporabljati. Preostala poglavja, Tipi, operatorji in izrazi, Kontrolni stavki, Funkcije in struktura programov, Kazalci in večkratne vrednosti, Strukture in Branje in pisanje podrobneje obdelajo snov, navedeno v naslovu poglavja.

Poglavje Sistemske funkcije je davek operacijskemu sistemu Unix in pove, kako lahko napišemo funkcije, ki jih uporabljajo standardne knjižnice. To je edino poglavje, ki je tesneje naslonjeno na operacijski sistem Unix. Preostala poglavja se sklicujejo na Unix samo v toliko, da je občasno pod črto rečeno, da pod Unixom glej, na primer, man atoi, za opis standardne funkcije atoi.

V nadaljevanju je obsežen dodatek Programi, kjer so navedeni teksti programov, ki jih opisujemo. Ti teksti so v posebnem dodatku zato, da kontunuiteta razlage ne bi trpela. Vrh vsega so ti programi na voljo kot anonimen FTP. Dodatek Referenčni priročnik podaja kompakten povzetek celega jezika. V primeru dvoumnosti je Referenčni priročnik dokončni razsodnik.

Podoben dodatek je Standardna knjižnica, kjer so naštete vse standardne funkcije, ki jih mora podpirati vsaka izvedba jezika ANSI C.

Naslov: Programski jezik "C" Avtor: Brian Kernighan, Dennis Ritchie Založnik: Fakulteta za elektrotehniko in računalništvo, Ljubljana, 1990 ISBN: ??, ??

Prevod prve izdaje iz 1978 (čeprav izdan, ko je že obstajala druga izdaja) knjige The C Programming Language (glejte stran 243) na 240 straneh. Opisuje jezik K&R C, ne pa ANSI C kot druga izdaja izvirnika iz 1988.

Dodatek B

Učbenik FTP-ja in seznam strežnikov

Protokol za prenos datotek FTP (angl. File Transfer Protocol) je način komunikacije, ki ga uporabljajo programi za prenos datotek med sistemi na Internetu. Večina sistemov Unix, VMS in MS-DOS na Internetu ima program, imenovan ftp, ki ga lahko uporabljate za prenos datotek, in če imate dostop do Interneta, je najboljši način za jemanje programja za Linux z uporabo ftp. Ta dodatek pokriva osnovno uporabo programa ftp – seveda obstaja dosti več funkcij in uporab ftp-ja, kot jih je podanih tukaj.

Na koncu tega dodatka boste našli seznam strežnikov za FTP, kjer lahko najdete programje za Linux. Tudi če nimate neposrednega dostopa do Interneta, lahko pa izmenjujete internetno elektronsko pošto, so vključene informacije o uporabi storitve ftpmail, ki vam omogoča prenos datotek po e-pošti.

Če za jemanje datotek z Interneta uporabljate sistem MS-DOS, Unix ali VMS, je ftp ukazno usmerjen program. Vendar obstajajo tudi druge izvedbe ftp-ja, kot je različica za Macintosh (imenovana Fetch) z všečnim menujskim vmesnikom, ki je precej intuitiven. Tudi če ne uporabljate ukazno usmerjene različice ftp-ja, vam lahko tukajšnje informacije pomagajo.

Program ftp se lahko uporablja za pošiljanje ali jemanje datotek z drugim internetnih strežnikov. V večini situacij boste jemali programje. Na Internetu obstajajo številni javno dostopni arhivni strežniki za FTP, stroji, ki dovoljujejo, da se s ftp nanje prijavi kdorkoli in jemlje prosto programje. Eden od takšnih arhivov je metalab.unc.edu, ki deluje kot eno od glavnih tovrstnih mest za Linux. Poleg tega nekateri strežniki za FTP zrcalijo (angl. mirror) programje drug z drugega – se pravi, da se programje, poslano na en strežnik, samodejno prepiše na številna druga mesta. Zato ne bodite presenečeni, če boste videli natanko enake datoteke na različnih arhivnih mestih.

Zagon ftp-ja

Opazili boste, da v vzorčnih »zaslonih«, izpisanih spodaj, prikazujemo le najpomembnejše informacije in da se bo tisto, kar boste videli vi, morda razlikovalo. Ukazi v kurzivi ponazarjajo ukaze, ki jih vpisujete vi, vse ostalo je zaslonski izhod.

Za klic programa ftp in povezavo na strežnik preprosto uporabite ukaz

$ ftp gostiteljsko-ime

kjer je gostiteljsko-ime ime strežnika, s katerim se povezujete. Na primer, za povezavo na mitsko mesto shoop.vpizza.com lahko uporabimo ukaz

     $ ftp shoop.vpizza.com

Prijavljanje na strežnik

Ko se ftp požene, bi morali videti nekaj takega:

Connected to shoop.vpizza.com.

220 Shoop.vpizza.com FTPD ready at 15 Dec 1992 08:20:42 EDT Name (shoop.vpizza.com:mdw):

Tukaj nas ftp prosi za vpis uporabniškega imena, s katerim se želimo prijaviti na shoop.vpizza.com. Tukaj je privzeto ime mdw, ki je moje uporabniško ime na sistemu, na katerem poganjam FTP. Ker nimam računa na stroju shoop.vpizza.com, se ne morem prijaviti nanj pod svojim imenom. Namesto tega se za dostop do javno dostopnega programja na strežniku FTP prijavite kot anonymous in kot geslo vpišete vaš internetni e-poštni naslov (če ga imate). Torej bi lahko napisali

Name (shoop.vpizza.com:mdw): anonymous

331-Guest login ok, send e-mail address as password.

     Password: mdw@metalab.unc.edu

230- Welcome to shoop.vpizza.com.

230- Virtual Pizza Delivery[tm]: Download pizza in

230- 30 cycles or less or you get it FREE!

ftp>

Seveda bi vi morali podati svoj e-poštni naslov namesto mojega in ta se ne bo videl na zaslonu, ko ga boste vpisovali (saj je to, teoretično gledano, »geslo«). Program ftp bi nam moral omogočiti prijavo in pripravljeni bomo za prenos programja.

Brskanje naokoli

Prav, zdaj smo notri. Naš pozornik je »ftp>« in program ftp čaka na naše ukaze. Obstaja nekaj osnovnih ukazov, ki jih morate poznati. Najprej, ukaza

ftp> ls datoteka

in

ftp> dir datoteka

izpišeta seznam datotek (kjer je datoteka izbirni argument, ki določa izpis le določenih imen datotek). Razlika je v tem, da je običajno izpis ls skop in dir podrobnejši (se pravi, z informacijami o velikosti datotek, datumih sprememb in tako naprej).

Z ukazom

ftp> cd imenik

Učbenik FTP-ja in seznam strežnikov 251

se premaknete v podani imenik (prav tako kot z ukazom cd na sistemih Unix ali MS-DOS). Uporabite lahko tudi ukaz

ftp> cdup

s katerim se premaknete v višji imenik^{1}.

Ukaz

ftp> help ukaz

vam dá pomoč danega ukaza ukaz, vgrajenega v program ftp (kot sta ls ali cd). Če ne določite nobenega ukaza, bo ftp-jev ukaz help izpisal seznam vseh dostopnih ukazov.

Če na tej točki napišemo dir, bomo videli uvodni izpis podimenikov imenika, kjer smo.

ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 1337

dr-xr-xr-x 2 root  wheel  512 Aug 13 13:55 bin
drwxr-xr-x 2 root  wheel  512 Aug 13 13:58 dev
drwxr-xr-x 2 root  wheel  512 Jan 25 17:35 etc
drwxr-xr-x 19 root  wheel  1024 Jan 27 21:39 pub
drwxrwx-wx 4 root  ftp-admi  1024 Feb 6 22:10 uploads
drwxr-xr-x 3 root  wheel  512 Mar 11 1992 usr

226 Transfer complete. 921 bytes received in 0.24 seconds (3.7 Kbytes/s) ftp>

Vsak od teh vnosov je imenik, ne posamezna datoteka, ki bi jo lahko prenesli (to nam pove znak d v prvem stolpcu izpisa). Na večini strežnikov FTP najdete javno dostopno programje pod imenikom /pub, zato se premaknimo tja.

ftp> cd pub

ftp> dir 200 PORT command successful. 150 ASCII data connection for /bin/ls (128.84.181.1,4525) (0 bytes). total 846

-rw-r--r-- 1 root  staff  1433 Jul 12 1988 README
-r--r--r-- 1 3807  staff  15586 May 13 1991 US-DOMAIN.TXT.2
-rw-r--r-- 1 539  staff  52664 Feb 20 1991 altenergy.avail
-r--r--r-- 1 65534  65534  56456 Dec 17 1990 ataxx.tar.Z
-rw-r--r-- 1 root  other  2013041 Jul 3 1991 gesyps.tar.Z
-rw-r--r-- 1 432  staff  41831 Jan 30 1989 gnexe.arc
-rw-rw-rw- 1 615  staff  50315 Apr 16 1992 linpack.tar.Z
-r--r--r-- 1 root  wheel  12168 Dec 25 1990 localtime.o
-rw-r--r-- 1 root  staff  7035 Aug 27 1986 manualslist.tblms
drwxr-xr-x 2 2195  staff  512 Mar 10 00:48 mdw
-rw-r--r-- 1 root  staff  5593 Jul 19 1988 t.out.h

1Imenik nad trenutnim, podobno kot s cd .. v Unixu.

226 ASCII Transfer complete. 2443 bytes received in 0.35 seconds (6.8 Kbytes/s) ftp>

Tukaj lahko vidimo seznam (zanimivih?) datotek, ena od njih se imenuje README in bi jo morali prenesti (večina strežnikov FTP ima datoteko README v imeniku /pub).

Jemanje datotek

Pred jemanjem (angl. downloading) datotek je nekaj stvari, za katere morate poskrbeti.

• Vključite izpisovanje višajev. Znaki za višaj (angl. hash marks) se izpisujejo na zaslonu med prenosom datotek; sporočajo vam, kako hitro napreduje prenos in ali vaša povezava ni morebiti padla (da ne čakate 20 minut in mislite, da še vedno prenašate datoteko). V splošnem se v ta namen izpisujejo znaki za višaj (#), eden na vsakih 1024 ali 8192 bajtov, odvisno od vašega sistema. Med načinom z izpisom višajev in nemim načinom preklapljamo z ukazom hash.

     ftp> hash

Hash mark printing on (8192 bytes/hash mark). ftp>

• Ugotovite tip datoteke, ki jo prenašate. Kar se tiče FTP-ja, obstajajo datoteke dveh vrst: binarne in tekstovne. Večina datotek, ki jih boste prenašali, je binarnih: to so programi, stisnjene datoteke, arhivne datoteke in tako naprej. Vendar so mnoge datoteke (kot datoteke README, slov. BERI_ME, ipd.) tekstovne. Zakaj je pomemben tip datoteke? Le zato, ker se morajo na nekaterih sistemih (kot je sistem MS-DOS) določeni znaki v tekstovni datoteki, kot je znak za povratek v vrsti, pretvoriti tako, da je datoteka berljiva. Med prenosom v binarnem načinu ni nobenega pretvarjanja – datoteka se preprosto prenese bajt za bajtom. Ukaza bin in ascii nastavita način prenosa na binarnega ali tekstovnega, v tem vrstnem redu. Ko dvomite, vedno uporabljajte binarni način prenosa datotek. Če poskušate prenesti binarno datoteko v tekstovnem načinu, jo boste pokvarili in bo neuporabna. (To je ena od najpogostejših napak pri uporabi FTP-ja.) Vendar lahko uporabljate tekstovni način za datoteke z navadnim besedilom (njihova imena se pogosto končujejo s .txt). V našem primeru prenašamo datoteko README, ki je najverjetneje tekstovna, zato uporabimo ukaz

     ftp> ascii

200 Type set to A.

ftp>

• Nastavite vaš lokalni imenik. Vaš lokalni imenik je imenik na vašem sistemu, kjer želite, da končajo vzete datoteke. Medtem ko ukaz cd spremeni oddaljeni imenik (na oddaljenem stroju, s katerega FTP-jate), ukaz lcd spremeni lokalni imenik. Na primer, za nastavitev lokalnega imenika na /home/db/mdw/tmp, uporabite ukaz

          ftp> lcd /home/db/mdw/tmp

Local directory now /home/db/mdw/tmp ftp>

Zdaj ste pripravljeni na jemanje datoteke. Za to se uporablja ukaz

get oddaljeno-ime lokalno-ime

kjer je oddaljeno-ime ime datoteke na oddaljenem stroju in lokalno-ime ime, ki ga želite dati datoteki na vašem lokalnem stroju. Argument lokalno-ime je izbiren; privzeto se za lokalno ime datoteke vzame enako ime, kot je oddaljeno. Vendar če na primer jemljete datoteko README, v vašem lokalnem imeniku pa že imate datoteko z imenom README, jo boste želeli preimenovati v kakšno drugo lokalno-ime, tako da obstoječa ne bo prepisana z novo.

V našem primeru za jemanje datoteke README preprosto uporabimo:

     ftp> get README

200 PORT command successful.

150 ASCII data connection for README (128.84.181.1,4527) (1433 bytes). # 226 ASCII Transfer complete. local: README remote: README 1493 bytes received in 0.03 seconds (49 Kbytes/s) ftp>

Končevanje FTP

Za konec vaše seje FTP uporabite ukaz

     ftp> quit

Ukaz zapusti program ftp. Za konec trenutne povezave z oddaljenim strežnikom FTP lahko uporabite ukaz

     ftp> close

potem lahko uporabite ukaz open za začetek seje z drugim strežnikom (ne da bi zapustili program FTP).

     ftp> close

221 Goodbye.

     ftp> quit

Uporaba storitve ftpmail

Storitev ftpmail omogoča pridobitev datotek z arhivov FTP po internetni elektronski pošti. Če nimate neposrednega dostopa do Interneta, a lahko izmenjujete pošto na Internet (z uporabo storitve, kot je CompuServe, na primer), je ftpmail dober način, da dobite datoteke z arhivnih mest za FTP. Žal je storitev ftpmail lahko počasna, posebej kadar zahtevate velike datoteke. Pred poskusom prenašanja velikih količin programja preko storitve

ime strežnika  naslov IP  imenik
tsx-11.mit.edu  18.86.0.44  /pub/linux
metalab.unc.edu  152.19.254.81  /pub/Linux
nic.funet.fi  128.214.248.6  /pub/Linux
ftp.mcc.ac.uk  130.88.203.12  /pub/linux
ftp.informatik.rwth-aachen.de  137.226.116.98  /pub/Linux
ftp.ibp.fr  132.227.60.2  /pub/linux
ftp.uu.net  192.48.96.9  /systems/unix/linux
wuarchive.wustl.edu  128.252.135.4  /systems/linux
ftp.win.tue.nl  131.155.70.189  /pub/linux
ftp.ibr.cs.tu-bs.de  134.169.34.15  /pub/linux
ftp.linuxberg.com  207.136.80.196  /pub

Tabela B.1: Strežniki FTP za Linux

ftpmail se prepričajte, da bo vaša čakalna vrsta za pošto zmogla obdelati ves prihajajoči promet. Mnogi sistemi uporabljajo za prihajajočo elektronsko pošto sistem kvot in lahko odstranijo vaš račun, če jo vaša pošta preseže. Uporabite zdrav razum.

Strežnik metalab.unc.edu, eden od večjih arhivnih mest za Linux, je tudi dom strežnika ftpmail. Za uporabo te storitve pošljite elektronsko pošto na

ftpmail@metalab.unc.edu

s telesom sporočila, ki vsebuje le besedo

help

To vam bo poslalo nazaj seznam ukazov za ftpmail in kratek učbenik uporabe sistema.

Na primer, za izpis seznama datotek za Linux, ki jih najdete na metalab.unc.edu, pošljite na zgornji naslov pošto, ki vsebuje naslednje besedilo:

open metalab.unc.edu cd /pub/Linux dir quit

Storitev ftpmail lahko uporabljate za priključitev na katerokoli arhivno mesto za FTP; niste omejeni le na metalab.unc.edu. Naslednji razdelek našteva številne arhive FTP za Linux.

Seznam strežnikov FTP za Linux

Tabela na strani 254 je seznam najbolj znanih strežnikov FTP z arhivi programja za Linux. Zavedajte se, da jih zrcalijo mnogi drugi strežniki, in zelo verjetno boste trčili ob Linux na številnih strežnikih, ki niso na tem seznamu.

tsx-11.mit.edu, metalab.unc.edu in nic.funet.fi so »domače mesto« za programsko opremov za Linux, kjer se odloži večina novega programja. Večina od drugih mest na seznamu zrcali nekakšno kombinacijo teh treh. Izberite arhivno mesto, ki vam je zemljepisno najbližje, da boste zmanjšali promet po omrežju.

Učbenik FTP-ja in seznam strežnikov 255

ime strežnika  naslov IP  imenik
ftp.lugos.si  193.2.1.35  /pub/lugos
sunsite.fri.uni-lj.si  193.2.72.6  /pub/linux
ftp.arnes.si  193.2.1.72  /software/gnu/
ftp.fri.uni-lj.si  193.2.72.6  /pub/linux/
ftp.kibla.org  193.2.52.195  /pub/Linux
ftp.fpp.edu  193.2.75.40  /pub/linux
mercur.s-gms.ms.edus.si  193.2.143.2  /pub/UNIX/linux/

Tabela B.2: Slovenski arhivi za Linux

Slovenski strežniki za Linux

Tabela na strani 255 je seznam slovenskih strežnikov FTP z arhivi za Linux. Žal v Sloveniji nimamo več zrcala metalab.unc.edu, najbližje je v Avstriji.

256 Dodatek B

Dodatek C

Splošno dovoljenje GNU

This is an unofficial translation of the GNU General Public License into Slovene. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL–only the original English text of the GNU GPL does that. However, we hope that this translation will help Slovenian speakers understand the GNU GPL better.

To je neuradni prevod Splošnega dovoljenja GNU (angl. GNU General Public License) v slovenščino. Ni ga objavila ustanova Free Software Foundation in zakonsko ne določa pogojev za razširjanje programov, ki uporabljajo GNU GPL – te določa le angleški izvirnik licence GNU GPL, glejte dodatek D. Vseeno pa upamo, da bo ta prevod pomagal slovensko govorečim ljudem bolje razumeti licenco GNU GPL.

Spodaj natisnjeni slovenski prevod Splošnega dovoljenja GNU (angl. GNU General Public License, GPL, imenovan tudi copyleft), pod katerim je licenciran Linux, je vključen v to knjigo zato, da razčisti nekaj zmede o pravnem položaju Linuxa – Linux ni program na pokušino (angl. shareware) in ni v javni lasti (angl. public domain). Večino jedra operacijskega sistema Linux je pravno zaščitil \begin{matrix}c \\ ◯ \end{matrix} 1993 Linus Torvalds, drugo programje in deli jedra so pravno zaščiteni s strani avtorjev tega programja. Torej Linux je pravno zaščiten in lahko ga razširjate pod spodnjimi pogoji Splošnega dovoljenja GNU.

SPLOŠNO DOVOLJENJE GNU

Različica št. 2, junij 1991

Pravice razširjanja \begin{matrix}c \\ ◯ \end{matrix} 1989, 1991 Free Software Foundation, Temple Place – Suite 330, Boston, MA 02111-1307, USA. Vsakdo sme razmnoževati in razširjati dobesedne kopije tega licenčnega dokumenta, ni pa ga dovoljeno spreminjati.

Predgovor

Licenčne pogodbe večine programja so zasnovane tako, da vam preprečujejo njegovo svobodno razdeljevanje in spreminjanje. Za razliko od teh vam namerava Splošno dovoljenje GNU (angl. GNU General Public License, GPL) zajamčiti svobodo pri razdeljevanju in spreminjanju prostega programja ter s tem zagotoviti, da ostane programje prosto za vse njegove uporabnike. Ta GPL se nanaša na večino programske opreme ustanove Free Software Foundation in na vse druge programe, katerih avtorji so se zavezali k njeni uporabi. (Nekatero drugo programje ustanove Free Software Foundation je namesto tega pokrito s Splošnim dovoljenjem GNU za knjižnice, angl. GNU Library General Public License.) Uporabite jo lahko tudi za vaše programe.

Ko govorimo o prostem programju, imamo s tem v mislih svobodo, ne cene. Naša splošna dovoljenja GNU vam zagotavljajo, da imate pravico razširjati kopije prostega programja (in zaračunavati za to storitev, če tako želite); da dobite izvorno kodo ali jo lahko dobite, če tako želite; da lahko spreminjate programje ali uporabljate njegove dele v novih prostih programih; in da veste, da lahko počnete vse te stvari.

Zaradi zavarovanja vaših pravic moramo uvesti omejitve, ki prepovedujejo vsakomur, da bi vam te pravice kratil ali od vas zahteval predajo teh pravic. Te omejitve se preslikajo v določene odgovornosti za vas, če razširjate kopije programja ali ga spreminjate.

Na primer, če razširjate kopije takega programa, bodisi zastonj ali za plačilo, morate dati prejemnikom vse pravice, ki jih imate vi. Prepričati se morate, da bodo tudi oni prejeli ali imeli dostop do izvorne kode. In morate jim pokazati te pogoje (pravzaprav izvirnik, opomba prevajalca), da bodo poznali svoje pravice.

Vaše pravice varujemo z dvema korakoma: (1) s pravno zaščito programja in (2) ponujamo vam to licenco, ki vam daje pravno dovoljenje za razmnoževanje, razširjanje in/ali spreminjanje programja.

Zaradi zaščite vsakega avtorja in zaradi naše zaščite želimo zagotoviti, da vsakdo razume, da za to prosto programje ni nobenega jamstva. Če je programje spremenil nekdo drug in ga posredoval naprej, želimo, da njegovi prejemniki vedo, da to, kar imajo, ni izvirnik, zato da se problemi, ki jih povzročijo drugi, ne bodo odražali na ugledu izvornega avtorja.

Končno, vsakemu prostemu programu nenehno grozijo programski patenti. Želimo se izogniti nevarnosti, da bi razširjevalci prostega programa posamično dobivali patentne licence in s tem naredili program lastniški (angl. proprietary). Za preprečitev tega jasno zahtevamo, da mora biti vsak patent licenciran tako, da ga lahko vsakdo prosto uporablja, ali pa sploh ne sme biti licenciran.

Sledijo natančne določitve in pogoji za razmnoževanje, razširjanje in spreminjanje.

SPLOŠNO DOVOLJENJE GNU

DOLOČITVE IN POGOJI ZA RAZMNOŽEVANJE, RAZŠIRJANJE IN SPREMINJANJE

0. Licenca se nanaša na vsak program ali drugo delo, ki vsebuje obvestilo lastnika avtorskih pravic (angl. copyright holder) z izjavo, da se lahko distribuira pod pogoji Splošnega dovoljenja GNU (angl. General Public License). »Program« se v nadaljevanju nanaša na vsak tak program ali delo, in »delo, ki temelji na programu« pomeni bodisi program ali pa katerokoli izvedeno delo po zakonu o avtorskih pravicah (angl. copyright law): se pravi delo, ki vsebuje program ali njegov del, bodisi dobesedno ali s spremembami in/ali prevedeno v drug jezik. (Tukaj in povsod v nadaljevanju je prevod vključen brez omejitev v pojem »spremembe«.) Vsaka licenca je naslovljena na »vas«. Ta licenca ne pokriva nobenih drugih aktivnosti razen razmnoževanja, razširjanja in sprememb; ostale so izven njenega dometa. Dejanje poganjanja programa ni omejeno in izhod programa je zajet le, če njegova vsebina sestavlja delo, iz katerega je izpeljan program (ne glede na to, da je bil narejen s poganjanjem programa). Ali je to res ali ne, je odvisno od tega, kaj počne program.

1. Razmnožujete in razširjate lahko dobesedne izvode izvorne kode programa v enaki obliki, kot jo dobite, preko kateregakoli medija, če le na vsakem izvodu razločno in primerno objavite obvestilo o pravicah razširjanja in zanikanje jamstva; vsa obvestila, ki se nanašajo na to licenco in odsotnost vsakršnega jamstva pustite nedotaknjena; in daste vsem drugim prejemnikom programa poleg programa še izvod te licence. Za fizično dejanje prenosa kopije lahko zaračunavate in po vaši presoji lahko ponudite garancijsko zaščito v zameno za plačilo.

2. Spreminjati smete vaš izvod ali izvode programa ali katerikoli njegov del, in tako narediti delo, ki temelji na programu, ter razmnoževati in razširjati takšne spremembe ali dela pod pogoji zgornjega razdelka 1, če zadostite tudi vsem naslednjim pogojem:

a. Zagotoviti morate, da spremenjene datoteke nosijo vidna obvestila o tem, da

ste jih spremenili in datum vsake spremembe. b. Zagotoviti morate, da je vsako delo, ki ga razširjate ali izdajate in ki v celoti ali

deloma vsebuje program ali katerikoli njegov del ali pa je iz njega izpeljano, licencirano pod pogoji te licence kot celota brez plačila katerikoli tretji osebi.

c. Če spremenjeni program ob zagonu navadno bere ukaze interaktivno, morate zagotoviti, da se ob najbolj običajnem zagonu za takšno interaktivno uporabo izpiše ali prikaže najava, ki vključuje primerno sporočilo o pravicah razširjanja in sporočilo, da jamstvo ni zagotovljeno (ali pa sporočilo, da ponujate jamstvo) in da lahko uporabniki razširjajo program pod temi pogoji, in pove uporabniku, kako pogledati izvod te licence. (Izjema: če je sam program interaktiven, a navadno ne izpiše takšne najave, tudi za vaše delo, ki temelji na programu, ni nujno, da jo.)

Te zahteve se nanašajo na spremenjeno delo kot celoto. Če kosi tega dela, ki jih je lahko prepoznati, niso izpeljani iz programa in se jih lahko ima za neodvisna in ločena dela sama po sebi, potem ta licenca in njeni pogoji ne veljajo zanje, kadar jih razširjate ločeno. Vendar, kadar te iste kose razširjate kot del celote, ki je delo, ki temelji na programu, mora biti razširjanje celote izvedeno pod pogoji te licence, katere dovoljenja za druge licence se razširjajo na vso celoto in torej na vsak njen del, ne glede na to, kdo ga je napisal. Torej, namen tega razdelka ni, da bi zanikal ali spodbijal vaše pravice do dela, ki ste ga v celoti napisali sami; namesto tega je namen razširiti pravico do nadzora razširjanja na izpeljana ali zbrana dela, ki temeljijo na programu. Poleg tega, če gre za zgolj kopičenje drugega dela, ki ne temelji na programu, s programom (ali z delom, ki temelji na programu) na mediju za shranjevanje ali distribucijskem mediju, se licenca na to drugo delo ne nanaša.

3. Program (ali delo, ki temelji na njem, pod razdelkom 2) lahko razmnožujete in razširjate v objektni kodi ali izvedljivi obliki pod pogoji zgornjih razdelkov 1 in 2, če izpolnite tudi kaj od tega:

a. Opremite ga s popolno in ustrezno izvorno kodo v strojno berljivi obliki, ki mora biti razširjana pod pogoji zgornjih razdelkov 1 in 2 na mediju, ki se navadno uporablja za izmenjavo programja; ali, b. Opremite ga z napisano ponudbo, veljavno vsaj tri leta, da boste katerikoli tretji

osebi, za plačilo, ki ne bo presegalo vaših stroškov fizičnega izvajanja izvorne distribucije, dali popoln izvod ustrezne izvorne kode v strojno berljivi obliki, ki bo razširjana pod pogoji zgornjih razdelkov 1 in 2 na mediju, ki se običajno uporablja za izmenjavo programja; ali,

c. Opremite ga z informacijo, ki ste jo dobili vi, kot ponudbo distribucije ustrezne izvorne kode. (Ta alternativa je dovoljena le za nekomercialne distribucije in le, če ste dobili program v obliki izvorne kode ali izvedljivi obliki s takšno ponudbo, glede na podrazdelek b, zgoraj.)

Izvorna koda pri delih pomeni obliko dela, najprimernejšo za izdelavo sprememb. Pri izvedljivem delu pomeni izvorna koda vso izvorno kodo za vse module, ki jih vsebuje, poleg tega pa še morebitne datoteke z definicijami vmesnika, povezane s tem delom in skripte, uporabljane za nadzor prevajanja in namestitev izvedljive datoteke. Vendar – kot posebna izjema – ni nujno, da razširjana izvorna koda vključuje vse, kar se navadno razširja (v izvorni ali binarni obliki) z večjimi komponentami (prevajalnik, jedro, in tako naprej) operacijskega sistema, na katerem teče izvedljiva datoteka, razen če ta komponenta spremlja izvedljivo datoteko. Če se razširjanje izvedljive datoteke ali objektne kode izvede s ponujenim dostopom za prepisovanje z za to namenjenega mesta, potem ponujanje ekvivalentnega dostopa za razmnoževanje izvorne kode z istega mesta šteje kot razširjanje izvorne kode, čeprav tretje osebe niso prisiljene razmnoževati izvorne kode poleg objektne kode.

4. Ne smete razmnoževati, spreminjati, podlicencirati ali razširjati programa drugače, kot to izrecno določa pričujoča licenca. Vsak poskus siceršnjega kopiranja, spreminjanja, podlicenciranja ali razširjanja programa je ničen in bo samodejno prekinil vaše pravice pod to licenco. Vendar pa se osebam, ki so svoj izvod ali pravice dobile od vas pod to licenco, licena ne prekine, dokler se ji popolnoma podrejajo.

5. Ni vam treba sprejeti te licence, saj je niste podpisali. Vendar vam razen nje nič ne dovoljuje spreminjanja ali razširjanja programa ali iz njega izpeljanih del. Če ne sprejmete te licence, ta dejanja prepoveduje zakon. Torej, s spremembo ali razširjanjem programa (ali kateregakoli dela, ki temelji na programu), pokažete svoje strinjanje s to licenco in z vsemi njenimi določitvami in pogoji za razmnoževanje, razširjanje ali spreminjanje programa ali del, ki temeljijo na njem.

6. Vsakič, ko razširjate program (ali katerokoli delo, ki temelji na programu), prejemnik samodejno prejme licenco od izvornega izdajatelja licence (angl. original licensor) za razmnoževanje, razširjanje ali spreminjanje programa glede na ta določila in pogoje. Ne smete vsiljevati nobenih nadaljnjih omejitev izvajanja prejemnikovih pravic, podeljenih tukaj. Niste odgovorni za vsiljevanje strinjanja tretjih oseb s to licenco.

7. Če so vam, kot posledica presoje sodišča ali suma kršitve patenta ali zaradi kateregakoli drugega razloga (ne omejenega zgolj na patentna vprašanja), vsiljeni pogoji (bodisi z odlokom sodišča, sporazumom ali drugače), ki nasprotujejo pogojem te licence, vas ne odvezujejo pogojev te licence. Če programa ne morete razširjati tako, da hkrati zadostite svojim obvezam pod to licenco in katerimkoli drugim obstoječim obvezam, potem posledično sploh ne smete razširjati programa. Na primer, če patentna licenca ne dovoli razširjanja programa brez plačevanja avtorskega honorarja vseh, ki prejmejo kopije neposredno ali posredno od vas, potem je edina možna pot, da zadostite temu pogoju in tej licenci ta, da se v celoti vzdržite razširjanja programa. Če se za katerikoli del tega razdelka ugotovi, da je neveljaven ali da se ga ne da izvajati pod kateremkoli določenim pogojem, je mišljeno, da velja usmeritev tega razdelka (angl. balance of the section) in razdelek kot celota velja v drugih primerih. Namen tega razdelka ni, da bi vas napeljeval h kršitvi patentov ali drugih trditev lastništva pravic ali izpodbijal veljavnost katerihkoli takšnih trditev; edini namen tega razdelka je ščitenje integritete sistema distribucije prostega programja, ki je izveden s prakso javnih licenc. Mnogi ljudje so radodarno prispevali k širokemu naboru programja, razširjanega skozi ta sistem, v upanju na njegovo dosledno izvajanje; od avtorja/dajalca je odvisno, če je pripravljen razširjati programje skozi katerikoli drug sistem, in izdajatelj licence ne more vsiljevati te izbire. Ta razdelek namerava temeljito pojasniti, kaj so predvidene posledice nadaljevanja licence.

8. Če sta razširjanje in/ali uporaba programa omejena v določenih državah, bodisi zaradi patentov ali vmesnikov s posebno pravico razširjanja (angl. copyrighted interfaces), lahko izvorni lastnik ali lastnica pravic razširjanja, ki postavlja program pod to licenco, doda eksplicitno zemljepisno omejitev razširjanja, ki izključuje te države, tako da je razširjanje dovoljeno le v in med državami, ki niso na tak način izključene. V takem primeru ta licenca vključuje omejitve, kot da so napisane v telesu te licence.

9. Ustanova Free Software Foundation lahko od časa do časa izdaja preurejene in/ali nove različice Splošne javne licence (angl. General Public License). Nove različice bodo pisane v duhu trenutne različice, vendar se lahko razlikujejo v podrobnostih, ki bodo obdelovale nove težave ali poglede. Vsaki različici je prirejena razločevalna številka različice. Če program določa številko različice te licence, ki se nanaša na njo in »na katerekoli poznejše različice«, imate izbiro upoštevanja pogojev in določil bodisi te različice ali katerekoli poznejše različice, ki jo je izdala ustanova Free Software Foundation. Če program ne določa številke različice te licence, lahko izberete katerokoli različico, ki jo je kdajkoli izdala ustanova Free Software Foundation.

10. Če želite vključiti dele programa v druge proste programe, katerih pogoji razširjanja so drugačni, pišite avtorju in ga prosite za dovoljenje. Za programje, katerega pravice razširjanja ima Free Software Foundation, pišite na Free Software Foundation; včasih naredimo izjemo pri tem. Našo odločitev bosta vodila dva cilja: ohranitev prostega statusa vseh izvedenih del iz našega prostega programja in spodbujanje razdeljevanja in ponovne uporabe programja na splošno.

BREZ JAMSTVA

11. KER JE PROGRAM LICENCIRAN KOT BREZPLAČEN, NI NOBENEGA JAM-STVA ZA PROGRAM DO MEJE, KI JO DOLOČA PRISTOJNI ZAKON. RA-ZEN, ČE NI DRUGAČE NAPISANO, IMETNIKI PRAVIC RAZŠIRJANJA IN/ALI DRUGE OSEBE PONUJAJO PROGRAM »TAK, KOT JE«, BREZ ZAGOTO-VILA KAKRŠNEKOLI VRSTE, NEPOSREDNEGA ALI POSREDNEGA, KAR VKLJUČUJE, A NI OMEJENO NA POSREDNA JAMSTVA CENOVNE VRE-DNOSTI IN PRIMERNOSTI ZA DOLOČENO UPORABO. CELOTNO TVE-GANJE GLEDE KAKOVOSTI IN DELOVANJA PROGRAMA PREVZAMETE SAMI. ČE SE PROGRAM IZKAŽE ZA OKVARJENEGA, SAMI NOSITE STRO-ŠKE VSEH POTREBNIH STORITEV, POPRAVIL ALI POPRAVKOV.

12. V NOBENEM PRIMERU, RAZEN ČE TAKO PRAVI VELJAVNI ZAKON ALI JE PISNO DOGOVORJENO, NE BO LASTNIK PRAVIC RAZŠIRJANJA ALI KA-TERAKOLI DRUGA OSEBA, KI LAHKO SPREMENI IN/ALI PONOVNO RAZ-ŠIRJA PROGRAM, KOT JE DOVOLJENO ZGORAJ, PREVZEL ODGOVORNO-STI ZARADI ŠKODE, NAJSI GRE ZA SPLOŠNO, POSEBNO, NENAMERNO ŠKODO ALI ŠKODO, IZHAJAJOČO IZ UPORABE ALI NEZMOŽNOSTI UPO-RABE PROGRAMA (VKLJUČNO Z, A NE OMEJENO NA, IZGUBO PODAT-KOV ALI NENATANČNO OBDELAVO PODATKOV ALI IZGUBO, POVZRO-ČENO VAM ALI TRETJIM OSEBAM ALI NEZMOŽNOST PROGRAMA, DA BI DELOVAL S KAKIM DRUGIM PROGRAMOM), ČETUDI JE BIL TAK LA-STNIK ALI DRUGA OSEBA OBVEŠČEN O MOŽNOSTI NASTANKA TAKŠNE ŠKODE.

KONEC DOLOČB IN POGOJEV

Dodatek: Kako upoštevati te določbe pri vaših novih programih

Če razvijate nov program in želite, da bi bil kar najbolj uporaben za javnost, je najboljši način, da to dosežete, ta, da ga proglasite za prosto programje, ki ga lahko vsakdo razširja in spreminja pod zgornjimi pogoji.

Za kaj takega vašemu programu pripnite naslednja sporočila (pravzaprav, pripnite izvorna angleška sporočila, tako jih bo razumelo več ljudi). Najvarneje je, da jih pripnete na začetek vsake izvorne datoteke, saj boste tako najbolj učinkovito izrazili odsotnost jamstva; vsaka datoteka pa bi morala vsebovati tudi vrstico »o pravicah razširjanja« (angl. copyright) in kazalec, kje najti polno sporočilo.

Vrstica, v kateri podate ime programa in kratek opis, kaj počne. Copyright \begin{matrix}c \\ ◯ \end{matrix} 199l/2lll ime avtorja Ta program spada med prosto programje; lahko ga razširjate in/ali spreminjate pod pogoji Splošnega dovoljenja GNU (GNU General Public License), kot ga je objavila ustanova Free Software Foundation; bodisi različice 2 ali (po vaši izbiri) katerekoli poznejše različice. Ta program se razširja v upanju, da bo uporaben, vendar BREZ VSAKR-ŠNEGA JAMSTVA; tudi brez posredne zagotovitve CENOVNE VREDNO-STI ali PRIMERNOSTI ZA DOLOČEN NAMEN. Za podrobnosti glejte besedilo GNU General Public License. Skupaj s tem programom bi morali prejeti izvod Splošnega dovoljenja GNU (GNU General Public License); če ga niste, pišite na Free Software Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA.

Dodajte tudi informacije o tem, kako stopiti v stik z vami po elektronski ali papirni pošti.

Če je program interaktiven, poskrbite, da bo izpisal kratko obvestilo o tem, ko se zažene v interaktivnem načinu:

Gnomovizija različica 69, Copyright (C) 19ll/20ll ime avtorja

Gnomovizija je BREZ VSAKEGA JAMSTVA; za podrobnosti napišite „prikaži j“. To je prosto programje in brez zadržkov ga lahko razširjate pod določenimi pogoji; napišite „prikaži p“ za podrobnosti.

Hipotetična ukaza »prikaži j« in »prikaži p« bi morala prikazati ustrezne dele Splošnega dovoljenja GNU. Seveda bodo ukazi, ki jih boste uporabljali, morda poimenovani drugače kot »prikaži j« in »prikaži p«; morda bodo celo kliki z miško na menujske postavke – kar je pač primerno za vaš program.

Pridobiti bi morali tudi vašega delodajalca (če delate kot programer) ali vašo šolo, če jo obiskujete, da napiše »odrekanje pravicam razširjanja« za program, če je to potrebno. Tukaj je primer, imena prilagodite:

Jojodin, d. o. o., se s tem dokumentom odreka vsakemu plačilu od pravic razširjanja za program ‘Gnomovizija’ (ki namiguje prevajalnikom), ki ga je napisal Janez Hekeršek. podpis Tineta Bogataja, 1. april 1999 Tine Bogataj, predsednik vic

Splošno dovoljenje GNU ne dovoljuje vključevanja vašega programa v lastniške programe. Če je vaš program knjižnica podprogramov, se vam bo morda zdelo bolj uporabno, da dovolite povezovanje lastniških aplikacij s knjižnico. Če je to tisto, kar želite storiti, uporabite Splošno dovoljenje GNU za knjižnice (angl. GNU Library General Public License) namesto te licence.

264 Dodatek C

Dodatek D

The GNU General Public License

GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1989, 1991 Free Software Foundation, Inc. 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software–to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation’s software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author’s protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors’ reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone’s free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

GNU GENERAL PUBLIC LICENSE

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The “Program”, below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term “modification”.) Each licensee is addressed as “you”. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

a. You must cause the modified files to carry prominent notices stating that you

changed the files and the date of any change. b. You must cause any work that you distribute or publish, that in whole or in part

contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c. If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a. Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and “any later version”, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PRO-GRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRAN-TIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PUR-POSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFEC-TIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMIT-TED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GE-NERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCU-RATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSI-BILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to

the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.

one line to give the program’s name and a brief idea of what it does. Copyright \begin{matrix}c \\ ◯ \end{matrix} 19yy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABI-LITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA.

Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an

interactive mode:

Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type ‘show w’. This is free software, and you are welcome to redistribute it under certain conditions; type ‘show c’ for details.

The hypothetical commands ‘show w’ and ‘show c’ should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than ‘show w’ and ‘show c’; they could even be mouse-clicks or menu items– whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a “copyright disclaimer” for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program ‘Gnomovision’ (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

Dodatek E

Slovarček pojmov

Med prevajanjem te knjige in ostalih spisov Dokumentacijskega projekta za Linux smo naleteli na nekatere angleške računalniške izraze, katerih slovenski prevodi še sploh niso obstajali ali pa niso bili splošno znani. Te izraze smo obravnavali decembra 1998 in januarja 1999 na dveh sredinih seminarjih na Fakulteti za matematiko in fiziko v Ljubljani.

Sredin seminar za računalniško matematiko ima že več let sestanke vsako sredo ob 18h v predavalnici M-2 na Jadranski 21, II. nadstropje. Seminarja se lahko udeleži vsakdo, na njem pa velja pravilo: »Če česa ne razumeš, vprašaj!«. Obstaja tudi moderiran dopisni seznam z obvestili o prihodnjih in preteklih seminarjih – za prijavo na ta seznam pišite vodji seminarja prof. dr. Vladimirju Batagelju na e-poštni naslov Vladimir.Batagelj@uni-lj.si. Domačo stran Sredinega seminarja lahko obiščete na naslovu http://vlado.fmf.uni-lj.si/sreda/sreda.htm.

Spodaj je povzet seznam, na 918. in 922. Sredinem seminarju obravnavanih, angleških izrazov s predlogi slovenskih ustreznic. Slovenski izrazi, označeni z znakom »?«, niso bili soglasno sprejeti, boljših pa tudi nismo našli. Seznamu so dodani tudi nekateri izrazi, obravnavani v začetku devetdesetih let v konferenčnem sistemu Notes.

account konto ?; račun ?

anonymous FTP server strežnik za anonimni/prosti FTP

anonymous FTP anonimni/prosti FTP

autosave file samoshranjena/samodejno shranjena datoteka

autosave samodejno shranjevanje; sámoshranjevanje

benchmark primerjalni test

block group skupina blokov

bus mouse miška na vodilu

case sensitive razlikovanje velikih in malih črk; upoštevanje velikosti črk ?

CHAP (Challenge/Handshake Authentication Protocol) protokol prepoznavanja s pozivanjem/rokovanjem

character set nabor znakov charset g. character set chat script program za chat chipset nabor čipov; čipje client odjemalec; odjemnik; stranka; uporabnik clock chip ura cluster skupina; skupek; gruča color plane barvna ravnina command-driven ukazno voden; z ukazi voden compile-time library knjižnica ob prevajanju ? configure prikrojitev; prilagoditev cookie piškotek copy-on-write pages strani, ki se prekopirajo ob pisanju daemon demon; pritajeni program debugger razhroščevalnik; trebež denial of service attack napad, ki ima za cilj izpad storitev ? dial in klic strežnika disk paging ostranjevanje na disk; navidezni pomnilnik na disku s shranjevanjem po stra-

neh distribution distribucija; izdaja dot clock točkovna frekvenca electron gun elektronski top emergency save zasilni izvod ? ethernet ethernet; ethernetno omrežje executable izvedljiva datoteka ? finger otipati fork razvejiti gateway address naslov prehoda ? gateway prehod ? GNU General Public Licence Splošno dovoljenje/pooblastilo GNU GNU Library General Public Licence Splošno dovoljenje GNU za knjižnice hardware flow control strojni nadzor pretoka header files (*.h) glave ? host name ime računalnika; ime gostitelja hostname g. host name include file zunanja datoteka ?; glava initiate a connection vzpostaviti/vzpostavljati povezavo/zvezo internet relay chat; IRC (internetski) klepet ? job obdelava ?; posel keymap razpored tipk kill (process) ubiti (proces); pobiti landscape prečno LaTeX preamble vzglavje LaTeXa leased line najeta linija lightweight/heavyweight process lahek/težek, šibek/krepek proces ? loadable module naložljivi modul ? loaded system obremenjen sistem lock file datoteka za zaklepanje lock zakleniti login prompt prijavni pozornik loopback device (zaprto)zančna naprava loopback interface (zaprto)zančni vmesnik loopback network (zaprto)zančno omrežje machine-readable form računalniško berljiva oblika mail user agent poštni program mailer poštni program mainframe veliki/osrednji računalnik make izdelovalec; znamka maximal transfer unit (MTU) maksimalna dolžina (IP-)paketa microkernel jedrce model model monospaced font pisava stalne širine; enakokoračna pisava mount priklop multiprocessing model večprocesni model multisync večfrekvenčni name resolving razreševanje imen named socket poimenovana vtičnica net mreža Network News Transmission Protocol (NNTP) protokol za prenos novic po omrežju networking vmreževanje; vmreženje news feed dotok novic ? news feeder novičarski strežnik news group novičarska skupina newsgroup g. news group noun velike črke ? null-modem cable ničelni modem on-line neposredno dostopno; omrežno; spletno; na zvezi ? online g. on-line open-ended environment odprto okolje password prompt pozornik gesla patchlevel stopnja popravka; popravek performance tuning optimizacija/izboljševanje zmogljivosti ping pingati platform platforma port prenos; prestavljanje ? portrait pokončno post objaviti post-install ponamestitev; ponameščanje pre-install prednamestitev; prednameščanje prompt pozornik proprietary lastniški ?; lastniško zaščiten ? routing table usmerjevalna tabela run level g. run-level run time library sprotna knjižnica; priročna knjižnica run time linker sprotni povezovalnik; priročni povezovalnik run-level raven/način izvajanja/delovanja ? runtime library g. run time library runtime linker g. run time linker script ukazna datoteka; skript; navodila; program secrets file zaupna datoteka serial line IP protokol SLIP; serijski IP series (medium series, boldface series) vrsta pisave set-up g. setup setup nastavitev; vzpostavitev shape (upright shape) oblika (pokončna oblika) shape-series-family oblika-vrsta-družina shell account lupinski konto/račun ? shell script lupinski program; ukazna datoteka shutdown zaustavljanje SLIP g. serial line IP socket vtičnica soft link g. symbolic link spawn porajanje spool server čakalniški strežnik spool čakalnica; postaviti v čakalnico spooling software čakalniško programje static-allocation statična dodelitev/dodeljevanje subnet podmreža subnetting podmreženje; razbijanje v podmreže super block g. superblock superblock superblok swap space odlagalni prostor ?; izmenjalni prostor ? symbolic link simbolna povezava; bližnjica top-level directory vrhnji imenik transfer functions for CYMK prenosne/prevajalne funkcije za CYMK trashed sesut UART (Universal Asynchronous Receiver Transmitter) čip UART; univerzalni asin-

hroni sprejemnik-oddajnik undelete obnovitev ?; odbrisanje ? unified memory pool skupni pomnilniški prostor unmount odklop untar »odtarati«; odarhivirati s tarom ? video adapter g. video card video card grafična kartica white space nevidni znaki widget set množica grafičnih elementov X Window System okenski sistem X; okna X

Stvarno kazalo

*, 121 .bash_profile, 145 .bashrc, 145 .profile, 145 .tcshrc, 145 /, 107

ime korenskega imenika, 107 v imenih poti, 106

/bin/csh, glej ukazne lupine /bin/sh, glej ukazne lupine /dev/console, 117 /dev/cua, 117 /dev/hd, 117 /dev/lp, 117 /dev/null, 117 /dev/pty, 117 /dev/tty, 117 /dev/ttyS, 117 /etc, 118 /etc/csh.login, 145 /etc/getty, 176 /etc/host.conf, 206 /etc/hosts, 205 /etc/init, 176 /etc/inittab, 176 /etc/networks, 205 /etc/profile, 145 /etc/rc, 176 /etc/rc.local, 176 /etc/resolve.conf, 206 /home, 118 /lib, 118 /proc, 118 /sbin, 118 /tmp, 118 /usr, 118 /usr/X11R6, 118 /usr/X11R6/lib/X11/XF86Config,

186 /usr/etc, 119 /usr/g++-include, 119 /usr/include, 119 /usr/lib, 119 /usr/local, 119 /usr/man, 119 /usr/src, 119, 170 /var, 119 /var/log, 119 /var spool, 120 <, 124 >, 124 ?, 122 Linux Journal, 238 število inode

definicija, 129 ˜ , glej imenik

afio, 167 argument

ukazni, glej ukazni argument

backflops, 167

bash, glej ukazne lupine

bg, 134 /bin, 116 /bin/bash, glej ukazne lupine /bin/tcsh, glej ukazne lupine Bourne again shell, glej ukazne lupine Bournova ukazna lupina, glej ukazne lu-

pine branje

priporočeno, 238–248 brisanje

datotek, 112 imenika, 112

C News, 233 C Shell (csh), 120 cat, 116

za ogled vsebine datoteke, 112 cd, 109, 114 cevi

uporaba, 125–126 ustvarjanje, 125

cevovod

definicija, 125 cfdisk, 42 chmod, 128 command not found, 105 copyright, 257–263, 265–270 cp, 111, 115

datotečni sistem na disketi, 169 popravilo, 178 raziskovanje, 116–120

datoteka brisanje, 112 izvedljiva

definicija, 110 premikanje, 112 prepisovanje, 111

datoteke definicija, 106 dovoljenja, 126–129

definicija, 126 odvisnosti, 128 razlaga, 127 spreminjanje, 128 za branje, 127 za izvajanje, 127 za pisanje, 127

izpis, 109–111 izpis dovoljenj z ls, 127 MS-DOS, 113 naprav, 116 njih število inode, 129 obnova, 179 ogled njih vsebine, 112 povezave, 129–130 pripenjanje na, 126 skrite

ki ne ustrezajo džokerjem, 122 uporabniško lastništvo, 126 v lasti skupine, 126 varnostne kopije, 166–167 Debian, glej distribucija delovni imenik

definicija, 108 /dev, 116 /dev/sd, 117 /dev/sr, 117 /dev/st, 117 dip, 207

dinamični naslov IP z, 209 pogovorni skript za, 209–211 priključitev na strežnik SLIP z,

209–211 statični naslov IP z, 208

disketa datotečni sistemi na njej, 169 imena naprav za, 117 kot medij za varnostne kopije, 166 odklop, 169 priklop, 169 vzdrževalna, 178 zagonska/korenska, 178

distribucija, 29 Caldera OpenLinux, 69–70 Debian GNU/Linux, 43–58 izbor, 43 Red Hat Linux, 58–69 Slackware, 70–89 S. u. S. E. Linux, 89–91

DNS, glej imenski strežnik dokumentacija, 235–248

Dokumentacijski projekt za Linux,

237–238 knjige, 238–248

v slovenščini, 245–248 na zvezi, 235–236 pogosto zastavljena vprašanja, 235 spisi HOWTO, 236 v slovenščini, 237–238, 245–248

Dokumentacijski projekt za Linux, 237–

238 domači imenik, glej imenik, 118 dovoljenja

datotek, 126–129 definicija, 126 odvisnosti njih, 128 razlaga, 127 spreminjanje, 128 težave, 102 za branje, 127 za izvajanje, 127 za lupinske skripte, 142 za pisanje, 127

dpkg, 55–56 džoker

*, 121 ?, 122 definicija, 121 razvitje, 121 v imenih datotek, 121–123

e-pošta, 233

poštni program

definicija, 233 prenos

definicija, 233 e2fsck, 178 echo, 116 elm, 233 Emacs, 135 EOT (end of text) signal, 123 ethernet

podprte kartice, 200 exit, 106 export, 143

FAQ, glej dokumentacija fdisk, 41 fg, 134 filter

definicija, 124 find

za diferenčne varnostne kopije, 167 Free Software Foundation, 257, 265 Frequently Asked Questions, glej doku-

mentacija fsck, 178 FTP

po pošti, 23 seznam arhivov, 254

slovenskih, 255 uporaba, 249–255

ftpmail, 253

Gazette, glej Linux Gazette gcc

nadgradnja, 175 General Public License, 257–263, 265–

270 geslo

definicija, 103 poprava korenskega, 178 sprememba s passwd, 106

getty, 176 glave, 119 GNU

General Public License, 257–263,

265–270 gonilnik naprave, 116 gostiteljsko ime, 206

nastavitev, 177 grep, 116

halt, 151 hostname

hostname, 177 hostname, 206 HOWTO, glej dokumentacija

ifconfig, 203 ime datoteke

definicija, 106 ime gostitelja

definicija, 103 ime poti

absolutno, 108 definicija, 106 polno, 108 relativno, 108

imena datotek

džokerji v, 121–123 imenik

. za sklicevanje na, 109 /etc, 118 /home, 118 /lib, 118 /proc, 118 /sbin, 118 /tmp, 118 /usr, 118 /usr/X11R6, 118 /usr/bin, 118 /usr/etc, 119 /usr/g++-include, 119 /usr/include, 119 /usr/lib, 119 /usr/local, 119 /usr/man, 119 /usr/src, 119 /var, 119 /var/log, 119 /var/spool, 120 /bin, 116 brisanje, 112 definicija, 106 delovni

definicija, 108 /dev, 116 domači, 118

definicija, 107 domači

sklicevanje na ˜ , 108 dovoljenja

odvisnosti, 128

spreminjanje, 128

za branje, 127

za izvajanje, 127

za pisanje, 127 drevo, 107 gnezdenje, 106 izpis vsebine, 109–111 korenski, 107 starš, 107 starševski

.. za sklicevanje na, 109 struktura, 107

premikanje naokrog s cd, 109 trenutni delovni

definicija, 108 ustvarjanje, 111

imenski strežnik

naslov, 202 inetd, 204 inicializacijske datoteke

za lupine, 145 inicializacijski skripti

za ukazne lupine, 145 init, 176 inittab, 176 INN, 233 inode

definicija, 129 internetni protokol po serijski liniji, 199,

207–211 IP

definicija naslova, 201 IRQ, 94 izhod

preusmeritev, 124 izpis vsebine imenika, 109–111 izpraševanje, 172 izvedljive datoteke definicija, 110

jedro nadgraditev, 170 prevajanje, 171 prevajanje v stisnjeno sliko, 171 viri za, 170

jobs, 133

katastrofe

okrevanje od, 177–179

z vzdrževalno disketo, 178 kill, 133 knjižnice

nadgradnja, 175

poprava pokvarjenih, 179 knjige, 238–248

slovenske, 245–248 konec-teksta

signal, 123 konzola

definicija, 104 ime naprave za, 117 navidezne, 104 korenski imenik, 107

LDP, glej Dokumentacijski projekt za Li-

nux LILO

namestitvene težave, 101 težave z zagonom, 93

Linux, 1–276 copyright, 265–270 namestitev, 29–102 osnovni pojmi, 103–108 pravice razmnoževanja, 257–263 pridobitev, 29 strani priročnika za, 113 struktura imenikov, 107 večopravilnost

definicija, 103 Linux Documentation Project, glej Do-

kumentacijski projekt za Linux Linux Gazette, 236 Linux Journal, 43, 72, 236 Linux Resources, 236 Linux Software Map, glej zemljevid pro-

gramja login shell

defined, 145 ls, 109–111, 114

za izpis dovoljenj datotek, 127 lupine

Bournova, 120 C shell, 120 definicija, 105 inicializacijske datoteke, 145 pozornik, 105 spremenljivke

definicija, 142 ukazne, glej ukazne lupine

lupinske spremenljivke

izvoz v okolje, 139, 143 lupinski skripti, 141

definicija, 120 dovoljenja za, 142 inicializacija, 145 komentar, 142 spremenljivke v njih, 142

mailx, 233 man, 113, 115 mapa

definicija, 106 Microsoft, 232 Microsoft Windows

emulator, 114 Minix, 2, 3, 154 mkdir, 111, 115 mke2fs

za diskete, 169 more, 112, 115 mount

priklop disket z, 169 za priklop particij MS-DOS, 113 za priklop particij Windows 95, 114

mreža

podprte kartice, 200 MS-DOS

dostopanje do datotek od, 113 emulator, 114 poganjanje programov v Linuxu,

114 priklop particij v Linuxu, 113 uporaba Mtools za dostop do dato-

tek, 114 mv, 112, 115

načrtovanje, 31 nadzor opravil, 131–135 named, 205 namestitev, 29–102

dovoljenja datotek, 102 LILO, 101 napake medija, 98 problemi po namestitvi, 100–102 Slackware, 70 strojne težave, 94–98 težave, 92–102 težave pri prijavi, 101 težave pri zagonu, 100 težave z zagonom, 100 zagonske težave, 92–94

naprave, 34 /dev/console, 117 /dev/cua, 117 /dev/hd, 117 /dev/lp, 117 /dev/null, 117 /dev/pty, 117 /dev/sd, 117 /dev/sr, 117 /dev/st, 117 /dev/tty, 117 /dev/ttyS, 117 disketa, 117 dostopanje, 116 fd, 117 konzola, 117 navidezne konzole, 117 ničelna, 117 psevdo-terminali, 117 SCSI, 117 trdi diski, 117 vzporedna vrata, 117 zaporedna vrata, 117

naslov prehoda, 202 naslov za IP

definicija, 201 naslov za oddajanje, 201 nastavitveni skripti

TCP/IP, 203 navidezne konzole, 117 NET-3, 199

podpora za internetni protokol po

serijski liniji (SLIP), 199 netstat, 206 NFS, 204 ničelna datoteka, 117 novice, 233–234

novičarski bralnik, 233 novičarski bralniki

rn, 233 tin, 233

odjemalec

definicija, 233 strežnik

C News, 233 definicija, 233 INN, 233

UUCP, 232 novičarski bralnik, glej novice nujni primeri

okrevanje od z vzdrževalno disketo, 178

odjava iz sistema

z ukazom exit, 106 odjemnik

za novice, 233 odklop, 169 okenski sistem X, 181–197 okolje

prilagoditev, 141–145 spremenljivke

PATH, 144 omrežna maska, 201 omrežni naslov, 201 opravila

ustavljanje, 133 opravilo

definicija, 131 odložitev, 131 ospredje, 131 ozadje, 131, 132, 134 ponovni zagon, 134 prekinitev, 132 ubijanje, 132 v ozadju

ubijanje, 133 ozadje

spravljanje opravil vanj, 132

passwd, 106 poštni program, 233 poštni spiski

Debian, 57 pogosto zastavljena vprašanja, glej doku-

mentacija pomoč

na zvezi, 113 posmrtni ostanek, 5 povezave, 129–130

prikaz njih števila, 129

simbolne, 130 trde, 129

PPP, 207 pravice razmnoževanja, 257–263 prehod, 202 preizkusno programje, 14 prenos

e-pošte, 233 prepisovanje datotek, 111 preusmeritev

ne-uničevalna, 126 standardni izhod, 124 standardni vhod, 124

prijava, 104 prijava v sistem, 104 prijavljanje

težave, 101 prijavno ime

definicija, 103 priklop, 169 proces definicija, 131 ID

definicija, 131 ospredje, 131 ozadje, 131 prekinitev, 132 ps za spisek, 131 ubijanje, 132 v ozadju

ubijanje, 133 proces v ospredju, 131 proces v ozadju, 131 programje

kje najti izdaje, 176 nadgradnja, 170–176 namestitev, 170–176

ps, 131 psevdo-terminali, 117

račun, 87

ustvarjanje, 104 RAWRITE.EXE, 40 razmnoževanje Linuxa, 257–263, 265–

270 rc, 176

datoteke

za TCP/IP, 203 rc (datoteke), 203 rc.inet, 203 rc.inet1, 203

primer, 203 rc.inet2, 203, 204

primer, 204 rc.local, 176 rc.net, 203 Red Hat Linux, glej distribucija rm, 112, 115 rmdir, 112, 115 rn, 233 root

poprava njegovega gesla, 178 route, 203

vnos v /etc/networks, 205 routed, 204

SCSI imena naprav za, 117 težave, 97–98 sendmail, 233 serijska linija

internetni protokol po, 199 setenv, 143 shareware, 14 shutdown, 92, 150 sila

okrevanje od, 177–179 skript, glej lupinski skripti skupine, 126 Slackware, glej distribucija

namestitev, 70 slattach, 207 SLIP, 199, 207–211

dinamični naslov IP z dip, 209 imena naprav za, 208 priključitev na strežnik z dip, 209 statični naslov IP s slattach, 208 statični naslov IP z dip, 208

slovenske knjige, 245–248 Smail, 233 spisi HOWTO, 236 sporočila o napaki

sporočila o napaki

command not found, 105 spremenljivke

lupinske, 142 okolje, 143 v lupinskih skriptih, 142

standardni izhod, 123–126

preusmeritev, 124 standardni vhod, 123–126

preusmeritev, 124 starševski imenik, 107

.. za sklicevanje na, 109 slattach

statični naslovi IP z, 208 stdin, glej standardni vhod stdout, glej standardni izhod strani priročnika, 113 strojna oprema

konflikti, 94–95 težave, 94–98 težave s SCSI, 97–98 težave s trdim diskom, 95–97

strojna podpora mrežne kartice, 200

video kartica, 181 superblok

definicija, 178 popravilo, 178

S. u. S. E., glej distribucija syslogd, 204

TCP/IP, 11, 199–211 /etc/host.conf, 206 /etc/hosts, 205 /etc/networks, 205 /etc/resolve.conf, 206 ifconfig, 203 imenski strežnik, 202 inetd, 204 IP, 201 named, 205 naslov imenskega strežnika, 202 naslov prehoda, 202 naslov za IP, 201 naslov za oddajanje, 201 nastavitev, 200, 201 nastavitveni skripti, 203 NET-3 izvedba le-tega, 199 odprava težav, 206 omrežna maska, 201 omrežni naslov, 201 po serijski liniji, 207–211 point-to-point, 207 PPP, 207 rc.inet, 203 rc.inet1, 203

primer, 203 rc.inet2, 203

primer, 204 rc.net, 203 route, 203 routed, 204 routing tables, 206 SLIP, 207–211

dinamični naslov IP z dip, 209 imena naprav za, 208 statični naslov IP s slattach,

208 statični naslov IP z dip, 208

strojne potrebe, 200 syslogd, 204 tcsh, glej ukazne lupine tekstovni urejevalnik definicija, 135 primerjava, 135

tin, 233 trdi disk

težave, 96 trdi diski

imena naprav za, 117 trenutni delovni imenik definicija, 108 triprstni pozdrav, 151

ukaz definicija, 105 izbirna zastavica -, 114 povzetek osnovnih, 114–116 v lupinskem skriptu, 141

ukazne lupine, 120–121 nadzor opravil, ki ga ponujajo, 131 razvitje džokerjev, 121 znaki džokerji za, 121–123

ukazni argument, 105

umount

odklop diskete z, 169 uporabniški račun

ustvarjanje, 104 uporabniki

v skupinah, 126 urejevalnik

definicija, 135 Usenet, 233–234 UUCP, 232

varnostne kopije, 166–167 diferenčne, 167 na disketi, 166 več-enotne, 166

večopravilnost

definicija, 103 večuporabniški

definicija, 103 vhod

preusmerjanje, 124 vi, 135–141

brisanje besedila, 137–138 lupinski ukazi iz, 140 način zadnje vrstice, 136 preklop datotek, 140 premikanje kazalca, 139 shranjevanje sprememb, 139 spreminjanje besedila, 138–139 ukazni način, 135 urejevalni način, 136 vključevanje datotek, 140 vstavljanje besedila, 136–137 zagon, 136 zapis sprememb, 139 zapuščanje, 139

viri informacij, 235–248 vmreževanje

Microsoft, 232 mrežne kartice, podprte, 200 NET-3, 199 NFS, 204 novice, 233–234 PPP, 207 SLIP, 199 TCP/IP, 199–211 UUCP, 232

vzdrževalna disketa, 178 vzporedna vrata

ime naprave za, 117

Windows 95

priklop particij v Linuxu, 114 WINE, 13

X11R6, 181 XF86Config, 186 XFree86, 181

nabori video čipov, podprti v, 181 namestitev, 183 nastavitev, 186 nastavitvena datoteka za, 186 strojne zahteve za, 181

X Window System, 181–197 definicija, 181

začetni skripti, 176 zagon

težave, 92–94, 100 z vzdrževalne diskete, 178

zagonska disketa, 178 zagonski skripti, 176 zaporedna vrata

imena naprav za, 117 zaustavitev sistema, 150–151 zemljevid programja, 236