Naprej Nazaj Kazalo

6. Rešitve različnih pogostih problemov

6.1 Povezava PPP ob pošiljanju velikih datotek zamre

Videti je, da se to pojavi zaradi nekakšne prekoračitve vmesnega pomnilnika ob pošiljanju na strežnike z Windows NT. Ker imajo modemi, ki so le za Windows, del svoje programske opreme vgrajen v operacijski sistem, lahko protokoli, ki jih uporabljajo strežniki NT, ostanejo lastniški, celo na ravni TCP/IP. Vendar trenutno (jesen 1999) ni informacij, ki bi to potrjevale.

Kakorkoli že, uporabniki se pogosteje pritožujejo o tej težavi. Videti je, da se ne pojavlja ob jemanju datotek, le ob pošiljanju daljših datotek, daljših od določene, in ne vedno določljive, velikosti. Težave se pojavljajo z novejšo in hitrejšo strojno opremo. Obstajajo tudi poročila, da nastavitev vrednosti MTU in MRU pod 1.500 odpravi to težavo. Če je kdorkoli imel te težave in jih je uspešno rešil, naj, prosim, obvesti vzdrževalca tega spiska PZV.

6.2 Ukaz free izvrže jedro (dumps core)

V Linuxu 1.3.57 in poznejših se je format datoteke /proc/meminfo spremenil tako, da ga izvedba programa free ne razume več.

Poiščite najnovejšo različico z mesta ftp://metalab.unc.edu/pub/Linux/system/Status/ps/procps-0.99.tgz.

6.3 Kako lahko zasledujem vse svoje zaznamke v Netscapu?

To se verjetno nanaša tudi na druge brkljalnike. V menuju Preferences/Navigator nastavite vašo domačo stran na datoteko ~/.netscape/bookmarks.html. Na primer, če je vaše uporabniško ime ,,smith``, nastavite domačo stran na:

file://home/smith/.netscape/bookmarks.html

Takšna nastavitev vam bo ob zagonu Netscapea prikazala lepo urejen (čeprev morda dolg) seznam vseh zaznamkov. Datoteka se samodejno osveži vsakič, ko dodate, pobrišete, ali obiščete katero od zaznamovanih strani.

6.4 Računalnik kaže napačen čas

V vašem računalniku sta dve uri. Strojna ura (CMOS) teče tudi, ko je računalnik ugasnjen in se uporablja pri zagonu sistema in v DOS-u (če ga uporabljate). V Linuxu pa skrbi za običajni sistemski čas, ki ga prikažete in spremenite z ukazom date, jedro.

Z ukazom /sbin/clock (v mnogih distribucijah se dandanes imenuje hwclock) lahko pogledate čas v CMOS-u in uskladite prvo ali drugo uro - glejte man 8 clock ali man 8 hwclock.

Obstaja več programov, ki popravijo eno ali obe uri s sistematičnim popravljanjem ali prek omrežja. Morda so nekateri od njih že nameščeni na vašem sistemu. Glejte adjtimex (popravki), netdate in getdate (preprosto pogleda na uro prek omrežja) ali xntp (natančen omrežni časovni demon z veliko lastnostmi).

6.5 Skripti tipa setuid ne delujejo.

Tako je. Ta možnost je namenoma onemogočena v jedru Linuxa, saj skripti, ki se izvajajo pod tujim računom, skoraj vedno predstavljajo varnostno luknjo. Sudo in SuidPerl lahko ponudita več varnosti kot skripti ali izvedljive datoteke Setuid, posebej, če so poganjalna dovoljenja omejena na določeno uporabniško številko ID ali skupinsko številko ID.

Če vas zanima zakaj so skripti setuid varnostna luknja, preberite PZV (FAQ) skupine comp.unix.questions.

6.6 Prosti pomnilnik, ki ga sporoči free, se manjša

