BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Wartezeit des Bootloaders verändern

Standardmässig wartet der FreeBSD-Bootloader 10 Sekunden auf eine Eingabe bis der Bootvorgang vortgesetzt wird. Diese Zeit kann durch einen autoboot_delay-Eintrag in der /boot/loader.conf verändert werden. Im folgenden Beispiel wird die Wartezeit auf drei Sekunden gesenkt:

autoboot_delay="3"
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

Neustart durch Ctrl+Alt+Del verhindern

Möchte man verhindern, dass ein System durch das Drücken von Ctrl+Alt+Del neu gestartet werden kann, so kann folgende Option der Kernel-Konfiguration hinzugefügt werden:

options    SC_DISABLE_REBOOT

Danach muss der Kernel neu gebaut und das System neu gestartet werden.

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
Comments (1)  Permalink

Konsolenausgabe löschen

Arbeitet man unter FreeBSD auf der Konsole und möchte die bestehenden Ausgaben löschen, so kann dies durch das Drücken von Ctrl + l gemacht werden. Dies funktioniert auch nachdem man sich bereits von der Konsole abgemeldet hat.

 Permalink

Fehlende gzip-Dateiendung hinzufügen

Fehlt einer mit gzip komprimierten Datei die .gz-Dateiendung, so kann die Datei unter Umständen nochmals mit gzip komprimiert werden:

# file *
test:                          gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
# gzip virtualbox-2.2.2r19307.tar.gz
gzip: virtualbox-2.2.2r19307.tar.gz already has .gz suffix -- unchanged
# gzip test
# file *
test.gz:                       gzip compressed data, was "test", from Unix, last modified: Sat Aug 28 23:27:41 2010
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009

Mit Hilfe von zforce kann nun allen mit gzip komprimierten Dateien ohne .gz-Dateiendung diese angefügt werden:

# file *
firefox.txt:                   news or mail text
virtualbox-2.2.1r19283.tar.gz: gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar:    gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
virtualbox-2.2.2r19378.tar.gz: gzip compressed data, from Unix, last modified: Tue May  5 18:42:19 2009
virtualbox-2.2.2r19453.tar.gz: gzip compressed data, from Unix, last modified: Wed May  6 21:33:10 2009
# zforce *
virtualbox-2.2.2r19307.tar -- renamed to virtualbox-2.2.2r19307.tar.gz
# file *
firefox.txt:                   news or mail text
virtualbox-2.2.1r19283.tar.gz: gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
virtualbox-2.2.2r19378.tar.gz: gzip compressed data, from Unix, last modified: Tue May  5 18:42:19 2009
virtualbox-2.2.2r19453.tar.gz: gzip compressed data, from Unix, last modified: Wed May  6 21:33:10 2009

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

 Permalink

Datei sortieren

Mit Hilfe von sort lässt sich der Inhalt einer Datei oder die Ausgabe der Standardausgabe sortieren:

# cat testdatei 
1
k
5
l
0
e
c
d
# sort testdatei 
0
1
5
c
d
e
k
l

Sollen Zahlen sortiert werden, kann die -n Option verwendet werden so dass die Zahlen nach ihrem Wert sortiert werden:

# cat testdatei 
1
12
103
2
22
222
4
5
99
# sort testdatei
1
103
12
2
22
222
4
5
99
# sort -n testdatei
1
2
4
5
12
22
99
103
222

Soll das Ergebnis in umgekehrter Reihenfolge ausgegeben werden, kann die -r Option verwendet werden:

# sort -r testdatei
l
k
e
d
c
5
1
0

Durch die -u Option werden keine identischen Zeilen angezeigt:

# cat testdatei
c
b
a
c
b
a
# sort -u testdatei 
a
b
c

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

 Permalink

Sortierte Datei durchsuchen

Mit Hilfe von look kann eine sortierte Datei nach Zeilen durchsucht werden, welche mit einer bestimmten Zeichenfolge beginnen:

# look 146.78.xxx.xxx testdatei
146.78.xxx.xxx: 1045 | 0

Da look nur mit sortierten Listen funktioniert ist es auf eine solche Suche optimiert und vor allem bei grösseren Dateien schneller als grep(1):

# du -h testdatei 
 29M    testdatei
# /usr/bin/time look 146.78.xxx.xxx testdatei
146.78.xxx.xxx: 1045 | 0
        0.00 real         0.00 user         0.00 sys
# /usr/bin/time grep ^146.78.xxx.xxx testdatei
146.78.xxx.xxx: 1045 | 0
        0.16 real         0.16 user         0.00 sys

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

 Permalink

Laufende Prozesse als Baum darstellen

Mit Hilfe von dtpstree lassen sich die laufenden Prozesse eines Systems als Baum darstellen. So kann angezeigt werden, welcher Prozess von welchem gestartet wurde. Bei dtpstree handelt es sich um eine Reimplementation von pstree. Im FreeBSD -Portbaum findet man dtpstree unter sysutils/dtpstree:

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

Ruft man dtpstree ohne Optionen auf, so werden alle für den Benutzer sichtbaren Prozesse als Baum angezeigt

# dtpstree 
init-+-adjkerntz
     +-console-kit-daemon
     +-cron
     +-2*[dbus-daemon]
     +-dbus-launch
     +-devd
     +-2*[dhclient]
     +-gconfd-2
     +-8*[getty]
     +-gpg-agent
     +-hald---hald-runner-+-hald-addon-mouse-sy
     |                    +-hald-addon-storage
     +-moused
     +-pflogd---pflogd
     +-powerd
     +-sshd
     +-syslogd
     +-wpa_supplicant
     +-xdm-+-Xorg
           +-xdm---fluxbox-+-csh---Eterm---csh---ssh
                           +-csh---sh---sh---thunderbird-bin
                           +-csh---sh---sh---firefox-bin---npviewer.bin
                           +-2*[csh---xterm---csh]
                           +-5*[csh---xterm---csh---ssh]
                           +-csh---xterm---csh---dtpstree
                           +-gkrellm
                           +-xearth
                           +-xscreensaver

Verwendet man die -p Option so wird jeweils die Prozess-ID jedes Prozesses angezeigt:

# dtpstree -p
init(1)-+-adjkerntz(131)
        +-console-kit-daemon(1775)
        +-cron(1692)
        +-dbus-daemon(1627)
        +-dbus-daemon(1881)
        +-dbus-launch(1880)
        +-devd(960)
        +-dhclient(1281)
        +-dhclient(1298)
        +-gconfd-2(1883)
        +-getty(1757)
        +-getty(1758)
        +-getty(1759)
        +-getty(1760)
        +-getty(1761)
        +-getty(1762)
        +-getty(1763)
        +-getty(1764)
        +-gpg-agent(1888)
        +-hald(1772)---hald-runner(1776)-+-hald-addon-mouse-sy(1781)
        |                                +-hald-addon-storage(1802)
        +-moused(1603)
        +-pflogd(637)---pflogd(646)
        +-powerd(1543)
        +-sshd(1681)
        +-syslogd(1321)
        +-wpa_supplicant(444)
        +-xdm(1765)-+-Xorg(1771)
                    +-xdm(1818)---fluxbox(1830)-+-csh(1836)---Eterm(1843)---csh(1844)---ssh(1860)
                                                +-csh(1861)---sh(1868)---sh(1872)---thunderbird-bin(1876)
                                                +-csh(1889)---sh(1896)---sh(1900)---firefox-bin(1904)---npviewer.bin(2259)
                                                +-csh(1911)---xterm(1918)---csh(1920)
                                                +-csh(1946)---xterm(1953)---csh(1955)---ssh(1964)
                                                +-csh(1965)---xterm(1972)---csh(1974)---ssh(1983)
                                                +-csh(1984)---xterm(1991)---csh(1993)---ssh(2002)
                                                +-csh(9454)---xterm(9461)---csh(9463)---ssh(9472)
                                                +-csh(9592)---xterm(9599)---csh(9601)---ssh(9614)
                                                +-csh(9737)---xterm(9744)---csh(9746)
                                                +-csh(9903)---xterm(9910)---csh(9912)---dtpstree(9931)
                                                +-gkrellm(1832)
                                                +-xearth(1834)
                                                +-xscreensaver(1833)

