BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Reduzierte Ausgabe von make search im Portbaum

Mit Hilfe von make search kann im FreeBSD-Portbaum nach Ports gesucht werden:

# cd /usr/ports
# make search name=fluxbox
Port:   fluxbox-sid-pack-20031226_3
Path:   /usr/ports/x11-themes/fluxbox-sid-pack
Info:   Sid themes pack for fluxbox
Maint:  novel@FreeBSD.org
B-deps: 
R-deps: expat-2.0.1 fluxbox-1.1.1 fontconfig-2.6.0,1 freetype2-2.3.9_1 imlib2-1.4.1.000_2,2 jbigkit-1.6 jpeg-7 kbproto-1.0.3 libICE-1.0.4_1,1 libSM-1.1.0_1,1 libX11-1.2.1_1,1 libXau-1.0.4 libXaw-1.0.5_1,1 libXdmcp-1.0.2_1 libXext-1.0.5,1 libXft-2.1.13 libXmu-1.0.4,1 libXp-1.0.0,1 libXpm-3.5.7 libXrandr-1.3.0 libXrender-0.9.4_1 libXt-1.0.5_1 libiconv-1.13.1 libid3tag-0.15.1b libpthread-stubs-0.1 libungif-4.1.4_5 libxcb-1.4 pkg-config-0.23_1 png-1.2.40 printproto-1.0.4 python26-2.6.2_3 randrproto-1.3.0 renderproto-0.9.3 tiff-3.9.1_1 xcb-proto-1.5 xextproto-7.0.5 xmessage-1.0.2_1 xproto-7.0.15
WWW:    http://fluxbox.org/themes.php

Port:   fluxbox-tenr-styles-pack-20071215_1
Path:   /usr/ports/x11-themes/fluxbox-tenr-styles-pack
Info:   Tenner themes pack for fluxbox
Maint:  miwi@FreeBSD.org
B-deps: kbproto-1.0.3 libX11-1.2.1_1,1 libXau-1.0.4 libXdmcp-1.0.2_1 libpthread-stubs-0.1 libxcb-1.4 pkg-config-0.23_1 python26-2.6.2_3 xcb-proto-1.5 xproto-7.0.15
R-deps: expat-2.0.1 fluxbox-1.1.1 fontconfig-2.6.0,1 freetype2-2.3.9_1 imlib2-1.4.1.000_2,2 jbigkit-1.6 jpeg-7 kbproto-1.0.3 libICE-1.0.4_1,1 libSM-1.1.0_1,1 libX11-1.2.1_1,1 libXau-1.0.4 libXaw-1.0.5_1,1 libXdmcp-1.0.2_1 libXext-1.0.5,1 libXft-2.1.13 libXmu-1.0.4,1 libXp-1.0.0,1 libXpm-3.5.7 libXrandr-1.3.0 libXrender-0.9.4_1 libXt-1.0.5_1 libiconv-1.13.1 libid3tag-0.15.1b libpthread-stubs-0.1 libungif-4.1.4_5 libxcb-1.4 pkg-config-0.23_1 png-1.2.40 printproto-1.0.4 python26-2.6.2_3 randrproto-1.3.0 renderproto-0.9.3 tiff-3.9.1_1 xcb-proto-1.5 xextproto-7.0.5 xmessage-1.0.2_1 xproto-7.0.15
WWW:    http://tenr.de/styles/styles013.php?a=styles

