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