Как не позволить сообщать о пакете как о обновляемом, если он находится в самой последней версии?

447
J. B. Rainsberger

Я использую Pop! _OS 18.04, и я установил Microsoft VS Code через apt. Теперь я вижу, что у меня есть доступные обновления, но нет.

$ sudo apt list --upgradable  Listing... Done code/bionic 1.27.2-1536736588 amd64 [upgradable from: 1.27.2-1536736588] N: There are 45 additional versions. Please use the '-a' switch to see them. $ sudo apt-get upgrade  Reading package lists... Done Building dependency tree  Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: code 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/45.4 MB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n]  (Reading database ... 422930 files and directories currently installed.) Preparing to unpack .../code_1.27.2-1536736588_amd64.deb ... Unpacking code (1.27.2-1536736588) over (1.27.2-1536736588) ... Processing triggers for mime-support (3.60ubuntu1) ... Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.1) ... Setting up code (1.27.2-1536736588) ... Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ... $ sudo apt list --upgradable Listing... Done code/bionic 1.27.2-1536736588 amd64 [upgradable from: 1.27.2-1536736588] N: There are 45 additional versions. Please use the '-a' switch to see them. 

Кажется, я застрял в бесконечной петле. Как я могу разорвать этот цикл и сказать apt: «Нет, действительно, нет новой версии этого пакета!»?

С @ Xen2050 спросил ....

Похоже, что «новейшая» версия не установлена, но я не знаю, как ее установить!

sudo apt-cache policy code  code: Installed: 1.27.2-1536736588 Candidate: 1.27.2-1536736588 Version table: 1.27.2-1536736588 500 500 http://apt.pop-os.org/proprietary bionic/main amd64 Packages *** 1.27.2-1536736588 500 500 http://packages.microsoft.com/repos/vscode stable/main amd64 Packages 100 /var/lib/dpkg/status 1.27.1-1536226049 500 500 http://packages.microsoft.com/repos/vscode stable/main amd64 Packages 1.27.0-1536125615 500 500 http://packages.microsoft.com/repos/vscode stable/main amd64 Packages   [... dozens of older versions ...] 
$ sudo apt-cache show code Package: code Architecture: amd64 Version: 1.27.2-1536736588 Priority: optional Section: devel Maintainer: Microsoft Corporation  Installed-Size: 200215 Provides: visual-studio-code Depends: libnotify4, libnss3 (>= 2:3.26), gnupg, apt, libxkbfile1, libgconf-2-4, libsecret-1-0, libgtk-3-0 (>= 3.10.0) Conflicts: visual-studio-code Origin: system76 Filename: pool/bionic/main/binary-amd64/c/code/code_1.27.2-1536736588_amd64.deb Size: 45361876 Md5Sum: 56597e66d42240738e0f704d5682762b SHA1: c990d18754012c9d666e519541349d6335938bd5 SHA256: bc5db10c45151cf45b435abbb481ff10bb20cb6ab7d7e1b068ab10448de1911f SHA512: 6399a3a4acd2ea7943d53e7bfc06c277ad167810a8809992bd1f3cb5e8e01865830137cde54462f3b6af3ed79510aaaed4353dbfd9f89b7a92a327badd80b87e Homepage: https://code.visualstudio.com/ Description: Code editing. Redefined. Visual Studio Code is a new choice of tool that combines the simplicity of a code editor with what developers need for the core edit-build-debug cycle. See https://code.visualstudio.com/docs/setup/linux for installation instructions and FAQ. Description-md5: b38f8538d3cead7a194af6aeeaf02e6a  Package: code Priority: optional Section: devel Installed-Size: 200215 Maintainer: Microsoft Corporation  Architecture: amd64 Version: 1.27.2-1536736588 Replaces: visual-studio-code Provides: visual-studio-code Depends: libnotify4, libnss3 (>= 2:3.26), gnupg, apt, libxkbfile1, libgconf-2-4, libsecret-1-0, libgtk-3-0 (>= 3.10.0) Conflicts: visual-studio-code Filename: pool/main/c/code/code_1.27.2-1536736588_amd64.deb Size: 45365022 MD5sum: e488406a124c3dd617b922be4c073e48 SHA1: 8c9b279ed949e0fae8bb736be2cee6c09f70f914 SHA256: 35aedf314a3d886e1affac8591904ba0b1ffb7e20075acabf7bfeec1fa2b6515 SHA512: 6956b09bbba360fc65ec4d50bf3a9539684f639695ccfa4761b9fd84755e6afeac8696a0f30d8664950310de019eb8d2b3d0e8613ebfed269c100e9520b16b4d Description: Code editing. Redefined. Visual Studio Code is a new choice of tool that combines the simplicity of a code editor with what developers need for the core edit-build-debug cycle. See https://code.visualstudio.com/docs/setup/linux for installation instructions and FAQ. Description-md5: b38f8538d3cead7a194af6aeeaf02e6a Homepage: https://code.visualstudio.com/  [...dozens of older versions...] 
1
Есть ли пакет в двух разных источниках? Может быть, политика apt-cacheбудет информативным. Xen2050 5 лет назад 1
Спасибо! Это похоже на случай. Он появляется как в источнике Pop! _OS, так и в источнике Microsoft. Что теперь? J. B. Rainsberger 5 лет назад 0
Я мог бы лаять неправильное дерево с двумя источниками, это не должно вызывать проблем, если все настроено нормально, но каков вывод команды apt-cache? А обновление apt-get не требует имени, оно должно просто обновлять все (не то, чтобы это имело значение, просто заметило это). Возможно, что-то не так с линиями `[... normal stuff ...]`, вставка всего этого может помочь, может быть, установка не полностью. Используете ли вы Synaptic, он говорит, что есть какие-то сломанные пакеты? Он может предложить `apt-get -f [install / upgrade]`. Xen2050 5 лет назад 0
@ Xen2050 Я добавил более подробный вывод выше. Возможно, это помогает. Я не вижу доказательств того, что установка завершается рано. Нет, я не использую Synaptic. Я бы предпочел не пытаться, если мне это не нужно, чтобы собрать более полезную информацию. J. B. Rainsberger 5 лет назад 0

