Mở công cụ dòng lệnh DMG và bạn sẽ tìm thấy gói meta, mà bạn có thể trích xuất bằng lệnh pkgutil --expand 'Command Line Tools.mpkg' metapackage
. Mở metapackage/Distribution
tập tin vừa được tách ra trong một trình soạn thảo văn bản để xem các gói mà bao gồm siêu gói:
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
Các tập tin gói tương ứng được tìm thấy trong một Packages
thư mục ẩn bên cạnh siêu gói. Nội dung của họ có thể được liệt kê với pkgutil --payload-files
.
Nếu bạn có một tập tin trên đĩa, và muốn biết những gói nó đến từ:
$ 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
Bây giờ, một số thông tin thưởng rằng sẽ hữu ích nếu bạn muốn loại bỏ sự công cụ dòng lệnh. Apple, trong trí tuệ vô hạn của họ, từ chối cung cấp một công cụ để làm như vậy, nhưng chúng tôi có thể có được thông tin chúng tôi cần bằng cách sử dụng pkgutil
để hiển thị thông tin về các gói đã cài đặt.
Thứ nhất, pkgutil --pkgs
sẽ liệt kê tất cả các gói đã cài đặt. So sánh đầu ra của danh sách các gói ở trên.
pkgutil --info
sẽ hiển thị thông tin về gói đã cài đặt; ví dụ:
$ 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
sẽ hiển thị nội dung của một gói phần mềm được cài đặt, tương đối so với volume
và location
lĩnh vực do pkgutil --info
. Bởi vì các đường dẫn tuyệt đối không được sử dụng, bạn không thể đơn giản dẫn đầu ra của lệnh này đến xargs rm -f
để xóa các tệp của gói; bạn sẽ phải tự sửa các đường dẫn, có lẽ với một cái gì đó như pkgutil --files com.example.pkgname | while read line; do rm -f "/install_location/$line"; done
.
Khi tệp của gói bị xóa, pkgutil --forget
sẽ được chạy để xóa thông tin về gói đã cài đặt khỏi cơ sở dữ liệu gói.
Nó nên mà không cần phải nói rằng bạn nên rất cẩn thận nếu bạn thử điều này: bạn là một lỗi đánh lừa hệ thống của bạn quá tệ nên bạn sẽ phải cài đặt lại nó, để nói gì về quý giá của bạn dữ liệu!
pkgutil
có một số tùy chọn hữu ích khác để xác minh rằng tất cả các tệp của gói đều có mặt và để khôi phục quyền của chúng; xem its manual page để biết chi tiết.
Nói chung, điều này sẽ làm việc cho bất kỳ gói nào, tuy nhiên lưu ý rằng một số gói có thể có các tập lệnh nhúng chạy khi gói được cài đặt; rõ ràng, chỉ xóa các tệp của gói sẽ không xóa tất cả dấu vết của gói khỏi hệ thống của bạn. Bạn sẽ phải trích xuất nội dung của gói và đọc mã nguồn của tập lệnh, sau đó quyết định cách tốt nhất để hoàn tác các hiệu ứng của tập lệnh.
Tôi sẽ tưởng tượng chúng sẽ có sẵn dưới dạng dòng lệnh sau đó như thường lệ. Usuaully họ được cài đặt vào '/ usr/bin' hoặc symlinked ở đó. Ít nhất đó là cách nó được trong quá khứ. Bây giờ chúng không được cài đặt sẵn theo mặc định, không chắc chắn vị trí cài đặt là gì. – prodigitalson
Đây chỉ là một tập con của các công cụ dev với GCC và tiêu đề để biên dịch phần mềm cũng như xây dựng các công cụ có thể không có trên hệ thống của chúng theo mặc định như tạo llvm, v.v. Bạn đã từng cài đặt Xcode đầy đủ , bây giờ nó được chia ra thành một mpkg thành phần riêng biệt mà là siêu thuận tiện cho những người sử dụng Homebrew hoặc Macports nhưng không thực sự cần XCode. Chính xác thì bạn đang cố gắng tìm/sử dụng cái gì? NẾU bạn đã cài đặt Xcode, bạn đã có công cụ này rồi. – prodigitalson
i dunno về việc tạo một dự án nhưng để xây dựng bạn sẽ làm 'xcodebuild', có' xcodeindex' chỉ mục một thư mục dự án. và 'xcode-select' chọn vị trí của thư mục Xcode (có lẽ nếu bạn có nhiều phiên bản của xcode hoặc nhiều phiên bản của các công cụ liên quan). Nếu bạn thực hiện 'man xcode-select', bạn sẽ thấy một số công cụ bổ sung có liên quan được liệt kê ở cuối. Sau đó, bạn có thể thực hiện 'man' cho bất kỳ công cụ nào khác để sử dụng. – prodigitalson