BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Terminal zurücksetzen

Gibt man versehentlich binäre Daten in einem Terminal aus, kann es vorkommen das die Terminaleinstellungen verändert werden, so dass die Schrift nicht mehr lesbar ist oder das Terminal mit clear nicht mehr geleert werden kann. In diesem Falle können die Terminaleinstellungen wie folgt zurückgesetzt werden:

# tput init 
# clear
Comments (1)  Permalink

Lock-Datei erstellen während ein Befehl ausgeführt wird

Mit Hilfe von lockf kann eine Lock-Datei erstellt werden während ein Befehl ausgeführt wird, so dass zum Beispiel der gleiche Befehl nicht gleichzeitig nochmals ausgeführt wird. Im folgenden Beispiel wird die Datei /tmp/lock als Lock-Datei verwendet während der Befehl sleep 5 ausgeführt wird:

# lockf /tmp/lock sleep 5

Startet man nun einen zweiten Befehl mit lockf und der gleichen Lock-Datei so wird mit der Ausführung des zweiten Befehles solange gewartet bis die Lock-Datei nicht mehr vorhanden ist:

# /usr/bin/time -h lockf /tmp/lock whoami
beat
        4.60s real              0.00s user              0.00s sys

Mit Hilfe der -t Option kann angegeben werden wieviele Sekunden lockf maximal wartet. Ist nach Ablauf dieser Zeit die Lock-Datei noch vorhanden bricht lockf ab:

# lockf -t 1 /tmp/lock whoami
lockf: /tmp/lock: already locked

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

 Permalink

rc.d-Skripte mit Hilfe von service ausführen

Seit FreeBSD 7.3 und 8.1 können die rc.d-Skripte auch mit Hilfe von service ausgeführt werden. Im folgenden Beispiel wird getestet ob der Apache-Webserver läuft:

# service apache22 status
apache22 is running as pid 8052.

Desweiteren können Services auch gestartet, gestoppt oder neugestartet werden. Mit Hilfe der -e Option werde alle Services angezeigt, welche beim Systemstart automatisch gestartet werden:

# service -e
/etc/rc.d/hostid
/etc/rc.d/hostid_save
/etc/rc.d/ip6addrctl
/etc/rc.d/cleanvar
/etc/rc.d/devd
/etc/rc.d/pflog
/etc/rc.d/pf
/etc/rc.d/newsyslog
/etc/rc.d/syslogd
/etc/rc.d/dmesg
/etc/rc.d/virecover
/etc/rc.d/motd
/etc/rc.d/ntpd
/usr/local/etc/rc.d/mysql-server
/usr/local/etc/rc.d/tinderd
/usr/local/etc/rc.d/apache22
/etc/rc.d/sshd
/etc/rc.d/sendmail
/etc/rc.d/cron
/etc/rc.d/jail
/etc/rc.d/mixer
/etc/rc.d/bgfsck

Auf FreeBSD ist service seit FreeBSD 7.3 und 8.1 standardmässig im Basissystem vorhanden. Mehr Informationen zu service findet man in der Manpage service(1).

 Permalink

Informationen über Systembenutzer anzeigen

Mit Hilfe von logins lassen sich Informationen über lokale Systembenutzer auslesen. Mit der -d Option kann herausgefunden werden welche Benutzer identische Benutzer-IDs haben:

# logins -d
root            0       wheel           0       Charlie &
toor            0       wheel           0       Bourne-again Superuser

Möchte man auslesen, welche Benutzer der gleichen Gruppen angehören, so kann die -g Option verwerdet werden:

# logins -g wheel
root            0       wheel           0       Charlie &
beat            1001    users           1001    Beat Gätzi

Informationen über einen Benutzer erhält man mit der -l Option:

# logins -l beat
beat            1001    users           1001    Beat Gätzi

Für Informationen über die sekundären Gruppen der Benutzer verwendet man die -m Option. Durch die -t Option wird die Ausgabe nicht nach der Benutzer-ID sondern nach dem Benutzernamen sortiert:

# logins -m -t
_dhcp           65      _dhcp           65      dhcp programs
_pflogd         64      _pflogd         64      pflogd privsep user
avahi           558     avahi           558     Avahi Daemon User
beat            1001    users           1001    Beat Gätzi
                        wheel           0      
                        vboxusers       920    
bin             3       bin             7       Binaries Commands and Source
bind            53      bind            53      Bind Sandbox
clamav          106     clamav          106     Clam Antivirus
                        mail            6      