Port:   fluxbox-1.1.1
Path:   /usr/ports/x11-wm/fluxbox
Info:   A small and fast window manager based on BlackBox
Maint:  beat@FreeBSD.org
B-deps: expat-2.0.1 fontconfig-2.6.0,1 freetype2-2.3.9_1 gettext-0.17_1 gmake-3.81_3 imlib2-1.4.1.000_2,2 jbigkit-1.6 jpeg-7 kbproto-1.0.3 libICE-1.0.4_1,1 libSM-1.1.0_1,1 libX11-1.2.1_1,1 libXau-1.0.4 libXdmcp-1.0.2_1 libXext-1.0.5,1 libXft-2.1.13 libXpm-3.5.7 libXrandr-1.3.0 libXrender-0.9.4_1 libXt-1.0.5_1 libiconv-1.13.1 libid3tag-0.15.1b libpthread-stubs-0.1 libungif-4.1.4_5 libxcb-1.4 pkg-config-0.23_1 png-1.2.40 python26-2.6.2_3 randrproto-1.3.0 renderproto-0.9.3 tiff-3.9.1_1 xcb-proto-1.5 xextproto-7.0.5 xproto-7.0.15
R-deps: expat-2.0.1 fontconfig-2.6.0,1 freetype2-2.3.9_1 imlib2-1.4.1.000_2,2 jbigkit-1.6 jpeg-7 kbproto-1.0.3 libICE-1.0.4_1,1 libSM-1.1.0_1,1 libX11-1.2.1_1,1 libXau-1.0.4 libXaw-1.0.5_1,1 libXdmcp-1.0.2_1 libXext-1.0.5,1 libXft-2.1.13 libXmu-1.0.4,1 libXp-1.0.0,1 libXpm-3.5.7 libXrandr-1.3.0 libXrender-0.9.4_1 libXt-1.0.5_1 libiconv-1.13.1 libid3tag-0.15.1b libpthread-stubs-0.1 libungif-4.1.4_5 libxcb-1.4 pkg-config-0.23_1 png-1.2.40 printproto-1.0.4 python26-2.6.2_3 randrproto-1.3.0 renderproto-0.9.3 tiff-3.9.1_1 xcb-proto-1.5 xextproto-7.0.5 xmessage-1.0.2_1 xproto-7.0.15
WWW:    http://fluxbox.org/

Port:   x11-themes/fluxbox-fluxmod
Moved:  
Date:   2005-10-07
Reason: Project has gone

Port:   x11-wm/fluxbox-devel
Moved:  x11-wm/fluxbox
Date:   2007-03-19
Reason: Merged into x11-wm/fluxbox

Möchte man nun nicht alle Informationen, wie zum Beispiel alle Abhängigkeiten, anzeigen lassen, so kann dazu make quicksearch verwendet werden:

# cd /usr/ports
# make quicksearch name=fluxbox
Port:   fluxbox-sid-pack-20031226_3
Path:   /usr/ports/x11-themes/fluxbox-sid-pack
Info:   Sid themes pack for fluxbox

Port:   fluxbox-tenr-styles-pack-20071215_1
Path:   /usr/ports/x11-themes/fluxbox-tenr-styles-pack
Info:   Tenner themes pack for fluxbox

Port:   fluxbox-1.1.1
Path:   /usr/ports/x11-wm/fluxbox
Info:   A small and fast window manager based on BlackBox

Port:   x11-themes/fluxbox-fluxmod
Moved:  
Date:   2005-10-07
Reason: Project has gone

Port:   x11-wm/fluxbox-devel
Moved:  x11-wm/fluxbox
Date:   2007-03-19
Reason: Merged into x11-wm/fluxbox

Mehr Informationen findet man in der Manpage ports(7). Vielen Dank an Lars für den Tipp und das Erstellen von make quicksearch.

 Permalink

RCS Schlüsselwörter einer Datei anzeigen

Verwaltet man Dateien zum Beispiel mit CVS so können verschiedene RCS-Schlüsselwörter in der Datei gespeichert werden. Damit kann zum Beispiel angezeigt werden, welche Version der Datei verwendet wird. Möchte man diese Informationen auslesen, so kann dazu ident verwendet werden:

# cd /usr/ports/www/firefox35
# ident Makefile
Makefile:
     $FreeBSD: ports/www/firefox35/Makefile,v 1.182 2009/10/28 15:40:12 beat Exp $

Auf FreeBSD ist ident standardmässig im Basissystem vorhanden. Mehr Informationen zu ident findet man in der Manpage ident(1).

 Permalink

