MiniHowtos, Tips, ...

Konfigurationsdateien/Howtos für verschiedene Dienste sind im Bereich Dienste zu finden.
Auch die Tips auf dieser Seite beziehen sich in erster Linie auf Debian, besitzen aber weitgehend Allgemeingültigkeit.

Distri-spezifische Tips sind auch auf der Debian- und der Archlinuxseite zu finden.


Dateien in initrd entpacken

$ zcat /boot/initrd.img.gz | cpio -i --no-absolute-filenames

grub-install im chroot

$ mount /dev/${partition_mit_root} /mnt # bei mehreren Partitionen diese nach /mnt/${pfad} mounten
$ mount -o bind /dev /mnt/dev
$ mount -t proc none /mnt/proc
$ mount -t sysfs none /mnt/sys
$ chroot /mnt /bin/bash
$ grub-install /dev/${erste_festplatte}
$ update-grub # debian

Public key exportieren

$ gpg --armor --export <you@example.com> > mykey.asc

Module in initrd auflisten (initramfs)

$ zcat /boot/initrd.img-`uname -r` | cpio -t | grep ko$

Text in einer Datei ersetzen mit perl

Ersetzt alle Vorkommen von 'suchText' mit 'ersetzungsText' in der Datei 'Eingabe.datei' und erstellt eine Backupdatei.
$ perl -p -i.bak -e 's/suchText/ersetzungsText/g' Eingabe.datei

Text in einer Datei ersetzen mit sed

Ersetzt alle Vorkommen von 'suchText' mit 'ersetzungsText' aus der Datei 'Eingabe.datei' und schreibt das Resultat in 'Ausgabe.datei'.
$ sed -e 's/suchText/ersetzungsText/g' < Eingabe.datei > Ausgabe.datei

bash history top ten:

$ history | awk '{print $2}' | sort | uniq -c | sort -n -r | head -10

diskdump:

Partition kopieren
$ dd if=/dev/hda7 of=/dev/hdc7 bs=16065b
Partition sichern
$ dd if=/dev/hda7 bs=16065b | gzip > /mnt/image_hda7.gz
Partition wiederherstellen
$ gzip -dc /mnt/image_hda7.gz | dd of=/dev/hda7 bs=16065b
Für das Retten von Daten bei einer defekten/fehlerhaften Festplatte sollte man dd_rescue vorziehen. (Denn dd_rescue überspringt automatisch nicht lesbare Sektoren, dd würde abbrechen.)

iso auf cd/dvd brennen:

$ wodim -v dev=/dev/cdrw blank=fast # cdrw schnell löschen
$ wodim -v dev=/dev/cdr dateiname.iso # cd
$ growisofs -dvd-compat -Z /dev/dvd=dateiname.iso # dvd

mailto link in firefox:

Um einen mailtolink in firefox mit kmail zu öffnen in der Adresszeile von ff "about:config" eingeben und dort mittels Neu->String "network.protocol-handler.app.mailto" mit "kmailservice" neu anlegen.

in vim pasten:

Möchte man Text mit Einrückungen nach vim pasten tritt in der Regel ein Problem mit der automatischen Einrückung auf. Um selbiges zu umgehen einfach vor dem pasten
:set paste
eingeben, nachdem pasten einfach
:set nopaste
eingeben und man hat das Problem einfach umschifft.

iso erstellen:

$ mkisofs -r -o dateiname.iso /pfad-zum-quellverzeichnis
Folgender Befehl führt zum Bruch mit ISO9660 ist aber unproblematischer in Bezug auf Dateinamen:
$ mkisofs -rJl -allow-multidot -allow-leading-dots -o dateiname.iso /pfad-zum-quellverzeichnis
$ genisoimage -r -J -V CDtitel -o cdimage.iso /quellverzeichnis 
Soll das iso bootfähig sein, benötigt man sowas wie isolinux und eine boot.cat.
Das kann dann z.B. folgendermassen aussehen:
$ mkisofs -pad -l -r -J -quiet -V ${CD_TITLE} -no-emul-boot -boot-load-size 4 \
  -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
  -hide-rr-moved -o ${ISO_OUTFILE} ${BOOTCDROOT}

netcat: Dateien übertragen:

Empfängerseite
$ nc -v -w 30 -p 5600 -l > dateiname.back
Senderseite
$ nc -v -w 2 <empfänger-ip> 5600 < dateiname

Partition verschlüsseln:

$ apt-get install cryptsetup dmsetup
$ cryptsetup create --verify-passphrase --cipher aes-cbc-essiv:sha256 crypted /dev/xdxX
$ dmsetup ls
$ mkfs.ext3 /dev/mapper/crypted
$ mkdir /crypted
$ mount /dev/mapper/crypted /crypted
Beim erneuten mappen kann man die option --verify-passphrase weglassen, denn sie dient nur dazu beim Festlegen der Passphrase Tippfehler zu vermeiden.

farbiges Bash-Prompt:

Das Prompt wird durch die Variable PS1 bestimmt, dies kann man z.B. in der .bashrc festlegen.
PS1="\[\033[0;34m\][\u@\h\[\033[1;30m\] \w\[\033[0;34m\]]\[\033[0m\]$ "
Dadurch wird der user@host Teil blau und das aktuelle Verzeichnis grau dargestellt.
Für root verwende ich rot, das entspricht 0;31m.
Wer sich für die Farbcodes im Detail interessiert möge sich das Bash-Prompt-Howto anschauen.

sshfs:

Für sshfs benötigt man fuse-utils und Unterstützung von FUSE entweder im Kernel oder als Modul.
$ sshfs user@host:/remotedir/foo $HOME/bar
Nach Bedarf von der Option -o allow_root Gebrauch machen.

ssh Tunnel:

Tunnel aufbauen:
$ ssh -L localport:remotehost:remoteport -l user -N remotesshserver 
Zur Nutzung des Tunnels stellt man dann als host localhost und als port localport ein.

X Displayumleitung:

Client:
$ xhost +ServersIP
Server:
$ export DISPLAY=ClientIP:display_nr.screen_nr
$ xhost +ClientIP
Anwendungen die nun von dieser Console des Servers gestartet werden, werden auf dem Client angezeigt.

Möchte man eine X-Anwendung unter einem anderen Benutzer als dem gerade angemeldeten starten, kann man den Benutzerwechsel entweder mit sux statt mit su vornehmen oder muss die DISPLAY Variable entsprechend setzen:
$ xhost +localhost
$ export DISPLAY=":0"

Bei Verbindungen über ssh kann man auch X-Forwarding nutzen, wenn dies die Konfiguration des ssh-daemons erlaubt:
$ ssh -X user@host

mount cloop:

Damit man ein komprimiertes Image mounten kann benötigt man das Kernelmodul cloop. Unter Debian erhält man das am einfachsten mittels modul-assisstant.
$ apt-get install module-assistant build-essential
$ m-a prepare
$ m-a a-i cloop
$ apt-get install cloop-utils
Danach kann man loslegen:
$ losetup /dev/cloop1 /home/user/CLOOP-FILE
$ mount /dev/cloop1 /mnt

mount iso:

$ mount -o loop -t iso9660 dateiname.iso /mnt

3D-Beschleunigung mit einer nvidia-Grafikkarte (nvidia-installer):

Als erstes braucht ihr die aktuellen Treiber von der nvidia Website. Dann müsst ihr die grafische Oberfläche beenden. (z.B. mit control-alt-backspace) Danach wechselst du in das Verzeichnis, in dem die heruntergeladene Treiberdatei liegt und führt sie mit './NVIDIA-Linux-<arch>-<version>-<pkgnr>.run' als root aus. (evtl. vorher 'chmod a+x "dateiname"') Wenn das erfolgreich war müsst ihr die Datei /etc/X11/xorg.conf oder /etc/X11/XF86Config-4 noch aktualisieren. Dort sollte unter dem Abschnitt "Device" bei "driver" "nvidia" (und nicht nv) stehen und unter dem Abschnitt "Module" darf "Load" nicht mit "dri" oder "GLcore" auftauchen, "glx" hingegen muss dort stehen.
Siehe auch debian.

Quake3 unter Linux:

Mit einer Q3-Windows-CD und dem Pointrelease 1.3.2. für Linux kannst du Q3 auch unter Linux spielen. Allerdings mußt du dafür (logischerweise) 3D-Beschleunigung aktiviert haben. Ist dies der Fall brauchst du nur das Pointrelease installieren (z.B. nach /usr/local/games als root) und aus dem baseq3-Verzeichnis deiner Q3-CD nur die Datei pak0.pk3 in das entsprechende Verzeichnis deiner Linux-installation kopieren. Anschließend kannst du noch einen Symlink (ln -s /usr/local/games/quake3/quake3 /usr/local/bin/quake3) anlegen und schon kann es losgehen.

© 2001 - 2017 Frank Remetter