BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Abhängigkeiten eines Portes als Baum anzeigen

Mit Hilfe von porttree können die Abhängigkeiten eines Portes graphisch als Baum dargestellt werden. Im FreeBSD-Portbaum findet man porttree unter ports-mgmt/porttree:

# cd /usr/ports/ports-mgmt/porttree && make install clean

Mit der -A Option werden alle Ports aufgelistet, welche für das Bauen und das Ausführen des angegebenen Portes benötigt werden. Mit der -R Option werden alle Ports aufgelistet, welchen den angegebenen Port als Abhängigkeit haben. Folgendes Beispiel zeigt alle Abhängigkeiten von Firefox:

# porttree -A -R www/firefox
/usr/ports/accessibility
/usr/ports/arabic
/usr/ports/archivers
/usr/ports/astro
[...]
/usr/ports/x11-toolkits
/usr/ports/x11-wm
Depending on
0	+www/firefox
1	++accessibility/atk
2	|++devel/gettext
3	||++converters/libiconv
4	|||`devel/libtool
	||`devel/libtool -> 4
5	|++devel/gio-fam-backend
6	||++devel/gamin
	|||++devel/gettext -> 2
7	|||++devel/glib20
	||||++devel/gettext -> 2
8	||||++devel/gmake
	|||||`+devel/gettext -> 2
	||||+devel/libtool -> 4
9	||||+devel/pcre
10	||||++devel/pkg-config
	|||||`+devel/gmake -> 8
11	||||+lang/perl5.10
12	||||`lang/python26
	|||++devel/gmake -> 8
	|||+devel/libtool -> 4
	|||`+devel/pkg-config -> 10
	||++devel/glib20 -> 7
	||++devel/gmake -> 8
	||`+devel/pkg-config -> 10
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
13	|++devel/gobject-introspection
14	||++devel/bison
	|||++devel/gettext -> 2
15	|||`devel/m4
	||++devel/gettext -> 2
	||++devel/gio-fam-backend -> 5
	||++devel/glib20 -> 7
	||++devel/gmake -> 8
16	||++devel/libffi
	|||`+devel/pkg-config -> 10
	||+devel/libtool -> 4
	||++devel/pkg-config -> 10
17	||++graphics/cairo
	|||++devel/gio-fam-backend -> 5
	|||++devel/glib20 -> 7
	|||+devel/libtool -> 4
	|||++devel/pkg-config -> 10
18	|||+graphics/png
19	|||++print/freetype2
	||||++devel/gmake -> 8
	||||+devel/libtool -> 4
	||||`+devel/pkg-config -> 10
20	|||++x11-fonts/fontconfig
	||||++devel/gmake -> 8
	||||+devel/libtool -> 4
	||||++devel/pkg-config -> 10
	||||++print/freetype2 -> 19
21	||||`textproc/expat2
22	|||++x11/libXrender
	||||++devel/pkg-config -> 10
23	||||++x11/libX11
	|||||++devel/pkg-config -> 10
24	|||||+devel/xorg-macros
25	|||||+x11-fonts/xf86bigfontproto
26	|||||+x11/bigreqsproto
27	|||||+x11/inputproto
28	|||||+x11/kbproto
29	|||||++x11/libXau
	||||||++devel/pkg-config -> 10
30	||||||`+x11/xproto
	|||||| `+devel/pkg-config -> 10
31	|||||++x11/libXdmcp
	||||||++devel/pkg-config -> 10
	||||||`+x11/xproto -> 30
32	|||||++x11/libxcb
	||||||++devel/gmake -> 8
33	||||||++devel/libcheck
	|||||||`+devel/gmake -> 8
34	||||||++devel/libpthread-stubs
	|||||||++devel/gmake -> 8
	|||||||`+devel/pkg-config -> 10
	||||||+lang/python26 -> 12
35	||||||++textproc/libxslt
	|||||||++devel/gmake -> 8
	|||||||++devel/pkg-config -> 10
36	|||||||++security/libgcrypt
	||||||||+devel/libtool -> 4
