BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Komprimierte Textdateien lesen

Möchte man eine mit gzip oder bzip2 komprimierte Datei anschauen, so muss man diese nicht zuerst mit gunzip oder bunzip2 entpacken, sondern kann diese direkt mit bzcat(1) oder gzcat(1) auslesen:

# echo Dies ist eine Testdatei > test
# gzip test
# gzcat test.gz
Dies ist eine Testdatei

# echo Dies ist eine andere Testdatei > test
# bzip2 test
# bzcat test.bz2
Dies ist eine andere Testdatei

Mit bzip2 komprimierte Dateien können auch direkt mit Hilfe von bzgrep gegrept werden.

bzcat, gzcat und bzgrep befinden sich sowohl auf FreeBSD als auch auf OpenBSD im Basissystem.

Comments (2)  Permalink

chruetertee-Suchplugin für den Firefox

Ich habe ein Suchplugin für den Firefox erstellt, mit dem man diese Seite durchsuchen kann. Als Grundlage für das Plugin habe ich das google-Suchplugin verwendet, welches schon mit dem Firefox installiert wurde.

Das Plugin kann ganz einfach installiert werden. Einfach folgende Dateien ins searchplugins-Verzeichnis, auf FreeBSD ist dies /usr/X11R6/lib/firefox/searchplugins, kopieren:

Danach muss der Firefox nur noch neu gestartet werden und schon kann man das Suchplugin verwenden.

Comments (1)  Permalink

Eingeloggte Benutzer beobachten

Für Schulungen oder wenn man einem eingeloggten Benutzer helfen möchte, ist es manchmal von Vorteil, wenn man die Terminalausgabe eines Benutzers sieht. Dafür gibt es watch(8). Ist das device snp nicht im Kernel vorhanden, so wird automatisch beim ersten Aufruf von watch das snp.ko-Kernelmodul geladen. Natürlich kann watch nur von root verwendet werden.

Zuerst muss man herausfinden, mit welchem Terminal (tty) der zu überwachende Benutzer arbeitet. Dies lässt sich mit w(1) herausfinden:

# w
5:22pm up 4:50, 4 users, load averages: 0,08 0,13 0,11
USER TTY FROM LOGIN@ IDLE WHAT
guest p1 :0.0 12:45pm 1 more
beat p2 :0.0 1:18pm 1 vi Makefile
beat p3 :0.0 4:46pm 36 csh
beat p4 :0.0 5:13pm 8 w

Möchte man jetzt das Terminal (ttyp1) des Benutzers guest beobachten, so kann man das als root wie folgt tun:

# watch ttyp1

Nun sieht man alle Ein- und Ausgaben des Benutzers guest auf ttyp1. watch beendet man mit Ctrl + G. Mit Ctrl + W löscht man die Ausgabe auf dem Bildschirm und mit Ctrl + X kann man auf ein anderes Terminal wechseln.

Möchte man zusätzlich auch Eingaben auf dem Terminal des Benutzers machen können, so kann man watch mit der -W Option aufrufen:

# watch -W ttyp1
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Mit Xinerama zwei Bildschirme an einem Rechner verwenden

Mit Hilfe von Xinerama kann man mit einem Windowmanager mehrere Graphikkarten und Bildschirme benutzen. Fluxbox besitzt eine Xinerama Unterstützung. Auf FreeBSD kann man diese beim Installieren wie folgt aktivieren:

# cd /usr/ports/x11-wm/fluxbox-devel && make -DWITH_XINERAMA install

Danach als root eine xorg.conf erstellen lassen:

# X -configure

Wurde alles richtig erkannt, muss die erstellte xorg.conf nun noch angepasst werden. In der Section "ServerLayout" ist folgende Option einzutragen:

Option "Xinerama" "true"

Das TastaturLayout muss auch noch richtig gesetzt und die gewünschten Auflösungen konfiguriert werden.

Danach kann Fluxbox schon mit zum Beispiel zwei Monitoren verwendet werden.

Folgende Komponenten wurden verwendet:

