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

Han*_*xue 81 macos homebrew osx-snow-leopard

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

$ 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
Run Code Online (Sandbox Code Playgroud)

但是系统中添加的文件不在上面的列表中.例如:

$ ls -ld /usr/local/etc/exim.conf 
-rw-r--r--  1 hanxue  admin  35904 Sep 25 21:11 /usr/local/etc/exim.conf
Run Code Online (Sandbox Code Playgroud)

小智 61

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

$ brew ls --verbose exim
Run Code Online (Sandbox Code Playgroud)

  • 当它递归到已安装的目录并列出它们包含的所有文件时,它没有列出原始帖子中的exim.conf文件.它*是由brew安装动作添加的. (5认同)
  • @MSpreij MacPorts 实际上没有这个问题,因为它会在将文件移动到最终目的地之前跟踪将安装的 *所有 * 文件。Homebrew 根本不这样做,因此除非手动删除它们,否则`/usr/local/etc` 和其他位置下的配置文件会保留下来。Homebrew 只关心程序本身,而不关心程序留下的设置或其他残余。[这是 MacPorts 文档中解释他们如何避免此问题的部分。](https://guide.macports.org/chunked/reference.phases.html#reference.phases.introduction) (2认同)

Pie*_*erz 6

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

brew ls --cask exim
Run Code Online (Sandbox Code Playgroud)

注意:对于 casks,如果不包含--caskarg,那么它通常会报告错误。使用--caskarg 时,它可能只列出安装程序 dmg,因为它似乎不跟踪生成的安装文件。