Hier einige Tips aus dem FreeBSD Alltag:
Anzeigen der Routing Table:
netstat -r
Routing Table ohne Hostnamen:
netstat -rn
DHCP auf einem Interface konfigurieren (persistent + live):
echo 'ifconfig_igb1="DHCP"' >> /etc/rc.conf /etc/rc.d/netif restart
Netzwerkeinstellungen prüfen (In der Linux Welt ist ifconfig mittlerweile deprecated und man sollte ip nutzen):
ifconfig
FreeBSD im Singleuser Mode booten und mit folgenden Befehlen das root Passwort ändern (getestet mit root on ZFS):
adjkerntz -i # nur bei verstellter Uhrzeit notwendig mount -u / /etc/rc.d/hostid start zfs mount -a passwd
FreeBSD Paketlisten aktualisieren + einspielen (nur FreeBSD, ohne Ports):
freebsd-update fetch freebsd-update install
Default Route live löschen + neue anlegen:
route delete default 192.168.0.1 route add default 10.10.10.10/16
Default Route persistent ändern:
echo 'defaultrouter="88.198.253.2"' >> /etc/rc.conf
Persistente Netzwerkkonfiguration inklusive ggf. notwendigen Routingänderungen live nehmen:
/etc/rc.d/netif restart /etc/rc.d/routing stop /etc/rc.d/routing start
DNS Server einstellen (hier gibt es keinen Unterschied zu Linux):
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
Ports Liste initial herunterladen und auschecken (Ports sind Userland Tools siehe auch):
portsnap fetch extract update
Bash aus den Ports kompilieren:
cd /usr/ports/shells/bash make install clean
Beim Bau einiger Ports kann es zu einer Fehlermeldung kommen weil der Kernel Sourcecode fehlt:
===> lsof-4.89.e,8 requires kernel sources.
Dies löst man mit (Release Version in der URL ggf anpassen):
svn checkout https://svn0.us-west.FreeBSD.org/base/releng/10.1/ /usr/src
Bash benötigt einen zusätzlichen Mount:
mount -t fdescfs fdesc /dev/fd echo "fdesc /dev/fd fdescfs rw 0 0" >> /etc/fstab
Default Shell vom User root auf Bash ändern:
chsh -s /usr/local/bin/bash root
Prüfen welche Shell gesetzt ist:
grep root /etc/passwd
FreeBSD bietet auch Binärpakete an, dazu kann man das Repository updaten und dann darin suchen:
pkg update pkg search paketname
Alternativ suchen und nur passende Paketnamen anzeigen, ohne Versionsnummer:
pkg search -o paketname
Natürlich kann man auch in den Ports suchen mit whereis (hilfreich wenn man den Namen einer Datei/Binary kennt und den zugehören Port sucht):
whereis binaryname
Aber auch nativ mit make nach dem Namen des Ports suchen:
cd /usr/ports/ make searh name=portname
Installieren von Binärpaketen ist ebenfalls einfach:
pkg install paketname
Init Skripte von zusätzlich installierten Diensten findet man nicht unter /etc/init.d/
:
/usr/local/etc/rc.d/proftpd status