BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Festplattenstatistiken anzeigen

Mit Hilfe von devstat lassen sich Statistiken zu den vorhandenen Festplatten anzeigen. Im FreeBSD Portbaum findet man devstat unter sysutils/devstat:

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

Nun lassen sich unter anderem die Anzahl gelesener und geschriebener Bytes, die Anzahl Schreib- und Leseoperationen sowie die Blockgrösse anzeigen:

# devstat da0
da0:
        1040333796616 bytes read
        7252471400448 bytes written
        0 bytes freed
        247638123 reads
        451008032 writes
        0 frees
        0 other
        duration:
                821293 11997012304437948040/2^64 sec reads
                14473429 7941757553516418738/2^64 sec writes
                0 0/2^64 sec frees
        895818 12812851478818415562/2^64 sec busy time
        5 18242368001486082/2^64 sec creation time
        512 block size
        tags sent:
                698646155 simple
                0 ordered
                0 head of queue
        supported statistics measurements flags: 0
        device type: 0
        devstat list insert priority: 4095

Alle angezeigten Werte sind in der Manpage devstat(9) beschrieben. Mehr Informationen zu devstat findet man in der Manpage devstat(8).

 Permalink

Alte Dateien in /tmp täglich automatisch löschen

Möchte man täglich alte Dateien in /tmp löschen, kann folgende Zeile in der /etc/periodic.conf eingefügt werden:

daily_clean_tmps_enable="YES"

Danach werden täglich die Dateien in /tmp gelöscht, die seit drei Tagen nicht mehr verwendet wurden. Die gelöschten Dateien werden im täglichen Statusmail angezeigt:

[...]
Removing old temporary files:
  /tmp/piwik/db.opt
  /tmp/piwik/piwik_user.frm
  /tmp/piwik/piwik_user.MYI
  /tmp/piwik/piwik_user.MYD

[...]

Möchte man die Anzahl Tage verändern, so kann dies durch setzen von daily_clean_tmps_days gemacht werden. Dateien die nicht gelöscht werden sollen, können in daily_clean_tmps_ignore aufgeführt werden. Sollen die gelöschten Dateien nicht im täglichen Statusmail aufgeführt werden, kann daily_clean_tmps_verbose auf NO gesetzt werden. Standardmässig sind die Variablen folgendermassen gesetzt:

daily_clean_tmps_days="3"                                                   # If not accessed for
daily_clean_tmps_ignore=".X*-lock .X11-unix .ICE-unix .font-unix .XIM-unix"
daily_clean_tmps_ignore="$daily_clean_tmps_ignore quota.user quota.group"   # Don't delete these
daily_clean_tmps_verbose="YES"                                              # Mention files deleted
 Permalink

Ports wöchentlich auf neue Versionen prüfen

Möchte man wöchentlich die installierten Ports angezeigt bekommen, von denen im Portsbaum eine neuere Version existiert, kann folgende Zeile in der /etc/periodic.conf eingefügt werden:

weekly_status_pkg_enable="YES"

Danach werden die entsprechenden Ports im wöchentlichen Statusmail aufgeführt:

[...]

Check for out of date packages:
  ccache-2.4_7 needs updating (port has 2.4_8)
  maatkit-1972 needs updating (port has 3119)
  mysql-client-5.0.75 needs updating (port has 5.0.83)
  mysql-server-5.0.75 needs updating (port has 5.0.83)
  portlint-2.11.1 needs updating (port has 2.11.2)
  postgresql-client-8.2.9 needs updating (port has 8.2.13)
  postgresql-server-8.2.9 needs updating (port has 8.2.13)
  rrdtool-1.2.29 needs updating (port has 1.2.30)
  rsync-3.0.3 needs updating (port has 3.0.6)
  screen-4.0.3_5 needs updating (port has 4.0.3_6)
  subversion-freebsd-1.5.5_1 needs updating (port has 1.6.2)

[...]
 Permalink

Server mit Quellcode eines Ports zufällig wählen

