class: center, middle ![img33r](../../gfx/debianlogo.png) # Ungefähr 10 Tips für Debian 11 ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - Community-Video-Serie *"Nicht der Weisheit letzter Schluß"* auf
tube.tchncs.de
und
YouTube
mit **beruflichen** oder **privaten Projekten** - Nutzt Debian seit 2002 --- ### Kurzvorstellung ![img33r](../../gfx/debianlogo.png) * Freie Software * Debian 11 "Bullseye" enthält ca. 59.500 Pakete * **Desktops**: GNOME, Xfce, GNOME Flashback, KDE Plasma, Cinnamon, MATE, LXDE, LXQt und kleinere Fenstermanager * **CPU-Architekturen**: ARM, MIPS, PowerPC, S/390, SPARC, i386, amd64 * **Basis** für viele **andere Distributionen** wie z.B. Ubuntu, Deepin, Devuan, GParted LiveCD, Grml, Kali, LMDE, Parrot OS, Raspberry Pi OS (ehemals Raspbian) oder Univention Corporate Server (UCS) --- ### 1. Desktop wechseln ![img33r](palette.png) Bei der Installation über ein
Installationsmedium
könnt Ihr
keinen, einen
oder
mehrere Desktop(s)
installieren. Zu einem späteren Zeitpunkt könnt Ihr den
Dialog
zur
Desktopauswahl
wieder öffnen und Euch umentscheiden. Startet dazu (als root) in einer Konsole: ```bash tasksel ``` --- ### 2. Rolling Release ![img33r](fels.png) Neben dem **stabilen Zweig** (stable) von Debian, in dem Pakete während des Supportzeitraums (wenn immer möglich) auf **demselben Versionsstand** bleiben und nur
(Sicherheits-) Korrekturen
erfahren, gibt es den Testing-Zweig, der Software-
Kandidaten
für die
kommende stabile Debian-Version
enthält. Ein Debian kann auf ***testing*** umgestellt werden, um eine **
Rolling-Release
**-Distribution zu erhalten. ```bash echo 'deb https://deb.debian.org/debian/ testing main contrib non-free deb-src https://deb.debian.org/debian/ testing main contrib non-free'\ > /etc/apt/sources.list.d/debian-testing.list apt-get update # Paketliste aktualisieren apt-get upgrade # Bestehende Software aktualisieren apt-get dist-upgrade # Software hinzufügen ``` --- ### 3. Immer das Neueste ![img33r](unstable.png) Im **unstable-Zweig** befinden sich neue Softwareversionen, die noch nicht (richtig) getestet sind. Erst wenn nach grundlegenden Tests können diese in *testing* übernommen werden. ```bash echo 'deb https://deb.debian.org/debian/ unstable main contrib non-free deb-src https://deb.debian.org/debian/ unstable main contrib non-free'\ > /etc/apt/sources.list.d/debian-unstable.list apt-get update # Paketliste aktualisieren apt-get upgrade # Bestehende Software aktualisieren apt-get dist-upgrade # Software hinzufügen ``` --- ### 4. Textkonsoleneditor festlegen ![img33r](texteditor.png) Der Texteditor, der **standardmäßig** von Programmen wie *visudo* verwendet wird, kann systemweit auf den **eigenen Wunscheditor** umgestellt werden mit: ```bash update-alternatives --config editor ``` --- ### 5. Nichts tun beim Deckelzuklappen ![img33r](schlafender-tux.png) Debian ist – wie die meisten anderen Distributionen auch – so konfiguriert, daß ein
Laptop
beim
Zuklappen
des Deckels in den
Standby-Modus
wechselt. Dadurch werden alle **laufenden Aktivitäten** (z.B. Downloads, Virtualisierung, Netzwerkverbindungen, etc.) **unterbrochen**. Je nach Anwendungfall kann das erwünscht oder durchaus lästig sein. Zum Deaktivieren folgendes machen: ```bash # Konfigurationsdatei schreiben echo '[Login] HandlePowerKey=poweroff HandleLidSwitch=ignore' > /etc/systemd/logind.conf # Alle Mechaniken zum Schlafenlegen deaktivieren systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target # Sofort anwenden systemctl restart systemd-logind.service ``` --- ### 6. Backports ![img20r](orange.png) Die Backports in Debian sind eine Möglichkeit (ausgewählte) Softwarepakete in einer neueren Version zu beziehen, als sie im stabilen Zweig vorhanden sind und gleichzeitig nicht auf **testing** oder **unstable** zu wechseln. Die Pakete aus Backports wurden speziell für den stabilen Zweig neu kompiliert. ```bash echo 'deb http://deb.debian.org/debian bullseye-backports main contrib non-free deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free'\ > /etc/apt/sources.list.d/bullseye-backports.list # Paketliste aktualisieren apt-get update # Paket, unter Angabe der Backports, installieren apt-get install -y -t bullseye-backports freeipa-client ``` --- ### 7. Pinning: Prioritäten von Paketen ändern ![img20r](durchlassen-schild.png) Bindet man Paketquellen von ***testing*** oder ***unstable*** ein, so werden die **enthaltenen Pakete bevorzugt installiert**, da sie eine neuere Versionsnummer haben. Beim Aktualisieren des Rechners wird daher auf diese Pakete umgestellt. Wenn wir nun gezielt **ein einzelnes Paket aus *sid* ** wollen, passen wir die Priorität der ganzen Paketquelle mittels ***Pinning*** an. ```bash # Paketquelle von Debian unstable/sid einbinden echo 'deb http://deb.debian.org/debian/ sid main' >\ /etc/apt/sources.list.d/sid.list # Priorität so niedrig ansetzen, damit standardmäßig nichts aus Debian # unstable/sid installiert wird: echo 'Package: * Pin: release a=unstable Pin-Priority: -100' > /etc/apt/preferences.d/sid-100 # SSHGuard explizit aus Debian unstable/sid installieren: apt-get update apt-get install -t sid sshguard ``` --- ### 8. Original Debian für den RasPi ![img33r](Himbeer-Pinguin.png) Debian ist für verschiedene Rechnerarchitekturen, so auch für den **Raspberry Pi**, verfügbar. Auf allen Euren Systemen dieselbe Distribution einzusetzen, hat den Vorteil, daß Ihr Euch nicht umgewöhnen müßt. ####Debian 11 für ARM64 * SD-Kartenabbilder werden bei Debian täglich gebaut * **Getestete** gibt es unter https://raspi.debian.net/tested-images * Z.B. https://raspi.debian.net/tested/20220121_raspi_4_bullseye.img.xz * Schreiben z.B. mit ```bash xzcat -d 20220121_raspi_4_bullseye.img.xz | dd bs=1M of=/dev/sdX ``` Hierbei ist */dev/sdX* das Medium (z.B. SD-Karte, USB-Stick, etc.) auf die das Image geschrieben werden soll. --- ### 9. Konfigurationsdatenbank ![img20r](Register.png) Die ***debconf*** ist Debians **Konfigurationsdatenbank**, in der Parameter für die Installation von Paketen stehen. Durch Setzen von *"DEBIAN_FRONTEND=noninteractive"* lassen sich komplett **automatisch ablaufende Installationen** skripten. Durch Variablenlöschung (mit *unset DEBIAN_FRONTEND*) wechseln wir in den interaktiven Paketinstallationsmodus zurück. ```bash # Parameter auslesen (dazu debconf-utils installieren) debconf-get-selections | grep tzdata # Parameter setzen echo 'tzdata tzdata/Zones/Etc select UTC tzdata tzdata/Areas select Europe tzdata tzdata/Zones/Europe select Berlin' | debconf-set-selections # Paket ohne Rückfragen installieren/konfigurieren export DEBIAN_FRONTEND=noninteractive apt -y install tzdata # Paket neu konfigurieren dpkg-reconfigure tzdata ``` --- ### 10. Skripte beim Anmelden ausführen ![img20r](terminal.png) Beim **Anmelden** eines Benutzers (*/etc/profile.d*) oder **Öffnen einer Shell** (*/etc/bash.bashrc*) können Skripte automatisch ausgeführt werden. Dies können wir uns für verschiedene Zwecke zunutze machen, z.B. um **neue Kommandos** (*alias*) zu erstellen oder den Suchpfad für ausführbare Programme zu erweitern. ```bash # Kommando "he" zum Löschen des Verlaufes und Schließen der Shell echo 'alias he="history -c;rm ~/.bash_history; exit"'\ > /etc/profile.d/myAliases.sh # In zum Ausführen beim Öffnen der BASH einfügen bash.bashrc cat /etc/profile.d/myAliases.sh >> /etc/bash.bashrc # Suchpfad für ausführbare Programme erweitern echo 'export PATH="/opt/trinity/bin/:$PATH"' >\ /etc/profile.d/expand_PATH_by_sbin.sh ``` --- ### 11. Zusätzliche Paketquellen ![img20r](paket.png) Auch wenn Debian bereits sehr viele Pakete enthält, kann es sein, daß die gewünschte Anwendung nicht enthalten ist. Durch Hinzufügen von **weiteren Paketquellen** und den dazugehörigen **Signaturschlüsseln** (zum Prüfen der Paketintegrität) kann die Auswahl erweitert werden. ```bash # Paket mit Signaturschlüssel herunterladen und installieren wget http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-keyring.deb\ -O /tmp/trinity-keyring.deb dpkg -i /tmp/trinity-keyring.deb rm /tmp/trinity-keyring.deb # Paketquelle hizufügen echo \ 'deb http://mirror.ppa.trinitydesktop.org/trinity-sb bullseye deps-r14 main-r14'\ > /etc/apt/sources.list.d/trinity.list # Paketliste aktualisieren und Paket(e) installieren apt-get update apt-get install ... ``` --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de