"Reclaiming disk space" documentation/guide missing
Ryan Schmidt
ryandesign at macports.org
Sat May 23 15:12:50 PDT 2009
On May 23, 2009, at 12:24, Andreas Kotes wrote:
> I really love MacPorts (thanks to everyone maintaining it!), but I've
> got a little request: Macports is using an awful lot of disk space
> once
> you've got everything properly downloaded, built, installed, etc - in
> most cases, it seems to clean up after itself, but there seem to be
> things lurking behind - distfiles, old versions, things that aren't
> used
> during runtime and could be created from scratch pretty fast, etc ...
>
> I'd suggest to document how to get rid of as many of these files
> and as
> possible, or even to add a command to 'port' that takes care of
> this for
> the user.
You're right, documentation could probably be enhanced on this topic.
But port commands do exist for this.
To remove all ports' distfiles:
sudo port clean --distfiles all
You might also have old work directories lying around if a build ever
failed. To nuke work directories and distfiles at once:
sudo port clean --all all
To remove old versions of installed ports:
sudo port uninstall inactive
To uninstall old versions of a port at the same time that you upgrade
to the new version:
sudo port -u upgrade <portname>
You're right there are ports that are only needed at build time and
could be removed after the build is complete. You may also have ports
installed that are no longer needed. Maybe a dependency got removed
from a port somewhere along the way. The port_cutleaves tool can help
you find and remove these.
sudo port install port_cutleaves
man port_cutleaves
sudo port_cutleaves
> Also, getting rid of unneded localization data (semi)automatically
> would
> help a lot ...
There isn't a supported way to do this. Localization data, if any,
would be registered to the port, and you should not remove files
which are registered to a port (though probably nothing terribly bad
will happen if you do). Ports should be encouraged to provide as much
localization data as possible, to provide the fullest installation
possible.
> Yes, I know disk space is comparatively cheap (well, not with SSDs,
> but
> ..), but nonetheless I tend to use all of it on any of my systems, so
> I'm very concious about what's biiiig ... Right now, MacPorts is using
> almost a gigabyte on my system, which is quite a lot for something
> that's "only" complementing an existing Unix-system - with a
> comparatively small amount of installed packages.
My MacPorts prefix currently takes 2.5GiB on this machine, and I've
recently nuked most of my distfiles, and I don't keep old versions
installed either. :) Some ports are just... big! Looking on my
machine, llvm and gcc43 occupy 250MiB of space each, and ghc takes
over 400MiB (that's installed, not counting space for distfiles or
work directory).
Note that MacPorts is not trying to complement your existing UNIX
software on Mac OS X; it's trying to replace it. MacPorts goes to
considerable lengths not to use the components provided by Mac OS X,
for the reasons explained here:
http://trac.macports.org/wiki/FAQ#WhyisMacPortsusingitsownlibraries
So when using MacPorts you can expect some level of redundancy in the
ports that are installed.
More information about the macports-users
mailing list