Letzte Änderung: 09. Mai 2022

 Releasezweige 


Current is the latest "beta" software.

This is what the developers are working on mainly. It has minimal testing, basically if it compiles they'll push it into the repository. If you're interested in developing or testing development version this is what you're looking for.

Release is the software as it first appeared under a certain release version.

This is the software exactly as it was "released". If you're running 9.3-RELEASE then it is that version as originally released, without base or kernel updates. If you update a RELEASE version it will append a revision tag. This is typically what people run when they used precompiled versions of FreeBSD.

Stable is the latest "supported" software within a version branch.

This is tested versions of the software published between releases. It has more rigerous testing than the Current branch, but will change as new fixes and sometimes features are added. It doesn't have the same feature stability a release.

 Sinvolle Links 

Link : ➞ FreeBSD Webpage

Installation und Konfiguration von FreeBSD 12


Partitionen: / (root) 2GB swap 2GB /tmp 512MB /var 4GB /usr alles was übrig ist Bei der installation zusätzlichen User anlegen und der Gruppe wheel zuordnen. # pkg # pkg install --yes bash bash-completion neovim nano mc wget curl htop iftop freecolor pstree age screen gnu-watch pfqueue bind-tools # pkg clean # chsh -s /usr/local/bin/bash # chsh -s /usr/local/bin/bash username # mv /usr/local/etc/vim/vimrc /usr/local/etc/vim/vimrc.old # wget -P /usr/local/etc/vim https://mviess.de/sysadm/files/vimrc # strings $(which bash) | grep profile # vim /usr/local/etc/profile export EDITOR='vim' export LSCOLORS='Eafacadabaeaeahahacaca' export INPUTRC=/usr/local/etc/inputrc LC_ALL=de_DE.UTF-8; export LC_ALL LANG=de_DE.UTF-8; export LANG MM_CHARSET=UTF-8; export MM_CHARSET source /usr/local/share/bash-completion/bash_completion.sh source /usr/local/libexec/mc/mc.sh alias vi=nvim alias vim=nvim alias ls="/bin/ls -IG" # ls soll farbige Ausgabe verwenden alias ll="/bin/ls -IlG" alias la="/bin/ls -lG" alias updatedb="/usr/libexec/locate.updatedb" alias iotop="top -m io -o total" alias free="freecolor -m -o" # vim /usr/local/etc/inputrc set meta-flag on set input-meta on set convert-meta off set output-meta on "\e[1~": beginning-of-line "\e[4~": end-of-line neu einloggen um die neue Shell zu aktivieren. Man kann das ganze überprüfen mit dem Befehl: # echo "$SHELL" # vi /etc/hosts ::1 localhost localhost.my.domain freebsd64 127.0.0.1 localhost localhost.my.domain freebsd64

Ports


portsnap fetch portsnap extract to update: # portsnap fetch update or cronjob: # portsnap auto > /dev/null; ( pkg version -vPL=; synth status; ) pkg install --yes gcc6-aux cd /usr/ports/ports-mgmt/synth && make install synth configure

Dienste starten


Dienste werden beim Booten über die /etc/rc.conf gestartet. z.B. mit dienstname_enable="YES" Dafür muss dann aber auch in der /etc/rd.d oder der /usr/local/etc/rd.d ein Script "dienstname" liegen. --- Dienste verwalten: service dienstname restart service dienstname start service dienstname stop

Vmware Gast Additions installieren


Ohne X11 # pkg install open-vm-tools-nox11 Mit X11 # # pkg install open-vm-tools To run the Open Virtual Machine tools at startup, you must add the following settings to your /etc/rc.conf vmware_guest_vmblock_enable="YES" vmware_guest_vmhgfs_enable="NO" vmware_guest_vmmemctl_enable="YES" vmware_guest_vmxnet_enable="YES" vmware_guestd_enable="YES"

Virtualbox Gast Additions installieren


# Wenn wir FreeBSD als Virtualbox Gast installiert haben ist folgender Abschnitt durchzuführen. # pkg install --yes virtualbox-ose-additions # vi /etc/rc.conf vboxguest_enable="YES" vboxservice_enable="YES" vboxservice_flags="--disable-timesync" In Virtualbox in den Einstellungen der virtuellen Maschine -> Ändern -> Erweitert -> Gemeinsame Zwischenablage # reboot Zum prüfen ob die Virtualbox Module im Kernel geladen wurden (ähnlich dem Linux Befehl lsmod) # kldstat

FAMP (FreeBSD Apache MariaDB PHP) installieren


