Arbeiten mit VIM: Befehle aufzeichnen und abspielen (Recording)

Einführung In VIM kann man Tastatureingaben aufzeichnen und später wieder abspielen. So kann man Abläufe, welche man in einer Datei mehrmals durchführen muss, schnell und einfach automatisieren. Damit kann man sich Arbeiten sehr erleichtern! Syntax 0-9a-z qx: Beginnt eine neue Aufnahme und speichert diese ins Register x q: Beendet die aktuelle Aufnahme @x: Führt die Befehle vom Register x aus @@: Führt die Befehle vom zuletzt ausgeführten Register aus Dabei steht x für den Registernamen, welcher die Werte [0-9a-z] haben darf. ...

10.10.2011 · 2 min · Emanuel Duss

Ein DHCP-Server unter Debian einrichten

Einführung DHCP steht für Dynamic Host Configuration Protocol. Mit einem DHCP-Server kann man Clients in einem Netzwerk automatisch eine IP-Konfiguration zuweisen. Somit muss man bei den Clients nicht manuell eine IP-Konfiguration vornehmen. Meistens wird über den DHCP-Server die IP-Adresse des Clients, die Subnetzmaske vom Netzwerk, der Default-Gateway und der zu verwendende DNS-Server verteilt. Installation Unter Debian heisst das Paket vom DHCP-Server isc-dhcp-server (früher dhcp3-server). Installiert wird es folgendermassen: $ sudo aptitude install isc-dhcp-server Nach der Installation ist der DHCP-Server noch nicht aktiv. Dieser muss zuerst konfiguriert werden. ...

30.08.2011 · 6 min · Emanuel Duss

IP-Adressen in DenyHosts wieder zulassen

Einführung DenyHosts kann dazu verwendet werden, BruteForce-Angriffe abzuwehren. DenyHosts durchsucht Logfiles auf fehlerhafte Logins und sperrt diese nach einer gewissen Anzahl. Blöd ist nur, wenn man sich selber raussperrt. Mit meinem kleinen Skript kann man eine IP-Adresse in DenyHosts wieder entsperren. Manuell Zuerst stoppt man den DenyHosts-Daemon: $ sudo /etc/init.d/denyhosts stop Stopping DenyHosts: denyhosts. Die IP-Adresse muss danach aus dem File /etc/hosts.deny gelöscht werden. $ sudo vi /etc/hosts.deny Dies genügt jedoch noch nicht ganz. Die IP-Adresse ist immer noch nicht erlaubt. DenyHosts führt seperate Listen in einem eigenen Verzeichnis. Das Verzeichnis findet man mit folgendem Befehl heraus: ...

03.07.2011 · 2 min · Emanuel Duss

Meine Konfigurationsdatei für VIM (.vimrc)

Der Texteditor VIM kann mit der Datei ~/.vimrc konfiguriert werden. Alle Befehle in dieser Datei werden beim Start ausgeführt. Dies ist meine Konfigurationsdatei für VIM: "####################################################################### " " ~/.vimrc " vim Konfigurationsdatei " " Copyright 2011 Emanuel Duss " Licensed under GNU General Public License " " 2010-06-19; Emanuel Duss; Erste Version " 2011-02-08; Emanuel Duss; Neu: set list; set listchars " 2011-02-14; Emanuel Duss; Neu: endocing=utf8 " "####################################################################### "####################################################################### " Einstellungen set nocompatible " VIM-Zusätze aktivieren set encoding=utf8 " UTF8 als Zeichensatz set mouse=a " Mausunterstüzung aktivieren set number " Zeilennummern angeben set incsearch " Zeigt Suchergebnisse während dem Suchen an set hlsearch " Suchresultate farbig hervorheben set ignorecase " Ignoriert Gross/Kleinschreibung beim Suchen set smartcase " Nur Gross/Kleinschreibung beachten, wenn Grossbuchstabe vorhanden set autoread " Liest die Datei neu, wenn ausserhalb von VIM geändert. set backup " Erstellt eine Backup-Datei set tabstop=2 " Tabulator entspricht 2 Leerzeichen set softtabstop=2 " Weicher Tabulator set shiftwidth=2 " Einrücktiefe set autoindent " Automatisch einrücken set expandtab " Tabulatoren in Spaces umwandeln set wrap " Zeilenumbruch aktivieren set list " listchars anzeigen set listchars=tab:»·,trail:· " Tabs und Leerzeichen am Zeilenende anzeigen colorscheme default " Farbschema " colorscheme desert " Farbschema syntax on " Code farbig darstellen "####################################################################### " Makros map :w!:!aspell --lang=de check %:e! % map :w! :! pdflatex % map hex :%!xxd " Hexeditor mit \hex starten map nhex :%!xxd -r " Hexeditor mit \nhex beenden map :r!date +\%Y-\%m-\%d map :r!date +\%Y-\%m-\%d_\%H-\%M-\%S " EOF Die aktuellste Version davon gibt es auf GitHub in meinem Configs Repository: .vimrc. ...