Ergebnis:

Xinerama

Related Entries:
Umlaute nach X.Org Update von 6.8.2 auf 6.9.0
X.Org: could not open default font "fixed"
Auflösung unter X.Org während des Betriebes ändern
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
 Permalink

Terminalausgabe aufzeichnen

Möchte man die Terminalausgabe, zum Beispiel bei einem längeren make-Durchlauf, festhalten oder aufzeichen, was bei einem Portupgrade gemacht wurde, so kann man das mit script(1) machen. Beim Start von script kann man mit der Option -a eine Datei angeben in welche die Ausgabe geschrieben wird:

# script -a /tmp/ausgabe

Nun kann man die gewünschten Kommandos eingeben und alles wird in die angegebene Datei aufgezeichnet. Um die Aufzeichnung zu stoppen, gibt man einfach exit im Teminal ein. Danach bestätigt script, dass die Ausgabe nach /tmp/ausgabe geschrieben wurde:

Script done, output file is /tmp/ausgabe

script ist sowohl auf OpenBSD als auch auf FreeBSD im Basissystem vorhanden. Auf FreeBSD hat script noch einige zusätzliche Optionen. Die -k Option schreibt alle gedrückten Tasten auch in die Datei und die -q Option unterdrückt die Start und die Stoppmeldung.

 Permalink

MP3 und Ogg-Dateien aus Musik CD's erstellen

Mit abcde (A Better CD Encoder) lassen sich einfach MP3 oder Ogg-Dateien aus Musik CD's erstellen. Dabei wird automatisch eine CDDB abgefragt und die ID3-Tags der MP3's gesetzt. abcde findet man auf FreeBSD in den Ports unter audio/abcde:

cd /usr/ports/audio/abcde/ && make install clean

Danach kann abcde über die /usr/local/etc/abcde.conf konfiguriert werden. Wichtig ist, dass man zuerst in der abcde.conf das CD-ROM Laufwerk angibt. Zum Beispiel:

CDROM=/dev/acd0

Standardmässig werden von abcde Ogg-Dateien erstellt. Möchte man MP3's erstellt haben, wechselt man den OUTPUTTYPE in der abcde.conf:

OUTPUTTYPE=mp3

Eine Beschreibung aller Optionen findet man in der Manpage abcde(1).

Nun kann man einfach eine Musik CD ins CD-ROM Laufwerk einlegen und in dem Verzeichnis, in dem man den Ordner mit den Musik-Dateien haben möchte, abcde eingeben und warten, bis abcde beendet ist. Die nun erzeugten MP3's kann man dann, wenn man möchte, gleich auf den iPod laden.

 Permalink

Flux CMS Port für FreeBSD auf 1.4.0 aktualisiert

Nachdem gestern Flux CMS 1.4.0 erschienen ist, ist heute der FreeBSD Port aktualisiert worden. Nun läuft auch diese Webseite mit der neusten Version. Neu gibt es jetzt auf chruetertee.ch einige Links. Dies wurde durch Alains "Bookmark Plugin" möglich.
Related Entries:
Flux CMS nun in den FreeBSD Ports
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
 Permalink

Verschiedene Komprimierungsmöglichkeiten

Auf Free- und OpenBSD gibt es verschiedene Komprimierungswerkzeuge.

compress

Nahezu auf jedem unixoiden Betriebssystem verfügbar. Mit compress(1) komprimierte Dateien tragen die Endung .Z.

Eine Datei wird wie folgt mit compress komprimiert und wieder entpackt:

# ls -aol test
-rw-r--r-- 1 beat wheel 3067 24 Jun 10:48 test
# compress test
# ls -aol test.Z
-rw-r--r-- 1 beat wheel 2117 24 Jun 10:48 test.Z
# uncompress test.Z
# ls -aol
-rw-r--r-- 1 beat wheel 3067 24 Jun 10:48 test

Mehrere Dateien müssen zuerst mit tar(1) zu einem Archiv gepackt werden, bevor sie mit compress komprimiert werden können.

