fragen stichworte

Versteckte Funktionen von FreeBSD?

Der Vollständigkeit halber ähneln Ausgeblendete Funktionen von Linux und Ausgeblendete Funktionen von Solaris/OpenSolaris, was sind die verborgenen Funktionen von FreeBSD?

antworten

Ich habe versehentlich in der Quelle des Befehls cp (FreeBSD 7.2) gefunden; der SIGINFO -Signalhandler: Wenn Sie die Tastenkombination Strg + T drücken, während cp etwas sehr großes kopiert, werden Sie (zusammen mit anderen Informationen) den Fortschritt der Operation in Prozent sehen!

Dokumentation! Die Handbuchseiten, die auf halbem Weg zwischen der Kürze und Unbestimmtheit, die die Linux-Dokumentation kennzeichnet, und den übertriebenen technischen Details der Solaris-Hilfeseiten liegen. Das -Handbuch, das Personen, die mit der Systemadministration, mit FreeBSD oder mit Unix vertraut sind, den Einstieg erleichtert.

Hier einige grundlegende aus meiner Werkzeugtasche. Ich habe die Dinge weggelassen, die für mehrere Unix-Likes üblich sind, aber viele der Linux-Tipps zu "versteckten Funktionen" sind auch unter FreeBSD verwendbar.

Ich habe auch versucht zu vermeiden, Dinge wie "ZFS rockt" zu sagen. Ich denke, das stimmt, aber es ist nicht wirklich sehr versteckt. :-)

Konsolenkonfiguration:

  • Wenn sich die Tastatur auf der lokalen Konsole eines Vanilla-Systems sloooow befindet, können Sie mit kbdcontrol -r fast Ihre Tastaturverzögerung und Wiederholrate erhöhen.
  • Sie können die Datei /boot.config (ja, das ist eine Datei im Stammverzeichnis von /) verwenden, um sowohl den seriellen Port als auch das Video/Keyboard für die Konsole zu verwenden. Siehe man boot(8).
  • Mit den Alt-F [1-8] -Tasten erhalten Sie virtuelle Konsolen. Mit lock -nvp können Sie sie alle einschränken, wenn Sie ein wenig weggehen müssen.
  • Wenn Sie auf die Bildlaufsperre tippen, können Sie PageUp/PageDown verwenden, um vorherige Bildschirme anzuzeigen, die sich oben auf Ihrem Monitor befinden.

Systemverwaltung:

  • Sie können standortweite und boxspezifische Versionen einer Reihe von Konfigurationsdateien mit einem Suffix .local konfigurieren, insbesondere /boot/loader.conf.local und /etc/rc.conf.local. Dinge, die Sie auf allen Systemen aktivieren (z. B. sshd), können in /etc/rc.conf und lokale Überschreibungen (wie Schnittstellenkonfigurationen, Hostnamen, lokale Daemons usw.) in /etc/rc.conf.local eingetragen werden. Dies ist eine einfache Möglichkeit, um seitliche Änderungen herauszuschieben, ohne die boxspezifischen rc -Statements zu überschreiben. Es hält Puppet und seinen Verwandten keine Kerze, aber es ist eine einfache Methode, um verteilte Konfigurationen durchzuführen.
  • Das vollständige anfängliche dmesg zur Startzeit ist immer in /var/run/dmesg.boot verfügbar.
  • top -mio zeigt die Top-E/A-Sprecher.
  • Sie müssen nicht ZFS verwenden, um Snapshots des Dateisystems durchzuführen - siehe mksnap_ffs(8). Nicht so umfassend wie ZFS, aber ein einfaches Add-On zu vorhandenen UFS-Dateisystemen. Diese Momentaufnahmen können mit mdconfig gemountet werden.
  • Wenn Sie in /etc/fstab den Mount-Typ (viertes Feld) als xx konfigurieren, wird diese Mount-Zeile ignoriert. Dies ist besonders für die Dokumentation von Teilgräben geeignet.
  • man hier erläutert das Layout des Dateisystems auf hohem Niveau.
  • Verwenden Sie mdconfig, um ISOs einzuhängen.
  • Mit /etc/login.conf können Sie die standardmäßige Passwort-Hashing-Funktion in Blowfish mit passwd_format:blf ändern.
  • Wenn Sie Ihren eigenen Kernel rollen, können Sie Ihre Kernelkonfiguration erstellen, indem Sie eine vorhandene Kernelkonfiguration als Referenz hinzufügen und dann die Unterschiede hinzufügen. Sie können auch geerbte Elemente mit nooptions, nodevice und nomakeoptions überschreiben. Beispiel: So erstellen Sie einen Kernel, der alle GENERIC-Dateien enthält, fügt jedoch einfach einige Debugging-Optionen und einige Verbesserungen hinzu (und dies ist die gesamte -Datei):
