列出自制软件包中的所有文件
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.以上是关于列出自制软件包中的所有文件的主要内容,如果未能解决你的问题,请参考以下文章
在没有自制软件的情况下安装了 macos catalina 中的 mongod 命令有问题?