37	||||||||`+security/libgpg-error
	|||||||| ++converters/libiconv -> 3
	|||||||| ++devel/gettext -> 2
	|||||||| `devel/libtool -> 4
38	|||||||`+textproc/libxml2
	||||||| ++converters/libiconv -> 3
	||||||| ++devel/gmake -> 8
	||||||| `+devel/pkg-config -> 10
	||||||++x11/libXau -> 29
	||||||++x11/libXdmcp -> 31
39	||||||`+x11/xcb-proto
	|||||| +lang/python26 -> 12
	|||||| `+textproc/libxml2 -> 38
40	|||||+x11/xcmiscproto
41	|||||+x11/xextproto
	|||||++x11/xproto -> 30
42	|||||`+x11/xtrans
	||||| `+devel/pkg-config -> 10
43	||||+x11/renderproto
	||||`+x11/xproto -> 30
44	|||++x11/pixman
	||||+devel/libtool -> 4
	||||++devel/pkg-config -> 10
	||||`lang/perl5.10 -> 11
45	|||`+x11/xcb-util
	||| ++devel/gmake -> 8
46	||| +devel/gperf
	||| +devel/libtool -> 4
	||| ++x11/libXau -> 29
	||| ++x11/libXdmcp -> 31
	||| `+x11/libxcb -> 32
	||`lang/python26 -> 12
	|+devel/libtool -> 4
	|`+devel/pkg-config -> 10
47	+archivers/unzip
48	++archivers/zip
	|`archivers/unzip -> 47
	++converters/libiconv -> 3
49	++devel/autoconf213
50	|+devel/autoconf-wrapper
	|+devel/m4 -> 15
	|`lang/perl5.10 -> 11
51	++devel/dbus-glib
52	|++devel/dbus
	||++devel/gmake -> 8
	||+devel/libtool -> 4
	||++devel/pkg-config -> 10
53	||+sysutils/gnome_subr
	||+textproc/expat2 -> 21
	||++textproc/libxml2 -> 38
54	||++x11/libICE
	|||++devel/pkg-config -> 10
	|||++x11/xproto -> 30
	|||`+x11/xtrans -> 42
55	||++x11/libSM
	|||++devel/pkg-config -> 10
	|||+devel/xorg-macros -> 24
	|||++x11/libICE -> 54
	|||++x11/xproto -> 30
	|||`+x11/xtrans -> 42
	||`+x11/libX11 -> 23
	|++devel/gettext -> 2
	|++devel/gio-fam-backend -> 5
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
	|+devel/libtool -> 4
	|`+devel/pkg-config -> 10
56	++devel/desktop-file-utils
	|++devel/gettext -> 2
	|++devel/gio-fam-backend -> 5
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
	|`+devel/pkg-config -> 10
	++devel/gio-fam-backend -> 5
	++devel/glib20 -> 7
	++devel/gmake -> 8
57	++devel/libIDL
	|++devel/bison -> 14
	|++devel/gettext -> 2
	|++devel/gio-fam-backend -> 5
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
	|`+devel/pkg-config -> 10
58	+devel/libevent
59	+devel/libexecinfo
60	++devel/libnotify
	|++accessibility/atk -> 1
	|++devel/gettext -> 2
	|++devel/gio-fam-backend -> 5
	|++devel/glib20 -> 7
	|++devel/gmake -> 8
	|++devel/gobject-introspection -> 13
	|+devel/libtool -> 4
	|++devel/pkg-config -> 10
61	|++textproc/intltool
	||++converters/libiconv -> 3
	||++devel/gmake -> 8
	||+lang/perl5.10 -> 11
62	||`+textproc/p5-XML-Parser
	|| +lang/perl5.10 -> 11
	|| `textproc/expat2 -> 21
63	|++x11-toolkits/gtk20
	||++accessibility/atk -> 1
	||++devel/gettext -> 2
	||++devel/gio-fam-backend -> 5
	||++devel/glib20 -> 7
	||++devel/gmake -> 8
	||++devel/gobject-introspection -> 13
	||+devel/libtool -> 4
	||++devel/pkg-config -> 10