mySQL-Aktivität beobachten

Mit Hilfe vom mtop können die zurzeit ausgeführten SQL-Kommandos einer mySQL-Datenbank ähnlich wie Prozesse in top(1) angezeigt werden. Im FreeBSD -Portbaum findet man mytop unter databases/mtop:

# cd /usr/ports/databases/mtop && make install clean

Startet man mtop, so wird man zuerst nach dem Benutzernamen und dem Passwort gefragt mit dem man sich an der Datenbank anmelden möchte. Danach werden die ausgeführten SQL-Kommandos angezeigt. Mit Hilfe der Leertaste kann die Ansicht manuell neu geladen werden:

# mtop
Unable to connect to  as mysqltop, enter another user user: root
Password: ****************
load averages: 0.05, 0.08, 0.06 mysqld 5.0.75-log up 16 day(s),  5:52 hrs
12 threads: 2 running, 1 cached. Queries/slow: 911/0 Cache Hit: 99.53%
Opened tables: 0  RRN: 100.4K  TLW: 0  SFJ: 0  SMP: 0  QPS: 0

ID       USER     HOST             DB           TIME   COMMAND STATE        INFO
47663    root     localhost        mail_queue   2      Query   Writing to n SELECT ... FROM `mail_queue`
47665    root     localhost        tinderbox    1      Query                CHECK TABLE `port_fail_reasons` EXTENDED
47666    root     localhost        tinderbox2   23     Query   copy to tmp  OPTIMIZE TABLE `port_dependencies`
47658    root     localhost                            Query                show full processlist

Mit Hilfe der q-Taste kann mtop wieder verlassen werden. Mehr Informationen zu mtop findet man in der Manpage mtop(1).

 Permalink

Relevante Dateien einer Kernel-Panic sichern

Mit Hilfe von bsdcrashtar können alle relevanten Dateien einer Kernelpanic gesichert werden. Diese können dann zum Beispiel auf einem anderen Rechner analysiert, einem Entwickler zur Verfügung gestellt oder archiviert werden. Im FreeBSD Portbaum findet man bsdcrashtar unter sysutils/bsdcrashtar:

# cd /usr/ports/sysutils/bsdcrashtar && make install clean

Führt man bsdcrashtar aus, werden alle relevanten Dateien (die core-Datei, der Kernel, alle geladenen Kernelmodule und alle im Backtrace erwähnten Quellcode-Dateien) der neusten Kernelpanic gesichert:

# bsdcrashtar
Archiving the crash to /var/crash/crash.15.tar.gz.

Mehr Informationen zu bsdcrashtar findet man in der Manpage bsdcrashtar(8).

 Permalink

JPEG-Dateien auf Fehler überprüfen

Mit Hilfe von jpeginfo können JPEG-Dateien auf Fehler überprüft werden. Im FreeBSD Portbaum findet man jpeginfo unter graphics/jpeginfo:

# cd /usr/ports/graphics/jpeginfo && make install clean

Ruft man jpeginfo ohne Optionen auf, werden verschiedene Informationen zum Bild, wie zum Beispiel die Grösse, angezeigt. Durch die -l Option werden diese Informationen in Spalten gruppiert. Mit der -c Option werden die Bilder auf Fehler überprüft. Sollen defekte Dateien gleich gelöscht werden, kann die -d Option verwendet werden:

# jpeginfo -cl *.jpg
1280 x 1024 24bit Exif  N  247303 1.jpg  [OK]
 100 x 75   24bit Exif  N    2050 2.jpg  [OK]
1704 x 2272 24bit Exif  N 1204099 3.jpg  Corrupt JPEG data: 68 extraneous bytes before marker 0xdb  [WARNING]
  69 x 100  24bit Exif  N    3419 4.jpg  [OK]
  80 x 60   24bit Exif  N    1499 5.jpg  [OK]