compress ist sowohl auf Free- als auch auf OpenBSD im Basissystem verfügbar.

bzip2

Gute Kompressionsrate, dafür dauert das komprimieren länger. Mit bzip2(1) komprimierte Dateien tragen die Endung .bz2.

Eine Datei wird wie folgt mit bzip2 komprimiert und wieder entpackt:

# ls -aol test
-rw-r--r-- 1 beat wheel - 3067 24 Jun 10:48 test
# bzip2 test
# ls -aol test.bz2
-rw-r--r-- 1 beat wheel - 1689 24 Jun 10:48 test.bz2
# bunzip2 test.bz2
# ls -aol test
-rw-r--r-- 1 beat wheel - 3067 24 Jun 10:48 test

Mehrere Dateien müssen zuerst mit tar(1) zu einem Archiv gepackt werden, bevor sie mit bzip2 komprimiert werden können. Im folgenden Beispiel wird das Verzeichnis Verzeichnis zusammen mit dem ganzen Inhalt komprimiert und mit dem zweiten Befehl wieder entpackt.

# tar -cvpyf Verzeichnis.tar.bz2 Verzeichnis
# tar -xvyf test.tar.bz2

bzip2 ist auf FreeBSD bereits im Basissystem enthalten, auf OpenBSD findet man bzip2 im archivers/bzip2 Port.

gzip

Beliebtes Kompressionsprogramm. Mit gzip(1) komprimierte Dateien tragen die Endung .gz.

Eine Datei wird wie folgt mit gzip komprimiert und wieder entpackt:

# ls -aol test
-rw-r--r-- 1 beat wheel - 3067 24 Jun 10:48 test
#gzip test
#ls -aol test.gz
-rw-r--r-- 1 beat wheel - 1529 24 Jun 10:48 test.gz
#gunzip test
#ls -aol test
-rw-r--r-- 1 beat wheel - 3067 24 Jun 10:48 test

Mehrere Dateien müssen zuerst mit tar(1) zu einem Archiv gepackt werden, bevor sie mit gzip komprimiert werden können. Im folgenden Beispiel wird das Verzeichnis Verzeichnis zusammen mit dem ganzen Inhalt komprimiert und mit dem zweiten Befehl wieder entpackt.

# tar -cvpzf Verzeichnis.tar.gz Verzeichnis
# tar -xvzf test.tar.gz

gzip ist sowohl auf Free- als auch auf OpenBSD im Basissystem verfügbar.

zip

Um Daten mit Windowsbenutzern auszutauschen, empfiehlt sich zip(1). Mit zip komprimierte Dateien tragen die Endung .zip.

Eine Datei wird wie folgt mit zip komprimiert und wieder entpackt:

# ls -aol test
-rw-r--r-- 1 beat wheel - 3067 24 Jun 10:48 test
# zip test.zip test
adding: test (deflated 51%)
# ls -aol test.zip
-rw-r--r-- 1 beat wheel - 1646 24 Jun 11:34 test.zip
# unzip test.zip
Archive: test.zip
replace test? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: test
# ls -aol test
-rw-r--r-- 1 beat wheel - 3067 24 Jun 10:48 test

Mehrere Dateien lassen sich direkt mit zip komprimieren. Im folgenden Beispiel wird das Verzeichnis Verzeichnis zusammen mit dem ganzen Inhalt komprimiert:

# zip -r Verzeichnis.zip Verzeichnis

zip findet man auf Free- und OpenBSD im archivers/zip Port.

 Permalink

OpenBSD Packages aktualisieren

Seit OpenBSD 3.9 lassen sich installierte Packages einfach mit pkg_add(1) aktualisieren:

# pkg_add -ui -F update -F updatedepends

Dabei werden die installierten Packages mit denen verglichen, welche sich in einem Verzeichnis befinden, auf das die PKG_PATH Umgebungsvariable zeigt.

Wird folgende Meldung angezeigt, so wurde PKG_PATH nicht richtig gesetzt.

No packages available in the PKG_PATH

