How to remove a package and all unneeded dependencies
I want to remove kdenlive
from my Arch Linux. I also want to remove all packages that are needed only by kdenlive
. I tried doing
sudo pacman -Rnsu kdenlive
Here’s what I see when I run the command:
checking dependencies...
:: google-chrome optionally requires kwallet: for storing passwords in KWallet
:: imagemagick optionally requires libzip: OpenRaster support
:: libreoffice-fresh optionally requires kio: for KF5 KDE desktop integration
:: qt5-base optionally requires qt5-wayland: to run Qt applications in a Wayland session
:: root optionally requires qt5-webengine: Support for WebGUI
:: vlc optionally requires kwallet: kwallet keystore
:: zoom optionally requires qt5-webengine: SSO login support
warning: dependency cycle detected:
warning: usbmuxd will be removed after its libimobiledevice dependency
Packages (80) accounts-qml-module-0.7-4 attica-5.94.0-1 breeze-icons-5.94.0-1 cdparanoia-10.2-8
convertlit-1.8-10 ebook-tools-0.2.2-7 frei0r-plugins-1.7.0-2 gavl-1.4.0-6
graphene-1.10.8-1 gst-plugins-base-1.20.2-1 kaccounts-integration-22.04.1-1
karchive-5.94.0-1 kauth-5.94.0-1 kbookmarks-5.94.0-1 kcmutils-5.94.0-1
kcodecs-5.94.0-1 kcompletion-5.94.0-1 kconfig-5.94.0-1 kconfigwidgets-5.94.0-1
kcoreaddons-5.94.0-1 kcrash-5.94.0-1 kdbusaddons-5.94.0-1 kdeclarative-5.94.0-1
kded-5.94.0-1 kfilemetadata-5.94.0-1 kglobalaccel-5.94.0-1 kguiaddons-5.94.0-1
ki18n-5.94.0-1 kiconthemes-5.94.0-1 kio-5.94.0-1 kirigami2-5.94.0-1
kitemviews-5.94.0-1 kjobwidgets-5.94.0-1 knewstuff-5.94.0-2 knotifications-5.94.0-1
knotifyconfig-5.94.0-1 kpackage-5.94.0-1 kservice-5.94.0-1 ktextwidgets-5.94.0-1
kwallet-5.94.0-1 kwidgetsaddons-5.94.0-1 kwindowsystem-5.94.0-1 kxmlgui-5.94.0-1
libaccounts-glib-1.25-7 libaccounts-qt-1.16-3 libdbusmenu-qt5-0.9.3+16.04.20160218-6
libebur128-1.2.6-1 libimobiledevice-1.3.0-5 libplist-2.2.0-5 libusbmuxd-2.0.2-1
libvisual-0.4.0-8 libzip-1.8.0-1 media-player-info-24-2 minizip-1:1.2.12-2 mlt-7.6.0-1
polkit-qt5-0.114.0-1 poppler-qt5-22.05.0-2 purpose-5.94.0-1
qt5-declarative-5.15.4+kde+r19-1 qt5-graphicaleffects-5.15.4+kde+r0-1
qt5-location-5.15.4+kde+r2-1 qt5-multimedia-5.15.4+kde+r1-1
qt5-networkauth-5.15.4+kde+r0-1 qt5-quickcontrols-5.15.4+kde+r0-1
qt5-quickcontrols2-5.15.4+kde+r4-1 qt5-speech-5.15.4+kde+r1-1
qt5-wayland-5.15.4+kde+r38-1 qt5-webchannel-5.15.4+kde+r3-1 qt5-webengine-5.15.9-3
signon-kwallet-extension-22.04.1-1 signon-plugin-oauth2-0.25-1 signon-ui-0.17+20171022-3
signond-8.61-1 snappy-1.1.9-2 solid-5.94.0-1 sonnet-5.94.0-1 syndication-5.94.0-1
upower-0.99.18-1 usbmuxd-1.1.1-1 kdenlive-22.04.1-1
Total Removed Size: 486.11 MiB
:: Do you want to remove these packages? [Y/n]
What I’m concerned about is that zoom optionally requires qt5-webengine
, yet qt5-webengine
appears in the list of packages to be removed. I thought the -u
option would prevent that. What I want is to remove everything that was installed along with kdenlive
while keeping anything that is even optionally required by anything else.
How can I do that?
If you want to not remove optional dependencies I think you’ll have to massage the list yourself, remove anything you want to keep.
pacman -Rsp kdenlive &| vim -R -
then :%s/v-d+(.d+)+-d+$//
to strip the version numbers, delete the entries for packages you want to keep, then build your pacman -R
from that.
. . . or it might be easier to just reinstall the ones you want, do the -Rsu
then pacman --asdeps -S
the ones you want back.