【发布时间】:2011-08-09 06:30:17
【问题描述】:
macports 中的很多端口都安装为其他(应用程序)端口的库依赖项,但卸载这些应用程序端口并不会卸载相应的库依赖项。随着时间的推移,很多这样的图书馆端口成为孤儿,只是浪费空间。所以我想知道是否有办法找到它们。
谢谢。
【问题讨论】:
macports 中的很多端口都安装为其他(应用程序)端口的库依赖项,但卸载这些应用程序端口并不会卸载相应的库依赖项。随着时间的推移,很多这样的图书馆端口成为孤儿,只是浪费空间。所以我想知道是否有办法找到它们。
谢谢。
【问题讨论】:
要删除非活动端口,您可以运行
sudo port uninstall inactive
要从 2.4 及更高版本中删除,您可以运行
sudo port reclaim
回收操作尝试通过卸载非活动端口和删除在安装过程中下载的不必要文件来回收空间。
【讨论】:
您需要一个名为 port_cutleaves 的包/脚本。 我认为它可以直接从 macports 或 fink 获得。 无论哪种方式,您的问题都是孤立的依赖项,这应该删除它们,抱歉,我没有使用 macports 安装的详细信息。
更新:此链接可能会对您有所帮助,它是一个备忘单。 http://www.jbmurphy.com/2011/02/17/my-mac-ports-cheat-sheet/
【讨论】:
安装新版本的端口后,旧版本将更改为非活动状态,但仍保留在磁盘上。要查看这些端口:
port list inactive
删除所有非活动端口:
[[ -z "$(port -q list inactive)" ]] || sudo port uninstall inactive
这不会删除任何端口的活动版本,包括仅在构建特定端口期间需要的端口。正如@Mitchell Currie 提到的,如果您想删除这些活动端口,请使用port_cutleaves。
【讨论】: