Naprej Nazaj Vsebina

6. Rešitve različnih pogostih problemov

6.1 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.2 Moja ura kaže zelo 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 lahko pogledate CMOS-ov čas in uskladite prvo ali drugo uro -- glejte man 8 clock.

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.3 Skripte tipa setuid ne delujejo.

Tako je. Ta možnost je namenoma onemogočena v Linuxovem jedru, saj skripte, ki se izvajajo pod tujim računom, skoraj vedno predstavljajo varnostno luknjo. Sudo in SuidPerl lahko ponudita več varnosti kot skripte 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 skripte setuid varnostna luknja, preberite PZV (FAQ) skupine news:comp.unix.questions.

6.4 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 verzije 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.5 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 news:comp.os.linux.hardware -- navedite izdelovalca, oznako modela, datum izdelave, itd., tako, da se bodo lahko drugi uporabniki Linuxa izogibali teh plošč.

6.6 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.7 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.8 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.9 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šo prijavno skripto /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.10 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.11 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 pozivnik ukazne lupine in namestite 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 umountati 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.12 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.13 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 vmesnik povratne zanke protokola TCP/IP, lo, napačno deluje. Podpora povratne 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 pozivnik.

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.14 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 verzijo.

6.15 Kako prepričam LILO, da zažene datoteko vmlinux?

V jedrih od verzije 1.1.80 naprej je komprimirana slika jedra, ki jo mora najti LILO, v datoteki arch/i386/boot/zImage. Datoteka vmlinux v korenskem imeniku je nekomprimirano jedro in je ne poskušajte zagnati.

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


Naprej Nazaj Vsebina