BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Zeit synchronisieren mit ntpd

Um die lokale Zeit mit einem NTP-Server abzugleichen, kann ntpd(8) verwendent werden. Der ntpd kann auf FreeBSD einfach über die /etc/rc.conf gestartet werden.

ntpd_enable="YES"
ntpd_sync_on_start="YES"

ntpd_sync_on_start bewirkt, dass die Zeit schon während des Aufstartens des Rechners das erste Mal abgeglichen wird. Die Konfiguration des ntpd wird in der /etc/ntp.conf festgelegt. Darin muss mindestens der NTP-Server bekanntgegeben werden. Dies kann zum Beispiel so aussehen:

server ntp.ethz.ch

Eine Übersicht über alle weiteren Konfigurationsmöglichkeiten in der /etc/ntp.conf findet man in der dazugehörigen Manpage ntp.conf(5). Alle Optionen des ntpd findet man in ntpd(8). Die Optionen können dem ntpd während des Startens mit folgendem Eintrag in der /etc/rc.conf übergeben werden:

ntpd_flags="<Optionen>"

Auf OpenBSD kann der ntpd durch folgenden Eintrag in der /etc/rc.conf.local gestartet werden:

ntpd_flags=""

Die Konfigurationsdatei für den ntpd befindet sich unter /etc/ntpd.conf. Standardmässig werden zufällig zwei Server aus einem Serverpool ausgesucht. Alle Konfigurationsmöglichkeiten findet man in der ntpd.conf(5). Die Optionen des ntpd können in der ntpd(8) nachgelesen werden und ggf. mit dem ntpd_flags Eintrag in der rc.conf.local übergeben werden.

Related Entries:
Dateien unter Free- und OpenBSD mit Flags schützen
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
 Permalink

Konsolenauflösung auf FreeBSD ändern

Unter FreeBSD lässt sich die Auflösung der Konsole mit vidcontrol(1) anpassen. Seit FreeBSD 6.0 lassen sich nun auch Auflösungen höher als 800x600 einstellen. Dazu müssen folgende Optionen im Kernel vorhanden sein:

options VESA
options VGA_WIDTH90
options SC_PIXEL_MODE

Danach lassen sich die unterstützten Modi anzeigen:

# vidcontrol -i mode

Möchte man nun eine Auflösung von 1280 x 1024 auf der Konsole haben, muss der passende Modus gefunden werden:

# vidcontrol -i mode | grep 1280x1024
263 (0x107) 0x0000000f G 1280x1024x8 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
281 (0x119) 0x0000000f G 1280x1024x15 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
282 (0x11a) 0x0000000f G 1280x1024x16 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
283 (0x11b) 0x0000000f G 1280x1024x24 1 8x16 0xa0000 64k 64k 0xe0000000 65472k
292 (0x124) 0x0000000f G 1280x1024x32 1 8x16 0xa0000 64k 64k 0xe0000000 65472k

Danach kann der gewünschte Modus eingestellt werden:

# vidcontrol MODE_<Modusnummer>

Um zum Beispiel auf einem IBM T40p oder T42 eine Auflösung von 1280 x 1024 x 24 einzustellen, wäre dies:

# vidcontrol MODE_283

Die Auflösung kann auch beim Starten automatisch eingestellt werden, indem man folgende Zeile in der /etc/rc.conf einträgt:

allscreens_flags="MODE_283"

Danke an Alain, der das Ganze unter FreeBSD 6.0 auf einem T40p ausprobiert hat.

Gefunden im BSDForen.de - Wiki, ursprünglich geschrieben von Sandro und veröffentlicht unter folgenden Lizenzbestimmungen.

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 (2)  Permalink

Audio CD's von der Konsole aus bedienen

Audio CD's lassen sich bequem von der Konsole aus mit cdcontrol(1) bedienen. cdcontrol befindet sich schon im FreeBSD Basissystem, muss also nicht über die Ports installiert werden.

Mit der -f Option kann das CD-Laufwerk angegeben werden. Befindet sich das Laufwerk unter /dev/cdrom, /dev/cd0 oder /dev/acd0 so kann die -f Option weggelassen werden:

# cdcontrol [-f /dev/<laufwerk>] <Kommando> 

Um das CD-Laufwerk zu öffnen, kann folgender Befehl gebraucht werden:

# cdcontrol eject

