Como posso visualizar o histórico de apt-get install
comandos que executei manualmente?
Parece-me que todos os métodos disponíveis mostram tudo o que foi instalado desde o início da instalação do Ubuntu.
Como posso visualizar o histórico apt-get install
desde a conclusão do processo de instalação do sistema?
system-installation
software-installation
history
Diga-me o porquê
fonte
fonte
dpkg
no/var/log/dpkg.log*
.apt-get install
comando para instalar um pacote, e eu forneci uma solução que fornece essas informações, a menos que o arquivo de histórico tenha sido alterado de determinadas maneiras (por exemplo: as entradas foram foi removido).Respostas:
Eu acho que a resposta dada aqui por kos é a melhor maneira que eu vi até agora. Embora, como o Software Center use
apt
, qualquer coisa que ele tenha instalado também será listado.O comando é:
fonte
zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline:(?=.* install ) \K.*' | sed '1,4d'
:grep -Po '^Commandline:(?=.* install ) \K.*'
irá filtrar apenas osapt-get
comandos que contêminstall
com um espaço à esquerda e à direita,sed '1,4d'
pode ser dependente da instalação específica; no meu1,4
exclui exatamente o número de entradas provenientes da Ubiquity, que são aquelas que você deseja remover. Deixe-me saber se o número é o mesmo em sua instalação, dessa forma, pelo menos, temos uma linha de base: |apt-get -o APT::Status-Fd=4 -o APT::Keep-Fds::=5 -o APT::Keep-Fds::=6 -q -y --no-remove install linux-generic
com o novo comando. Eles são as linhas da Ubiquity?apt-get
front-end, além do Ubiquity, que é executado apenas uma vez (por exemplo, asaptdaemon
entradas também serão mostradas por esse comando). A melhor aposta ainda é usar esse comando, que pelo menos exclui as entradas da Ubiquity.Basta digitar o seguinte comando no seu terminal para visualizar todos os logs de instalação.
fonte
Para simplificar a resposta @Arronical, um truque interessante que aprendi recentemente é que você pode usar
zcat -qf
para criar arquivos txt e txt com gzip.torna-se
Do man zcat:
fonte
Aqui está um script que imprime apenas os pacotes de nível superior atualmente instalados , em que "pacotes de nível superior" são definidos como pacotes atp dos quais nenhum outro pacote atp depende. Se esses programas de nível superior foram instalados pelo atp ou por um gerenciador de pacotes como o synaptic, eles foram escolhidos manualmente pelo usuário.
Os pacotes são impressos em ordem inversa, supondo que é mais provável que o usuário deseje as informações mais recentes mais cedo e porque o programa é lento.
Fluxo do programa:
/var/lib/dpkg/info/
. Os tempos de modificação do arquivo são os tempos de instalação.$Pkg
, uma chamada paraapt-cache rdepends $Pkg
solicita as dependências reversas de$Pkg
. Se não houver dependências, é um pacote de nível superior e as informações do pacote são impressas: date time packagenameNotas:
apt-cache rdepends $Pkg
destinado aos olhos humanos e pode mudar nas versões futuras do apt.dpgk
arquivos de log do histórico não são confiáveis porque serão alternados após atingir um determinado volume.apt-chache
apt-cache rdepends ...
é muito lenta, presumivelmente, porque cada chamada é calculada através da iteração através de todas as dependências. Portanto, o script acima começa nas instalações mais recentes para oferecer ao usuário o máximo de gratificação instantânea possível.--installed
flag apósapt-cache
verifica se os pacotes instalados pelo dpkg também estão instalados. Se o usuário ou outro software de instalação ignorasse o apt e usasse o dpkg diretamente, seria possível. ESTE CASO NÃO FOI TESTADO, mas acho que algo perceptível seria impresso na saída padrão ou de erro/home
diretório de backup que inclua o referido software de terceiros, essa saída será adequada.fonte
Se você quiser ver todas as coisas que instalou executando:
E você não mexeu com o histórico do bash, nem deseja exibir o histórico desse tipo de tipo de instalação para outro usuário (ou todos os usuários), basta executar:
E isso deve gerar resultados principalmente relevantes.
fonte
apt-get install
mesmas no.bash_history
arquivo ou exclua esse arquivo, o comando mostrará todas as instâncias quando você executar um comando com a stringapt-get install
na sua conta de usuário (mesmo se você execute o comando como root e, portanto, não exatamente como sua conta de usuário - que está executando um comando comsudo
).Se você deseja histórico de
apt-get install
comandos, use o seguinte comando:Resultado:
Para outras informações, consulte Informações adicionais .
Há também informações de instalação mais detalhada em
/var/log/apt/
noshistory.log
ehistory.log.X.gz
arquivos eterm.log
eterm.log.X.gz
arquivosSe você deseja histórico de apenas
apt-get
comandos incluídos,fonte
apt-mark showmanual
mostra todos os pacotes instalados quando o sistema operacional também foi instalado, em vez de apenas aqueles realmente instalados manualmente. É uma maneira estranha de se comportar!/var/log/apt/history.log
e arquivos semelhantes. Você obtém apenas a lista de pacotes selecionados manualmente e selecionados automaticamente. Você não fornece nenhum histórico cronológico do que foi instalado, do que foi removido, do que foi atualizado etc. desta resposta.apt -mark showmanual
? Não consigo vê-lo na página de manual do Ubuntu 16.04 LTS paraapt
: < manpages.ubuntu.com/manpages/xenial/en/man8/apt.8.html >.Para ver o que você instalou e removeu, reinstalou, etc. Mais informações sobre a jornada das instalações do apt-get.
A resposta pode ser modificada para um alias:
fonte
Observe que alguns argumentos podem ser definidos antes da instalação, como o script virtualmin está fazendo durante a instalação: apt-get -y install packagename.
Portanto, se você deseja capturar todos os comandos de instalação, precisa alterar a consulta regex.
fonte