Naprej Nazaj Kazalo

9. Najbolj pogosta sporočila o napakah

9.1 Modprobe can't locate module, ``XXX'' in podobno

(Program modprobe ne najde modula ,,XXX``.)

Te vrste sporočila se predvsem pojavijo ob zagonu ali izklopu sistema. Če se modprobe, insmod, ali rmmod pritožujejo, da ne najdejo modula, dodajte naslednje v datoteko /etc/modules.conf ali v /etc/modutils/aliases, katero pač že imate na vašem sistemu:

alias <ime_modula> off
In uporabite ime modula, ki se pojavlja v sporočilu o napaki.

[J. H. M. Dassen]

9.2 Unknown terminal type linux (neznan tip terminala linux) in podobno.

V zgodnjih jedrih so razvijalci spremenili privzeti tip zaslona s console na linux. Popraviti morate datoteko /etc/termcap in spremeniti vrstico, ki se glasi

console|con80x25:\
v vrstico
linux|console|con80x25:\

(Morda je v tej vrstici še beseda dumb, če je, jo odstranite.)

Če želite, da bo vaš urejevalnik besedil deloval normalno, morate morda najprej napisati TERM=console (za školjki bash in ksh) ali setenv TERM console (csh, tcsh).

Nekateri programi namesto datoteke /etc/termcap uporabljajo datoteko /usr/lib/terminfo. Za uporabo takšnih programov morate nadgraditi terminfo, ki je del ncurses.

9.3 lp1 on fire

(lp1 gori)

To je šala/tradicionalno sporočilo o napaki, ki sporoča, da vaš tiskalnik sporoča neko napako, vendar status te napake ni pravilen. Morda nastane zaradi V/I ali prekinitvenih konfliktov - glejte nastavitve vaših kartic. Nekateri ljudje sporočajo, da dobijo to napako, ko je tiskalnik ugasnjen. Upajmo, da v resnici ne gori ...

V novejših jedrih se sporočilo glasi

lp1 reported invalid error status (on fire, eh?).

9.4 INET: Warning: old style ioctl... called!

(INET: Pozor: kličete zastarel ioctl.)

Poskušate uporabljati stare pripomočke za nastavitev omrežja. Nove najdete na mestu ftp://ftp.linux.org.uk/pub/linux/Networking/PROGRAMS/NetTools/ (žal le izvorno kodo).

Upoštevajte, da teh programov ne morete uporabljati enako kot starejših. Glejte NET-2 HOWTO za navodila o pravilni nastavitvi starejših omrežnih programov. Še bolje: glejte NET-3 HOWTO in nadgradite vaše omrežno programje.

9.5 ld: unrecognized option '-m486'

(ld: neznana izbira '-m486')

Uporabljate staro različico povezovalnika ld. Namestite novejši paket binutils - vsebuje tudi najnovejši ld. Glejte na ftp://tsx-11.mit.edu/pub/linux/packages/GCC/, datoteka je binutils-2.6.0.2.bin.tar.gz.

9.6 GCC javi notranjo napako: Internal compiler error.

Če je napaka ponovljiva (tj. se vedno pojavi na istem kraju na isti datoteki - tudi, če ponovno zaženete računalnik in poskusite še enkrat, s stabilnim jedrom), ste odkrili hrošč prevajalnika GCC. Pošljite opis hrošča razvijalcem - za podrobnosti glejte dokumentacijo GCC Info (C-h i v Emacsu in izberite GCC) - prepričajte se, da imate zadnjo dostopno verzijo GCC-ja.

Težava pravzaprav verjetno ni specifična Linuxu; če niste prevajali programa, ki ga prevaja veliko uporabnikov Linuxa, ne pošiljajte poročila o napaki v skupine comp.os.linux.*.

Če napaka ni ponovljiva, imate verjetno probleme s pomnilnikom - glejte razdelek ,,make pravi Error 139``.

9.7 make pravi Error 139

(Napaka št. 139.)

