列出自制软件包中的所有文件

Posted

技术标签:

【中文标题】列出自制软件包中的所有文件【英文标题】:List all files in a homebrew package 【发布时间】:2013-10-01 09:23:26 【问题描述】:

如何让homebrew 列出为一个包安装的所有文件?例如,当我为 exim 包运行 brew list 时,我得到了这些文件:

$ brew list exim
/usr/local/Cellar/exim/4.80.1/bin/exiwhat
/usr/local/Cellar/exim/4.80.1/bin/exiqsumm
/usr/local/Cellar/exim/4.80.1/bin/exiqgrep
/usr/local/Cellar/exim/4.80.1/bin/exipick
/usr/local/Cellar/exim/4.80.1/bin/exinext
/usr/local/Cellar/exim/4.80.1/bin/eximstats
/usr/local/Cellar/exim/4.80.1/bin/exim_tidydb
/usr/local/Cellar/exim/4.80.1/bin/exim_lock
/usr/local/Cellar/exim/4.80.1/bin/exim_fixdb
/usr/local/Cellar/exim/4.80.1/bin/exim_dumpdb
/usr/local/Cellar/exim/4.80.1/bin/exim_dbmbuild
/usr/local/Cellar/exim/4.80.1/bin/exim_ctl
/usr/local/Cellar/exim/4.80.1/bin/exim_checkaccess
/usr/local/Cellar/exim/4.80.1/bin/exim-4.80.1-3
/usr/local/Cellar/exim/4.80.1/bin/exim
/usr/local/Cellar/exim/4.80.1/bin/exigrep
/usr/local/Cellar/exim/4.80.1/bin/exicyclog
/usr/local/Cellar/exim/4.80.1/share/man/man8/exim.8

但是有一些文件不在上面的列表中。例如:

$ ls -ld /usr/local/etc/exim.conf 
-rw-r--r--  1 hanxue  admin  35904 Sep 25 21:11 /usr/local/etc/exim.conf

【问题讨论】:

【参考方案1】:

如果有问题的软件包是 cask 安装(例如 mactex),那么您需要将 --cask arg 包含到 list/ls 命令中,例如

brew ls --cask exim

注意:如果您不包含 --cask 参数,则使用木桶时,它通常会报告错误。使用 --cask 参数,它可能只列出安装程序 dmg,因为它似乎不跟踪生成的安装文件。

【讨论】:

【参考方案2】:

只需添加-v--verbose,例如:

$ brew ls --verbose exim

【讨论】:

虽然递归到已安装目录并列出它们包含的所有文件,但它没有在原始帖子中列出 exim.conf 文件。它由 brew install 操作添加。 @MSpreij MacPorts 实际上没有这个问题,因为它会在将要安装的所有文件移动到最终目的地之前对其进行跟踪。 Homebrew 根本不这样做,所以/usr/local/etc 和其他地方的配置文件会保留下来,除非手动删除它们。 Homebrew 只关心程序本身,而不是程序留下的设置或其他残余。 Here is a section from the MacPorts documentation explaining how they avoid this problem.

以上是关于列出自制软件包中的所有文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行列出 Github 包注册表存储库中的所有包?

sh 用自制软件在mac中的mongodb

自制压缩软件

在没有自制软件的情况下安装了 macos catalina 中的 mongod 命令有问题?

sh [在MAC OSX上配置允许多个用户的自制权限]。管理员组中的任何用户都可以管理自制软件和c

如何解决自制软件发生的这个问题?