Sind in einem FreeBSD-Port mehrere Server angegeben, von denen der Quellcode eines Programms heruntergeladen wird, so wird die Liste der Server der Reihe nach abgearbeite, bis der Quellcode erfolgreich heruntergeladen werden kann. Möchte man die Reihenfolge der Server zufällig wählen, kann folgender Eintrag in der /etc/make.conf gemacht werden:

RANDOMIZE_MASTER_SITES=yes

Damit die Server zufällig ausgewählt werden können, muss /usr/games/random installiert sein. Ist dies nicht der Fall, so kann random(6) wie folgt nachinstalliert werden:

# cd /usr/src/games/random && make && make install

 Permalink

Einstellungen des FreeBSD-Bootmanagers ändern

Verwendet man den FreeBSD-Bootmanager um auf einem Rechner verschiedene installierte Betriebssysteme starten zu können, so kann mit boot0cfg und der -v Option die aktuelle Konfiguration ausgelesen werden:

# boot0cfg -v /dev/ad4
#   flag     start chs   type       end chs       offset         size
1   0x00      0:  1: 1   0x07   1023:119:63           63    245866257
2   0x00   1023:255:63   0x12   1023:239:63    474541200     13849920
3   0x80   1023:255:63   0xa5   1023:254:63    245866320    228661650

version=2.0  drive=0x80  mask=0xf  ticks=182  bell=# (0x23)
options=packet,noupdate,nosetdrv
volume serial ID b8b8-b8b8
default_selection=F1 (Slice 1)

Möchte man nun ändern, von welchem Slice beim nächsten Neustart standardmässig gestartet werden soll, so kann die Slice-Nummer mit der -s Option an boot0cfg übergeben werden:

# boot0cfg -s 3 /dev/ad4
# boot0cfg -v /dev/ad4
#   flag     start chs   type       end chs       offset         size
1   0x00      0:  1: 1   0x07   1023:119:63           63    245866257
2   0x00   1023:255:63   0x12   1023:239:63    474541200     13849920
3   0x80   1023:255:63   0xa5   1023:254:63    245866320    228661650

version=2.0  drive=0x80  mask=0xf  ticks=182  bell=# (0x23)
options=packet,noupdate,nosetdrv
volume serial ID b8b8-b8b8
default_selection=F3 (Slice 3)

Standardmässig wartet der Bootmanager 10 Sekunden (was ~182 Ticks entspricht), bevor vom konfigurierten Standardslice gebootet wird. Möchte man diese Dauer ändern, kann mit der -t Option die Anzahl Ticks angegeben werden, wie lange gewartet werden soll. Im folgenden Beispiel wird die Zeit auf 91 Ticks eingestellt, was ~5 Sekunden entspricht:

# boot0cfg -t 91 /dev/ad4
# boot0cfg -v /dev/ad4
#   flag     start chs   type       end chs       offset         size
1   0x00      0:  1: 1   0x07   1023:119:63           63    245866257
2   0x00   1023:255:63   0x12   1023:239:63    474541200     13849920
3   0x80   1023:255:63   0xa5   1023:254:63    245866320    228661650

version=2.0  drive=0x80  mask=0xf  ticks=91  bell=# (0x23)
options=packet,noupdate,nosetdrv
volume serial ID b8b8-b8b8
default_selection=F3 (Slice 3)

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

 Permalink

Interaktives Installieren von Paketen

Mit Hilfe von pkg_add_it lässt sich nach einem FreeBSD Paket suchen. Das Paket kann nach erfolgreicher Suche mit pkg_add_it direkt installiert werden. Stimmen mehrere Pakete mit der Sucheingabe überein, wird eine Liste mit den Suchresultaten angezeigt, aus welcher das gewünschte Paket ausgewählt werden kann. Im FreeBSD Portbaum findet man pkg_add_it unter ports-mgmt/pkg_add_it:

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

