Naprej Nazaj Kazalo

7. Kako naredim to ali izvem ono?

7.1 Kako vem, če lahko moj notesnik poganja Linux?

Na to vprašanje ni določnega odgovora, saj se strojna oprema notesnikov nenehno razvija in usposobitev zaslona X, zvoka, vmesnikov PCMCIA, modema in tako naprej lahko zahteva precej napora.

Večina notesnikov na trenutnem tržišču, na primer, uporablja ,,Winmodeme``, ki ne delujejo z Linuxom zaradi lastniških strojnih vmesnikov. Celo notesniki, ki so potrjeni kot ,,združljivi z Linuxom`` morda niso popolnoma združljivi.

Edini notesnik na tržišču, ki ima v času tega pisanja modem, združljiv z Linuxom, je Sony Vaio. Obstaja tudi IBM Thinkpad, ki je potrjeno združljiv z distribucijo Red Hat, a to očitno ne vključuje modema.

Na poštni listi linux-laptop, ki jo gosti strežnik vger.rutgers.edu, boste lahko izvedeli najnovejše informacije ali vprašali druge uporabnike o njihovih izkušnjah s prenosniki. Poglejte razdelek ,,Katere poštne liste obstajajo?``.

Domača stran poštne liste za Linux na računalnikih IBM Thinkpad je http://www.topica.com/lists/linux-thinkpad/.

Drugo poštno listo o Thinkpadu gosti http://www.bm-soft.com/. Pošljite e-pošto z besedo ,,help`` v telesu sporočila na majordomo@www.bm-soft.com.

Domača stran Linux Laptop je na http://www.cs.utexas.edu/users/kharker/linux-laptop/.

Domača stran za Linux na računalnikih IBM Thinkpad je na http://peipa.essex.ac.uk/tp-linux/.

Za informacije o motečih zunanjih napravah, kot so enote Zip in CD-ROM prek vzporednih vrat, si oglejte domačo stran Linux Parallel Port Home Page na http://www.torque.net/linux-pp.html.

Če potrebujete zadnjo različico servisnega paketa za kartice PCMCIA, jo dobite v ftp://cb-iris.stanford.edu/pub/pcmcia/. Nameščeno boste morali imeti tudi izvorno kodo jedra. Zagotovo prej preberite PCMCIA-HOWTO, ki je vključen v distribucijo.

7.2 Kako se lahko v tekstovnem načinu pomikam nazaj?

Na standardni slovenski (in tudi na ameriški) tipkovnici lahko uporabite kombinacijo Shift+PgUp ali PgDn (uporabiti morate sive tipke, ne tistih na numerični tipkovnici). Pri ostalih tipkovnicah glejte preslikave v datoteki /usr/lib/keytables; funkciji ScrollUp in ScrollDown lahko obesite na poljubno tipkovno kombinacijo - lahko jih, npr., preslikate na tipke, ki jih premore 84-tipkovna tipkovnica za AT.

Program screen, http://vector.co.jp/vpack/browse/person/an010455.html vam priskrbi vmesni pomnilnik z zgodovino zaslona, po kateri lahko iščete ključne besede, in možnost izdelave ,posnetkov` tekstovnih zaslonov.

Velikosti pomika nazaj ne morete poljubno nastaviti, saj je izveden s pomočjo video pomnilnika, ki shranjuje pretekli tekst. Lahko pa dosežete večji spomin pomika na vsakem navideznem zaslonu (virtual console) tako, da zmanjšate skupno število navideznih zaslonov - glejte datoteko linux/tty.h.

7.3 Kako lahko preklapljam med navideznimi zasloni? Kako jih omogočim?

V tekstovnem načinu pritiskajte za preklop med zasloni od tty1 do tty12 kombinacije od Alt-F1 do Alt-F12. AltGr-F1 preklopi na tty13 itd. Če želite preklopiti zaslon pod okoljem X window, morate pritisniti Ctrl-Alt-F1 itd.; Alt-F7 ali podobno, za preklop nazaj v grafični način.

Če želite uporabljati navidezni zaslon pri navadni prijavi v sistem, mora biti naveden v datoteki /etc/inittab, ki ureja kateri terminali in navidezni zasloni imajo prijavne pozivnike. Sistem X potrebuje za zagon vsaj en prost navidezni zaslon.

7.4 Kako nastavim časovni pas?

Spremenite tekoči imenik v /usr/lib/zoneinfo; nabavite paket timezone, če nimate tega imenika. Izvorna koda je dostopna v imeniku ftp://metalab.unc.edu/pub/Linux/system/admin/time/.

