Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
3年前关闭。
Improve this question
苹果最近发布了Command Line Tools:
命令行工具包中提供了哪些工具? 除了手册页之外,还有其他一些文档吗?
请注意,我已经通过在Xcode中添加特定组件来安装了这些工具。
此外,这与Xcode项目无关,而是与Apple在2012年2月16日发布的软件包有关!
对应的软件包文件在metapackage旁边的
如果磁盘上有文件,并且想知道它来自哪个软件包:
现在,如果您想删除命令行工具,一些奖励信息将很有用。苹果公司以其无限的智慧拒绝提供这样做的工具,但是我们可以通过使用
首先,
删除软件包的文件后,应运行
不用说,如果您尝试这种方法,应该非常小心:您错失了将系统严重破坏的错位,您将不得不重新安装它,更不用说宝贵的数据了!
通常,这对任何软件包都适用,但是请注意,某些软件包可以具有嵌入式脚本,这些脚本在安装软件包时便会运行。显然,仅删除软件包的文件并不会从系统中删除软件包的所有痕迹。您必须提取包的内容并阅读脚本源代码,然后决定如何最好地自己撤消脚本的影响。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
3年前关闭。
Improve this question
苹果最近发布了Command Line Tools:
请注意,我已经通过在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
对应的软件包文件在metapackage旁边的
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
将显示已安装软件包的内容,相对于volume
给出的location
和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 - XCode 4.3命令行工具,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9344107/
10-12 03:33