staging.inyokaproject.org

Paket blockieren via apt preferences

Status: Ungelöst | Ubuntu-Version: Server 20.04 (Focal Fossa)
Antworten |

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

Hallo,

ich möchte ein Paket über die preferences komplett blockieren (das Paket hat mich gerade zwei Tage Fehlersuche gekostet).

Hintergrund: Es kam als recommended-Paket von https://packages.ubuntu.com/focal-updates/fwupd beim apt full-upgrade mit.

cat /etc/apt/preferences.d/udisks2 
Package: udisks2
Pin: release *
Pin-Priority: -1

Das Ergebnis entspricht aber nicht ganz meiner Vorstellung:

apt install fwupd-signed
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  fwupd gcc-10-base gcc-10-base:i386 gdisk:i386 libacl1:i386 libargon2-1:i386 libassuan0:i386 libatasmart4:i386 libaudit1:i386 libblkid1:i386 libblockdev-crypto2:i386 libblockdev-fs2:i386
  libblockdev-loop2:i386 libblockdev-part-err2:i386 libblockdev-part2:i386 libblockdev-swap2:i386 libblockdev-utils2:i386 libblockdev2:i386 libc6:i386 libcap-ng0:i386 libcrypt1:i386 libcryptsetup12
  libcryptsetup12:i386 libdevmapper1.02.1:i386 libffi7:i386 libfwupd2 libfwupdplugin1 libgcc-s1 libgcc-s1:i386 libgcrypt20 libgcrypt20:i386 libglib2.0-0 libglib2.0-0:i386 libglib2.0-bin libgpg-error-l10n
  libgpg-error0:i386 libgpgme11:i386 libgpm2:i386 libgudev-1.0-0:i386 libidn2-0:i386 libjcat1 libjson-c4:i386 libkmod2:i386 liblz4-1 liblz4-1:i386 liblzma5 liblzma5:i386 libmount1:i386 libncursesw6:i386
  libnspr4:i386 libnss3:i386 libpam-systemd:i386 libpam0g libpam0g:i386 libparted-fs-resize0:i386 libparted2 libparted2:i386 libpcre2-8-0:i386 libpcre3:i386 libpolkit-agent-1-0 libpolkit-agent-1-0:i386
  libpolkit-gobject-1-0 libpolkit-gobject-1-0:i386 libpopt0:i386 libselinux1:i386 libsqlite3-0:i386 libssl1.1 libssl1.1:i386 libstdc++6 libstdc++6:i386 libsystemd0:i386 libtinfo6:i386 libudev1:i386
  libudisks2-0:i386 libunistring2:i386 libuuid1 libuuid1:i386 libvolume-key1:i386 lz4 parted policykit-1 ubuntu-standard udisks2:i386 zlib1g zlib1g:i386
Suggested packages:
  gir1.2-fwupd-2.0 glibc-doc:i386 locales:i386 rng-tools rng-tools:i386 gpm:i386 libpam-doc libpam-doc:i386 libparted-dev:i386 libparted-dev libparted-i18n libparted-i18n:i386 parted-doc exfat-utils:i386
  f2fs-tools:i386 mdadm:i386 libblockdev-mdraid2:i386 nilfs-tools:i386 reiserfsprogs:i386 xfsprogs:i386 udftools:i386 udisks2-bcache:i386 udisks2-btrfs:i386 udisks2-lvm2:i386 udisks2-vdo:i386 udisks2-zram:i386
Recommended packages:
  dosfstools:i386 ntfs-3g:i386