Podatek ,,free``, ki ga izpiše ukaz free, ne vključuje pomnilnika, uporabljanega kot diskovni predpomnilnik - vidite ga v stolpcu ,,buffers``. Če vas zanima, koliko pomnilnika je zares prostega, seštejte obe številki - novejše različice ukaza free izpišejo dodatno vrstico s tem podatkom.

Diskovni predpomnilnik hitro raste takoj po zagonu Linuxa. Ko nalagate čedalje več programov in uporabljate čedalje več datotek, se njihova vsebina shranjuje v predpomnilnik. Čez nekaj časa se poraba predpomnilnika stabilizira.

6.7 Ko dodam pomnilnik, se sistem neznansko upočasni

To je pogost simptom onemogočenega predpomnenja dodatnega pomnilnika. Natančna diagnoza je odvisna od vaše matične plošče.

Včasih morate dovoliti predpomnenje (cache) določenih področij v nastavitvah BIOS-a. Glejte v CMOS-evo nastavitev in poglejte, ali obstaja izbira predpomnenja novega pomnilnika, ki je trenutno izklopljena. Vse kaže, da je to najbolj pogosto pri 486.

Včasih mora biti RAM v točno določenih slotih, sicer predpomnenje ne deluje.

Včasih morate predpomnenje nastaviti s posebnimi stikalci.

Nekatere matične plošče ne predpomnijo vsega RAM-a, če imate več RAM-a na količino predpomnilnika, kot predvideva strojna oprema. Navadno bo celih 256 Kb velik predpomnilnik rešil tak problem.

Če ste v dvomih, poglejte priročnik vaše matične plošče. Če zaradi neprimerne dokumentacije še vedno ne morete odpraviti problema, lahko pošljete sporočilo z vsemi podrobnostmi v skupino comp.os.linux.hardware - navedite izdelovalca, oznako modela, datum izdelave, itd., tako, da se bodo lahko drugi uporabniki Linuxa izogibali teh plošč.

6.8 Nekateri programi (npr. xdm) mi ne dovolijo prijave.

Verjetno uporabljate senčna gesla (shadow passwords) in programe za običajna gesla.

Če je tako, morate dobiti ali prevesti senčne različice problematičnih programov. Vrsta senčnih programov je (med drugim) na naslovu ftp://tsx-11.mit.edu/pub/linux/sources/usr.bin/shadow/. Izvedljive datoteke boste verjetno našli na ftp://tsx-11.mit.edu/pub/linux/binaries/usr.bin/.

6.9 Nekateri programi mi dovolijo prijavo brez gesla.

Verjetno imate enak problem in rešitev kot v razdelku ,,Nekateri programi (npr. xdm) mi ne dovolijo prijave.``, z dodatnim trikom:

Če uporabljate senčna gesla, morate v vsako polje za geslo v datoteki /etc/passwd dodati črko x ali zvezdico. Program, ki ne ve za senčna gesla, tako ne bo mislil, da gre za račun brez gesla in ga vsakomur dovolil uporabljati.

6.10 Moj računalnik deluje zelo počasi, ko uporabljam GCC/X/...

Najbrž imate premalo pravega pomnilnika. Če imate manj pomnilnika kot programov, ki tečejo naenkrat, bo Linux namesto pomnilnika uporabljal vaš trdi disk in grozno mlel. Rešitev je v tem primeru nakup dodatnega pomnilnika ali pa poganjanje manj stvari naenkrat. Nekaj pomnilnika lahko dobite tudi s tem, da uporabljate jedro z manj vključenih nastavitev. Glejte razdelek ,,Kako nadgradim/prevedem svoje jedro?``.

Količino trenutno uporabljenega pomnilnika in/ali izmenjalnega področja lahko ugotovite z ukazom free ali tako, da napišete

$ cat /proc/meminfo

Če je vaše jedro nastavljeno za uporabo pomnilniškega diska (ramdisk), je to verjetno izguba prostora in lahko povzroči upočasnjenje zadev. Uporabite LILO ali rdev, da poveste jedru, da nočete pomnilniškega diska (glejte dokumentacijo o LILO ali napišite man rdev).