09.04.2011 · 2 min · Emanuel Duss

Dateisystem verschlüsseln mit LUKS

Einführung Mit dm-crpyt kann man unter Linux Festplatten bzw. Dateisysteme verschlüsseln. LUKS (Linux Unified Key Setup) erweitert dm-crypt um einige Funktionen. LUKS ermöglicht zum Beispiel das Verwalten von mehreren Schlüsseln, sowie das automatische erkennen und einbinden von verschlüsselten Geräten ins Dateisystem. LUKS wird mit dem Tool cryptsetup eingerichtet. Logical Volume verschlüsseln 10 GB grosses Logical Volume mit dem Namen seucre in der Volume Group rootvg anlegen: lvcreate -n secure -L 100G rootvg Logical Volume verschlüsseln (sicheres Passwort auswählen): ...

15.03.2011 · 2 min · Emanuel Duss

Arch Linux Grundinstallation mit LVM

Einführung Das verändern der Grösse von einem Filesystem während der Laufzeit ist nur einer der Vorteile vom Logical Volume Manager (LVM). Deshalb habe ich bei meiner Arch Linux Installation auf LVM gesetzt. Der Logical Volume Manager Mit dem Logical Volume Manager kann man Festplatten verwalten. Folgende Grafik (welche ich auch auf Wikipedia veröffentlicht habe), zeigt den Zusammenhang zwischen Physical Partition (PP), Physical Volumes (PV), Logical Volumes (LV) und Volume Groups (VG) sehr gut: ...

03.03.2011 · 3 min · Emanuel Duss

Wikipedia-Einträge über DNS abfragen

Einführung Die Online-Enzyklopädie Wikipedia kann über DNS abgefragt werden. Toll daran ist, dass man somit jederzeit die Definition von einem Begriff aus der Shell heraus per DNS abfragen kann. Technik Der DNS-Server wp.dg.cx stellt über TXT-Ressource-Records den ersten Absatz von den englischen Wikipedia-Artikeln zur Verfügung. Der DNS-Server kann mit nslookup oder dig abgefragt werden. Abfrage Ich möchte die Definition von Foo wissen. Der DNS-Query sieht folgendermassen aus: emanuel@discordia:~ $ dig foo.wp.dg.cx TXT ;; Truncated, retrying in TCP mode. ; <<>> DiG 9.7.2-P3 <<>> txt foo.wp.dg.cx ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7560 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 1 ;; QUESTION SECTION: ;foo.wp.dg.cx. IN TXT ;; ANSWER SECTION: foo.wp.dg.cx. 86400 IN TXT "The term foobar, along with foo, bar, and baz, is a common placeholder name (also referred to as a metasyntactic variable) used in computer programming or computer-related documentation. These four terms are used heavily in computer science to take the pl" "ace of unknown values, typically while describing a scenario where the purpose of the unknown values are understood, but... http://a.vu/w:Foobar" ;; AUTHORITY SECTION: . 78741 IN NS g.root-servers.net. . 78741 IN NS f.root-servers.net. . 78741 IN NS h.root-servers.net. . 78741 IN NS e.root-servers.net. . 78741 IN NS k.root-servers.net. . 78741 IN NS l.root-servers.net. . 78741 IN NS j.root-servers.net. . 78741 IN NS c.root-servers.net. . 78741 IN NS a.root-servers.net. . 78741 IN NS m.root-servers.net. . 78741 IN NS i.root-servers.net. . 78741 IN NS b.root-servers.net. . 78741 IN NS d.root-servers.net. ;; ADDITIONAL SECTION: a.root-servers.net. 79004 IN A 198.41.0.4 ;; Query time: 5 msec ;; SERVER: 10.0.0.10#53(10.0.0.10) ;; WHEN: Mon Feb 14 21:11:04 2011 ;; MSG SIZE rcvd: 670 In der Answer-Section steht die Erklärung von Foo. ...

