Làm cách nào để tìm gói nào tôi đã cài đặt qua thiết bị đầu cuối?


12

Tôi đã học được vỏ trong vài tuần và đã cài đặt một số gói. Tôi biết / nhớ một số trong số chúng là gì, như oh-my-zsh và emacs 24 (đó là một cơn ác mộng để nâng cấp lên), nhưng không chắc chắn về những gì khác. Tôi đã sử dụng các phương pháp khác nhau như curl, wget và Macports.

Câu hỏi của tôi là, nếu và khi tôi muốn thực hiện cài đặt sạch MacOS, làm cách nào để sao lưu hoặc tập lệnh cài đặt mới các gói này? Nói cách khác, khi tôi cài đặt MacOS mới, tôi sẽ không khôi phục từ Time Machine bằng Trình trợ lý di chuyển: thay vào đó tôi sẽ cài đặt hệ thống và khôi phục tệp theo cách thủ công. Làm cách nào để biết đường dẫn cài đặt và các phụ thuộc của những gì tôi đã cài đặt trong cài đặt trước đó bằng dòng lệnh? Có một tệp txt ở đâu đó mà hệ thống duy trì để theo dõi những gì đã được cài đặt không?

(MacOS 10.8.2)

Câu trả lời:


12

Vì OS X không có trình quản lý gói, mọi thứ bạn cài đặt sẽ là thủ công, thông qua MacPorts hoặc thông qua Trình cài đặt.

Nếu bạn muốn có một danh sách các nhị phân mà thiết bị đầu cuối của bạn có quyền truy cập, bạn có thể chạy các lệnh sau để kiểm tra các điểm phổ biến nhất và xuất kết quả dưới dạng tệp văn bản:

touch ~/Binaries.txt
ls /usr/bin > ~/Binaries.txt
ls /usr/sbin >> ~/Binaries.txt
ls /usr/local/bin >> ~/Binaries.txt
ls /usr/local/sbin >> ~/Binaries.txt
ls /opt/local/bin >> ~/Binaries.txt
ls /opt/local/sbin >> ~/Binaries.txt

Ngoài ra, nếu bạn chỉ muốn cài đặt các gói được cài đặt bởi MacPorts, hãy chạy như sau ( đây có thể là gói bạn muốn ):

touch ~/MacPorts.txt
port installed > ~/MacPorts.txt

Và đối với Homebrew :

touch ~/HomeBrew.txt
brew list > ~/HomeBrew.txt

Và cuối cùng, cho tất cả các gói được cài đặt bởi Installer

touch ~/InstalledPackages.txt
pkgutil --packages > ~/InstalledPackages.txt

Để khôi phục, ví dụ, các cổng MacPorts của bạn từ danh sách được tạo ở trên, hãy sử dụng như sau:

 port install $(cat ~/MacPorts.txt)

Không vấn đề gì! Vui lòng đánh dấu nó là được chấp nhận nếu nó giải quyết được vấn đề của bạn :)
Yasyf

5
Không phải là tốt hơn để chạy port list requestedchứ không phải port installed, để MacPorts chỉ cài đặt các phụ thuộc đang sử dụng và theo đúng thứ tự?
Deditos

0

Liệt kê các cổng bạn đã cài đặt:

port echo requested > ports.txt

Để sau này cài đặt các phiên bản mới nhất của các cổng đó trên một hệ thống mới

sudo port install $(cut -f1 -d\  ports.txt | uniq)

Xem thêm

port help echo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.