Como listar aplicativos instalados pelo usuário (não pacotes)?

28

Nem pacotes nem todos os aplicativos. Apenas o usuário do aplicativo instalado por si mesmo, de qualquer fonte (Software Center, PPA adicionado manualmente etc.).

Se o acima não for possível - uma lista de todos os aplicativos instalados ou, pelo menos, uma GUI que lista os aplicativos para que eu possa tirar capturas de tela dele.

Eu li uma dúzia de perguntas semelhantes e as pessoas que postam respostas geralmente nem chegam perto do mérito da pergunta do OP. Observe que minha pergunta inclui 'usuário instalado'.

Resposta: No momento, não é possível no Ubuntu Linux. (escolhendo a resposta de tijybba como a mais próxima)

Bucic
fonte

Respostas:

30

Você pode realmente usar o Ubuntu Software Center , como mostrado na captura de tela aqui:

Centro de Software Ubuntu: menu "Instalado"

Você também pode vê-lo nas seleções da lista Synaptic Bottom Left.

Por cd /etc/apt/sources.list.d/ && cat *.listvocê terá uma lista de todos os repositórios em seu sistema.

Você também pode gerenciar o Y PPA para fazer backup e atualizar seus repositórios.


Segundo método

[Como esse método envolve a instalação de todos os pacotes, mas se pensarmos que o SO recém-instalado já terá esses pacotes de 90%, ele ignorará os atuais e instalará os novos adicionados manualmente, que serão apenas os aplicativos instalados manualmente]

Este método daqui .

sudo dpkg --get-selections > installed-applications.txt

ele irá gerar uma lista de aplicativos instalados no arquivo txt na pasta inicial.

Para usar esse arquivo para instalar os mesmos aplicativos que você precisará (mas antes disso, adicione todos os Repositórios de Terceiros que estavam presentes no anterior)

sudo dpkg --set-selections < installed-applications.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

Isso também é possível através do modo Gui

sudo add-apt-repository ppa:webupd8team/mintbackup && sudo apt-get update
sudo apt-get install mintbackup

insira a descrição da imagem aqui

Eu acho que a imagem quase fala por si mesma, faça backup da sua seleção e, em Nova instalação, restaure-a.

atenz
fonte
Não é possível adicionar o PPA: 'ppa: ~ webupd8team / ubuntu / mintbackup'. A equipe chamada '~ webupd8team' não possui PPA chamado 'ubuntu / mintbackup'
alhelal 9/1018
dpkg: warning: pacote não no status nem banco de dados disponível na linha 1574: wireshark e assim por diante para todos os aplicativos.
Alhelal 10/10
11

apt-mark showmanuallhe dará uma lista de pacotes "instalados manualmente". Isso inclui pacotes instalados pelo instalador, que é a maioria deles. Mas se você executar isso após a instalação e comparar a saída novamente mais tarde, obterá uma lista de pacotes solicitados especificamente pelo usuário, excluindo dependências instaladas automaticamente.

Por exemplo:

$ # Save the current list of manually installed packages
$ apt-mark showmanual | sort > original-package-list

# ...time passes...

$ # Compare the old list with the current list
$ # (this will output a list of packages that have been installed by the user since the last command)
$ apt-mark showmanual | sort | comm -13 - original-package-list

Observe que os aplicativos são pacotes no que diz respeito ao Software Center e PPAs adicionados manualmente. A diferença entre pacotes especificamente solicitados e pacotes trazidos para satisfazer dependências é o melhor que você pode fazer.

Ou, para ver apenas uma lista de todos os pacotes instalados, execute dpkg-query -W -f'${PackageSpec}\n'.

Robie Basak
fonte
2

Apenas o root pode instalar pacotes no Ubuntu, o usuário que pode fazer isso é apenas 1, os sudoers são apenas usuários com direitos equivalentes.

No entanto, você pode obter muitas informações olhando para os logs, pode ver

o log do apt no log /var/log/apt/ do dpkg em/var/log/

e você pode obter a lista dos pacotes instalados com apenas um comando:

dpkg -l | grep ii
user827992
fonte
Você pode reformular minha pergunta da maneira que desejar, a menos que o significado original permaneça. Se for chamado de 'sudoers aplicativos instalados', então que seja :) Naturalmente, eu poderia reformular minha pergunta para 'Como listar aplicativos instalados após a instalação do sistema'. "e você pode obter a lista dos pacotes instalados" - para qual finalidade?
Bucic 04/07
+1 para / var / log / apt. Se você instalou tudo com o apt-get, a pesquisa por 'Linha de comando:' neste log fornece uma boa lista de itens que você instalou manualmente.
Drevicko 14/10/12
1

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.

Pária
fonte