14.02.2011 · 3 min · Emanuel Duss

Fotos nach Datum umbenennen mit jhead

Einführung Digitalkameras speichern Bilder oft unter Dateinamen wie DSC00523.jpg. Mit diesen nicht sprechenden Namen kann ich nicht viel anfangen. Das Datum und die Uhrzeit des Fotos ist für den Dateinamen viel besser geeignet. EXIF-Daten auslesen Die Digitalkamera speichert das Datum und die Uhrzeit in den so genannten EXIF-Tags. Mit jhead kann man diese Tags auslesen und bearbeiten. Mit jhead dateiname.jpg kann man sich die EXIF-Tags anzeigen lassen: emanuel@discordia:~ $ jhead DSC00523.JPG File name : DSC00523.JPG File size : 2277972 bytes File date : 2011:02:06 13:45:34 Camera make : Canon Camera model : Canon DIGITAL IXUS 80 IS Date/Time : 2010:12:27 12:02:37 Resolution : 2592 x 1944 Flash used : No Focal length : 14.3mm (35mm equivalent: 90mm) CCD width : 5.72mm Exposure time: 0.020 s (1/50) Aperture : f/4.5 Focus dist. : 6.57m ISO equiv. : 800 Whitebalance : Auto Metering Mode: pattern In der Zeile Date/Time sieht man, dass das Foto am 27.12.2010 um 12:02:37h erstellt wurde. ...

06.02.2011 · 2 min · Emanuel Duss

Manpages farbig darstellen

Einführung Ich mag es, wenn meine Konsole farbig dargestellt wird. So finde ich es auch praktisch, wenn bestimmte Schlüsselwörter in Manpages farbig hervorgehoben werden. Anleitung Mit folgenden Befehlen kann man den Pager less dazu bringen, die Ausgaben anders zu formatieren: export LESS_TERMCAP_us=$'\E[01;32m' # Beginn unterstrichen export LESS_TERMCAP_ue=$'\E[0m' # Ende unterstrichen export LESS_TERMCAP_so=$'\E[01;44;33m' # Beginn Standout-Mode export LESS_TERMCAP_se=$'\E[0m' # Ende Standout-Mode export LESS_TERMCAP_md=$'\E[01;31m' # Start fett export LESS_TERMCAP_mb=$'\E[01;31m' # Start blinken export LESS_TERMCAP_me=$'\E[0m' # Ende alles Diese Befehle schreibt man sich in die Datei ~/.bashrc, die automatisch bei jeder neuen Shell ausgeführt wird. ...

30.01.2011 · 1 min · Emanuel Duss

Fotos automatisch drehen mit jhead

Einführung Viele Digitalkameras verfügen über einen Gravitationssensor, der erkennt, wie die Kamera beim erstellen des Bildes gehalten wurde. Diese Information kann man dazu nutzen, um das Bild automatisch richtig zu drehen. Die Information wird im EXIF-Tag “Orientation” des Bildes gespeichert. Mit dem Tool jhead kann man diese Information auslesen und das Foto automatisch drehen lassen. EXIF-Daten Wird jhead keine Option angegeben, werden einige EXIF-Informationen angezeigt: $ jhead foto.jpg File name : foto.jpg File size : 2040209 bytes File date : 2011:01:16 18:22:37 Camera make : Canon Camera model : Canon DIGITAL IXUS 80 IS Date/Time : 2011:01:14 23:05:42 Resolution : 2592 x 1944 Orientation : rotate 90 Flash used : Yes (auto) Focal length : 6.2mm (35mm equivalent: 39mm) CCD width : 5.72mm Exposure time: 0.017 s (1/60) Aperture : f/2.8 Focus dist. : 0.48m ISO equiv. : 250 Whitebalance : Auto Metering Mode: pattern Das Tag “Orientation” sagt, dass das Bild um 90° gedreht wurde. Aber jetzt weiss man immer noch nicht, ob das Bild im Uhrzeigersinn, oder im Gegenuhrzeigersinn gedreht werden muss. ...