daemon          1       daemon          1       Owner of many system processes
games           7       games           13      Games pseudo-user
haldaemon       560     haldaemon       560     HAL Daemon User
kmem            5       nogroup         65533   KMem Sandbox
mailnull        26      mailnull        26      Sendmail Default User
man             9       man             9       Mister Man Pages
messagebus      556     messagebus      556     D-BUS Daemon User
minbif          926     minbif          926     Minbif Daemon User
news            8       news            8       News Subsystem
nobody          65534   nobody          65534   Unprivileged user
operator        2       operator        5       System &
polkit          562     polkit          562     PolicyKit Daemon User
pop             68      mail            6       Post Office Owner
proxy           62      proxy           62      Packet Filter pseudo-user
pulse           563     pulse           563     PulseAudio System User
root            0       wheel           0       Charlie &
                        operator        5      
smmsp           25      smmsp           25      Sendmail Submission User
sshd            22      sshd            22      Secure Shell Daemon
test            1002    test            1002    Testbenutzer
toor            0       wheel           0       Bourne-again Superuser
tty             4       nogroup         65533   Tty Sandbox
uucp            66      uucp            66      UUCP pseudo-user
www             80      www             80      World Wide Web Owner

Informationen über das home-Verzeichnis und die verwendete Shell erhält man mit der -x Option. Verwendet man die -u Option werden keine Systembenutzer angezeigt:

# logins -x -u
beat            1001    users           1001    Beat Gätzi
                        /home/beat
                        /bin/csh
test            1002    test            1002    Testbenutzer
                        /home/test
                        /bin/tcsh

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

 Permalink

Loginnamen anzeigen

Mit Hilfe von logname lässt sich anzeigen mit welchem Benutzer man sich angemeldet hat:

# logname
beat

Dies funktioniert auch, wenn der Benutzer mit su(1) gewechselt oder die LOGNAME oder USER Umgebungsvariablen verändert wurden:

# su -
# id
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
# logname
beat
 Permalink

Benutzer sperren

Möchte man einen lokalen Benutzer sperren so kann dazu pw lock als root verwendet werden:

# pw lock <Benutzernamen>

Soll der Benutzer danach wieder entsperrt werden, kann dies mit pw unlock gemacht werden:

# pw unlock <Benutzernamen>
 Permalink

Unterbrochener fetch-Transfer wiederaufnehmen

Lädt man eine grössere Datei mit fetch herunter, kann durch das verwenden der -R Option verhindert werden, dass die heruntergeladene Datei bei einem Transferunterbruch gelöscht wird:

# fetch -R ftp://ftp.ch.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.1/FreeBSD-8.1-RELEASE-i386-disc1.iso
FreeBSD-8.1-RELEASE-i386-disc1.iso             23% of  645 MB 1988 kBps 04m16s
/tmp: write failed, filesystem is full
FreeBSD-8.1-RELEASE-i386-disc1.iso             23% of  645 MB 1986 kBps 04m14s
fetch: FreeBSD-8.1-RELEASE-i386-disc1.iso: No space left on device

Mit der -r Option kann danach ein allfällig abgebrochener Transfer fortgesetzt werden:

# fetch -r ftp://ftp.ch.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.1/FreeBSD-8.1-RELEASE-i386-disc1.iso
 Permalink

Zeit beim Systemstart synchronisieren

Möchte man die Uhrzeit beim Systemstart mit Hilfe von ntpdate synchronisieren, so kann dies durch das Setzen von ntpdate_enable in der /etc/rc.conf gemacht werden. Mit der Variable ntpdate_hosts können die NTP-Server angegeben werden, welche zur Synchronisation verwendet werden sollen:

ntpdate_enable="YES"
ntpdate_hosts="0.freebsd.pool.ntp.org"
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

Verfügbarkeit des Portquellcodes überprüfen

Mit Hilfe von distilator kann die Verfügbarkeit des Quellcodes eines Ports überprüft werden. Im FreeBSD -Portbaum findet man den distilator unter ports-mgmt/distilator:

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

Nun kann ein Port mit Hilfe des distilators überprüft werden und der HTTP-Statuscode von jedem Mirror-Server sowie der in der pkg-descr eingetragenen Webseite wird angezeigt:

