doc-hanefeld.de || Debian-Linux-Tips
Diese Seite beschäftigt sich mit meinen persönlichen "Must-Have"-Konfigurationen in einem Linux-System, also mit Herstellen von persönlichem Komfort. Dies mag nicht für jeden das richtige sein, aber vielleicht hilft es ja einzelnen Usern bei der Einstellung ihrer Linux-Boxen.
Seit etwa 1998 arbeite ich regelmäßig mit Linux-Systemen. Meine erste Distribution war SuSE Linux 6.4 auf meinem Arbeitsplatzrechner. Auf diesem hatte ich auch mit Mandrake Linux zu tun (heute Mandriva). Als ADSL verfügbar wurde, habe ich erstmals einen Router mit fli4l aufgesetzt, zunächst nur als Disketten-Version, dann auch als Festplatten-Installation mit Zusatz-Features (damals auf einem Pentium-I mit 133 MHz und 32 MB Speicher).
Um Portforwarding und Ähnliches zu realisieren, wollte ich dann auf iptables zurückgreifen, was aber erst ab Kernel-Version 2.4.* zur Verfügung steht, während fli4l auf Kernel 2.2 aufsetzte. Deshalb und wegen des zusätzlichen Vorteils einer höheren Flexibilität habe ich die sehr schlanke Slackware-Distribution aufgesetzt, die lange Zeit problemlos und stabil lief. Bis eines Tages die (zugegebenermaßen recht alte) Festplatte crashte.
2003 habe ich dann bei einem Freund Debian kennen gelernt. Von dem Paketkonzept, der Schlankheit und der Möglichkeit einfacher Sicherheits-Updates war ich sofort angetan, und da ich sowieso einen neuen Router/Server aufsetzen mußte, stieg ich auf diese Distribution um. Seit 2003 läuft bei mir also der Server "gandalf" erst unter Debian "woody", mittlerweile unter "sarge". Mein Arbeitsplatzrechner hat neben einer Windows-Installation außerdem ebenfalls Debian sarge als Betriebssystem. Und um meine favorisierten Einstellungen in diesem System geht's im Folgenden.
Gerade wenn man einen Router/Server aufsetzt, ist man oft gezwungen, Konfigurationsdateien über der Kommandozeile zu editieren. Eine große Schrift ist schön, schadet aber der Übersicht. Um die Auflösung auf der Kommandozeile zu ändern, greife ich auf den Framebuffer zurück, und zwar auf den (langsamen, aber dafür sehr stabilen) VESA-Framebuffer:
Zunächst muß VESA Framebuffer im Kernel vorhanden sein. Steht /dev/fb0 zur Verfügung, ist dies der Fall. Außerdem kann man in /boot/config[Kernel-Nummer] nach der Einstellung suchen bzw. bei selbst kompiliertem Kernel unter /usr/src/linux/.config. Alle neueren Grafikkarten ab VESA BIOS 2.0 sollten sich mit diesem Modus betreiben lassen.
VESA Framebuffer kann nur beim Systemstart aktiviert werden. Bei der Auswahl des Modus hilft folgende Tabelle:
| Videomodes im VESA Framebuffer | ||||
| Farbe/Auflösung | 640x480 | 800x600 | 1024x768 | 1280x1024 |
| 256 | 0x301 | 0x303 | 0x305 | 0x307 |
| 32000 | 0x310 | 0x313 | 0x316 | 0x319 |
| 64000 | 0x311 | 0x314 | 0x317 | 0x31A |
| 16 Mio | 0x312 | 0x315 | 0x318 | 0x31B |
Um zu testen, welche Einstellung auf dem System funktioniert, bietet es sich an, im Bootloader global oder für das aktuelle Kernel-Image die Option vga=ask anzugeben. Beim Systemstart hat man nun die Möglichkeit, einen der in der Tabelle angezeigten Modi zu wählen. Funktioniert dies, kann man die Änderung dauerhaft im Bootloader eintragen. In Grub sieht das bei mir so aus:
title Debian GNU/Linux, kernel 2.4.27-2-386
root (hd1,0)
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/hdb1 ro vga=0x305 apm=off acpi=on
initrd /boot/initrd.img-2.4.27-2-386
savedefault
boot
In /etc/lilo.conf kann man ähnlich vorgehen. Es ist übrigens auch möglich, in den Bootloader-Konfigurationsdateien die Framebuffer-Einstellung als globalen Parameter für alle Kernel-Images zu benutzen indem man die Option vga=[Einstellung] ändert.
nach obenDas ständige Piepen bei "Fehleingaben" auf der Konsole stört mich jedes Mal erheblich, vor allen Dingen bei längeren Editor- oder Kommandozeilen-Sitzungen. Dies ist zum Glück einfach abschaltbar, indem man die Beep-Länge des PC-Beepers auf 0 stellt:
$ setterm -blength 0
Zur Automatisierung kann man z.B. "/usr/bin/setterm -blength 0" in ~/.bashrc eintragen. Unter KDE schaltet sich der Beep über das Control Center unter "Sounds"Multimedia"\"System Notifications" ab.
nach obenDas farbige Anzeigen der Ausgabe von "ls" macht das Arbeiten auf der Konsole leichter. Es reicht dafür, in der Datei ~/.bashrc folgenden Eintrag zu machen, der eventuell auch nur einkommentiert werden muß:
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls --color=auto'
fi
Danach dürften die Farben nach erneutem Login zu sehen sein. Wenn nicht, muß man eventuell nachschauen, ob eine .bash_login existiert, die die Einstellungen in .bashrc übergeht.
Möchte man im vim (vi iMproved)-Editor Syntax-Highlighting einschalten, um verschiedene Eingabeformate unterstützt dargestellt zu bekommen, muß man nur in /etc/vim/vimrc die Zeile "syntax on" einkommentieren.
nach obenWenn in jeder Konsole Kernelmeldungen angezeigt werden, kann das störend sein, so daß es mir sinnvoll erscheint, alle Meldungen auf eine eigene Konsole umzuleiten. Dadurch kann man dann auch jederzeit sehr einfach Einblick in die aktuellen Systemmeldungen bekommen. Dazu muß man lediglich in /etc/syslog.conf folgende Zeile einfügen:
*.* /dev/ttyx # (bei mir /dev/tty7)nach oben
Schon einige Male hatte ich damit zu kämpfen, daß der Rechner nach dem Herunterfahren von Linux nicht abschaltete. Nach einiger Recherchearbeit über http://groups.google.com und Google habe ich das Problem bei mir gelöst. Meine beiden Rechner haben aber unterschiedliche Wege aufgezeigt, obwohl auf beiden Debian sarge läuft:
Rechner 1 ist ein Athlon XP 1800 auf einem K7SOM+ Mainboard, die Kernel-Version ist 2.4.21, selbst kompiliert. Relevante Kernel-Optionen sind die folgenden:
aus /usr/src/linux/.config:
# CONFIG_ACPI is not set CONFIG_APM=y # CONFIG_APM_IGNORE_USER_SUSPEND is not set CONFIG_APM_DO_ENABLE=y # CONFIG_APM_CPU_IDLE is not set # CONFIG_APM_DISPLAY_BLANK is not set # CONFIG_APM_RTC_IS_GMT is not set # CONFIG_APM_ALLOW_INTS is not set # CONFIG_APM_REAL_MODE_POWER_OFF is not set
In Lilo (Version 22.5.8) ist apm=on als globaler Parameter angegeben. Das Kernel-Image wird dann so geladen:
Auszug aus /etc/lilo.conf:
image=/vmlinuz
label=Linux
read-only
append="apm=power-off hdc=ide-scsi"
Rechner 1 schaltet sich so problemlos aus.
Rechner 2 ist ein Athlon XP 2100 auf einem Epox 8K3A+ Mainboard. Er will auf alle APM-Funktionen nicht anschen. Ich vermute, daß das daran liegt, daß APM beim Sarge-Standard-Kernel 2.4.27-386 nur als Modul eingebunden ist. Die Module werden ja beim Shutdown beendet, wodurch die APM-Funktionen möglicherweise nicht mehr zur Verfügung stehen könnten. Auch "# modprobe apm" sowie ein Starten des apmd brachten den Rechner nicht zum Abschalten. Mein Versuch, dies durch Umstellung auf ACPI zu beheben, war dann erfolgreich. Zunächst führe ich auch hier die relevanten Kernel-Optionen auf:
Auszug aus /boot/config-2.4.27-2-386:
CONFIG_APM=m # CONFIG_APM_IGNORE_USER_SUSPEND is not set # CONFIG_APM_DO_ENABLE is not set # CONFIG_APM_CPU_IDLE is not set # CONFIG_APM_DISPLAY_BLANK is not set # CONFIG_APM_RTC_IS_GMT is not set # CONFIG_APM_ALLOW_INTS is not set # CONFIG_APM_REAL_MODE_POWER_OFF is not set # # ACPI Support # CONFIG_ACPI=y CONFIG_ACPI_BOOT=y CONFIG_ACPI_BUS=y CONFIG_ACPI_INTERPRETER=y CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_PCI=y CONFIG_ACPI_MMCONFIG=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_SYSTEM=y CONFIG_ACPI_OFF=y CONFIG_ACPI_AC=m CONFIG_ACPI_BATTERY=m CONFIG_ACPI_BUTTON=m CONFIG_ACPI_FAN=m CONFIG_ACPI_PROCESSOR=m CONFIG_ACPI_THERMAL=m CONFIG_ACPI_ASUS=m CONFIG_ACPI_TOSHIBA=m # CONFIG_ACPI_DEBUG is not set CONFIG_OPTIMISE_SIZE=y
ACPI ist also im Kernel enthalten. Man muß nun zunächst sicher stellen, daß ACPI-Funktionen auch im BIOS eingeschaltet sind, was bei den Standardeinstellungen schon der Fall sein dürfte. Außerdem muß ACPI beim Systemstart eingeschaltet werden, und APM darf nicht gleichzeitig laufen:
Auszug aus /boot/grub/menu.lst:
kernel /boot/vmlinuz-2.4.27-2-386 root=/dev/hdb1 ro apm=off acpi=on
Danach sagt ein "# cat /var/log/dmesg |grep ACPI":
BIOS-e820: 000000001fff0000 - 000000001fff3000 (ACPI NVS) BIOS-e820: 000000001fff3000 - 0000000020000000 (ACPI data) ACPI: RSDP (v000 VIA694 ) @ 0x000f74e0 ACPI: RSDT (v001 VIA694 AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1fff3000 ACPI: FADT (v001 VIA694 AWRDACPI 0x42302e31 AWRD 0x00000000) @ 0x1fff3040 ACPI: DSDT (v001 VIA694 AWRDACPI 0x00001000 MSFT 0x0100000c) @ 0x00000000 ACPI: IRQ9 SCI: Level Trigger. ACPI: Subsystem revision 20040326 ACPI: Interpreter enabled ACPI: Using PIC for interrupt routing ACPI: System [ACPI] (supports S0 S1 S4 S5) ACPI: PCI Root Bridge [PCI0] (00:00) ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 *11 12 14 15) ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 *10 11 12 14 15) ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11 ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11 ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10 ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 10 PCI: Using ACPI for IRQ routing
Jetzt schaltet auch Rechner 2 nach dem Shutdown ab. Zunächst hatte ich gedacht, daß ein Starten von acpid erforderlich sei, aber dem ist nicht so.
nach obenUm in den Genuß von JAVA z.B. zum Anzeigen bestimmter Website-Elemente zu kommen, ist lediglich das Einfügen folgender Quelle in /etc/apt/sources.list erforderlich:
# Java Backport deb ftp://ftp.informatik.hu-berlin.de/pub/Java/Linux/debian stable non-free
Dann muß man noch folgende Schritte ausführen, danach ist Java verfügbar:
# apt-get update # apt-get install j2dsk1.4
Mit dieser Konfiguration war ich zwar in der Lage, Java in meinen Browsern zu nutzen, jedoch war der Zugang zu meinem Bank-Konto immer noch nicht möglich, da das dortige Java-Applet zwar startete, nach Eingabe der Kontodaten jedoch nicht zu den Kontodaten sprang.
Gelöst wird dieses Problem durch die Nutzung des offiziellen Java-JRE von Sun Microsystems. Leider gibt es dies nach meinen Recherchen nicht als offizielles Debian-Paket, aber durch die erweiterete Funktionalität lohnt sich der Einsatz unter Debian.
Um das Paket zur Deinstallation/Änderung jederzeit wieder zu finden, habe ich die *.bin-Datei von der o.g. Sun-Seite herunter geladen, diese in das neu erstellte Verzeichnis /usr/local/java/ kopiert, sie ausfürbar gemacht und gestartet. Nach der Ausgabe der Nutzungsbedingungen, die man mit "q" verlassen kann, installiert das Programm die Java JRE unterhalb dieser Verzeichnis-Ebene. Um Java danach im Browser (hier: Firefox) zu nutzen, ist dann das Anlegen eines SymLinks notwendig:
# ln -s /usr/local/java/jre1.5.0_06/plugin/i386/ns7/libjavaplugin_oji.so \ /usr/lib/mozilla-firefox/plugins/libjavaplugin_oji.so
Nun muß in den Browser-Einstellungen nur noch Java aktiviert werden, ab da läuft auch das Internet-Banking problemlos. Einen Kommentar zur Sinnhaftigkeit der Java-Nutzung spare ich mir hier absichtlich, da man hier sehr stark geteilter Meinung sein kann und meine Kenntnisse nicht ausreichen, um da vernünftig mitzureden.
nach obenDiese Fehlermeldung wir generiert, wenn man versucht, ein NFS-Mount einzubinden, auf dem Dateien größer als 2 Gigabyte vorhanden sind. Um dies zu umgehen, darf auf dem Rechner, der das entsprechende Mount anbietet, nicht der nfs-user-server, sondern unbedingt der nfs-kernel-server laufen. Damit wird das Problem behoben.
nach oben
doc-hanefeld.de || Debian-Linux-Tips
/linux.shtml , zuletzt geändert 07. 02. 2010