Zeigt die Anzahl Lieder und weitere Informationen der CD an:

# cdcontrol info

Startet das Abspielen der CD. Optional kann auch noch angegeben werden, welches Lied abgespielt werden soll:

# cdcontrol play [<Liednummer>]

Spielt das nächste Lied ab:

# cdcontrol next

Spielt das vorherige Lied ab:

# cdcontrol prev

Pause:

# cdcontrol pause

Nach einer Pause weiterspielen:

# cdcontrol resume

Zeigt das aktuell abgespielte Lied an und welche Lautstärke eingestellt ist:

# cdcontrol status

Beendet das Abspielen:

# cdcontrol stop

Weitere Optionen von cdcontrol findet man in der Manpage cdcontrol(1).

Benutzt man cdcontrol als normaler Benutzer und folgende Fehlermeldung tritt auf, so muss die Berechtigung des CD-Laufwerkes angepasst werden:

# cdcontrol play
cdcontrol: /dev/acd0: Permission denied

Dies kann zum Beispiel durch einen Eintrag in der /etc/devfs.rules gemacht werden. Folgender Eintrag den bestehenden Regeln anfügen, wobei das Laufwerk (hier acd0) und die Benutzergruppe (hier users) individuell angepasst werden muss:

add path 'acd0' mode 0660 group users
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

Neue Make-Targets säubern das System nach einem Update

Auf RELENG_6, aus dem voraussichtlich in den nächsten Tagen auch der Zweig für 6.1 abgespaltet wird, befinden sich seit dem 7. Januar drei neue Make-Targets in src/Makefile die aus CURRENT eingeflossen sind:

# check-old           Gibt eine Liste mit veralteten Dateien und Verzeichnissen des Basissystemes zurück
# delete-old Löscht veraltete Dateien und Verzeichnisse interaktiv
# delete-old-libs Löscht veraltete Bibliotheken interaktiv

Nach /usr/src/Makefile sieht ein Update des Kernels und des Basissystemes auf CURRENT bzw. RELENG_6 und für das kommende 6.1-RELEASE nun wie folgt aus:

# cd /usr/src
# make buildworld
# make buildkernel KERNCONF=<KERNEL KONFIGURATIONSDATEI>
# make installkernel KERNCONF=<KERNEL KONFIGURATIONSDATEI>
# reboot <- Im Startmenü den single user Modus wählen bzw boot -s eingeben
# mergemaster -p
# make installworld
# make delete-old
# mergemaster
# reboot
# make delete-old-libs

Wichtig ist natürlich, vor jedem Update /usr/src/UPDATING gut durchzulesen!

Ein make delete-old-libs sollte jedoch nur gemacht werden, falls kein Port oder selber installierte Software eine der alten Bibliotheken benötigt, da sonst diese Programme nicht mehr ordnungsgemäss funktionieren.

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 (4)  Permalink

Einen schnellen CVSup-Server finden mit fastest_cvsup

Um das Aktualisieren, von z.B. des Portbaums, mit CVSup oder csup zu beschleunigen, kann man mit fastest_cvsup(7) zuerst den schnellsten CVSup-Server herausfinden. fastest_cvsup findet man im FreeBSD Portbaum unter sysutils/fastest_cvsup.

Um zum Beispiel den schnellsten der schweizer- und deutschen CVSup-Server zu finden, benutzt man fastest_cvsup wie folgt:

# fastest_cvsup -c ch,de
>> Querying servers in countries: de ch
--> Connecting to cvsup.de.freebsd.org [212.19.57.134]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 25.36 ms
--> Connecting to cvsup.ch.freebsd.org [217.8.192.70]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 24.36 ms
--> Connecting to cvsup2.de.freebsd.org [213.238.33.226]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 26.15 ms
--> Connecting to cvsup3.de.freebsd.org [131.159.72.30]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 36.55 ms
--> Connecting to cvsup4.de.freebsd.org [212.19.57.134]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 25.15 ms
--> Connecting to cvsup5.de.freebsd.org [195.30.6.180]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 32.89 ms
--> Connecting to cvsup6.de.freebsd.org [62.206.253.13]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 41.53 ms
--> Connecting to cvsup7.de.freebsd.org [194.162.162.209]...
- server replied: OK 17 0 SNAP_16_1g CVSup server ready
- time taken: 27.28 ms
--> Connecting to cvsup8.de.freebsd.org [212.118.165.142]...
- server replied: OK 17 0 SNAP_16_1h CVSup server ready
- time taken: 30.45 ms