# distilator /usr/ports/www/firefox
200 [DISTFILE]  http://ring.nict.go.jp/archives/net/www/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mirror.internode.on.net/pub/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [WWW]       http://www.mozilla.com/firefox
404 [DISTFILE]  http://ftp.isu.edu.tw/pub/Mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  ftp://ftp.informatik.rwth-aachen.de/pub/mirror/ftp.mozilla.org/pub/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://jp-nii02.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  ftp://ftp.kaist.ac.kr/pub/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mozilla.c3sl.ufpr.br/releases/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mirror3.mirrors.tds.net/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://jp-nii01.mozilla.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://kyoto-mz-dl.sinet.ad.jp/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ftp.acc.umu.se/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ftp.twaren.net/Unix/Mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mozilla.mtk.nao.ac.jp/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://www.gtlib.cc.gatech.edu/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ftp.ntu.edu.tw/pub/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  ftp://ftp.fh-wolfenbuettel.de/pub/www/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
500 [DISTFILE]  ftp://mozilla.mirror.pacific.net.au/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://ring.riken.jp/archives/net/www/mozilla/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
200 [DISTFILE]  http://mozilla.isc.org/pub/mozilla.org/firefox/releases/3.6.12/source/firefox-3.6.12.source.tar.bz2
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

ZFS-Statistiken anzeigen

Mit Hilfe von zfs-stats können auf einem FreeBSD System alle ZFS relevanten Informationen angezeigt werden. Im FreeBSD -Portbaum findet man zfs-stats unter sysutils/zfs-stats:

# cd /usr/ports/sysutils/zfs-stats && make install clean

Mit der -F Option werden die FreeBSD-Informationen angezeigt:

# zfs-stats -F
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:14:34 2010
------------------------------------------------------------------------
System Information:

        Kernel Version:                         900019 (osreldate)
        Hardware Platform:                      i386
        Processor Architecture:                 i386

FreeBSD 9.0-CURRENT #3: Thu Sep 2 13:27:05 CEST 2010 root
 9:14PM  up 40 mins, 2 users, load averages: 0.26, 0.06, 0.02

Verwendet man die -M Option so werden Informationen zum Arbeitsspeicher angezeigt:

# zfs-stats -M
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:16:30 2010
------------------------------------------------------------------------
System Memory Statistics:
        Physical Memory:                        1011.41M
        Kernel Memory:                          34.55M
        DATA:                           71.94%  24.86M
        TEXT:                           28.06%  9.70M
------------------------------------------------------------------------

Die ZFS und ZFS-Pool Versionen können mit der -p Option abgefragt werden:

# zfs-stats -p
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:17:47 2010
------------------------------------------------------------------------
ZFS pool information:
        Storage pool Version (spa):             28
        Filesystem Version (zpl):               5
------------------------------------------------------------------------

Alle ZFS relevanten sysctl-Variablen werden mit der -s Option angezeigt:

# zfs-stats -s
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:19:05 2010
------------------------------------------------------------------------
ZFS Tunable (sysctl):
        kern.maxusers=384
        vfs.zfs.l2c_only_size=0
        vfs.zfs.mfu_ghost_data_lsize=0
        vfs.zfs.mfu_ghost_metadata_lsize=8192
        vfs.zfs.mfu_ghost_size=8192
        vfs.zfs.mfu_data_lsize=0
        vfs.zfs.mfu_metadata_lsize=177664
        vfs.zfs.mfu_size=296448
        vfs.zfs.mru_ghost_data_lsize=0
        vfs.zfs.mru_ghost_metadata_lsize=39936
[...]

Weiter können folgende Statistiken abgefragt werden: ARC (-A Option), VDEV cache (-D Option) , L2 ARC (-L Option) und DMU zfetch (-Z Option):

# zfs-stats -ADLZ
------------------------------------------------------------------------
ZFS Subsystem Report                            Sat Oct 23 21:53:57 2010
------------------------------------------------------------------------
ARC Misc:
        Deleted:                                8
        Recycle Misses:                         0
        Mutex Misses:                           0
        Evict Skips:                            0

ARC Size:
        Current Size (arcsize):         0.20%   1.26M
        Target Size (Adaptive, c):      100.00% 640.00M
        Min Size (Hard Limit, c_min):   12.50%  80.00M
        Max Size (High Water, c_max):   ~8:1    640.00M

ARC Size Breakdown:
        Recently Used Cache Size (p):   50.02%  320.14M
        Freq. Used Cache Size (c-p):    49.98%  319.86M
[...]

Alle Informationen in einer Ausgabe werden mit der -a Option dargestellt:

# zfs-stats -a

Ruft man zfs-stats ohne Optionen auf, werden alle verfügbaren Optionen aufgelistet.

Related Entries:
ZFS-Installation mit Hilfe von mfsBSD
FreeBSD nur auf ZFS installieren
Alle Änderungen eines ZFS-Pools anzeigen
Automatisch ZFS Snapshots erstellen
ZFS Dateisystemoptionen verwenden
 Permalink
Prev Next21-30/305