Na verdade, de acordo com sua pergunta, vejo que este comando a seguir faz o que você precisa dpkg -l | grep ii. Isso listou todos os pacotes instalados como deveriam para mim. Agora, ele não diz o usuário A ou o usuário B, mas novamente isso é uma limitação não do sudo, mas dos logs do centro de software. Mesmo usando sudo, o usuário que chamou sudo é passado para que você ainda possa ter qualquer log de aplicativo que chame sudo para executar um comando. Agora é claro que você pode contornar isso com bastante facilidade, porque parte do sudo é a capacidade de fazer login como qualquer usuário [que tenha acesso ao sudo] se você souber sua senha, cortá-la ou alterá-la se tiver esses direitos no sistema.
Se você está preocupado com o que um usuário instalou e pode colocar você ou seu sistema em risco, revise por que você deu a eles acesso ao sudo e, além disso, a capacidade de instalar pacotes, mas isso é apenas uma observação.
Sinto que você está se perguntando quais pacotes você instalou desde a instalação do sistema, para que você possa limpar ou espelhar a instalação em uma nova máquina. As respostas aqui já cobrem o backup / restauração, por isso vamos pular isso.
Como não há uma maneira fácil e direta de descobrir qual usuário chamou a instalação de um pacote, uma abordagem melhor pode ser usar o comando listado acima e por outro usuário para listar todos os pacotes instalados e ter uma janela do navegador aberta para o Google e executar O Google pesquisou para descobrir quais pacotes são necessários para manter seu sistema operacional e quais não são.
Pule para aqui para pular a maior parte do cotão e obter a resposta mais diretamente ...
Você também pode revisar os logs do sudoers para ver quem pediu a instalação do que me permite dar uma linha de exemplo
May 15 11:26:30 <COMPUTERNAME> sudo: <user who called sudo> : TTY=unknown ; PWD=/home/pariah (pwd file or auth method used to verify user) ; USER=root (User they were running as) ; COMMAND=/usr/bin/thunar (the command they ran)
Então, isso me diz que neste momento e data em que esse usuário solicitou um sudo [na verdade, neste caso, o gksu foi usado btw], qual usuário o sudo deixou que eles tivessem permissões e o comando principal que eles executaram!
Agora, se você deseja grep para apt-get ou similar no log do sudo [/var/log/auth.log] e os mais antigos terão .0 .1 etc anexados ao final.
Você pode montar o que o usuário solicitou na própria linha de comando. Se eles usassem o centro de software, não tenho certeza se o comando terminal relevante obteria uma linha de autenticação aqui, mas você poderá usar os logs do centro de software encontrados em:
/var/log/apt/history.log e logs mais antigos estão em arquivos compactados .gz
Agora, o log do centro de software não fornece o usuário que criou as instalações, tanto quanto eu já vi nesse log, mas lista TODAS as funções de adição, modificação ou remoção do software. Novamente, esse log também possui carimbos de data e hora, e é fácil o suficiente para encontrar ackages após a instalação do sistema base, vá para o log mais antigo, vá para o topo ou se você se lembrar da hora e data de quando a instalação base foi concluída e você está pronto para começar.
Ambos os arquivos de log mencionados estão em texto simples e você pode usar qualquer gedit, mousepad, leafpad, qualquer editor de texto que o seu sabor Ubuntu use, pois é padrão para visualizá-los ou imprimi-los.