Vaš prevajalski gonilnik (gcc) je izvrgel posmrtne ostanke. Verjetno imate pokvarjeno, hroščato ali staro verzijo GCC-ja - nabavite najnovejšo izdajo. Lahko pa vam tudi zmanjkuje izmenjalnega prostora - za več informacij glejte razdelek ,,Moj računalnik deluje zelo počasi, ko uporabljam GCC/X/...``.

Če to ne odpravi težave imate verjetno problem s pokvarjenim pomnilnikom ali diskom. Preverite frekvenco ure, čakalna stanja in osvežilne čase za vaše čipe SIMM in predpomnilnik (včasih se moti tudi strojni priročnik). Če je vse nastavljeno kot mora biti, imate najbrž zanič SIMM-e ali matično ploščo ali trdi disk ali krmilnik.

Kot ostali Unixi, je tudi Linux zelo dober preizkuševalnik pomnilnika - mnogo boljši kot dosovski, posebej za to namenjeni, programi.

Poročajo, da povzročajo kloni nekaterih matematičnih koprocesorjev x87 določene težave; poskusite prevesti jedro z emulacijo matematičnih ukazov, glejte ,,Kako prevedem/nadgradim svoje jedro?``. Morda boste morali uporabiti v LILO-vem pozivniku ukaz no387, da bo jedro uporabljalo emulacijo, ali pa bo emulacijo uporabljalo samo včasih, večinoma pa pravi koprocesor.

Veliko več informacij o tem problemu najdete na svetovnem spletu na http://www.bitwizard.nl/sig11/.

9.8 shell-init: permission denied, ko se prijavim.

Branje in poganjanje programov v vašem korenskem imeniku in vseh imenikih do vašega domačega mora biti dostopno vsem. Za odpravo problema glejte stran v priročniku za chmod (man chmod) ali kakšno knjigo o Unixu.

9.9 No utmp entry. You must exec ..., ko se prijavim.

