Linux/Tipps/Allgemein
Windows-Freigabe mounten per Shell (Samba)
Paket "samba-client" installieren.
md /<Verzeichnis> mount -t smbfs -o username=<Name>,password=<Passwort>,gid=users,fmask=0664,dmask=0775 //<Server>/<Freigabe> /<Verzeichnis>
Automatisch beim Booten: Zeile in /etc/fstab einfügen:
//<Server>/<Freigabe> /<Verzeichnis> smbfs auto,gid=users,fmask=0664,dmask=0775,iocharset=iso8859-15,code=850,credentials=/etc/<Passwortdatei> 0 0
/etc/<Passwortdatei>:
username = <Name> password = <Passwort>
Eingeben:
chmod 600 /etc/<Passwortdatei>
Windows-Freigabe mounten per GUI (Samba, LISa)
- Pakete "kdenetwork3-lisa", "kdenetwork3-lan", "kdebase3-samba", "samba-client" installieren
- Kontrollzentrum/Internet & Netzwerk/Netzwerk-Browser starten
- Windows-Ressourcen und LISa-Dämon konfigurieren
Eingeben:
rclisa start insserv lisa
Samba Umlaute konfigurieren
Zeilen in /etc/samba/smb.conf unter [global] hinzufügen:
client code page = 850 character set = ISO8859-15
Desktop-Sharing mit VNC
- Kontrollzentrum/Internet & Netzwerk/Arbeitsfläche freigeben starten
- Zugriff und Netzwerk (Port) einstellen
- VNCviewer mit Port verbinden
VNC als dauerhafte Session
Starten:
vncserver :session [-rfbport port] [-geometry WidthxHeight] [-depth depth] [-dpi 75|100)]
Beenden:
vncserver -kill :session
Beim ersten Start wird man nach dem Passwort gefragt. Nach dem ersten Start sollte man in ~/.vnc/xstartup die letzte Zeile ersetzen durch "startkde &", damit als Windowmanager KDE verwendet wird. Beispiele:
vncserver :2 -geometry 800x600 -depth 16 vncserver :2 -rfbport 5913 -geometry 1280x1024 -depth 24 -dpi 100
RPM Paket selbst erstellen
http://asic-linux.com.mx/~izto/checkinstall/index.php installieren oder von Suse DVD/RPM.
checkinstall --type=rpm --install=no --pkgname=lame --pkgversion=3.93.1 --pkgarch=i386
Logs anzeigen
tail -f /var/log/messages tail -f /var/log/mail tail -f /var/log/fetchmail tail -f /var/log/ntp
Autostart pro Benutzer
- ~/.kde/Autostart
- ~/.xinitrc
Palm-Sync
Paket "jpilot" und "pilot-link" installieren. Bei der aktuellen Version von pilot-link kann es bei manchen Files zu Hängern beim HotSync kommen. Dafür gibt es einen Patch. Die neuesten Betas sollten das Problem nicht mehr haben.
Wie konvertiert man .bin/.cue CD-Images nach .iso?
Mit bchunk.
Wie erstellt man ein .iso Image von Dateien?
mkisofs -joliet -o filename.iso -f /path/to/source
Wie erstellt man ein .iso Image von CD?
dd if=/dev/cdrom of=cdrom.iso
Wie kann man 2 Partitionen ohne Datenverlust der ersten miteinander verbinden?
Dazu müssen sie VOR dem ersten Formatieren mit dem logischen Laufwerksmanager (LVM) verwaltet werden.
Warum ist bei xMule und xcdroast (wxGTK-GUI) die GUI vergrätzt, wenn man VNC als X-Terminal verwendet?
Dienst vnc10 bzw. vnc11 mit -depth 24 statt -depth 16 als Parameter einrichten.
Wie bringt man X-Programme (wie Mozilla) zum Drucken über CUPS?
/usr/bin/lpr durch folgendes Script ersetzen:
#!/bin/bash if [ $# -eq 0 ] then kprinter -stdin else kprinter $1 $2 $3 $4 $5 $6 $7 $8 fi
Wo sind die Mozilla-Voreinstellungen?
/opt/mozilla/lib/defaults/pref/unix.js
Wo stellt man die MTU ein?
Dauerhaft (geht nur bei statischer IP-Adresse):
/etc/sysconfig/network/ifcfg-eth0
Temporär:
/sbin/ifconfig eth0 mtu 1450
Wie wird Mail für root an einen Benutzer weitergeleitet?
In /etc/aliases:
root: Username
eintragen. Dann newaliases laufen lassen.
Wie kann man einen Port umleiten?
Redir oder mit rinetd:
Konfiguration in /etc/rinetd.conf, in der z.B. steht
0.0.0.0 80 localhost 8080
und schon werden alle Anfragen auf Port 80 von beliebigen IPs auf Port 8080 umgeleitet. Dabei sind z.B. auch andere Zielrechner, sowie Pattern für Source-IPs möglich.
Wer hat Locks auf Partitionen?
fuser -u /partition
Wer hat offene Dateien in einem Verzeichnis?
lsof +D /dir
Anzahl der offenen Dateien
lsof | awk '{ print $2 " " $1; }' | sort -rn | uniq -c | sort -rn | head -20
Wie findet man zum Löschen vorgemerkte (aber noch offene) Dateien?
lsof | grep '(deleted)'
Welche Programme belegen den meisten Speicher?
ps -eo %mem,command | sort -r | head
Wie kann man ein .iso File mounten?
mount -t iso9660 -o ro,loop file.iso /verzeichnis
Alte Codecs (z.B. für Amazon) in RealPlayer 10 installieren
Paket "w32codecs" oder "w32codec-all" installieren.
su cp /usr/lib/win32/dnet.so.6.0 /usr/lib/RealPlayer10/codecs/ cp /usr/lib/win32/ddnt.so.6.0 /usr/lib/RealPlayer10/codecs/ cd /usr/lib/RealPlayer10/codecs/ ln -s dnet.so.6.0 dnet.so
Console Screenblanker ausschalten
setterm -blank 0 setterm -powersave off
Boot-CD für BIOS-Flash
First or all, download this FreeDOS fdboot.img.bz2 compressed boot floppy image. Assuming you have your flash utility FLASH.EXE and BIOS image BIOS.IMG in your current directory, just execute these commands :
bunzip2 -c fdboot.img.bz2 > fdboot.img mount -o loop -t msdos fdboot.img /mnt/floppy cp -a FLASH.EXE BIOS.IMG /mnt/floppy/ umount /mnt/floppy mkdir -p cdrom/boot mv fdboot.img cdrom/boot/boot.img mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso cdrom/ cdrecord blank=fast cdrecord -dao -eject -v bootcd.iso
Quelle: http://freshrpms.net/docs/bios-flash/
.iso Image auf DVD brennen
growisofs -speed=4.0 -dvd-compat -Z /dev/dvdrecorder=<.iso File>
Verzeichnis auf DVD brennen
growisofs -speed=4.0 -dvd-compat -R -Z /dev/dvdrecorder <Verzeichnis>
Video-DVD brennen
growisofs -speed=4.0 -dvd-video -Z /dev/dvdrecorder <Verzeichnis>
ssh ohne Passwort
http://www.debianadmin.com/ssh-your-debian-servers-without-password.html
Grub-Bootblock installieren
Beispiel: 1.Platte ist Bootplatte, Bootpartition ist die 1. Partition.
grub
grub> root (hd0,0) grub> setup (hd0) grub> quit
Windows-Eintrag für Grub
/boot/grub/menu.lst:
title Windows 2000 root (hd0,0) # hdPLATTE,PARTITION, z.B. hd1,0 -> Platte 2, Partition 1 makeactive chainloader +1
mysql Zeichensatz
http://blog.koehntopp.de/archives/1424-MySQL-Zeichensatz-Grundlagen.html
Blockgröße eines ext3 Filesystems
dumpe2fs <device> | less
Gimp druckt Postscript-Text statt Grafik
Beim Drucker-Setup im Druckdialog
kprinter -d<Printername> -oraw
ersetzen durch
kprinter -stdin
Korrupte MakerNote von Olympus aus JPEG-Bild entfernen
exif --remove --tag=0x927c --ifd=EXIF -o <Filename> <Filename>
KDE-Fenster im maximierten Zustand mit Klick ganz oben rechts schließen können
Kontrollzentrum -> Arbeitsfläche -> Fenstereigenschaften -> Verschieben -> Verschiebung und Größenänderung von maximierten Fenstern zulassen abschalten.
mkdir /mnt/<Directory> /etc/init.d/portmap start mount -o nolock <IP-Adresse>:/<Pfad> /mnt/<Directory>
KDE sagt beim Anmelden, dass klauncher nicht gestartet werden kann
rm /home/<Benutzer>/.DCOPserver*
Dann X neu starten.
DPMS im X-Server konfigurieren
Quelle: http://www.doctort.org/adam/nerd-notes/disabling-screen-blanking-in-xorg.html
/etc/X11/xorg.conf, Section "Monitor":
Option "DPMS"
/etc/X11/xorg.conf, Section "ServerLayout":
Option "BlankTime" "0" Option "StandbyTime" "0" Option "SuspendTime" "0" Option "OffTime" "0"
chroot
Mit chroot kann man die Shell in eine andere Installation (z.B. auf einer anderen Platte) bringen und somit simulieren, dass man mit der anderen Installation gebootet hätte.
Optional Devices und tmp der aktuellen Installation binden:
mount --bind /dev/ <anderes Root-Verzeichnis>/dev/ mount --bind /dev/pts <anderes Root-Verzeichnis>/dev/pts mount --bind /tmp/ <anderes Root-Verzeichnis>/tmp/
Dann:
chroot <anderes Root-Verzeichnis> /bin/bash
Optional alle Env-Variablen der aktuellen Installation löschen:
unset `env | cut -d= -f1`
Dann:
/usr/sbin/env-update source /etc/profile
Optional (wenn vorher alle Env-Variablen gelöscht wurden):
export HOME=/root export TERM=xterm
Optional /dev/shm, proc, sysfs und usbfs mounten (proc muss z.B. gemountet werden zum Kernel, Java oder htop compilieren, /dev/shm für Python):
mount -t tmpfs none /dev/shm mount -t proc proc /proc mount -t sysfs sys /sys mount -t usbfs usbfs /proc/bus/usb
Vor dem Verlassen des chroots sollte man diese Verzeichnisse wieder unmounten.
NFS-Optionen herausfinden
Mit nfsstat kann man herausfinden, mit welchen Optionen ein NFS gemountet ist:
nfsstat -m
diff im Subversion-Format
diff -u <alte_Datei> <neue_Datei>
Verzeichnis an anderer Stelle nochmal einbinden
Einmalig:
mount --bind olddir newdir
Dauerhaft in /etc/fstab:
/olddir /newdir none bind
KDE kann auf eine angeschlossene Digitalkamera nicht zugreifen
Das ist evtl. ein Rechteproblem. Kamera anschließen und dann als root:
lsusb
Ergebnis (Beispiel):
Bus 6 Device 2: ID 04cb:01e4 Fuji Photo Film Co., Ltd
Dann in /etc/udev/rules.d/70-libgphoto2.rules eine Zeile hinzufügen mit den ermittelten Daten:
ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e4", GROUP="plugdev"
Alle Dateien umbenennen nach Kleinschrift
Im aktuellen Verzeichnis:
for f in `ls`; do mv -v $f `echo $f | tr '[A-Z]' '[a-z]'`; done
Rekursiv:
for f in `find`; do mv -v $f `echo $f | tr '[A-Z]' '[a-z]'`; done
PDF-Druckertreiber installieren
Quelle: http://jtwo.de/2008/04/pdf-drucker/
- emerge -av cups-pdf
- http://localhost:631
- Drucker hinzufügen
- Name, Ort und Beschreibung ausfüllen und Fortsetzen anklicken
- CUPS-PDF (Virtual PDF Printer) auswählen und wieder Fortsetzen
- Generic und wieder Fortsetzen
- Generic CUPS-PDF Printer und Drucker hinzufügen
/etc/cups/cups-pdf.conf:
Out /${HOME}/pdf
vncserver mit KDE4
Damit beim Verbinden mit einem vncserver unter KDE4 kein schwarzes Bild auf dem Client erscheint, muss man den vncserver z.B. so starten:
dbus-launch vncserver :2 -geometry 1024x768 -depth 16
Der Server von tightvnc hat Probleme mit einigen KDE4-Effekten. tigervnc funktioniert aber einwandfrei.
Kopieren mit tar
cp ist nicht immer geeignet zum Kopieren von kompletten Rechnern, weil es z.B. beim Kopieren von manchen Dateien in /proc einfach hängen bleibt. Man kann aber auch mit tar kopieren:
cd <srcdir> tar -cf - . | (cd <destdir>;tar -xf -)
Timestamps in der bash history
Quelle: http://larsmichelsen.com/open-source/bash-timestamp-in-bash-history/
/etc/bash/bashrc:
export HISTTIMEFORMAT="%F %T "
JPEG-Bilder drehen entsprechend den EXIF-Informationen
jhead -autorot *.jpg
oder
exifautotran *.jpg
Danach noch das Filedatum wieder auf das Aufnahmedatum setzen:
exiftool '-DateTimeOriginal>FileModifyDate' <DIRECTORY>
XFS defragmentieren
Abfrage:
xfs_db -c frag -r /device
Defragmentieren:
xfs_fsr -v /mountpoint
Externe USB-Festplatte fährt von selbst immer wieder hoch
Das kann an udisks liegen.
/etc/udev/rules.d/80-udisks.rules:
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", ENV{UDISKS_DISABLE_POLLING}="1", ENV{UDISKS_IGNORE}="1", ENV{ID_ATA_FEATURE_SET_SMART_ENABLED}="0"
Wenn das nicht reicht, dann könnte es noch an KDE liegen.
/etc/portage/package.use:
kde-base/kdelibs -udisks
Dann:
emerge -1 kdelibs
ALSA Audioausgabe auf 2 Geräte gleichzeitig
Quelle: http://www.avsforum.com/t/1269302/simultaneous-multiple-outputs-with-alsa#post_19060197
Beispiel mit Intel Audio Onboard (ASRock P67 Performance) und HDMI-Audio (5.1) über Nvidia-Grafikkarte (Zotac GeForce GT 630 ZONE Edition).
~/.asoundrc:
pcm.!default { type plug slave { pcm multi } ttable.0.0 1.0 ttable.1.1 1.0 ttable.0.2 1.0 ttable.1.3 1.0 ttable.2.4 1.0 ttable.3.5 1.0 ttable.4.6 1.0 ttable.5.7 1.0 } pcm.multi { type multi slaves.a.pcm "hw:0,0" slaves.a.channels 2 slaves.b.pcm "hw:1,3" slaves.b.channels 6 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 bindings.4.slave b bindings.4.channel 2 bindings.5.slave b bindings.5.channel 3 bindings.6.slave b bindings.6.channel 4 bindings.7.slave b bindings.7.channel 5 } ctl.!default { type hw card 0 }
Stereo-Ausgabe auf Onboard und Nvidia 3:
pcm.!default { type plug slave { pcm multi } ttable.0.0 1.0 ttable.1.1 1.0 ttable.0.2 1.0 ttable.1.3 1.0 } pcm.multi { type multi slaves.a.pcm "hw:0,0" slaves.a.channels 2 slaves.b.pcm "hw:1,3" slaves.b.channels 2 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 } ctl.!default { type hw card 0 }
Stereo-Ausgabe auf Onboard und Nvidia 3 und 7:
pcm.!default { type route; slave.pcm "multi"; slave.channels 6; ttable.0.0 1.0; ttable.1.1 1.0; ttable.0.2 1.0; ttable.1.3 1.0; ttable.0.4 1.0; ttable.1.5 1.0; } pcm.multi { type multi slaves.a.pcm "hw:0,0" slaves.a.channels 2 slaves.b.pcm "hw:1,3" slaves.b.channels 2 slaves.c.pcm "hw:1,7" slaves.c.channels 2 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 bindings.4.slave c bindings.4.channel 0 bindings.5.slave c bindings.5.channel 1 } ctl.!default { type hw card 0 }
KDE4 kommt nicht damit klar, den Sound auf 2 Soundkarten zu schicken (klingt verzerrt). Für den Fall kann man mehrere ALSA-Devices einrichten und KDE auf eines ausgeben lassen, das nur ein Hardware-Device verwendet. In diesem Beispiel ist ALSA:default nur eine Soundkarte und ALSA:all sind alle Soundkarten. Letzteres verwendet man dann bei Programmen, die damit umgehen können (z.B. MythTV).
pcm.!default { type hw card 0 device 0 } pcm.all { type route; slave.pcm "multi"; slave.channels 6; ttable.0.0 1.0; ttable.1.1 1.0; ttable.0.2 1.0; ttable.1.3 1.0; ttable.0.4 1.0; ttable.1.5 1.0; } pcm.multi { type multi slaves.a.pcm "hw:0,0" slaves.a.channels 2 slaves.b.pcm "hw:1,3" slaves.b.channels 2 slaves.c.pcm "hw:1,7" slaves.c.channels 2 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 bindings.4.slave c bindings.4.channel 0 bindings.5.slave c bindings.5.channel 1 } ctl.!default { type hw card 0 }
Alternative mit Verwendung der Alsa Devicenamen statt Hardwaredevices (wurde benötigt bei einer Asus Grafikkarte, aplay -L listet die Devicenamen):
pcm.all { type route; slave.pcm "multi"; slave.channels 4; ttable.0.0 1.0; ttable.1.1 1.0; ttable.0.2 1.0; ttable.1.3 1.0; } pcm.multi { type multi slaves.a.pcm "hw:0,0" slaves.a.channels 2 slaves.b.pcm "hdmi:CARD=NVidia,DEV=3" slaves.b.channels 2 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave b bindings.2.channel 0 bindings.3.slave b bindings.3.channel 1 }
X11 Forwarding
Auf dem Server (auf dem die Applikation läuft) die sshd config anpassen:
vi /etc/ssh/sshd_config
X11Forwarding yes
Dann:
/etc/init.d/sshd restart
Auf dem Client (auf dem die GUI angezeigt werden soll):
ssh -Y user@server <Applikation>
Private ID3-Tags von MP3-Dateien entfernen
eyeD3 --remove-frame PRIV <Datei>
Alle Dateien ohne Besitzer oder ohne Gruppe finden
find / -nouser find / -nogroup
MySQL komplett sichern
Backup:
mysqldump -u root -p --all-databases --skip-lock-tables > alldb.sql
Restore:
mysql -u root -p < alldb.sql
Datumswerte in JPEG-Bildern entfernen
Alle Werte abfragen:
exiftool -a -s -G -time:all file.jpg
Alle Werte entfernen:
exiftool -alldates= -gpsdatestamp= -gpstimestamp= -MetadataDate= file.jpg
rsync Fehler 24 (some files vanished before they could be transferred)
Anscheinend ist die einzige Abhilfe ein Wrapper-Script:
#!/bin/sh rsync "$@" e=$? if test $e = 24; then exit 0 fi exit $e
Applikationen öffnen Links in Firefox, obwohl Chrome als Standardbrowser eingestellt ist
xdg-mime default google-chrome.desktop x-scheme-handler/http xdg-mime default google-chrome.desktop x-scheme-handler/https