From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1O627a-0000lx-Ie for garchives@archives.gentoo.org; Sun, 25 Apr 2010 13:43:42 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C47CAE0949; Sun, 25 Apr 2010 13:43:34 +0000 (UTC) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.156]) by pigeon.gentoo.org (Postfix) with ESMTP id CE5C5E092F for ; Sun, 25 Apr 2010 13:43:26 +0000 (UTC) Received: by fg-out-1718.google.com with SMTP id 19so1687904fgg.10 for ; Sun, 25 Apr 2010 06:43:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:openpgp:content-type; bh=ykP/Xkee21K5/rNXbhsXksu/HBiUTRsWSLaHv0+H5NI=; b=ZONJ4poqKk2zbqy3UIisY4erkKDVK7Qhu2Fb+ELMsLH/mGdY6k9eEiFf+I+Rn/r0Fc oubB9WQVOf0USjqQS8QZJX2bmWUzyaumebe215mHv6O/HkFPRMm8SE8V7ONkjWLTIr8T RSDwVkWqPsvtqghjWWt36LXPpTYhJsg06WwbA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:x-enigmail-version:openpgp:content-type; b=VhMKft+NNLZG0hWCBsGafIRHPocRw++my8sVVpE8oKXRc7vyvqPxx8Fo1AppeOGypn NVfGvVG0INu6njcGmwNMO5rHVM+/u6RzWGLh+CcV/5NksqHDaRqkDN6xBYkWqeeeg7zE HxntHPx1o00x0GuhoSRPSnIPSY0+SKkUC/pn0= Received: by 10.87.40.31 with SMTP id s31mr4667350fgj.60.1272203006030; Sun, 25 Apr 2010 06:43:26 -0700 (PDT) Received: from [192.168.0.2] (dslb-084-057-224-189.pools.arcor-ip.net [84.57.224.189]) by mx.google.com with ESMTPS id 19sm6164204fkr.39.2010.04.25.06.43.24 (version=SSLv3 cipher=RC4-MD5); Sun, 25 Apr 2010 06:43:24 -0700 (PDT) Sender: Daniel Pielmeier Message-ID: <4BD446EC.2070809@gentoo.org> Date: Sun, 25 Apr 2010 15:43:08 +0200 From: Daniel Pielmeier User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100414 Lightning/1.0b1 Thunderbird/3.0.4 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] [RFC][NEW] Utility to find orphaned files References: <4BD42501.9070505@gentoo.org> In-Reply-To: <4BD42501.9070505@gentoo.org> X-Enigmail-Version: 1.0.1 OpenPGP: id=215AD14D Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigCD402306F12012D190380A99" X-Archives-Salt: 9c5c6111-5732-4a8d-b809-84cd87db998d X-Archives-Hash: 610978340c2c6b19bb33c190d4928d6b This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigCD402306F12012D190380A99 Content-Type: multipart/mixed; boundary="------------070000040603090403060902" This is a multi-part message in MIME format. --------------070000040603090403060902 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Angelo Arrifano schrieb am 25.04.2010 13:18: > Hello developers developers and developers, >=20 > Ever wondered how much crap is left in your X-years old Gentoo box? >=20 > I just developed a python utility to efficiently find orphaned files in= > the system. By orphaned files I mean the files that are present on > system directories and don't belong to any installed package. >=20 > The package builds a virtual filesystem (cache) on the RAM using python= > hash tables. Then it uses the cache to find the ownership of files > inside user-specified dirs. >=20 > Building the cache takes less than 10 seconds here in a system with 136= 6 > installed packages. >=20 > This is not intended to be a finished program yet, I'm looking forward > for your constructive commentaries. What about searching the complete file system but using an exclude file w= here you can put directories and files which should not be searched. It is ted= ious to tell every path on the command-line. Also for instance if you specify /li= b it will also search under /lib/modules and I am sure you do not consider all= contents there as unneeded. You also need to consider that your tool will return other false positive= s like byte compiled python modules and perl header files. In general everything= an ebuild does in phases where it adds files to file-system but files are no= t stored to CONTENTS (pkg_{pre,post}inst). At this point the files are need= ed but not recognized by the package manager. If the ebuild does not take care o= f this files when removing (pkg_{pre,post}rm) the package they will remain on th= e file-system and are now unneeded. I have written something in perl which I recently tried to implement in p= ython (not the same functionality like the perl version yet). I am not a good p= erl or python programmer but it fits my needs especially the perl version as I k= now a bit more perl than python. I attach both versions and a sample exclude file. Maybe it will be of hel= p. --=20 Daniel Pielmeier --------------070000040603090403060902 Content-Type: application/x-bzip2; name="cruft.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="cruft.tar.bz2" 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 glgdB3xL/xdyRThQkK6FYys= --------------070000040603090403060902-- --------------enigCD402306F12012D190380A99 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkvURuwACgkQlcuUeyFa0U124gCcD5m+LoIFLeZpUvK6xrPppPxc axAAn0I/DcYmX9CE6hY1fNnncmnuklpN =FwEO -----END PGP SIGNATURE----- --------------enigCD402306F12012D190380A99--