>> Speed Daemons:
- 1st: cvsup.ch.freebsd.org 24.36 ms
- 2st: cvsup4.de.freebsd.org 25.15 ms
- 3st: cvsup.de.freebsd.org 25.36 ms

Damit beim Ausführen von CVSup jedesmal der schnellste CVSup-Server gesucht wird, kann man zum Beispiel folgendes Hilfsskript verwenden:

#!/bin/sh
if SERVER=`fastest_cvsup -Q -c ch,de`; then
cvsup -g -L 2 -h $SERVER <Pfad zum supfile>
fi

Für csup verwendet man dies hier:

#!/bin/sh
if SERVER=`fastest_cvsup -Q -c ch,de`; then
csup -L 2 -h $SERVER <Pfad zum supfile>
fi

Mehr Informationen zu fastes_cvsup findet man auf http://fastest-cvsup.sourceforge.net/. Alle Optionen von fastest_cvsup kriegt man mit fastest_cvsup -h.

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

iPod mit FreeBSD benutzen

Um meinen 20GB iPod der 3ten Generation mittels USB unter FreeBSD zu benutzen, müssen zuerst die Device-Berechtigungen angepasst werden. Dazu muss folgender Eintrag in die /etc/devfs.rules gemacht werden, wobei beim group Eintrag, die Gruppe der Benutzer eingetragen werden muss. Bei mir ist dies users:

[ipod=5]
add path 'da*s*' mode 0660 group users
add path 'xpt0' mode 0660 group users
add path 'pass0' mode 0660 group users

Damit die Device-Berechtigungen während des Betriebes angepasst werden, muss devfs in der /etc/rc.conf aktiviert werden:

devfs_enable="YES"
devfs_rulesets="/etc/devfs.rules"
devfs_system_ruleset="ipod"

Damit Benutzer den iPod mounten können, muss die usermount Variable in der /etc/sysctl.conf gesetzt werden:

vfs.usermount=1

Danach das Verzeichnis erstellen, wo der iPod später ins System gemountet werden soll, und die Berechtigungen setzen, wobei beat:users durch den Benutzernamen und die Gruppe des lokalen Benutzers zu ersetzen ist:

# mkdir /mnt/ipod
# chown beat:users /mnt/ipod

Um das Mounten zu vereinfachen, kann noch ein Eintrag für den iPod in der /etc/fstab gemacht werden:

/dev/da0s2              /mnt/ipod       msdos   rw,noauto       0       0

Jetzt kann der Rechner neu gestartet oder die Änderungen von Hand aktiviert werden:

# sysctl vfs.usermount=1
# /etc/rc.d/devfs start

Nun kann der iPod einfach als Benutzer gemountet werden:

# mount /mnt/ipod

Um den iPod zu verwalten, benutze ich gnupod. gnupod befindet sich unter audio/gnupod in den FreeBSD Ports. gnupod ist eine Sammlung von Perl-Skripten, um den iPod auf der Kommandozeile zu bedienen.

Danach muss der iPod initialisiert werden. Die vorhandenen Lieder und die Datenbank werden dabei übernommen und gehen nicht verloren. Dies muss nur vor dem ersten Gebrauch von gnupod gemacht werden:

# gnupod_INIT.pl -m /mnt/ipod

Um Lieder auf den iPod zu laden, kann man das gnupod_addsong.pl Skript verwenden. Dabei können auch Wildcards verwendet werden, um mehrere Lieder auf einmal auf den iPod zu laden.

# gnupod_addsong.pl -m /mnt/ipod/ <Pfad zu den Liedern>

Sind alle Lieder auf den iPod geladen, muss noch die Datenbank des iPods aktualisiert werden.

# mktunes.pl -m /mnt/ipod/

Danach kann der iPod geunmouted (gibts dieses Wort?) werden:

# umount /mnt/ipod/

Auf dem iPod Display steht aber weiterhin: Bitte nicht trennen

Um den iPod aus dem System zu entfernen, muss zuerst mit camcontrol devlist herausgefunden werden, wo der iPod im System eingebunden ist.

# camcontrol devlist
<Apple iPod 1.50> at scbus0 target 0 lun 0 (da0,pass0)

