当您通过 MacPorts 安装服务器软件时,安装完成后它会打印一些有关通过 launchd 启用服务器的说明。
我立即在终端上按下 ⌘K 然后就忘了这件事了。
几天后我想真正启用该服务器。
有什么办法可以再次获取这些说明[1]吗?
更新:
我写过launchd
,并且port load
很适合这个,但是有些港口有其他说明. 我欢迎一般答案例如,git-core 将打印 bash-completion 设置指令。
附加问题:在 上port load
,有没有办法列出哪些端口已经启动了项目?
[1]:显然,无需卸载并重新安装。
答案1
通常,在 MacPorts 1.8 中,您可以使用命令加载它port load
。它采用以下格式port load $package
。例如,要从postgresql83-server
端口加载 PostgreSQL 服务器:
$ sudo port load postgresql83-server
对于一些较旧的端口,端口名称与其关联的launchd
配置文件不对应,并且port load
会失败(很少发生,但偶尔发生)。在这种情况下,
$ sudo launchctl load -w /Library/LaunchDaemons/$config_file_to_load
就可以了。
答案2
编辑
为了更新我显示给定端口说明的一般方法,我刚刚了解到您可以输入
port notes slocate
返回:
slocate's database should be updated on a regular basis. In
/opt/local/etc/daily.slocate, you'll find some lines to put in
/etc/daily.local to update the database on a daily basis (for example).
If you want to disable the weekly update of the system's built-in locate,
edit the file /etc/weekly.
老的
一个非常粗暴的方法是直接读取 Portfile,然后查看安装后部分。以 slocate 为例:
port cat slocate | grep ui_msg
返回:
ui_msg "\nslocate's database should be updated on a regular basis. In"
ui_msg "${prefix}/etc/daily.slocate, you'll find some lines to put in"
ui_msg "/etc/daily.local to update the database on a daily basis (for example)."
ui_msg "If you want to disable the weekly update of the system's built-in locate,"
ui_msg "edit the file /etc/weekly.\n"
如您所见,输出的port cat
格式不太好,但应该能为您提供足够的信息。希望这能有所帮助!
答案3
从 MacPorts 1.8.2 开始(也就是说,你必须使用主干版本目前,有一个日志机制。您可以引用日志文件中打印的所有内容。
port log
可用,并且具有显示阶段等开关。安装 MacPorts 的主版本后,请查看手册页。
此外,这可能指向哪个端口拥有哪个 Launchd plist 文件:
for i in /Library/LaunchDaemons/*; do echo -n "$i: "; port provides "$i"; done