The following NEW packages will be installed:
  gcc-10-base:i386 gdisk:i386 libacl1:i386 libargon2-1:i386 libassuan0:i386 libatasmart4:i386 libaudit1:i386 libblkid1:i386 libblockdev-crypto2:i386 libblockdev-fs2:i386 libblockdev-loop2:i386
  libblockdev-part-err2:i386 libblockdev-part2:i386 libblockdev-swap2:i386 libblockdev-utils2:i386 libblockdev2:i386 libc6:i386 libcap-ng0:i386 libcrypt1:i386 libcryptsetup12:i386 libdevmapper1.02.1:i386
  libffi7:i386 libgcc-s1:i386 libgcrypt20:i386 libglib2.0-0:i386 libgpg-error-l10n libgpg-error0:i386 libgpgme11:i386 libgpm2:i386 libgudev-1.0-0:i386 libidn2-0:i386 libjcat1 libjson-c4:i386 libkmod2:i386
  liblz4-1:i386 liblzma5:i386 libmount1:i386 libncursesw6:i386 libnspr4:i386 libnss3:i386 libpam-systemd:i386 libpam0g:i386 libparted-fs-resize0:i386 libparted2:i386 libpcre2-8-0:i386 libpcre3:i386
  libpolkit-agent-1-0:i386 libpolkit-gobject-1-0:i386 libpopt0:i386 libselinux1:i386 libsqlite3-0:i386 libssl1.1:i386 libstdc++6:i386 libsystemd0:i386 libtinfo6:i386 libudev1:i386 libudisks2-0:i386
  libunistring2:i386 libuuid1:i386 libvolume-key1:i386 udisks2:i386 zlib1g:i386
The following packages will be upgraded:
  fwupd fwupd-signed gcc-10-base libcryptsetup12 libfwupd2 libfwupdplugin1 libgcc-s1 libgcrypt20 libglib2.0-0 libglib2.0-bin liblz4-1 liblzma5 libpam0g libparted2 libpolkit-agent-1-0 libpolkit-gobject-1-0
  libssl1.1 libstdc++6 libuuid1 lz4 parted policykit-1 ubuntu-standard zlib1g
24 upgraded, 62 newly installed, 0 to remove and 153 not upgraded.
Need to get 19.3 MB of archives.
After this operation, 47.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

apt scheint sich hier für das blockierte Paket einen Umweg zu suchen:

apt install udisks2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'udisks2:i386' instead of 'udisks2'
The following additional packages will be installed:
  gcc-10-base gcc-10-base:i386 gdisk:i386 libacl1:i386 libargon2-1:i386 libassuan0:i386 libatasmart4:i386 libaudit1:i386 libblkid1:i386 libblockdev-crypto2:i386 libblockdev-fs2:i386 libblockdev-loop2:i386
  libblockdev-part-err2:i386 libblockdev-part2:i386 libblockdev-swap2:i386 libblockdev-utils2:i386 libblockdev2:i386 libc6:i386 libcap-ng0:i386 libcrypt1:i386 libcryptsetup12 libcryptsetup12:i386
  libdevmapper1.02.1:i386 libffi7:i386 libgcc-s1 libgcc-s1:i386 libgcrypt20 libgcrypt20:i386 libglib2.0-0 libglib2.0-0:i386 libglib2.0-bin libgpg-error-l10n libgpg-error0:i386 libgpgme11:i386 libgpm2:i386
  libgudev-1.0-0:i386 libidn2-0:i386 libjson-c4:i386 libkmod2:i386 liblz4-1 liblz4-1:i386 liblzma5 liblzma5:i386 libmount1:i386 libncursesw6:i386 libnspr4:i386 libnss3:i386 libpam-systemd:i386 libpam0g
  libpam0g:i386 libparted-fs-resize0:i386 libparted2 libparted2:i386 libpcre2-8-0:i386 libpcre3:i386 libpolkit-agent-1-0 libpolkit-agent-1-0:i386 libpolkit-gobject-1-0 libpolkit-gobject-1-0:i386 libpopt0:i386
  libselinux1:i386 libsqlite3-0:i386 libssl1.1 libssl1.1:i386 libstdc++6 libstdc++6:i386 libsystemd0:i386 libtinfo6:i386 libudev1:i386 libudisks2-0:i386 libunistring2:i386 libuuid1 libuuid1:i386
  libvolume-key1:i386 lz4 parted policykit-1 ubuntu-standard zlib1g zlib1g:i386
Suggested packages:
  glibc-doc:i386 locales:i386 rng-tools rng-tools:i386 gpm:i386 libpam-doc libpam-doc:i386 libparted-dev:i386 libparted-dev libparted-i18n libparted-i18n:i386 parted-doc exfat-utils:i386 f2fs-tools:i386
  mdadm:i386 libblockdev-mdraid2:i386 nilfs-tools:i386 reiserfsprogs:i386 xfsprogs:i386 udftools:i386 udisks2-bcache:i386 udisks2-btrfs:i386 udisks2-lvm2:i386 udisks2-vdo:i386 udisks2-zram:i386
Recommended packages:
  dosfstools:i386 ntfs-3g:i386
The following NEW packages will be installed:
  gcc-10-base:i386 gdisk:i386 libacl1:i386 libargon2-1:i386 libassuan0:i386 libatasmart4:i386 libaudit1:i386 libblkid1:i386 libblockdev-crypto2:i386 libblockdev-fs2:i386 libblockdev-loop2:i386
  libblockdev-part-err2:i386 libblockdev-part2:i386 libblockdev-swap2:i386 libblockdev-utils2:i386 libblockdev2:i386 libc6:i386 libcap-ng0:i386 libcrypt1:i386 libcryptsetup12:i386 libdevmapper1.02.1:i386
  libffi7:i386 libgcc-s1:i386 libgcrypt20:i386 libglib2.0-0:i386 libgpg-error-l10n libgpg-error0:i386 libgpgme11:i386 libgpm2:i386 libgudev-1.0-0:i386 libidn2-0:i386 libjson-c4:i386 libkmod2:i386 liblz4-1:i386
  liblzma5:i386 libmount1:i386 libncursesw6:i386 libnspr4:i386 libnss3:i386 libpam-systemd:i386 libpam0g:i386 libparted-fs-resize0:i386 libparted2:i386 libpcre2-8-0:i386 libpcre3:i386 libpolkit-agent-1-0:i386
  libpolkit-gobject-1-0:i386 libpopt0:i386 libselinux1:i386 libsqlite3-0:i386 libssl1.1:i386 libstdc++6:i386 libsystemd0:i386 libtinfo6:i386 libudev1:i386 libudisks2-0:i386 libunistring2:i386 libuuid1:i386
  libvolume-key1:i386 udisks2:i386 zlib1g:i386
The following packages will be upgraded:
  gcc-10-base libcryptsetup12 libgcc-s1 libgcrypt20 libglib2.0-0 libglib2.0-bin liblz4-1 liblzma5 libpam0g libparted2 libpolkit-agent-1-0 libpolkit-gobject-1-0 libssl1.1 libstdc++6 libuuid1 lz4 parted
  policykit-1 ubuntu-standard zlib1g
20 upgraded, 61 newly installed, 0 to remove and 157 not upgraded.
Need to get 17.2 MB of archives.
After this operation, 47.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

Ich hätte gerne, dass das Paket einfach blockiert wird, ohne dass Alternativen dafür installiert werden. Bei recommends sollte das doch kein Problem sein - bei harten Abhängigkeiten kann man mich ja fragen oder warnen.

Hat jemand eine Idee, ob der apt bzw. preferences-Mechanismus das her gibt?

(Bevor jetzt der nächste mit apt-mark hold kommt: Das geht wohl nicht, wenn das Paket nicht schon installiert ist:

apt-mark hold udisks2
E: Can't select installed nor candidate version from package 'udisks2' as it has neither of them
E: No packages found

)

Danke schon mal und Gruß

BillMaier

Moderiert von DJKUhpisse:

verschoben

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

... und wie es halt so ist, kaum poste ich hier, finde ich die Lösung:

cat /etc/apt/preferences.d/udisks2 
Package: udisks2
Pin: release ""
Pin-Priority: -1
apt install udisks2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  gdisk libatasmart4 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libnspr4 libnss3 libparted-fs-resize0
  libparted2 libudisks2-0 libvolume-key1 parted
Suggested packages:
  libparted-dev libparted-i18n parted-doc exfat-utils f2fs-tools libblockdev-mdraid2 nilfs-tools reiserfsprogs udftools udisks2-bcache udisks2-btrfs udisks2-lvm2 udisks2-vdo udisks2-zram
The following NEW packages will be installed:
  gdisk libatasmart4 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libnspr4 libnss3 libparted-fs-resize0
  libudisks2-0 libvolume-key1 udisks2
The following packages will be upgraded:
  libparted2 parted
2 upgraded, 16 newly installed, 0 to remove and 175 not upgraded.
Need to get 2356 kB of archives.
After this operation, 8022 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

funktioniert, danke gelöst 😀

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 52312

Wo kommen überhaupt die ganzen i386-Pakete her? Was hast du denn konkret im System in i386 installiert?

Ansonsten würde ich halt beiden Paketen, also udisk2 und udisk2:i386 einen Eintrag spendieren.

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

... doch nicht. arg.