Verwendet man die --remote Option, werden die Pakete auf einem entfernten Server gesucht. Mit der Variable OSRELEASE wird die verwendete FreeBSD -Version angegeben, mit PACKAGEROOT kann der Server angegeben werden auf dem die Pakete gesucht werden sollen. Ist PACKAGEROOT nicht gesetzt, so wird ftp.FreeBSD.org verwendet. Mit der -L Option wird nur nach Paketen gesucht, diese können danach aber nicht direkt installiert werden:

# setenv OSRELEASE 7.2-release
# pkg_add_it -L --remote dwatch
==>> NOTICE: INDEX file was not found in current dir, I'll fetch it..

==>> NOTICE: PACKAGEROOT was not defined..
==>> Using default PACKAGEROOT - ftp://ftp.freebsd.org/

INDEX                                         100% of   17 MB  416 kBps 00m00s

==>> Total packages found: 4
==>> List of packages matching the given pattern... 

#####################################################################
(001)   dwatch-0.1.1                   (in sysutils)
        Description: Dwatch - A Daemon Watcher
        Maintained by: ports@FreeBSD.org

(002)   cmdwatch-0.2.0_1               (in sysutils)
        Description: Watches the output from a command at specified intervals
        Maintained by: beat@FreeBSD.org

(003)   jbidwatcher-2.0.1              (in misc java)
        Description: A Java-based application allowing you to monitor eBay auctions
        Maintained by: shurd@sasktel.net

(004)   bidwatcher-1.3.17_8            (in misc)
        Description: Bid monitor for eBay
        Maintained by: obrien@FreeBSD.org

#####################################################################

==>> Total packages found: 4

Möchte man lokal gespeicherte Pakete für die Suche und Installation verweden, so kann mit der --local Option ein lokales Verzeichnis angegeben werden, in dem die Pakete gespeichert sind:

# pkg_add_it -L --local /usr/ports/packages/All/ kde
==>> Total packages found: 7
==>> List of packages matching the given pattern.. 

#####################################################################
(001)   kde-windeco-crystal-1.0.7.tbz  (in /usr/ports/packages/All)
(002)   kdebase-3.5.10_2.tbz           (in /usr/ports/packages/All)
(003)   kdebase-kompmgr-3.5.10.tbz     (in /usr/ports/packages/All)
(004)   kde-xdg-env-1.0_3,1.tbz        (in /usr/ports/packages/All)
(005)   kdegraphics-3.5.10.tbz         (in /usr/ports/packages/All)
(006)   kdelibs-3.5.10.tbz             (in /usr/ports/packages/All)
(007)   kdehier-1.0_11.tbz             (in /usr/ports/packages/All)
#####################################################################

==>> Total packages found: 7

Nun kann das gefundene Paket installiert werden. Dazu wird die entsprechende Nummer des Pakets eingegeben:

# pkg_add_it --remote dwatch
==>> Total packages found: 4
==>> List of packages matching the given pattern... 

#####################################################################
(001)   dwatch-0.1.1                   (in sysutils)
        Description: Dwatch - A Daemon Watcher
        Maintained by: ports@FreeBSD.org

(002)   cmdwatch-0.2.0_1               (in sysutils)
        Description: Watches the output from a command at specified intervals
        Maintained by: beat@FreeBSD.org

(003)   jbidwatcher-2.0.1              (in misc java)
        Description: A Java-based application allowing you to monitor eBay auctions
        Maintained by: shurd@sasktel.net

(004)   bidwatcher-1.3.17_8            (in misc)
        Description: Bid monitor for eBay
        Maintained by: obrien@FreeBSD.org

#####################################################################

==>> Total packages found: 4
==>> Choose the package number you wish to install [1-4]: 2
==>> NOTICE: PACKAGEROOT was not defined..
==>> Using default PACKAGEROOT - ftp://ftp.freebsd.org/

Fetching ftp://ftp.freebsd.org//pub/FreeBSD/ports/i386/packages-7.2-release/sysutils/cmdwatch-0.2.0_1.tbz... Done.
# pkg_info -Ix dwatch
cmdwatch-0.2.0_1    Watches the output from a command at specified intervals

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

 Permalink

