Linux/Tipps/Suse: Unterschied zwischen den Versionen

< Linux‎ | Tipps
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 127: Zeile 127:
  proxyarp
  proxyarp
  # Your own IP Address and the IP Address of the remote system
  # Your own IP Address and the IP Address of the remote system
  192.168.0.1:192.168.0.2
  192.168.0.2:192.168.0.47
  # And the netmask
  # And the netmask
  netmask 255.255.255.0
  netmask 255.255.255.0
Zeile 378: Zeile 378:


Wenn jetzt ein Programm auf /example/dir1 oder /example/dir2 zugreift, wird das NFS-Laufwerk automatisch gemountet und 5 Minuten (default, einstellbar) nach Gebrauch wieder automatisch unmounted.
Wenn jetzt ein Programm auf /example/dir1 oder /example/dir2 zugreift, wird das NFS-Laufwerk automatisch gemountet und 5 Minuten (default, einstellbar) nach Gebrauch wieder automatisch unmounted.
====Suse 9.0: Kernel-Upgrade 2.4 -> 2.6.8====
Ich habe das nur in einer VMware getestet. Es scheint alles zu funktionieren, aber USB konnte ich nicht testen. Außerdem kann man nach dem Upgrade mit YaST keine Hardware mehr konfigurieren, weil YaST mit /etc/modules.conf arbeitet, während Kernel 2.6 /etc/modprobe.conf verwendet. Möglicherweise ist es besser, mit apt oder YaST das ganze System auf Suse 9.2 zu bringen.
Pakete mkinitrd und modtools auf den aktuellen Stand bringen:
* mkinitrd-1.0-222
* modutils-2.4.25-56
ALSA aktualisieren:
apt-get install alsa alsa-tools alsa-devel
/etc/modprobe.conf erzeugen:
generate-modprobe.conf | tee /etc/modprobe.conf
Bei den ALSA-Optionen in /etc/modprobe.conf den Prefix "snd_" entfernen.
sysfs vorbereiten:
mkdir /sys
chmod 777 /sys
Aktuelle Kernel- und Kernel-Source-RPMs aus der RPM-Datenbank entfernen:
rpm -e --justdb kernel-default (kann auch anders heißen, z.B. k_deflt)
rpm -e --justdb kernel-source
Neue Kernel- und evtl. Kernel-Source-RPMs (z.B. von ftp://ftp.suse.com/pub/people/mantel/next/i386/HEAD) installieren:
rpm -ivh kernel-default-2.6.8-0.i586.rpm
rpm -ivh kernel-source-2.6.8-0.i586.rpm
Mit ls /boot feststellen, wie der alte Kernel genau heißt.
Alten Kernel versionsspezifisch (vmlinuz, initrd) in /boot/grub/menu.lst eintragen (Kopie vom obersten Eintrag), Beispiel:
title Linux 2.4
    kernel (hd0,1)/boot/vmlinuz-2.4.21-260-default root=/dev/sda2 splash=silent acpi=off desktop showopts
    initrd (hd0,1)/boot/initrd-2.4.21-260-default
Neu booten mit neuem Kernel.
Kernel-Source evtl. compilieren:
cd /usr/src/linux
make cloneconfig
make
udev installieren:
* udev von Kraxel installieren: http://www.boerkel.de/udev-018-3.i586.rpm
rpm -ivh udev-018-3.i586.rpm
Hotplug updaten:
* hotplug von Kraxel installieren: http://www.boerkel.de/hotplug-0.42-13.noarch.rpm
rpm --upgrade --force hotplug-0.42-13.noarch.rpm
NFS fixen, falls Fehlermeldung beim Booten kommt:
touch /var/lib/nfs/state
chmod 664 /var/lib/nfs/state
Neu booten.
Wenn Dienste sporadisch nicht starten:
* In /etc/sysconfig/boot RUN_PARALLEL auf "no" setzen
====Suse 9.1: Upgrade auf Suse-Kernel 9.2====
Aktuellen 9.2er Kernel evtl. mit Source von ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/update/9.2/rpm/i586 downloaden.
Aktuelle Kernel- und Kernel-Source-RPMs aus der RPM-Datenbank entfernen:
rpm -e --justdb kernel-default (kann auch anders heißen, z.B. k_deflt)
rpm -e --justdb kernel-source
Neuen Kernel und evtl. Source installieren:
rpm -ivh kernel-default-2.6.8-24.10.i586.rpm
rpm -ivh kernel-source-2.6.8-24.10.i586.rpm
Mit ls /boot feststellen, wie der alte Kernel genau heißt.
Alten Kernel versionsspezifisch (vmlinuz, initrd) in /boot/grub/menu.lst eintragen (Kopie vom obersten Eintrag), Beispiel:
title Linux 2.6.5
    kernel (hd0,1)/boot/vmlinuz-2.6.5-7.111.5-default root=/dev/sda2 splash=silent acpi=off desktop showopts
    initrd (hd0,1)/boot/initrd-2.6.5-7.111.5-default
Neu booten mit neuem Kernel.
Kernel-Source evtl. compilieren:
cd /usr/src/linux
make cloneconfig
make
====Suse 9.1/9.2: Upgrade auf neuen Vanilla-Kernel====
Aktuellen Kernel-Source downloaden: http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2
Entpacken nach /usr/src:
cd /usr/src
tar --bunzip2 -xvf Filename
Konfigurieren:
cd /usr/src/linux-2.6.10
zcat /proc/config.gz > .config
make oldconfig
Compilieren:
make prepare
make rpm
Aktuelle Kernel- und Kernel-Source-RPMs aus der RPM-Datenbank entfernen:
rpm -e --justdb kernel-default (kann auch anders heißen, z.B. k_deflt)
rpm -e --justdb kernel-source
Neuen Kernel installieren:
rpm -ivh /usr/src/packages/RPMS/i386/kernel-2.6.10-1.i386.rpm
initrd erstellen:
cd /boot
mkinitrd -k vmlinuz-2.6.10 -i initrd-2.6.10
Neuen Kernel versionsspezifisch (vmlinuz, initrd) in /boot/grub/menu.lst eintragen (Kopie vom obersten Eintrag), Beispiel:
title Linux 2.6.10
    kernel (hd0,1)/boot/vmlinuz-2.6.10 root=/dev/sda2 splash=silent acpi=off desktop showopts
    initrd (hd0,1)/boot/initrd-2.6.10
Neuen Source-Link einrichten:
rm -i /usr/src/linux
ln -s /usr/src/linux-2.6.10 /usr/src/linux
Neu booten mit neuem Kernel.
subfs installieren:
* Paket "km_submount" installieren
cd /usr/src/kernel-modules/subfs
* Im Makefile "modules_add" durch "modules_install" ersetzen
make -f Makefile.module
make install
depmod -a
modprobe subfs
====Wie verhindert man den Start von "gpg-agent"?====
In "/etc/X11/xdm/sys.xsession" usegpg="no" setzen.
====Ein Benutzer hat ein Zugriffsproblem beim Palm-Sync====
Der Benutzer muss in der Gruppe "uucp" sein.
====Nur ein lokaler Benutzer hat Zugriff auf Sound, Video oder CD-Laufwerke====
In "/etc/logindevperm" müssen die entsprechenden Rechte von " 0600" nach " 0660" geändert werden. Außerdem müssen alle Benutzer in der entsprechenden Gruppe sein (audio, video, disk, ...).
====NFS belegt manchmal Ports von anderen Services (z.B. imaps, cupsd)====
Der rpc.mountd von NFS belegt zufällig (dynamisch) einen Port. Je nach Startreihenfolge kann es dabei passieren, dass er den Port eines anderen Services erwischt. Mit "rpcinfo -p" kann man sich die momentan verwendeten Ports anzeigen lassen.
In "/etc/sysconfig/nfs" kann man stattdessen einen festen Port zuweisen, z.B. mit
MOUNTD_PORT="35295"
Danach "rcnfsserver restart" uind "rpcinfo -p" sollte dann diesen Port anzeigen.
====Treo 650 mit Suse synchronisieren====
Meinen Tungsten T konnte ich problemlos mit jpilot über /dev/ttyUSB0 synchronisieren. Mit dem Treo 650 funktioniert das (vermutlich wegen irgendeinem Timeout) nicht mehr. Aber so kann man ihn mit /dev/pilot synchronisieren:
su
* /etc/udev/rules.d/10-udev.rules:
# Palm Handheld
BUS="usb",SYSFS{serial}="PalmSN12345678",NAME="pilot"
* /etc/udev/permissions.d/10-udev.permissions:
# Palm Handheld rw
pilot*:root:usb:0666
====Apache2 SSL mit Suse 10.1====
* YaST: ssl-module aktivieren
* /etc/sysconfig/apache2: APACHE_SERVER_FLAGS="SSL"
* SuSEconfig
* mv /etc/apache2/vhosts.d/vhost-ssl.template -> /etc/apache2/vhosts.d/vhost-ssl
* cert -> /etc/apache2/ssl.crt/server.crt
* key -> /etc/apache2/ssl.keyserver.key





Aktuelle Version vom 17. Juni 2007, 11:33 Uhr

VNC als X-Windows-Terminal mit eigenem Login

  • in YaST2/System/Editor für sysconfig Applications/Desktop/Display manager/DISPLAYMANAGER_REMOTE_ACCESS auf "yes" setzen
su
rcxdm restart
  • YaST2/Netzwerkdienste/Netzwerkdienste (inetd) starten
  • Bei Dienst vnc10/vnc11 hinzufügen:
-fp /usr/X11R6/lib/X11/fonts/misc:unscaled,/usr/X11R6/lib/X11/fonts/local,/usr/X11R6/lib/X11/fonts/75dpi:unscaled,/usr/X11R6/lib/X11/fonts/100dpi:unscaled,/usr/X11R6/lib/X11/fonts/Type1,/usr/X11R6/lib/X11/fonts/URW,/usr/X11R6/lib/X11/fonts/Speedo,/usr/X11R6/lib/X11/fonts/truetype,/usr/X11R6/lib/X11/fonts/uni,/usr/X11R6/lib/X11/fonts/CID
  • Dienst vnc10 und/oder vnc11 starten
  • neu booten (?)
  • VNCviewer verbinden mit Port 5910 bzw. 5911

Netzwerk Time-Sync einrichten als Client (ntp)

  • in YaST konfigurieren
  • Prüfen:
/usr/sbin/ntpq -c peers

Sun Java installieren (Suse 8.2)

  • installiertes JDK 1.4.1 Blackdown deinstallieren
  • JDK von Sun als .rpm.bin downloaden
chmod a+x <Datei>.rpm.bin
./<Datei>.rpm.bin
  • .rpm installieren
  • in YaST2/System/Editor für sysconfig Applications/Java/CREATE_JAVALINK auf "no" setzen
  • su
  • /etc/profile.local anlegen mit folgendem Inhalt:
JAVA_BINDIR=/usr/java/j2sdk1.4.2_02/bin
JAVA_HOME=/usr/java/j2sdk1.4.2_02
JDK_HOME=/usr/java/j2sdk1.4.2_02
JRE_HOME=/usr/java/j2sdk1.4.2_02
PATH=$PATH:/usr/java/j2sdk1.4.2_02/bin
export JAVA_BINDIR
export JAVA_HOME
export JDK_HOME
export JRE_HOME
export PATH
  • nach Neuanmelden sind die Env-Vars gesetzt
  • Java-Plugin für Mozilla 1.4 registrieren:
su
cd /opt/mozilla/lib/plugins
rm <alter Java-Plugin-Link>
ln -s /usr/java/j2sdk1.4.2_02/jre/plugin/i386/ns610-gcc32/libjavaplugin_oji.so .

VMware 4.05 mit Kernel-Modulen installieren

  • Kernel-Sourcen installieren
  • Paket "km-vmware" installieren
su
cd /usr/src/kernel-modules/vmware
make -f Makefile-module
cd vmware-distrib
./vmware-install.pl
/etc/init.d/vmware stop
cd /usr/src/kernel-modules/vmware
make -f Makefile-module install
/etc/init.d/vmware start

Nvidia-Treiber installieren/deinstallieren

  • NVidia Linuxtreiber downloaden
  • Kernel-Sourcen installieren
  • Kernel-Sourcen vorbereiten:
su
cd /usr/src/linux
make cloneconfig
make prepare-all
cd /etc/X11
  • xorg.conf wegkopieren
  • alle X-Sessions beenden
  • an Root-Shell anmelden
init 3
./NVIDIA-Linux-x86-1.0-4496-pkg2.run
  • SaX2 -> OK klicken oder noch 3D-Beschleunigung konfigurieren
cd /etc/X11
  • xorg.conf: "nv" -> "nvidia"
init 5

Deinstallieren:

  • alle X-Sessions beenden
  • an Root-Shell anmelden
init 3
./NVIDIA-Linux-x86-1.0-4496-pkg2.run --uninstall
cd /etc/X11
  • xorg.conf: "nvidia" -> "nv"
init 5

Software-Installation über FTP statt CD

  • Internet-Verbindung sicherstellen
  • in YaST2 "Installationsquelle wechseln" starten
  • vorhandene Quelle CD ausschalten
  • Hinzufügen/FTP
  • Servername: ftp.gwdg.de
  • Verzeichnis: pub/linux/suse/ftp.suse.com/suse/i386/8.2

USB-Bluetooth (Suse 9.0)

Ich habe die Erfahrung gemacht, dass USB Hotplugging bei Suse 9.0 etwas wackelig ist. Daher habe ich meinen Bluetooth USB-Adapter nicht stabil zum Laufen gebracht. Dies ist daher nur als Sammlung von Notizen und Anhaltspunkten zu verstehen.

Ab Suse 9.2 ist alles stabiler und einfacher (aber hier noch nicht beschrieben).

  • Pakete "bluez-bluefw", "bluez-libs", "bluez-pan", "bluez-sdp", "bluez-utils" installieren
  • mv /bin/bluepin /bin/bluepin.bak
  • /etc/bluetooth/pin:
1234
  • /bin/bluepin:
#!/bin/bash
cat /etc/bluetooth/pin
  • chmod 777 /bin/bluepin
  • rcbluetooth restart
  • rchotplug restart
  • hciconfig -a
  • hciconfig up hci0
  • hcitool scan
  • echo 1 >/proc/sys/net/ipv4/ip_forward
  • modprobe iptable_nat
  • iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  • sdpd
  • (sdptool add LAN) <- dund
  • sdptool browse FF:FF:FF:00:00:00
  • (/usr/local/sbin/rfcommd -s) -> krfcommd
  • rm /dev/rfcomm0
  • mknod /dev/rfcomm0 c 216 0
  • /etc/ppp/options.rfcomm0:
# You usually need this if there is no PAP authentication
noauth
# do not use modem control lines we aren't using a real serial line
local
# do not determinate local ip from hostname
noipdefault
# usefull ARP proxing
proxyarp
# Your own IP Address and the IP Address of the remote system
192.168.0.2:192.168.0.47
# And the netmask
netmask 255.255.255.0
# dns
ms-dns 147.88.1.201
# this is required for the non standard microsoft PPP negotiation
connect "sleep 2; echo -n CLIENTSERVER"

Nach dem Booten:

  • hciconfig -a
  • echo 1 >/proc/sys/net/ipv4/ip_forward
  • iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  • dund --listen

IMAP-Server

uwimap (standardmäßig nur SSL, Port 993)
  • Pakete "fetchmail", "fetchmailconf", "procmail", "postfix", "imap" installieren
  • xterm: fetchmailconf
su
cp /home/thomas/.fetchmailrc /etc/fetchmailrc
  • /sbin/rcfetchmail editieren (-d = Pollintervall in Sekunden)
rcfetchmail start
insserv fetchmail
cd /etc/ssl/certs
openssl req -new -x509 -nodes -out imapd.pem -keyout imapd.pem -days 3650
  • Common Name = IP oder DNS-Name
  • Service imap und imaps aktivieren
rcxinetd reload
  • in YaST2/System/Editor für sysconfig Network/Mail/General/MAIL_CREATE_CONFIG auf "no" setzen
  • postfix konfigurieren mit Webmin
  • /etc/postfix/main.cf: disable_dns_lookups = yes)
