BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

Arbeitsspeicher auf Fehler überprüfen

Möchte man seinen Arbeitsspeicher auf Fehler überprüfen, so kann man dies mit memtest(8) tun. memtest findet man in den FreeBSD-Ports unter /usr/ports/sysutils/memtest:

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

An memtest können zwei Argumente übergeben werden. Wieviel Arbeitsspeicher in MB alloziert und getestet werden soll und wieviele Testdurchgänge durchgeführt werden sollen:

# memtest <Zu prüfender Speicher in MB> <Anzahl Durchgänge>

Wird die Anzahl Durchgänge nicht angegeben, so wird der Test solange durchgeführt, bis der Benutzer diesen abbricht.

In folgendem Beispiel werden 100MB Arbeitsspeicher in einem Durchgang geprüft. Während dieses Durchgangs traten keine Fehler auf:

# memtest 100 1
memtester version 4.0.6 (32-bit)
Copyright (C) 2006 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 100MB (104857600 bytes)
got 100MB (104857600 bytes), trying mlock ...locked.
Loop 1/1:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok

Done.

Sollten während des Tests Fehler auftreten, so sollte man seine Hardware überprüfen, da auch überhitzte Prozessoren oder überlastete Netzteile Fehler verursachen können.

 Permalink

Zeilenlänge von Texten limitieren

fmt(1) formatiert Textdateien so, dass standardmässig eine Zeile aus 65, maximal jedoch aus 75 Zeichen besteht.

# more freebsd
FreeBSD® is an advanced operating system for x86 compatible (including Pentium® and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC®, IA-64, PC-98 and ARM architectur
es. It is derived from BSD, the version of UNIX® developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in vari
ous stages of development.
# fmt freebsd
FreeBSD® is an advanced operating system for x86 compatible (including
Pentium® and Athlon), amd64 compatible (including Opteron, Athlon64,
and EM64T), UltraSPARC®, IA-64, PC-98 and ARM architectures. It is
derived from BSD, the version of UNIX® developed at the University
of California, Berkeley. It is developed and maintained by a large
team of individuals. Additional platforms are in various stages of
development.

Die Anzahl Zeichen pro Zeile kann auch selber bestimmt werden:

# fmt <Optimale Anzahl Zeichen> <Maximale Anzahl Zeichen> <Textdatei>

Es kann auch nur eine maximale Anzahl Zeichen angegeben werden:

# fmt -w <Maximale Anzahl Zeichen> <Textdatei>

So kann man zum Beispiel eine pkg-descr auf 80 Zeichen pro Zeile beschränken:

# fmt -w 80 pkg-descr.raw > pkg-descr
 Permalink

/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

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
Prev Next221-230/305