Verfügbare Dateisystemtypen anzeigen

Alle verfügbaren Dateisystemtypen, welche sich auf einem System mounten lassen, können mit lsvfs angezeigt werden:

# lsvfs 
Filesystem                        Refs Flags
-------------------------------- ----- ---------------
nfs                                  0 network
ufs                                  4 
devfs                                1 synthetic
cd9660                               0 read-only
msdosfs                              0 
nfs4                                 0 network
procfs                               0 synthetic

Werden nun weitere Dateisysteme mittels dem entsprechenden Kernelmodul nachgeladen, so werden diese danach auch in der Liste aufgeführt. In der Spalte Refs wird die Anzahl gemounteter Dateisysteme pro Typ angezeigt:

# kldload nullfs
# /etc/rc.d/zfs onestart
# lsvfs
Filesystem                        Refs Flags
-------------------------------- ----- ---------------
nfs                                  0 network
ufs                                  4 
devfs                                1 synthetic
cd9660                               0 read-only
msdosfs                              0 
nfs4                                 0 network
procfs                               0 synthetic
nullfs                               0 loopback
zfs                                  0 jail, delegated-administration

Dateisysteme, welche das jail-Flag gesetzt haben, können, falls die sysctl-Variable security.jail.mount_allowed auf 1 gesetzt ist, auch innerhalb einer Jail gemountet werden. Mehr Informationen zu lsvfs findet man in der Manpage lsvfs(1).

 Permalink

crashinfo beim Systemstart automatisch ausführen

Soll nach einem Kernel-Crash automatisch beim Systemstart eine crashinfo-Datei erstellt werden, so kann folgende Zeile in der /etc/rc.conf eingefügt werden:

crashinfo_enable="YES"

Die crashinfo-Datei wird dabei automatisch beim Systemstart in /var/crash erstellt:

[...]
Starting syslogd.
Checking for core dump on /dev/ad4s3b...
savecore: reboot after panic: page fault
May 28 17:33:36 test savecore: reboot after panic: page fault
savecore: writing core to vmcore.7
Writing crash summary to /var/crash/core.txt.7.
Initial i386 initialization:
[...]

Mehr Informationen zu crashinfo findet man in der Manpage crashinfo(8). Ein Beispiel einer crashinfo-Datei findet man hier: core.txt.0

 Permalink

Dateien mit unbekannten UIDs/GIDs suchen

Möchte man wöchentlich nach Dateien suchen welche unbekannte User-IDs oder Group-IDs besitzen, kann folgende Zeile in der /etc/periodic.conf eingefügt werden:

weekly_noid_enable="YES"

Danach werden die entsprechenden Dateien im wöchentlichen Statusmail aufgeführt, können danach überprüft werden:

[...]

Check for files with an unknown user or group:
  /tmp/smstools
  /tmp/smstools/doc
  /usr/local/tinderbox/8.0-FreeBSD/var/mail/messagebus
  /usr/local/tinderbox/8.0-FreeBSD/var/mail/polkit
  /usr/local/tinderbox/8.0-FreeBSD/var/mail/avahi
  /usr/local/tinderbox/8.0-FreeBSD/var/mail/haldaemon
  /usr/local/tinderbox/8.0-FreeBSD/var/lib/hal

[...]
 Permalink

NTP-Status in den täglichen Servermails anzeigen

Synchronisiert man die Zeit eines FreeBSD -Servers mit NTP, so kann man den NTP Status in den täglichen Servermails anzeigen lassen. Dazu kann folgender Eintrag in der /etc/periodic.conf gemacht werden:

daily_status_ntpd_enable="YES"

Danach findet man die entsprechende Ausgabe in den täglichen Statusmails:

[...]

NTP status:
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*mein.ntp.ch          1.1.3.220    2 u  254  512  377   1.666   -1.197   0.469

[...]
 Permalink
Prev Next81-90/305