Anybody ever try to write an uninstaller?

If none of the more specific forums is the right place to ask

Anybody ever try to write an uninstaller?

Postby ab1jx » 2019-11-19 19:37

If you install something huge with lots of parts like Gnome, then later decide to get rid of it, you can uninstall Gnome but not the 50+ things that installing it also installed. If you look at /var/log/apt/history.log you can find all the debs listed in a section that has the original program name at the top. So just call dpkg to remove each one without breaking anything outside that set. It's probably worthwhile to parse the whole section at once and hold the package names in memory. Figuring out what the dependencies could be tricky but they're probably mostly in the same set. You can't remove x without breaking y but you're going to remove y anyway so it doesn't matter.
ab1jx
 
Posts: 33
Joined: 2016-01-23 21:28
Location: Heath, MA, USA

Re: Anybody ever try to write an uninstaller?

Postby Dai_trying » 2019-11-19 20:28

Isn't that what the "autoremove" option is for? it will remove all the "50+" things that were installed (unless required by another package) in one go. But just to point out that whenever using autoremove users should examine the list that apt will give you before entering yes(y) to remove them, and never use the -y option with autoremove unless you are absolutely certain you can fix any issues that may arise.
Dai_trying
 
Posts: 834
Joined: 2016-01-07 12:25

Re: Anybody ever try to write an uninstaller?

Postby ab1jx » 2019-11-19 21:08

I don't think I've ever used it, or not more than once. Fairly often it suggests things that can be autoremoved that I don't want removed. I also build a bunch of stuff that's outside the debs system and maybe I installed the deb because it was a requirement of whatever I was working on, usually a *-dev package.

