gpt4 book ai didi

XCode 4.3 命令行工具

转载 作者:行者123 更新时间:2023-12-02 01:47:40 25 4
gpt4 key购买 nike

Apple 最近发布了 Command Line Tools :

  1. 命令行工具包中提供了哪些工具?

  2. 除了手册页之外还有其他文档吗?

请注意,我是通过在 Xcode 中添加特定组件来安装这些工具的。另外,这不是关于 Xcode 项目,而是 Apple 于 2012 年 2 月 16 日发布的!

最佳答案

打开命令行工具DMG,你会发现一个元包,你可以使用命令pkgutil --expand 'Command Line Tools.mpkg' metapackage解压它。 。打开metapackage/Distribution刚刚在文本编辑器中提取的文件,以查看组成元包的包:

com.apple.pkg.DevSDK
com.apple.pkg.X11SDK
com.apple.pkg.QuickTimeSDK
com.apple.pkg.OpenGLSDK
com.apple.pkg.WebKitSDK
com.apple.pkg.FireWireSDK
com.apple.pkg.BluetoothSDK
com.apple.pkg.CoreAudioSDK
com.apple.pkg.JavaSDK
com.apple.pkg.clang
com.apple.pkg.llvm-gcc4.2
com.apple.pkg.X11Documentation
com.apple.pkg.DeveloperToolsCLI

在隐藏的Packages中找到对应的包文件元包旁边的目录。它们的内容可以用 pkgutil --payload-files 列出。 .

如果磁盘上有一个文件,并且想知道它来自哪个包:

$ pkgutil --file-info /usr/bin/clang
volume: /
path: /usr/bin/clang

pkgid: com.apple.pkg.clang
pkg-version: 4.3.0.0.1.1249367152
install-time: 1342021874
uid: 0
gid: 0
mode: 755
<小时/>

现在,如果您想要删除命令行工具,一些额外信息将非常有用。苹果以其无限的智慧拒绝提供这样做的工具,但我们可以通过使用 pkgutil 来获取我们需要的信息。显示有关已安装软件包的信息。

首先,pkgutil --pkgs将列出所有已安装的软件包。比较上面包列表的输出。

pkgutil --info将显示有关已安装软件包的信息;例如:

$ pkgutil --info com.apple.pkg.clang
package-id: com.apple.pkg.clang
version: 4.3.0.0.1.1249367152
volume: /
location: /
install-time: 1342021874
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group

pkgutil --files将显示已安装包的内容,相对于 volumelocation pkgutil --info 给出的字段。由于未使用绝对路径,因此您不能简单地将此命令的输出通过管道传输到 xargs rm -f删除包的文件;你必须自己修复路径,也许使用类似 pkgutil --files com.example.pkgname | while read line; do rm -f "/install_location/$line"; done 的东西.

一旦删除包的文件,pkgutil --forget应运行以从包数据库中删除有关已安装包的信息。

不言而喻,如果你尝试这样做,你应该非常小心:你只差一个拼写错误就会把你的系统搞得一团糟,以至于你必须重新安装它,也就是说没有您的宝贵数据!

pkgutil还有一些其他有用的选项,用于验证包的文件是否全部存在,以及恢复其权限;请参阅its manual page了解详情。

一般来说,这适用于任何软件包,但请注意,某些软件包可能具有嵌入的脚本,这些脚本在安装软件包时运行;显然,仅仅删除软件包的文件并不会从系统中删除该软件包的所有痕迹。您必须提取包的内容并阅读脚本源代码,然后决定如何最好地自行撤消脚本的影响。

关于XCode 4.3 命令行工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com