Есть ли способ отличить системные пакеты от пакетов, установленных вручную, в Linux?

Есть ли способ отличить системные пакеты от пакетов, установленных вручную, в Linux?

Я пытаюсь написать скрипт, который позволит определить, является ли пакет предустановленным или он был установлен пользователем.

А также можем ли мы узнать, что ниже приведены зависимости пакета «X»

решение1

на rpmуровне вы не можете знать наверняка. В зависимости от используемого вами менеджера пакетов там может храниться некоторая информация.

Обратите внимание, что это работает только в том случае, если пользователь запускал команды установки с помощью sudo. Если он стал пользователем root, вы никогда не узнаете, кто это сделал.

Мммм

yum history

выдает список транзакций и пользователя, запустившего команду.

Днф

dnf history

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

dnf history info <ID>

и тогда вы увидите пользователя, который запустил команду

зиппер

Насколько мне известно, этого узнать невозможно.

решение2

Ваши теги неясны, мы не знаем, какой менеджер пакетов вы используете. Но поскольку вы использовали тег arch-linux, я отвечу за pacman.

Ну, первый вопрос сложный, насколько мне известно, это не совсем возможно и сильно зависит от вашей установки. Не существует единой стандартной установки Linux, поскольку существует множество различных дистрибутивов, сред рабочего стола, опций установщика,... Но один из способов — посмотреть, какие группы пакетов установлены с вашей установкой, и получить другие (которые, скорее всего, будут установлены пользователем) с помощью следующей команды: comm -23 <(pacman -Qeq | sort) <(pacman -Qgq base | sort)где base — одна из групп, которые вы наверняка предустановили.

Ко второй части вопроса: Вы можете получить информацию о пакете, используя , pacman -Si <yourpackage>и если вы хотите, чтобы вывод был сведен только к зависимостям, проверьтеэта тема

решение3

Проверьте пакеты, включенные в дистрибутив во время установки на веб-сайте дистрибутива. Они предустановлены; все остальное было добавлено после insta;;/

Связанный контент