Remove o pacote e as dependências instaladas com o apt-get

1

Então eu instalei um pacote

apt-get install mypackage

O

apt-get instala o pacote com dependências, e relata que 10 megabytes foram instalados no meu disco.

Mas eu mudo de ideia, então vou

apt-get remove mypackage

E o apt-get anuncia que 166 kilobytes serão liberados.

Eu não quero lixo meu disco com sobras, então eu tento

apt-get autoremove mypackage

Agora o apt-get quer remover 166 megabytes do meu disco.

Como eu, você sabe, desfaz a última operação de instalação ou apenas desinstala um único pacote e todas suas dependências?

Como alternativa, existe outra ferramenta de gerenciamento de pacotes que eu poderia usar (mesmo em diferentes distro), que trataria as operações de instalação como operações atômicas que podem ser feitas e desfeitas?

    
por Rolf 15.01.2018 / 10:10

2 respostas

0

A propósito:

Descobri que a maneira mais confiável de "desfazer" uma operação de instalação é examinar o log do apt e desinstalar todos os pacotes que foram instalados por essa operação.

Por isso, criei uma solução para o meu problema . Isso ajuda a analisar as operações de registro e reversão do apt.

É assim que eu usaria:

Listar as últimas 10% das operações emapt:

sudo cat /var/log/apt/history.log |apt-history
91 apt-get install pulseaudio*
92 apt-get install gnome-control-center*
93 apt-get install pavucontrol
94 apt-get upgrade sublime-text
95 /usr/bin/unattended-upgrade
96 /usr/bin/unattended-upgrade
97 apt-get install adb
98 apt-get dist-upgrade
99 /usr/bin/unattended-upgrade
100 apt-get install qemu-system

Exibe detalhes sobre todos os pacotes que foram instalados pela operação # 100 (o último)

sudo cat /var/log/apt/history.log |apt-history 100 Install
seabios:amd64 (1.10.2-1, automatic), ipxe-qemu:amd64 (1.0.0+git-20161027.b991c67-1, automatic), qemu-system-mips:amd64 (1:2.8+dfsg-6+deb9u3, automatic), openbios-sparc:amd64 (1.1.git20161120-2, automatic), qemu-system-misc:amd64 (1:2.8+dfsg-6+deb9u3, automatic), qemu-system-ppc:amd64 (1:2.8+dfsg-6+deb9u3, automatic), libvdeplug2:amd64 (2.3.2+r586-2.1, automatic), qemu-system-x86:amd64 (1:2.8+dfsg-6+deb9u3, automatic), openhackware:amd64 (0.4.1+git-20140423.c559da7c-4, automatic), libspice-server1:amd64 (0.12.8-2.1+deb9u1, automatic), libxenstore3.0:amd64 (4.8.3+xsa262+shim4.10.0+comet3-1+deb9u6, automatic), qemu-utils:amd64 (1:2.8+dfsg-6+deb9u3, automatic), qemu-efi:amd64 (0~20161202.7bbe0b3e-1, automatic), qemu-system-sparc:amd64 (1:2.8+dfsg-6+deb9u3, automatic), libxen-4.8:amd64 (4.8.3+xsa262+shim4.10.0+comet3-1+deb9u6, automatic), libfdt1:amd64 (1.4.2-1, automatic), qemu-slof:amd64 (20161019+dfsg-1, automatic), qemu-system-arm:amd64 (1:2.8+dfsg-6+deb9u3, automatic), qemu-system-common:amd64 (1:2.8+dfsg-6+deb9u3, automatic), openbios-ppc:amd64 (1.1.git20161120-2, automatic), qemu-system:amd64 (1:2.8+dfsg-6+deb9u3)

Desinstale esses pacotes e suas configurações.

sudo apt-get remove --purge 'sudo cat /var/log/apt/history.log |apt-history 100 Install as-apt-arguments'

Aviso: para evitar conseqüências imprevistas, faça isso apenas no último comando de instalação e retorne um comando por vez.

    
por 25.05.2018 / 12:03
3

O APT não gerencia alterações de pacote como transações, portanto, não há operações internas para desfazer a instalação de um pacote (ou qualquer outra manipulação de pacote). No entanto, ele registra todas as operações que realiza, agrupadas por solicitação do usuário final: se você procurar em /var/log/apt/history.log , encontrará a instalação mypackage , junto com uma lista de todos os outros pacotes que foram instalados automaticamente ao lado isto. Você pode usar isso para desfazer a instalação manualmente.

Você também pode usar aptitude , para o seu gerenciamento geral de pacotes: efetivamente autoremove s por padrão. No entanto, isso não ajudará você, já que vai querer remover os mesmos 166 MiB de pacotes como apt autoremove .

Como apontado por Weijun Zhou , yum e dnf gerenciam as alterações do pacote como unidades que podem ser desfeitas (em algumas circunstâncias). dnf history listará as transações armazenadas no histórico e dnf history rollback ou dnf history undo poderá ser usado para reverter o histórico ou desfazer uma transação específica (se possível). Não tenho certeza se yum ou dnf pode ser usado corretamente em vez de APT em sistemas baseados no Debian; você pode precisar mudar para o Fedora, RHEL ou CentOS se quiser usar essas ferramentas para todo o seu gerenciamento de pacotes.

    
por 15.01.2018 / 10:46