1 ответ на вопрос

1
J. B. Rainsberger

Исправлена! Оказывается, я думал, что удалил все ссылки на репозиторий Microsoft /etc/apt, но не сделал этого.

$ cd /etc/apt $ sudo rm trusted.gpg.d/microsoft*.gpg $ sudo rm sources.list.d/vscode* $ sudo rm /var/lib/dpkg/status

Сейчас никто не ссылается на версию пакета Microsoft. В заключение. Теперь, согласно https://askubuntu.com/questions/527064/corrupt-dpkg-status-file, мне нужно восстановить /var/lib/dpkg/status.

$ sudo apt-get update $ sudo apt-get dist-upgrade

И вот, наконец-то:

$ sudo apt list --upgradable
Listing... Done $ sudo apt-get upgrade Reading package lists... Done Building dependency tree
Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Теперь ... кто-нибудь, пожалуйста, добавьте комментарий с (1), что это значит? и / или (2) я мог сделать то же самое с меньшим количеством потенциально разрушительных команд?

Иногда программный источник в sources.list, который не «подходит» для вашей системы, может вызвать странные проблемы ... обычно достаточно просто выполнить «apt-get update» после смены источника. По крайней мере, теперь это решено, рад, что политика apt-cache приводит к подсказкам, как это исправить, +1 Xen2050 5 лет назад 0
Помните, что `sudo rm / var / lib / dpkg / status` сотрет все записи об установке пакетов, а это значит, что apt потребуется переустановить все в системе снова / установленные пакеты больше не будут отслеживаться apt. mmstick 5 лет назад 0