Created attachment 20650 [details] Набросок, который исправляет эту проблему apt-mark не умеет работать с виртуальными пакетами. При попытке пометить виртуальный пакет как auto или manual, команда выдаёт ошибку: > # apt-mark auto LibreOffice > LibreOffice can not be marked as it is not installed. > apt-get install LibreOffice # ок, ставит libreoffice > rpm -q libreoffice # libreoffice-25.8.4.2-alt3.x86_64 > apt-mark auto LibreOffice # "LibreOffice can not be marked as it is not installed." > apt-mark auto libreoffice # ок При этом `apt-get install LibreOffice` корректно резолвит виртуальный пакет в его провайдера (`libreoffice`) и устанавливает его. Это асимметрия поведения внутри одного APT. Тот же `installer-alterator-pkg` вызывает `apt-mark manual` для пакетов перед установкой, и из-за этого пропускаются виртуальные пакеты. Плюсом приходится усложнять другие скрипты, где используется `apt-mark`, ибо приходится учитывать, не является ли пакет виртуальным, потом его ещё резолвить. В целом это неочевидное поведение, что `apt-get` резолвит, а другие инструменты — нет. Можно попробовать взять за основу этот патч, он частично написан AI, но в целом работает (правда там есть и другие изменения, лучше проверить внимательно).
невозможно пометить виртуальный пакет, т.к. он может предоставляться множеством реальных.
(Ответ для Anton Farygin на комментарий #1) > невозможно пометить виртуальный пакет, т.к. он может предоставляться > множеством реальных. Поэтому можно их резолвить в список пакетов, которые установлены в системе и уже помечать их.