Denn als recommended-Paket wird es dann doch wieder installiert:

apt install fwupd-signed
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  fwupd gdisk libatasmart4 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2
  libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libfwupd2 libfwupdplugin1
  libjcat1 libnspr4 libnss3 libparted-fs-resize0 libparted2 libudisks2-0 libvolume-key1 parted udisks2
Suggested packages:
  gir1.2-fwupd-2.0 libparted-dev libparted-i18n parted-doc exfat-utils f2fs-tools libblockdev-mdraid2
  nilfs-tools reiserfsprogs udftools udisks2-bcache udisks2-btrfs udisks2-lvm2 udisks2-vdo
  udisks2-zram
The following NEW packages will be installed:
  gdisk libatasmart4 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2
  libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libjcat1 libnspr4 libnss3
  libparted-fs-resize0 libudisks2-0 libvolume-key1 udisks2
# ----------- snip
Unpacking udisks2 (2.8.4-1ubuntu2) ...
# ----------- snip
dpkg -l udisks2
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version        Architecture Description
+++-==============-==============-============-======================================================
ii  udisks2        2.8.4-1ubuntu2 amd64        D-Bus service to access and manipulate storage devices
# systemctl status udisks2.service 
● udisks2.service - Disk Manager
     Loaded: loaded (/lib/systemd/system/udisks2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-09-29 17:51:26 UTC; 2min 36s ago
       Docs: man:udisks(8)
   Main PID: 13176 (udisksd)
      Tasks: 5 (limit: 28761)
     Memory: 3.0M
     CGroup: /system.slice/udisks2.service
             └─13176 /usr/lib/udisks2/udisksd

Sep 29 17:51:26 vier systemd[1]: Starting Disk Manager...
Sep 29 17:51:26 vier udisksd[13176]: udisks daemon version 2.8.4 starting
Sep 29 17:51:26 vier udisksd[13176]: failed to load module mdraid: libbd_mdraid.so.2: cannot open shared object file: No such file or directory
Sep 29 17:51:26 vier udisksd[13176]: Failed to load the 'mdraid' libblockdev plugin
Sep 29 17:51:26 vier systemd[1]: Started Disk Manager.
Sep 29 17:51:26 vier udisksd[13176]: Acquired the name org.freedesktop.UDisks2 on the system message bus

ganz schön hartnäckig ...

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

tomtomtom schrieb:

Was hast du denn konkret im System in i386 installiert?

Nichts bewusst.

dpkg -l | grep i386

(ist leer)

Wo kommen überhaupt die ganzen i386-Pakete her?

Ich kann es mir nur so erklären, dass apt hier halt ein "Ausweichpaket" sucht.

Ansonsten würde ich halt beiden Paketen, also udisk2 und udisk2:i386 einen Eintrag spendieren.

Guter Mann 💡

Bin ja auch schon weiter , leider noch nicht ganz erfolgreich, (9277287 hat sich wohl überlappt).

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 52312

BillMaier schrieb:

Denn als recommended-Paket wird es dann doch wieder installiert:

apt install --no-install-recommends

könnte helfen. 😉

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

... und bei der nächsten Node, die mit Ubuntu 20.04 vorinstalliert wird und ein apt full-upgrade läuft, hab ich den gleichen Salat wieder. Ich brauche eine Definition, sich provisionieren lässt...

Als Workaround mach ich jetzt das Gegenteil:

Ich installiere das Paket und stoppe und disable die systemd/unit.

Wenn jemand eine bessere Idee hat: Gerne her damit ☺

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 52312

BillMaier schrieb:

... und bei der nächsten Node, die mit Ubuntu 20.04 vorinstalliert wird und ein apt full-upgrade läuft, hab ich den gleichen Salat wieder.

  1. solltest du dann wohl besser apt upgrade nutzen, da werden nur installierte Pakete aktualisiert und

  2. kannst du auch eine /etc/apt/apt.conf anlegen und dort mittels

    APT::Install-Recommends "false";

    dafür sorgen, dass apt generell keine empfohlenen Abhängigkeiten installiert.

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

tomtomtom schrieb:

BillMaier schrieb:

... und bei der nächsten Node, die mit Ubuntu 20.04 vorinstalliert wird und ein apt full-upgrade läuft, hab ich den gleichen Salat wieder.

  1. solltest du dann wohl besser apt upgrade nutzen, da werden nur installierte Pakete aktualisiert und

Ist das wirklich generell der empfohlene Weg? Ich habe mich nach 3 Jahren apt upgrade mühevoll umgewöhnt- ich meine sogar auf Anraten von Supportern bei uu 😉

  1. kannst du auch eine /etc/apt/apt.conf anlegen und dort mittels

    APT::Install-Recommends "false";

    dafür sorgen, dass apt generell keine empfohlenen Abhängigkeiten installiert.

Darüber denke ich tatsächlich schon nach - lese aber auch, dass auch das nicht gernell richtig oder gut sein muss. Ich kann noch nicht so recht einschätzen, wie hoch die side-effects in meinem Setup sind. Vermutlich ist das aber zu vernachlässigen - entweder das Zeugs läuft oder nicht ☺

Ps. hast du oder hat jemand das wirklich so konfiguriert? Erfahrungen?

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

... ich beantworte meine zweite Frage selbst:

In sämtlichen Docker-Containern wird das so gemacht. Man muss halt explizit installieren was man braucht und nicht was andere denken, was man braucht ☺

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 52312

BillMaier schrieb:

Ist das wirklich generell der empfohlene Weg? Ich habe mich nach 3 Jahren apt upgrade mühevoll umgewöhnt- ich meine sogar auf Anraten von Supportern bei uu 😉

Wie ich gerade merke täuscht mich meine Erinnerung. 😛

Auch upgrade installiert zusätzliche Pakete, der Unter schied ist nur, dass es keine installierten entfernt.

Aus der apt-Manpage:

upgrade (apt-get(8))
           upgrade wird verwendet, um verfügbare Upgrades für alle derzeit auf dem System
           installierten Pakete von den in der sources.list(5) konfigurierten Quellen zu
           installieren. Neue Pakete werden installiert, falls dies nötig ist, um Abhängigkeiten
           zu erfüllen, existierende werden jedoch nie entfernt. Falls das Upgrade für ein Paket
           verlangt, dass ein installiertes Paket entfernt wird, wird dieses Upgrade nicht
           durchgeführt.

       full-upgrade (apt-get(8))
           full-upgrade verrichtet die Funktion von »upgrade«, wird aber auch installierte Pakete
           entfernen, falls dies erforderlich ist, um ein Upgrade des Systems als Ganzes
           durchzuführen.

In dem Fall bleibt dann nur die Einstellung in /etc/apt.conf bzw. in einer neu anzulegenden .conf-Datei in /etc/apt.conf.d/.

Ps. hast du oder hat jemand das wirklich so konfiguriert? Erfahrungen?

Jedes Debian-System, dass ich zu einem bestimmten Verwendungszweck (also nicht als eierlegende Wollmilchsau aka vollständiges Desktopsystem) aufgesetzt hab. Debian und Ubuntu haben nämlich verdammt viel in den empfohlenen Abhängigkeiten, dass für den Betrieb völlig unnötig ist.

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

tomtomtom schrieb:

Wie ich gerade merke täuscht mich meine Erinnerung. 😛

Auch upgrade installiert zusätzliche Pakete, der Unter schied ist nur, dass es keine installierten entfernt.

arg! und ich hab mich auch noch täuschen lassen ... weißt du wer diese Tabelle erstellt hat? 🤣

Jedes Debian-System, dass ich zu einem bestimmten Verwendungszweck (also nicht als eierlegende Wollmilchsau aka vollständiges Desktopsystem) aufgesetzt hab. Debian und Ubuntu haben nämlich verdammt viel in den empfohlenen Abhängigkeiten, dass für den Betrieb völlig unnötig ist.

Das ist schön zu hören. 👍

Vielen Dank für das Teilen dieser Erfahrung und den Austausch und die Hilfe bei diesem Thema!

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

das ist ja aber auch echt ... wort such ...

ich hab das als screenshot nochmal in den Anhang gepackt. Das kann sich ja auch keiner merken.

Bilder

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 52312

Ja, aber die Tabelle ist korrekt. Links halt apt/apt, rechts apt/apt-get. 😉

BillMaier Team-Icon

Supporter
(Themenstarter)

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6389

tomtomtom schrieb:

Ja, aber die Tabelle ist korrekt. Links halt apt/apt, rechts apt/apt-get. 😉

das ist es ja!

Antworten |