Nhiều năm trước, bạn có thể thoát khỏi việc chạy brew
bằng root chỉ bằng cách truy cập brew
vào root, nhưng họ đã loại bỏ tính năng đó. Vì vậy, trong Homebrew 1.1.6, tôi đã từng chỉnh sửa /usr/local/Homebrew/Library/Homebrew/brew.sh
để xóa kiểm tra gốc (công cụ kiểm tra đó là "cực kỳ nguy hiểm") để tôi có thể chạy brew
như root.
Phiên bản mới hơn của Homebrew vẫn hoạt động với điều đó nhưng vẫn hoàn nguyên lại brew.sh
tệp mỗi lần sau khi tôi chạy brew
, ngay cả khi tôi chmod 500
. Tôi có thể viết một kịch bản để thay đổi nó sau đó chạy brew
tự động, nhưng tôi không chắc liệu nó có luôn hoạt động không và không muốn có cơ hội. Có ai tìm thấy một phương pháp khác để chạy Homebrew với quyền root không?
sudo
không chạy nó dưới quyền root và nó cũng gây ra lỗi "cực kỳ nguy hiểm" tương tự. Tôi muốn chạy với quyền root vì nó có vấn đề khi cài đặt các gói nhất định, đặc biệt là nếu mọi thứ được cài đặt không thông qua Homebrew (ví dụ thông qua pip
). Tôi đã đi xuống tuyến đường đó nhiều lần. Thêm vào đó, nó không hoạt động đúng cho nhiều người dùng mà không có cách giải quyết khác trừ khi tôi cài đặt mọi thứ như root.
root
là rủi ro. Ngay cả khi xây dựng gói mà không có trình quản lý gói, bạn sẽ xây dựng gói dưới dạng người dùng không có đặc quyền (bản thân) sau đó cài đặt gói như root
với sudo
. Các trình quản lý gói như Fink và MacPorts đều được xây dựng với người dùng không có đặc quyền của riêng họ sau đó cài đặt dưới dạng root
. Homebrew không có cơ chế như vậy.
brew.sh
tệp đang được hoàn nguyên sau khi sửa đổi nó và sau đó chạy một brew
lệnh. Vì vậy, tôi có thể chạy sudo brew whatever
và brew whatever
song song tốt. brew --version
Do đó, đầu ra của tôi là: Homebrew 1.2.1-98-g803f9cbf7b-dirty Homebrew/homebrew-core (git revision d3d6; last commit 2017-05-28)
FYI, tôi đã sửa đổi brew.sh
tệp của mình để nhận xét tất cả các dòng trong check-run-command-as-root
hàm và đặt một return
câu lệnh ở đầu hàm thay thế.
brew
bằng root? Ngoài ra,sudo
không đủ cho mục đích của bạn?