Linux/Tipps/Allgemein: Unterschied zwischen den Versionen
→rsync Fehler 24 (some files vanished before they could be transferred)
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 112: | Zeile 112: | ||
====Wer hat offene Dateien in einem Verzeichnis?==== | ====Wer hat offene Dateien in einem Verzeichnis?==== | ||
lsof +D /dir | 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?==== | ====Wie findet man zum Löschen vorgemerkte (aber noch offene) Dateien?==== | ||
Zeile 218: | Zeile 221: | ||
Optional Devices und tmp der aktuellen Installation binden: | Optional Devices und tmp der aktuellen Installation binden: | ||
mount --bind /dev/ <anderes Root-Verzeichnis>/dev/ | mount --bind /dev/ <anderes Root-Verzeichnis>/dev/ | ||
mount --bind /dev/pts <anderes Root-Verzeichnis>/dev/pts | |||
mount --bind /tmp/ <anderes Root-Verzeichnis>/tmp/ | mount --bind /tmp/ <anderes Root-Verzeichnis>/tmp/ | ||
Dann: | Dann: | ||
Zeile 230: | Zeile 234: | ||
export TERM=xterm | 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): | 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 /dev/shm | mount -t tmpfs none /dev/shm | ||
mount -t proc proc /proc | mount -t proc proc /proc | ||
mount -t sysfs sys /sys | mount -t sysfs sys /sys | ||
Zeile 297: | Zeile 301: | ||
====JPEG-Bilder drehen entsprechend den EXIF-Informationen==== | ====JPEG-Bilder drehen entsprechend den EXIF-Informationen==== | ||
jhead -autorot *.jpg | jhead -autorot *.jpg | ||
oder | |||
exifautotran *.jpg | |||
Danach noch das Filedatum wieder auf das Aufnahmedatum setzen: | |||
exiftool '-DateTimeOriginal>FileModifyDate' <DIRECTORY> | |||
====XFS defragmentieren==== | ====XFS defragmentieren==== | ||
Zeile 365: | Zeile 373: | ||
ctl.!default { | ctl.!default { | ||
type hw | type hw | ||
card | card 0 | ||
} | } | ||
Stereo-Ausgabe auf Onboard und Nvidia 3: | |||
pcm.!default { | pcm.!default { | ||
type plug | type plug | ||
Zeile 399: | Zeile 406: | ||
ctl.!default { | ctl.!default { | ||
type hw | type hw | ||
card " | 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:<br> | |||
'''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 |