i wrote a small script to find binaries which are not in a package (will be attached) and discovered that there were several files which are part of the base system, but belong to no package. I woudl imagine that every file which i did not create or was not created as a side effect of running a program should be included in some package (many of these seem to fall under base-layout). anyway some examples: /etc/init.d/serial /bin/hostid (used to be in coreutils?) (the following may be due to me running a gcc 3.4.4 system which is unstable as of writing this, but could possible be left overs from gcc 3.3.5 not properly unmerging entirely) /usr/bin/c++ /usr/bin/cpp /usr/bin/f77 /usr/bin/g++ /usr/bin/g++32 /usr/bin/g77 /usr/bin/gcc32 /usr/bin/i386-pc-linux-gnu-c++ /usr/bin/i386-pc-linux-gnu-g++ /usr/bin/i386-pc-linux-gnu-gcc /usr/bin/i686-pc-linux-gnu-c++ /usr/bin/i686-pc-linux-gnu-g++ /usr/bin/i686-pc-linux-gnu-g++32 /usr/bin/i686-pc-linux-gnu-g77 /usr/bin/i686-pc-linux-gnu-gcc /usr/bin/i686-pc-linux-gnu-gcc32 and lots of .keep files which IMHO shoudl be part of the baselayout package. Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51.22-r2 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12.5 i686) ================================================================= System uname: 2.6.12.5 i686 Intel(R) Pentium(R) M processor 2.00GHz Gentoo Base System version 1.6.13 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium-m -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium-m -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x86 X acl acpi alsa arts avi berkdb bitmap-fonts cdr chroot crypt cscope cups curl debugger doc dvd dvdread emboss encode esd ethereal fam fbcon flac foomaticdb fortran gd gdbm gif gpm gtk gtk2 imagemagick imap imlib innodb ipv6 java jpeg kde kerberos ldap libg++ libwww mad mikmod mmx motif mp3 mpeg mysql ncurses nls nptl nptlonly odbc ogg oggvorbis opengl oss pam pcmcia pdflib perl png pnp python qt quicktime readline samba sasl sdl skey slang smime snmp softmmu spell sse sse2 ssl svga tcltk tcpd tetex tiff transcode truetype truetype-fonts type1-fonts unicode usb userlocales vorbis wifi wxwindows xine xml2 xmms xprint xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Created attachment 67378 [details] this is the script i used to find the files "./check_file.sh --help" for help but is is pretty basic usage. for example, to look for files which no owner in /usr/ and recurse 2 dirs deep ./check_file.sh --dir /usr --maxdepth 2 (note it doesn't like the file /usr/bin/[ since bash thinks it's part of a test expression, so that will show up as having no owner as a false positive)
i also noticed recently that koffice which I used to have installed did not entirely uninstall properly leaving behind several files in /usr/lib /usr/lib/karbon.la has no owner! /usr/lib/kchart.la has no owner! /usr/lib/kformulamain.la has no owner! /usr/lib/kivio.la has no owner! /usr/lib/koshell.la has no owner! /usr/lib/kpresenter.la has no owner! /usr/lib/kspread.la has no owner! /usr/lib/kudesigner.la has no owner! /usr/lib/kugar.la has no owner! /usr/lib/kword.la has no owner!
Created attachment 67380 [details] improved version of the script (excludes /proc, /sys, /dev, /usr/portage, and /usr/src/linux)
I guess there're several scripts floating around identifying stale files. Up to know Portage checks for matching mtime
I guess there're several scripts floating around identifying stale files. Up to know Portage checks for matching mtime¹ before deleting files. Then there is a small bug regarding symlinks². Last but possible not least Portage doesn't care about the life time of CONFIG_PROTECTed files³ All known issues, so I'm treating this as dupe. [1] Bug 71265 [2] Bug 59593 [3] Bug 8423 *** This bug has been marked as a duplicate of 71265 ***