BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Terminal sperren

Arbeitet man an einem Terminal und möchte seine Arbeit kurz unterbrechen, sich aber nicht ausloggen, so kann man mit lock(1) das Terminal sperren. lock ist sowohl in FreeBSD als auch in OpenBSD im Basissystem vorhanden. Gibt man einfach lock im Teminal ein, so wird man zweimal nach einem Schlüssel gefragt, mit dem man das Terminal für 15 Minuten sperren kann.

# lock
Key:
Again:
lock: /dev/ttyp1 on daedalus.network.local. timeout in 15 minutes.
time now is Thu Apr 27 22:57:15 CEST 2006

Verwendet man lock -p so wird nicht nach einem Schlüssel gefragt, sondern das Terminal kann mit dem Benutzerpasswort wieder entsperrt werden. Mit der -n Option wird das Terminal nach 15 Minuten nicht automatisch wieder entsperrt.

Wird auf FreeBSD zusätzlich die -v Option verwendet, so kann auch das virtuelle Terminal (mit Ctrl + Alt + Fx) nicht gewechselt werden, bis das Terminal entsperrt wird.

Verwendet man eine graphische Benutzeroberfläche und hat den xscreensaver installiert, so kann man auch die graphische Oberfläche mit folgendem Befehl sperren:

# xscreensaver-command -lock

Möchte man xscreensaver nicht installieren, so kann man die graphische Oberfläche auch mit xlock(1) sperren. Auf OpenBSD ist xlock bereits im Dateiset der graphischen Oberfläche enthalten, auf FreeBSD kann man xlock über den x11/xlockmore Port installieren.

 Permalink

Befehle und Manpages finden mit apropos

Sucht man eine Manpage oder einen Befehl, weiss aber nicht genau wie er heisst, so kann einem apropos(1) weiterhelfen. apropos durchsucht die whatis Datenbank, welche wiederum aus den Namen und den Kurzbeschreibungen der Manpages besteht, und sucht darin nach dem Begriff. apropos kann ganz einfach verwendet werden:

# apropos <Begriff>

Möchte man zum Beispiel nach FreeBSD-Jails suchen, so verwendet man apropos wiefolgt:

# apropos jail
jail(2), jail_attach(2) - imprison current process and future descendants
jail(8) - imprison process and its descendants
jexec(8) - execute a command inside an existing jail
jls(8) - list active jails
prison_check(9) - determine if two credentials belong to the same jail

Dadurch dass man für den Begriff auch Regular Expressions verwenden kann, kann man zum Beispiel wie folgt nach Manpages suchen, die mit "port" beginnen:

# apropos ^port
ports(7) - contributed applications
portsnap(8) - fetch and extract compressed snapshots of the ports tree
portsnap.conf(5) - configuration file for portsnap(8)
port(1) - FreeBSD Port Tools front-end script
portaudit(1) - system to check installed packages for known vulnerabilities
portcvsweb(1) - a tool to instantly browse a history via CVSweb or FreshPorts.org
portdowngrade(1) - retrieve earlier port versions via CVS
portlint(1) - a verifier for port directories
portsclean(1) - a tool to clean ports/packages garbage
portsdb(1), ports_glob(1) - tools to manage and look up the ports database file
porttools(5), ~/.porttools(5) - FreeBSD Port Tools configuration file
portupgrade(1), portinstall(1) - tools to upgrade installed packages or install new ones via ports or packages
portversion(1) - a tool to compare the versions of installed packages with the ones in the ports tree

Mehr Informationen zu apropos in der Manpage apropos(1) und zu Regular Expressions in der Manpage von grep(1).

 Permalink

Kalender für die Kommandozeile

Passend zu Ostern dieser Befehl der Woche:

cal, ncal -- displays a calendar and the date of easter

cal(1) und ncal(1) befinden sich bereits im FreeBSD Basissystem. Auf OpenBSD ist nur cal(1) verfügbar. Wird cal ohne Optionen aufgerufen, so wird der aktuelle Kalendermonat angezeigt. ncal verwendet eine alternative Darstellung.

# cal
April 2006
So Mo Di Mi Do Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

# ncal
April 2006
Mo 3 10 17 24
Di 4 11 18 25
Mi 5 12 19 26
Do 6 13 20 27
Fr 7 14 21 28
Sa 1 8 15 22 29
So 2 9 16 23 30

Für ncal lassen sich zusätzlich mit der -w Option die Wochennummer anzeigen.

Mit der -m Option lässt sich ein bestimmter Monat anschauen. Möchte man sich zum Beispiel den Oktober anschauen, so verwendet man cal wie folgt:

# cal -m 10

Mit der -y Option lässt sich ein bestimmtes Jahr anschauen. Die -e Option von ncal(1) zeigt das Datum von Ostern des aktuellen Jahres an:

# ncal -e
16 April 2006

Kombiniert man die -y und die -e Option, so zeigt ncal das Datum von Ostern des gewählten Jahres an.

Alle weiteren Optionen von cal und ncal findet man in der Manpage cal(1).

Comments (1)  Permalink

DEL-Taste in der tcsh benutzen

Möcht man in der tcsh die DEL-Taste benutzen können, um Zeichen zu löschen, so kann man folgenden Abschnitt der /etc/csh.cshrc anfügen.

# DEL:
bindkey ^[[3~ delete-char

Gefunden bei bsdforen.de

Related Entries:
Wort in der tcsh löschen
Programm mit which finden
Liste der besuchten Verzeichnisse merken
foreach-Schleife in der tcsh
tcsh bei Inaktivität beenden
Comments (1)  Permalink

Quellcode mit csup anstatt CVSup aktualisieren

Seit kurzem gibt es eine unter der BSD-Lizenz stehende Alternative zu CVSup mit der man zum Beispiel den Portbaum oder den System-Quellcode aktualisiernen kann: csup

Da csup in C geschrieben ist und deshalb keine zusätzlichen Abhängigkeiten in den Ports hat, gleich CVSup und das zum Bauen von CVSup benötigte ezm3 deinstallieren und csup installieren:

# pkg_deinstall -d -v cvsup-without-gui-16.1h_2
# pkg_deinstall -d -v ezm3-1.2
# cd /usr/ports/net/csup/ && make install clean

Die Sup-Dateien von CVSup können auch mit csup verwendet werden. Das Aktualisieren ist ähnlich wie bei CVSup:

# csup -L 2 <Pfad zur Sup-Datei>

Mehr Informationen und alle Optionen von csup findet man in der Manpage csup(1).

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

Hostnamen einer Jail ändern

Muss der Hostname einer Jail geändert werden, so schlägt dies normalerweise mit folgender Fehlermeldung fehl:

jail# hostname <hostname>.<domain>.<tld>
hostname: sethostname: Operation not permitted

Dies liegt daran, dass im Hostsystem die security.jail.set_hostname_allowed Systemvariable standardmässig auf 0 ist:

host# sysctl -a | grep set_hostname
security.jail.set_hostname_allowed: 0

Möchte man nun den Hostnamen einer Jail ändern, muss zuerst im Hostsystem die Systemvariable geändert werden:

host# sysctl security.jail.set_hostname_allowed=1
security.jail.set_hostname_allowed: 0 -> 1

Danach den Hostnamen in der Jail mit hostname(1) ändern:

jail# hostname <hostname>.<domain>.<tld>

Danach die Systemvariable im Hostsystem wieder zurücksetzen:

host# sysctl security.jail.set_hostname_allowed=0
security.jail.set_hostname_allowed: 1 -> 0
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

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
Prev Next261-270/305