6.11 Prijavim se lahko le kot root.

Verjetno imate kakšne probleme s pravicami ali pa imate datoteko /etc/nologin.

V drugem primeru dodajte ukaz rm -f /etc/nologin v vaš prijavni skript /etc/rc.local ali /etc/rc.d/*.

V prvem primeru preverite dovoljenja vaše ukazne lupine in vseh datotek, ki se pojavljajo o sporočilih o napakah in tudi imenikov, ki vsebujejo te datoteke vse do (vključno) korenskega imenika.

6.12 Moj zaslon je poln čudnih znakov namesto črk.

Verjetno ste po pomoti hoteli izpisati kakšne binarne podatke. Za popravilo nastavitev zaslona napišite (na slepo) echo '\033c'. Veliko distribucij Linuxa vsebuje ukaz reset, ki stori to.

Če to ne pomaga, poskusite z neposrednim ubežnim ukazom zaslonu.

$ echo <Ctrl-V><Ctrl-O>
To vzpostavi privzeto pisavo konzole Linuxa. Spomnite se držati tipko Control in potem vtipkati črko V ipd. Zaporedje
$ echo <Ctrl-V><Esc>c
povzroči popolno resetiranje zaslona. Če so po izpisu binarne datoteke ostali v ukazni vrstici podatki, pritisnite nekajkrat Ctrl-C, s tem dobite prazno ukazno vrstico.

[Bernhard Gabler]

6.13 Zavozil sem svoj sistem in se ne morem prijaviti, da bi ga popravil

Zaženite sistem z rešilne diskete ali disket, npr. para boot- in root-disk v namestitvenem podimeniku distribucij Slackware.

Obstajata tudi dva paketa tipa ,naredi-sam` za izdelavo rešilnih disket na ftp://metalab.unc.edu/pub/Linux/system/Recovery. Ta dva paketa sta boljša možnost, saj vsebujeta svoje jedro in ne boste imeli problemov z manjkajočimi napravami, datotečnimi sistemi in podobno.

Pojdite v pozornik ukazne lupine in priklopite disk s podobnim ukazom:

$ mount -t ext2 /dev/hda1 /mnt

Vaš datotečni sistem je zdaj pripravljen v imeniku /mnt in lahko odpravite problem. Ne pozabite odklopiti trdega diska pred ponovnim zagonom računalnika (pred tem spremenite imenik v korenskega s cd / ali kam drugam, sicer bo umount sporočil, da je disk zaseden).

6.14 Odkrila sem veliko varnostno luknjo v ukazu rm!

Ne, niste je. Očitno ste novinka v svetu Unixa in morate prebrati dobro knjigo, da boste ugotovili, kako zadeve delujejo. Namig: zmožnost brisanja datotek pod Unixom je odvisna od pisalnega dovoljenja za imenik, v katerem so.

6.15 lpr(1) ali/in lpd(8) ne deluje.

Najprej se prepričajte, da imate pravilno nastavljen port /dev/lp*. IRQ (če obstaja) in naslov porta morata ustrezati nastavitvam na tiskalniški kartici. Morali bi biti sposobni izpisa datoteke direktno na tiskalnik, npr.:

$ cat datoteka >/dev/lp1

Če ukaz lpr vrača sporočila kot je ,,myname@host: host not found``, lahko to pomeni, da zaprtozančni vmesnik protokola TCP/IP, lo, napačno deluje. Podpora zaprte zanke je prevedena v večino distribucij jedra. Preverite nastavitev vmesnika z ukazom ifconfig. Po internetnem dogovoru je omrežno število (network number) 127.0.0.0 in lokalni naslov sistema za IP 127.0.0.1. Če je vse nastavljeno pravilno, se lahko povežete z lastnim računalnikom z ukazom telnet in dobite prijavni pozornik.

Preverite, da /etc/hosts.lpd vsebuje ime vašega računalnika.

Če ima vaš stroj lpd, ki se zaveda omreženosti, kot tisti, ki pride poleg LPRng, se prepričajte, da je datoteka /etc/lpd.perms pravilno nastavljena.

Poglejte tudi spis Printing-HOWTO, glejte razdelek ,,Kje lahko dobim HOWTO-je in ostalo dokumentacijo?``.

6.16 Na dosovski particiji imajo datoteke napačen datum

V programu clock (pogosto je v imeniku /sbin) je hrošč, ki narobe upošteva časovne pasove, pomeša sekunde in minute ali nekaj takega. Poiščite novo različico.

6.17 Kako prepričam LILO, da zažene sliko jedra?

V jedrih od različice 1.1.80 naprej je komprimirana slika jedra, ki jo mora najti LILO, v datoteki arch/i386/boot/zImage, ko jo zgradite, pozneje pa se navadno naseli v imenik /boot. Datoteka /etc/lilo.conf bi se morala sklicevati na simbolno povezavo, ne na pravo sliko jedra.

Ta sprememba je nastala zato, ker je z istega drevesa izvorne kode lažje graditi različice za več različnih procesorjev.

6.18 Nadgradila sem jedro, zdaj pa mi ne deluje kartica PCMCIA

Moduli za uporabo kartice PCMCIA, ki se nahajajo v /lib/modules/<različica>/pcmcia, kjer je <različica> številka različice jedra, uporabljajo informacijo o nastavitvi, ki je specifična le tej sliki jedra. Moduli PCMCIA ne bodo delovali z drugo sliko jedra. Ko nadgrajujete jedro, morate nadgraditi tudi programske module kartic PCMCIA.

Ko nadgrajujete s starejših jeder, se prepričajte, da imate najnovejšo različico izvajalnih knjižnic, paketa modutils in tako naprej. Za podrobnosti poglejte datoteko Documentation/Changes v drevesu z izvorno kodo jedra.

Pomembno: Če uporabljate storitve kartic PCMCIA, v nastavitvenem menuju za prikrojitev jedra ne omogočite podporo omrežnim napravam/žepnim in prenosnim adapterjem (angl. ,,Network device support/Pocket and portable adapters``), saj bo prišlo do spora z moduli v storitvah kartic (angl. Card Services).

Poznavanje modulskih odvisnosti PCMCIA starega jedra je uporabno. Morate jih spremljati. Na primer, če je vaša kartica PCMCIA odvisna od znakovne naprave na zaporednih vratih, ki se v starem jedru naloži kot modul, morate zagotoviti, da bo modul za zaporedna vrata dostopen tudi za novo jedro in module PCMCIA.

Tukaj opisani postopek je malce neroden, vendar je mnogo preprosteje preračunati modulske odvisnosti iz čistega začetka in preveriti, da se nadgrajevani moduli res naložijo tako, da so zadovoljne tako naprave PCMCIA, kot naprave drugih tipov. Sodobna jedra vključujejo nešteto modulskih izbir - preveč, da bi jim lahko sledili. Ti koraki uporabljajo obstoječe modulske odvisnosti, kolikor je to mogoče, namesto, da bi od vas zahtevali, da premislite o novih.

Vendar ta postopek na računa primerov, ko so modulske odvisnosti neke različice jedra nezdružljive z odvisnostmi druge različice. V teh primerih boste morali sami naložiti module z ukazom insmod ali pa prirediti modulske odvisnosti v datoteki /etc/conf.modules. Datoteka Documentation/modules.txt v izvorni kodi jedra vsebuje dober opis uporabe naložljivih modulov jedra in modulskih pripomočkov kot so insmod, modprobe in depmod. Ta datoteka opisuje tudi priporočen postopek ugotavljanja odlik, ki bi jih radi vključili v pritajeno jedro, in odlik, ki bi jih radi zgradili kot module.

V bistvu morate ob nameščanju novega jedra slediti tem korakom.

Poglejte tudi vprašanja ,,Kako nadgradim/prevedem svoje jedro?`` in ,,Modprobe can't locate module XXX, in podobna sporočila``.


Naprej Nazaj Kazalo