You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.2 KiB
Bash

#!/bin/sh
# check for common problems + junk
# https://github.com/neingeist/dirty-helpers
is_debian() {
test -f /etc/debian_version
}
is_fedora() {
test -f /etc/fedora-release
}
echo "== Dangling symlinks in /etc"
find /etc -type l -and -xtype l | grep -Ev 'blkid.tab|/var/log/dropbear|/etc/sv/ssh'
echo "== Trashes"
for t in /home/*/.local/share/Trash; do
if test -e "$t"; then
du -s "$t" | awk '{ if ($1 > 100000) { print } }'
fi
done
if is_debian; then
# check for things not installed via dpkg/apt and other junk
echo "== Packages not in installed state"
dpkg -l | grep -Ev "^(ii|Desired|\||\+)"
echo "== Orphan packages"
deborphan | grep -Ev 'libc6-i686|lib.*-ruby$|opensync|gstreamer0.10-plugins.*|libtime-modules-perl|vpim|gnome-session-fallback|.*-globalmenu|gcalctool|clive|unity-scope'
echo "== *.dpkg in /etc"
find /etc -name "*.dpkg-*" -or -name "*.ucf-*"
echo "== Orphan packages according to aptitude"
aptitude search "~o" || exit 0
elif is_fedora; then
# check for things not installed via RPM and other junk
echo "== should be installed via RPM or pip install --user:"
for site_packages in /usr/lib/python*/site-packages/; do
find $site_packages \( -name "*.egg-info" -or -name "*.dist-info" \) -exec rpm -qf {} \; 2>&1 | grep "not owned"
done
echo "== /usr/local"
find /usr/local/ -type f \
-and -not -name mimeinfo.cache \
-and -not -name defaults.list \
-print0 | xargs -0 rpm -qf 2>&1 | grep "not owned"
echo "== /usr/bin etc."
find /usr/bin /usr/sbin /usr/lib -type f \
\( \
-path '/usr/lib/modules/*/modules.*' -prune \
-or -path '*/__pycache__/*.py?' -prune \
-or -path '/usr/lib/fontconfig/cache/*' -prune \
-or -path '/usr/lib/jvm/*/*policy.jar' -prune \
-or -path '/usr/lib/modules/*/extra/*.ko' -prune \
-or -path '/usr/lib/dracut/*/block*.map' -prune \
-or -print0 \
\) | xargs -0 rpm -qf 2>&1 | grep "not owned"
echo "== *.rpmnew etc."
find /etc/ /usr/ \
-path '/usr/share/eclipse/dropins' -prune \
-or -name "*.rpm*" -and -not -name "*.rpm"
echo "== Orphan packages according to dnf"
dnf -q repoquery --extras | grep -v '^kernel-'
fi
exit 0