Как проверить, предустановлен ли пакет вместе с Ubuntu или я установил его сам? [дубликат]

Я пишу инструкции для кого-то еще и хочу знать, нужно ли мне включить пару команд apt install в свой фрагмент, чтобы сделать его полностью копируемым / вставляемым при новой установке Ubuntu. .

Как мне узнать, была ли данная программа включена в мою установку Ubuntu или я установил ее позже?

Они используют ту же версию Ubuntu, что и я, поэтому мне не нужно знать, была ли эта программа только начал быть предустановленным в определенной версии Ubuntu.

1
задан 29 November 2019 в 00:20

3 ответа

Простой способ определить, установлен ли пакет Настольным Установщиком Ubuntu, состоит в том, чтобы проверить, включен ли он в ubuntu-desktop метапакет. Это - метапакет, который определяет то, что установит установщик:

Вы видите список непосредственных зависимостей с помощью команды: apt depends ubuntu-desktop.

, Но что, если Ваш пакет не перечислен среди непосредственных зависимостей? Можно легко узнать путем тестирования пакета с Кв.

, Например, давайте моделируем удаление nautilus (файловый менеджер Gnome). Мы будем, конечно, использовать эти --simulate флаг; нет никакой потребности уничтожить нашу систему для ответа на этот простой вопрос. Вы видите ниже того удаления nautilus также результаты в удалении ubuntu-desktop. Это - прямое доказательство, которое nautilus установлено Рабочим столом установщик Ubuntu:

$ apt remove nautilus --simulate
NOTE: This is only a simulation!
      [...]
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  gnome-shell-extension-desktop-icons nautilus nautilus-share ubuntu-desktop
  ubuntu-desktop-minimal
0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded.
Remv ubuntu-desktop [1.440]
Remv ubuntu-desktop-minimal [1.440]
Remv gnome-shell-extension-desktop-icons [19.10.2-1]
Remv nautilus-share [0.7.3-2ubuntu3]
Remv nautilus [1:3.34.1-1ubuntu1]

Позволяют нам подробно остановиться на том примере двумя способами. Давайте спустим дерево зависимостей и попытаемся удалить подзависимость (nautilus-data). Мы делаем это путем изменения с [1 111] до [1 112]. Кроме того, давайте использовать grep для сокращения объемов производства. Вы видите, ниже которого это - эффективный способ протестировать любого (под-) зависимость [1 114] где угодно в цепочке зависимостей. nautilus-data пакет установлен Настольным Установщиком Ubuntu:

$ apt autoremove nautilus-data --simulate | grep ubuntu-desktop
  session-shortcuts tree ubuntu-desktop ubuntu-desktop-minimal
Remv ubuntu-desktop [1.440]
Remv ubuntu-desktop-minimal [1.440]

Позволяют нам посмотреть на случай с противоположным результатом. chrome не зависимость [1 117]. Это было установлено когда-то позже. Удаление его не удалит ubuntu-desktop:

$ apt autoremove chrome --simulate | grep ubuntu-desktop
(No output)
1
ответ дан 7 December 2019 в 18:02

Способная метка showmanual... близко к тому, что Вы хотите, но она перечисляет вещи как обновления предварительно установленных вещей также. Поместите ниже командной строки в файл и выполните ее как сценарий:

comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
0
ответ дан 7 December 2019 в 18:02

Я не думаю, что существует любой сценарий или программа, которая делает то, что Вы хотите. О единственном способе сказать должен запустить Ubuntu живой USB и видеть, существуют ли какие-либо программы не на нем. Несколько программ не становятся установленными, как gparted, он идет 'живой', но не на установленной версии. Видели несколько вопросов как это.

-1
ответ дан 7 December 2019 в 18:02

Другие вопросы по тегам:

Похожие вопросы: