BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

/tmp und /var in einer RAM-Disk erstellen

Möchte man /tmp in einer RAM-Disk erstellen, so muss folgender Eintrag in der /etc/rc.conf eingetragen werden:

tmpmfs="YES"

Nach dem nächsten Neustart wird standardmässig eine 20 MB grosse RAM-Disk erstellt und nach /tmp gemountet. Ein Eintrag in der /etc/fstab für /tmp wird nicht benötigt. Möchte man eine grössere RAM-Disk, zum Beispiel 128 MB, so kann dies mit folgendem zusätzlichen Eintrag gemacht werden:

tmpsize="128m"

Auch die /var Partition kann durch folgenden Eintrag in der /etc/rc.conf in eine RAM-Disk ausgelagert werden:

varmfs="YES"

Standardmässig wird die RAM-Disk für /var mit einer Grösse von 32 MB angelegt. Auch diese Grösse kann durch einen Eintrag in der /etc/rc.conf geändert werden:

varsize="<Grösse>"

Auch hier wird danach kein /etc/fstab Eintrag für /var benötigt.

Bei einem Neustart sind natürlich die Daten auf den Partitionen verloren, besitzt man allerdings eine CF-Karte als Disk, die nur eine begrenzte Anzahl Schreibvorgänge erlaubt, so können mit dieser Methode trotzdem Log- und temporäre Daten bis zum nächsten Neustart geschrieben 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

vi Kommandos in der /bin/sh benutzen

Arbeitet man in der Bourne-Shell (/bin/sh) und vermisst eine History oder das Navigieren mit dem Cursor, so können die Kommandos vom vi wie folgt aktiviert werden:

# set -o vi

Nun hat man eine History der bereits verwendeten Kommandos zur Verfügung und kann die getätigten Eingaben bearbeiten.

 Permalink

Eingegebene Zeile in der tcsh löschen

In der tcsh kann eine eingegebene Zeile mit Ctrl + u ganz gelöscht werden. Soll nur der Teil einer Zeile von der aktuellen Cursorposition bis zum Zeilenende gelöscht werden, so kann dies mit Ctrl + k gemacht werden.
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
 Permalink

Systemmeldungen anzeigen

Auf FreeBSD können die Kernelmeldungen, die während des Aufstartens und des Betriebs erzeugt werden, mit dmesg(8) angesehen werden:

# dmesg
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.2-RC1 #0: Sun Nov 19 19:23:21 CET 2006
beat@daedalus.network.local:/usr/obj/usr/src/sys/BEASTIE
...

Sollen zusätzlich zu den Kernelmeldungen noch die Ausgaben von syslog und /dev/console angezeigt werden, so dass alle Systemmeldungen des Aufstartens sichtbar sind, so kann die -a Option von dmesg verwendet werden:

# dmesg -a

Soll die Ausgabe von /dev/console in eine Datei geschrieben werden, so kann die Raute vor folgenden Eintrag in der /etc/syslog.conf entfernt werden:

console.info                                    /var/log/console.log

Danach muss die Datei /var/log/console.log als root angelegt und die Rechte angepasst werden:

# touch /var/log/console.log && chmod 600 /var/log/console.log

Sollen alle syslog Meldungen in einer Datei gesammelt werden, so kann die Raute vor folgender Zeile in der /etc/syslog.conf entfernt werden:

*.*                                             /var/log/all.log

Danach muss die Datei /var/log/all.log erstellt, die Rechte angepasst und syslog neu gestartet werden:

#  touch /var/log/all.log && chmod 600 /var/log/all.log && /etc/rc.d/syslogd restart


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

Dateityp bestimmen

Hat man eine Datei von welcher man allerdings nicht weiss, von welchem Dateityp sie ist, so hilft einem file(1) weiter.

# file testbild 
testbild: PNG image data, 1398 x 1019, 8-bit/color RGB, non-interlaced

Es lässt sich auch der Typ von mehreren Dateien gleichzeitig bestimmen:

# file powerd.patch FreeSBIE.iso me.asc pf.pdf
powerd.patch: 'diff' output text
FreeSBIE.iso: ISO 9660 CD-ROM filesystem data 'FreeSBIE' (bootable)
plan9.iso.gz: gzip compressed data, was "plan9.iso", from Unix
me.asc: PGP armored data public key block
pf.pdf: PDF document, version 1.4

Mit file können auch Wildcards benutzt werden:

# file /home/beat*
/home/beat/FreeBSD.pdf: PDF document, version 1.4
/home/beat/FreeBSD.pps: Microsoft Office Document
/home/beat/MVI_2885.AVI: RIFF (little-endian) data, AVI, 640 x 480, 30.00 fps, video: Motion JPEG, audio: uncompressed PCM (mono, 11024 Hz)
/home/beat/tinderbox: ASCII text
/home/beat/shtest: Bourne shell script text executable
/home/beat/bsdtalk052.mp3: MP3 file with ID3 version 2.3.0 tag