64	||++graphics/gdk-pixbuf2
	|||++devel/gio-fam-backend -> 5
	|||++devel/glib20 -> 7
	|||++devel/gmake -> 8
	|||++devel/gobject-introspection -> 13
	|||+devel/libtool -> 4
	|||++devel/pkg-config -> 10
65	|||++graphics/jasper
	||||+archivers/unzip -> 47
	||||+devel/libtool -> 4
66	||||`+graphics/jpeg
	|||| `devel/libtool -> 4
	|||++graphics/jpeg -> 66
	|||+graphics/png -> 18
67	|||++graphics/tiff
	||||+devel/libtool -> 4
68	||||+graphics/jbigkit
	||||`+graphics/jpeg -> 66
69	|||++x11-toolkits/libXt
	||||++devel/pkg-config -> 10
	||||+x11/kbproto -> 28
	||||++x11/libSM -> 55
	||||++x11/libX11 -> 23
	||||`+x11/xproto -> 30
	|||++x11/libX11 -> 23
70	|||`+x11/libXi
	||| ++devel/pkg-config -> 10
	||| +x11/inputproto -> 27
	||| ++x11/libX11 -> 23
71	||| ++x11/libXext
	||| |++devel/pkg-config -> 10
	||| |++x11/libX11 -> 23
	||| |++x11/libXau -> 29
	||| |+x11/xextproto -> 41
	||| |`+x11/xproto -> 30
	||| +x11/xextproto -> 41
	||| `+x11/xproto -> 30
72	||++graphics/gtk-update-icon-cache
	|||++accessibility/atk -> 1
	|||++devel/gettext -> 2
	|||++devel/gio-fam-backend -> 5
	|||++devel/glib20 -> 7
	|||++devel/gmake -> 8
	|||++devel/gobject-introspection -> 13
	|||+devel/libtool -> 4
	|||++devel/pkg-config -> 10
	|||++graphics/gdk-pixbuf2 -> 64
	|||+lang/perl5.10 -> 11
73	|||+misc/hicolor-icon-theme
74	|||++misc/shared-mime-info
	||||++devel/gettext -> 2
	||||++devel/gio-fam-backend -> 5
	||||++devel/glib20 -> 7
	||||++devel/gmake -> 8
	||||++devel/pkg-config -> 10
	||||++textproc/intltool -> 61
	||||`+textproc/libxml2 -> 38
75	|||++x11-toolkits/pango
	||||++devel/gettext -> 2
	||||++devel/gio-fam-backend -> 5
	||||++devel/glib20 -> 7
	||||++devel/gmake -> 8
	||||++devel/gobject-introspection -> 13
	||||+devel/libtool -> 4
	||||++devel/pkg-config -> 10
	||||++graphics/cairo -> 17
	||||++print/freetype2 -> 19
76	||||++x11-fonts/encodings
77	|||||++x11-fonts/bdftopcf
	||||||++devel/pkg-config -> 10
78	||||||`+x11-fonts/libXfont
	|||||| ++devel/pkg-config -> 10
	|||||| ++print/freetype2 -> 19
79	|||||| +x11-fonts/fontsproto
80	|||||| ++x11-fonts/libfontenc
	|||||| |++devel/pkg-config -> 10
	|||||| |`+x11/xproto -> 30
	|||||| ++x11/xproto -> 30
	|||||| `+x11/xtrans -> 42
81	|||||+x11-fonts/font-util
82	|||||`+x11-fonts/mkfontscale
	||||| ++devel/pkg-config -> 10
	||||| ++print/freetype2 -> 19
	||||| ++x11-fonts/libfontenc -> 80
	||||| `+x11/xproto -> 30
83	||||++x11-fonts/libXft
	|||||++devel/pkg-config -> 10
	|||||++print/freetype2 -> 19
	|||||++x11-fonts/fontconfig -> 20
	|||||++x11/libXrender -> 22
	|||||`+x11/xproto -> 30