Damit camcontrol eject funktioniert, muss im Kernel das pass device vorhanden sein. Dies ist im GENERIC-Kernel schon der Fall. Hat man einen selbst erstellten Kernel, sollte folgender Eintrag in der Kernel-Konfigurationsdatei vorhanden sein, aus der man den Kernel erzeugt hat:

device          pass            # Passthrough device (direct SCSI access)

Danach kann der iPod aus dem System entfernt werden. Die Device ID muss nicht auf jedem System 0:0:0 sein. Um die Device ID herauszufinden, musste vorher ein camcontrol devlist gemacht werden. In diesem Beispiel wird scbus0 target 0 lun 0 zu 0:0:0

# camcontrol eject 0:0:0

Auf dem iPod steht nun "iPod kann getrennt werden" und das USB-Kabel kann nun abgezogen 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 (2)  Permalink

Portbaum einfach durchsuchen mit portsearch

Möchte man den Portbaum durchsuchen, so kann man einfach portsearch zur Hilfe nehmen.

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

Nach was man den Portbaum mit portsearch alles durchsuchen kann, zeigt ein Aufruf von Portsearch ohne Parameter:

# portsearch 
Usage:

update/create database:
portsearch -u [-H portshome] [-vvv]

search for ports (based on extended regular expressions, case sensitive):
-n name by name (name= can be used)
-k key by name, comment or dependencies (key= can be used)
-p path by path on the filesystem
-i info by info (comment)
-m maint by maintainer
-c cat by category
-F fdep by fetch dependencies
-E edep by extract dependencies
-P pdep by patch dependencies
-B bdep by build dependencies
-R rdep by run dependencies
-D dep by build or run dependencies
-w www by www site
-f file that install file
-I ignore case
-o fields output fields, default: name,path,info,maint,bdep,rdep,www

-V print version information

Bevor man portsearch das erste Mal benutzt, muss eine Datenbank für portsearch erstellt werden. Dies kann eine Weile dauern:

# portsearch -u

Ist die Datenbank erstellt, so kann man portsearch benutzen. Möchte man nun z.B. herausfinden in welchem Port sich portversion(1) befindet, so kann portsearch mit der -f Option genutzt werden:

# portsearch -f portversion
Port: portupgrade-2.0.1_1,1
Path: /usr/ports/sysutils/portupgrade
Info: FreeBSD ports/packages administration and management tool suite
Maint: koma2@lovepeers.org
B-deps: ruby-1.8.4_4,1
R-deps: perl-5.8.7_2 ruby-1.8.4_4,1 ruby18-bdb1-0.2.2
WWW:
Files: man/man1/portversion.1.gz, sbin/portversion

1 ports, 2 files

So kann der Portbaum effektiv durchsucht und genutzt werden.

UPDATE 05.02.2007:

portsearch wurde von sysutils in die neue Kategorie ports-mgmt verschoben. portsearch kann nun wie folgt installiert werden:

# cd /usr/ports/ports-mgmt/portsearch && make install clean
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

Installierte Ports auf Sicherheitsprobleme prüfen

Möchte man überprüfen, ob die installierten Ports Sicherheitsprobleme aufweisen, so empfielt es sich security/portaudit zu installieren:

# cd /usr/ports/security/portaudit && make install clean

Danach kann portaudit in der Konsole ausgeführt werden:

# portaudit -Fda
auditfile.tbz 100% of 32 kB 43 kBps
New database installed.
Database created: Fr 3 Feb 2006 16:10:03 CET
0 problem(s) in your installed packages found.

Die Option -F lädt die aktuellste Datenbank herunter, in der alle aktuellen Sicherheitsprobleme der Ports verzeichnet sind, -d zeigt die Zeit an, wann die Datenbank erstellt wurde und -a prüft alle installierten Ports auf Sicherheitsprobleme.

Im folgenden Beispiel sollte ein Update gewisser Ports in Betracht gezogen werden:

# portaudit -Fda
auditfile.tbz 100% of 32 kB 36 kBps
New database installed.
Database created: Sat Feb 4 00:10:03 CET 2006
Affected package: clamav-0.86.2_1
Type of problem: clamav -- possible heap overflow in the UPX code.
Reference: http://www.FreeBSD.org/ports/portaudit/612a34ec-81dc-11da-a043-0002a5c3d308.html

