Configuration HOWTO

By Guido Gonzato, guido@ibogfs.cineca.it. Svensk översättning: Linus Åkerlund, uxm165t@tninet.se v1.2.2, 10 April 1998. Svensk översättning: 1 juni 1998.

Denna HOWTO siktar in sig på att göra fininställningen av din nyligen installerade Linux-burk snabbare och enklare. Här hittar du en upp- sättning inställningar för de vanligaste applikationerna, så att du kan börja arbeta med ett användbart system.

Innehåll

1 Inledning 2 1.1 Varför denna HOWTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Vad vi kommer att konfigurera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Översättarens anmärkningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Generell systemkonfigurering 3 2.1 Tangentbord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Saker som har att göra med kärnan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 sendmail-låsning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.4 Hårddiskprestanda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.5 Zip-drive i parallellporten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.6 Enhets-drivrutiner (Device drivers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.7 Uppstartsmeddelanden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.8 Värdmaskinens namn (Hostname) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.9 Musen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.10 Monteringsplatser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.11 lilo (8) och LOADLIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.11.1 Säkerhetstips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.12 Skrivarkonfigurering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Programkonfigurering 9 3.1 bash(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 ls(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3 less(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.4 emacs(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.5 joe(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.6 jed(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.7 efax(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.8 TeX med vänner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.9 PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.10 POP-klient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.11 X-Window-systemet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.12 Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.13 Användarens inställningar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.14 Uppgradera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4 Slutet 20

4.1 Upphovsrätt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2 Läsarrespons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3 Tillkännagivanden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

1 Inledning

1.1 Varför denna HOWTO

Jag har installerat Linux på många PCr och lagt märke till att de aktuella distributionerna är jättebra, men, irriterande nog, saknar vissa grund-läggande inställningar. De flesta applikationer kan startas direkt efter installeringen, men vissa ej. Vidare har jag lagt märke till att vissa frågor dyker upp på c.o.l.setup om och om igen.

För att försöka göra något åt denna situation, och för att ha en påminnelse, när jag ska utföra nya installeringar, så skrev jag denna gör-si-och-gör-så-lista, som jag sedan utvidgade till denna HOWTO. Här hittar du en handfull konfigurations-exempel för de vanligaste applikationerna, programmen och tjänsterna, vilka bör spara dig en hel del tid och arbete.

Några av exemplen som beskrivs i den här HOWTOn är till viss del distributions-beroende. Jag har bara tillgång till Red Hat- och Caldera OpenLinux-maskiner, så se inte mina tips som guds ord om du använder Slackware, Debian eller andra distributioner. Hur som helst, att läsa dokumentation och HOWTOn lönar sig alltid, så jag råder dig att göra det i alla fall.

1.2 Vad vi kommer att konfigurera

Det finns ändlösa exempel på hårdvarukombinationer till PC, men enligt min erfarenhet är en ganska vanlig: en PC, utrustad med en stor hårddisk, vilken är uppdelad i tre partitioner (en för DOS/Windows, en för Linux och en för ”swap”), ljudkort, modem, CD-ROM-spelare, skrivare och mus. En Zip-drive i parallellporten börjar också bli väldigt vanligt.

Det är denna hårdvara jag kommer förutsätta att du vill konfigurera, men det är enkelt att tillämpa de följande tipsen på andra kombinationer. Det förutsätts, implicit, att du är root när du editerar/fixar/”hackar”.

Och nu är det dags att rulla upp ärmarna, pojkar.

1.3 Översättarens anmärkningar

Uppdaterade dokumentet 13/11-98, genom att byta ut översättningen av "permissions" till "rättigheter", istället för det sämre "tillåtelser"

2 Generell systemkonfigurering

2.1 Tangentbord

Först av allt så går vi igenom hur du ska konfigurera tangentbordet. Om du har missat det här steget under installeringen, eller om du har bytt ut tangentbordet, så måste du:

• välja en passande ”key table” från /usr/lib/kbc/keytables; t.ex. it.map, om du har ett italienskt tangentbord;

• editera filen /etc/sysconfig/keyboard, så att det står: KEYTABLE="/usr/lib/kbd/keytables/it.map";

• för att ställa in tangent-repetition och -fördröjning får du lägga till den här raden till

/etc/rc.d/rc.sysinit eller, om du har Caldera, /etc/rc.d/rc.boot:
     /sbin/kbdrate -s -r 16 -d 500  # eller vad du nu vill ha

Nästa gång du startar upp datorn kommer tangentbordet fungera bra. För att ladda din nya ”key table”, utan att behöva starta om datorn kan du cd-a till /etc/rc.d/init.d och köra kommandot ./keytable

start.

2.2 Saker som har att göra med kärnan

Enligt min åsikt är nästa steg att bygga en kärna som passar ditt system. Det är väldigt enkelt, men i alla fall, läs README-filen i /usr/src/linux/ eller Kernel-HOWTOn. Tips:

• tänk noga över dina behov. Att välja en kärn-konfiguration, ”patcha” den och kompilera den en gång för alla, är mycket mer produktivtän att omkonfigurera och kompilera om den varje månad; det här stämmer extra bra om din Linux-burk är en server. Glöm inte att ta med stöd för all hårdvara det är troligt att du kommer att lägga till i framtiden (t.ex. SCSI, Zip, nätverkskort osv.);

• om din PC är uppbyggd kring en Cyrix-processor, lägg till de rätta ”patcharna” för att öka prestandan.

Information finns på <http://www.linuxhq.com/patch/20-p0591.html> ;

• de som har bärbara datorer kommer att vilja förbättra LCD-skärmens läsbarhet, genom att lägga till ”Noblink-patchen”. Senaste versionen heter noblink-X.X.tar.gz och finns tillgänglig på <ftp:

//sunsite.unc.edu/pub/Linux/kernel/patches/console> . Installera paketet och lägg sedan till

följande rad till din /etc/profile:

     /usr/local/bin/cursor bgreen  # eller någon annan färg

• mer för de som använder bärbara datorer: om du planerar att använda ett PCMCIA-fax/modem, kompilera inte in seriellt stöd (serial support) som en modul; kompilera in det i själv kärnan, annars kommer inte ditt PCMCIA-modem att fungera;

• kom ihåg att Linux inte kommer se ditt ljudkort, om du inte ställer in det ordentligt. I de flesta fall är det lätt, men kom ihåg att kompilera in alla alternativen (glöm inte /dev/dsp och /dev/sound); • om du får sådana där otrevliga meddelanden från modprobe, vilka indikerar att vissa moduler inte kan

hittas, så innebär det att din /etc/conf.modules behöver ställas om. Om du inte använder ipx- och appletalk-modulerna så kan du lägga till följande rader:

          alias net-pf-4 off
          alias net-pf-5 off

• För att spara tid, nästa gång du ska konfigurera om och kompilera om din kärna, så är det en bra idé att spara konfigurationen i en fil och spara den på ett säkert ställe.

2.3 sendmail-låsning

På vissa system låser sendmail maskinen då den startas upp. Ett snabbt sätt att fixa det: se till så att /etc/hosts innehåller en rad som ser ut så här:

     127.0.0.1 localhost

Se också avsnittet 2.8 (Värdmaskinens namn (hostname)).

2.4 Hårddiskprestanda

Din hårddisks prestanda kan förbättras en hel del genom att på ett försiktigt sätt använda hdparm(8). Om din Linux-distribution inte innehåller det, så kan du hitta det på <ftp://sunsite.unc.edu/pub/Linux/

system/hardware> , leta efter en fil som heter hdparm-X.Y.tar.gz.

Jag kan inte ge dig ett allmänt recept eftersom många detaljer beror på din hårddisk och dess ”controller”. Eftersom det finns en risk att du ”grillar” ditt filsystem så råder jag dig att läsa man-sidan noggrant, innan du testar vissa möjligheter. Det allra enklaste du kan göra är att lägga till följande rad till

/etc/rc.d/rc.sysinit:
     /sbin/hdparm -c1 /dev/hda  # första IDE-disken

vilket slår på (E)IDE 32-bitars in/ut-stöd. Angående ”-m”-parametern, det här är vad programmeraren bakom hdparm, Mark Lord, skrev i ett e-brev till mig:

(...) om ditt system använder komponenter från de senaste åren, så kommer det fungera bra. Är de äldre än så, så *kan* problem uppstå (ej troligt). De riktigt buggiga kretsarna var CMD0646 och RZ1000, vilka användes i *stor* utsträckning på 486- och (tidiga) 586- moderkort, för 2-3 år sedan.

2.5 Zip-drive i parallellporten

För att använda parallellports-versionen av Zip-drive så kan du använda den standardiserade drivrutinen som kommer med aktuella (2.x.x) kärnor. Under kärn-konfigureringen, se till att SCSI-stöd och SCSI-disk-stöd finns påslagna (antingen i kärnan, eller som moduler). Kom ihåg att det kan bli konflikter mellan skrivaren och Zip-driven på samma parallell-port.

Zip-diskar säljs förformatterade, med partitionen /dev/sda4. För att få Zippen att fungera, är allt du behöver skriva

     #~ chmod 666 /dev/sda4  # alla kan komma åt Zip-driven
     #~ insmod ppa

och Zippen kan bli monterad som vanligt (det är bäst att du lägger till den sista raden i /etc/rc.d/rc.sysinit). Du kan också komma åt Zip- driven via mtools, genom att lägga till följande

rad i din /etc/mtools.conf:
     drive z: file="/dev/sda4" exclusive

Det finns dock en bättre ppa-drivrutin än den vanliga: ta en titt på <http://www.torque.net/~campbell> .

2.6 Enhets-drivrutiner (Device drivers)

Enheterna i /dev (eller rättare sagt, länkarna till de faktiska enhets- drivrutinerna) kanske inte finns. Se efter vilka enheter din mus, ditt modem och din CD-ROM-spelare motsvarar, och gör sedan följande:

     ~# cd /dev
     /dev# ln -s /dev/cua0 mouse
     /dev# ln -s /dev/cua1 modem
     /dev# ln -s /dev/hdb cdrom

och, om du vill, gör en chmod 666 på dessa enheter (inte länkarna, utan de faktiska enheterna!) för att göra dem fullt åtkomliga för alla användare. Tips: på vissa bärbara datorer är mus-enheten /dev/psaux: tänk på det när du konfigurerar X11.

Vidare kommer du vilja göra floppy-driven tillgänglig för andra användare än root, med chmod 666 /dev/fd*. Det här orsakar vissa säkerhetsproblem, om vilka jag inte känner till detaljerna. Kommentarer är välkomna.

2.7 Uppstartsmeddelanden

Om du vill skräddary dina uppstartsmeddelanden, så titta efter om din /etc/rc.d/rc.local skriver över /etc/issue och /etc/motd. Om de gör det, starta din editor och kör igång.

2.8 Värdmaskinens namn (Hostname)

Att ge kommandot hostname new host name räcker inte riktigt till. För att undvika den fruktade sendmaillåsningen, utför dessa steg:

   • editera /etc/sysconfig/network och byt ut ”hostname” där (t.ex. new host name.localdomain);

• editera /etc/HOSTNAME på motsvarande sätt;

• lägg till det nya namnet på värd-maskinen i /etc/hosts:

          127.0.0.1       localhost  new_host_name.localdomain

2.9 Musen

gpms mus-stöd är användbart för att klippa och klistra i tty-läge, och för att använda musen i vissa applikationer. Se efter så att du har en fil som heter /etc/sysconfig/mouse, vilken innehåller:

     MOUSETYPE="Microsoft"
     XEMU3=yes

Vidare måste du ha en fil som heter /etc/rc.d/init.d/gpm. Du måste naturligtvis se till så att inställningarna är de rätta för din mustyp. Tips: på vissa bärbara datorer är mustypen, MOUSETYPE, ”PS/2”.

Under Caldera är allt du behöver göra att lägga till den här raden till /etc/rc.d/rc.boot:

     /usr/bin/gpm

2.10 Monteringsplatser

Det är praktiskt att ha monteringsplatser för floppyn och andra enheter. T.ex. så kan du göra följande:

     ~# cd /mnt
     /# mkdir a: ; mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip

Detta skapar monteringsplatser för en MS-DOS-floppy, en ext2-floppy, CD-ROMen, en DOS-partition och Zip-driven i parallell-porten.

Modifiera nu /etc/fstab, genom att lägga till följande rader:

     /dev/fd0        /mnt/a:         msdos           user,noauto 0 1
     /dev/fd0        /mnt/floppy     ext2            user,noauto 0 1
     /dev/cdrom      /mnt/cdrom      iso9660         ro,user,noauto 0 1
     /dev/sda4       /mnt/zip        vfat            user,noauto 0 1
     /dev/hda1       /mnt/win        vfat            user,noauto 0 1

Du måste givetvis ange de korrekta enheterna i varje rad. För att kunna komma åt fat32-partitioner, så måste du ”patcha” din kärna, patch och information hittar du på <http://bmrc.berkeley.edu/people/

chaffee/fat32.html> .

2.11 lilo (8) och LOADLIN

Många kör både Linux och DOS/Windows på sina PCr, och vill då datorn startas upp kunna välja vilket operativ-system som skall startas. Låt oss förutsätta att /dev/hda1 innehåller DOS/Windows och att /dev/hda2 innehåller Linux.

Gör följande:

     ~# fdisk
     Using /dev/hda as default device!
     Command (m for help):a
     Partition number (1-4): 2
     Command (m for help):w
     ~#

Det här gör Linux-partitionen möjlig att starta upp ifrån (bootable); detta steg ska utföras av activate, då Lilos QuickInst körs, men det fungerar inte med min Red Hat.

Skriv in följande grundläggande /etc/lilo.conf-fil:

     boot = /dev/hda2
     compact

     delay = 50
     # message = /boot/bootmesg.txt  # skriv ditt eget
     root = current
     image = /boot/vmlinuz  # startar Linux som standard, eftersom det är först
       label = linux
     other = /dev/hda1
       table = /dev/hda
       label = dos

Kör nu /sbin/lilo och du är klar. Eftersom lilo är en så viktig del av installeringen, så rekommenderar jag dig starkt att först läsa dokumentationen i alla fall.

För att starta upp Linux från DOS/Windows, utan att ”resetta”, så kan du stoppa LOADLIN.EXE i en katalog (i DOS-partitionen!), som finns i DOS- sökvägen. Kopiera sedan kärnan till, säg C:\DOS\VMLINUZ. Följande .BAT- fil kommer starta upp Linux:

     rem   linux.bat
     smartdrv /C
     loadlin c:\dos\vmlinuz root=/dev/hda2 r

Om du använder Windows 95, så sätt egenskaperna för den här .BAT-filen så att den startas i MS-DOS-läge.

2.11.1 Säkerhetstips

Att ta en säkerhetskopia av din MBR, innan du installerar Linux, kan rädda dig från en massa besvär. Använd restorrb (vilket kommer med FIPS- paketet) innan installeringen, eller så kan du använda Linux räddnings- diskett (rescue-floppy) och ge kommandot:

     rescue:~# dd if=/dev/hda of=MBR bs=512 count=1

och gör sedan åtminstone två kopior av MBR-filen, vilka du sparar på floppy-diskar. Om olyckan skulle vara framme, kommer du kunna åter- ställa din gamla MBR, genom att skriva:

     rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1

förutsatt att en floppy-disk, vilken innehåller MBR, är monterad på /mnt. Alternativet är att använda en DOS-räddnings-diskett och köra FDISK /MBR

2.12 Skrivarkonfigurering

Red Hat och Caldera har ett trevligt konfigureringsverktyg, printtool. För dig som inte använder någon av dessa distributioner följer den manuella konfigureringen.

Låt oss förutsätta att du har en icke-PostScript-skrivare, som du vill använda till att skriva ut ren text (t.ex. filer med C-kod) och PostScript-filer via Ghostscript, vilket jag förutsätter att du redan har installerat.

Att konfigurera skrivaren innehåller följande steg:

• ta reda på vilken parallell-enhet skrivaren är på: pröva med

          ~# echo "hello, world" > /dev/lp0
          ~# echo "hello, world" > /dev/lp1

och anteckna vilken som fungerar.

• skapa två ”spool”-kataloger:

     ~# cd /var/spool/lpd
     /var/spool/lpd/# mkdir raw ; mkdir postscript

• om din skrivare visar prov på ”trappstegs-effekten” (de flesta bläck- stråleskrivare gör det) så behöver du ett filter. Pröva att skriva ut två rader med

     ~# echo "första raden" > /dev/lp1 ; echo "andra raden" > /dev/lp1

Om utdatan ser ut så här:

     första raden
               andra raden

så spara detta skalprogram som /var/spool/lpd/raw/filter:

     #!/bin/sh
     # Det här filtret gör processen kort med "trappstegs-effekten"
     awk '{print $0, "\r"}'
och gör den körbar med chmod 755 /var/spool/lpd/raw/filter.

• skapa  ett  filter  för  PostScript-emulering.  Spara  följande  filter  som

var/spool/lpd/postscript/filter:
     #!/bin/sh
     DEVICE=djet500
     RESOLUTION=300x300
     PAPERSIZE=a4
     SENDEOF=
     nenscript -TUS -ZB -p- |
     if [ "$DEVICE" = "PostScript" ]; then
             cat -
     else
             gs -q -sDEVICE=$DEVICE \
                     -r$RESOLUTION \
                     -sPAPERSIZE=$PAPERSIZE \
                     -dNOPAUSE \
                     -dSAFER \
                     -sOutputFile=- -
     fi
     if [ "$SENDEOF" != "" ]; then
             printf "\004"
     fi

(i det här exemplet förutsätts att du har en HP DeskJet. Modifiera det så att det passar din skrivare.)

• slutligen, lägg till följande saker till /etc/printcap:

          # /etc/printcap
          lp|ps|PS|PostScript|djps:\
                  :sd=/var/spool/lpd/postscript:\
                  :mx#0:\
                  :lp=/dev/lp1:\
                  :if=/var/spool/lpd/postscript/filter:\
                  :sh:
          raw:\
                  :sd=/var/spool/lpd/raw:\
                  :mx#0:\
                  :lp=/dev/lp1:\
                  :if=/var/spool/lpd/raw/filter:\
                  :sh:

För mera komplicerade och ovanliga skrivarinställningar, ta en titt på Printing-HOWTO.

Om du använder printtool så ska du vara medveten om att GSDEVICE, som väljs av printtool, kommer fungera, men att det inte nödvändigtvis är det bästa för din skrivare. Du bör tänka över om du inte borde fippla lite med filen postscript.cfg. Jag ändrade t.ex. GSDEVICE från cdj500 till djet500, och nu skriver den ut mycket snabbare.

3 Programkonfigurering

Vi ska ta en titt på följande konfigureringsfiler: /etc/profile /etc/bashrc .bashrc .bash profile
.inputrc .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc .abbrevs.sl

.joerc .emacs . Lägg inte till några användare förrän du har konfigurerat färdigt ditt system; du ska stoppa in punktfilerna i /etc/skel.

3.1 bash(1)

Följande huvudfiler skall modifieras, för att skräddarsy bash beteende:

• /etc/bashrc innehåller alla systemvida alias och funktioner;

• /etc/profile innehåller systemvida miljöprylar och startprogram;

• $HOME/.bashrc innehåller användarens alias och funktioner;

• $HOME/.bash profile innehåller användarens miljö-prylar och start-program;

• $HOME/.inputrc innehåller tangentbindningar och andra småsaker.

Exempel på dessa filer visas nedan. Först och främst: /etc/profile. Den används för att ställa in en hel del egenskaper hos din Linux-burk, som du kommer se i de följande avsnitten.

# /etc/profile
# Systemvida miljöer och startprogram
# Funktioner och alias ska finnas i /etc/bashrc
# Den här filen ställer in det följande:
#

#   o sökväg
#   o prompter
#   o några miljövariabler
#   o färg-ls
#   o less
#
# Användare kan köra över dessa inställningar och/eller lägga till
# andra i sina $HOME/.bash_profile
# ställ in en lämplig sökväg
echo $PATH | grep X11R6 > /dev/null
if [ $? = 1 ] ; then   # lägg till saker till sökvägen
  PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."
fi
# låt användaren få reda på: login- och icke-login-skal. Om det är
# login-skalet, ska prompten vara blå; annars magenta. Roots prompt
# är röd.
USER=`whoami`
if [ $LOGNAME = $USER ] ; then
  COLOUR=44
else
  COLOUR=45
fi
if [ $USER = 'root' ] ; then
  COLOUR=41
fi
# lägg in en riktig "escape"-sekvens, istället för ~[. Gör följande:
# emacs: ^Q ESC   vi: ^V ESC   joe: ` 0 2 7   jed: ` ESC
# Ta bort `;1' om du inte gillar fetstils-attributet
ESC=^[
PS1='$ESC[$COLOUR;37;1m$USER:$ESC[37;40;1m\w\$ '
PS2="Continue> "
# inga core-dumpar, tack
ulimit -c 0
# ange umask
if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
  umask 002
else
  umask 022
fi

# några variabler
USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
EDITOR=jed
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE
# slå på färg-ls
eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-F -s -T 0 --color=tty'
# skräddarsy less
LESS='-M-Q'
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
VISUAL=jed
LESSCHARSET=latin1
export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
for i in /etc/profile.d/*.sh ; do
  if [ -x $i ]; then
    . $i
  fi
done

Här är ett exempel på en /etc/bashrc:

# /etc/bashrc
# Systemvida funktioner och alias
# Miljöprylar ska vara i /etc/profile
alias which="type -path"
alias d="ls"
alias dir="d"

Här kommer ett exempel på en .bashrc:

# $HOME/.bashrc
# Globala källdefinitioner
if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi

# det här behövs för att användaren ska få reda på att de är i ett
# icke-login-skal
if [ "$GET_PS1" = "" ] ; then
  COLOUR=45
# sätt in ett riktigt "escape"-tecken, istället för ^[
  ESC=^[
  PS1='$ESC[$COLOUR;37m`whoami`:$ESC[37;40m\w\$ '
  export PS1
fi
# alias
alias cp='cp -i'
alias l=less
alias lyx='lyx -width 900 -height 700'
alias mv='mv -i'
alias rm='rm -i'
alias x=startx
# Några användbara funktioner
inst() # Installera ett .tar.gz-arkiv i den aktuella katalogen.
{ gzip -dc $1 | tar xvf - }
cz() # Lista innehållet i ett .zip-arkiv.
{ unzip -l $* }
ctgz() # Lista innehållet i ett .tar.gz-arkiv.
{
  for file in $* ; do
    gzip -dc ${file} | tar tf -
  done
}
tgz() # Skapa ett .tgz-arkiv á la zip.
{
  name=$1 ; tar -cvf $1 ; shift
  tar -rf ${name} $*
  gzip -S .tgz ${name}
}

Här kommer ett exempel på en .bash profile:

# $HOME/.bash_profile
# Användarspecifika miljö- och start-program
# Den här filen innehåller användardefinierade inställningar, som kör
# över de i /etc/profile

# Ange alias och funktioner
if [ -f ~/.bashrc ]; then
  GET_PS1="NO"  # ändra inte promptfärgen
  . ~/.bashrc
fi
# Ange några "standard"-kataloger
export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology"
# fixa backspace i rxvt 2.45
if [ "$COLORTERM" != "" ] ; then
  stty erase ^?
  ESC=^[  # sätt in en riktig "escape"-sekvens, istället för ^[
  echo -n "$ESC[36l"
fi

Här är ett exempel på en .inputrc:

# $HOME/.inputrc
# tangentbindningar
"\e[1~": beginning-of-line
"\e[3~": delete-char
"\e[4~": end-of-line
# (F1 .. F5) are "\e[[A" ... "\e[[E"
"\e[[A": "info \C-m"
set bell-style visible          # pip inte
set meta-flag On                # tillåt 8-bitars indata (accent-tecken)
set convert-meta Off            # "strippa" inte 8-bitars tecken
set output-meta On              # visa 8-bitars tecken korrekt
set horizontal-scroll-mode On   # "scrolla" långa kommando-rader
set show-all-if-ambiguous On    # efter att TAB tryckts ned

För att få backspace- och delete-tangenterna att fungera korrekt i en xterm, och andra X11-applikationer, så behövs också följande:

• lägg in följande i din .xinitrc:

          usermodmap=$HOME/.Xmodmap
          xmodmap $usermodmap

• lägg in detta i .Xmodmap:

          keycode 22 = BackSpace
          keycode 107 = Delete

vilket fixar konsollen. För att fixa xterm:

• lägg in följande i din .Xdefaults:

          xterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
                  <Key>Delete:        string(0x1b) string("[3~")\n\
                  <Key>Home:          string(0x1b) string("[1~")\n\
                  <Key>End:           string(0x1b) string("[4~")\n\
                  Ctrl<Key>Prior:     string(0x1b) string("[40~")\n\
                  Ctrl<Key>Next:      string(0x1b) string("[41~")
          nxterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
                  <Key>Delete:        string(0x1b) string("[3~")\n\
                  <Key>Home:          string(0x1b) string("[1~")\n\
                  <Key>End:           string(0x1b) string("[4~")\n\
                  Ctrl<Key>Prior:     string(0x1b) string("[40~")\n\
                  Ctrl<Key>Next:      string(0x1b) string("[41~")

rxvt är en aning mer komplicerad, eftersom vissa inkompilerade alternativ påverkas dess beteende. Se exempel-.bash profile ovan.

Mer information finns i man-sidorna för bash(1) och readline(3).

Räkna inte med att alla applikationer fungerar korrekt! Om du t.ex. kör joe i en xterm, så är det vissa tangenter som inte fungerar. Samma sak gäller för rxvt-versioner som är äldre än 2.21.

3.2 ls(1)

ls kan visa kataloglistningar, med färger för att markera olika fil- typer. För att slå på detta ska du lägga till följande rader i /etc/profile:

     eval `dircolors /etc/DIR_COLORS -b`
     export LS_OPTIONS='-F -T 0 --color=tty'

(Om du inte har filen /etc/DIR COLORS, ta bort referensen till den i första raden.) Detta anger miljövariabeln LS COLORS, vilken innehåller färglistan, vilken anges i /etc/DIR COLORS. Observera: fråga mig inte varför, men det här fungerar inte i rxvt-versionen som är äldre än 2.21; använd något annat slags xterm istället. Det verkar som om rxvt har en bugg som hindrar det från att ta in miljön på ett korrekt sätt under vissa omständigheter.

Calderas ls har inte färger, men det finns en motsvarighet till färg-ls. Lägg till följande i /etc/bashrc:

     alias ls="color-ls $LS_OPTIONS"

3.3 less(1)

Med denna suveräna textvisare kan du inte bara bläddra igenom text- filer, utan även gzip-komprimerade filer, tar- och zip-arkiv, man-sidor och allt vad det är. Dess konfigurering innehåller följande steg:

• för att använda less med förflyttnings-tangenterna, lägg in följande textfil, som .lesskey, i din hemkatalog:

          ^[[A   back-line
          ^[[B   forw-line
          ^[[C   right-scroll
          ^[[D   left-scroll
          ^[OA   back-line

     ^[OB   forw-line
     ^[OC   right-scroll
     ^[OD   left-scroll
     ^[[6~  forw-scroll
     ^[[5~  back-scroll
     ^[[1~  goto-line
     ^[[4~  goto-end
     ^[[7~  goto-line
     ^[[8~  goto-end

Kör sedan kommandot lesskey. Detta skapar en binär-fil, .less, vilken innehåller tangentbindningarna.

• skapa en fil /usr/bin/lesspipe.sh, som innehåller:

#!/bin/sh
# Detta är en förprocessor för less. Den används när denna miljö-
# variabel är angiven: LESSOPEN="|lesspipe.sh %s"
lesspipe() {
case "$1" in
*.tar) tar tf $1 2>/dev/null ;; # Se innehållet i .tar- och .tgz-filer
*.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
*.Z|*.z|*.gz) gzip -dc $1  2>/dev/null ;; # Se packade filer korrekt
*.zip) unzip -l $1 2>/dev/null ;; # Titta i arkiv
*.arj) unarj -l $1 2>/dev/null ;;
*.rpm) rpm -q -p -i -l $1 2>/dev/null ;;
*.cpio) cpio --list -F $1 2>/dev/null ;;
*.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1`
  FILE=`echo $FILE | cut -d ' ' -f 2`
  if [ "$FILE" = "troff" ]; then
    groff -s -p -t -e -Tascii -mandoc $1
  fi ;;
*) file $1 | grep text > /dev/null ;
  if [ $? = 1 ] ; then # det är inte något slags text
    strings $1
  fi ;;
esac
}
lesspipe $1

och kom ihåg att göra den körbar med chmod 755 lesspipe.sh. lägg in följande rader i /etc/profile:

     LESS="-M-Q"                     # lång prompt, tyst
     LESSEDIT="%E ?lt+%lt. %f"       # editera översta raden
     LESSOPEN="| lesspipe.sh %s"     # filter
     VISUAL=jed                      # standard-editor; ange din favorit
     LESSCHARSET=latin1              # visa accent-tecken, om det behövs
     export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET

Variabeln LESSCHARSET är beroende av det faktum att jag bor i Italien och vill använda teckenuppsättningen ISO 8859/1 (Gäller även Sverige. övers.anm.) Ni amerikaner, japaner och ryssar bör inte ange den.

3.4 emacs(1)

Jag använder inte emacs, så jag har bara några små råd att ge dig. Vissa emacs-distributioner kommer utan att vara förinställda för färg- och syntax-markering. Skriv detta i din .emacs:

     (global-font-lock-mode t)
     (setq font-lock-maximum-decoration t)

Det här fungerar bara i X11. Jag lämnar arbetet med att gå igenom all emacs-dokumentation, till dig, för att komma på hur du ska ställa in det så att det passar dina behov. Det kan krävas flera månaders ”hackande”...

3.5 joe(1)

Vissa rapporterar att joe fungerar med färger under X11, men inte i tty. Vidare fungerar inte vissa specialtangenter. Vad jag vet så har ingen funnit en lösning på det första problemet; någon föreslog ”hackande” i

/etc/termcap.

Om du stöter på det problemet så är en snabb och skitig (och oelegant) lösning:

     ~$ export TERM=vt100
     ~$ joe min_fil
        (editera din fil)
     ~$ export TERM=linux

3.6 jed(1)

Det här är min favoriteditor: den gör vad jag behöver, den väger lättare och är enklare att konfigurera än emacs och enligt min åsikt emulerar den andra editorer bättre. Många användare på mitt universitet vill ha jed för att emulera EDT, VMS system-editor.

jeds konfigurerings-filer är .jedrc och /usr/lib/jed/lib/*; den förra kan kopieras från jed.rc i den senare katalogen.

• för att få jed att använda vissa specialtangenter korrekt, skapa filen /usr/lib/jed/lib/defaults.sl, vars enda rad ser ut så här:

          () = evalfile("linux");

• editera /usr/lib/jed/lib/linux.sl: ta bort kommentaren från raden som säger Info Directory =

     "/usr/info", och lägg till /bin/mail efter UCB Mailer =;

• att få jed att emulera EDT (eller andra editorer) är rättframt: du behöver bara modifiera några rader i .jedrc. Om du vill använda det numeriska tangentbordets ”+” för att ta bort ord istället för enskilda tecken, lägg till följande till .jedrc:

          unsetkey("\eOl");
          unsetkey("\eOP\eOl");
          setkey("edt_wdel", "\eOl");
          setkey("edt_uwdel", "\eOP\eOl");

efter raden som säger () = evalfile("edt");.

• för att få xjed att använda det numeriska tangentbordet till EDT-emuleringen, infoga följande i

.Xmodmap:
     keycode 77  = KP_F1
     keycode 112 = KP_F2
     keycode 63  = KP_F3
     keycode 82  = KP_F4
     keycode 86  = KP_Separator

Vidare, se till att din /etc/X11/XF86Config innehåller de följande raderna:

     #    ServerNumLock  # must be commented out
         XkbDisable

Detta gäller för XFree 3.2. Om du dock inte använder ett vanligt amerikanskt tangentbord, obeservera att ”XkbDisable” kan ge dig en del problem. Dessa lämnar jag åt dig att upptäcka.

• färginställningar för xjed görs genom att lägga till rader som dessa, i .Xdefaults:

     xjed*Geometry: 80x32+150+50
     xjed*font: 10x20
     xjed*background: midnight blue

• ”abbreviation”-funktionerna (förkortning. övers.anm.) är en ovärderlig tidssparare. Skapa en fil, $HOME/.abbrevs.sl, med följande innehåll:

     create_abbrev_table ("Global", "");
     define_abbrev ("Global", "GG", "Guido Gonzato");
     create_abbrev_table ("TeX", "\\A-Za-z0-9");
     define_abbrev ("TeX", "\\beq", "\\begin{equation}");
     define_abbrev ("TeX", "\\eeq", "\\end{equation}");
     % och så vidare...

och knappa in ESC x abbrev mode för att få det att starta. För att ha ”abbreviation” på som standard, lägg till följande i din .jedrc:

     define text_mode_hook ()
     {
       set_abbrev_mode (1);
     }
     %
     define fortran_hook ()
     {
       set_abbrev_mode (1);
       use_abbrev_table ("Fortran");
     }
     % och så vidare...

3.7 efax(1)

Det här paketet är antagligen det mest praktiska för att på ett enkelt sätt skicka och ta emot fax. Du måste fininställa skal- programmet /usr/bin/fax. Det är ett lätt jobb, men några små saker gav mig en del huvudvärk:

• DIALPREFIX: det finns en möjlighet att det inte räcker att använda ”T” eller ”P” i vissa länder. Lägg in ”ATDT” eller ”ATDP” istället;

• INIT och RESET: dessa strängar innehåller initierarna ”-i” och ”-k”, vilka efax behöver. Om du vill lägga till ett AT-kommando, så lägg till det till den lämpliga strängen, men utelämna ”AT” och inled resten med antingen ”-i” eller ”-k”. T.ex.: för att lägga till ”ATX3”-kommandot till INIT, så lägger du till ”-iX3”.

3.8 TeX med vänner

Jag kommer förutsätta att du har teTeX-distributionen. Jag har bara några saker att påpeka här:

• för  att  konfigurera  avstavnings-mönstret  för  ditt  språk,  editera  filen

     /usr/lib/texmf/texmf/tex/generic/config/language.dat, och skriv sedan:
          ~# texconfig init ; texconfig hyphen

• om du lägger till LaTeX-paketet, så kör kommandot texhash, så att teTeX får vetskap om det nya paketet, efter att du har lagt till filerna i /usr/lib/texmf/texmf/tex/latex/<.

   • om du vill ställa in dvips, så är filen att editera /usr/lib/texmf/texmf/dvips/config/config.ps.

Du ska vara medveten om att fälten som rör standard-upplösningen också påverkar xdvis beteende; om du är med om irriterande försök att skapa typsnitt, varje gång du kör det, så lägg raden

          XDvi*mfmode:

i .Xdefaults. Det bör hjälpa.

3.9 PPP

Jag tar för givet att din kärna har PPP- + TCP/IP-stöd inkompilerat, att ”loopback” finns tillgängligt och att du redan har pppd-paketet installerat och suid root. Det är även uppenbart att din ISP (internetleverantör) måste stödja PPP.

Det finns nu två sätt att få PPP att fungera: a) manuell konfigurering, och b) ett konfigureringsprogram som fixar det automagiskt. Vilket alternativ du än väljer, så se till att du har följande information till hands:

• din ISPs telefon-nummer;

• din ISPs ”name server”;

• din ISPs e-post- och nyhets-servrar;

• din ISPs domän;

• ditt användarnamn och lösenord;

Manuell konfigurering är ett hundgöra. Det handlar om att editera filer och skriva skalprogram, inte så mycket jobb, men det är lätt att göra misstag och nybörjare avskräcks ofta av detta. PPP-HOWTOn är som gjord för dig. Alternativet är verktyg som ställer dig frågor om det ovanstående och gör allt arbetet.

Det blir säkert mycket lättare om du går till en kompis som redan är uppkopplad och laddar ned något av de följande, trevliga verktygen:

• ett X11-baserat verktyg är EzPPP, vars hemsida finns på <http://www.serv.net/~cameron/ezppp/ index.html> . Det är väldigt enkelt att använda det är nästan självförklarande.

• för tty-baserad uppkoppling, pröva verktygen som finns på <ftp://sunsite.unc.edu/pub/Linux/

system/network/serial/ppp> . Ett av de bästa är pppsetup-X.XX.tar.gz.

• det enklaste konfigureringsverktyget för tillfället är wvdial. Du matar det med din ISPs telefonnummer, ditt användarnamn, ditt lösen- ord, och du är igång. Från README-filen: ‘Det finns en (för till- fället ganska dålig) webb-sida om wvdial på: <http://www.worldvisions.ca/wvdial>’. Ett väldigt fint verktyg.

3.10 POP-klient

För att hämta din e-post från en POP-server, använder du en POP-klient som fetchpop eller fetchmail. Den senare är mer avancerad, och är antagligen det enda alternativet om din ISPs PPP-server inte kan

handskas med LAST-kommandot. De finns på <ftp://sunsite.unc.edu/pub/Linux/system/mail/pop>

.

För att konfigurera dessa klienter:

• fetchpop: första gången du kör det så kommer du bli tillfrågad om en del information. Svara på frågorna och du är klar.

• fetchmail: använd följande enkla .fetchmailrc:

     # $HOME/.fetchmailrc
     poll mbox.myisp.com with protocol pop3;
       user john there with password _Loo%ny is john here

Du måste ange rättigheterna för filen med kommandot chmod 600 .fetchmailrc, annars kommer fetchmail vägra att starta. Det här exemplet är väldigt grundläggande, och förutsätter att du har en fungerande sendmail. Det finns oändliga inställningsmöjligheter. Ta en titt på dem på .

3.11 X-Window-systemet

Så fort du har fått X att fungera (rätt grafik-kort osv.), så har du oändliga inställningsmöjligheter, vilka även beror på vilken fönster- hanterare du använder. I vilket fall som helst, så handlar det om att editera en eller flera ASCII-filer i din hemkatalog. Beroende på fönsterhanteraren:

• fvwm: kopiera /etc/X11/fvwm/system.fvwmrc till din hem-katalog som .fvwmrc, kolla igenom den och börja experimentera. Detta exempel på en .fvwmrc-fil är enligt min åsikt en aning för enkel och gör inte fvwm rättvisa.

• fvwm95-2: kopiera /etc/X11/fvwm95-2/fvwm2rc95 till din hem-katalog, som .fvwm2rc95, editera den sedan. Detta exempel är ganska bra.

• TheNextLevel: den här är aningen svårare att konfigurera. Kopiera /etc/X11/TheNextLevel/.* till din hem-katalog och gå noggrant igenom dem, och försök ställa in dem. Den första du ska titta på är

.fvwm2rc.defines.

Förutom dessa måste du även ha en passande .xinitrc. Ett exempel:

     #!/bin/sh
     # $HOME/.xinitrc
     # ställ in ett par tangenter ordentligt
     usermodmap=$HOME/.Xmodmap
     xmodmap $usermodmap
     xset s noblank  # slå av skärmsläckaren
     xset s 300 2    # skärmsläckaren startar efter fem minuter
     xsetroot -solid "medium blue" &
     # rxvt spar en massa minne, men versioner äldre än 2.21 har buggar,
     # påverkar tangenterna och sättet på vilket miljön tas över. Upp-
     # gradera eller använd xterm istället.
     xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \
     -title "Color xterm" -geometry 80x25+150+0 &
     fvwm95-2

3.12 Fortran

Enligt min erfarenhet så är Fortran-till-C-översättaren f2c, och dess fasad (front end) yaf77, ett bra alternativ till g77 om du behöver använda Fortran.

Skaffa yaf77-X.Y.tgz från <ftp://sunsite.unc.edu/pub/Linux/devel/lang/fortran> .

3.13 Användarens inställningar

Det är en bra idé att låta en ny användare få vissa färdigställda konfigureringsfiler, när han/hon först loggar

in. Lägg in följande filer i /etc/skel: .bashrc .bash profile .bash logout .inputrc .less .xinitrc
.fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc .abbrevs.sl .joerc .emacs .

Observera att .pinerc inte kan färdigställas helt i förväg; se i alla fall till att fälten user-domain, smtp-server och nntp-server är ordentligt inställda.

3.14 Uppgradera

Om du uppgraderar din maskin, kom ihåg att spara ett par extra filer innan. Några av dessa är:

/etc/X11/XF86Config, /usr/bin/fax, ...

4 Slutet

4.1 Upphovsrätt

Om inget annat anges så tillhör upphovsrätten för Linux HOWTO-dokument sina respektive författare. Linux HOWTO-dokument får reproduceras och distribueras hela eller i delar, på vilket som helst medium, fysiskt eller elektroniskt, så länge upphovsrätts-avsnittet finns kvar i alla kopior. Kommersiell distribution är tillåten och uppmuntras; författaren vill dock få veta om eventuella sådana distributioner.

Alla översättningar, härledda arbeten eller sammanplockade arbeten, vilka innehåller Linux HOWTOdokument, måste täckas av denna upphovs- rätt. Alltså, du får producera ett härlett arbete från en HOWTO och lägga till ytterligare begränsningar på dess distribution. Undantag från dessa regler kan tillåtas under vissa förhållanden; var vänlig kontakta Linux HOWTO-samordnaren, på adressen nedan.

Kort sagt, vi vill bidra till spridningen av denna information genom så många kanaler som möjligt. Vi önskar dock behålla upphovsrätten till HOWTO-dokumenten och vill bli underrättade om alla planer på vidaredistribuering av HOWTOna.

Om du har några frågor, var vänlig kontakta Tim Bynum, Linux HOWTO- samordnare, på linuxhowto@sunsite.unc.edu, via e-post.

4.2 Läsarrespons

Den här HOWTOn behöver, kanske ännu mer än andra, dina förslag, din kritik, dina bidrag, och de är mycket välkomna. Respons är inte bara välkommen: den är nödvändig. Om du tycker att något fattas eller är fel, skicka mig ett e-brev. Om du har en annan distribution än Red Hat eller Caldera och dina konfigurerings-filer är annorlunda eller placerade i andra kataloger, var vänlig tala om detta för mig och jag ska ta med dina tips. Mitt mål är att göra livet med Linux så lätt som möjligt.

Det finns ett enormt antal paket till Linux, så det är omöjligt att ta med instruktioner för dem alla. Var vänlig håll dina krav/förslag på en nivå av ”de mest rimliga” programmen; jag överlåter det åt ditt sunda förnuft.

4.3 Tillkännagivanden

”Config-HOWTOn” är skriven av Guido Gonzata, guido@ibogfs.cineca.it. Många tack till alla andra HOWTO-författare och man-sides-författare och -underhållare, vars arbete jag skamlöst har plundrat.

Det här dokumentet levereras ”som det är”. Jag har lagt ned stor möda på att skriva det så korrekt som möjligt, men du får använda informationen i det på egen risk. Under inga omständigheter ska jag hållas ansvarig för några skador som resulterar av användandet av det här verket.

Jag hoppas att du finner det här verket användbart. Varenda gång jag installerar en ny Linux-burk, så gör jag det...

Håll till godo,

Guido =8-)