Ubuntu ist eine weit verbreitete und relativ einfach handhabbare Version von Linux.

!!!Hostname ändern
Der Hostname ist in /etc/hosts und /etc/hostname gespeichert. Nach dem Ändern kann er mit dem Kommando hostname -F /etc/hostname neu eingelesen werden.

!!!Netzwerk
Es existieren einige Mechanismen in [Ubuntu] um das Netzwerk zu steuern.

!!DNS Server
Die DNS-Server stehen eigentlich in /etc/resolv.conf. Ubuntu bringt allerdings sein eigenes System mit, das die Datei überschreibt. Die Einträge stehen daher unter /etc/network/interfaces:

{{{
dns-nameservers <ip1> <ip2> [...]
}}}

Seit Ubuntu 18.4 wird systemd-resolved verwendet:

{{{
systemd-resolve --set-dns=<DNS> --interface=<IF>
}}}

__Hinweis:__ IF ist das Interface, oft eth0, abrufbar mit "ip a"

__Siehe:__ [https://wiki.ubuntuusers.de/DNS-Konfiguration/], [https://wiki.archlinux.org/index.php/Systemd-resolved]

!!DNS Deaktivieren
Möchte man einen anderen DNS-Server installieren (ISC Bind), kann man den [systemd-resolve deaktivieren|https://askubuntu.com/questions/907246/how-to-disable-systemd-resolved-in-ubuntu]:

{{{
systemctl disable systemd-resolved.service
systemctl stop systemd-resolved
rm /etc/resolv.conf
}}}

__Hinweis:__ resolv.conf ist unter systemd-resolve ein symbolischer Link. Nach dem Löschen kann er durch eine richtige Datei ersetzt werden.

Unter /etc/NetworkManager/NetworkManager.conf nach [Main] dns=none eintragen und systemctl restart NetworkManager.

!!IP Konfiguration
Folgende Befehle sind zum Konfigurieren des IP Netzwerks:

{{{
networkctl
networkctl status docker0
ifconfig
ifconfig docker0
systemctl restart systemd-networkd
}}}

!!!IP Config
Ubuntu (min. ab Version 22) /etc/netplan/00-installer-config.yaml oder /etc/netplan/01-netcfg.yaml. Nach dem Editieren, kann der Netplan angewendet werden:

{{{
netplan apply
}}}

__Siehe:__ [https://linuxconfig.org/how-to-configure-static-ip-address-on-ubuntu-22-04-jammy-jellyfish-desktop-server]

!!!Remote Desktop Connection
Auch Linux kann Remote Desktop Connection (RDP) mit dem Windows Client herstellen. Dazu gibt es das fertige Script [http://c-nergy.be/blog/?p=12761] das die nötigen Änderungen vornimmt.

!!!Limits
Unter Linux gibt es verschiedene Limits.

Die Zahl der aktuellen Filehandles kann man abfragen:
{{{
lsof | wc -l
ulimit -n
}}}

Datei /etc/security/limits.conf:

{{{
*                soft    nofile          1000000
*                hard    nofile          1000000
root             soft    nofile          1000000
root             hard    nofile          1000000
*                soft    nproc           1000000
*                hard    nproc           1048576
root             soft    nproc           1000000
root             hard    nproc           1048576
*                soft    stack           1000000
*                hard    stack           1000000
root             soft    stack           1000000
root             hard    stack           1000000

*                soft    memlock         100000000
*                hard    memlock         100000000
root             soft    memlock         100000000
root             hard    memlock         100000000
}}}

In neueren Versionen muss offenbar noch /etc/pam.d/common-session bearbeitet werden:

{{{
session required pam_limits.so
}}}

!!Systemvariablen
Systemvariablen anzeigen: sysctl -a, sysctl <variable>
Systemvariablen temporär setzen: sysctl -w <variable>=<value>

Permanente Systemvariablen in /etc/sysctl.conf:

{{{
fs.file-max = 200000
}}}

Systemvariablen neu laden: sysctl -p

!!!Partitionieren

!!gparted
Die Festplatte kann mit "gparted" partitioniert werden. Falls gparted nicht installiert ist, mit

{{{
apt install gparted
}}}

installieren und dann einfach starten.

!!GPT-Disk partitionieren
Früher wurde MBR (Master Boot Record) verwendet, heute verwendet man GPT (GUID partition table)

1. Partition mit sgdisk erstellen
2. Partition mit mkfs formatieren
3. Partition mit mount anmelden

{{{
sgdisk -n 2:4096:5119 -c 2:"Test" -t 2:9300 /dev/sda
mkfs -t ext4 /dev/sda2
mount -t auto /dev/sda2 /mnt
}}}

* [https://phoenixnap.com/kb/linux-format-disk]
* [https://wiki.ubuntuusers.de/gdisk/]

!!!SSH
Unter Ubuntu kann openssh installiert werden:

{{{
apt install openssh-server
}}}

Danach die Konfiguration anpassen:

{{{
nano /etc/ssh/sshd_config
}}}

Folgende Eintragungen vornehmen:

{{{
PermitRootLogin yes
StrictModes yes
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
AllowUsers root
}}}

Konfiguration neu einlesen:

{{{
service sshd restart
}}}

Mit "passwd" ein Unix-Passwort anlegen.

!!!Swap
Swap-File anzeigen:

{{{
ls -lh /swapfile
swapon --show
}}}

Swap-File erstellen:
{{{
free -h
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
}}}

"/swapfile none swap sw 0 0" zu /etc/fstab hinzufügen.

!!!Update
Um die Softwarepakete und das System upzudaten gibt es eine Reihe von Kommandos:

{{{
apt update
apt upgrade
apt dist-upgrade
apt autoremove
}}}

!!!Links
* [firewalld|https://computingforgeeks.com/install-and-use-firewalld-on-ubuntu-18-04-ubuntu-16-04/]
* [Upgrade|https://linuxconfig.org/how-to-upgrade-ubuntu-to-20-04-lts-focal-fossa]
* [ulimit|https://medium.com/@muhammadtriwibowo/set-permanently-ulimit-n-open-files-in-ubuntu-4d61064429a]
* [limits|https://www.thegeekdiary.com/understanding-etc-security-limits-conf-file-to-set-ulimit/]
* [sysctl|https://wiki.manitu.de/index.php/Server:Sysctl-Variablen_(sysctl.conf)]
* [SSH|https://askubuntu.com/questions/497895/permission-denied-for-rootlocalhost-for-ssh-connection]
* [Permanent ulimit|https://muhammadtriwibowo.medium.com/set-permanently-ulimit-n-open-files-in-ubuntu-4d61064429a]
* [Swap|https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-20-04-de]
* [Swap neu erstellen|https://askubuntu.com/questions/1264859/watchdog-bug-soft-lockup-cpu6-stuck-for-23s]