Mann kann PKG_PATH auch gleich beim Aufruf von pkg_add setzen:

# PKG_PATH=ftp://mirror.switch.ch/pub/OpenBSD/3.9/packages/i386 pkg_add -ui -F update -F updatedepends

Im nachfolgenden Beispiel wurden alle Packages auf Aktualisierungen überprüft und dank der -i Option kann der Benutzer entscheiden, ob und auf welche Version ein Package aktualisiert wird. Hier wird dovecot von 1.0-beta3 auf 1.0-beta8 aktualisiert:

# PKG_PATH=ftp://mirror.switch.ch/pub/OpenBSD/3.9/packages/i386 pkg_add -ui -F update -F updatedepends
Candidates for updating dovecot-1.0.beta3 - dovecot-1.0.beta3 dovecot-1.0.beta8
Ambiguous: dovecot-1.0.beta3 could be dovecot-1.0.beta3 dovecot-1.0.beta8
Choose one package
0:
1: dovecot-1.0.beta3
2: dovecot-1.0.beta8
Your choice: 2
Looking for updates: complete
Running the equivalent of pkg_add -r dovecot-1.0.beta8
dovecot-1.0.beta8 (extracting): complete
dovecot-1.0.beta3 (deleting): complete
dovecot-1.0.beta8 (installing): complete
Related Entries:
Aktualität des OpenBSD-Portbaumes überprüfen
Zeit synchronisieren mit ntpd
OpenOffice.org 2.0 auf OpenBSD
OpenBSD von 3.7 auf 3.8 aktualisieren
Dateien unter Free- und OpenBSD mit Flags schützen
 Permalink

Flashplugin 7 für Firefox auf FreeBSD 6.1

Da flashplugin6 wieder aus den Ports entfernt wurde, muss man das flashplugin7 installieren, wenn man nicht auf Flash verzichten möchte.

Folgendermassen hat die Installation auf FreeBSD 6.1 funktioniert:

# cd /usr/ports/www/firefox && make install clean
# cd /usr/ports/www/linuxpluginwrapper && make install clean
# cd /usr/ports/www/linux-flashplugin7 && make install clean
# cd /usr/src
# fetch http://people.FreeBSD.org/~nork/rtld_dlsym_hack.diff
# patch < rtld_dlsym_hack.diff
# cd libexec/rtld-elf
# make clean && make obj && make depend && make && make install
# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD6 /etc/libmap.conf
# ln -s /usr/X11R6/lib/linux-flashplugin7/libflashplayer.so /usr/X11R6/lib/browser_plugins/libflashplayer.so

Quellen:

http://lists.freebsd.org/pipermail/freebsd-questions/2006-May/122903.html
http://lists.freebsd.org/pipermail/freebsd-questions/2006-May/122941.html

Update 04.09.2006

Scheinbar funktioniert obige Methode mit einem aktuellen Portbaum nicht mehr. Folgendermassen sollte die Installation nun wieder funktionieren:

# cd /usr/ports/www/firefox && make install clean
# cd /usr/ports/www/linuxpluginwrapper && make install clean
# cd /usr/ports/www/linux-flashplugin7 && make install clean
# cd /usr/src
# fetch http://people.FreeBSD.org/~nork/rtld_dlsym_hack.diff
# patch < rtld_dlsym_hack.diff
# cd libexec/rtld-elf
# make clean && make obj && make depend && make && make install
# cp /usr/local/share/examples/linuxpluginwrapper/libmap.conf-FreeBSD6 /etc/libmap.conf
# ln -s /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so /usr/X11R6/lib/browser_plugins/libflashplayer.so
# ln -s /usr/local/lib/npapi/linux-flashplugin/flashplayer.xpt /usr/X11R6/lib/browser_plugins/flashplayer.xpt

Danach folgende Zeile in der /etc/libmap.conf

[/usr/X11R6/lib/linux-flashplugin7/libflashplayer.so]

in Folgende ändern:

[/usr/local/lib/npapi/linux-flashplugin/libflashplayer.so]
Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink
Prev Next431-440/521