Linux/Tipps/Allgemein: Unterschied zwischen den Versionen

Aus VivaLV
< Linux‎ | Tipps
Wechseln zu: Navigation, Suche
(chroot)
(Wer hat offene Dateien in einem Verzeichnis?)
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?====

Version vom 19. Mai 2018, 06:02 Uhr

Inhaltsverzeichnis

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.

NFS-Share von einer Live-CD aus mounten

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"

Quelle: http://www.linuxquestions.org/questions/linux-hardware-18/fuji-finepix-f30-doesnt-work-612826/#post3019566

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