Gnome (which is an extreme case) also installed
Code: Select all
Start-Date: 2019-11-18  02:42:21
Commandline: apt-get install gnome
Install: speech-dispatcher-audio-plugins:arm64 (0.9.0-5, automatic), gkbd-capplet:arm64 (3.26.1-1, automatic), libusbredirparser1:arm64 (0.8.0-1, automatic), libgoa-backend-1.0-1:arm64 (3.30.1-2, automatic), libchamplain-gtk-0.12-0:arm64 (0.12.16-3, automatic), evince:arm64 (3.30.2-3, automatic), libpipewire-0.2-1:arm64 (0.2.5-1, automatic), gir1.2-geocodeglib-1.0:arm64 (3.26.1-1, automatic), gnome-color-manager:arm64 (3.30.0-2, automatic), libfolks-eds25:arm64 (0.11.4-1+b2, automatic), libdjvulibre-text:arm64 (3.5.27.1-10, automatic), bluez:arm64 (5.50-1, automatic), libdc1394-22:arm64 (2.2.5-1, automatic), gnome-control-center-data:arm64 (1:3.30.3-2~deb10u1, automatic), gir1.2-gdata-0.0:arm64 (0.17.9-3, automatic), evolution-data-server-common:arm64 (3.30.5-1, automatic), libgdata-common:arm64 (0.17.9-3, automatic), gnome-keyring:arm64 (3.28.2-5, automatic), libldb1:arm64 (2:1.5.1+really1.4.6-3, automatic), gnome-settings-daemon-common:arm64 (3.30.2-3, automatic), gnome-calendar:arm64 (3.30.1-2, automatic), gir1.2-gucharmap-2.90:arm64 (1:11.0.3-3, automatic), fuse:arm64 (2.9.9-1, automatic), libgpgmepp6:arm64 (1.12.0-6, automatic), gir1.2-zpj-0.0:arm64 (0.0.3-5, automatic), libgupnp-igd-1.0-4:arm64 (0.2.5-3, automatic), libcogl20:arm64 (1.22.2-6, automatic), liblangtag-common:arm64 (0.6.2-1, automatic), python3-cupshelpers:arm64 (1.5.11-4, automatic), libisofs6:arm64 (1.5.0-1, automatic), dbus-x11:arm64 (1.12.16-1, automatic), libgusb2:arm64 (0.3.0-1, automatic), libavfilter7:arm64 (7:4.1.4-1~deb10u1, automatic), libgphoto2-port12:arm64 (2.5.22-3, automatic), libcrack2:arm64 (2.9.6-2, automatic), gir1.2-tracker-2.0:arm64 (2.1.8-2, automatic), libraw1394-11:arm64 (2.1.2-1+b1, automatic), gnome-contacts:arm64 (3.30.2-1, automatic), libao4:arm64 (1.2.2+20180113-1, automatic), libieee1284-3:arm64 (0.2.11-13, automatic), gnome-video-effects:arm64 (0.4.3-3, automatic), libclutter-1.0-0:arm64 (1.26.2+dfsg-10, automatic), libmbedtls12:arm64 (2.16.0-1, automatic), gir1.2-nm-1.0:arm64 (1.14.6-2+deb10u1, automatic), gnome-session:arm64 (3.30.1-2, automatic), libplist3:arm64 (2.0.1~git20190104.3f96731-1, automatic), sound-theme-freedesktop:arm64 (0.8-2, automatic), libedataserverui-1.2-2:arm64 (3.30.5-1, automatic), libvulkan1:arm64 (1.1.97-2, automatic), libquvi-scripts-0.9:arm64 (0.9.20131130-1.1, automatic), libgtop2-common:arm64 (2.38.0-4, automatic), libclutter-gst-3.0-0:arm64 (3.0.26-2, automatic), gedit:arm64 (3.30.2-2, automatic), gnome-session-common:arm64 (3.30.1-2, automatic), gir1.2-gtk-3.0:arm64 (3.24.5-1, automatic), gir1.2-mutter-3:arm64 (3.30.2-9~deb10u1, automatic), coinor-libcoinmp1v5:arm64 (1.8.3-2+b11, automatic), gvfs-backends:arm64 (1.38.1-5, automatic), libexttextcat-data:arm64 (3.4.5-1, automatic), gir1.2-gmenu-3.0:arm64 (3.31.4-3, automatic), libmtp9:arm64 (1.1.16-2, automatic), libayatana-indicator3-7:arm64 (0.6.2-3, automatic), gnome-logs:arm64 (3.30.0-2, automatic), libxklavier16:arm64 (5.4-4, automatic), gnome-control-center:arm64 (1:3.30.3-2~deb10u1, automatic), librygel-renderer-gst-2.6-2:arm64 (0.36.2-4, automatic), libgcr-base-3-1:arm64 (3.28.1-1, automatic), gir1.2-notify-0.7:arm64 (0.7.7-4, automatic), libevdocument3-4:arm64 (3.30.2-3, automatic), python3-mako:arm64 (1.0.7+ds1-1, automatic), gir1.2-secret-1:arm64 (0.18.7-1, automatic), libwacom-common:arm64 (0.32-1, automatic), gir1.2-soup-2.4:arm64 (2.64.2-2, automatic), librevenge-0.0-0:arm64 (0.0.4-6, automatic), libspeechd2:arm64 (0.9.0-5, automatic), gir1.2-gfbgraph-0.2:arm64 (0.2.3-3, automatic), speech-dispatcher:arm64 (0.9.0-5, automatic), libquvi-0.9-0.9.3:arm64 (0.9.3-1.3, automatic), libblockdev-swap2:arm64 (2.20-7+deb10u1, automatic), libcaribou0:arm64 (0.4.21-7, automatic), libcaribou-common:arm64 (0.4.21-7, automatic), gnome-system-monitor:arm64 (3.30.0-2, automatic), gir1.2-clutter-1.0:arm64 (1.26.2+dfsg-10, automatic), libgxps2:arm64 (0.3.1-1, automatic), libzapojit-0.0-0:arm64 (0.0.3-5, automatic), libdv4:arm64 (1.0.0-12, automatic), libdw1:arm64 (0.176-1.1, automatic), libgphoto2-6:arm64 (2.5.22-3, automatic), libgrilo-0.3-0:arm64 (0.3.7-1, automatic), gir1.2-gdkpixbuf-2.0:arm64 (2.38.1+dfsg-1, automatic), libopencore-amrnb0:arm64 (0.1.3-2.1+b2, automatic), libcogl-path20:arm64 (1.22.2-6, automatic), appstream:arm64 (0.12.5-1, automatic), libmbedcrypto3:arm64 (2.16.0-1, automatic), gnome-user-docs:arm64 (3.30.2-1, automatic), libnorm1:arm64 (1.5.8+dfsg2-1, automatic), libgoa-1.0-0b:arm64 (3.30.1-2, automatic), libopenal1:arm64 (1:1.19.1-1, automatic), baobab:arm64 (3.30.0-2, automatic), libgoa-1.0-common:arm64 (3.30.1-2, automatic), libgnome-autoar-gtk-0-0:arm64 (0.2.3-2, automatic), vino:arm64 (3.22.0-5, automatic), libcdparanoia0:arm64 (3.10.2+debian-13, automatic), brasero-common:arm64 (3.12.2-5, automatic), python3-distro:arm64 (1.3.0-1, automatic), p7zip:arm64 (16.02+dfsg-6, automatic), libaprutil1:arm64 (1.6.1-4, automatic), gir1.2-rest-0.7:arm64 (0.8.1-1, automatic), libnumbertext-data:arm64 (1.0.5-1, automatic), libgweather-3-15:arm64 (3.28.2-2, automatic), shotwell-common:arm64 (0.30.1-1, automatic), libcmis-0.5-5v5:arm64 (0.5.2-1, automatic), libpulsedsp:arm64 (12.2-4+deb10u1, automatic), libclucene-contribs1v5:arm64 (2.3.3.4+dfsg-1, automatic), acl:arm64 (2.2.53-4, automatic), libsndio7.0:arm64 (1.5.0-3, automatic), spice-client-glib-usb-acl-helper:arm64 (0.35-2, automatic), xdg-user-dirs:arm64 (0.17-2, automatic), libnice10:arm64 (0.1.14-1, automatic), libpgm-5.2-0:arm64 (5.2.122~dfsg-3, automatic), apg:arm64 (2.2.3.dfsg.1-5, automatic), libgd3:arm64 (2.2.5-5.2, automatic), libsrtp2-1:arm64 (2.2.0-1, automatic), folks-common:arm64 (0.11.4-1, automatic), libshout3:arm64 (2.4.1-2, automatic), cups-pk-helper:arm64 (0.2.6-1+b1, automatic), libavahi-glib1:arm64 (0.7-4+b1, automatic), libgjs0g:arm64 (1.54.3-1, automatic), libzmq5:arm64 (4.3.1-4+deb10u1, automatic), pulseaudio:arm64 (12.2-4+deb10u1, automatic), gstreamer1.0-plugins-good:arm64 (1.14.4-1, automatic), libreoffice-core:arm64 (1:6.1.5-3+deb10u5, automatic), seahorse:arm64 (3.30.1.1-1, automatic), libvo-aacenc0:arm64 (0.1.3-1+b1, automatic), lp-solve:arm64 (5.5.0.15-4+b1, automatic), libsratom-0-0:arm64 (0.6.0~dfsg0-1, automatic), gnome-desktop3-data:arm64 (3.30.2.1-2, automatic), yelp:arm64 (3.31.90-1, automatic), libyelp0:arm64 (3.31.90-1, automatic), libofa0:arm64 (0.9.3-19, automatic), mariadb-common:arm64 (1:10.3.18-0+deb10u1, automatic), libdbusmenu-glib4:arm64 (18.10.20180917~bzr490+repack1-1, automatic), libproxy1-plugin-gsettings:arm64 (0.4.15-5, automatic), lua-bitop:arm64 (1.0.2-5, automatic), libatkmm-1.6-1v5:arm64 (2.28.0-2, automatic), libcdio18:arm64 (2.0.0-2, automatic), python3-urllib3:arm64 (1.24.1-1, automatic), gir1.2-atk-1.0:arm64 (2.30.0-2, automatic), fonts-cantarell:arm64 (0.111-2, automatic), libexttextcat-2.0-0:arm64 (3.4.5-1, automatic), libgpgme11:arm64 (1.12.0-6, automatic), libsnmp-base:arm64 (5.7.3+dfsg-5, automatic), lua-expat:arm64 (1.3.0-4, automatic), liblangtag1:arm64 (0.6.2-1, automatic), liblouis17:arm64 (3.8.0-2, automatic), libtracker-sparql-2.0-0:arm64 (2.1.8-2, automatic), libwpd-0.10-10:arm64 (0.10.3-1, automatic), libarchive13:arm64 (3.3.3-4+deb10u1, automatic), libzmf-0.0-0:arm64 (0.0.2-1+b2, automatic), libdvdread4:arm64 (6.0.1-1, automatic), liblilv-0-0:arm64 (0.24.2~dfsg0-2, automatic), p11-kit:arm64 (0.23.15-2, automatic), lsof:arm64 (4.91+dfsg-1, automatic), python3-gi-cairo:arm64 (3.30.4-1, automatic), simple-scan:arm64 (3.30.1.1-1+b1, automatic), libgspell-1-common:arm64 (1.6.1-2, automatic), gnome-software:arm64 (3.30.6-5, automatic), at-spi2-core:arm64 (2.30.0-7, automatic), libgupnp-1.0-4:arm64 (1.0.3-3, automatic), eog:arm64 (3.28.4-2+b1, automatic), gir1.2-geoclue-2.0:arm64 (2.5.2-1, automatic), libpython2.7:arm64 (2.7.16-2+deb10u1, automatic), gedit-plugin-multi-edit:arm64 (3.30.1-3, automatic), python3-brlapi:arm64 (5.6-10, automatic), libcdio-cdda2:arm64 (10.2+0.94+2-4, automatic), libgdata22:arm64 (0.17.9-3, automatic), liba52-0.7.4:arm64 (0.7.4-19, automatic), gir1.2-ggit-1.0:arm64 (0.27.7-1, automatic), gir1.2-accountsservice-1.0:arm64 (0.6.45-2, automatic), libaprutil1-dbd-sqlite3:arm64 (1.6.1-4, automatic), libpeas-1.0-0:arm64 (1.22.0-4, automatic), rygel-playbin:arm64 (0.36.2-4, automatic), libeot0:arm64 (0.01-5, automatic), libpython3.7:arm64 (3.7.3-2, automatic), librdf0:arm64 (1.0.17-1.1+b1, automatic), gir1.2-evince-3.0:arm64 (3.30.2-3, automatic), gcr:arm64 (3.28.1-1, automatic), libgnome-bluetooth13:arm64 (3.28.2-4~deb10u1, automatic), libfolks25:arm64 (0.11.4-1+b2, automatic), gjs:arm64 (1.54.3-1, automatic), libwinpr2-2:arm64 (2.0.0~git20190204.1.2693389a+dfsg1-1, automatic), gnome-settings-daemon:arm64 (3.30.2-3, automatic), libyajl2:arm64 (2.1.0-3, automatic), libdca0:arm64 (0.0.6-1, automatic), python3-pyatspi:arm64 (2.30.0+dfsg-3, automatic), gir1.2-gtkchamplain-0.12:arm64 (0.12.16-3, automatic), libzbar0:arm64 (0.22-1, automatic), libbrlapi0.6:arm64 (5.6-10, automatic), python3-louis:arm64 (3.8.0-2, automatic), libcogl-pango20:arm64 (1.22.2-6, automatic), gir1.2-pango-1.0:arm64 (1.42.4-7~deb10u1, automatic), libmutter-3-0:arm64 (3.30.2-9~deb10u1, automatic), python3-idna:arm64 (2.6-1, automatic), gstreamer1.0-plugins-bad:arm64 (1.14.4-1+b1, automatic), evolution-common:arm64 (3.30.5-1.1, automatic), libmtdev1:arm64 (1.1.5-1+b1, automatic), libopencore-amrwb0:arm64 (0.1.3-2.1+b2, automatic), coinor-libcoinutils3v5:arm64 (2.10.14+repack1-1, automatic), gedit-plugin-bracket-completion:arm64 (3.30.1-3, automatic), libusbredirhost1:arm64 (0.8.0-1, automatic), gstreamer1.0-plugins-base:arm64 (1.14.4-2, automatic), rhythmbox-plugins:arm64 (3.4.3-2, automatic), libwps-0.4-4:arm64 (0.4.10-1, automatic), libpwquality-common:arm64 (1.4.0-3, automatic), evolution-data-server:arm64 (3.30.5-1, automatic), python3-six:arm64 (1.12.0-1, automatic), gnome-screenshot:arm64 (3.30.0-2, automatic), network-manager-gnome:arm64 (1.8.20-1.1, automatic), libgles2:arm64 (1.1.0-1, automatic), libapache2-mod-dnssd:arm64 (0.6-3.2, automatic), libxcb-randr0:arm64 (1.13.1-2, automatic), libblockdev-loop2:arm64 (2.20-7+deb10u1, automatic), orca:arm64 (3.30.1-1, automatic), libmusicbrainz5cc2v5:arm64 (5.1.0+git20150707-9, automatic), upower:arm64 (0.99.10-1, automatic), gnome-sushi:arm64 (3.30.0-2, automatic), libblockdev-fs2:arm64 (2.20-7+deb10u1, automatic), gir1.2-freedesktop:arm64 (1.58.3-2, automatic), gdm3:arm64 (3.30.2-3, automatic), libtotem-plparser-common:arm64 (3.26.2-1, automatic), libgsf-1-114:arm64 (1.14.45-1, automatic), libdazzle-1.0-0:arm64 (3.30.2-2, automatic), lua-json:arm64 (1.3.4-2, automatic), libytnef0:arm64 (1.9.3-1, automatic), gnome-online-miners:arm64 (3.30.0-2, automatic), gnome-bluetooth:arm64 (3.28.2-4~deb10u1, automatic), software-properties-gtk:arm64 (0.96.20.2-2, automatic), librygel-server-2.6-2:arm64 (0.36.2-4, automatic), colord-data:arm64 (1.4.3-4, automatic), libblockdev-part2:arm64 (2.20-7+deb10u1, automatic), libatk-adaptor:arm64 (2.30.0-5, automatic), cheese:arm64 (3.31.90-1, automatic), libparted-fs-resize0:arm64 (3.2-25, automatic), libwildmidi2:arm64 (0.4.3-1, automatic), p11-kit-modules:arm64 (0.23.15-2, automatic), liboauth0:arm64 (1.0.3-3, automatic), libphodav-2.0-common:arm64 (2.2-3, automatic), librubberband2:arm64 (1.8.1-7, automatic), python3-requests:arm64 (2.21.0-1, automatic), libgpod4:arm64 (0.8.3-13, automatic), gir1.2-gdm-1.0:arm64 (3.30.2-3, automatic), libopenal-data:arm64 (1:1.19.1-1, automatic), libpostproc55:arm64 (7:4.1.4-1~deb10u1, automatic), libgfbgraph-0.2-0:arm64 (0.2.3-3, automatic), libdvdnav4:arm64 (6.0.0-1, automatic), libgcr-ui-3-1:arm64 (3.28.1-1, automatic), libfluidsynth1:arm64 (1.1.11-1, automatic), gedit-plugin-zeitgeist:arm64 (3.30.1-3, automatic), python3-cups:arm64 (1.9.73-2+b1, automatic), fonts-quicksand:arm64 (0.2016-2, automatic), libtracker-miner-2.0-0:arm64 (2.1.8-2, automatic), libpam-gnome-keyring:arm64 (3.28.2-5, automatic), libexempi8:arm64 (2.5.0-2, automatic), libltdl7:arm64 (2.4.6-9, automatic), gnome-disk-utility:arm64 (3.30.2-3, automatic), gstreamer1.0-pulseaudio:arm64 (1.14.4-1, automatic), mutter-common:arm64 (3.30.2-9~deb10u1, automatic), geoclue-2.0:arm64 (2.5.2-1, automatic), python-talloc:arm64 (2.1.14-2, automatic), libvisio-0.1-1:arm64 (0.1.6-1+b2, automatic), libxkbcommon-x11-0:arm64 (0.8.2-1, automatic), libxmlsec1-nss:arm64 (1.2.27-2, automatic), gnome-tweaks:arm64 (3.30.2-1, automatic), gir1.2-gnomedesktop-3.0:arm64 (3.30.2.1-2, automatic), libgeocode-glib0:arm64 (3.26.1-1, automatic), python3-xdg:arm64 (0.25-5, automatic), libgeoclue-2-0:arm64 (2.5.2-1, automatic), gir1.2-rb-3.0:arm64 (3.4.3-2, automatic), gir1.2-clutter-gst-3.0:arm64 (3.0.26-2, automatic), librygel-db-2.6-2:arm64 (0.36.2-4, automatic), libqxp-0.0-0:arm64 (0.0.2-1, automatic), libreoffice-base-core:arm64 (1:6.1.5-3+deb10u5, automatic), libusbmuxd4:arm64 (1.1.0~git20181007.07a493a-1, automatic), libavahi-ui-gtk3-0:arm64 (0.7-4+b1, automatic), libspectre1:arm64 (0.2.8-1, automatic), libcairo-perl:arm64 (1.106-3+b1, automatic), samba-libs:arm64 (2:4.9.5+dfsg-5+deb10u1, automatic), gedit-plugin-draw-spaces:arm64 (3.30.1-3, automatic), libapr1:arm64 (1.6.5-1+b1, automatic), libgnome-todo:arm64 (3.28.1-2, automatic), libcdio-paranoia2:arm64 (10.2+0.94+2-4, automatic), rhythmbox-data:arm64 (3.4.3-2, automatic), gnome-music:arm64 (3.30.2-1, automatic), libgdm1:arm64 (3.30.2-3, automatic), gnome-font-viewer:arm64 (3.30.0-2, automatic), gir1.2-gck-1:arm64 (3.28.1-1, automatic), libappstream-glib8:arm64 (0.7.14-1, automatic), libinput-bin:arm64 (1.12.6-2, automatic), libwpg-0.3-3:arm64 (0.3.3-1, automatic), libmozjs-60-0:arm64 (60.2.3-3, automatic), libnumbertext-1.0-0:arm64 (1.0.5-1, automatic), gnome-calculator:arm64 (3.30.1-2, automatic), libaprutil1-ldap:arm64 (1.6.1-4, automatic), libebackend-1.2-10:arm64 (3.30.5-1, automatic), gir1.2-totemplparser-1.0:arm64 (3.26.2-1, automatic), libmediaart-2.0-0:arm64 (1.9.4-2, automatic), gir1.2-cogl-1.0:arm64 (1.22.2-6, automatic), libreoffice-impress:arm64 (1:6.1.5-3+deb10u5, automatic), evince-common:arm64 (3.30.2-3, automatic), udisks2:arm64 (2.8.1-4, automatic), libsnmp30:arm64 (5.7.3+dfsg-5, automatic), libgnome-autoar-0-0:arm64 (0.2.3-2, automatic), gnome-maps:arm64 (3.30.3-1, automatic), libao-common:arm64 (1.2.2+20180113-1, automatic), gvfs-libs:arm64 (1.38.1-5, automatic), gvfs-fuse:arm64 (1.38.1-5, automatic), nautilus:arm64 (3.30.5-2, automatic), python3-speechd:arm64 (0.9.0-5, automatic), libpeas-common:arm64 (1.22.0-4, automatic), libnautilus-extension1a:arm64 (3.30.5-2, automatic), media-player-info:arm64 (24-2, automatic), libgnome-desktop-3-17:arm64 (3.30.2.1-2, automatic), libgee-0.8-2:arm64 (0.20.1-2, automatic), gir1.2-wnck-3.0:arm64 (3.30.0-2, automatic), libfreerdp2-2:arm64 (2.0.0~git20190204.1.2693389a+dfsg1-1, automatic), gedit-plugin-synctex:arm64 (3.30.1-3, automatic), gir1.2-peas-1.0:arm64 (1.22.0-4, automatic), gnome-sound-recorder:arm64 (3.28.2-2~deb10u1, automatic), p7zip-full:arm64 (16.02+dfsg-6, automatic), libebook-1.2-19:arm64 (3.30.5-1, automatic), gedit-plugin-git:arm64 (3.30.1-3, automatic), yelp-xsl:arm64 (3.31.90-1, automatic), libass9:arm64 (1:0.14.0-2, automatic), libtotem-plparser18:arm64 (3.26.2-1, automatic), libodfgen-0.1-1:arm64 (0.1.7-1, automatic), gir1.2-vte-2.91:arm64 (0.54.2-2, automatic), libgvnc-1.0-0:arm64 (0.9.0-1.1, automatic), gedit-plugin-translate:arm64 (3.30.1-3, automatic), gir1.2-gtksource-3.0:arm64 (3.24.9-2, automatic), libevview3-3:arm64 (3.30.2-3, automatic), libchamplain-0.12-0:arm64 (0.12.16-3, automatic), libimobiledevice6:arm64 (1.2.1~git20181030.92c5462-1, automatic), gir1.2-gweather-3.0:arm64 (3.28.2-2, automatic), libayatana-ido3-0.4-0:arm64 (0.4.4-1, automatic), gedit-plugin-character-map:arm64 (3.30.1-3, automatic), libmplex2-2.1-0:arm64 (1:2.1.0+debian-5, automatic), libboost-chrono1.67.0:arm64 (1.67.0-13, automatic), gtk2-engines-pixbuf:arm64 (2.24.32-3, automatic), libiec61883-0:arm64 (1.2.0-3, automatic), libxv1:arm64 (2:1.0.11-1, automatic), gir1.2-gnomebluetooth-1.0:arm64 (3.28.2-4~deb10u1, automatic), libtag1v5:arm64 (1.11.1+dfsg.1-0.3, automatic), gedit-plugins:arm64 (3.30.1-3, automatic), libxcb-res0:arm64 (1.13.1-2, automatic), libgucharmap-2-90-7:arm64 (1:11.0.3-3, automatic), libclucene-core1v5:arm64 (2.3.3.4+dfsg-1, automatic), libfuse2:arm64 (2.9.9-1, automatic), coinor-libcbc3:arm64 (2.9.9+repack1-1, automatic), libhttp-parser2.8:arm64 (2.8.1-1, automatic), libneon27-gnutls:arm64 (0.30.2-3, automatic), libpulse-mainloop-glib0:arm64 (12.2-4+deb10u1, automatic), gedit-plugin-color-schemer:arm64 (3.30.1-3, automatic), libcacard0:arm64 (1:2.6.1-1, automatic), libgsf-1-common:arm64 (1.14.45-1, automatic), libblockdev2:arm64 (2.20-7+deb10u1, automatic), libmpeg2encpp-2.1-0:arm64 (1:2.1.0+debian-5, automatic), libsoundtouch1:arm64 (2.1.2+ds1-1, automatic), libreoffice-style-colibre:arm64 (1:6.1.5-3+deb10u5, automatic), python3-markupsafe:arm64 (1.1.0-1, automatic), libjack-jackd2-0:arm64 (1.9.12~dfsg-2, automatic), libglib2.0-bin:arm64 (2.58.3-2+deb10u2, automatic), liborcus-0.14-0:arm64 (0.14.1-6, automatic), libmbedx509-0:arm64 (2.16.0-1, automatic), libmjpegutils-2.1-0:arm64 (1:2.1.0+debian-5, automatic), lua-socket:arm64 (3.0~rc1+git+ac3201d-4, automatic), libayatana-appindicator3-1:arm64 (0.5.3-4, automatic), ure:arm64 (6.1.5-3+deb10u5, automatic), libproxy1-plugin-webkit:arm64 (0.4.15-5, automatic), gnome-shell-common:arm64 (3.30.2-11~deb10u1, automatic), libvo-amrwbenc0:arm64 (0.1.3-1+b1, automatic), libburn4:arm64 (1.5.0-1, automatic), libreoffice-writer:arm64 (1:6.1.5-3+deb10u5, automatic), gir1.2-gcr-3:arm64 (3.28.1-1, automatic), libgck-1-0:arm64 (3.28.1-1, automatic), libgail-3-0:arm64 (3.24.5-1, automatic), system-config-printer-udev:arm64 (1.5.11-4, automatic), xwayland:arm64 (2:1.20.4-1, automatic), libreoffice-common:arm64 (1:6.1.5-3+deb10u5, automatic), libnma0:arm64 (1.8.20-1.1, automatic), gedit-common:arm64 (3.30.2-2, automatic), libxcb-shape0:arm64 (1.13.1-2, automatic), gstreamer1.0-x:arm64 (1.14.4-2, automatic), python3-pkg-resources:arm64 (40.8.0-1, automatic), grilo-plugins-0.3:arm64 (0.3.8-2, automatic), libcanberra-pulse:arm64 (0.30-7, automatic), liblua5.2-0:arm64 (5.2.4-1.1+b2, automatic), packagekit:arm64 (1.1.12-5, automatic), libgom-1.0-0:arm64 (0.3.3-5, automatic), gir1.2-goa-1.0:arm64 (3.30.1-2, automatic), libproxy1-plugin-networkmanager:arm64 (0.4.15-5, automatic), gedit-plugin-smart-spaces:arm64 (3.30.1-3, automatic), gnome-online-accounts:arm64 (3.30.1-2, automatic), gir1.2-upowerglib-1.0:arm64 (0.99.10-1, automatic), libcanberra-gtk3-0:arm64 (0.30-7, automatic), shotwell:arm64 (0.30.1-1, automatic), libgspell-1-1:arm64 (1.6.1-2, automatic), gir1.2-atspi-2.0:arm64 (2.30.0-7, automatic), gedit-plugin-commander:arm64 (3.30.1-3, automatic), libglib-perl:arm64 (3:1.329-1, automatic), gir1.2-gst-plugins-base-1.0:arm64 (1.14.4-2, automatic), rygel:arm64 (0.36.2-4, automatic), totem-plugins:arm64 (3.30.0-4, automatic), libspice-client-glib-2.0-8:arm64 (0.35-2, automatic), libtotem0:arm64 (3.30.0-4, automatic), libgssdp-1.0-3:arm64 (1.0.2-4, automatic), vinagre:arm64 (3.22.0-6, automatic), gnome-todo-common:arm64 (3.28.1-2, automatic), libavahi-gobject0:arm64 (0.7-4+b1, automatic), coinor-libcgl1:arm64 (0.59.10+repack1-1, automatic), nautilus-sendto:arm64 (3.8.6-3, automatic), mysql-common:arm64 (5.8+1.0.5, automatic), libxxf86dga1:arm64 (2:1.1.4-1+b3, automatic), libwnck-3-0:arm64 (3.30.0-2, automatic), gir1.2-totem-1.0:arm64 (3.30.0-4, automatic), gnome-core:arm64 (1:3.30+1, automatic), libblockdev-utils2:arm64 (2.20-7+deb10u1, automatic), libmhash2:arm64 (0.9.9.9-7+b1, automatic), libboost-atomic1.67.0:arm64 (1.67.0-13, automatic), gedit-plugin-find-in-files:arm64 (3.30.1-3, automatic), libcairomm-1.0-1v5:arm64 (1.12.2-4, automatic), libupower-glib3:arm64 (0.99.10-1, automatic), libsmbclient:arm64 (2:4.9.5+dfsg-5+deb10u1, automatic), libspeexdsp1:arm64 (1.2~rc1.2-1+b2, automatic), libmpeg2-4:arm64 (0.5.1-8, automatic), libfwupd2:arm64 (1.2.5-2, automatic), libmysofa0:arm64 (0.6~dfsg0-3, automatic), libmwaw-0.3-3:arm64 (0.3.14-1, automatic), libsodium23:arm64 (1.0.17-1, automatic), libgnome-menu-3-0:arm64 (3.31.4-3, automatic), libstaroffice-0.0-0:arm64 (0.0.6-1, automatic), libsord-0-0:arm64 (0.16.0~dfsg0-1+b1, automatic), coinor-libosi1v5:arm64 (0.107.9+repack1-1, automatic), libtdb1:arm64 (1.3.16-2+b1, automatic), libnfs12:arm64 (3.0.0-2, automatic), libvidstab1.1:arm64 (1.1.0-2, automatic), gnome:arm64 (1:3.30+1), tracker:arm64 (2.1.8-2, automatic), gnome-shell-extensions:arm64 (3.30.1-1, automatic), libsynctex2:arm64 (2018.20181218.49446-1, automatic), libblockdev-part-err2:arm64 (2.20-7+deb10u1, automatic), lua-lpeg:arm64 (1.0.0-2, automatic), gnome-session-bin:arm64 (3.30.1-2, automatic), desktop-base:arm64 (10.0.2, automatic), libasound2-plugins:arm64 (1.1.8-1, automatic), libfftw3-double3:arm64 (3.3.8-2, automatic), libcheese-gtk25:arm64 (3.31.90-1, automatic), libvisual-0.4-0:arm64 (0.4.0-15, automatic), libgsound0:arm64 (1.0.2-4, automatic), libbrasero-media3-1:arm64 (3.12.2-5, automatic), gnome-characters:arm64 (3.30.0-2, automatic), libglib2.0-data:arm64 (2.58.3-2+deb10u2, automatic), cheese-common:arm64 (3.31.90-1, automatic), bluez-obexd:arm64 (5.50-1, automatic), libmpcdec6:arm64 (2:0.1~r495-1+b2, automatic), libdbusmenu-gtk3-4:arm64 (18.10.20180917~bzr490+repack1-1, automatic), libcolord-gtk1:arm64 (0.1.26-2, automatic), gir1.2-mediaart-2.0:arm64 (1.9.4-2, automatic), gir1.2-gdesktopenums-3.0:arm64 (3.28.1-1, automatic), libboost-locale1.67.0:arm64 (1.67.0-13, automatic), gir1.2-coglpango-1.0:arm64 (1.22.2-6, automatic), gedit-plugin-code-comment:arm64 (3.30.1-3, automatic), caribou:arm64 (0.4.21-7, automatic), gvfs:arm64 (1.38.1-5, automatic), file-roller:arm64 (3.30.1-2, automatic), libdjvulibre21:arm64 (3.5.27.1-10, automatic), libpwquality1:arm64 (1.4.0-3, automatic), python3-cairo:arm64 (1.16.2-1+b1, automatic), gstreamer1.0-libav:arm64 (1.15.0.1+git20180723+db823502-2, automatic), librhythmbox-core10:arm64 (3.4.3-2, automatic), libspandsp2:arm64 (0.0.6+dfsg-2, automatic), libphonenumber7:arm64 (7.1.0-5+b4, automatic), libsidplay1v5:arm64 (1.36.59-11, automatic), libmusicbrainz5-2:arm64 (5.1.0+git20150707-9, automatic), libsane-common:arm64 (1.0.27-3.2, automatic), libkate1:arm64 (0.4.1-9, automatic), libmariadb3:arm64 (1:10.3.18-0+deb10u1, automatic), fonts-opensymbol:arm64 (2:102.10+LibO6.1.5-3+deb10u5, automatic), libpagemaker-0.0-0:arm64 (0.0.4-1, automatic), libebook-contacts-1.2-2:arm64 (3.30.5-1, automatic), gir1.2-webkit2-4.0:arm64 (2.26.2-1~deb10+1, automatic), gnome-terminal-data:arm64 (3.30.2-2, automatic), libtracker-control-2.0-0:arm64 (2.1.8-2, automatic), libibus-1.0-5:arm64 (1.5.19-4+deb10u1, automatic), pulseaudio-module-bluetooth:arm64 (12.2-4+deb10u1, automatic), gnome-todo:arm64 (3.28.1-2, automatic), gedit-plugin-word-completion:arm64 (3.30.1-3, automatic), libgupnp-dlna-2.0-3:arm64 (0.10.5-4, automatic), libwacom2:arm64 (0.32-1, automatic), libwnck-3-common:arm64 (3.30.0-2, automatic), gir1.2-champlain-0.12:arm64 (0.12.16-3, automatic), libphodav-2.0-0:arm64 (2.2-3, automatic), libedata-book-1.2-25:arm64 (3.30.5-1, automatic), apache2-bin:arm64 (2.4.38-3+deb10u3, automatic), gedit-plugin-color-picker:arm64 (3.30.1-3, automatic), gnome-clocks:arm64 (3.30.1-2, automatic), libcairo-gobject-perl:arm64 (1.004-3+b1, automatic), libudisks2-0:arm64 (2.8.1-4, automatic), gir1.2-ibus-1.0:arm64 (1.5.19-4+deb10u1, automatic), coinor-libclp1:arm64 (1.16.11+repack1-1, automatic), liblouis-data:arm64 (3.8.0-2, automatic), libcheese8:arm64 (3.31.90-1, automatic), totem-common:arm64 (3.30.0-4, automatic), gvfs-common:arm64 (1.38.1-5, automatic), libzeitgeist-2.0-0:arm64 (1.0.1-1, automatic), totem:arm64 (3.30.0-4, automatic), libmodplug1:arm64 (1:0.8.9.0-2, automatic), libetonyek-0.1-1:arm64 (0.1.9-1, automatic), uno-libs3:arm64 (6.1.5-3+deb10u5, automatic), libbs2b0:arm64 (3.1.0+dfsg-2.2, automatic), gnome-user-share:arm64 (3.28.0-2, automatic), nautilus-data:arm64 (3.30.5-2, automatic), gir1.2-grilo-0.3:arm64 (0.3.7-1, automatic), gnome-shell:arm64 (3.30.2-11~deb10u1, automatic), gir1.2-gstreamer-1.0:arm64 (1.14.4-1, automatic), libedata-cal-1.2-29:arm64 (3.30.5-1, automatic), libgit2-glib-1.0-0:arm64 (0.27.7-1, automatic), libglibmm-2.4-1v5:arm64 (2.58.0-2, automatic), libreoffice-style-tango:arm64 (1:6.1.5-3+deb10u5, automatic), libical3:arm64 (3.0.4-3, automatic), libappstream4:arm64 (0.12.5-1, automatic), libdmapsharing-3.0-2:arm64 (2.9.39-4, automatic), libpangomm-1.4-1v5:arm64 (2.42.0-2, automatic), librygel-core-2.6-2:arm64 (0.36.2-4, automatic), libraptor2-0:arm64 (2.0.14-1+b1, automatic), libboost-filesystem1.67.0:arm64 (1.67.0-13, automatic), x11-utils:arm64 (7.7+4, automatic), gir1.2-json-1.0:arm64 (1.4.4-2, automatic), librygel-renderer-2.6-2:arm64 (0.36.2-4, automatic), libv4l-0:arm64 (1.16.3-3, automatic), accountsservice:arm64 (0.6.45-2, automatic), gnome-themes-extra-data:arm64 (3.28-1, automatic), libgnomekbd8:arm64 (3.26.1-1, automatic), libgtk3-perl:arm64 (0.034-2, automatic), gir1.2-polkit-1.0:arm64 (0.105-25, automatic), libglib-object-introspection-perl:arm64 (0.047-1, automatic), libv4lconvert0:arm64 (1.16.3-3, automatic), system-config-printer-common:arm64 (1.5.11-4, automatic), librasqal3:arm64 (0.9.32-1+b1, automatic), libprotobuf17:arm64 (3.6.1.3-2, automatic), gstreamer1.0-clutter-3.0:arm64 (3.0.26-2, automatic), libtag1v5-vanilla:arm64 (1.11.1+dfsg.1-0.3, automatic), libyaml-0-2:arm64 (0.2.1-1, automatic), libreoffice-gnome:arm64 (1:6.1.5-3+deb10u5, automatic), gir1.2-caribou-1.0:arm64 (0.4.21-7, automatic), libcamel-1.2-62:arm64 (3.30.5-1, automatic), libstemmer0d:arm64 (0+svn585-1+b2, automatic), gnome-documents:arm64 (3.31.92-1, automatic), gnome-weather:arm64 (3.26.0-5, automatic), libcolorhug2:arm64 (1.4.3-4, automatic), libcanberra0:arm64 (0.30-7, automatic), libecal-1.2-19:arm64 (3.30.5-1, automatic), libepubgen-0.1-1:arm64 (0.1.1-1, automatic), libmspub-0.1-1:arm64 (0.1.4-1+b2, automatic), pinentry-gnome3:arm64 (1.1.0-2, automatic), libreoffice-calc:arm64 (1:6.1.5-3+deb10u5, automatic), libavc1394-0:arm64 (0.5.4-5, automatic), libgnomekbd-common:arm64 (3.26.1-1, automatic), libdotconf0:arm64 (1.3-0.3, automatic), evolution-plugins:arm64 (3.30.5-1.1, automatic), gnome-terminal:arm64 (3.30.2-2, automatic), pulseaudio-utils:arm64 (12.2-4+deb10u1, automatic), gstreamer1.0-packagekit:arm64 (1.1.12-5, automatic), apt-config-icons:arm64 (0.12.5-1, automatic), libserd-0-0:arm64 (0.28.0~dfsg0-1, automatic), gnome-themes-extra:arm64 (3.28-1, automatic), libcdr-0.1-1:arm64 (0.1.5-1, automatic), desktop-file-utils:arm64 (0.23-4, automatic), libmythes-1.2-0:arm64 (2:1.2.4-3, automatic), libtevent0:arm64 (0.9.37-1, automatic), libgupnp-av-1.0-2:arm64 (0.12.11-2, automatic), gnome-software-common:arm64 (3.30.6-5, automatic), dconf-cli:arm64 (0.30.1-2, automatic), gir1.2-rsvg-2.0:arm64 (2.44.10-2.1, automatic), python3-certifi:arm64 (2018.8.24-1, automatic), libgsf-bin:arm64 (1.14.45-1, automatic), rygel-tracker:arm64 (0.36.2-4, automatic), libgstreamer-plugins-bad1.0-0:arm64 (1.14.4-1+b1, automatic), xdg-user-dirs-gtk:arm64 (0.10-3, automatic), python3-chardet:arm64 (3.0.4-3, automatic), libgit2-27:arm64 (0.27.7+dfsg.1-0.2, automatic), liblirc-client0:arm64 (0.10.1-5.2, automatic), gedit-plugin-terminal:arm64 (3.30.1-3, automatic), gvfs-daemons:arm64 (1.38.1-5, automatic), libedataserver-1.2-23:arm64 (3.30.5-1, automatic), libboost-date-time1.67.0:arm64 (1.67.0-13, automatic), gedit-plugin-join-lines:arm64 (3.30.1-3, automatic), libgtkspell3-3-0:arm64 (3.0.9-3, automatic), libmtp-common:arm64 (1.1.16-2, automatic), gir1.2-gtkclutter-1.0:arm64 (1.8.4-4, automatic), libspice-client-gtk-3.0-5:arm64 (0.35-2, automatic), libe-book-0.1-1:arm64 (0.1.3-1+b2, automatic), libabw-0.1-1:arm64 (0.1.2-1, automatic), gedit-plugin-bookmarks:arm64 (3.30.1-3, automatic), libgtk-vnc-2.0-0:arm64 (0.9.0-1.1, automatic), libgweather-common:arm64 (3.28.2-2, automatic), libatasmart4:arm64 (0.19-5, automatic), libmms0:arm64 (0.6.4-3, automatic), libaudio2:arm64 (1.9.4-6, automatic), libxmlsec1:arm64 (1.2.27-2, automatic), libboost-thread1.67.0:arm64 (1.67.0-13, automatic), libavresample4:arm64 (7:4.1.4-1~deb10u1, automatic), libfaad2:arm64 (2.8.8-3, automatic), gnome-getting-started-docs:arm64 (3.30.0-1, automatic), libjte1:arm64 (1.21-1, automatic), gir1.2-nma-1.0:arm64 (1.8.20-1.1, automatic), libsane:arm64 (1.0.27-3.2, automatic), gnome-backgrounds:arm64 (3.30.0-1, automatic), libevolution:arm64 (3.30.5-1.1, automatic), libxcb-xkb1:arm64 (1.13.1-2, automatic), libflite1:arm64 (2.1-release-3, automatic), evolution:arm64 (3.30.5-1.1, automatic), libreoffice-draw:arm64 (1:6.1.5-3+deb10u5, automatic), libgtop-2.0-11:arm64 (2.38.0-4, automatic), libaccountsservice0:arm64 (0.6.45-2, automatic), libsbc1:arm64 (1.4-1, automatic), gir1.2-javascriptcoregtk-4.0:arm64 (2.26.2-1~deb10+1, automatic), libinput10:arm64 (1.12.6-2, automatic), rhythmbox:arm64 (3.4.3-2, automatic), colord:arm64 (1.4.3-4, automatic), gedit-plugins-common:arm64 (3.30.1-3, automatic), mutter:arm64 (3.30.2-9~deb10u1, automatic), libclutter-gtk-1.0-0:arm64 (1.8.4-4, automatic), gstreamer1.0-plugins-ugly:arm64 (1.14.4-1, automatic), rhythmbox-plugin-cdrecorder:arm64 (3.4.3-2, automatic), libfreehand-0.1-1:arm64 (0.1.2-2, automatic), gir1.2-dazzle-1.0:arm64 (3.30.2-2, automatic), libwebrtc-audio-processing1:arm64 (0.3-1, automatic), libgtkmm-3.0-1v5:arm64 (3.24.0-2, automatic), libkpathsea6:arm64 (2018.20181218.49446-1, automatic), gnome-menus:arm64 (3.31.4-3, automatic), libevdev2:arm64 (1.6.0+dfsg-1, automatic)
End-Date: 2019-11-18  02:50:29