Courier
  • Pakete "fetchmail", "fetchmailconf", "procmail", "postfix", "courier-imap" installieren
  • Pakete "perl-File-Tail", "perl-Net-Netmask", "perl-TimeDate" installieren
fetchmailconf
su
insserv courier-authdaemon
insserv courier-imap
rccourier-imap start
Pop-before-smtp (http://popbsmtp.sourceforge.net/)
  • Module "perl-File-Tail", "perl-Net-Netmask" und "perl-TimeDate" installieren
  • pop-before-smtp-conf.pl: Zeile mit $file_tail einkommentieren und anpassen
cp pop-before-smtp-conf.pl /etc
cp pop-before-smtp.init /etc/init.d/pop-before-smtp
cp pop-before-smtp /usr/sbin

Test:

pop-before-smtp --debug --reprocess

Wenn Fehlermeldungen mit "Net::Netmask::imaxblock" kommen, ist evtl. der mynetworks Parameter in Postfix nicht ganz OK oder nicht gesetzt. Dies kann mit "postconf mynetworks" geprüft werden. Sowas z.B. kann pop-before-smtp nicht verarbeiten:

mynetworks = 127.0.0.0/8 192.168.0.0/24 [::1]/128

In diesem Fall wird in "/etc/postfix/main.cf" eingetragen:

mynetworks = 127.0.0.0/8 192.168.0.0/24

Anschließend "postfix reload".

/etc/init.d/pop-before-smtp start
insserv pop-before-smtp
ls -la /etc/postfix/pop-before-smtp*
  • /etc/postfix/main.cf:
smtpd_recipient_restrictions = permit_mynetworks,check_client_access hash:/etc/postfix/pop-before-smtp,reject_unauth_destination
  • postfix reload

Logitech Cordless Optical Maus (PS/2) einrichten (Suse 9.2)

  • in YaST Standard PS/2 Maus einstellen
su
  • /etc/X11/XF86Config modifizieren:
Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Device" "/dev/mouse"
  Option       "Protocol" "imps/2"
  Option       "ZAxisMapping" "4 5"
  Option       "Buttons" "3"
  Option       "Resolution" "800"
EndSection
  • abmelden
init 3
init 5

"ClearType" aktivieren (Suse 9.2)

Als Root:

Source-RPM freetype2-2.1.4-65.src.rpm installieren, befindet sich auf SuSE-DVD B:

rpm -i freetype2-2.1.4-65.src.rpm

Im Verzeichnis /usr/src/packages/SPECS die Datei freetype2.spec editieren. Die Zeile

#%patch100 -p 1 -b .bytecode

einkommentieren.

Im Verzeichnis /usr/src/packages/SPECS das Kommando

rpmbuild -bb freetype2.spec

ausführen.

Nach dem Buildvorgang vergewissern dass die Datei /usr/src/packages/RPMS/i586/freetype2-2.1.4-65.i586.rpm existiert. Dann

rpm -e --nodeps freetype2
rpm -Uvh /usr/src/packages/RPMS/i586/freetype2-2.1.4-65.i586.rpm

(Alternativ im .spec-File die Releasenummer von 65 auf was anderes erhöhen, dann kann direkt ein Update durchgeführt werden ohne vorheriges Deinstallieren. Ohne Freetype funktioniert keine X-Anwendung mehr, also nur machen wenn SuSE-DVDs/CDs greifbar sind um das alte RPM wieder einzuspielen.)

Aus- und einloggen.

Kernel-Source installieren

  • Kernel-Source-RPM installieren

Kernel-Source vorbereiten oder compilieren

Dies sollte man als normaler Benutzer machen können. Falls nicht:

su
chown -R Benutzer.Gruppe /usr/src/linux

Vorbereiten (für NVidia-Treiber oder VMWare-Installation):

cd /usr/src/linux
make cloneconfig
make prepare-all

Compilieren:

cd /usr/src/linux
make cloneconfig
make dep

apt/Synaptic installieren (Suse 9.0)

su
rpm -i lua*.rpm
rpm -i apt*.rpm
  • /etc/apt/sources.list: Vorhandene Einträge auskommentieren und folgende 3 Zeilen hinzufügen
rpm      ftp://mirrors.mathematik.uni-bielefeld.de/pub/linux/suse/apt/ SuSE/9.0-i386 update security base

rpm      ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.0-i386  base update-prpm update kde gnome2 misc xfree86 xorg mozilla suser-rbos suser-gbv usr-local-bin suser-kpietrz suser-tcousin suser-scorot suser-sbarnin suser-ollakka funktronics packman packman-i686 wine suse-people suse-projects security-prpm security suser-guru

rpm-src  ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.0-i386  base update-prpm update kde gnome2 misc xfree86 xorg mozilla suser-rbos suser-gbv usr-local-bin suser-kpietrz suser-tcousin suser-scorot suser-sbarnin suser-ollakka funktronics packman packman-i686 suse-people suse-projects security-prpm security suser-guru
apt-get update
apt-get install synaptic
  • im KDE-Menü den Eintrag von Synaptic (System/Konfiguration) ändern:
    • Befehl: /usr/sbin/synaptic
    • Enable launch feedback ausschalten
    • Unter einer anderen Benutzerkennung ausführen: root

Hinweis #1:

Wenn "apt-get install package" nicht funktioniert wegen fehlender Signaturen, kann man stattdessen "apt --no-checksig install package" verwenden. Bei Verwendung von Synaptic sollte man global in "/etc/apt/apt.conf.d/gpg-checker.conf" die Option "RPM::GPG-Check" auf "false" setzen.

Hinweis #2:

Mit den oben genannten Repositories darf man unter KDE 3.1 nicht "apt-get upgrade" machen, da apt sonst KDE 3.2.x installieren will. Dies sollte nicht passieren, wenn man die "kde" Einträge weglässt.

KDE upgraden

3.1 -> 3.3.x
  • alle KDE-Sessions beenden (auch VNC)
  • in Root-Konsole anmelden (STRG-ALT-F1)
init 3
  • /tmp/*kde* Verzeichnisse umbenennen
  • yast
  • kdebase3-SuSE deinstallieren (und davon abhängige Help-Pakete)
  • "Installationsquelle wechseln"
  • "Hinzufügen/FTP"
  • Servername: ftp.gwdg.de
  • Verzeichnis: pub/linux/suse/ftp.suse.com/suse/i386/supplementary/KDE/update_for_9.0/yast-source
  • neue Quelle anschalten und ganz nach oben schieben
  • "Software installieren" wählen
  • Filter "Selektionen"
  • "KDE-Desktop-Umgebung", "KDE komplett", "KDE-Entwicklung" auf neue Versionen aktualisieren
  • "Akzeptieren"
  • kdebase3-SuSE installieren trotz Konflikt (optional, notwendig für SuseWatcher und SusePlugger) oder das gepatchte (siehe unten)
  • yast beenden
init 5
3.2.x -> 3.3.x
  • alle KDE-Sessions beenden (auch VNC)
  • in Root-Konsole anmelden (STRG-ALT-F1)
init 3
  • /tmp/*kde* Verzeichnisse umbenennen
  • yast
  • kdebase3-SuSE deinstallieren (und davon abhängige Help-Pakete)
  • "Installationsquelle wechseln"
  • "supplementary" Quelle Bearbeiten/Status aktualisieren und wieder ganz nach oben schieben
  • "Software installieren" wählen
  • Filter "Selektionen"
  • "KDE-Desktop-Umgebung", "KDE komplett", "KDE-Entwicklung" auf neue Versionen aktualisieren
  • "Akzeptieren", obsolete Packages deinstallieren
  • evtl. neues gepatchtes kdebase3-SuSE für KDE 3.3 installieren (siehe unten)
  • yast beenden
init 5
Konflikt mit kdebase3-SuSE

Falls man das originale kdebase3-SuSE zwangsinstalliert, muss man bei der späteren Verwendung von yast diesen Konflikt ignorieren. Bei der Verwendung von apt/Synaptic muss man vor Installation einer neuen Software immer zuerst kdebase3-SuSE deinstallieren ("apt-get remove kdebase3-SuSE") und danach wieder zwangsinstallieren (über yast oder Download von ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/9.0/suse/i586/kdebase3-SuSE-9.0-80.i586.rpm und "rpm -Uvh kdebase3-SuSE-9.0-80.i586.rpm", "SuSEconfig", "ldconfig"). Das originale kdebase3-SuSE führt allerdings zu Abstürzen bei Aufruf von HTML-Seiten im Konqueror unter KDE 3.3.x. Deswegen besser:

Alternative (gepatchtes kdebase3-SuSE ohne Konflikt mit KDE >3.1)

ftp://packman.iu-bremen.de/testing/SuSE_9.0_kde_3.3_missing/rpm/kdebase3-SuSE-9.0.90-81.i586.rpm

Weitere X-Sessions starten

Nach Upgrade auf KDE >3.1 kann man von KDE aus nicht mehr weitere X-Sessions starten, weil die entsprechenden Einträge in der Konfiguration fehlen.

su
  • /etc/opt/kde3/share/config/kdm/Xservers folgendermaßen modifizieren/ergänzen:
:0 local /usr/X11R6/bin/X :0 vt7
:1 local reserve /usr/X11R6/bin/X :1 vt8
:2 local reserve /usr/X11R6/bin/X :2 vt9
:3 local reserve /usr/X11R6/bin/X :3 vt10
:4 local reserve /usr/X11R6/bin/X :4 vt11
:5 local reserve /usr/X11R6/bin/X :5 vt12
init 3
init 5
Look von Gnome-Applikationen nach Upgrade auf KDE 3.3.x

Gnome-Applikationen verwenden nicht mehr automatisch den Geramik-Look nach dem Upgrade auf KDE 3.3.x.

Eine mögliche Lösung:

  • Paket "Geramik" installieren, falls noch nicht installiert
  • touch ~/.no-qtrc-to-gtkrc-mapping
  • ~/.gtkrc:
include "/opt/gnome/share/themes/Geramik/gtk/gtkrc"
  • ~/.gtkrc-2.0:
include "/opt/gnome/share/themes/Geramik/gtk-2.0/gtkrc"
  • neu anmelden
VNC über xinetd bringt nach KDE-Upgrade keinen Login-Screen mehr

Nach Upgrade auf KDE 3.4.x kommt beim Verbinden des VNC-Viewers mit Port 5901 bzw. 5910 nur noch ein grauer Bildschirm, statt des KDE-Logins.

su
  • /etc/opt/kde3/share/config/kdm/kdmrc: In der Section [Xdmcp]:
Enable=true
init 3
init 5

NFS-Laufwerke automatisch mounten/unmounten (automount, autofs)

Wenn ein NFS-Server nicht immer verfügbar ist, bekommt man Probleme (Programme, die darauf zugreifen wollen, hängen ewig), wenn der Server down ist. Damit das nicht passiert, mountet man die Laufwerke nicht per NFS-Client bzw. /etc/fstab, sondern mit automount.

su
mkdir /example
chmod 777 /example
  • /etc/auto.example:
dir1 -fstype=nfs server:/dir1
dir2 -fstype=nfs server:/dir2
  • /etc/auto.master:
/example    /etc/auto.example rsize=8192,wsize=8192  #  NFS-Optionen am Ende
insserv autofs
rcautofs start

Wenn jetzt ein Programm auf /example/dir1 oder /example/dir2 zugreift, wird das NFS-Laufwerk automatisch gemountet und 5 Minuten (default, einstellbar) nach Gebrauch wieder automatisch unmounted.

Suse 9.0: Kernel-Upgrade 2.4 -> 2.6.8

Ich habe das nur in einer VMware getestet. Es scheint alles zu funktionieren, aber USB konnte ich nicht testen. Außerdem kann man nach dem Upgrade mit YaST keine Hardware mehr konfigurieren, weil YaST mit /etc/modules.conf arbeitet, während Kernel 2.6 /etc/modprobe.conf verwendet. Möglicherweise ist es besser, mit apt oder YaST das ganze System auf Suse 9.2 zu bringen.

Pakete mkinitrd und modtools auf den aktuellen Stand bringen:

  • mkinitrd-1.0-222
  • modutils-2.4.25-56

ALSA aktualisieren:

apt-get install alsa alsa-tools alsa-devel

/etc/modprobe.conf erzeugen:

generate-modprobe.conf | tee /etc/modprobe.conf

Bei den ALSA-Optionen in /etc/modprobe.conf den Prefix "snd_" entfernen.

sysfs vorbereiten:

mkdir /sys
chmod 777 /sys

Aktuelle Kernel- und Kernel-Source-RPMs aus der RPM-Datenbank entfernen:

rpm -e --justdb kernel-default (kann auch anders heißen, z.B. k_deflt)
rpm -e --justdb kernel-source

Neue Kernel- und evtl. Kernel-Source-RPMs (z.B. von ftp://ftp.suse.com/pub/people/mantel/next/i386/HEAD) installieren:

rpm -ivh kernel-default-2.6.8-0.i586.rpm
rpm -ivh kernel-source-2.6.8-0.i586.rpm

Mit ls /boot feststellen, wie der alte Kernel genau heißt.

Alten Kernel versionsspezifisch (vmlinuz, initrd) in /boot/grub/menu.lst eintragen (Kopie vom obersten Eintrag), Beispiel:

title Linux 2.4
    kernel (hd0,1)/boot/vmlinuz-2.4.21-260-default root=/dev/sda2 splash=silent acpi=off desktop showopts
    initrd (hd0,1)/boot/initrd-2.4.21-260-default

Neu booten mit neuem Kernel.

Kernel-Source evtl. compilieren:

cd /usr/src/linux
make cloneconfig
make

udev installieren:

rpm -ivh udev-018-3.i586.rpm

Hotplug updaten:

rpm --upgrade --force hotplug-0.42-13.noarch.rpm

NFS fixen, falls Fehlermeldung beim Booten kommt:

touch /var/lib/nfs/state
chmod 664 /var/lib/nfs/state

Neu booten.

Wenn Dienste sporadisch nicht starten:

  • In /etc/sysconfig/boot RUN_PARALLEL auf "no" setzen

Suse 9.1: Upgrade auf Suse-Kernel 9.2

Aktuellen 9.2er Kernel evtl. mit Source von ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/update/9.2/rpm/i586 downloaden.

Aktuelle Kernel- und Kernel-Source-RPMs aus der RPM-Datenbank entfernen:

rpm -e --justdb kernel-default (kann auch anders heißen, z.B. k_deflt)
rpm -e --justdb kernel-source

Neuen Kernel und evtl. Source installieren:

rpm -ivh kernel-default-2.6.8-24.10.i586.rpm
rpm -ivh kernel-source-2.6.8-24.10.i586.rpm

Mit ls /boot feststellen, wie der alte Kernel genau heißt.

Alten Kernel versionsspezifisch (vmlinuz, initrd) in /boot/grub/menu.lst eintragen (Kopie vom obersten Eintrag), Beispiel:

title Linux 2.6.5
    kernel (hd0,1)/boot/vmlinuz-2.6.5-7.111.5-default root=/dev/sda2 splash=silent acpi=off desktop showopts
    initrd (hd0,1)/boot/initrd-2.6.5-7.111.5-default

Neu booten mit neuem Kernel.

Kernel-Source evtl. compilieren:

cd /usr/src/linux
make cloneconfig
make

Suse 9.1/9.2: Upgrade auf neuen Vanilla-Kernel

Aktuellen Kernel-Source downloaden: http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2

Entpacken nach /usr/src:

cd /usr/src
tar --bunzip2 -xvf Filename

Konfigurieren:

cd /usr/src/linux-2.6.10
zcat /proc/config.gz > .config
make oldconfig

Compilieren:

make prepare
make rpm

Aktuelle Kernel- und Kernel-Source-RPMs aus der RPM-Datenbank entfernen:

rpm -e --justdb kernel-default (kann auch anders heißen, z.B. k_deflt)
rpm -e --justdb kernel-source

Neuen Kernel installieren:

rpm -ivh /usr/src/packages/RPMS/i386/kernel-2.6.10-1.i386.rpm

initrd erstellen:

cd /boot
mkinitrd -k vmlinuz-2.6.10 -i initrd-2.6.10

Neuen Kernel versionsspezifisch (vmlinuz, initrd) in /boot/grub/menu.lst eintragen (Kopie vom obersten Eintrag), Beispiel:

title Linux 2.6.10
    kernel (hd0,1)/boot/vmlinuz-2.6.10 root=/dev/sda2 splash=silent acpi=off desktop showopts
    initrd (hd0,1)/boot/initrd-2.6.10

Neuen Source-Link einrichten:

rm -i /usr/src/linux
ln -s /usr/src/linux-2.6.10 /usr/src/linux

Neu booten mit neuem Kernel.

subfs installieren:

  • Paket "km_submount" installieren
cd /usr/src/kernel-modules/subfs
  • Im Makefile "modules_add" durch "modules_install" ersetzen
make -f Makefile.module
make install
depmod -a
modprobe subfs

Wie verhindert man den Start von "gpg-agent"?

In "/etc/X11/xdm/sys.xsession" usegpg="no" setzen.

Ein Benutzer hat ein Zugriffsproblem beim Palm-Sync

Der Benutzer muss in der Gruppe "uucp" sein.

Nur ein lokaler Benutzer hat Zugriff auf Sound, Video oder CD-Laufwerke

In "/etc/logindevperm" müssen die entsprechenden Rechte von " 0600" nach " 0660" geändert werden. Außerdem müssen alle Benutzer in der entsprechenden Gruppe sein (audio, video, disk, ...).

NFS belegt manchmal Ports von anderen Services (z.B. imaps, cupsd)

Der rpc.mountd von NFS belegt zufällig (dynamisch) einen Port. Je nach Startreihenfolge kann es dabei passieren, dass er den Port eines anderen Services erwischt. Mit "rpcinfo -p" kann man sich die momentan verwendeten Ports anzeigen lassen. In "/etc/sysconfig/nfs" kann man stattdessen einen festen Port zuweisen, z.B. mit

MOUNTD_PORT="35295"

Danach "rcnfsserver restart" uind "rpcinfo -p" sollte dann diesen Port anzeigen.

Treo 650 mit Suse synchronisieren

Meinen Tungsten T konnte ich problemlos mit jpilot über /dev/ttyUSB0 synchronisieren. Mit dem Treo 650 funktioniert das (vermutlich wegen irgendeinem Timeout) nicht mehr. Aber so kann man ihn mit /dev/pilot synchronisieren:

su
  • /etc/udev/rules.d/10-udev.rules:
# Palm Handheld
BUS="usb",SYSFS{serial}="PalmSN12345678",NAME="pilot"
  • /etc/udev/permissions.d/10-udev.permissions:
# Palm Handheld rw
pilot*:root:usb:0666

Apache2 SSL mit Suse 10.1

  • YaST: ssl-module aktivieren
  • /etc/sysconfig/apache2: APACHE_SERVER_FLAGS="SSL"
  • SuSEconfig
  • mv /etc/apache2/vhosts.d/vhost-ssl.template -> /etc/apache2/vhosts.d/vhost-ssl
  • cert -> /etc/apache2/ssl.crt/server.crt
  • key -> /etc/apache2/ssl.keyserver.key


Suse 10.2

ASUS Notebook, Suspend-to-RAM ermöglichen

Bei neuerem BIOS sollte es von Haus aus funktionieren. Ansonsten ist folgendes zu ändern in /etc/pm/config:

S2RAM_OPTS="-f -a 1"
Reihenfolge der Netzwerkgeräte festlegen

Entsprechende Namen ändern in /etc/udev/rules.d/30-net_persistent_names.rules.

WLAN verbindet sich nicht nach dem Booten

Bei mir wird die ESSID nicht automatisch gesetzt, obwohl alles konfiguriert ist. Also setze ich die ESSID in /etc/init.d/boot.local:

iwconfig eth1 essid <id>
Suspend beim Schließen des Notebook-Deckels

In ~/.kde/share/config/kpowersaverc:

[General]
ActionOnLidClose=SUSPEND2RAM

Quelle: http://en.opensuse.org/Suspending_when_closing_the_laptop_lid_in_SUSE_10.2