Siduction Forum
Siduction Forum => Upgrade Warnings => Topic started by: ro_sid on 2023/11/21, 10:14:32
-
Achtung vor eventuell unangenehmen "Nebenwirkungen"!
Beim gestrigen (und auch noch heutigen) Update veranlaßt eine neue Network-Manager Version die Entfernung des dhcp-Klienten (isc-)dhclient - und vermutlich auch des (standardmäßig nicht installierten) (isc-) dhcp-Servers.
Hintergrund ist, daß der nm eine aktuellere dhclient Version verlangt, als die derzeit verfügbare. Es wird sich also vermutlich von selbst "beheben".
Ich weiß nicht und hatte auch keine Lust es auszuprobieren, ob damit den Netzwerkschnittstellen beim Start keine (dynamischen) IP-Adressen mehr zugewiesent werden.
Mein Ausweg war/ist: Mittels "aptitude" alle Upgrades vorzunehmen mit Ausnahme des Network-Managers und seiner Abhängigkeiten.
-
Man kann auch einfach
apt upgrade
ausführen.
-
Man kann auch einfach
apt upgrade
ausführen.
Habe ich dann auch vorher :) ausprobiert, aber dann wird nichts upgegradet, auch "der Rest" nicht, so etwa der neue Kernel.
-
towo:Defiant> sudo apt upgrade
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Paketaktualisierung (Upgrade) wird berechnet… Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
libcholmod4 libgdal33 librsync2 libspdlog1.10 python3-deprecation
Verwenden Sie »sudo apt autoremove«, um sie zu entfernen.
Die folgenden Pakete sind zurückgehalten worden:
libnm0 libnm0:i386 network-manager
Die folgenden Pakete werden aktualisiert (Upgrade):
gir1.2-upowerglib-1.0 libmysofa-dev libmysofa1 libnss-myhostname libnss-mymachines libnss-resolve libnss-systemd libpam-systemd libsystemd-dev libsystemd-shared libsystemd0 libsystemd0:i386 libudev-dev libudev1 libudev1:i386 libudisks2-0
libupower-glib-dev libupower-glib3 systemd systemd-container systemd-coredump systemd-dev systemd-resolved systemd-sysv systemd-timesyncd udev udisks2 upower
28 aktualisiert, 0 neu installiert, 0 zu entfernen und 3 nicht aktualisiert.
Es müssen 13,3 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 18,4 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n]
So, es wird nichts aktualisiert?
-
Oder ein
apt-mark hold network-manager
edlin
-
towo:Defiant> sudo apt upgrade
[...]
So, es wird nichts aktualisiert?
Glückwunsch, bei mir wurde gestern Abend nichts angeboten!
-
Da ich noch geschlafen hatte und nur den neuen Kernel gesehen habe, bin ich auf die Deinstallation des network-manager hereingefallen. ???
Es geht um dieses Desktop-System (hier muß der Vorgänger_kernel gedacht werden)
inxi -SMNxxx
System:
Host: nox Kernel: 6.6.2-1-siduction-amd64 arch: x86_64 bits: 64
compiler: gcc v: 13.2.0 clocksource: tsc Desktop: N/A wm: dk vt: 1
dm: startx Distro: siduction 2023.1.0 giants - nox - (202308160940)
base: Debian GNU/Linux trixie/sid
Machine:
Type: Desktop Mobo: ASUSTeK model: P5Q-PRO v: Rev 1.xx
serial: <superuser required> BIOS: American Megatrends v: 2102
date: 02/23/2009
Network:
Device-1: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet
vendor: ASUSTeK driver: ATL1E v: N/A pcie: speed: 2.5 GT/s lanes: 1
port: cc00 bus-ID: 02:00.0 chip-ID: 1969:1026 class-ID: 0200
Device-2: Techsan Co B2C2 FlexCopII DVB chip / Technisat SkyStar2 card
driver: b2c2_flexcop_pci v: kernel port: ec00 bus-ID: 05:00.0
chip-ID: 13d0:2103 class-ID: 0280
Meine Lösung:
Zunächst habe ich das System nicht neu gestartet.
Den network-manger habe ich wieder installiert, was aber dazu führt, das diesmal isc-dhcp-client entfernt wird.
apt show sagte mir, dass dieses Paket eingestellt wird und es braucht jemanden, der dhcp Adressen zuweißt.
Es wurde systemd-resolved und der Neustart ist ok. Schwein gehabt... :D
-
LANG=C apt policy isc-dhcp-client
isc-dhcp-client:
Installed: (none)
Candidate: 4.4.3-P1-4
systemctl status systemd-resolved.service
Unit systemd-resolved.service could not be found.
Bin trotzdem online™
Ps. Ein wenig nachgeforscht, NM kümmert sich selbst um systemd-resolved, man braucht also nichts zu unternehmen, wie es scheint.
PPs.
https://wiki.archlinux.org/title/NetworkManager#
[...]
4.6 DHCP client
By default NetworkManager uses its internal DHCP client. The internal DHCPv4 plugin is based on the nettools' n-dhcp4 library, while the internal DHCPv6 plugin is made from code based on systemd-networkd. [...]
-
Habs jetzt ebenfalls „gewagt“. Auch nach Neustart wieder ganz normal online.
edlin
-
Wer zwischenzeitlich auf isc-dhcp-client angewiesen ist, kann mit den dpkg tools die Version von 4.4.3-P1-4
auf 4.4.3-P1-5 erhöhen und ein scheinbar aktualisiertes Paket bauen (Der "Break" im aktuellen network-manager:
"Breaks: isc-dhcp-client (<< 4.4.3-P1-5)"
bezieht sich nur auf kleinere Versionen). Sobald die neue Version von isc-dhcp-client online zur Verfügung steht,
wird die selbst aktualisierte Version automatisch ersetzt. Ein Trick, ich weiß...
-
... dpkg tools ...
Was soll das sein?
-
@michaa7:
Ich meine die Binaries von dem "dpkg" Package. Du kannst im Einzelnen wie folgt verfahren:
Zunächst ins /tmp Verzeichnis wechseln:
$ cd /tmp
Dort ein temporäres Unterverzeichnis anlegen:
$ mkdir isc
Dann das aktuelle dhclient Paket holen:
$ apt-get download isc-dhcp-client
Das Paket ins Unterverzeichnis entpacken:
$ dpkg-deb -x isc-dhcp-client_4.4.3-P1-4_amd64.deb isc
Die control Datei aus dem Paket ins Verzeichnis isc/Debian entpacken:
$ dpkg-deb --control isc-dhcp-client_4.4.3-P1-4_amd64.deb isc/DEBIAN
Mit dem vi die control Datei editieren und die Version von 4.4.3-P1-4 auf 4.4.3-P1-5 ändern:
$ vi isc/DEBIAN/control
Danach das gesamte temporäre Verzeichnis in ein "aktualisiertes" Debian Paket packen:
$ dpkg -b isc isc-dhcp-client_4.4.3-P1-5_amd64.deb
Aufräumen:
$ rm -rf isc isc-dhcp-client_4.4.3-P1-4_amd64.deb isc
Zuletzt das modifizierte Paket installieren:
$ sudo dpkg -i isc isc-dhcp-client_4.4.3-P1-5_amd64.deb
Soweit ich es analysiert habe, wurde im network-manager ldgl. der Break eingefügt,
Offenbar will man den dhclient zwingen, seine Sicherheitspolitik in der nächsten Version
anzupassen. Zitat aus /usr/share/doc/network-manager/changelog.Debian.gz von
network-manager (1.44.2-5):
* Add versioned Breaks against isc-dhcp-client.
The AppArmor policy in isc-dhcp-client needs to be updated to account
for the move of the nm-dhcp-helper binary to /usr/libexec.
(Closes: #1056313)
-- Michael Biebl <biebl@debian.org> Mon, 20 Nov 2023 23:02:41 +0100
HTH
-
Wow, das IST eine Antwort :-)
... obwohl ich es so genau gar nicht benötige. Ich hatte nur nach irgend einer man page für dpkg --tool oder dpkg-tool oder ähnlichem gesucht und nichts gefunden. War reine Neugier. ;-) Denn ich war auch erstaunt dass die niedrigere Version dennoch funktioniert. Aber das hast du wohl erklärt mit dem Hinweis auf eine sicherheitsrelevante nicht funktionale Änderung.
Danke.
-
Es gibt auch ein paar funktionale Konsequenzen. Aus Gründen einer Pfadvereinheitlichung für einen bevorstehenden
Freeze wollte man die Pfade (insb. im network-manager) anpassen (siehe: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1026388). Deswegen wurde das Helfer Programm nm-dhcp-helper vom Verzeichnis
/usr/lib/NetworkManager ins Verzeichnis /usr/libexec verlegt. Davon unbeeindruckt verblieben die Referenzen
in den Konfigurationsdateien von isc-dhcp-client aber auf den alten Verzeichnissen. Wenn also dhclient die IP Adresse
einer Netzwerkschnittstelle bezieht, geht alles so lange gut, wie kein Helferprogramm des Netzwerk Managers benötigt
wird.
Sobald aber ein drahtloses Netzwerk vor der Vergabe der IP Adresse aber zunächst durch PW authentisiert werden muss, hängt
dhclient, weil es das Hilfsprogramm im falschen Verzeichnis sucht. Dagegen können die Entwickler von network-manager
wenig tun, da sie auf die Mithilfe der Entwickler von isc-dhcp-client angewiesen sind. Deswegen der Version Break, der die
Aufmersamkeit wecken sollte.
Dummerweise haben aber manche Anwender dem dhclient beim Upgrade den Vorzug vor dem nm gegeben, und die
Katastrophe nahm ihren Lauf...
-
Mh, die meisten, die MoW oder Giants installiert haben, sollten ohnehin IWD nutzen, welches ein eigenes DHCP Management nutzt.
Das Gleiche gilt für Umsteiger von WPA zu IWD welche sich an unsere Anweisungen gehalten haben.
-
Ich habe gestern beim DU die Pakete "isc-dhcp-client" & "python3-deprecation" deinstalliert und erst dann diesen Austausch hier gelesen. Wenn ich sie wieder installieren möchte, sollen viele andere wichtige Programme deinstalliert werden:
apt install isc-dhcp-client python3-deprecation
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
dnsmasq-base easy-rsa libeac3 libndp0 libnm0 libopenconnect5 libpkcs11-helper1 libpskc0 libstoken1 libteamdctl0 libtomcrypt1 libtommath1 libtss2-tcti-libtpms0 libtss2-tcti-spi-helper0
libtss2-tctildr0 libxmlsec1-openssl openconnect opensc opensc-pkcs11 openvpn pptp-linux python3-asn1crypto python3-mechanize python3-netifaces vpnc vpnc-scripts
Verwenden Sie »apt autoremove«, um sie zu entfernen.
Die folgenden zusätzlichen Pakete werden installiert:
isc-dhcp-common
Vorgeschlagene Pakete:
resolvconf isc-dhcp-client-ddns
Die folgenden Pakete werden ENTFERNT:
network-manager network-manager-openconnect network-manager-openvpn network-manager-pptp network-manager-vpnc plasma-nm
Die folgenden NEUEN Pakete werden installiert:
isc-dhcp-client isc-dhcp-common python3-deprecation
Ich warte damit lieber, bis das nicht mehr passiert. Richtig?
-
[...]
Ich warte damit lieber, bis das nicht mehr passiert. Richtig?
Besser ist es!
-
Ich habe mal noch eine grundsätzliche Verständnisfrage: Warum wird im Siduction-Handbuch (https://manual.siduction.org/index_de.html (https://manual.siduction.org/index_de.html)) geschrieben
Eine Aktualisierung des ganzen Systems wird mit diesem Befehl durchgeführt: apt full-upgrade.
UND Ein einfaches apt upgrade von Debian Sid ist normalerweise nicht empfohlen.
und im Debian-Wiki (https://wiki.debian.org/DebianUnstable#What_are_some_best_practices_for_testing.2Fsid_users.3F (https://wiki.debian.org/DebianUnstable#What_are_some_best_practices_for_testing.2Fsid_users.3F)) das genaue Gegenteil empfohlen?
Use apt upgrade instead of apt full-upgrade to avoid unwanted removal of any packages that you depend on.
-
man kann nicht stable und unstable 1:1 vergleichen ;)
es kommt viel darauf an, mit welchen Abhängigkeiten die Pakete verknüpft sind
-
Es spricht nichts gegen die Verwendung von apt full-upgrade wenn man darauf achtet was dabei entfernt werden soll.
Bei apt upgrade werden Pakete nur installiert, aber nicht entfernt. Wenn längere Zeit Pakete auf diese Weise zurückgehalten werden, hilft ein apt full-upgrade um zu sehen warum.
https://manual.siduction.org/sys-admin-apt_de.html#apt-und-apt-get
Ich persönlich verwende immer apt upgrade.
-
man kann nicht stable und unstable 1:1 vergleichen ;)
Das hier ist ja extra ein Wiki für Debian UNstable: https://wiki.debian.org/DebianUnstable#What_are_some_best_practices_for_testing.2Fsid_users.3F (https://wiki.debian.org/DebianUnstable#What_are_some_best_practices_for_testing.2Fsid_users.3F) 🤔
-
ok - überlesen :(
-
Nicht ganz so schnell!
Ja, es ist das Wiki speziell für sid/unstable.
Nein, es wird nirgends als Standardmethode für Upgrades ein apt upgrade empfohlen.
Bitte die ganze Seite lesen und den Hinweis zu apt upgrade entsprechend einordnen! Wäre apt upgrade die ultimative Methode für Aktualisierungen, dann hätte man sich Hinweise, wie z. B. „make sure that you do not remove a plethora of packages you need“, komplett sparen können, denn mit einem einfachen apt upgrade würde man ja nie in diese Situation gelangen.
Und es wird auch geraten, sich u.a. mit dem Paketsystem auszukennen: „This means that you should know your way around Linux, Debian, and the Debian packaging system.“
Wer nur apt upgrade verwendet, kann durchaus Pakete zurückhalten, die besser aktualisiert werden sollten. Angenommen, das Paket foo verlangt als Abhängigkeit das Paket foo-bar. Irgendwann kommt der Entwickler von foo auf die Idee, das Paket foo-bar gleich in foo mit zu integrieren. Als Folge soll dann beim nächsten full-upgrade das (nicht mehr benötigte) Paket foo-bar entfernt werden. Verwendet man nur apt upgrade, würde foo nie mehr aktualisiert werden. Bei sid/unstable herrscht nun mal ein ständiges Kommen und Gehen. Daher steht ja auch im Wiki: „Always be careful when you perform updates and check if the actions proposed by the package managing tools are in line with your wishes and expectations.“
edlin
-
Danke für die Aufklärung, edlin!