16.01.2011 · 3 min · Emanuel Duss

Gesamter Traffic über DNS tunneln mit OzymanDNS

Einführung An öffentlichen Plätzen oder in Cafes gibt es oft öffentliche Hotspots. Manchmal verlangen diese eine Registrierung oder sind nur nutzbar, wenn man bezahlt. Interessant dabei ist, dass DNS-Anfragen auch ohne Anmeldung aufgelöst werden. Jetzt kann man den gesamten Traffic über DNS tunneln und so ohne Anmeldung im Internet surfen. Voraussetzung Ein DNS-Server Ein Server, welcher für den Tunnel verantwortlich ist Ein Client Die Software OzymanDNS von Dan Kaminsky ...

09.01.2011 · 4 min · Emanuel Duss

Bilder verkleinern mit convert (imagemagick)

Einführung Wenn man im Internet eine Fotogalerie publizieren will, oder man viele Fotos per E-Mail verschicken will, sollte man die Fotos verkleinern. Ich habe mir ein Skript geschrieben, welches die Auflösung der Bilder verkleinert und die JPEG-Qualitätsstufe heruntersetzt. Somit kann man ganz schnell viele Bilder verkleinern. Einzelne Bilder verkleinern Mit dem Befehl convert kann ein Bild verkleinert werden. Hierzu muss das Paket imagemagick installiert sein. convert -resize 2048x2048 -quality 60 bild.jpg klein.jpg Man sieht gut, wie sich die Dateigrösse verändert: ...

12.12.2010 · 2 min · Emanuel Duss

Meine Konfigurationsdatei für vi (.exrc)

Der klassische Texteditor vi (nicht vim) kann man über die Datei .exrc im Homeverzeichnis konfigurieren. Ich mag den verbesserten vi-Editor vim (Vi IMproved) zwar mehr, jedoch ist dieser nicht auf allen Systemen vorhanden. Deshalb habe ich mir auch eine Konfigurationsdatei für vi gemacht. Meine .exrc sieht folgendermassen aus: "####################################################################### " " ~/.exrc " Konfigurationsfile fuer vi " " Copyright 2010 Emanuel Duss " Licensed under GNU General Public License " " 2010-09-18; Emanuel Duss; Erste Version " "####################################################################### "####################################################################### " Optionen set showmode " Editmodus anzeigen set wrapscan " Uebers Dateiende hinaus suchen set nowrap " Kein Zeilenumbruch set tabstop=2 " Tabulator = 2 Zeichenbreite set shiftwidth=2 " Einruecken um 2 Zeichenbreite set showmatch " Gegenklammer anzeigen set number " Zeilen nummerieren set noerrorbells " Bei Fehler nicht piepsen set ignorecase " Ignoriere Gross-/Kleinschreibung set nolist " Tabulatoren/Zeilenende ausblenden set autoindent " Automatisch einruecken " EOF Die aktuellste Version davon gibt es auf GitHub in meinem Configs Repository: .exrc. ...

05.12.2010 · 1 min · Emanuel Duss

Ein Backup-Konzept mit Hardlinks und rsync

Einführung Da es für mich keine passende Backup-Lösung gab, habe ich mir diese selber geschrieben. Meine Daten werden jetzt per rsync auf meinen Backup-Server synchronisiert. Für meine Backup-Lösung braucht man nicht zwingend einen Backup-Server. Mit rsync kann man auch auf dem lokalen Rechner Dateien und Verzeichnisse synchronisieren. Das tolle an meinem Skript ist, dass ich verschiedene Versionen von meinen Daten habe. Wenn ich eine Datei lösche und dann mein Backup starte, wird diese Datei auf dem Backup-Server nicht gelöscht! Dies geschieht mit Hardlinks. Das geniale daran ist, dass nur die neuen Daten neuen Platz auf der Harddisk beanspruchen. Obwohl ich über 10 mal die selbe Datei gesichert habe, wird deren Speicherplatz nur einmal belegt. ...

24.11.2010 · 8 min · Emanuel Duss

Hello World!

Willkommen auf meinem Blog.

19.11.2010 · 1 min · Emanuel Duss
×