84	||||++x11-fonts/xorg-fonts-truetype
85	|||||++x11-fonts/bitstream-vera
	||||||`+x11-fonts/fontconfig -> 20
	|||||++x11-fonts/encodings -> 76
86	|||||++x11-fonts/font-bh-ttf
	||||||++devel/pkg-config -> 10
	||||||++x11-fonts/fontconfig -> 20
87	||||||++x11-fonts/mkfontdir
	|||||||++devel/pkg-config -> 10
	|||||||`+x11-fonts/mkfontscale -> 82
	||||||`+x11-fonts/mkfontscale -> 82
88	|||||++x11-fonts/font-misc-ethiopic
	||||||++devel/pkg-config -> 10
	||||||++x11-fonts/fontconfig -> 20
	||||||++x11-fonts/mkfontdir -> 87
	||||||`+x11-fonts/mkfontscale -> 82
89	|||||`+x11-fonts/font-misc-meltho
	||||| ++devel/pkg-config -> 10
	||||| ++x11-fonts/fontconfig -> 20
	||||| ++x11-fonts/mkfontdir -> 87
	||||| `+x11-fonts/mkfontscale -> 82
	||||`+x11/libXrender -> 22
	|||++x11/libX11 -> 23
90	|||++x11/libXcomposite
	||||++devel/pkg-config -> 10
91	||||+x11/compositeproto
92	||||+x11/fixesproto
	||||++x11/libX11 -> 23
	||||++x11/libXext -> 71
93	||||++x11/libXfixes
	|||||++devel/pkg-config -> 10
	|||||+x11/fixesproto -> 92
	|||||++x11/libX11 -> 23
	|||||+x11/xextproto -> 41
	|||||`+x11/xproto -> 30
	||||`+x11/xproto -> 30
94	|||++x11/libXcursor
	||||++devel/pkg-config -> 10
	||||+x11/fixesproto -> 92
	||||++x11/libX11 -> 23
	||||++x11/libXfixes -> 93
	||||++x11/libXrender -> 22
	||||+x11/xextproto -> 41
	||||`+x11/xproto -> 30
95	|||++x11/libXdamage
	||||++devel/pkg-config -> 10
96	||||+x11/damageproto
	||||+x11/fixesproto -> 92
	||||++x11/libX11 -> 23
	||||++x11/libXfixes -> 93
	||||+x11/xextproto -> 41
	||||`+x11/xproto -> 30
	|||++x11/libXext -> 71
	|||++x11/libXfixes -> 93
	|||++x11/libXi -> 70
97	|||++x11/libXinerama
	||||+devel/libtool -> 4
	||||++devel/pkg-config -> 10
	||||++x11/libX11 -> 23
	||||++x11/libXext -> 71
	||||+x11/xextproto -> 41
98	||||`x11/xineramaproto
99	|||++x11/libXrandr
	||||++devel/pkg-config -> 10
	||||++x11/libX11 -> 23
	||||++x11/libXext -> 71
	||||++x11/libXrender -> 22
100	||||+x11/randrproto
	||||+x11/renderproto -> 43
	||||+x11/xextproto -> 41
	||||`+x11/xproto -> 30
	|||`+x11/libXrender -> 22
	||+lang/perl5.10 -> 11
	||+misc/hicolor-icon-theme -> 73
	||++misc/shared-mime-info -> 74
101	||++print/cups-client
	|||`+devel/gmake -> 8
	||++x11-toolkits/pango -> 75
	||++x11/libX11 -> 23
	||++x11/libXcomposite -> 90
	||++x11/libXcursor -> 94
	||++x11/libXdamage -> 95
	||++x11/libXext -> 71
	||++x11/libXfixes -> 93
	||++x11/libXi -> 70
	||++x11/libXinerama -> 97
	||++x11/libXrandr -> 99
	||`+x11/libXrender -> 22
	|`+x11-toolkits/pango -> 75
102	++devel/nspr
	|`+devel/gmake -> 8
	++devel/pkg-config -> 10
