DragonFlys Features kennen und nutzen

Betrifft OS:
DragonFlyBSD

DragonFly BSD versucht in vielerlei Hinsicht neue Wege zu beschreiten oder schon bekannte Wege neu zu gestalten. Leider sind viele dieser Wege Nutzern von anderen Betriebssystemen unbekannt. Deshalb soll dieser Artikel einige kleine Einführungen zu verschiedenen Features von DragonFLy bereitstellen.

resident

resident(8) dürfte Fans von AmigaOS wohl bekannt sein. GNU/Linux und Windows stellen mit prelink und Prefetcher ähnliche Verfahren zur Verfügung. Bei resident handelt sich um kleines Programm welches die Möglichkeit bietet dynamisch gelinkte Programme in die RAM zu laden und damit zukünftige Programmstarts zu beschleunigen. Vor allem bei großen Programmen, welche viele dynamisch gelinkte Bibliotheken nutzen bringt dieses Feature große Zeitersparnisse mit sich.

Die Nutzung ist einfach und selbsterklärend:

# resident /pfad/zum/dynamischgelinkten/programm

Programme lassen sich mittels ihrer id oder ihrem Programmnamen wieder entfernen:

# resident -d /pfad/zum/dynamischgelinkten/programm
# resident -x id

Es muss beachtet werden, dass nach einem Systemupdate alle Programme neu gelinkt werden sollten. Dazu sollte man zunächst einmal alle residenten Programme löschen:

# resident -R

Danach kann man, sie wie oben beschrieben wieder hinzufügen.

dntpd

Hierbei handelt es sich um DragonFlys Implementierung von NTP, also Zeitsynchronisierung. dntpd(8) und entstand, weil weder ntpd, noch OpenNTPD den Anforderungen des DragonFly-Projektes genügte. Die Unterschiede bei der Konfiguration im Vergleich zu den anderen Implementation sind nicht sehr groß.

Um dntpd zu verwenden muss der folgende Zeile zur /etc/rc.conf hinzugefügt werden.

# /etc/rc.conf

# Zeitsynchronisation mit dntpd(8)
dntpd_enable="YES"

Die gewünschten Server werden in etc/dntpd.conf eingetragen:

# /etc/dntpd.conf

# Server in Deutschland
server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org

Wie jeden anderen Daemon startet man dntpd mit:

# /etc/rc.d/dntpd start

Symlinks (kurz für symbolic link), kurz gesagt Verknüpfungen welche man mit ln(1) anlegen kann dürften wohl jedem bekannt sein.

DragonFly bietet neben softlinks und hardlinks mit variant symlinks (sie auch varsym(1) eine zusätzliche Version. Diese erlauben es mit Variablen Einfluss auf auf den symbolischen Link zu nehmen.

Nehmen wir an, wir haben zwei Dateien, foo und bar und ein variant symlink soll erstellt werden.

Dazu legt man, wie gewohnt einen Link an, allerdings nutzt man eine Variable als Ziel:

# ln -s '${VARIABLE}' linkfile

Mit varsym kann man die Variable setzen:

# varsym VAR=foo echo "Dieser Text geht nach foo" > linkfile
# varsym VAR=bar echo "Dieser Text geht nach bar" > linkfile