Mit Hilfe von iostat kann die Aktivität der Systemdisks beobachtet werden. Im folgenden Beispiel werden die Werte alle 5 Sekunden aktualisiert:
# iostat 5
tty ad4 da0 cd0 cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy in id
6599 1377 24.46 2 0.04 3.16 0 0.00 3.00 0 0.00 1 0 1 0 98
10680 1716 122.46 148 17.67 0.00 0 0.00 0.00 0 0.00 31 0 3 1 65
10816 10607 35.46 46 1.58 0.00 0 0.00 0.00 0 0.00 15 0 6 0 79
28934 18233 8.12 24 0.19 0.00 0 0.00 0.00 0 0.00 0 0 1 0 98
15441 3369 23.27 66 1.51 0.00 0 0.00 0.00 0 0.00 9 0 13 0 78
5261 1332 24.35 128 3.05 0.00 0 0.00 0.00 0 0.00 8 0 5 1 86
496 406 5.64 181 0.99 0.00 0 0.00 0.00 0 0.00 0 0 1 1 98
450 927 8.89 230 2.00 0.00 0 0.00 0.00 0 0.00 3 0 4 0 93
353 1251 8.44 420 3.46 0.00 0 0.00 0.00 0 0.00 3 0 7 1 89
365 603 50.22 245 12.02 0.00 0 0.00 0.00 0 0.00 30 0 5 0 65
435 359 36.42 59 2.08 0.00 0 0.00 0.00 0 0.00 1 0 1 0 98
Die Ausgabe kann mit Ctrl + c abgebrochen werden. Die Werte werden dabei in Kilobytes pro Transfer (KB/t), Transfers pro Sekunde (tps) und Megabytes pro Sekunde (MB/s) angegeben. Auch ist es möglich nur eine bestimmte Anzahl von Messungen durchzuführen. Im folgenden Beispiel wird die Ausgabe nach zwei Messungen beendet:
# iostat 5 2
tty ad4 cpu
tin tout KB/t tps MB/s us ni sy in id
3 70 30.84 22 0.66 26 0 5 0 69
1 26 127.43 11 1.39 51 0 8 1 41
Auf FreeBSD ist iostat standardmässig im Basissystem vorhanden. Mehr Informationen und alle Optionen von iostat findet man in der Manpage iostat(8).
[ FreeBSD ]
by Beat
@ 31.03.2010 21:51 UTC
Möchte man einen FreeBSD -Rechner, der keine Serverdienste zur Verfügung stellt, mittels einer ipfw-Firewall schützen so kann eine vorkonfigurierte Firewall Konfiguration verwendet werden:
firewall_enable="YES"
firewall_type="workstation"
Mit dem Typ workstation wird der Rechner mit einer statefull-Firewallkonfiguration geschützt und keine Serverdienste freigegeben. Nun muss die Konfiguration noch gestartet werden:
# /etc/rc.d/ipfw start
Weitere Firewall-Typen findet man in der Datei /etc/rc.firewall.
[ FreeBSD ]
by Beat
@ 31.03.2010 21:12 UTC
Möchte man den Inhalt der /tmp Partition automatisch beim Systemstart löschen, so kann folgende Zeile in der /etc/rc.conf eingefügt werden:
clear_tmp_enable="YES"
[ FreeBSD ]
by Beat
@ 31.03.2010 20:29 UTC
Mit Hilfe der sysctl-Variable security.bsd.see_other_uids kann festgelegt werden, ob ein Benutzer die Prozesse alle Benutzer oder nur seine eigenen sieht. Wird die sysctl-Variable auf 0 gesetzt, kann ein Benutzer nur noch seine eigenen Prozesse mit ps(1) oder top(1) sehen:
# sysctl security.bsd.see_other_uids=0
security.bsd.see_other_uids: 1 -> 0
Soll die Änderung dauerhaft gemacht werden, so kann folgende Zeile in der /etc/sysctl.conf eingefügt werden:
security.bsd.see_other_uids=0
Mit Hilfe von dim lassen sich Verzeichnisinhalte nach Dateiendungen und Dateinamen gruppiert darstellen. Im FreeBSD-Portbaum findet man dim unter sysutils/dim:
# cd /usr/ports/sysutils/dim && make install clean
Zeigt man den Inhalt eines Verzeichnisses mit ls(1) an, so wird der Inhalt alphabetisch ausgegeben:
# ls work/mozilla-central/ipc/chromium/src/third_party/libevent/
ChangeLog epoll.c evrpc-internal.h mac/
Makefile.am epoll_sub.c evrpc.c min_heap.h
Makefile.in evbuffer.c evrpc.h missing
README evdns.3 evsignal.h mkinstalldirs
README.chromium evdns.c evutil.c poll.c
aclocal.m4 evdns.h evutil.h quotes.patch
autogen.sh event-config.h http-internal.h sample/
buffer.c event-internal.h http.c select.c
compat/ event.3 install-sh signal.c
config.guess event.c kqueue.c strlcpy-internal.h
config.h.in event.h libevent.gyp strlcpy.c
config.sub event_rpcgen.py* linux/ sys-queue-macros.patch
configure* event_tagging.c log.c test/
configure.in evhttp.h log.h
devpoll.c evport.c ltmain.sh
Verwendet man dim, so werden die Dateien spaltenweise nach Dateiendungen und falls identische Dateinamen vorhanden sind zeilenweise sortiert dargestellt:
# dim work/mozilla-central/ipc/chromium/src/third_party/libevent/
ChangeLog Makefile.am Makefile.in aclocal.m4 autogen.sh
README README.chromium config.h.in ltmain.sh
compat buffer.c
config.guess devpoll.c config.sub
configure epoll.c configure.in
epoll_sub.c
evbuffer.c
evdns.3 evdns.c evdns.h
event.3 event.c event.h
event_rpcgen.py event_tagging.c event-config.h
install-sh evport.c event-internal.h
libevent.gyp evhttp.h
linux evrpc.c evrpc.h
mac evrpc-internal.h
missing evsignal.h
mkinstalldirs evutil.c evutil.h
quotes.patch http.c http-internal.h
sample kqueue.c
sys-queue-macros.patch log.c log.h
test poll.c min_heap.h
select.c strlcpy-internal.h
signal.c
strlcpy.c
Mit der -s Option wird zusätzlich noch die Dateigrösse angezeigt:
# dim -s work/mozilla-central/ipc/chromium/src/third_party/libevent/
ChangeLog 11k Makefile.am 3k Makefile.in 32k aclocal.m4 .2m autogen.sh .2k
README 1k README.chromium .9k config.h.in 6k ltmain.sh .1m
compat .5k buffer.c 9k
config.guess 44k devpoll.c 10k config.sub 32k
configure .7m epoll.c 8k configure.in 9k
epoll_sub.c 1k
evbuffer.c 10k
evdns.3 11k evdns.c 85k evdns.h 18k
event.3 17k event.c 22k event.h 37k
event_rpcgen.py 44k event_tagging.c 9k event-config.h 7k
install-sh 4k evport.c 12k event-internal.h 3k
libevent.gyp 1k evhttp.h 11k
linux .5k evrpc.c 16k evrpc.h 16k
mac .5k evrpc-internal.h 2k
missing 10k evsignal.h 2k
mkinstalldirs .7k evutil.c 6k evutil.h 5k
quotes.patch .8k http.c 66k http-internal.h 4k
sample .5k kqueue.c 11k
sys-queue-macros.patch 1k log.c 4k log.h 2k
test .5k poll.c 9k min_heap.h 5k
select.c 8k strlcpy-internal.h .3k
signal.c 8k
strlcpy.c 2k
Mehr Informationen zu dim erhält man mit der -h Option.
Möchte man herausfinden wie Dateisysteme mit dem mount Befehl gemountet werden, so kann die -d und -v Option von mount verwendet werden. Folgendes Beispiel zeigt welche Befehle von einem mount -a im Single-User-Mode ausgeführt würden. Die einzelnen Befehle werden dabei nur angezeigt und nicht ausgeführt:
# mount -adv
mount -t ufs -o rw -o update /dev/ad4s3a /
mount -t tmpfs -o rw tmpfs /tmp
mount -t ufs -o rw /dev/ad4s3f /usr
mount -t ufs -o rw /dev/ad4s3d /var
mount -t procfs -o rw proc /proc
Mehr Informationen zu mount findet man in der Manpage mount(8).
Mit Hilfe von llgal kann auf der Kommandozeile aus einem Verzeichnis mit Fotos eine statische Fotogalerie generiert werden, welche danach auf ein Webserver geladen werden kann. Im FreeBSD -Portbaum findet mann llgal unter www/llgal:
# cd /usr/ports/www/llgal && make install clean
Möchte man die Fotogalerie erstellen, wechselt man in das Verzeichnis mit den Fotos und führt llgal aus:
# llgal
Listing entries in . : 100.00%
Preparing entries: 100.00%
Found 13 entries in current directory
Using '/usr/local/share/llgal/slidetemplate.html' as HTML slide template.
Creating individual slides: 100.00%
Using '/usr/local/share/llgal/indextemplate.html' as HTML index template.
Creating the index.html file: 100.00%
No llgal.css in .llgal/, getting a copy from /usr/local/share/llgal
Eine index.html Datei als Startseite wurde dabei automatisch generiert. Danach kann das ganze Verzeichnis auf ein Webserver geladen werden. Ein Galerie-Titel kann mit der --title Option festgelegt werden. Mit der --sy Option können alle Bilder auf eine bestimmte Höhe in Pixel angepasst werden:
# llgal --title "Meine Fotos" --sy 480
Alle Optionen von llgal erhält man mit der -h Option.
Möchte man aus verschiedenen Dateien die gespeicherten Meta-Daten auslesen so kann dazu IExtract verwendet werden. Im FreeBSD -Portbaum findet man IExtract unter sysutils/iextract:
# cd /usr/ports/sysutils/iextract && make install clean
Nun können die in einer Datei gespeicherten Meta-Daten ausgelesen werden:
# IExtract bookmarks.html gravatar.jpg qemu.png pack.gif qemu.png Lied.mp3 pf-firewall-eurobsdcon.pdf zusammenfassung.doc
bookmarks.html - My Bookmarks 25.05.2005 15:00:04
gravatar.jpg - Created with The GIMP 27.10.2005 15:06:51
qemu.png - 06.01.2006 14:22:44
pack.gif - Created with The GIMP 03.07.2005 09:18:21
qemu.png - 06.01.2006 14:22:44
Lied.mp3 - Irgendein Interpreter! Sein Lied! 07.04.2005 15:48:03
pf-firewall-eurobsdcon.pdf - Brannmur med OpenBSDs PF Peter N. M. Hansteen pdfpagemode Foredrag for BLUG 15.11.2006 17:41:00
zusammenfassung.doc - Kapitel 1 OSI-Referenzmodell 14.04.2005 06:56:12
Möchte man Verzeichnisse rekursiv durchsuchen, so kann dazu die -r Option verwendet werden. Alle Optionen von IExtract erhält man mit der -h Option.
[ FreeBSD ]
by Beat
@ 28.02.2010 22:41 UTC
Möchte man auf einem amd64 Rechner die 32bit-Bibliotheken nachinstallieren, da diese zum Beispiel von einem Port gebraucht werden, muss der FreeBSD-Quellcode unter /usr/src vorhanden sein. Danach können die 32bit-Bibliotheken wie folgt gebaut und installiert werden:
# cd /usr/src
# make build32 install32
# ldconfig -v -m -R /usr/lib32
[ FreeBSD ]
by Beat
@ 28.02.2010 22:26 UTC
Möchte man nur die den Port-INDEX mit portsnap aktualisieren, kann die -I Option von portsnap verwendet werden:
# portsnap -I fetch update
Sollen nachträglich auch die Ports aktualisiert werden, kann nur noch das update Kommando nochmals aufgerufen werden:
# portsnap update