Affected package: p5-Mail-SpamAssassin-3.0.4
Type of problem: p5-Mail-SpamAssassin -- long message header denial of service.
Reference: http://www.FreeBSD.org/ports/portaudit/7f3fdef7-51d2-11da-8e93-0010dc4afb40.html

Affected package: squid-2.5.10_5
Type of problem: squid -- FTP server response handling denial of service.
Reference: http://www.FreeBSD.org/ports/portaudit/1c3142a3-4ab2-11da-932d-00055d790c25.html

Affected package: ruby-1.8.2_4
Type of problem: ruby -- vulnerability in the safe level settings.
Reference: http://www.FreeBSD.org/ports/portaudit/1daea60a-4719-11da-b5c6-0004614cc33d.html

Affected package: clamav-0.86.2_1
Type of problem: clamav -- arbitrary code execution and DoS vulnerabilities.
Reference: http://www.FreeBSD.org/ports/portaudit/271498a9-2cd4-11da-a263-0001020eed82.html

Affected package: unzip-5.51
Type of problem: unzip -- permission race vulnerability.
Reference: http://www.FreeBSD.org/ports/portaudit/9750cf22-216d-11da-bc01-000e0c2e438a.html

Affected package: pcre-5.0
Type of problem: pcre -- regular expression buffer overflow.
Reference: http://www.FreeBSD.org/ports/portaudit/b971d2a6-1670-11da-978e-0001020eed82.html

Affected package: squid-2.5.10_5
Type of problem: squid -- possible denial of service condition regarding NTLM authentication.
Reference: http://www.FreeBSD.org/ports/portaudit/44e7764c-2614-11da-9e1e-c296ac722cb3.html

8 problem(s) in your installed packages found.

You are advised to update or deinstall the affected package(s) immediately.

Ausserdem installiert portaudit folgende Datei /usr/local/etc/periodic/security/410.portaudit, welche täglich während den daily security Skripten ausgeführt wird und die installierten Ports automatisch auf Sicherheitslöcher prüft.

Desweiteren wird nun bevor man einen Port installiert automatisch überprüft, ob der installierte Port Sicherheitslöcher aufweist.

Eine Weboberfläche der Datenbank findet man hier: http://www.vuxml.org/freebsd/index.html

UPDATE 05.02.2007:

portaudit wurde von security in die neue Kategorie ports-mgmt verschoben. portaudit kann nun wie folgt installiert werden:

# cd /usr/ports/ports-mgmt/portaudit && make install clean
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 (4)  Permalink

Lokale Mails über einen Mail-Relay versenden

Möchte man zum Beispiel aus einem Heimnetzwerk von der Konsole aus ein Mail verschicken und den Mail-Relay seines Providers verwenden, damit so etwas nicht passiert:

stat=Deferred: 450 <daedalus.network.local>: Helo command rejected: Host not found

Dann kann man sich entwerder mit sendmail rumärgern oder ssmtp verwenden:

# cd /usr/ports/mail/ssmtp
# make install replace clean

Falls sendmail noch läuft, sendmail beenden:

# /etc/rc.d/sendmail stop

Danach sendmail in der rc.conf deaktivieren:

sendmail_enable="NONE"

Jetzt noch die /usr/local/etc/ssmtp/ssmtp.conf anpassen:

root=<Meine mailadresse>
mailhub=<SMTP meines Providers>
rewriteDomain=<Meine Domain>
hostname=_HOSTNAME_

Und schon funktioniert das Senden von Konsolenmails.

Gefunden bei: http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/outgoing-only.html

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

Umlaute nach X.Org Update von 6.8.2 auf 6.9.0

Nach den Update von X.Org auf 6.9.0 wurden beim Schreiben mit einer deutschschweizer Tastatur statt Umlaute irgendwelche Sonderzeichen angezeigt. Um dies zu beheben, einfach in der /etc/X11/xorg.conf in der InputDevice Section folgenden Eintrag

Option "XkbLayout"  "de_CH"

in folgenden ändern:

Option "XkbLayout"  "ch"

Danach den X-Server mit Crtl + Alt + Backspace neu starten.

Related Entries:
Mit Xinerama zwei Bildschirme an einem Rechner verwenden
X.Org: could not open default font "fixed"
Auflösung unter X.Org während des Betriebes ändern
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
Comments (4)  Permalink
Prev Next91-100/125