Potem napravite simbolno povezavo z imenom localtime, ki kaže na eno od datotek v tem imeniku (ali v podimenikih), in še eno simbolno povezavo imenovano posixrules, ki kaže na localtime. Primer:

$ ln -sf Europe/Ljubljana localtime 
$ ln -sf localtime posixrules
$ ln -sf localtime posixtime

Učinek bo takojšen - poskusite date(1).

Stran referenčnega priročnika o tzset opisuje nastavitev časovne zone. Nekateri programi prepoznajo okoljsko spremenljivko TZ, a to ni v skladu s POSIX-om.

Prepričajte se tudi, da je ura vašega jedra Linuxa nastavljena na pravilen univerzalni čas GMT - napišite date -u in preverite, če je izpisan pravilen univerzalni čas. (Glejte tudi ,,Računalnik kaže napačen čas``.)

7.5 Katero različico Linuxa in kakšno ime računalnika uporabljam?

Napišite:

$ uname -a

7.6 Kako vključim ali izključim izmet posmrtnih ostankov programov (core dumps)?

Z uporabo ukaza ulimit v ukazni lupini bash, ukaza limit v tcsh, ali rlimit v ksh. Glejte ustrezne strani referenčnega priročnika (man) za podrobnosti.

Ta nastavitev se tiče vseh programov, ki jih poženete iz te ukazne lupine (neposredno ali posredno), ne celotnega sistema.

Če želite privzeti vključitev ali izključitev izpisa posmrtnih ostankov vseh procesov, lahko spremenite ustrezno nastavitev v datoteki linux/sched.h - glejte definicijo INIT_TASK, poglejte tudi v linux/resource.h.

7.7 Kako nadgradim/prevedem svoje jedro?

Glejte prevod spisa Kernel-HOWTO ali datoteko README, ki je priložena izdajam jedra na ftp://ftp.cs.helsinki.fi/pub/Software/Linux/Kernel/ in na zrcalnih mestih. (Vprašanje ,,Kako dobim stvari za Linux po FTP-ju?``.) Morda imate na sistemu že nameščeno kakšno različico izvorne kode jedra. Vendar je ta različica najbrž rahlo zastarela, če ste jo dobili kot del standardnih distribucij Linuxa (to sploh ni težava, če želite vaše jedro le še enkrat prevesti z novimi nastavitvami, a je težava, če ga morate nadgraditi).

Pri novejših jedrih lahko (in morate) z ukazom make narediti vse naslednje tarče. Spomnite se, da lahko z enim samim klicem ukaza make določite tudi več tarč.

# make clean dep install modules modules_install

Spomnite se tudi osvežiti modulske odvisnosti.

# depmod -a

Ta ukaz se lahko samodejno požene ob zagonu sistema. Na sistemih Debian/GNU Linux je ukaz del skripta /etc/init.d/modutils in ga lahko povežete na primerno mesto v imenikih /etc/rc(x).d/. Za več informacij o ukazu depmod poglejte stran v referenčnem priročniku.

Preverite, da uporabljate najnovejšo različico pripomočkov modutils, kot tudi drugih podpornih paketov. Za podrobnosti poglejte v datoteko Documentation/Changes v drevesu izvorne kode jedra, zagotovo pa preberite tudi datoteko README paketa modutils.

Ne pozabite, da morate po kopiranju novega jedra v vašo korensko particijo pognati lilo, če hočete pozneje z njim zaganjati računalnik - novejše različice jedra imajo v ta namen posebno tarčo ,,zlilo`` v datoteki Makefile; poskusite

make zlilo
.

Na trenutnih sistemih pa lahko preprosto prepišete datoteko zImage ali bzImage (iz imenika arch/i386/boot/) na imenik /boot/ v korenskem datotečnem sistemu, ali na disketo z uporabo ukaza dd. Glejte tudi vprašanje ,,Kako prepričam LILO, da zažene sliko jedra?``

Jedra z lihimi srednjimi številkami (angl. minor version) različic (npr. 2.1.*, 2.3.*) so preizkusne izdaje jeder; stabilna jedra imajo sode srednje številke (2.0.*, 2.2.*). Če želite preskušati razvojna jedra, se boste verjetno prijavili na poštno listo linux-kernel, glejte razdelek ,,Katere poštne liste obstajajo?``.

Spletna stran http://www.kernelnotes.org/ ponuja precej informacij in povezav na druge strani, ki ponujajo informacije o popravkih jedra Linuxa.

Glejte tudi vprašanje ,,Nadgradila sem jedro, zdaj pa mi ne deluje kartica PCMCIA``.

