Linux/Tipps/Suse: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
18.226 Bytes hinzugefügt ,  17. Juni 2007
keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 90: Zeile 90:
* Verzeichnis: pub/linux/suse/ftp.suse.com/suse/i386/8.2
* 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"
* Links:
** http://www.grinta.net/howto/bluez-ipaq.html
** http://iserver.hta.fhz.ch/~iathalma/projects/bluetooth/Linux_Bluetooth_Lan_Gateway/Linux_Bluetooth_Lan_Gateway.html
** http://www.holtmann.org/linux/bluetooth/
** http://geewiz.teamlinux.de/artikel/linuxbluetooth
** http://www.harbaum.org/till/palm/bluetooth/
** http://www.heddley.com/edd/2002/03/04/linuxBlade-howto.html
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)====
* Pakete "apt", "apt-libs", "lua" von ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.0-i386/RPMS.suser-rbos runterladen
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:
* 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




1.075

Bearbeitungen

Navigationsmenü