apt

Kernel aus Backports installieren

21. Juli 2022 · Betriebssysteme · andreas · Kein Kommentar

Je nach verwendeter Hardware fehlt mit ein bißchen Pech im Kernel der Debian-Stable-Version altersbedingt die Unterstützung für einige Hardware-Komponenten.

Das aktuelle Debian Bullseye verwendet standardmäßig den Kernel 5.10

$ uname -a
Linux *** 5.10.0-16-amd64 #1 SMP Debian 5.10.127-1 (2022-06-30) x86_64 GNU/Linux

Glücklicherweise gibt es als einfache und Distributions-konforme Lösung für solche Fälle das Backports-Repository:

Backports are packages taken from the next Debian release (called “testing”), adjusted and recompiled for usage on Debian stable. Because the package is also present in the next Debian release, you can easily upgrade your stable+backports system once the next Debian release comes out. [Quelle]

Die Backports bieten die Möglichkeit, mit Hilfe der gewohnten Paketverwaltung - sofern bereitgestellt - auf eine neuere Version eines Pakets zu aktualisieren, ohne dabei ein Franken-Debian zu erschaffen.

Als erstes müssen, sofern dies nicht bei der Installation des Systems bereits angewählt wurde, die Backports in der Datei “/etc/apt/sources.list” ergänzt werden:

# bullseye-backports, previously on backports.debian.org
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

Dann kann man sich nach einem “apt update” auf die Suche nach einem passenden Kernel machen:

$ sudo apt search linux-image
Sortierung… Fertig
Volltextsuche… Fertig
...
linux-image-5.10.0-11-amd64/stable-security 5.10.92-2 amd64
Linux 5.10 for 64-bit PCs (signed)
...
linux-image-5.18.0-0.bpo.1-amd64/bullseye-backports 5.18.2-1~bpo11+1 amd64
Linux 5.18 for 64-bit PCs (signed)
...

In der Liste werden alle Kernel-Versionen angezeigt, die installiert werden können, i.d.R. ist die Version mit möglichst wenigen Zusätzen im Namen die richtige:

$ sudo apt install linux-image-5.18.0-0.bpo.1-amd64/bullseye-backports
...
Version »5.18.2-1~bpo11+1« (Debian Backports:bullseye-backports [amd64]) für »linux-image-5.18.0-0.bpo.1-amd64« gewählt.
...
Die folgenden NEUEN Pakete werden installiert:
  linux-image-5.18.0-0.bpo.1-amd64
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Nach erfolgreicher Installation reicht ein Neustart, um mit dem aktualisierten Kernel zu starten.

$ uname -a
Linux *** 5.18.0-0.bpo.1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.18.2-1~bpo11+1 (2022-06-14) x86_64 GNU/Linux

Im GRUB-Menü kann jederzeit wieder der bisher verwendete Kernel gestartet werden und falls der neue Kernel wieder entfernt werden soll, reicht ein einfaches “sudo apt purge …”, um die Installation rückgängig zu machen.


Metapakete 'gnome' und 'gnome-desktop-environment'

19. November 2008 · Betriebssysteme · andreas · Kein Kommentar

Versucht man nach der Installation ein paar der GNOME-Pakete (wie z.B. Evolution) loszuwerden, verunsichert apt mit dem freundlchen Hinweis, daß man mit diesem Schritt auch gleich die Pakete “gnome” sowie “gnome-desktop-environment” entsorgt:

Die folgenden Pakete werden ENTFERNT:
  evolution evolution-exchange evolution-plugins gnome
  gnome-desktop-environment

Was auf den ersten Blick gefährlich aussieht, ist auf den zweiten Blick glücklicherweise harmlos, handelt es sich bei den beiden Paketen doch um sogenannte Metapakete, was auch erklärt, warum diese bei der Deinstallation eines ihrer Teile gehen müssen.

Gefährlich wird es erst nach der Deinstallation, denn dann meint apt jedesmal, etwas autoremove wäre angebracht:

Die folgenden Pakete wurden automatisch installiert und werden nicht länger benötigt:
  bluez-gnome evolution-common libsdl1.2debian libgnomekbd2
  libsdl1.2debian-alsa libepc-ui-1.0-1 evolution-webcal ekiga python-gst0.10
  libmtp7 gcalctool libpth20 gnome-nettool gnome-media metacity libepc-1.0-1
  gnome-desktop-data libgtk-vnc-1.0-0 nautilus libgksu1.2-0 python-notify
  aspell pkg-config genisoimage gnome-settings-daemon libvorbisfile3
  libgda3-common python-gnome2-extras gucharmap zenity libgksuui1.0-1 cheese
  liburi-perl libspectre1 gnome-network-admin libsvga1 libgnome-media0
  app-install-data gnome-power-manager libexchange-storage1.2-3 unzip
  gnome-cards-data totem-plugins gnome-screensaver rhythmbox
  libgtksourceview1.0-0 python-gdata alacarte gedit gnome-menus liblircclient0
  python-gtksourceview2 gtk2-engines-pixbuf system-config-printer dvd+rw-tools
  gnome-control-center libhtml-parser-perl libapm1 libpisock9 libcamel1.2-11
  libpt-1.10.10-plugins-alsa gnome-themes libtrackerclient0 metacity-common
  seahorse libggzmod4 libxml-twig-perl mysql-common libtotem-plparser10
  totem-common vinagre swfdec-gnome libedata-cal1.2-6 libpt-1.10.10
  gnome-media-common nautilus-data libgpod3 libxml-parser-perl libgalago3
  system-tools-backends libgweather1 gtkhtml3.14 guile-1.8-libs
  libmysqlclient15off python-gtkmozembed python-gtkhtml2 libgnomekbd-common
  p7zip gedit-common gnome-utils gnome-themes-extras libdmx1 libgnome-pilot2
  gdm-themes libmusicbrainz4c2a libnet-dbus-perl fast-user-switch-applet arj
  gnome-about gnome-volume-manager nautilus-cd-burner libexempi3 gtk2-engines
  libgnomeprint2.2-data libgtksourceview2.0-common libkpathsea4 libgnomekbdui2
  eog gdm libgtksourceview2.0-0 libslab0 capplets-data gnome-backgrounds
  python-eggtrayicon libegroupwise1.2-13 python-sexy python-xdg gnome-spell
  libggz2 libgweather-common libecal1.2-7 wodim libgdata1.2-1
  libgtksourceview-common vino gnome-system-monitor libao2 evince
  libbluetooth2 gnome-games-data libgdata-google1.2-1 gnome-app-install
  gnome-user-guide libebook1.2-9 libopal-2.2 libedataserverui1.2-8
  totem-gstreamer libgnome-window-settings1 libmetacity0 libedata-book1.2-2
  evolution-data-server cdrdao libgnomevfs2-bin libedataserver1.2-9 zip
  python-gdbm gnome-core gnome-netstatus-applet dmz-cursor-theme
  python-4suite-xml libxklavier12 liboobs-1-4 libgucharmap6 gnome-applets
  libgda3-3 svgalibg1 libpt-1.10.10-plugins-v4l libgpgme11 python-gmenu
  libggzcore9 libgmyth0 gconf-editor gnome-system-tools libhtml-tree-perl
  gnome-panel libwww-perl gnuchess gstreamer0.10-gnomevfs deskbar-applet
  libnautilus-burn4 python-gnome2-desktop evolution-data-server-common
  gnome-applets-data libgnomeprint2.2-0 libhtml-tagset-perl desktop-file-utils
  libavahi-ui0 transmission-common gnome-session libgtkglext1
  gstreamer0.10-tools libgnomeprintui2.2-0 totem-mozilla libgdl-1-0
  libgtkhtml3.14-19 libgnomeprintui2.2-common file-roller serpentine
  libopenobex1 libspeexdsp1 transmission-gtk gnome-panel-data sound-juicer
  libgnomecups1.0-1 libpisync1 libgdl-1-common gnome-vfs-obexftp

und schlägt gleich noch vor

Verwenden Sie »apt-get autoremove«, um sie zu entfernen.

Wer sich auf den hilfreichen Hinweis verlässt, steht anschließend tatsächlich ohne Destktop da, denn u.a. ist in der obigen Liste auch das Paket “gnome-core” zu finden, ohne das wieder Tipparbeit am Terminal angesagt ist.

Sicherlich kann man einfach darauf verzichten, apt-get autoremove auszuführen - sicherer ist aber ein

aptitude keep-all

das die aktuell installierten Pakete alle in die Rubrik “will ich behalten” einsortiert.


Debian-basierte Systeme aktualisieren mit apt-cron

10. September 2008 · Betriebssysteme · andreas · Kein Kommentar

Ähnlich zu den automatischen Updates unter Windows gibt es auch unter Debian-basierten Systemen die Aktualisierungsverwaltung, die mittels Icon in der Taskleiste darauf aufmerksam macht, daß Updates für das System verfügbar sind.

Bei Rechnern, die aber hauptsächlich “in der Ecke” stehen und ohne menschliche Interaktion auskommen sollen, hat dies den Nachteil, daß Updates nur sehr unregelmäßig durchgeführt werden, wenn sich mal wieder jemand aus anderen Gründen am System anmeldet.

Da die Aktualisierungsverwaltung im Westentlichen auch nichts anderes macht, als auf “apt-get” zuzugreifen, könnte ein möglicher Lösungsansatz in einer Automatisierung dieses Vorganges mittels “cron” bestehen - während dessen Realisierung man hoffentlich über das Paket “cron-apt” stolpert, das exakt für diese Aufgabe geschaffen wurde.

Nach der Installation mittels

apt-get install cron-apt

stehen die entsprechenden Konfigurationsdateien im Verzeichnis “/etc/cron-apt” zur Verfügung, wobei in einem ersten Schritt nur die Parameter der Datei “config” an die eigenen Wünsche angepasst werden müssen.

Standardmäßig lädt cron-apt die Pakete nur vom Server herunter und verschickt - je nach Konfiguration - eine entsprechende Mail an den zuständigen Administrator. Soll cron-apt die Pakete auch gleich installieren, so ist die Datei “/etc/cron-apt/action.d/3-download” durch Entfernen des Parameters “-d” anzupassen.

Wer vor dem Produktiveinsatz gerne einen Testlauf unter menschlicher Aufsicht durchführen möchte, kann dies mittels “cron-apt -s” tun.