Benutzer-Werkzeuge

Webseiten-Werkzeuge


ubuntu

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ubuntu [2025-08-10 01:30:15] manfredubuntu [2025-09-17 19:15:28] (aktuell) david
Zeile 1: Zeile 1:
 +====== Ubuntu ======
 +
 +  * **[[https://youtu.be/nM3nP972T9c|Die Wahrheit über Ubuntu Linux]]**
 +    * //__Ubuntu-Anwender sollten prüfen über welche Quelle sie ihre Software beziehen, sofern sie nicht in die eine Richtung gezwungen werden wollen. Chromium unter Ubuntu ist so ein Beispiel, denn selbst wenn man unter Ubuntu mit ''sudo apt install chromium'' eingibt, erhält man Chromium nicht auf Basis eines ''*.deb'' Paketes, sondern stattdessen als Snap Paket.__//
 +    * __Linux-Distribution auf Ubuntu-Basis, **ohne** ''snap'' und mehr Schutz der Privatsphäre:__
 +      * ideal für MacOSX-Umsteiger: **[[https://youtu.be/ZEbDLcYS_5w|elementary OS]]** -> [[https://elementary.io/]], Standard-GUI ist "Pantheon"
 +      * ideal für Windows-Umsteiger: **[[https://youtu.be/dc7xbCqTPAA|Zorin OS]]** -> [[https://zorinos.com/]], Standard-GUI ist "Gnome 3"
 +      * für alle anderen Umsteiger: **[[https://youtu.be/7YGlaSI-Gcg|Linux Mint]]** -> [[https://www.linuxmint.com/]], Standard-GUI ist "Cinnamon", "MATE", "Xfce" //(MATE ist ein Gnome 2.31 - Fork, mit den selben MEM-Leaks)//
 +  * [[https://www.youtube.com/watch?v=UaAaBH9g1oM|Sheldon Cooper: "Ubuntu, Du bist mein liebstes linuxbasiertes Betriebssystem."]]
 +    * [[https://ubuntu.com/blog/how-to-sign-things-for-secure-boot|How to sign things for Secure Boot]]
 +  * [[https://www.youtube.com/watch?v=CP8CNp-vksc|Richard Stallman Talks About Ubuntu]]
 +
 +  * **__[[https://ubuntu.com/about/release-cycle#ubuntu-kernel-release-cycle|Ubuntu kernel release cycle]]__**
 +    * **__[[https://wiki.ubuntu.com/Releases]]__** -> //Genau drei Monate nach erscheinen des Releases wird die erste Aktualisierung veröffentlicht. Traditionell wird diese erste Ergänzung mit einer langzeitunterstützten Veröffentlichung ausgeliefert.//
 +    * //wenn man auf der Seite **[[https://launchpad.net/ubuntu/+series|Timeline (All milestones)]]** auf des entsprechende Release ("ubuntu-22.04.1") klickt, dann kann man auf der neu aufgegangenen Seite unter "Expected:" sehen, wann es erwartet wird ("2022-08-04")//
 +    * **[[https://endoflife.software/operating-systems/linux/ubuntu|Ubuntu Lifecycle (EOL)]]**
 +  * **Ubuntu - Download**
 +    * [[http://releases.ubuntu.com/|aktuelle Versionen]]
 +    * [[http://old-releases.ubuntu.com/releases/|alte Versionen]]
 +  * [[Ubuntu - Installation]]
 +    * [[Ubuntu - Power-Management]]
 +  * [[lighttpd+openSSL von Hand kompilieren und als DEB-Paket verpacken]]
 +  * [[http://www.pro-linux.de/news/1/23483/ubuntu-1604-lts-freigegeben.html]] - Ubuntu 16.04 LTS: Eine wichtige Neuerung ist das [[http://www.pro-linux.de/news/1/23462/snap-als-neues-paketformat-in-ubuntu-1604-lts-xenial-xerus.html|neue Paketformat »Snap«]], das gemeinsam mit dem [[http://debiananwenderhandbuch.de/debian-pakete-manuell-entpacken.html|DEB]]-Format existieren kann. Snap-Pakete enthalten Anwendungen mitsamt dem größten Teil ihrer Abhängigkeiten, was ihre Aktualisierung unabhängig vom Rest des Systems ermöglicht.
 +
 +
 +===== APT =====
 +
 +**siehe: [[apt]]**
 +
 +
 +===== Privatsphäre verbessern =====
 +
 +  * [[https://www.michlfranken.de/ubuntu-20-04-optimieren-privatsphaere-verbessern-flatpak-statt-snap/|Ubuntu 20.04 optimieren: Privatsphäre verbessern & Flatpak statt Snap]]
 +    * Wir löschen folgende Pakete um die opt-out bzw. Diagnose und Telemetrie Datensammlung und -übermittlung zu unterbinden:
 +      * Ubuntu-report (Report hardware and other collected metrics)
 +      * Popularity-contest (sendet anonyme Statistiken über App Nutzungsverhalten)
 +      * Apport (sammelt Daten bei Programmabstürzen)
 +      * Apport-gtk (Apport GTK+ Frontend)
 +      * Whoopsie (this programm submits crash reports back to ubuntu server)
 +
 +  * Diese Pakete sind keine Telemetrie, sondern Bugreporting
 +  * Die Metapakete //ubuntu-server// und //ubuntu-standard// werden dabei entfernt
 +
 +  > reporting="ubuntu-report whoopsie popularity-contest apport apport-symptoms apport-gtk apport-kde apport-noui"
 +  > sudo apt purge $reporting && sudo apt-mark hold $reporting && sudo apt autoremove && sudo apt autoclean
 +
 +alternativ kann man auch nur //popularity-contest// deaktivieren:
 +
 +  > sudo rm /etc/cron.daily/popularity-contest
 +
 +Zum Schluss sollte noch ein [[https://pi-hole.net/|Pi-Hole]] im LAN auf (z. B.) einem [[::einplatinenrechner:Raspberry Pi#Raspberry Pi 4]] installiert werden.
 +
 +
 +===== Flatpak statt Snap =====
 +
 +
 +==== Ubuntu 20.04 ====
 +
 +  * [[https://www.michlfranken.de/ubuntu-20-04-optimieren-privatsphaere-verbessern-flatpak-statt-snap/|Ubuntu 20.04 optimieren: Privatsphäre verbessern & Flatpak statt Snap]]
 +
 +
 +=== Snap löschen ===
 +
 +Um Snap zu löschen, deinstallieren wir folgende Pakete:
 +  * Snapd
 +  * Ubuntu-core-launcher
 +  * Sqashfs-tools
 +
 +  > sudo apt purge snapd ubuntu-core-launcher squashfs-tools
 +
 +Nun entfernen wir letzte übergebliebene Paket-Altleichen und starten das System danach durch.
 +  > apt autoremove && sudo reboot
 +
 +
 +=== Flatpak installieren ===
 +
 +  > apt install flatpak
 +
 +Software Flatpak Plugin installieren
 +
 +  > apt install gnome-software-plugin-flatpak
 +
 +Flathub Repository zufügen:
 +  > flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
 +
 +System durchstarten:
 +  > reboot
 +
 +Web-Browser installieren:
 +  > flatpak install org.mozilla.firefox org.chromium.Chromium
 +  
 +  > ls -lha /var/lib/flatpak/exports/bin/org.mozilla.firefox /var/lib/flatpak/exports/bin/org.chromium.Chromium
 +  /var/lib/flatpak/exports/bin/org.chromium.Chromium
 +  /var/lib/flatpak/exports/bin/org.mozilla.firefox
 +  
 +  > ls -lha /var/lib/flatpak/exports/share/icons/hicolor/64x64/apps/*
 +  /var/lib/flatpak/exports/share/icons/hicolor/64x64/apps/org.chromium.Chromium.png
 +  /var/lib/flatpak/exports/share/icons/hicolor/64x64/apps/org.mozilla.firefox.png
 +
 +
 +===== sonstiges =====
 +
 +Update-Informationen:
 +  > /usr/lib/update-notifier/apt-check
 +  108;2
 +  
 +  > /usr/lib/update-notifier/apt-check --human-readable
 +  108 updates can be installed immediately.
 +  2 of these updates are security updates.
 +  To see these additional updates run: apt list --upgradable
 +
 +Reboot notwendig?:
 +  > cat /var/run/reboot-required
 +  *** System restart required ***
 +
 +  > ubuntu-security-status
 +  2390 packages installed, of which:
 +  1891 receive package updates with LTS until 4/2025
 +   481 could receive security updates with ESM Apps until 4/2030
 +    15 packages are from third parties
 +     3 packages are no longer available for download
 +  
 +  Packages from third parties are not provided by the official Ubuntu
 +  archive, for example packages from Personal Package Archives in
 +  Launchpad.
 +  For more information on the packages, run 'ubuntu-security-status
 +  --thirdparty'.
 +  
 +  Packages that are not available for download may be left over from a
 +  previous release of Ubuntu, may have been installed directly from a
 +  .deb file, or are from a source which has been disabled.
 +  For more information on the packages, run 'ubuntu-security-status
 +  --unavailable'.
 +  
 +  Enable Extended Security Maintenance (ESM Apps) to get 1 security
 +  update (so far) and enable coverage of 481 packages.
 +  
 +  This machine is not attached to an Ubuntu Advantage subscription.
 +  See https://ubuntu.com/advantage
 +
 +nach einem neuen Ubuntu-Release schauen:
 +  > /usr/lib/ubuntu-release-upgrader/check-new-release
 +  Checking for a new Ubuntu release
 +  There is no development version of an LTS available.
 +  To upgrade to the latest non-LTS development release 
 +  set Prompt=normal in /etc/update-manager/release-upgrades.
 +  
 +  > /usr/lib/ubuntu-release-upgrader/check-new-release -q
 +
 +was man eigentlich immer braucht:
 +  > apt install vim screen mc
 +
 +damit man auch "übliche" Audio- und Video-Dateien anschauen kann (ab Ubuntu 18.04):
 +  > apt install vlc vlc-l10n libdvd-pkg
 +  > dpkg-reconfigure libdvd-pkg
 +
 +
 +==== Ubuntu Kernel Veröffentlichungsplan ====
 +
 +  * [[https://ubuntu.com/about/release-cycle|The Ubuntu lifecycle and release cadence]]
 +  * [[https://wiki.ubuntu.com/Kernel/LTSEnablementStack#Kernel.2FSupport.Ubuntu_Kernel_Release_Schedule|Ubuntu Kernel Release Schedule]]
 +
 +
 +==== Sonstiges ====
 +
 +[[https://usysto.net/ubuntu-18-04-server-returned-error-nxdomain-mitigating-potential-dns-violation_932|Ubuntu 18.04: Server returned error NXDOMAIN, mitigating potential DNS violation]]
 +  > rm /etc/resolv.conf
 +  > ln -s /var/run/systemd/resolve/resolv.conf /etc/resolv.conf
 +  > systemctl restart resolvconf
 +
 +
 +=== Release-Upgrade ===
 +
 +hier muss man einstellen, was man haben will:
 +  > vi /etc/update-manager/release-upgrades
 +  ...
 +  #Prompt=normal
 +  Prompt=lts
 +
 +...will man jedes Update mitmachen, dann muss man **''normal''** einstellen,
 +meine Erfahrung mit //Ubuntu// hat jedoch gezeigt, dass nur die **''lts''**-Versionen sauber funktionieren.
 +
 +Upgrade:
 +  > apt -y update
 +  > apt -y full-upgrade
 +  > apt -y autoclean
 +  > apt -y autoremove
 +
 +Release-Upgrade:
 +  > do-release-upgrade
 +
 +besonders in VMs ist das hier manchmal nach dem ''do-release-upgrade'' __aber noch vor dem Reboot__ notwendig (//''/dev/sda'' muß natürlich angepasst werden//):
 +  > df -h /
 +  Filesystem      Size  Used Avail Use% Mounted on
 +  /dev/sda1        20G  2.4G   17G  13% /
 +  
 +  > grub-install --root-directory=/ /dev/sda
 +  > grub-mkconfig -o /boot/grub/grub.cfg
 +
 +Quelle: [[https://wiki.ubuntuusers.de/Ubuntu_Pro/#Hinweise-auf-Ubuntu-Pro-deaktiveren]]
 +
 +<code text Hinweise auf Ubuntu Pro deaktiveren>
 +root@xxx:~# pro config set apt_news=false
 +root@xxx:~# sed -ie 's/.*/#&/' /etc/apt/apt.conf.d/20apt-esm-hook.conf
 +root@xxx:~# rm -f /etc/apt/apt.conf.d/20apt-esm-hook.confe
 +</code>
 +
 +
 +==== Apt-Historie anzeigen ====
 +
 +  > ls -lha /var/log/apt/
 +
 +  > less /var/log/apt/history.log
 +  > less /var/log/dpkg.log
 +
 +  > fgrep 'install ' /var/log/dpkg.log
 +  > egrep 'upgrade|remove' /var/log/dpkg.log
 +
 +
 +==== Please login as the user "ubuntu" rather than the user "root". ====
 +
 +[[https://tecadmin.net/how-to-enable-ssh-as-root-on-aws-ubuntu-instance/]]
 +  > sed -i 's|.* ssh-|ssh-|' /root/.ssh/authorized_keys
 +  > rm -f /root/.ssh/authorized_keyse
 +
 +
 +==== systemd-tty-ask-password-agent (Ubuntu 18.04) abschalten ====
 +
 +Quelle: [[https://debianforum.de/forum/viewtopic.php?t=156597]]\\
 +siehe auch [[https://www.freedesktop.org/wiki/Software/systemd/PasswordAgents/]]
 +
 +nervig sind diese immerwiederkehrenden Meldungen auf allen Konsolen:
 +  Password entry required for 'Enter Private Key Password:' (PID 7244).
 +  Please enter password with the systemd-tty-ask-password-agent tool!
 +
 +man stopt den Dienst so:
 +  > systemctl stop systemd-ask-password-wall.service ; systemctl stop systemd-ask-password-wall.path
 +
 +oder deaktiviert ihn so:
 +  > systemctl disable systemd-ask-password-wall.service ; systemctl disable systemd-ask-password-wall.path
 +
 +Wichtig ist hierbei, dass beide Kommandos schnell hintereinander ausgeführt werden, denn wenn man den Dienst für den "service" stopt, wird er über den "path" wieder aktiviert bzw. umgekehrt.
 +
 +
 +==== autostart mit SystemD Service Units ====
 +
 +  * [[https://wiki.ubuntuusers.de/systemd/Service_Units/|Service Units]]
 +    * [[https://wiki.ubuntuusers.de/systemd/Units/|]]
 +
 +ein Beispiel aus Ubuntu 18.04
 +  # ls -lha /etc/systemd/system/rexray.service /etc/systemd/system/docker.service.wants/rexray.service
 +  lrwxrwxrwx 1 root root  34 Jul 19  2019 /etc/systemd/system/docker.service.wants/rexray.service -> /etc/systemd/system/rexray.service
 +  -rw-r--r-- 1 root root 257 Jul 19  2019 /etc/systemd/system/rexray.service
 +
 +<file bash /etc/systemd/system/rexray.service>
 +[Unit]
 +Description=rexray
 +Wants=scini.service
 +Before=docker.service
 +After=scini.service
 +
 +[Service]
 +EnvironmentFile=/etc/rexray/rexray.env
 +ExecStart=/usr/bin/rexray start
 +ExecReload=/bin/kill -HUP $MAINPID
 +KillMode=process
 +
 +[Install]
 +WantedBy=docker.service
 +</file>
 +
 +
 +==== wichtige System-Werkzeuge ====
 +
 +  > apt install procps
 +  > top
 +  top - 16:05:33 up  6:41, 11 users,  load average: 0,54, 0,71, 0,82
 +  Tasks: 428 gesamt,   1 laufend, 427 schlafend,   0 gestoppt,   0 Zombie
 +  %CPU(s):  2,3 be,  2,3 sy,  0,0 ni, 95,4 un,  0,0 wa,  0,0 hi,  0,0 si,  0,0 st
 +  MiB Spch :  31946,2 gesamt,  16525,8 frei,   8795,7 belegt,   6624,7 Puff/Cache
 +  MiB Swap:   2048,0 gesamt,   2048,0 frei,      0,0 belegt.  22460,6 verfü Spch 
 +  
 +      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     ZEIT+ BEFEHL                                                                                                                                                                                            
 +    55221 root      20     12756   4236   3308 R  13,3   0,  0:00.03 top                                                                                                                                                                                               
 +     1245 kernoops  20     11256    444      0 S   6,  0,  0:01.06 kerneloops                                                                                                                                                                                        
 +     1502 root     -51              0      0 S   6,  0,  4:30.59 irq/145-nvidia                                                                                                                                                                                    
 +        1 root      20    169248  13292   8372 S   0,  0,  0:45.36 systemd
 +
 +  > apt install sysstat
 +  > iostat
 +  ...
 +  avg-cpu:  %user   %nice %system %iowait  %steal   %idle
 +             3,38    0,00    1,75    0,20    0,00   94,66
 +  
 +  Device             tps    kB_read/   kB_wrtn/   kB_dscd/   kB_read    kB_wrtn    kB_dscd
 +  loop0             0,00         0,01         0,00         0,00        340          0          0
 +  nvme0n1          20,88       133,32       288,59         0,00    3185309    6895289          0
 +  sda               0,01         0,43         0,00         0,00      10296          0          0
 +
 +  > apt install nicstat
 +  > nicstat
 +      Time      Int   rKB/  wKB/  rPk/  wPk/   rAvs    wAvs %Util    Sat
 +  16:02:44     eno1   138.4   74.59   145.5   107.5   974.1   710.7  0.11   1.01
 +  16:02:44     tap0   63.93   63.59   69.95   73.31   935.9   888.2  5.24   0.00
 +  16:02:44       lo    0.06    0.06    0.59    0.59   105.3   105.3  0.00   0.00
 +
 +
 +===== GPG-Schlüssel per Web-Browser beschaffen =====
 +
 +[[GPG-Schlüssel beschaffen]]
 +
 +
 +===== Android-Emulation =====
 +
 +  - [[Android|Ab Chrome Version 37 kann man Android-Apps mit Chrome benutzen.]]
 +  - [[Android#x86|Android x86]] hat bei mir auf anhieb und am zuverlässigsten funktioniert, //nur die Amazon-Kindle-App funktioniert hier nicht, weil diese Emulation kein WiFi-Gerät hat//
 +
 +
 +===== wissenswertes =====
 +
 +Netzwerkrestart auf Ubuntu 16.04:
 +  > systemctl restart networking
 +
 +zuverlässigstes Update-Kommando\\
 +(ggf. muss man in diesem Kommando den Kernel anpassen, hier wird der normale __"**Generic**"-Kernel__ vorgesehen, auf VMs kann das anders gewünscht sein):
 +  > time (locale-gen ; apt-get autoclean ; apt autoremove ; dpkg --configure -a ; apt-get dist-upgrade ; apt-get autoclean ; aptitude autoclean ; apt autoremove ; apt install linux-headers-generic linux-image-generic ; apt update && apt upgrade) && echo OK ; dpkg --configure -a ; apt purge $(dpkg -l | sed "s/^rc[ ]*//;s/ .*//" | egrep ^linux-) ; dpkg -l | sed "s/^ii[ ]*//;s/ .*//" | egrep ^linux- ; uname -a
 +
 +quick & dirty version des Update-Kommandos:
 +  > time (locale-gen ; apt update ; dpkg --configure -a ; apt autoremove ; apt full-upgrade ; apt autoremove) && echo OK ; dpkg --configure -a ; dpkg -l | awk '/linux-/{print $1,$2}' ; uname -a
 +
 +wem es nur darum geht, die alten Kernel zu entfernen, dem wird dieses reichen:
 +  > apt-get autoclean ; apt-get autoremove ; apt purge $(dpkg -l | sed "s/^rc[ ]*//;s/ .*//" | egrep ^linux-)
 +
 +wenn es diese Fehlermeldung
 +  dpkg: Fehler: dpkg-Status-Datenbank ist von einem anderen Prozess gesperrt
 +gibt,
 +dann hilft, fast immer, der Aufruf von diesem Kommando:
 +  > kill $(lsof | fgrep /var/lib/dpkg/lock | awk '{print $2}') 2>/dev/null
 +
 +  > cat /etc/lsb-release
 +  DISTRIB_ID=LinuxMint
 +  DISTRIB_RELEASE=15
 +  DISTRIB_CODENAME=olivia
 +  DISTRIB_DESCRIPTION="Linux Mint 15 Olivia"
 +
 +  > cat /etc/os-release
 +  NAME="Ubuntu"
 +  VERSION="13.04, Raring Ringtail"
 +  ID=ubuntu
 +  ID_LIKE=debian
 +  PRETTY_NAME="Ubuntu 13.04"
 +  VERSION_ID="13.04"
 +  HOME_URL="http://www.ubuntu.com/"
 +  SUPPORT_URL="http://help.ubuntu.com/"
 +  BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
 +
 +  * [[http://www.pro-linux.de/news/1/19847/kommentar-mark-shuttleworth-schliesst-ubuntu-bug-1.html]] - Bug#1
 +
 +  * [[http://zeroathome.de/serverguide/index.html]]
 +    * [[http://zeroathome.de/serverguide/grundeinrichtung.html]]
 +  * [[http://mirror.sov.uk.goscomb.net/ubuntu-releases/]]
 +  * [[http://wiki.ubuntuusers.de/Homeverzeichnis]]
 +  * [[Udev-Rules]]
 +  * [[sshfs]]
 +  * [[Java auf Ubuntu installieren]]
 +
 +__Auf der Ubuntu-Web-Seite kann man zwischen drei verschiedenen [[http://releases.ubuntu.com/|Installations-CD's]] auswählen:__
 +  - **Desktop** - Arbeitsplatzinstallation mit grafischer Installationsführung
 +  - **Alternate** - Arbeitsplatzinstallation mit alternativer (textbasierter) Installationsführung -> //hiermit ist es möglich sich eine komplett verschlüsselte Installation einzurichten, wie man sie meistens auf einem Laptop benötigt//
 +  - **Server** - Serverinstallation mit textbasierter Installationsführung
 +  - [[http://cdimage.ubuntu.com/|Ubuntu - Communitie]]
 +    - [[http://cdimage.ubuntu.com/releases/|Ubuntu - Communitie - Releases]]
 +
 +__Betreuungszeiträume der einzelnen Ubuntu-Veröffentlichungen:__
 +  * [[https://wiki.ubuntu.com/Releases]]
 +
 +__Die aktuellen Images bekommt man von hier, auch tagesaktuelle Versionen:__
 +  - [[http://cdimage.ubuntu.com/releases/]]
 +  - [[http://cdimage.ubuntu.com/ubuntu-server/]]
 +  - [[http://cdimage.ubuntu.com/ubuntu-gnome/]]
 +
 +
 +==== seit Ubuntu 17.04 gibt es keine /etc/rc.local ====
 +
 +man kann sie aber so wieder aktivieren:
 +  * [[https://wiki.ubuntuusers.de/rc.local/]]
 +  * [[https://unix.stackexchange.com/questions/471824/what-is-the-correct-substitute-for-rc-local-in-systemd-instead-of-re-creating-rc]]
 +  * [[http://manpages.ubuntu.com/manpages/bionic/man8/systemd-rc-local-generator.8.html]]
 +
 +als erstes muss darauf geachtet werden, dass die Datei den richtigen Kopf hat ("''-e''" ggf. entfernen => "''#!/bin/bash''"):
 +  > vi /etc/rc.local
 +  > chmod 0755 /etc/rc.local
 +  > /lib/systemd/system-generators/systemd-rc-local-generator
 +  
 +  > vi /lib/systemd/system/rc-local.service
 +  > systemctl enable rc-local.service
 +  > systemctl status rc-local.service
 +  > systemctl restart rc-local.service
 +  > systemctl status rc-local.service
 +
 +ggf. ist das hier nötig:
 +  > ln -s /etc/systemd/system/multi-user.target.wants/rc-local.service /etc/systemd/system/rc-local.service ; mv /etc/systemd/system/rc-local.service /etc/systemd/system/multi-user.target.wants/rc-local.service
 +  > systemctl status rc-local.service
 +
 +
 +==== alte Kernel entfernen ====
 +
 +  * inspiriert durch: [[https://github.com/dustinkirkland/bikeshed/blob/master/purge-old-kernels|purge-old-kernels]]
 +
 +<file bash /root/bin/alte_Kernel_entfernen.sh>
 +#!/bin/bash
 +
 +#------------------------------------------------------------------------------#
 +#
 +# Dieses Skript entfernt alle alten Kernel
 +# und lässt nur eine definierte Anzahl (BEHALTEN=?) an Kerneln im System.
 +#
 +#------------------------------------------------------------------------------#
 +
 +BEHALTEN="2"            # wieviel Kernel erhalten bleiben sollen
 +
 +#------------------------------------------------------------------------------#
 +
 +VERSION="v2015091200"
 +
 +dpkg --configure -a
 +
 +#if [ "$(fgrep "QEMU Virtual CPU" /proc/cpuinfo | head -n1 | awk '{print $4,$5,$6}')" = "QEMU Virtual CPU" ] ; then
 +#        aptitude -y install linux-virtual linux-image-extra-virtual
 +#else
 +#        aptitude -y install linux-generic
 +#fi
 +
 +
 +### Dieses Kommando muss aber vor dem Gebrauch angepasst werden!!!
 +### hier werden auch veraltete Kernel (z.B. 3.5.0) mit entfernt,
 +### wenn z.B. der LTS-Kernel "3.2.0" und der veraltete Kernel "3.5.0" zusammen installiert sind
 +#dpkg -l | fgrep linux- ; aptitude -y purge $(dpkg -l | awk '/linux-/{print $2}' | egrep "[a-z]-3[.]" | fgrep -v "3.2.0-90" | fgrep -v "2.6.32-74" | fgrep -v "3.13.0-63")
 +
 +
 +### 
 +### purge-old-kernels
 +### https://github.com/dustinkirkland/bikeshed/blob/master/purge-old-kernels
 +aptitude purge $(ls -tr /boot/vmlinuz-* | head -n -${BEHALTEN} | grep -v "$(uname -r)$" | cut -d- -f2- | awk '{print "linux-image-" $0 " linux-headers-" $0}')
 +
 +
 +### hier wird gezeigt, was übrig geblieben ist
 +dpkg -l | fgrep linux-
 +</file>
 +
 +==== Bootmeldungen aktivieren ====
 +
 +Ubuntu 16.04/18.04
 +  > grub-install --root-directory=/  /dev/sda
 +  > grub-mkconfig -o /boot/grub/grub.cfg
 +
 +
 +=== Ubuntu 14.04 ===
 +
 +[[https://wiki.ubuntuusers.de/GRUB_2/Konfiguration/]]
 +
 +Dummerweise sind die Bootmeldungen in Ubuntu abgestellt,
 +so kann man sie sich wieder einstellen:
 +
 +  > vi /etc/default/grub
 +  GRUB_DEFAULT=0
 +  #GRUB_HIDDEN_TIMEOUT=0
 +  #GRUB_HIDDEN_TIMEOUT_QUIET=false
 +  GRUB_TIMEOUT=15
 +  GRUB_TIMEOUT_STYLE=menu
 +  GRUB_CMDLINE_LINUX_DEFAULT="noplymouth"
 +  GRUB_DISABLE_OS_PROBER=true
 +
 +Die Variable ''GRUB_DISABLE_OS_PROBER=true'' bewirkt, dass keine anderen Laufwerke nach OS-Installationen durchsucht werden.
 +
 +aktivieren:
 +  > update-grub2
 +
 +
 +=== Ubuntu 18.04 ===
 +
 +  > vi /etc/default/grub
 +  GRUB_DEFAULT=0
 +  #GRUB_TIMEOUT_STYLE=hidden
 +  GRUB_TIMEOUT_STYLE=menu
 +  GRUB_TIMEOUT=10
 +  GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
 +  #GRUB_CMDLINE_LINUX_DEFAULT="maybe-ubiquity"
 +  #GRUB_CMDLINE_LINUX=""
 +  ### apt purge plymouth libplymouth4
 +  ### update-grub ; update-initramfs -u -k all ; update-grub
 +  GRUB_CMDLINE_LINUX_DEFAULT="noplymouth nomodeset xforcevesa text ipv6.disable=1"
 +  GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=1"
 +  
 +  > update-grub
 +  > update-initramfs -u -k all
 +  > update-grub
 +
 +  > vi /etc/sysctl.conf
 +  ...
 +  net.ipv6.conf.all.disable_ipv6 = 1
 +  net.ipv6.conf.default.disable_ipv6 = 1
 +  net.ipv6.conf.lo.disable_ipv6 = 1
 +  
 +  > vi /etc/sysctl.d/99-sysctl.conf
 +  ...
 +  net.ipv6.conf.all.forwarding=0
 +  net.ipv6.conf.all.accept_redirects = 0
 +  net.ipv6.conf.all.accept_source_route = 0
 +  net.ipv6.conf.all.disable_ipv6 = 1
 +  net.ipv6.conf.default.disable_ipv6 = 1
 +  net.ipv6.conf.lo.disable_ipv6 = 1
 +  
 +  > sysctl -p
 +  net.ipv6.conf.all.forwarding = 0
 +  net.ipv6.conf.all.accept_redirects = 0
 +  net.ipv6.conf.all.accept_source_route = 0
 +  net.ipv6.conf.all.disable_ipv6 = 1
 +  net.ipv6.conf.default.disable_ipv6 = 1
 +  net.ipv6.conf.lo.disable_ipv6 = 1
 +
 +
 +==== Der Mülleimer ====
 +
 +Dateien werden üblicherweise (in der GUI) nicht sofort gelöscht, wenn man sie über einen //Dateimanager// löscht. Sie werden stattdessen in den Ordner __~/.local/share/Trash/files__ verschoben.
 +
 +
 +==== System auf deutsch umstellen ====
 +
 +mit Sprachauswahl:
 +  > sudo dpkg-reconfigure locales
 +
 +[[https://wiki.ubuntuusers.de/Spracheinstellungen/|Spracheinstellungen / Systemweite Änderung / Benutzerspezifische Änderung]]
 +
 +  > locale-gen de_DE.UTF-8
 +
 +  > vi /etc/default/locale
 +  LANG="de_DE.UTF-8"
 +  LANGUAGE="de_DE:de"
 +
 +  > aptitude install language-pack-de language-pack-gnome-de language-pack-gnome-de-base language-pack-kde-de libreoffice-l10n-de libreoffice-help-de thunderbird-locale-de firefox-locale-de
 +  > update-locale LANG=de_DE.UTF-8
 +  > dpkg-reconfigure locales
 +  Generating locales...
 +    de_AT.UTF-8... up-to-date
 +    de_BE.UTF-8... up-to-date
 +    de_CH.UTF-8... up-to-date
 +    de_DE.UTF-8... up-to-date
 +    de_LI.UTF-8... up-to-date
 +    de_LU.UTF-8... up-to-date
 +    en_AG.UTF-8... done
 +    en_AU.UTF-8... done
 +    en_BW.UTF-8... done
 +    en_CA.UTF-8... done
 +    en_DK.UTF-8... done
 +    en_GB.UTF-8... done
 +    en_HK.UTF-8... done
 +    en_IE.UTF-8... done
 +    en_IN.UTF-8... done
 +    en_NG.UTF-8... done
 +    en_NZ.UTF-8... done
 +    en_PH.UTF-8... done
 +    en_SG.UTF-8... done
 +    en_US.UTF-8... done
 +    en_ZA.UTF-8... done
 +    en_ZM.UTF-8... done
 +    en_ZW.UTF-8... done
 +  Generation complete.
 +
 +
 +===== reinstallieren aller Pakete =====
 +
 +so werden alle direkt installierten Pakete ermittelt:
 +  > for i in $(dpkg -l | awk '/^ii /{print $2}');do aptitude show ${i};done | egrep -B4 'Automatisch installiert: nein|Automatically installed: no' | awk '/Paket:/||/Package:/{print $2}' | tee /tmp/pakete.txt
 +  > aptitude -y reinstall $(cat /tmp/pakete.txt)
 +
 +
 +===== automatischer fsck =====
 +
 +  * [[Ubuntu - automatischer fsck]]
 +
 +
 +===== verschlüsseltes System installieren =====
 +
 +  * [[https://help.ubuntu.com/community/EncryptedFilesystems]]
 +  * [[http://wiki.ubuntuusers.de/System_verschl%C3%BCsseln/Alternate_Installation|Beispiel mit der Ubuntu-Server-10.04-CD]]
 +
 +Um daraus eine Desktop-Installation zu machen, muss man mindesten das Paket "ubuntu-desktop" installieren.
 +Manchmal möchte man auch noch zusätzlich das Paket "gnome" installieren.
 +
 +
 +===== verschlüsseltes Homeverzeichnis =====
 +
 +  * [[https://help.ubuntu.com/community/EncryptedHome]]
 +  * [[https://help.ubuntu.com/community/EncryptedPrivateDirectory]]
 +
 +Schon während einer Neuinstallation von Ubuntu bekommt man angeboten das komplette Homeverzeichnis verschlüsseln zu lassen.
 +
 +Will man einen neuen Benutzer anlegen, der sofort ein verschlüsseltes Homeverzeichnis bekommt,
 +dann macht man das mit diesem Kommando:
 +  # adduser --encrypt-home fritz
 +
 +Will man sein Homeverzeichnis später verschlüsseln, dann startet man einfach dieses Kommando:
 +  # ecryptfs-migrate-home -u fritz
 +
 +**Jetzt ist es wichtig, dass sich der Benutzer //fritz// __vor dem nächsten Reboot__ einmal (mit seinem neu verschlüsselten Home) anmeldet!**
 +
 +Zum Abschluss der Installation wird man aufgefordert die Passphrase zu sichern/notieren, damit man im Falle der Fälle wieder an seine Daten kommt, sollte das System kaputt sein, oder man die Platte in einen anderen PC einbinden möchte.
 +
 +Hat man sich die Passphrase allerdings während der Installation nicht gesichert, oder die Mitschrift verlegt, 
 +kann man sich mit diesem Kommando jederzeit, im laufenden Betrieb, die Passphrase anzeigen lassen:
 +  # ecryptfs-unwrap-passphrase
 +
 +
 +=== Plan-B ===
 +
 +  * [[http://wiki.ubuntuusers.de/Homeverzeichnis#Home-verschluesseln]]
 +  * [[https://help.ubuntu.com/community/EncryptedPrivateDirectory#Recovering_Your_Data_Manually]]
 +
 +Hat man für das Homeverzeichnis ("/home") eine eigene Partition vorgesehen und nur auf der root-Partition ("/") ein neues System installiert,
 +dann kann man das verschlüsselte Homeverzeichnis, auch ohne notierter Passphrase, wieder im System einbinden.
 +
 +Als erstes muss man den entsprechenden Benutzer ("fritz") anlegen (zu beachten ist, dass der Benutzer seine alten UID und GID wieder bekommen soll):
 +  # useradd fritz
 +  # passwd fritz
 +
 +jetzt müssen noch die entsprechenden Werkzeuge installiert werden:
 +  # aptitude install ecryptfs-utils
 +
 +Jetzt sollte der Benutzer nach dem Login seine Daten wieder zurück haben.
 +
 +
 +=== Zugriff von einer LiveCD aus ===
 +
 +  * [[http://bodhizazen.net/Tutorials/Ecryptfs]]
 +
 +
 +===== Kernelversion abfragen =====
 +
 +aktuell laufende Kernelversion ist die //2.6.32-22.33//:
 +  # uname -rv
 +  2.6.32-22-server #33-Ubuntu SMP Wed Apr 28 14:34:48 UTC 2010
 +
 +neueste installierte Kernelversion ist die //2.6.32-22.35//:
 +  # aptitude show linux-image-$(uname -r) | awk '/^Version:/ {print $NF}'
 +  2.6.32-22.35
 +
 +
 +
 +===== Allgemeines =====
 +
 +  * [[minimale Grundinstallation von Ubuntu]]
 +  * [[http://linuxundich.de/de/ubuntu/application-indicators-machen-applets-fur-das-gnome-panel-vergessen/]]
 +  * [[https://help.ubuntu.com/community/NetworkConfigurationCommandLine/Automatic#Disable_network_managers_and.2BAC8-or_wicd]]
 +
 +Pakete, die man nicht braucht:
 +  # aptitude purge apparmor network-manager network-manager-gnome network-manager-pptp network-manager-pptp-gnome
 +
 +Pakete, die man praktisch immer braucht:
 +  # aptitude -y install openssh-server mc smartmontools screen bmon star ethtool rsyslog rsyslog-relp
 +
 +Pakete die man fast immer braucht:
 +  # aptitude -y install vobcopy unattended-upgrades cron-apt update-notifier smartmontools openssh-server screen ntp smplayer mencoder x264 thunderbird-locale-de thunderbird-gnome-support thunderbird-calendar-timezones unzip unrar mc
 +
 +Pakete die man ggf. braucht:
 +  # aptitude -y install smartmontools mpt-status
 +
 +Gelegentlich bekommt man in Ubuntu soeinen Fehler:
 +  dpkg: Fehler beim Parsen, in Datei "/var/lib/dpkg/available" nahe Zeile xxxx Paket »modutils«:
 +  Fehler in Versionszeichenkette "yyyy:": nichts hinter Doppelpunkt in Versionsnummer
 +
 +  dpkg: parse error, in file "/var/lib/dpkg/available" near line xxxx package »modutils«:
 +  error in Version string "yyyy:": nothing after colon in version number
 +
 +Lösen kann man es durch das Ausführen der folgenden Befehle:
 +  # dpkg --clear-avail
 +  # dpkg-reconfigure apt
 +
 +Quell-Repository der Pakete anzeigen,\\
 +so werden alle installierten Pakete angezeigt, die von ''universe'' oder ''multiverse'' installiert wurden:
 +  # aptitude search ~i -F"%s# %p" | egrep "universe|multiverse"
 +
 +Statistik über die installierten und //nicht von Ubuntu gepflegten// Pakete anzeigen:
 +  # ubuntu-support-status --show-unsupported
 +
 +===== laufende Apt-Hintergrundprozesse finden =====
 +
 +  > lsof /var/lib/apt/lists/lock
 +  > lsof /var/lib/dpkg/lock
 +  > lsof /var/cache/apt/archives/lock
 +  > lsof /run/lock/aptitude
 +
 +
 +===== Apt-Repositorium selber bauen =====
 +
 +In diesem Artikel wird die Methode mit "apt-ftparchive" aus dem Paket "apt-utils" vorgestellt.
 +
 +  * [[http://www.pro-linux.de/artikel/2/1459/apt-repositorium-erstellen-variante-1-apt-ftparchive.html]]
 +
 +Alternativ kann man sich auch eines mit "reprepro" aufbauen.
 +
 +  * [[apt-cacher-ng]]
 +
 +
 +===== OpenNTPD =====
 +
 +  * [[zeitserver_ntp#openntpd]]
 +
 +
 +===== Netzwerkkonfiguration =====
 +
 +  * [[vernetzung|W-LAN Supplicant]]
 +
 +Prinzipiell kann man dem Rechner sagen, dass er sich die IP-Aresse von einem [[DHCP]]-Server holt (wenn einer da ist)
 +oder man gibt ihm einfach eine statische IP-Adresse.
 +
 +Zu beachten ist hierbei, dass der [[DHCP]]-Server im selben Netz stehen muss, wie die Rechner, die von ihm eine Adresse bekommen sollen!
 +
 +
 +==== vor 18.04 - ifupdown ====
 +
 +
 +=== DHCP ===
 +
 +Im einfachsten Fall trägt man nur das Loop-Device ein, dann wird auf allen Netzwerkkarten versucht per [[DHCP]] eine IP-Adresse zu bekommen:
 +
 +  # vi /etc/network/interfaces
 +  auto lo
 +  iface lo inet loopback
 +
 +Hat man mehr als eine Netzwerkkarte im Rechner, will aber nur auf einer Karte per [[DHCP]] eine Adresse bekommen,
 +dann muss das explizit gesagt werden:
 +
 +  # vi /etc/network/interfaces
 +  auto lo
 +  iface lo inet loopback
 +  
 +  auto eth0
 +  iface eth0 inet dhcp
 +
 +
 +=== statische IP-Adresse ===
 +
 +  # vi /etc/network/interfaces
 +  auto lo
 +  iface lo inet loopback
 +  
 +  auto eth0
 +  iface eth0 inet static
 +          address 192.168.1.2
 +          netmask 255.255.255.0
 +          network 192.168.1.0
 +          broadcast 192.168.1.255
 +          gateway 192.168.1.1
 +          dns-nameservers 192.168.1.254
 +
 +
 +
 +==== ab 18.04 - netplan ====
 +
 +[[::Linux Netzwerkkonfiguration#Netplan ab Ubuntu 18.04]]
 +
 +
 +===== Ubuntu Bootmeldungen aktivieren =====
 +
 +Bei Ubuntu werden die Bootmeldungen nicht angezeigt, das finde ich echt schlimm! Im folgenden sehen Sie wie man ihm das austreiben kann.
 +
 +Damit bei Ubuntu die Bootmeldungen ordentlich angezeigt werden, ist nur eine Anpassung nötig:
 +  # sed -i 's/^GRUB_HIDDEN_TIMEOUT_QUIET.*/GRUB_HIDDEN_TIMEOUT_QUIET=false/;s/^GRUB_CMDLINE_LINUX_DEFAULT.*/GRUB_CMDLINE_LINUX_DEFAULT=""/' /etc/default/grub
 +
 +vorher:
 +  GRUB_HIDDEN_TIMEOUT=0
 +  GRUB_HIDDEN_TIMEOUT_QUIET=true
 +  GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
 +
 +nachher:
 +  GRUB_HIDDEN_TIMEOUT=10
 +  GRUB_HIDDEN_TIMEOUT_QUIET=false
 +  GRUB_CMDLINE_LINUX_DEFAULT=""
 +
 +Beim nächsten Start des Rechners, kann man den Bootprozess mitverfolgen und Fehler, die beim booten auftreten, schnell erkennen.
 +
 +Damit die Ausgabe schon beim nächsten Bootvorgang schon zu sehen sind und
 +man nicht auf das nächste Kernelupdate warten muss,
 +kann man dieses Kommando ausführen:
 +  # aptitude -y reinstall grub-pc
 +
 +
 +===== Den richtigen Standard-View-er in Ubuntu aktivieren =====
 +
 +In Ubuntu ist standardmäßig der View'er des //GNU Midnight Commander// aktiv, mit dem kann man aber kaum richtig arbeiten.
 +
 +Um den richtigen View'er aus dem **vi**-Paket zu aktivieren, braucht man nur die folgenden beiden Kommandos abschicken:
 +
 +So mal ganz fix den Sym-Link umbiegen:
 +  # rm -f /etc/alternatives/view
 +  # ln -s /usr/bin/vim.basic /etc/alternatives/view
 +
 +So geht es richtig:
 +  # man update-alternatives
 +
 +Standard-View-er setzen:
 +  # update-alternatives --config view
 +  Es gibt 3 Auswahlmöglichkeiten für die Alternative view (welche /usr/bin/view bereitstellen).
 +  
 +    Auswahl      Pfad                    Priorität Status
 +  ------------------------------------------------------------
 +    0            /usr/bin/mcview-debian   25        Auto-Modus
 +    1            /usr/bin/mcview-debian   25        manueller Modus
 +    2            /usr/bin/see                     manueller Modus
 +    3            /usr/bin/vim.basic       10        manueller Modus
 +  
 +  Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten,
 +  oder geben Sie die Auswahlnummer ein: 3
 +  update-alternatives: Verwende /usr/bin/vim.basic, um /usr/bin/view (view) in manueller Modus bereitzustellen.
 +
 +**__es geht aber auch automatisch:__**
 +  # aptitude install vim
 +  # update-alternatives --set view /usr/bin/vim.basic
 +
 +
 +===== Den richtigen Standard-Editor in Ubuntu aktivieren =====
 +
 +In Ubuntu ist standardmäßig der Editor //nano// aktiv (kompatibel zum //joe//).
 +
 +Manche mögen ihn auch, ich gebe zu, bevor ich den //vi// lieben gelernt habe, war der //joe// mein Lieblingseditor.
 +
 +Aber das ist schon ca. 9 Jahre her...
 +
 +Den Standardeditor stellt man in Ubuntu wie folgt wieder auf den //vi// (den einzig wahren Unix/Linux-Editor) um.  ;-)
 +
 +So mal ganz fix den Sym-Link umbiegen:
 +  # rm -f /etc/alternatives/editor
 +  # ln -s /usr/bin/vi /etc/alternatives/editor
 +
 +So geht es richtig:
 +  # man update-alternatives
 +
 +Standard-Editor setzen:
 +  # update-alternatives --config editor
 +  Es gibt 4 Auswahlmöglichkeiten für die Alternative editor (welche /usr/bin/editor bereitstellen).
 +  
 +    Auswahl      Pfad                    Priorität Status
 +  ------------------------------------------------------------
 +    0            /bin/nano                40        Auto-Modus
 +    1            /bin/ed                 -100       manueller Modus
 +    2            /bin/nano                40        manueller Modus
 +    3            /usr/bin/mcedit-debian   25        manueller Modus
 +    4            /usr/bin/vim.basic       10        manueller Modus
 +  
 +  Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten,
 +  oder geben Sie die Auswahlnummer ein: 4
 +  update-alternatives: Verwende /usr/bin/vim.basic, um /usr/bin/editor (editor) in manueller Modus bereitzustellen.
 +
 +**__es geht aber auch automatisch:__**
 +  # aptitude install vim
 +  # update-alternatives --set editor /usr/bin/vim.basic
 +
 +
 +==== den Standard-Editor Benutzerabhängig konfigurieren ====
 +
 +Bei Ubuntu kann man das z.B. so machen:
 +  # echo 'SELECTED_EDITOR="/bin/ed"' > ~/.selected_editor
 +oder
 +  # echo 'SELECTED_EDITOR="/usr/bin/vim.basic"' > ~/.selected_editor
 +oder
 +  # echo 'SELECTED_EDITOR="/usr/bin/vim.basic"' > ~/.selected_editor
 +oder
 +  # echo 'SELECTED_EDITOR="/bin/nano"' > ~/.selected_editor
 +
 +
 +===== Start-Stop-Scripte =====
 +
 +  * [[http://wiki.ubuntuusers.de/Dienste]]
 +
 +Das starten und stoppen von diensten funktioniert hier, genauso wie bei RedHat und anderen Linux-Distributionen.
 +
 +Zum Beispiel starte und stopt man den Apache so:
 +
 +  # /etc/init.d/apache2 start
 +  # /etc/init.d/apache2 status
 +  # /etc/init.d/apache2 stop
 +
 +Aber beim aktivieren bzw. deaktivieren der Start-Stop-Scripte stricken die Debianer Sonderlocken!
 +
 +
 +Zum Glück kann man auch auf Ubuntu das von RedHat bekannte //chkconfig// installieren:
 +
 +  # aptitude install chkconfig lsb
 +
 +Allerdings erfordert //chkconfig// die //LSB//, und die wiederum erfordern einen LSB-konformen Header in den Start-Stop-Scripten.
 +
 +in dem ungefähr soetwas steht wie das folgende:
 +
 +**Allgemein:**
 +  ### BEGIN INIT INFO
 +  # Provides:          <Dienstname>
 +  # Required-Start:    <das muss schon laufen>
 +  # Required-Stop:     <das muss noch laufen>
 +  # Should-Start:      <Software die schon laufen muss>
 +  # Should-Stop:       <Software die noch laufen muss>
 +  # Default-Start:     <Start-Run-Level>
 +  # Default-Stop:      <Stop-Run-Level>
 +  # Short-Description: <Dienstbeschreibung>
 +  ### END INIT INFO
 +
 +**konkret für Squid:**
 +  ### BEGIN INIT INFO
 +  # Provides:          squid
 +  # Required-Start:    $local_fs $network
 +  # Required-Stop:     $local_fs $network
 +  # Should-Start:      $named
 +  # Should-Stop:       $named
 +  # Default-Start:     2 3 4 5
 +  # Default-Stop:      0 1 6
 +  # Short-Description: Squid HTTP Proxy
 +  ### END INIT INFO
 +
 +
 +So wird ein neuer Dienst bei RedHat zum init-System hinzugefügt:
 +  # chkconfig --add <Dienstname>
 +  # chkconfig --add squid
 +
 +So wird ein neuer Dienst bei RedHat aktiviert:
 +  # chkconfig --level <Start-Run-Level> <Dienstname> on
 +  # chkconfig --level 2345 squid on
 +
 +
 +So wird ein Dienst bei RedHat deaktiviert:
 +  # chkconfig --level <Dienstname> off
 +  # chkconfig --level <Start-Run-Level> <Dienstname> off
 +  # chkconfig --level squid off
 +  # chkconfig --level 2345 squid off
 +
 +So wird ein Dienst bei RedHat aus dem init-System entfernt:
 +  # chkconfig --delete <Dienstname>
 +  # chkconfig --delete squid
 +
 +
 +**Leider ignorieren die Debianer (sowie Ubuntu und Co.) den LSB-Header, bei Debian und Co. muss man die Infos auf der Kommandozeile übergeben!?!?!?!?**
 +
 +Das ist eigentlich Schwachsinn!
 +
 +Deshalb muss man diese Infos immer auf der Kommandozeile mit angeben...
 +
 +
 +Dienst deaktivieren (bis zum nächsten Upgrade):
 +  # update-rc.d -f <Dienstname> remove
 +
 +Dienst aktivieren:
 +  # update-rc.d <Dienstname> defaults
 +
 +So wird ein neuer Dienst bei Ubuntu zum init-System hinzugefügt:
 +  # update-rc.d <Dienstname> defaults
 +oder
 +  # update-rc.d <Dienstname> defaults <Start-Position in der Reihenfolge aller Dienste> <Stop-Position in der Reihenfolge aller Dienste>
 +oder
 +  # update-rc.d <Dienstname> start <Start-Run-Level> .
 +oder
 +  # update-rc.d <Dienstname> stop <Stop-Run-Level> .
 +oder
 +  # update-rc.d <Dienstname> start <Start-Run-Level> . stop <Stop-Run-Level> .
 +
 +
 +und jetzt konkret am Beispiel von Squid:
 +
 +Dienst deaktivieren (bis zum nächsten Upgrade):
 +  # update-rc.d -f squid remove
 +
 +Dienst aktivieren:
 +  # update-rc.d squid defaults
 +oder
 +  # update-rc.d squid defaults 30 30
 +oder
 +  # update-rc.d squid stop 0 1 6 .
 +oder
 +  # update-rc.d squid start 2 3 4 5 . stop 0 1 6 .
 +
 +
 +Man kann auch das von Ubuntu empfohlene Front-End zu //update-rc.d// installieren:
 +
 +  # aptitude install rcconf
 +
 +//rcconf// ist das einfachste Werkzeug für diesen Zweck aber leider zeigt es nur die Dienste des aktuellen RunLevels an.
 +
 +//**sysv-rc-conf**// ist eine Erweiterung von //rcconf//, mit dem man nicht nur die Dienste des aktuellen Runlevels bearbeiten kann,
 +sondern alle Dienste - also Vorsicht! => ''aptitude install sysv-rc-conf'' (universe)
 +
 +
 +===== Upstart =====
 +
 +Ubuntu stellt allmählich vom [[::SysVinit]] auf [[::Upstart]] um.
 +
 +Der TFTP-Dienst wird zum Beispiel über folgenden Eintrag gesteuert:
 +
 +  # vi /etc/default/tftpd-hpa
 +  
 +  RUN_DAEMON="no"
 +
 +Alle //Upstart//-Dienste mit Status-Info auflisten:
 +  # initctl list
 +  tftpd-hpa start/running
 +  hostname stop/waiting
 +
 +Wenn ein Dienst das Kommando //status// unterstützt, kann man seinen Status so abfragen:
 +  # service tftpd-hpa status
 +  tftpd-hpa start/running
 +
 +Alle //Upstart//-Dienste mit Status-Kommando aufrufen (nicht alle Dienste unterstützen das Status-Kommando):
 +  # service --status-all
 +   [ ? ]  hostname
 +   [ - ]  lm-sensors
 +   [ + ]  logd
 +   [ + ]  ssh
 +
 +   [ ? ] - Status-Kommando wir dnicht unterstützt / Status nicht ermittelbar
 +   [ - ] - Dienst wurde angehalten
 +   [ + ] - Diensta wurde gestartet
 +
 +
 +===== automatische Update's =====
 +
 +
 +==== Kommandozeile ====
 +
 +
 +=== universell ===
 +
 +  # aptitude install cron-apt unattended-upgrades
 +
 +  # ls -l /etc/cron-apt/
 +  
 +  drwxr-xr-x 2 root root 4096 2010-04-15 11:43 action.d
 +  -rw-r--r-- 1 root root 6261 2010-04-15 11:40 config
 +  drwxr-xr-x 2 root root 4096 2008-11-05 20:33 config.d
 +  drwxr-xr-x 2 root root 4096 2008-11-05 20:33 errormsg.d
 +  drwxr-xr-x 2 root root 4096 2008-11-05 20:33 logmsg.d
 +  drwxr-xr-x 2 root root 4096 2008-11-05 20:33 mailmsg.d
 +  drwxr-xr-x 2 root root 4096 2008-11-05 20:33 mailonmsgs
 +  drwxr-xr-x 2 root root 4096 2008-11-05 20:33 syslogmsg.d
 +  drwxr-xr-x 2 root root 4096 2008-11-05 20:33 syslogonmsgs
 +
 +  # ls -l /etc/cron-apt/action.d
 +  
 +  -rw-r--r-- 1 root root 18 2008-11-05 20:33 0-update
 +  -rw-r--r-- 1 root root 64 2008-11-05 20:33 3-download
 +  -rw-r--r-- 1 root root 16 2010-04-15 11:43 9-install
 +
 +  # vi /etc/cron-apt/config
 +
 +
 +  # vi /etc/apt/apt.conf.d/10periodic
 +  
 +  APT::Periodic::Unattended-Upgrade "1";
 +
 +  # vi /etc/apt/apt.conf.d/20auto-upgrades
 +  
 +  APT::Periodic::Unattended-Upgrade "1";
 +
 +  # vi /etc/apt/apt.conf.d/50unattended-upgrades
 +  
 +  Unattended-Upgrade::Allowed-Origins {
 +          "Ubuntu lucid-security";
 +          "Ubuntu lucid-updates";
 +  };
 +
 +
 +==== Gnome ====
 +
 +=> [[Gnome]]
 +
 +
 +===== Multimedia =====
 +
 +Leider sind viele Codec's wie z.B. MP3 oder DivX nach der BS-Installation nicht vorhanden.
 +Dafür muss man z.B. ein zusätzliches Repository einbinden.
 +
 +
 +==== nVidia ====
 +
 +unter Verwendung von __**nVidia**-Karten__, ist es ratsam, diese Einstellung vorzunehmen:
 +  > vi /etc/default/grub
 +  ...
 +  GRUB_TIMEOUT_STYLE=menu
 +  GRUB_TIMEOUT=10
 +  ...
 +  GRUB_CMDLINE_LINUX="nomodeset"
 +  ...
 +  
 +  > update-grub
 +
 +Anderenfalls kann es sein, dass unter Verwendung von UEFI-Boot das nVidia-Treiber-Update nicht funktioniert, weil man zur Eingabe des finalen Passwortes, das Menü nicht sehen kann (schwarzer Bildschirm).
 +
 +Wenn man noch andere Betriebssystem in diesem Rechner auf anderen Platten installiert hat, dann will man vielleicht diese Option noch setzen:
 +  GRUB_DISABLE_OS_PROBER=true
 +
 +...unter Umständen kann es auch notwendig sein, **plymouth** noch abzuschalten, weil das mit der Option **nomodeset** nicht immer klar kommt:
 +  GRUB_CMDLINE_LINUX="nomodeset noplymouth"
 +
 +oder ganz radikal:
 +  > apt -y purge plymouth
 +  > apt -y autoremove
 +
 +**nVidia**-Treiber-Installation:
 +  > apt -y install ubuntu-drivers-common alsa-utils
 +  > ubuntu-drivers install
 +  > ubuntu-drivers devices
 +  > reboot
 +
 +__**Leider kommt es seit [[https://www.linuxforen.de/forums/archive/index.php/t-229797.html|2007]] zu sporadischen Systemhängern oder sporadischen Reboots in Verbindung mit nVidia-Treibern und neuer PC-Hardware.**__ //(Ich selbst habe 2021 monatelang nach dem Fehler in meinem neuen PC mit ''Ubuntu 20.04 LTS'' gesucht.)//
 +
 +__**Alternativ kann man den [[https://nouveau.freedesktop.org/|nouveau]]-Treiber verwenden, er ist in Ubuntu der vorinstallierte Standard-Treiber für nvidia-Karten und ersetzt damit den älteren nv-Treiber**__
 +  > apt install xserver-xorg-video-nouveau
 +
 +
 +==== Ubuntu 20.04 ====
 +
 +die empfohlenen Treiber (z.B. von nVidia) automatisch installieren lassen:
 +  > ubuntu-drivers devices
 +  == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
 +  modalias : pci:v000010DEd00001CB3sv00001028sd000011BEbc03sc00i00
 +  vendor   : NVIDIA Corporation
 +  model    : GP107GL [Quadro P400]
 +  driver   : nvidia-driver-460 - distro non-free
 +  driver   : nvidia-driver-450-server - distro non-free
 +  driver   : nvidia-driver-470 - distro non-free recommended
 +  driver   : nvidia-driver-390 - distro non-free
 +  driver   : nvidia-driver-470-server - distro non-free
 +  driver   : nvidia-driver-418-server - distro non-free
 +  driver   : nvidia-driver-460-server - distro non-free
 +  driver   : xserver-xorg-video-nouveau - distro free builtin
 +  
 +  > ubuntu-drivers install
 +  
 +  > reboot
 +
 +  > nvidia-smi
 +  Sun Oct  3 11:43:36 2021       
 +  +-----------------------------------------------------------------------------+
 +  | NVIDIA-SMI 470.63.01    Driver Version: 470.63.01    CUDA Version: 11.4     |
 +  |-------------------------------+----------------------+----------------------+
 +  | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
 +  | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
 +  |                                                    |               MIG M. |
 +  |===============================+======================+======================|
 +  |    NVIDIA GeForce ...  Off  | 00000000:0A:00.0  On |                  N/A |
 +  | 30%   32C    P8     6W /  75W |    398MiB /  3903MiB |      1%      Default |
 +  |                                                    |                  N/A |
 +  +-------------------------------+----------------------+----------------------+
 +                                                                                 
 +  +-----------------------------------------------------------------------------+
 +  | Processes:                                                                  |
 +  |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
 +  |        ID   ID                                                   Usage      |
 +  |=============================================================================|
 +  |    0   N/ N/A      1623      G   /usr/lib/xorg/Xorg                 35MiB |
 +  |    0   N/ N/A      2203      G   /usr/lib/xorg/Xorg                160MiB |
 +  |    0   N/ N/A      2427      G   cinnamon                           35MiB |
 +  |    0   N/ N/A      2696      G   ...AAAAAAAAA= --shared-files       14MiB |
 +  |    0   N/ N/A      2890      G   ...AAAAAAAAA= --shared-files       15MiB |
 +  |    0   N/ N/A      3432      G   /usr/lib/firefox/firefox          123MiB |
 +  |    0   N/ N/A      3524      G   /usr/lib/firefox/firefox            1MiB |
 +  +-----------------------------------------------------------------------------+
 +
 +
 +==== Ubuntu 18.04 und 20.04 ====
 +
 +wenn man die schnelle Server-Installation erledigt hat, dann den Desktop drauf: [[::icewm#Ein Beispiel mit Ubuntu 20.04 LTS]]
 +
 +und jetzt die Multimedia-Software:
 +  > apt install vlc vlc-l10n libdvd-pkg 
 +  > dpkg-reconfigure libdvd-pkg
 +
 +
 +
 +==== 2014 ====
 +
 +  * [[http://www.videolan.org/developers/libdvdcss.html]]
 +
 +libdvdcss installieren:
 +  > echo 'deb http://download.videolan.org/pub/debian/stable /' > /etc/apt/sources.list.d/libdvdcss.list
 +  > wget -O - http://download.videolan.org/pub/debian/videolan-apt.asc | apt-key add -
 +  > aptitude update
 +  > aptitude install libdvdcss2
 +
 +manchmal braucht man das ja (z.B. hinter einer FW):
 +  > vi videolan-apt.asc
 +<file>
 +-----BEGIN PGP PUBLIC KEY BLOCK-----
 +Version: GnuPG v1.4.12 (GNU/Linux)
 +
 +mQENBFIcm2kBCADL5XxrZ27r2z3qqV6r3FUfg90UvM58wvxryAaoXr+y+W0Joh/m
 +7+Vtxv0DBekTrACuGy7Vg1NzsFHNzEuAbPctpbZgffNSwxgrToFERenEbF14f7Ff
 +xDkF3vLgyll5frNozE2csAaj19lTQLBTNZbhkEys0V844zQSDN9/UYp5BWWXRFt8
 +xHtocGayloFPdVOcWA+B8gO6hBWyZa7QaMKVvzEiHyqzmxVINJ1k1P3PFqMuHGOF
 +JsPY4ARRZzQ+JYfrtgoqtAh9LYMQAfKmn7F3nlQyUuocEsKuhS0kIDtvLxTdjkef
 +ZYcmQXWxPSxUan6lqP3LGrkMdEmLrzwnFkujABEBAAG0MFZpZGVvTEFOIEFQVCBT
 +aWduaW5nIEtleSA8dmlkZW9sYW5AdmlkZW9sYW4ub3JnPokBOAQTAQIAIgUCUhyb
 +aQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQa8peTbhCiNk7HQgAyy/H
 +Oyzk0UdrFv0bZgqZLxJcdB7ctcruYNkO0eZE09+sPjzBuX52sx6GuXElG/NUw/Qo
 +GUB5kDDKLyeddpyQghU7UhsIZoNdSb2UfVCqSosJ1G7dacRlVh5LFNF1ptYjXGza
 +NIp0zme8YtoQKVCO48YYIf+j94Q5AukTEd1vdPAUAm7e4Q6uYcvpyz1TIoZgnnO/
 +/fcoWPQrRHnxfsIB0GrqVkHncjt/U1qsxQh7hAJnKjwgnveUe7Q2ey54QId9BQWZ
 +HOxeIXpbhFGwBmHxBGAnDWmg557YlsUI4ejiKy6DBsO8h91NL44cbN8H61Z+T3UH
 +NWXycr/4PClWZEitkYhGBBARAgAGBQJSHJxcAAoJEGFgnhjAr/EP+DAAmwfLrnFE
 +ktmlOv8YssNOBlCh8cEvAJ9qPJoCbY4tWZtaC6aa4R2owLsSoohGBBARAgAGBQJS
 +HJxpAAoJEHGAcTvljRrcaywAn3Gf8fHXVdgpCrycr584Iie1+mEyAKCR8V9kt5DW
 +F6VGUXbhV9INKSKCKbkBDQRSHJtpAQgAw4TQFpFs9PthvzTj/fpa6rioz2gYIGxG
 +TQHuC8LsOCEKuy4AFa8XF2d89NM7ApF/ixU3QDKd7I6YydkW/yp3rTCbnI+xS649
 +yxDd2RDIqVPsqjWuO8jEs8sQ/wOWMnDdCU95Zwv0BU491u63UbRzamv5+kw7QGQq
 +Pe4VAnsiVxwnV1GOa9Ft0FmaD/m7KhFWAGkTF3pV432gH93V8srPZD+CWZgld97E
 +45TXXjzWK03NnUyIK+rx+LHJf4I8IFFP0F77FJDIFRJ6BiYbXoKNDVk/nvy1jWg5
 +98dFi7jzw1t83EnAVgTvBR+bQqBpB69EtY2WUykABMnjMj9t0Y6eFwARAQABiQEf
 +BBgBAgAJBQJSHJtpAhsMAAoJEGvKXk24QojZNMIH/3YE92QZ22YYdl6TchMDswsB
 +FXvsS2/W0xhvKvG5YuyCKoUKYCornK74YrsRURAhYAOvOfrcWeq+wtmUmXrhNvZ2
 +Qz370hS2EW6Db7FnMdu188LrVZS0AmC1ztu8/DlwRcRF4e05CVgwUMngG2RiAuZN
 +1ZYQiHJwU2444/Vm+ny/YD55I+RUmKFW69iAvWnJrz5QzohoeZefr48c3FU1glKY
 +E3OtJK/T+/nOVzt+Kzjw8mmrtkZqck/ZVpA51ikcTRSpyLw5ioLpzLFbB/Ew+Dx3
 +CzFOZhG9UxBV08BOw9a30090OhxPDoKBu210T3tBW9XWmFPohT2fsg5OXZHvp/Q=
 +=pGjl
 +-----END PGP PUBLIC KEY BLOCK-----
 +</file>
 +
 +==== alt ====
 +
 +
 +=== per Medibuntu ===
 +
 +Allerdings soll es auch etwas einfacher gehen (hab ich aber noch nicht getestet).
 +
 +  * [[http://medibuntu.org/]]
 +  * [[http://medibuntu.org/repository.php]]
 +  * [[https://help.ubuntu.com/community/Medibuntu]]
 +  * [[http://packages.medibuntu.org/]]
 +
 +
 +== beim ersten Mal ==
 +
 +ein neues Repository einrichten, damit man **alle** Filme ansehen kann:
 +  # wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list -O /etc/apt/sources.list.d/medibuntu.list
 +  # aptitude update
 +  # aptitude install medibuntu-keyring
 +  # aptitude update
 +  # aptitude -y safe-upgrade
 +  # aptitude autoclean
 +  # aptitude -y install app-install-data-medibuntu apport-hooks-medibuntu libdvdcss2 non-free-codecs $(aptitude search codecs | awk '/w[0-9]*codecs/ {print $2}')
 +
 +
 +== nach einem Release-Update ==
 +
 +Nach einem [[ubuntu#release-upgrade|Release-Update]] ist das Repository deaktiviert, deshalb müssen folgende Kommandos nach einem Release-Update erneut ausgeführt werden:
 +  # wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list -O /etc/apt/sources.list.d/medibuntu.list
 +  # aptitude update
 +  # aptitude install medibuntu-keyring
 +  # aptitude update
 +  # aptitude -y safe-upgrade
 +  # aptitude autoclean
 +
 +
 +===== Ubuntu-Paketabhängigkeitshölle =====
 +
 +  * [[http://www.freiesmagazin.de/mobil/freiesMagazin-2010-01-bilder.html#10_01_apt-depends ]]
 +
 +=== Raus aus der Ubuntu-Paketabhängigkeitshölle ===
 +
 +**von Dominik Wagenführ**
 +
 +Wer ein "normales" Ubuntu-System, d. h. eines mit Internetanschluss
 +besitzt, wird das Problem nicht kennen. Alle anderen Nutzer sind aber
 +sicherlich schon des Öfteren verzweifelt, als sie ein Paket installieren
 +wollten, aber keinen direkten Internetzugang hatten. Das Paket
 +herunterladen ist schön und gut, aber es fehlen immer die ganzen
 +Abhängigkeiten.
 +
 +Die native Lösung, bei der man ein Paket nach dem anderen per USB-Stick
 +von einem PC mit Internetanschluss zu dem ohne trägt, ist alles andere
 +als komfortabel. Die zweite direkte Lösung wäre die Installation der
 +Pakete auf dem ersten Ubuntu-System, um diese dann per USB-Stick zu
 +System B zu tragen. Der Haken an der Sache: Welche Pakete waren schon
 +auf System 1 installiert, welche sind wirklich notwendig? Wenn man zwei
 +ähnliche Systeme betreibt, ist das meist noch ein lösbares Problem, aber
 +wenn diese sich total unterscheiden, z. B. ein Ubuntu-System als Basis
 +und ein Kubuntu-System als Ziel, dann ist unklar welche GTK- oder
 +GNOME-Abhängigkeiten nachinstalliert werden müssen.
 +
 +Aus diesem Grund wäre es gut, wenn man alle Pakete für eine
 +Offline-Installation herunterladen kann, die man als Abhängigkeiten für
 +ein zu installierendes Paket benötigt. Das klingt nach Rekursion und
 +genau darin liegt die Lösung.
 +
 +**Hinweis:** Die hier vorgestellte Lösung sollte auf allen Systemen
 +funktionieren, die APT für die Paketverwaltung einsetzen (z. B. Debian,
 +alle Ubuntu-Derivate etc.).
 +
 +
 +=== so ermittelt man die Abhängigkeiten für "mc" ===
 +
 +  # apt-cache depends -i mc
 +  mc
 +    Hängt ab: libc6
 +    Hängt ab: libglib2.0-0
 +    Hängt ab: libgpm2
 +    Hängt ab: libslang2
 +
 +
 +=== Liste der Abhängigkeiten erstellen ===
 +
 +Liste der gewünschten Patete erstellen:
 +  # vi pakete.txt
 +  mc
 +  screen
 +  star
 +
 +Die Abhängigkeiten der gewünschten Pakete ermitteln:
 +  # xargs -a pakete.txt apt-cache depends --recurse -i ${1} | nawk '{ print $NF }' | sort | uniq > pakete_alle.txt
 +
 +
 +=== Pakete saugen ===
 +
 +Jetzt geht es zum saugen:
 +
 +Durch den Parameter "-d" wird nicht installiert und durch den Parameter "--reinstall" werden auch die schon installierten Pakete erneut gesaugt:
 +  # xargs -a pakete_alle.txt apt-get install --reinstall -d ${1}
 +
 +Jetzt liegen alle Pakete im Verzeichnis ///var/cache/apt/archives//.
 +
 +Es geht auch mit dem neuen Programm "aptitude":
 +  # aptitude update
 +  # aptitude download $(cat Pakete_alle.txt)
 +
 +**Aptitude legt die gesaugten Pakete ins aktuelle Verzeichnis.**
 +
 +
 +=== Installation der Pakete ===
 +
 +Auf dem einsamen Rechner werden die Pakete dann vom USB-Stick installiert:
 +
 +  # dpkg -i *.deb
 +
 +
 +===== eine umfangreiche Ubuntu-Installation für schwache Rechner =====
 +
 +