103	++devel/yasm
	|++converters/libiconv -> 3
	|`+devel/gettext -> 2
	++graphics/cairo -> 17
104	++graphics/libGL
	|++devel/gmake -> 8
105	|++devel/makedepend
	||++devel/pkg-config -> 10
	||`+x11/xproto -> 30
106	|++graphics/libdrm
	||`+devel/libpthread-stubs -> 34
	|+textproc/expat2 -> 21
107	|+x11/dri2proto
108	|+x11/glproto
	|++x11/libX11 -> 23
	|++x11/libXdamage -> 95
	|++x11/libXext -> 71
	|++x11/libXfixes -> 93
109	|`+x11/libXxf86vm
	| ++devel/pkg-config -> 10
	| ++x11/libX11 -> 23
	| ++x11/libXext -> 71
	| +x11/xextproto -> 41
110	| +x11/xf86vidmodeproto
	| `+x11/xproto -> 30
	+lang/perl5.10 -> 11
	++textproc/intltool -> 61
	++x11-toolkits/gtk20 -> 63
	++x11-toolkits/libXt -> 69
	++x11-toolkits/pango -> 75
	++x11/libICE -> 54
	++x11/libSM -> 55
	++x11/libX11 -> 23
	++x11/libXext -> 71
	++x11/libXi -> 70
	++x11/libXinerama -> 97
111	+x11/printproto
	`+x11/xproto -> 30

Required by:
0	+www/firefox
1	+german/bsdforen-firefox-searchplugin
2	+german/bsdgroup-firefox-searchplugin
3	`www/firefox-i18n

Auch können nur gewisse Abhängigkeiten abgefragt werden. Die -f Option zeigt nur die Abhängigkeiten welche zum Herunterladen des Quellcodes gebraucht werden, die -e Option jene die zum Auspacken des Quellcodes verwendet werden, die -p Option die Patch-Abhängigkeiten, die -b Option alle Ports die zum Bauen gebraucht werden, die -l Optionen alle Ports die aufgrund ihrer Libraries verwendet werden und mit der -r Option alle Ports die zum Ausführen benötigt werden.

Folgendes Beispiel zeigt alle Abhängigkeiten die zum Bauen von LLVM gebraucht werden:

# porttree -A -R -b devel/llvm
/usr/ports/accessibility
/usr/ports/arabic
[...]
/usr/ports/x11-themes
/usr/ports/x11-toolkits
/usr/ports/x11-wm
Depending on
0	+devel/llvm
1	+devel/gmake
2	`lang/perl5.10

