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.
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.
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.
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).
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.
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.
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šč.
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/.
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.
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
).
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.
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.
To vzpostavi privzeto pisavo konzole Linuxa. Spomnite se držati tipko$ echo <Ctrl-V><Ctrl-O>
Control
in potem vtipkati črko V
ipd. Zaporedje
povzroči popolno resetiranje zaslona. Če so po izpisu binarne datoteke ostali v ukazni vrstici podatki, pritisnite nekajkrat$ echo <Ctrl-V><Esc>c
Ctrl-C
, s tem dobite prazno ukazno vrstico.
[Bernhard Gabler]
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).
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.
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?``.
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.
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.
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.
lsmod
,
ki našteva modulske odvisnosti, kot jih trenutno uporablja vaš sistem. Na primer, del izhoda programa lsmod
je lahko videti takole:
To vam, na primer, da modulmemory_cs 2 0 ds 2 [memory_cs] 3 i82365 4 2 pcmcia_core 8 [memory_cs ds i82365] 3 sg 1 0 bsd_comp 1 0 ppp 5 [bsd_comp] 0 slhc 2 [ppp] 0 serial 8 0 psaux 1 0 lp 2 0 Module Pages Used by
memory_cs
potrebuje že prej
naložena modula ds
in pcmcia_core
. Ne pove pa vam,
da morate ob zagonu sistema zaradi preprečevanja preračunavanja
modulskih odvisnosti, imeti tudi standardne module serial
,
lp
, psaux
in druge, da preprečite napake, ko z
insmod
vključujete podprograme pcmcia
. V datoteki
/etc/modules
boste izvedeli, katere module sistem trenutno
nalaga in v kakšnem vrstnem redu. Shranite izvod te datoteke za
poznejša sklicevanja, dokler nimate uspešno nameščenih modulov novega
jedra. V datoteko shranite tudi izhod pripomočka lsmod
,
na primer z ukazom:
lsmod >lsmod.old-kernel.output
zImage
bodisi bzImage
, na disketo. Za to
pojdite na imenikarch/i386/boot
(če nimate klona Intela,
popravite imenik za vašo arhitekturo), in, z disketo v disketniku,
izvedite ukaz:
To predpostavlja, da gradite jedro z ukazom ,,dd if=bzImage of=/dev/fd0 bs=512
make bzImage
``
in da je vaš disketnik /dev/fd0
. To na disketo zapiše
zagonsko sliko jedra in vam dovoljuje, da preizkusite novo jedro ne da
bi prepisali obstoječega, ki ga LILO zažene s trdega diska.metalab.unc.edu
in na drugih arhivnih mestih za Linux.
Preden namestite pripomočke Card Services, spremenite ime datotek
/sbin/cardmgr
in /sbin/cardctl
v
/sbin/cardmgr.old
in /sbin/cardctl.old
. Stari
različici teh pripomočkov nista združljivi z zamenjavama, ki ju
namesti Card Services. Tako boste lahko v primeru težav obnovili
prvotno stanje. Ko prikrojujete Card Services z ukazom "make config",
se prepričajte, da gradbeni skripti vedo, kje najdejo nastavitve
jedra, z ugotavljanjem informacij iz tekočega jedra ali s sporočilom
gradbenemu postopku o mestu novega jedra v drevesu izvorne kode.
Korak "make config" bi se moral končati brez napak. Namestitev
modulov paketa Card Services jih odloži v imenik
/lib/modules/<različica-novega-jedra>/pcmcia
.lsmod
in
ugotovite module, ki jih je jedro naložilo ob zagonu, ter primerjajte
ta podatek z izpisom modulov, ki jih je nalagalo staro jedro, ki ste
ga shranili v prvem koraku postopka. (Če niste shranili izpisa
lsmod
za staro jedro, se vrnite in ponovno zaženite staro
jedro, ter shranite ta izpis.)/vmlinuz
. Ne pozabite osvežiti zagonskega
sektorja tako, da po namestitvi slike jedra na trdem disku poženete
ukaz lilo
.Poglejte tudi vprašanja ,,Kako nadgradim/prevedem svoje jedro?`` in ,,Modprobe can't locate module XXX, in podobna sporočila``.