/var/log/apt/history.log
geralmente é melhor usar por vários motivos para isso, uma é que ele registra se um pacote foi instalado automaticamente para satisfazer dependências ou não. As atualizações são instaladas no mesmo dia e algumas delas têm novas dependências. Se você tentar removê-los, o apt recomendará remover os pacotes atualizados também. Você sempre pode remover as dependências automáticas dos pacotes removidos depois com apt-get autoremove
.
Uma desvantagem de /var/log/apt/history.log
é que ele registra somente pacotes instalados via apt
(linha de comando ou gerenciador de pacotes), não aqueles instalados diretamente com dpkg
. Outra é que o log é horrível de analisar:
date=2014-02-26
awk '$1=="Start-Date:" && $2=="'"$date"'" && got_date="yes" {}
got_date=="yes" && $1=="Install:" && got_date="no" {
for(i=2; i<=NF; i++) {
if( $i !~ /,|\)/ && $(i+2) !~ /^automatic\)/ ) print $i } }' \
/var/log/apt/history.log |
xargs sudo apt-get -s remove
Remova o -s
de apt-get
quando tiver certeza de que você tem o que deseja. O formato de data pode variar de acordo com a localidade, portanto, verifique seu log para ver.
Além disso, apt-get autremove
não removerá pacotes se outro pacote sugerir / recomendá-los (por exemplo, o pacote é instalado como uma dependência, mas mantido devido a uma sugestão). Aqui está o comando para obter tudo, beware isso pode remover mais do que você esperava (para mim isso realmente quer remover meu ambiente de desktop!):
date=2014-02-26
awk '$1=="Start-Date:" && $2=="'"$date"'" && got_date="yes" {}
got_date=="yes" && $1=="Install:" && got_date="no" {
for(i=2; i<=NF; i++) {
if( $i !~ /,|\)/ ) print $i } }' \
/var/log/apt/history.log |
xargs sudo apt-get -s remove
Mais uma vez, remova -s
quando estiver satisfeito.