I don't want to tackle that by hand. Yet it's all grouped together in the history file. As long as you don't install more than one thing at a time or they'd all get removed. It's one transaction, I just want to undo it.
ab1jx
 
Posts: 33
Joined: 2016-01-23 21:28
Location: Heath, MA, USA

Re: Anybody ever try to write an uninstaller?

Postby Dai_trying » 2019-11-20 06:45

I think I do not really understand what the problem is, if you simply want to remove the gnome DE then autoremove will do that, if you need/want to keep some of the packages that get removed couldn't you just re-install them afterwards?
Dai_trying
 
Posts: 834
Joined: 2016-01-07 12:25

Re: Anybody ever try to write an uninstaller?

Postby ab1jx » 2019-11-26 02:48

Here's an example: I've built current Firefox using largely things in the debs, I had to install a newer Rust and llvm I think. But nothing shows as a dependency of those debs because the end product was outside the deb system so they would probably get autoremoved. I don't trust autoremove,never use it.

I just put this on Sourceforge https://sourceforge.net/projects/debuninstall/ which scans through the history.log, asks the user to choose a transaction, then uses dpkg -r to remove the debs. When you do that on a deb that still has dependencies dpkg returns a non-zero error code so I use that to flag the deb to be retried. It keeps making passes through them until the number removed doesn't increase since the last pass. I only use dpkg and apt-get, I don't deal with the inner workings of the apt system at all.
ab1jx
 