include GENERIC

ident           DEBUG-GENERIC

options         KDB
options         DDB
nooptions       COMPAT_FREEBSD4
nooptions       COMPAT_FREEBSD5
nooptions       COMPAT_FREEBSD6

# This is actually the default; just an example.
makeoptions     DEBUG=-g

nodevice        atkbdc
nodevice        atkbd
nodevice        psm

Ports-Management und Software:

  • portinstall und portupgrade haben eine -c -Option, mit der Sie alle diese Portkonfigurationsfragen vor abfragen, bevor die Downloads und Installationen beginnen - eine große Zeitersparnis.
  • Mit security/portaudit können Sie Berichte zu allen Ports mit bekannten Sicherheitsproblemen erstellen. Außerdem wird der täglichen Sicherheitsausgabe ein eigener Bericht hinzugefügt.
  • Wenn Sie die Durchsetzung der Sicherheit für die Installation eines bestimmten Ports außer Kraft setzen müssen (hoffentlich nur für den internen oder vorübergehenden Gebrauch!), können Sie export DISABLE_VULNERABILITIES=yes.
  • portsclean -D entfernt alle Distfiles, auf die keine aktiven Ports verweisen.
  • Mit
  • ports-mgmt/portdowngrade können Sie ein Downgrade auf eine bestimmte Version eines Ports durchführen. very ist praktisch, wenn Sie feststellen, dass durch das Upgrade etwas Wichtiges gebrochen wurde. Dazu muss zunächst die ANONCVS-Umgebungsvariable mit der CVS-URL (die ich immer vergesse und nachschlagen muss) exportiert werden.
  • Mit ports-mgmt/pkg_cutleaves können Sie Pakete bereinigen, die keine anderen Abhängigkeiten haben. Verwenden Sie /usr/local/etc/pkg_leaves.exclude, um eine Liste von Paketen zu führen, die Sie immer behalten möchten, von denen jedoch keine anderen Pakete abhängig sind.
  • Linux-Binärkompatibilität.
  • Wenn Sie einen Server betreiben, fügen Sie /etc/make.conf WITHOUT_X11=yes hinzu, um X für die meisten (gut funktionierenden) Ports automatisch zu überspringen.
  • Die Nachricht von
  • @Henry Flower zum Senden von SIGINFO an cp für Fortschrittsinformationen funktioniert auch für dd.
  • Meine On-Every-Box-Portliste enthält arping, bash, coreutils, dmidecode, dnstop, lsof, mcelog, multitail (very mächtig), portaudit, portdowngrade, portupgrade, pstree, rsync, screen, smartmontools, strace, sudo, vim und wget.

Bearbeitet, um verwaiste Kernel-Konfigurationen und kleinere Grammatik zu beheben.

Ich bin überrascht, dass noch niemand das Gefängnis erwähnt hat. Jails sind den Zonen in Solaris sehr ähnlich und bieten eine sehr bequeme und sichere Möglichkeit, Anwendungen zu isolieren und virtuelle Hosts zu erstellen.

Eine alte Version (heutzutage) ist der Hintergrund fsck und Dateisystem-Snapshots.

Ich habe die verschiedenen 'stat'-Befehle und die Art und Weise, wie sie systat miteinander verbinden, immer lieber gefallen. Es ist eine großartige Ergänzung zu top. Linux scheint nicht die vielfältige Sammlung von 'stat'-Befehlen zu haben, die FreeBSD enthält.

Verfügbarkeit von drei verschiedenen Paketfiltern nach Ihren Wünschen: ipfw, ipf und OpenBSDs pf.

sysctl und alles, was Sie mit diesem Mechanismus ändern können.

DTrace, weil es für das System

eher neu ist
% grep -A4 JOKE/usr/src/usr.bin/make/job.c
#ifndef WITHOUT_OLD_JOKE
                                if (strcmp(gn->name,"love") == 0)
                                        (*abortProc)("Not war.");
                                else
#endif
% make love
Not war.
Exit 2

Einfachheit und Kontrolle - eine Basis-BSD-Installation ist viel schlanker als eine typische Linux-Distribution. Siehe dies Posting für einen Vergleich der Umschläge von * BSD gegen andere Betriebssysteme.

Nicht verborgen (sie sind recht häufig), aber für die Verwendung von FreeBSD grundlegend:

  • uname -aar
  • Portsnap-Abruf; Porstnap-Extrakt