Mehr Informationen zu file findet man in der Mapage file(1).

 Permalink

Manpages nachträglich installieren

Möchte man auf einem FreeBSD-System die Manpages nachträglich installieren, so kann man dies in sysinstall(8) mit Configure -> Distributions -> man machen.

Hat man die FreeBSD-Sourcen unter /usr/src installiert, so lassen sich die Manpages auch ganz einfach wie folgt installieren:

# cd /usr/src && make all-man && make maninstall
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

Kernelkonfiguration wiederherstellen

Damit die Kernelkonfiguration aus dem Kernel zu einem späteren Zeitpunkt wiederhergestellt werden kann, muss dieser schon mit folgender Option gebaut werden:

options         INCLUDE_CONFIG_FILE

Hat man die Kernelkonfiguration irgendwann einmal verloren, überschrieben oder zerstört, so lässt sich mit folgendem Befehl die ursprüngliche Konfiguration wiederherstellen:

# strings -n 3 /boot/kernel/kernel | sed -n 's/^___//p' > MYKERNEL

Update 05.01.2008:

Ab FreeBSD 7.0 muss zum Wiederherstellen der Kernelkonfiguration folgender Befehl verwendet werden:

# config -x /boot/kernel/kernel > MYKERNEL
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

BSD Statistiken

Auf der Webseite http://bsdstats.org findet man Statistiken darüber, welche BSDs in welcher Version eingesetzt werden, in welchen Ländern und welche Hardware verwendet wird. Möchte man seine eigenen Rechner zur Statistik hinzufügen, so kann man auf FreeBSD den sysutils/bsdstats Port installieren.

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

Während der Installation wird man gefragt, ob man das Skript automatisch in die /etc/periodic.conf eintragen möchte und ob die verwendete Hardware auch raportiert werden soll. Wird der Eintrag in die /etc/periodic.conf gemacht, so wird das Skript automatisch am ersten jedes Monats ausgeführt.

Auf OpenBSD lädt man das Skript von http://bsdstats.org/downloads/300.statistics herunter und trägt danach folgende Zeile in die /etc/monthly.local ein:

sh /usr/local/sbin/300.statistics

Danach müssen noch folgende Variablen in der /etc/rc.conf.local gesetzt werden:

monthly_statistics_enable="YES" 
monthly_statistics_report_devices="YES"

Nun werden die Daten jeweils anfangs des Monats übermittelt.

 Permalink

Passwortliste generieren

Möchte man eine Liste mit zufälligen Passwörtern generieren, so hilft folgendes Skript weiter:

#!/bin/sh
dd if=/dev/random bs=2000 count=5 | tr -cd "[:alnum:]" | fold -w 10 | pr -7 -t | pr -t -n3

Auf OpenBSD muss /dev/urandom anstatt von /dev/random verwendet werden.

Wem die generierten Passwörter zu viele Umlaute und Ähnliches (z.B. ëÃÃò8IÎ39) besitzen, der kann "[:alnum:]" durch eine konkrete Liste mit den möglichen Zeichen ersetzen: z.B. tr -cd abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW0123456789!?,.:

Dieser Artikel wurde von GS eingesandt. Danke!

Comments (1)  Permalink

SSH nur mit Public Key Authentifizierung erlauben

Aus Sicherheitsgründen kann man das Einloggen per SSH nur noch mit Public-Key Authentifizierung erlauben. Dazu muss zuerst ein Schlüsselpaar erzeugt werden:

# ssh-keygen -t rsa

Es empfiehlt sich eine Passphrase für den Schlüssel zu setzen. Danach kann der Public-Key auf den Rechner geladen werden:

# cd ~/.ssh && cat id_rsa.pub | ssh <Benutzer>@<Rechner> "cat >> .ssh/authorized_keys"

Nun muss die sshd.conf angepasst werden. Diese befindet sich sowohl auf FreeBSD, als auch auf OpenBSD unter /etc/ssh/sshd_config.

# echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
# echo "PasswordAuthentication no" >> /etc/ssh/sshd_config

Nun muss der SSH-Daemon neu gestartet werden. Auf FreeBSD wird dies wie folgt gemacht:

# /etc/rc.d/sshd restart

Auf OpenBSD kann dies so gemacht werden:

# kill -HUP `ps -ax | grep sbin/sshd | grep -v grep | awk '{print $1}'`

Nun kann man sich nur noch mit der Public-Key Authentifizierung anmelden. Sollte man allerdings seinen Private-Key verlieren, so hat man sich per SSH aus dem Rechner ausgesperrt. Es lohnt sich also eine Sicherheitskopie von seinem Private-Key (~/.ssh/id_rsa) an einem sicheren Ort aufzubewahren.

Comments (3)  Permalink
Prev Next401-410/521