Vaša datoteka /var/run/utmp je zavožena. V vaših prijavnih skriptih /etc/rc.local ali /etc/rc.d/* morate imeti vrstico:

> /var/run/utmp

Glejte razdelek ,,Zavozil sem svoj sistem in se ne morem prijaviti, da bi ga popravil``. Vedite, da lahko najdete utmp tudi v imenikih /var/adm/ ali /etc/ v starejših sistemih.

9.10 Warning--bdflush not running.

Sodobna jedra uporabljajo boljšo strategijo za pisanje predpomnjenih diskovnih blokov. Poleg sprememb v jedru to vključuje tudi zamenjavo starega programa, ki je izpisoval vse na vsakih 30 sekund, z novejšim, bolj izpiljenim demonom (pravzaprav z dvema), imenovanim bdflush.

Nabavite datoteko bdflush-n.n.tar.gz z mesta, na katerem ste dobili izvorno kodo jedra (razdelek ,,Kako nadgradim/prevedem svoje jedro?``) in ga prevedite in namestite; zagnati se mora pred običajnim zagonskim preverjanjem datotečnega sistema. Novi demon bo odlično deloval tudi s starimi jedri, zato ni razloga, da bi še obdržali starega.

9.11 Warning: obsolete routing request made.

(Pozor: poslali ste zastarelo zahtevo po usmerjanju.)

Nikar si ne delajte skrbi; to pomeni le, da je različica vašega programa route nekoliko zastarela, glede na jedro. Sporočilo lahko izklopite tako, da dobite novo različico route z istega mesta kot izvorno kodo jedra (razdelek ,,Kako nadgradim/prevedem svoje jedro?``).

9.12 EXT2-fs: warning: mounting unchecked filesystem.

(EXT2-fs: pozor: nameščam nepregledan datotečni sistem.)

Pognati morate e2fsck (ali fsck -t ext2, če ga imate) z izbiro -a, ki pobriše zastavico ,,umazanosti`` in potem na čist način odmesti particijo po vsakem pravilnem izklopu sistema.

Najlažje to storite z najnovejšimi ukazi fsck, umount in shutdown. Dobite jih v paketu Rika Faitha util-linux (glejte razdelek ,,Kako dobim stvari za Linux po FTP-ju?``). Prepričajte se, da jih prijavni skripti /etc/rc* uporabljajo pravilno.

NB: Ne poskušajte preverjati datotečnega sistema, ki je nameščen v bralnem-pisalnem načinu - to vključuje korensko particijo, če ob zagonu ne vidite sporočila

VFS: mounted root ... read-only

Urediti morate tako, da se korenski datotečni sistem namesti le v bralnem načinu, se preveri, če je to potrebno, in potem namesti v bralno-pisalnem načinu. Preberite dokumentacijo, ki pride poleg util-linux za podrobnosti.

Upoštevajte, da morate določiti pri ukazu mount izbiro -n in tako preprečiti, da bi osvežil /etc/mtab, saj je korenski datotečni sistem še vedno le-bralni in lahko sicer mount spodleti!

9.13 EXT2-fs warning: maximal count reached.

To sporočilo izpiše jedro, ko namesti datotečni sistem, označen kot ,,čist``, katerega ,,število priklopov po zadnjem preverjanju`` pa presega določeno vrednost. Rešitev je poiskati zadnjo različico uporabnih programov za ext2fs (v času pisanja je to e2fsprogs-0.5b.tar.gz) na običajnih mestih (glejte razdelek ,,Kako dobim stvari za Linux po FTP-ju?``).

Največje število priklopov (mount) lahko vidite in spremenite s programom tune2fs iz tega paketa.

9.14 EXT2-fs warning: checktime reached.

(Čas za pregled datotečnega sistema.)

Jedra od verzije 1.0 naprej podpirajo preverjanje datotečnega sistema na določen čas ali na določeno število priklopov. Nabavite najnovejšo različico uporabnih programov za ext2fs (glejte razdelek ,,EXT2-fs warning: maximal count reached.``).

9.15 df izpiše Cannot read table of mounted filesystems.

Verjetno je nekaj narobe z datoteko /etc/mtab ali /etc/fstab. Če imate skoraj novo različico programa mount, morate ob zagonu izprazniti ali pobrisati datoteko /etc/mtab (to določite v /etc/rc.local ali /etc/rc.d/*), nekako takole:

rm -f /etc/mtab*

Nekatere različice SLS naredijo vnos za korensko particijo v /etc/mtab z uporabo rdev v /etc/rc*. To je napačno - nove različice ukaza mount to storijo samodejno.

Druge različice SLS imajo takšno vrstico v /etc/fstab:

/dev/sdb1 /root ext2 defaults

Tudi to je napačno, /root bi se moralo glasiti preprosto /.

9.16 fdisk izpiše Partition X has different physical/logical ...

Če je particijsko število (X, zgoraj) enako 1, je to enak problem kot v razdelku ,,fdisk: Partition 1 does not start on cylinder boundary``.

Če se particija začne ali konča s številko cilindra, večjo od 1024, je to zato, ker se standardna dosovska informacija o geometriji diska ne zna spopadati s števili cilindrov, večjimi od 10 bitov. Glejte razdelek ,,Kako naj prepričam Linux, da bo delal z mojim diskom?``.

9.17 fdisk: Partition 1 does not start on cylinder boundary

Verzija fdisk-a, ki pride poleg veliko Linuxaških sistemov, ustvari particije, ki ne ustrezajo niti lastnemu preverjanju. Žal ne morete storiti veliko, če ste že namestili svoj sistem, razen, da prepišete podatke s particije, jo pobrišete in nanovo ustvarite in prepišete podatke nazaj.

Problemom se lahko izognete z uporabo najnovejšega fdisk-a, ki je v paketu Rika Faitha util-linux (dostopnega na vseh običajnih mestih za FTP). Alternativa temu, če ustvarjate novo particijo št. 1, ki se začne na prvem cilindru, bi bila, da naredite naslednje (za ustvaritev particije, ki je všeč fdisk-u):

  1. Na običajen način naredite particijo št. 1 s fdisk-om. Izpis p bo izpisal pritožbo, da je s particijo nekaj narobe.
  2. Napišite u, da nastavite sektorski način in spet naredite p. Prepišite številko s stolpca End.
  3. Pobrišite particijo št. 1.
  4. Še vedno v sektorskem načinu, ponovno ustvarite particijo št. 1. Nastavite prvi sektor tako, da se bo ujemal s številom sektorjev na sled. To je sektorsko število prve vrstice izhoda p. Nastavite zadnji sektor na vrednost, opisano zgoraj v drugi točki.
  5. Napišite u za resetiranje cilindrskega načina in nadaljujte z drugimi particijami.

Prezrite sporočila o nealociranih sektorjih - nanašajo se na sektorje prve sledi razen tistih iz glavnega zagonskega zapisa (Master Boot Record), ki se ne uporabljajo, če zaženete prvo particijo v 2. sledi.

9.18 fdisk izpiše partition n has an odd number of sectors.

PC-jeva diskovna particijska shema deluje s 512-zlogovnimi sektorji, vendar Linux uporablja bloke velikosti 1 Kb. Če imate particijo z lihim številom sektorjev, ostane zadnji sektor neuporabljen. Prezrite sporočilo.

9.19 mtools izpiše cannot initialize drive XYZ

To pomeni, da mtools ne more dostopati do pogona. Vzrokov je lahko več.

Pogosto je to zaradi napačnih dovoljenj disketnih napravah (/dev/fd0* in /dev/fd1*) - uporabnik, ki kliče mtools, mora imeti ustrezen dostop. Za podrobnosti poglejte referenčni priročnik, kako se uporablja chmod.

Večina verzij mtools, ki jih dobite poleg Linuxa (a ne standardna verzija GNU), uporablja vsebino datoteke /etc/mtools za podatek o tem, katere naprave in gostote zapisa naj uporablja, namesto da bi imela to informacijo prevedeno v izvedljivi datoteki. Pogosto to sploh ni dokumentirano.

Najlažji način za dostop do dosovskih datotek (predvsem tistih na particijah trdega diska) najdete v razdelku ,,Kako dostopam do datotek na dosovski particiji ali disketi?``. Pazite, da ne boste nikoli uporabljali mtools za dostop do datotek na particiji, priklopljeni z datotečnim sistemom msdosfs.

9.20 Na začetku zaganjanja sistema: Memory tight

To pomeni, da imate zelo veliko jedro, kar pomeni, da mora Linux opravljati posebne čarovnije s pomnilnikom, da bi se lahko zagnal z BIOS-a. To dejstvo ni povezano s količino fizičnega pomnilnika v vašem stroju. Ignorirajte sporočilo ali prevedite jedro le z gonilniki in lastnostmi, ki jih potrebujete (glejte vprašanje ,,Kako nadgradim/prevedem svoje jedro?``).

9.21 Moj sistemski dnevnik pravi `end_request: I/O error, ...'.

To sporočilo o napaki in podobna sporočila skoraj vedno kažejo na strojno napako, povezano s trdim diskom.

To je splošen indikator strojne napake. Edini način s katerim preprečite nadaljno izgubo podatkov je popoln pravilen izklop sistema (s shutdown). Zagotoviti morate tudi, da so vsi podatki na pogonu rezervno arhivirani in jih obnoviti na delujočem trdem disku.

To sporočilo o napaki lahko pomeni tudi slabo povezavo s pogonom, posebno pri doma narejenih sistemih. Če sami nameščate disk IDE, vedno uporabite nove kable. Najbrž je to dobra zamisel tudi pri diskih SCSI.

V nekem primeru je ta problem sovpadal z ozemljitvenimi problemi med sistemsko ploščo in ohišjem enega strojev. Preden zvalite krivdo na trdi disk, se prepričajte, da so vse električne povezave čiste in trdne.

[Peter Moulder, Theodore T'so]

9.22 You don't exist. Go away.

(Ne obstajaš. Izgini!)

Ne gre za okužbo z virusom. :-) To sporočilo pride od programov kot so write, talk in wall, če klicajoča zastavica UID ne ustreza nobenemu uporabniku (verjetno zato, ker je datoteka /etc/passwd pokvarjena) ali če zveza (navadno psevdoterminal) ni pravilno zabeležena v utmp (verjetno zato, ker ste jo vzpostavili na čuden način).


Naprej Nazaj Kazalo