7.8 Ali lahko z delitvijo prekinitev uporabljam več kot 3 zaporedne priključke?

Da, toda hkrati ne boste mogli uporabljati dveh običajnih priključkov, ki si delita prekinitev (brez nekaj trikov). To je omejitev arhitekture vodila ISA.

Glejte Serial-HOWTO za informacije o morebitnih rešitvah in ovinkih okoli tega problema.

7.9 Kako lahko osvežim (na primer) sistemsko dokumentacijo za Perl?

Ker se izvorna koda in dokumentacija za program nabirata na strojih, ki so že dolgo v uporabi, se je dobro seznaniti z ,,načinom, kako to počne Unix``, da boste zagotovo vedeli, kaj imate na sistemu. Na kratko, naj namesto vas to stori računalnik v ozadju.

Naslednji lupinski skript uporablja programe find, egrep in sed za iskanje besedilnega niza ,,=head1``, ki nakazuje začetek dokumentacijskega modula za Perl POD (angl. Plain Old Documentation), po hierarhiji imenikov. Potem zgradi in izvede lupinski skript, ki iz teh datotek generira oblikovano dokumentacijo.

Programa, ki zares oblikujeta besedilo, sta pod2man in pod2text. To sta skripta v perlu, ki kličeta perlovske knjižnične module. Skriptu bi lahko dodali tudi programa pod2latex in pod2html, če bi jih imeli v sistemu. Spodnji skript shranite v datoteko ,,makepods`` in potem naredite to datoteko za izvedljivo z lupinskim ukazom:

chmod +x makepods

Potem ga lahko izvajate v trenutnem imeniku z ukazom:

./makepods

tukaj prerežite


#!/bin/sh
rm -f /tmp/find.tmp
#
#   makepods (C) 1999 by Robert Kiesling
#   This program is free software; it is distributed under the
#   terms of the GNU General Public License, available at
#   http://www.gnu.org/.  This software comes with no warranty, 
#   and the author disclaims any responsibility for its (mis)use 
#   on your system.  
#
#   WARNING:
#   This program can overwrite Perl library files if you are not 
#   careful!  You have been warned!
#
#   End of legal.  
#   Now back to the program:
#  
# List of the top-level directories that you want to search, 
# separated by spaces:
#
directories='/usr /var'
#
# Extension that the formatted output files should have.
ext="txt"
#
# Program that does the actual formatting.  Possible values are
# "pod2man" and "pod2text."  Your system may have others...
#
converter="pod2text"
#
# Generate a list of files in the 'directories' hierarchy(s) 
# that contain the POD format string '=head1'.
#
for i in  $directories ; do 
        find $i -type f -exec grep -l '=head1' {} \; >/tmp/find.tmp
done
#
# Remove from the list the files we're not interested in;
# e.g., man pages, html pages, vim and Emacs scripts....
#
egrep -v -E '*\.([1-9]|html|vim|el?)' /tmp/find.tmp >/tmp/eg1.tmp
#
# Generate a shell script from the commands, so that stdout is in
# the current directory.  In this example, pod2man and pod2text are 
# the commands used to format each input file from the list generated 
# above, and the output files are given the extension defined by the 
# variable "ext."
#
if [ $converter = "pod2man" ] ; then 
sed     -e "s/^/$converter --section=$ext /g" \
        -e "s^\(/.*\)^\1 >\1^g" \
        -e "s^>/.*/\([^\.]*\).*$^>\1.$ext^g" </tmp/eg1.tmp >/tmp/sed1.tmp
fi
if [ $converter = "pod2text" ] ; then
sed     -e "s/^/$converter /g" \
        -e "s^\(/.*\)^\1 >\1^g" \
        -e "s^>/.*/\([^\.]*\).*$^>\1.$ext^g" </tmp/eg1.tmp >/tmp/sed1.tmp
fi

# Run the script that we've constructed.
sh /tmp/sed1.tmp

#
# Now we're done.  Clean up after ourselves.
#
rm /tmp/find.tmp /tmp/eg1.tmp /tmp/sed1.tmp

# End of makepods script

Ker lupinski skript preiskuje celotno strukturo imenikov, lahko njegovo izvajanje traja kar nekaj časa.

Če ste sistemski administrator, lahko vstavite ta skript med opravila za cron in ga redno izvajate vsak teden, mesec, ali na kak drug interval, tako da vas obvešča po e-pošti o vseh napakah, ki so se zgodile. Če je, na primer, skript makepods v imeniku /usr/local/sbin/ in bi radi shranili oblikovano dokumentacijo v podimenik imenika /usr/local/doc/, lahko cron kliče naslednji lupinski skript, če ga shranite (na tem sistemu) v /etc/cron.d/Weekly/:

#!/bin/sh
cd /usr/local/doc/perl/formatted-pods
/usr/local/sbin/makepods 2>/tmp/mpds.err
mail -s 'Error output of makepod ' root </tmp/mpds.err
rm -f /tmp/mpds.err

Ne pozabite izvesti chmod +x, da napravite tudi ta skript za izvedljivega. To je le primer in ni edini način na katerega lahko napoveste opravila za cron. Prosim, poglejte v lokalno dokumentacijo, vaše izkušnje se lahko tudi razlikujejo, avtor ne prevzema nobene odgovornosti za uporabo, napačno rabo, zlorabo, itd.

7.10 Kako naredim zagonsko disketo?

Naredite na njej datotečni sistem z imeniki bin, etc, lib in dev - skratka vse, kar potrebujete. Namestite na njo jedro in uredite, da bo LILO zagnal sistem z diskete (glejte dokumentacijo, priloženo programu LILO, v datoteki lilo.u.*.ps).

Če gradite jedro (ali naročite programu LILO naj naroči jedru) s pomnilniškim diskom enake velikosti kot disketa, se bo pomnilniški disk ob zagonu naložil in namestil kot korenski disk, namesto diskete.

Glejte datoteko Bootdisk-HOWTO.

7.11 Kako preslikam svojo tipkovnico v slovensko, angleško, francosko itd.?

Za novejša jedra vzemite paket kbd s ftp://metalab.unc.edu/pub/Linux/system/Keyboards/kbd-0.90.tar.gz. Prepričajte se, da imate ustrezno različico; uporabljati morate pravo preslikavanje tipkovnice za svoje jedro.

Pri starejših jedrih morate v imeniku /usr/src/linux popraviti glavno datoteko Makefile za prevajanje jedra.

Več uporabnih podatkov boste našli v delih Slovenian HOWTO Primoža Peterlina na naslovu http://sizif.mf.uni-lj.si/linux/cee/Slovenian-HOWTO.l1.html in The Linux keystroke and console HOWTO Andriesa Brouwerja na naslovu ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/.

7.12 Kako zagotovim, da bo NumLock privzeto vključen?

Uporabite, na primer, program setleds (v vaših prijavnih skriptih /etc/rc.local ali /etc/rc.d/*):

for t in 1 2 3 4 5 6 7 8 
 do 
     setleds +num < /dev/tty$t > /dev/null 
done

setleds je del paketa kbd (glejte razdelek ,,Kako preslikam svojo tipkovnico v slovensko, angleško, francosko itd.?``.

Ali pa popravite vaše jedro. Urediti morate tako, da bo izraz KBD_DEFLEDS ob prevajanju drivers/char/keyboard.c definiran kot (1 << VC_NUMLOCK).

7.13 Kako nastavim (ali obnovim) uvodne terminalske barve?

Naslednji skript ukazne lupine bi moral delovati za konzole VGA:

for tty in 1 2 4 5 6 7 8; do
    setterm -fore yellow -bold on -back blue -store > /dev/tty$n
done
Zamenjajte yellow in blue z vašima priljubljenima barvama, in uporabite /dev/ttyS$n za terminale na zaporednih vratih.

Če se želite prepričati, da so barve vrnjene v prvotno stanje, ko se ljudje odjavijo (če so jih spremenili), storite takole, zamenjajte vse navedbe ,,getty`` (ali ,,mingetty`` ali ,,uugetty`` ali karkoli že) v datoteki /etc/inittab z navedbami ,,/sbin/mygetty``.

#!/bin/sh
setterm -fore yellow -bold on -back blue -store > $1
exec /sbin/mingetty $@

[Jim Dennis]

7.14 Kako lahko uporabim več kot 128 MB izmenjalnega prostora (swap)?

Uporabite več izmenjalnih particij ali datotek - Linux podpira do 16 izmenjalnih področij, vsako je lahko veliko do 128 MB.

Zelo stara jedra podpirajo le izmenjalne particije velikosti do 16 MB.

Linux na strojih z 8 KB stranmi (8 KB paging) kot Alpha in Sparc64, podpira izmenjalna področja do 512 MB. Omejitev na 128 MB pride iz enačbe PAGE_SIZE*BITSPERBYTE le na strojih s 4 KB velikimi stranmi, na strojih z 8 KB velikimi stranmi pa je ta omejitev 512 MB. Vse podrobnosti so v datoteki mm/swapfile.c.

[Peter Moulder, Gordon Weast]


Naprej Nazaj Kazalo