Required by:
0	+devel/llvm
1	+graphics/opengtl
2	+lang/clang
3	+lang/ldc-devel
4	+lang/llvm-gcc4
5	`lang/pure

Mehr Informationen und alle Optionen von porttree findet man in der Manpage porttree(1).

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

Identische Zeilen zweier Dateien anzeigen

Mit Hilfe von comm lassen sich die identischen Zeilen zweier Dateien anzeigen. Dazu müssen beide Dateien sortiert sein:

# cat datei1 
1099
2001
3434
4002
# cat datei2 
3434
4002
7098
8567

Führt man nun comm mit den beiden Dateien aus, werden in der ersten Spalte alle Zeilen angezeigt, welche nur in der ersten Datei vorkommen, in der zweiten Spalte die der zweiten Datei und in der dritten Spalte jene Zeilen welche in beiden Dateien vorkommen:

# comm datei1 datei2 
1099
2001
		3434
		4002
	7098
	8567

Sollen nur die identischen Zeilen angezeigt werden, kann die Ausgabe der ersten beiden Zeilen durch die -1 und -2 Option verhindert werden:

# comm -12 datei1 datei2
3434
4002

Soll die Gross-/Kleinschreibung beim Vergleichen ignoriert werden, kann dies mit der -i Option gemacht werden:

#  cat datei1 
1099
2001
a3434
b4002
# cat datei2
A3434
B4002
7098
8567
# comm datei1 datei2
1099
2001
	A3434
	B4002
	7098
	8567
a3434
b4002
# comm -i datei1 datei2
1099
2001
		a3434
		b4002
	7098
	8567

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

 Permalink

Anzahl Codezeilen zählen

Mit Hilfe con cloc lassen sich die Anzahl Codezeilen eines Programms oder Projektes gezählt werden. Im FreeBSD-Portbaum findet man cloc unter misc/cloc:

# cd /usr/ports/misc/cloc && make install clean

Nun können einzelne Dateien oder auch gleich ein Tarball an cloc übergeben werden und cloc zeigt nun die Anzahl Dateien, in welcher Sprache programmiert wurde und wieviel Linien Code und Kommentare darin enthalten sind. Im folgenden Beispiel werden die Anzahl Codezeilen von der Tinderbox und Firefox gezählt:

# cloc tinderbox-3.4.tar 
     152 text files.
     144 unique files.                                          
      70 files ignored.

http://cloc.sourceforge.net v 1.53  T=1.0 s (76.0 files/s, 17577.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Perl                            16           1414            500           5689
Bourne Shell                    15            739            486           3581
PHP                             28            652            767           3034
CSS                              2             53              2            318
SQL                             12              1              0            113
C                                1             13             20             84
Javascript                       1             14             12             62
ASP.Net                          1              1              5             17
-------------------------------------------------------------------------------
SUM:                            76           2887           1792          12898
-------------------------------------------------------------------------------
# cloc firefox-8.0b6.source.tar 
   47536 text files.
   46192 unique files.                                          
   10413 files ignored.

http://cloc.sourceforge.net v 1.53  T=287.0 s (127.0 files/s, 26538.4 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
C++                            3870         293823         318264        1475693
C                              1940         177517         275465        1000436
Javascript                     8013         205654         272616         815038
HTML                          13669          98489          16681         745324
C/C++ Header                   5104         135879         378341         585016
Bourne Shell                    226          22193          25651         143820
IDL                            1257          12490              0         123888
Assembly                        267          15318          11806          99121
XML                             661           6633           3027          52983
Python                          288          12048          20652          49905
CSS                             513          11115          10893          46880
m4                               39           4711            675          39842
Java                             51           2733           6946          23000
Perl                            168           4191           8657          19751
DTD                             161           2438           2970           8925
Teamcenter def                   33             23              4           4377
make                            104           1644           4893           3982
SKILL                             7             89              3           2838
Objective C                      10            683            659           2767
yacc                              2            188             54           1972
lex                               3            148             77            691
Expect                            7            105            177            451
Bourne Again Shell                7            109            349            378
XSLT                             13             61             84            322
Korn Shell                        4             44            249            303
PHP                               2             75            126            248
awk                               4             53             46            213
Pascal                            3             41             28            206
Ada                               1              5              0             49
DOS Batch                         5              4             36             29
ASP.Net                           1              2              0             16
C Shell                           1              1              0             11
D                                 2              7             90             10
sed                               2              1              0             10
--------------------------------------------------------------------------------
SUM:                          36438        1008515        1359519        5248495
--------------------------------------------------------------------------------

Alle Optionen von cloc erhält man mit der --help Option.

 Permalink

Sodeli Teil 2

Nach 8 Monaten Pause und mit einem Monat Verspätung geht es nun wieder weiter mit chruetertee.ch.

Comments (5)  Permalink

sleep 18144000

Da ich für längere Zeit auf Reisen gehen werde, wird chruetertee.ch bis ca. Anfangs Oktober ruhen. Danach wird es aber sicher wieder weitergehen. Ich möchte mich bei allen Lesern für die letzten 5,5 Jahre bedanken.

Eine schöne Zeit wünsch ich Euch!

Comments (8)  Permalink

Tinderbox aufräumen

Mit der Zeit sammeln sich in der Tinderbox immer mehr Logdateien und Datenbank-Einträge an. Mit Hilfe von tc tbcleanup werden alte Logdateien gelöscht und Datenbank-Einträge zu Ports von welchen kein Paket mehr existiert entfernt:

# cd /usr/local/tinderbox/scripts && ./tc tbcleanup

Verwendet man zusätzlich noch die -d Option so wird auch der gespeicherte Quellcode welcher nicht mehr benötigt wird gelöscht.

Related Entries:
Wartezeit von tinderd ändern
Quellcode in der Tinderbox speichern
Tinderbox-Jail ohne Kompilieren erstellen
RSS-Feed der zuletzt gebauten Ports einer Tinderbox
Port-Optionen in der Tinderbox verwenden
 Permalink

Wartezeit von tinderd ändern

Verwendet man in der Tinderbox den tinderd so prüft tinderd standardmässig alle zwei Minuten ob sich neue Ports in der Warteschlange befinden. Möchte man diese Wartezeit ändern, so kann dies mit dem tc-Skript gemacht werden. Im folgenden Beispiel wird die Wartezeit auf 30 Sekunden verkürzt:

# cd /usr/local/tinderbox/scripts && ./tc configTinderd -t 30
Related Entries:
Tinderbox aufräumen
Quellcode in der Tinderbox speichern
Tinderbox-Jail ohne Kompilieren erstellen
RSS-Feed der zuletzt gebauten Ports einer Tinderbox
Port-Optionen in der Tinderbox verwenden
 Permalink

Ausgaben einer Konsole in einem PNG-Bild speichern

Mit Hilfe von scr2png können die aktuell in einer Konsole angezeigten Ausgaben in einem PNG-Bild gespeichert werden. Im FreeBSD-Portbaum findet man scr2png unter graphics/scr2png:

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

Im folgenden Beispiel wird die Ausgabe des ersten virtuellen Terminals in der Datei /tmp/shot.png gespeichert:

# vidcontrol -p < /dev/ttyv0 | scr2png > /tmp/shot.png

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

 Permalink

Statistiken über den Netzwerkverkehr erstellen

Mit Hilfe von ipaggcreate lassen sich Statistiken über den Netzwerkverkehr erstellen. Im FreeBSD-Portbaum findet man ipaggcreate unter net/ipsumdump:

# cd /usr/ports/net/ipsumdump && make install clean

Möchte man zum Beispiel anzeigen wieviele IP-Pakete von einer IP-Source-Adresse versendet wurden, kann die -s Option verwendet werden. Mit der -i Option wird die Netzwerkschnittstelle angegeben von welcher der Verkehr aufgezeichnet werden soll. Das Aufzeichnen des Netzwerkverkehrs kann mit Ctrl+c abgebrochen werden und danach werden die Statistiken ausgegeben:

# ipaggcreate -i em0 -s
^C!IPAggregate 1.0
!creator "ipaggcreate -i em0 -s"
!counts packets
!times 1298051744.381225 1298051768.726735 24.345510
!num_nonzero 6
!ip
192.168.1.1 4
195.186.xxx.xxx 20
212.243.xxx.xxx 2073
212.243.xxx.xxx 4
212.243.xxx.xxx 11
217.150.xxx.xxx 68

Sollen die Anzahl IP-Pakete anhand ihrer Länge angezeigt werden, so kann die -l Option verwendet werden:

# ipaggcreate -i em0 -l
^C!IPAggregate 1.0
!creator "ipaggcreate -i em0 -l"
!counts packets
!times 1298050969.486125 1298051060.762474 91.276349
!num_nonzero 438
36 1
52 6
53 1
58 2
60 2
66 1
69 1
71 2
72 1
81 2
84 288
[...]
1442 1
1446 1
1448 6581

Alle Optionen und mehr Information zu ipaggcreate findet man in der Manpage ipaggcreate(1).

 Permalink

Ausgaben einer Konsole in einer Textdatei speichern

Mit Hilfe von scr2txt können die aktuell in einer Konsole angezeigten Ausgaben in einer Textdatei gespeichert werden. Im FreeBSD-Portbaum findet man scr2txt unter textproc/scr2txt:

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

Im folgenden Beispiel wird die Ausgabe des ersten virtuellen Terminals in der Datei /tmp/shot.txt gespeichert:

# vidcontrol -p < /dev/ttyv0 | scr2txt > /tmp/shot.txt

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

 Permalink
Prev Next41-50/521