BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

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

Shellzugriff mit Hilfe eines Browsers

Mit Hilfe von Shell In A Box kann mit einem Browser auf eine Shell zugegriffen werden. Die Verbindung wird dabei über HTTPS hergestellt. Im FreeBSD-Portbaum findet man Shell In A Box unter www/shellinabox:

# cd /usr/ports/www/shellinabox && make install clean

Nach der Installation muss Shell In A Box in der /etc/rc.conf eingetragen und der Daemon gestartet werden:

# echo 'shellinaboxd_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/shellinaboxd start

Danach kann mit einem Browser auf TCP-Port 4200 zugegriffen werden, worauf man sich mit einem Benutzernamen und Passwort anmelden kann. Möchte man einen anderen TCP-Port verwenden, so kann dies durch das Setzen der shellinaboxd_port-Variable in der /etc/rc.conf gemacht werden. Mehr Informationen zu Shell In A Box findet man in der Manpage shellinaboxd(1).

 Permalink

Geladene Kernelmodule anzeigen

Möchte man auf FreeBSD herausfinden, welche Kernelmodule zurzeit geladen sind, kann das mit kldstat angezeigt werden:

# kldstat 
Id Refs Address            Size     Name
 1   24 0xffffffff80100000 de7058   kernel
 2    1 0xffffffff80ee8000 212b0    geom_mirror.ko
 3    1 0xffffffff81012000 a0c      pflog.ko
 4    1 0xffffffff81013000 2bcfd    pf.ko
 5    1 0xffffffff8103f000 7e3      accf_http.ko
 6    1 0xffffffff81040000 1db      accf_data.ko
 7    1 0xffffffff81041000 1ffe     nullfs.ko
 8    1 0xffffffff81043000 4030     linprocfs.ko
 9    1 0xffffffff81048000 1cd4b    linux.ko

Mit der -v Option werden zusätzliche Informationen zu den Kernelmodulen angezeigt. Ausserdem sind alle Module aufgelistet, welche schon in den Kernel kompiliert sind:

# kldstat -v
Id Refs Address            Size     Name
 1   24 0xffffffff80100000 de7058   kernel (/boot/kernel/kernel)
        Contains modules:
                Id Name
                89 ataraid
                351 newreno
                340 if_lo
                328 elf64
                329 shell
                398 elf32
                315 pseudofs
                352 mld
                350 igmp
                342 if_vlan
                337 if_faith
                281 uether
                341 if_tun
[...]
                399 x86bios
 2    1 0xffffffff80ee8000 212b0    geom_mirror.ko (/boot/kernel/geom_mirror.ko)
        Contains modules:
                Id Name
                 1 g_mirror
 3    1 0xffffffff81012000 a0c      pflog.ko (/boot/kernel/pflog.ko)
        Contains modules:
                Id Name
                420 pflog
 4    1 0xffffffff81013000 2bcfd    pf.ko (/boot/kernel/pf.ko)
        Contains modules:
                Id Name
                419 pf
 5    1 0xffffffff8103f000 7e3      accf_http.ko (/boot/kernel/accf_http.ko)
        Contains modules:
                Id Name
                421 accf_http
 6    1 0xffffffff81040000 1db      accf_data.ko (/boot/kernel/accf_data.ko)
        Contains modules:
                Id Name
                422 accf_data
 7    1 0xffffffff81041000 1ffe     nullfs.ko (/boot/kernel/nullfs.ko)
        Contains modules:
                Id Name
                423 nullfs
 8    1 0xffffffff81043000 4030     linprocfs.ko (/boot/kernel/linprocfs.ko)
        Contains modules:
                Id Name
                425 linprocfs
 9    1 0xffffffff81048000 1cd4b    linux.ko (/boot/kernel/linux.ko)
        Contains modules:
                Id Name
                424 linuxelf

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

 Permalink

Lesemethode von gmirror ändern

Hat man ein RAID1 mit gmirror erstellt, so kann mit gmirror list Information zum Spiegel ausgelesen werden. Unter anderem sieht man bei Balance nach welcher Methode Daten gelesen werden. Im folgenden Beispiel wird der Round-Robin-Algorithmus zum Lesen von Daten verwendet:

# gmirror list
Geom name: gm0
State: COMPLETE
Components: 2
Balance: round-robin
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 3712141307
Providers:
1. Name: mirror/gm0
   Mediasize: 750156373504 (699G)
   Sectorsize: 512
   Mode: r2w2e5
Consumers:
1. Name: ad4
   Mediasize: 750156374016 (699G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: DIRTY
   GenID: 0
   SyncID: 1
   ID: 2039007148
2. Name: ad6
   Mediasize: 750156374016 (699G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: DIRTY
   GenID: 0
   SyncID: 1
   ID: 2802723338

Falls gewünscht kann nun die Lesemethode zur Laufzeit geändert werden. Im folgenden Beispiel wird die Lesemethode so geändert, dass Daten immer von der Platte gelesen werden, welche am wenigsten unter Last steht:

# gmirror configure -b load gm0
# gmirror list
Geom name: gm0
State: COMPLETE
Components: 2
Balance: load
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 3712141307
Providers:
1. Name: mirror/gm0
   Mediasize: 750156373504 (699G)
   Sectorsize: 512
   Mode: r2w2e5
Consumers:
1. Name: ad4
   Mediasize: 750156374016 (699G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: DIRTY
   GenID: 0
   SyncID: 1
   ID: 2039007148
2. Name: ad6
   Mediasize: 750156374016 (699G)
   Sectorsize: 512
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: DIRTY
   GenID: 0
   SyncID: 1
   ID: 2802723338

Alle verfügbaren Lesemethoden und mehr Informationen zu gmirror findet man in der Manpage gmirror(8).

 Permalink

Fotogalerie auf der Kommandozeile erstellen

Mit Hilfe von swiggle lassen sich Fotogalerien für das Web auf der Kommandozeile erstellen. Im FreeBSD -Portbaum findet man swiggle unter www/swiggle:

# cd /usr/ports/www/swiggle && make install clean

Die Fotogalerie wird nun in einem bestehenden Verzeichnisbaum erstellt und dabei werden die Alben durch Verzeichnisse gruppiert:

# find ~/gallery
~/gallery
~/gallery/album1
~/gallery/album1/Bild1.JPG
~/gallery/album1/Bild2.JPG
~/gallery/album1/Bild3.JPG
[...]
~/gallery/album2
~/gallery/album2/Bild1.JPG
~/gallery/album2/Bild2.JPG
~/gallery/album2/Bild3.JPG
[...]

Nun kann der Verzeichnisbaum mit den Alben und den Bilden an swiggle übergeben werden, damit die Fotogalerie erstellt wird:

# swiggle ~/gallery
Directory ~/gallery/album1
Image ~/gallery/album1/Bild1.JPG
Image ~/gallery/album1/Bild2.JPG
Image ~/gallery/album1/Bild3.JPG
[...]
10 thumbnail index pages created.
148 images processed in album '~gallery/album1'.
Directory ~/gallery/album2
Image ~/gallery/album2/Bild1.JPG
Image ~/gallery/album2/Bild2.JPG
Image ~/gallery/album2/Bild3.JPG
[...]
11 thumbnail index pages created.
156 images processed in album '~/gallery/album2'.
5 albums processed.

Die generierten HTML-Dateien und die Thumbnails wurden nun im bestehenden Verzeichnisbaum erstellt und dieser kann danach auf einen Webserver geladen werden:

# find ~/gallery
~/gallery
~/gallery/album1
~/gallery/album1/Bild1.JPG
[...]
~/gallery/album1/.scaled
~/gallery/album1/.scaled/Bild1.JPG
[...]
~/gallery/album1/.thumbs
~/gallery/album1/.thumbs/Bild1.JPG
[...]
~/gallery/album1/Bild1.JPG.html
[...]
~/gallery/album1/index.html
~/gallery/album1/index2.html
[...]
~/gallery/index.html

Mehr Informationen und alle Optionen von swiggle erhält man, wenn man swiggle ohne Optionen aufruft.

 Permalink
Prev Next11-20/24