# pkg search mysql # pkg search php # /usr/sbin/pwd_mkdb -p /etc/master.passwd # pkg install -y apache24 mysql80-client mysql80-server php74 php74-bcmath php74-ctype php74-curl php74-dom php74-exif php74-fileinfo php74-filter php74-gd php74-gettext php74-iconv php74-intl php74-json php74-mbstring php74-mysqli php74-opcache php74-openssl php74-pdo php74-pdo_mysql php74-pecl-imagick php74-pecl-mcrypt php74-session php74-simplexml php74-tokenizer php74-xml php74-xmlwriter php74-zip php74-zlib php74-bz2 php74-brotli php74-composer php74-phar # php --version # cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini # sysrc php_fpm_enable=yes # service php-fpm start my.cnf nach /usr/local/etc/mysql # sysrc mysql_enable=yes # service mysql-server start # /usr/local/bin/mysql_secure_installation # sysrc apache24_enable=yes # service apache24 start # vim /usr/local/etc/apache24/modules.d/001_mod-php.conf <IfModule dir_module>   DirectoryIndex index.php index.html   <FilesMatch "\.php$">     SetHandler application/x-httpd-php   </FilesMatch>   <FilesMatch "\.phps$">     SetHandler application/x-httpd-php-source   </FilesMatch> </IfModule> # apachectl configtest # apachectl restart

Unsortiert ...


Runterfahren : # shutdown -p now Reboot : # shutdown -r now --- Alle Dienste anzeigen (/etc/rc.conf) : # service -l Dienst starten/stoppen/restart/reload : # service sshd start # service sshd stop # service sshd restart # service sshd reload Nachsehen ob ein Dienst läuft : # service sshd status Nachsehen ob ein Dienst im Autostart ist : # service sshd rcvar Dienst in Autostart eintragen (z.B. sshd) : # vi /etc/rc.conf sshd_enable="YES" oder # sysrc sshd_enable="YES" Scripte beim Starten oder Runterfahren des Computers ausführen : /etc/rc.local /etc/rc.shutdown.local --- FreeBSD update : # freebsd-version -kru -k Zeigt die Version und das Patch Level des installierten Kernels (installed "-k"ernel). Im Gegensatz zum uname Kommando wird hier bereits nach dem Einspielen von Updates die neue Kernel Version gezeigt, auch wenn das System noch nicht neu gestartet wurde. -r Zeigt die Version und das Patch Level des laufenden Kernels ("-r"unning kernel). Im Gegensatz zum uname Kommando wird die Ausgabe nicht durch Umgebungsvariablen beeinflusst. -u Zeigt die Version und das Patch Level der Userland Tools ("-u"serland tools). Check nach neuen Updates: # freebsd-update updatesready Make sure both FreeBSD base and packages are updates: # pkg update && pkg upgrade # freebsd-update fetch install # reboot # freebsd-update install # freebsd-version -kru FreeBSD Upgrade : # pkg update && pkg upgrade # freebsd-update fetch install # freebsd-update -r 12.2-RELEASE upgrade Once everything downloaded, merged in a directory, it is time to commit changes to the disk, run: # freebsd-update install # reboot # freebsd-update install Now base system has been updated. It is time to update all binary packages too. Simply run the following pkg command: # pkg-static install -f pkg # pkg update # pkg upgrade # freebsd-update install # freebsd-version -kru Audit auf installierte Pakete : # pkg audit -F --- Bash completion aktivieren : To enable the bash completion library, add the following to your ~/.bashrc or ~/.bash_profile file: [[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && /usr/local/share/bash-completion/bash_completion.sh Log out and log in again to test new settings. --- CD/DVD mounten : # dmesg | egrep -i 'cd|dvd' # mount_cd9660 /dev/cd0 /mnt --- Network Sockets : List all IPv4 network sockets on FreeBSD = # sockstat -4 List all IPv6 network sockets on FreeBSD = # sockstat -6 List all IPv4 and IPv6 network sockets on FreeBSD = sockstat -4 -6 List all connected sockets on FreeBSD = # sockstat -c Display all network sockets in listening state and Unix domain sockets = # sockstat -l

User kann kein su - machen


Um su - als User machen zu können, muss dieser der Gruppe wheel zugehörig sein. Neu anlegen : useradd -G wheel jdoe User bereits vorhanden : user mod -G wheel jdoe

Befehl updatedb existiert nicht


/usr/libexec/locate.updatedb am besten ein alias drauf setzen ... alias updatedb /usr/libexec/locate.updatedb

PKG Database check


checks local database # pkg check -s

Update Checks


$ crontab -e @daily root freebsd-update -t username cron