BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

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

Treppeneffekt beim Einfügen von Text im vi verhindern

Fügt man Text mittels Copy/Past in den vi ein, kann es zu einem sogenannten Treppeneffekt kommen, dass heisst der Text wird in jeder Zeile weiter eingerückt. Um dies zu verhindern, muss vor dem Einfügen das automatische Einrücken deaktiviert werden.

Das automtische Einrücken rückt die nächste Zeile so wie die vorhergehende automatisch ein. Dies ist normalerweise auch sehr nützlich, nur beim Einfügen von Text ist es störend.

Zuerst muss man sich im Kommandomodus befinden (dies erreicht man, indem man die Esc-Taste drückt) und danach mit dem Doppelpunkt in den ex Modus wechselt. Anschliessend lässt sich mit set noai das automatische Einrücken deaktivieren. Danach kann man den Text eingefügen. Das automatische Einrücken wird nach dem Einfügen mit set ai im ex Modus wieder aktiviert.

Related Entries:
Rechtschreibprüfung im vi
vi Fenster teilen
Abkürzungen im vi benutzen
vi Makros benutzen
vi Kurzreferenz
Comments (3)  Permalink

ISO-Image erstellen

Möchte man Daten auf eine CD brennen, so muss zuerst ein ISO-Image erstellt werden. Ein ISO-Image kann mit mkisofs(8) erstellt werden. mkisofs befindet sich im sysutils/cdrtools Port. Zuerst müssen alle Daten, die später im Image vorhanden sein sollen, in ein Verzeichnis kopiert werden. Danach kann aus diesem Verzeichnis ein Image erstellt werden:

# mkisofs -o <Name des Images> <Pfad zu Verzeichnis mit Daten>

Wird die CD später mit einem unixoiden Betriebssystem verwendet, so empfiehlt es sich noch die -r Option zu verwenden, damit die Rock Ridge Erweiterung aktiviert wird, und die Dateirechte und der Besitzer auf vernünftige Werte gesetzt werden.

Soll die CD mit Windows verwendet werden, so sollte die Joliet Erweiterung mit der -J Option aktiviert werden. Werden Dateinamen die länger als 64 Zeichern sind verwendet, so kann die -joliet-long Option zusätzlich verwendet werden.

Im folgenden Beispiel wird der Inhalt von /var/backups in ein Image namens backup.iso gepackt und die Rock Ridge Erweiterung wird aktiviert:

# mkisofs -r -o backup.iso /var/backups

Möchte man danach den Inhalt des Images nochmals ansehen, so kann das Image wie folgt gemountet werden:

# mdconfig -a -t vnode -f <Pfad zu Image> -u 0
# mount -t cd9660 /dev/md0 /mnt/

Nun ist der Inhalt unter /mnt sichtbar. Das Image kann nun wie folgt wieder geunmountet werden:

# umount /mnt/
# mdconfig -d -u 0

Jetzt kann das ISO-Image mit burncd(8) gebrannt 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
 Permalink

NSSWITCH(nss_method_lookup): nis, group_compat, endgrent, not found

Befinden sich in /var/log/debug.log und /var/log/cron folgende Fehlermeldungen:

Oct 15 13:01:00 fenchurch cron[62903]: NSSWITCH(nss_method_lookup): nis, group_compat, setgrent, not found
Oct 15 13:01:00 fenchurch cron[62903]: NSSWITCH(nss_method_lookup): nis, group_compat, endgrent, not found
Oct 15 13:01:00 fenchurch cron[62903]: NSSWITCH(nss_method_lookup): nis, passwd_compat, endpwent, not found
Oct 15 13:02:00 fenchurch cron[64716]: NSSWITCH(nss_method_lookup): nis, group_compat, setgrent, not found
Oct 15 13:02:00 fenchurch cron[64716]: NSSWITCH(nss_method_lookup): nis, group_compat, endgrent, not found
Oct 15 13:02:00 fenchurch cron[64716]: NSSWITCH(nss_method_lookup): nis, passwd_compat, endpwent, not found

So kann der Inhalt der /etc/nsswitch.conf in Folgenden geändert werden, damit diese Meldungen verschwinden:

group: files
hosts: files dns
networks: files
passwd: files
shells: files
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

Festplatte auf Fehler überprüfen

Möchte man eine Festplatte überprüfen, zum Beispiel weil sie komische Geräusche von sich gibt oder man Einträge in den Logdateien findet, die auf ein Problem mit der Festplatte hin deuten, so helfen einem die smartmontools weiter.

Auf FreeBSD und OpenBSD findet man die smartmontools in den Ports unter sysutils/smartmontools.

Um die Festplatte zu prüfen, braucht man die device-Bezeichnung der Festplatte. Diese findet man zum Beispiel mit mount heraus. Auf FreeBSD beginnen IDE/ATA-Platten mit ad, SCSI-Platten mit da. Auf OpenBSD beginnen IDE/ATA-Platten mit wd, SCSI-Platten mit sd.

Um Informationen über die Festplatte anzuzeigen, kann die -a Option verwendet werden. Folgendes Beispiel zeigt auf OpenBSD die Informationen von wd0. Wichtig auf OpenBSD ist das c nach der Bezeichnung, welches auf die ganze Festplatte zeigt:

# smartctl -a /dev/wd0c

Um einen short-Test auf ad0 unter FreeBSD ausführen zu lassen, kann man die -t short Option verwenden. Dieser Test kann im laufenden Betrieb durchgeführt werde.

# smartctl -t short /dev/ad0
smartctl version 5.36 [i386-portbld-freebsd6.1] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Sat Oct 14 14:38:43 2006

Use smartctl -X to abort test.

Dieser Test geht nur einige Minuten und danach kann das Ergebnis wie folgt betrachtet werden:

# smartctl -l selftest /dev/ad0
smartctl version 5.36 [i386-portbld-freebsd6.1] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4090 -

Dieser Test verlief ohne Fehler, danach kann ein ausführlicherer Test gestartet werden. Dieser dauer allerdings einiges länger, lässt sich aber auch im laufenden Betrieb durchführen:

# smartctl -t long /dev/ad0
smartctl version 5.36 [i386-portbld-freebsd6.1] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 55 minutes for test to complete.
Test will complete after Sat Oct 14 15:44:09 2006

Use smartctl -X to abort test.

Ist der Test beendet, kann das Ergebnis gleich wie beim short-Test betrachtet werden.

# smartctl -l selftest /dev/ad0
smartctl version 5.36 [i386-portbld-freebsd6.1] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 4091 -
# 2 Short offline Completed without error 00% 4090 -

Natürlich gibt es keine Garantie, wenn mit smartctl(8) keine Fehler gefunden werden, dass mit der Festplatte alles in Ordnung ist. Findet man allerdings Fehler sollte man sich langsam gedanken über eine neue Platte machen.

 Permalink
Prev Next11-20/91