1366 x 768  24bit JFIF  N  115880 6.jpg  [OK]
1000 x 756  24bit Exif  N  111401 7.jpg  Corrupt JPEG data: 2 extraneous bytes before marker 0xd9  [WARNING]
1000 x 756  24bit Exif  N  105140 8.jpg  [OK]
  77 x 30   24bit JFIF  N     964 9.jpg  [OK]

Mehr Informationen zu jpeginfo findet man in der Manpage jpeginfo(1).

 Permalink

Wörter zweier Dateien vergleichen

Mit Hilfe von dwdiff können zwei Datei verglichen werden und es werden die geänderten, gelöschten oder hinzugefügten Wörter angezeigt. Im FreeBSD Portbaum findet man dwdiff unter textproc/dwdiff:

# cd /usr/ports/textproc/dwdiff && make install clean

Nun können die beiden zu vergleichenden Dateien an dwdiff übergeben werden. Gelöschte Wörter werden durh [-<Wort>-], hinzugefügte Wörter durch {+<Wort>+} gekennzeichnet:

# cat datei1 
das ist eine test datei
das ist die erste linie
das ist die zweite linie
das ist die dritten linie
# cat datei2
das ist eine test datei
das ist die eine linie
das ist noch die zweite linie
das war eine linie
# dwdiff datei1 datei2 
das ist eine test datei
das ist die [-erste-] {+eine+} linie
das ist {+noch+} die zweite linie
das [-ist die dritten-] {+war eine+} linie

Mit der -s Option werden Statistiken zu den beiden Dateien angezeigt:

# dwdiff -s datei1 datei2
das ist eine test datei
das ist die [-erste-] {+eine+} linie
das ist {+noch+} die zweite linie
das [-ist die dritten-] {+war eine+} linie
alt: 20 Wörter  16 80% gemeinsam  0 0% gelöscht  4 20% geändert
neu: 20 Wörter  16 80% gleich  1 5% eingefügt  3 15% geändert

Mehr Informationen zu dwdiff findet man in der Manpage dwdiff(1).

 Permalink

Befehl mit unterschiedlichen Parametern mehrmals ausführen

Manche Programme lassen sich nicht mit mehreren Parameter ausführen:

# atacontrol status ar0 ar1
usage:  atacontrol <command> args:
        atacontrol list
        atacontrol info channel
        atacontrol attach channel
        atacontrol detach channel
        atacontrol reinit channel
        atacontrol create type [interleave] disk0 ... diskN
        atacontrol delete array
        atacontrol addspare array disk
        atacontrol rebuild array
        atacontrol status array
        atacontrol mode device [mode]
        atacontrol cap device
        atacontrol spindown device [seconds]

Dies kann mit Hilfe von apply umgangen werden. Im folgenden Beispiel wird zuerst der RAID-Status von ar0, danach von ar1 abgefragt. Durch die -d Option wird nur angezeigt was ausgeführt würde, ohne die Befehle auszuführen:

# apply -d "atacontrol status %1" ar0 ar1
exec atacontrol status ar0
exec atacontrol status ar1
# apply "atacontrol status %1" ar0 ar1
ar0: ATA RAID1 status: READY
 subdisks:
   0 ad4  ONLINE
   1 ad6  ONLINE
ar1: ATA RAID1 status: READY
 subdisks:
   0 ad5  ONLINE
   1 ad7  ONLINE

Im folgenden Beispiel wird mit der -2 Option angegeben, dass jeweils zwei Parameter aus der Liste zusammen ausgeführt werden.

# apply -d -2 cmp a1 b1 a2 b2 a3 b3
exec cmp a1 b1
exec cmp a2 b2
exec cmp a3 b3
# apply -2 cmp a1 b1 a2 b2 a3 b3
a1 b1 differ: char 1, line 1
a2 b2 differ: char 1, line 1
a3 b3 differ: char 1, line 1

Auf FreeBSD ist apply standardmässig im Basissystem vorhanden. Mehr Informationen zu apply findet man in der Manpage apply(1).

 Permalink
1-7/7