Mit der -u Option werden die Änderungen der Benutzers unter welchem der Prozess läuft sichtbar:

#  dtpstree -u
init-+-adjkerntz
     +-console-kit-daemon
     +-cron
     +-dbus-daemon(messagebus)
     +-dbus-daemon(beat)
     +-dbus-launch(beat)
     +-devd
     +-dhclient
     +-dhclient(_dhcp)
     +-gconfd-2(beat)
     +-8*[getty]
     +-gpg-agent(beat)
     +-hald(haldaemon)---hald-runner(root)-+-hald-addon-mouse-sy
     |                                     +-hald-addon-storage
     +-moused
     +-pflogd---pflogd(_pflogd)
     +-powerd
     +-sshd
     +-syslogd
     +-wpa_supplicant
     +-xdm-+-Xorg
           +-xdm---fluxbox(beat)-+-csh---Eterm---csh---ssh
                                 +-csh---sh---sh---thunderbird-bin
                                 +-csh---sh---sh---firefox-bin---npviewer.bin
                                 +-2*[csh---xterm---csh]
                                 +-5*[csh---xterm---csh---ssh]
                                 +-csh---xterm---csh---su---csh(root)---dtpstree
                                 +-gkrellm
                                 +-xearth
                                 +-xscreensaver

Benutze man die -a Option werden die Argumente, mit der -t Option die Pfade jedes Prozesses ausgegeben:

# dtpstree -a -t
/sbin/init --
  +-adjkerntz -i
  +-/usr/local/sbin/console-kit-daemon
  +-/usr/sbin/cron -s
  +-/usr/local/bin/dbus-daemon --system
  +-/usr/local/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
  +-dbus-launch --autolaunch 0e299d9692a650fd98b8ab2a00001627 --binary-syntax --close-stderr
  +-/sbin/devd
  +-dhclient: em0 [priv]
  +-dhclient: em0
  +-/usr/local/libexec/gconfd-2
  +-/usr/libexec/getty Pc ttyv0
  +-/usr/libexec/getty Pc ttyv1
  +-/usr/libexec/getty Pc ttyv2
  +-/usr/libexec/getty Pc ttyv3
  +-/usr/libexec/getty Pc ttyv4
  +-/usr/libexec/getty Pc ttyv5
  +-/usr/libexec/getty Pc ttyv6
  +-/usr/libexec/getty Pc ttyv7
  +-/usr/local/bin/gpg-agent --sh --no-use-standard-socket --daemon --default-cache-ttl 60 --max-cache-ttl 999999
  +-/usr/local/sbin/hald
  |   +-hald-runner
  |       +-hald-addon-mouse-sysmouse: /dev/psm0
  |       +-hald-addon-storage: /dev/acd0
  +-/usr/sbin/moused -p /dev/psm0 -t auto
  +-pflogd: [priv]
  |   +-pflogd: [running] -s 116 -i pflog0 -f /var/log/pflog
  +-/usr/sbin/powerd -a max -b min
  +-/usr/sbin/sshd
  +-/usr/sbin/syslogd -ss
[...]

Auch in einer Jails kann dtpstree verwendet werden obwohl der init-Prozess in der Jail nicht sichtbar ist:

# dtpstree
cron
httpd---10*[httpd]
2*[sendmail]
sshd
syslogd
tcsh---dtpstree

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

 Permalink
1-7/7