Existe uma maneira de diferenciar entre pacotes do sistema e pacotes instalados manualmente no Linux?

Existe uma maneira de diferenciar entre pacotes do sistema e pacotes instalados manualmente no Linux?

Estou tentando escrever um script onde possa saber se o pacote é pré-instalado ou foi instalado pelo usuário.

E também podemos saber que a seguir estão as dependências do pacote 'X'

Responder1

no rpmnível que você realmente não pode saber. Dependendo do gerenciador de pacotes que você usa, algumas informações podem ser armazenadas nele.

Observe que isso só funciona se o usuário executou os comandos de instalação com sudo. Se ele se tornou root, você nunca saberá quem fez isso.

Hum

yum history

fornece uma lista de transações e qual usuário iniciou o comando.

DNF

dnf history

fornece uma lista de transações, mas não lista o usuário por padrão. No entanto, você pode executar:

dnf history info <ID>

e então você verá o usuário que iniciou o comando

Zíper

não há como saber disso.

Responder2

Suas tags não estão claras, não sabemos qual gerenciador de pacotes você usa. Mas já que você usou a tag arch-linux vou responder pelo pacman.

Bem, a primeira pergunta é difícil, não é realmente possível, que eu saiba, e depende muito da sua instalação. Não existe uma instalação padrão do Linux, pois existem muitas distribuições, ambientes de desktop, opções de instalação diferentes,... Mas uma maneira seria procurar quais grupos de pacotes estão instalados com sua configuração e obter os outros (que provavelmente são para ser instalado pelo usuário) com o seguinte comando: comm -23 <(pacman -Qeq | sort) <(pacman -Qgq base | sort)onde base é um dos grupos que você tem pré-instalado com certeza.

Para a segunda parte da pergunta: Você pode obter informações sobre um pacote usando pacman -Si <yourpackage>e se quiser que a saída seja reduzida apenas às dependências, confiraeste tópico

Responder3

Verifique os pacotes que acompanham a distro em questão no momento da instalação no site da distro. Esses estão pré-instalados; todo o resto foi adicionado post-insta;;/

informação relacionada