I was looking for a way to find all the crud I'd stashed in my system directories over the years.

So I wrote a script to check all the directories that eopkg installs to and report any files that are added or removed compared to the eopkg database. You can use it to see what's inside of your system directories that are not managed by eopkg.

If you're interested, you can get it here: https://github.com/tomocafe/eopkg-audit

Installation instructions are in the README, but you can simply make install for a system install, or make PREFIX=$HOME install to install in your personal home directory.

I tried to use sane defaults for filtering out things that are not useful to see, so if you see something you think should be filtered out, please let me know. For the technical among you, here is the current list of default root directories and patterns to ignore:

    config = {
        'ignore': [
            '/etc/',
            '/run/',
            '/var/',
            '/usr/lib/kernel/',
            '/usr/lib/systemd/system/',
            '/usr/lib/sysusers.d/',
            '/usr/lib/python2.7/site-packages/',
            '/usr/lib/python3.7/site-packages/',
            '/usr/lib/ruby/gems/',
            '/usr/lib/firefox/'
        ],
        'ignore_pattern': [
            '\.pyc$',
            '/\.uuid$',
            'icon-theme.cache$'
        ]
    }

Here's what my output looks like:

+ /usr/share/dbus-1/services/io.snapcraft.Settings.service
+ /usr/share/dbus-1/services/io.snapcraft.Launcher.service
+ /usr/share/zsh/site-functions/_papirus-folders
- /usr/lib/tmpfiles.d/udisks2.conf
+ /usr/share/icons/hicolor/64x64/apps/Citrix-Receiver.png
+ /usr/share/fonts/conf.d/66-noto-color-emoji.conf.newconfig
+ /usr/share/fonts/conf.d/66-noto-color-emoji.conf
+ /usr/share/applications/zoom.desktop
+ /usr/share/applications/teams.desktop
- /usr/share/applications/xdvi.desktop
+ /usr/share/applications/xdvi.desktop.HIDE
+ /usr/share/applications/zettlr.desktop
+ /usr/share/applications/mimeinfo.cache
+ /usr/share/bash-completion/completions/papirus-folders
+ /usr/share/glib-2.0/schemas/gschemas.compiled
+ /usr/share/glib-2.0/schemas/x.dm.slick-greeter.gschema.xml~
+ /usr/bin/eopkg-audit
+ /usr/bin/player.py
+ /usr/bin/pilconvert.py
+ /usr/bin/jupyter-kernelspec
+ /usr/bin/papirus-folders
+ /usr/bin/zettlr
+ /usr/bin/pilfont.py
+ /usr/bin/jupyter
+ /usr/bin/jupyter-nbconvert
+ /usr/bin/jupyter-trust
+ /usr/bin/zoom
+ /usr/bin/gifmaker.py
+ /usr/bin/jupyter-notebook
+ /usr/bin/jsonschema
+ /usr/bin/google-chrome-stable-incognito
+ /usr/bin/jupyter-run
+ /usr/bin/enhancer.py
+ /usr/bin/sass-convert
+ /usr/bin/grunt
+ /usr/bin/pygmentize
+ /usr/bin/jupyter-kernel
+ /usr/bin/f2py3
+ /usr/bin/jupyter-nbextension
+ /usr/bin/createfontdatachunk.py
+ /usr/bin/wal
+ /usr/bin/jupyter-console
+ /usr/bin/pilfile.py
+ /usr/bin/jupyter-bundlerextension
+ /usr/bin/iptest
+ /usr/bin/painter.py
+ /usr/bin/wpg
+ /usr/bin/ipython3
+ /usr/bin/ipython
+ /usr/bin/pytest
+ /usr/bin/jupyter-serverextension
+ /usr/bin/pilprint.py
+ /usr/bin/jupyter-qtconsole
+ /usr/bin/j4-make-config
+ /usr/bin/find_similar_images.py
+ /usr/bin/code
+ /usr/bin/thresholder.py
+ /usr/bin/jupyter-migrate
+ /usr/bin/explode.py
+ /usr/bin/f2py
+ /usr/bin/budgie-desktop-debug
+ /usr/bin/py.test
+ /usr/bin/f2py3.6
+ /usr/bin/teams
+ /usr/bin/pildriver.py
+ /usr/bin/jupyter-troubleshoot
+ /usr/bin/scss
+ /usr/bin/viewer.py
+ /usr/bin/wpg-install.sh
+ /usr/bin/sass
+ /usr/bin/EXIF.py
+ /usr/bin/iptest3
+ /usr/share/man/man1/ipython.1.gz
- /usr/share/icons/hicolor/48x48/devices
+ /usr/share/texmf-dist/tex/latex/fontawesome/fontawesome.sty~
+ /usr/share/mime/packages/Citrix-mime_types.xml
+ /usr/share/xsessions/budgie-desktop-debug.desktop
Skipped 1 directory due to lack of permission
Run with sudo to audit this directory

Some of this stuff I forgot I added some time ago. 🙂

    tomocafe This is my output:

    $ eopkg-audit -a
    + /usr/share/dbus-1/services/io.snapcraft.Settings.service
    + /usr/share/dbus-1/services/io.snapcraft.Launcher.service
    + /usr/share/fonts/conf.d/66-noto-color-emoji.conf.newconfig
    + /usr/share/fonts/conf.d/66-noto-color-emoji.conf
    + /usr/share/applications/mimeinfo.cache
    + /vmlinuz
    + /initrd.img
    + /boot/grub/themes/Vimix/select_e.png
    + /boot/grub/themes/Vimix/select_c.png
    + /boot/grub/themes/Vimix/select_w.png
    + /usr/share/glib-2.0/schemas/gschemas.compiled
    + /usr/bin/eopkg-audit
    + /usr/bin/freecad
    + /usr/bin/github-desktop
    + /usr/bin/joplin
    + /usr/bin/marktext
    + /boot/grub/themes/Vimix/icons/endeavouros.png
    + /usr/share/icons/korla/apps/scalable/preferences-desktop-apps.svg
    + /usr/share/icons/korla/apps/scalable/conky-manager2.svg

    There are some files that we have in common:

    /usr/share/dbus-1/services/io.snapcraft.Settings.service
    /usr/share/dbus-1/services/io.snapcraft.Launcher.service
    /usr/share/fonts/conf.d/66-noto-color-emoji.conf.newconfig
    /usr/share/fonts/conf.d/66-noto-color-emoji.conf
    /usr/share/applications/mimeinfo.cache
    /usr/share/glib-2.0/schemas/gschemas.compiled
    /usr/bin/eopkg-audit

    I'm excited to download, install, and try. Not a big fan of clutter.

    I've read your instructions thoroughly but still have questions:
    --is the goal to locate unused debris in order to take out the trash?
    --or just to keep track of spread out packages? or both?
    thanks, look forward to trying. edit/typo

      brent Pretty much both. For example, I was trying to uninstall something I installed manually a long time ago and forgot all the places I put the stuff for that particular application. You can also customize it to filter out anything not of interest.