Ghost Orphan packages, why


As I was looking into some packages, I realized pamac is listing a lot of orphaned packages which are not actually orphans, because python2 is a dependency for IDLE, which I installed and sometimes use, and syncthing is actively in use every day. So why is is listing these as orphans, and is there a method to filter for packages that were automatically installed, but are not actively used anymore (like apt autoclean)?

~ >>> pamac list -o                                                                                                                                                                             
asciidoc                         10.2.0-1              community  1.8 MB
attica                           5.96.0-1              extra      1.8 MB
boost                            1.79.0-1              extra      179.6 MB
celt                             0.11.3-4              AUR        180.1 kB
cheese                           41.1-2                extra      2.8 MB
chrpath                          0.16-3                community  63.4 kB
colord-gtk                       0.3.0-2               extra      49.1 kB
doxygen                          1.9.3-1               extra      17.6 MB
electron                         20.0.0-1              community  208.9 MB
electron12                       12.2.3-4              community  171.3 MB
electron18                       18.3.6-1              community  189.9 MB
elfutils                         0.187-2               core       3.6 MB
extra-cmake-modules              5.96.0-1              extra      2.5 MB
gdl                              3.40.0-1              extra      1.8 MB
gendesk                          1.0.9-3               community  6.7 MB
gestures                         0.3.0-1               community  59.2 kB
gnome-shell-extension-gamemode   7-1                   community  38.6 kB
gnome-shell-extension-pop-shell  1.2.0+271+g08abba0-1  community  381.3 kB
gnome-shell-extension-unite      61-1                  AUR        405.1 kB
gobject-introspection            1.72.0-1              extra      14.4 MB
gstreamer0.10-base               0.10.36-13            AUR        11.5 MB
gtest                            1.12.1-1              community  2.2 MB
gtkspell3                        3.0.10-2              community  209.1 kB
intltool                         0.51.0-6              extra      153.1 kB
jq                               1.6-4                 community  706.8 kB
js78                             78.15.0-4             community  65.3 MB
kvantum-theme-matchama           20191118-1            AUR        2.4 MB
kwayland                         5.96.0-1              extra      7.6 MB
lib32-db                         5.3.28-5              multilib   4.3 MB
lib32-dconf                      0.40.0-2              multilib   117.5 kB
lib32-gstreamer                  1.20.3-1              multilib   3.5 MB
lib32-libgudev                   237-2                 multilib   46.7 kB
lib32-libgusb                    0.3.10-2              multilib   71.2 kB
lib32-libnsl                     2.0.0-1               multilib   30.3 kB
lib32-polkit                     121-1                 multilib   179.4 kB
libcroco                         0.6.13-2              extra      1.2 MB
libdazzle                        3.44.0-1              extra      5.5 MB
libgweather                      40.0+r87+g80e5a652-2  extra      23.6 MB
libhandy0                        0.0.13+12+gaa6b6f4-3  extra      871.8 kB
libicns                          0.8.1-9               community  121.3 kB
libmusicbrainz5                  5.1.0-5               community  807.6 kB
libofa                           0.9.3-9               extra      168.6 kB
libopenaptx                      0.2.0-1                          61.3 kB
libpipewire02                    0.2.7-2               extra      1.6 MB
libquvi                          0.9.4-6               extra      125.9 kB
libtg_owt                        0.git14.10d5f4b-2     community  54.2 MB
manjaro-gnome-extension-settings 20220728-1            community  1.7 kB
matcha-gtk-theme                 20220607-1            community  28.5 MB
mate-desktop                     1.26.0-1              community  4.0 MB
meson                            0.63.1-1              extra      8.3 MB
mono-addins                      1.3.3-3               extra      1.8 MB
nm-connection-editor             1.28.0-1              extra      4.6 MB
opencolorio1                     1.1.1-3               AUR        1.3 MB
openscenegraph                   3.6.5-14              community  33.8 MB
openssl-1.0                      1.0.2.u-1             core       6.1 MB
pkgconf                          1.8.0-1               core       165.5 kB
podofo                           0.9.8-1               community  4.6 MB
python-build                     0.8.0-1               community  1.1 MB
python-contextlib2               21.6.0-1              community  90.3 kB
python-decorator                 5.1.1-1               community  49.7 kB
python-installer                 0.5.1-1               community  1.2 MB
python-monotonic                 1.6-3                 community  17.8 kB
python-progress                  1.6-5                 community  44.3 kB
python-pydrive                   1.3.1-5               community  243.0 kB
python-retrying                  1.3.3-13              extra      33.2 kB
python-toml                      0.10.2-7              community  141.8 kB
python-wheel                     0.37.1-1              community  170.7 kB
python2-bcrypt                   3.1.7-4               AUR        64.4 kB
python2-cairo                    1.18.2-4              AUR        266.1 kB
python2-dateutil                 2.8.2-1               AUR        931.0 kB
python2-gobject                  3.36.1-4              AUR        1.3 MB
qt5-imageformats                 5.15.5+kde+r4-1       extra      214.5 kB
qt5ct                            1.5-2                 community  882.2 kB
qt6-shadertools                  6.3.1-1               extra      3.8 MB
qt6ct                            0.5-4                 community  709.0 kB
rustup                           1.25.1-1              community  8.8 MB
sip4                             4.19.25-3             extra      506.2 kB
syncthing                        1.20.3-1              community  23.1 MB
tbb                              2021.5.0-2            extra      2.0 MB
tepl                             1:6.0.2-1             community  1.8 MB
yasm                             1.3.0-5               extra      4.5 MB
zita-alsa-pcmi                   0.5.1-1               extra      80.2 kB
zita-resampler                   1.8.0-1               extra      202.6 kB
~ >>>

I’m not sure what you mean as IDLE is included with the python package here on manjaro it’s not a separate package like on some other distros, and for whatever reason it doesn’t get placed in the start/app menu (at least it hasn’t for me on KDE/Plasma) but you can add it yourself.

Regarding orphans that you still use, all you need to do is change the install reason to explicitly installed (I use Octopi instead of pamac GUI and to change the install reason is dead easy, I assume it is in pamac too, and you can also do using pacman.)
I haven’t checked the manjaro wiki, but I do know the arch wiki has a section regarding the removal of orphans.

ok, so I set syncthing and cheese to explicitely installed, and removed the rest via # pacman -Qtdq | pacman -Rns -, but I realized that just doing pacman -Qtdq gives another list than what is asked to be deinstalled. F.e., there is adwaita-qt6, which is not in the output of pacman -Qtdq, but would be deinstalled by # pacman -Qtdq | pacman -Rns -, and I have no idea whether I need it or not… I guess not, and everything still works, but where do these additional packages after the pipe come from, if not from the first command? I’m irritated about that…

Try reading the man page, man pacman

-c, --cascade
           Remove all target packages, as well as all packages that depend on one or more target packages. This operation is recursive and must be used with care, since it can remove many potentially needed packages.

-n, --nosave
           Instructs pacman to ignore file backup designations. Normally, when a file is removed from the system, the database is checked to see if the file should be renamed with a .pacsave extension.

-s, --recursive
           Remove each target specified including all of their dependencies, provided that (A) they are not required by other packages; and (B) they were not explicitly installed by the user. This operation is recursive and
           analogous to a backwards --sync operation, and it helps keep a clean system without orphans. If you want to omit condition (B), pass this option twice.

-u, --unneeded
           Removes targets that are not required by any other packages. This is mostly useful when removing a group without using the -c option, to avoid breaking any dependencies.
1 Like

Most of them are build dependency plus some deprecated stuff

1 Like