Posts: 33
Joined: 2016-01-23 21:28
Location: Heath, MA, USA

Re: Anybody ever try to write an uninstaller?

Postby Dai_trying » 2019-11-26 07:30

If you installed any package by using apt (or apt-get, dpkg) you can simply apt remove it which should leave the dependencies alone although the system will report them as no longer required, autoremove would remove them all, and if there are packages you would like to keep you could mark them as manually installed which should keep them on your system. Even .deb packages that are outside of the Debian repositories would work this way as apt will retain any packages that are either required by another package or manually installed.
But as you seem to have created a solution to your problem I guess you could consider this thread as solved and mark it accordingly. :)
Dai_trying
 
Posts: 834
Joined: 2016-01-07 12:25

Re: Anybody ever try to write an uninstaller?

Postby ab1jx » 2019-11-26 13:23

I'm sort of always looking for excuses to write programs that are within my capabilities, enjoyed doing it. I was wondering how I was going to get rid of Gnome, but there was some other reason to load a new image onto that SD card, forgotten now. Oh, I didn't expect it to be a GPT image. I DDed it from a 64 GB card to a 128 when I got another one, then used Gparted to expand the partition. But fsck found lots of problems with it so I salvaged my files and started from scratch with a new image. Running on a Rock64 here.

Mark it solved? I don't see a place to do that on this board, at least from within the editor. I've seen it on other boards.

Holy crap, you can have Xorg in one virtual terminal and Wayland in another, I'm doing it now. But apt search wayland doesn't look very promising. On an Odroid N2 there's only Mali acceleration in Wayland so I was looking to see if I could live with Wayland. But the default terminal emulator isn't even adequate: no scroll bar, ctrl, alt, fn keys aren't right in mc.
Last edited by ab1jx on 2019-11-26 13:40, edited 1 time in total.
ab1jx
 
Posts: 33
Joined: 2016-01-23 21:28
Location: Heath, MA, USA

Re: Anybody ever try to write an uninstaller?

Postby Dai_trying » 2019-11-26 13:31

ab1jx wrote:Mark it solved? I don't see a place to do that on this board, at least from within the editor. I've seen it on other boards.


Simply edit the title of the OP and add [SOLVED]
Dai_trying
 
Posts: 834
Joined: 2016-01-07 12:25


Return to General Questions

Who is online

Users browsing this forum: No registered users and 10 guests

fashionable