macOS El Capitan (10.11) không thể cài đặt bất kỳ bản cập nhật phần mềm hoặc cài đặt bất kỳ phần mềm nào vì /tmp
các /private/tmp
thư mục dường như không thể ghi được.
Chạy này:
sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
Cung cấp cho tôi lỗi này:
unable to set owner and group on "tmp" Error 1 Operation not permitted
unable to set permissions on "tmp" Error 1 Operation not permitted
Có cách nào để tự xóa các thư mục tmp và tạo lại chúng không? Khi tôi cố đổi tên hoặc xóa /tmp
hoặc /private/tmp
tôi tiếp tục không được phép hoạt động. sudo chmod 1777
cũng thất bại theo cách tương tự trên cả hai /tmp
và /private/tmp
thư mục
Disk Utility cho biết đĩa này khỏe mạnh, không có vấn đề nào được phát hiện khi chạy sơ cứu.
Có cách nào để chuyển hướng tmp
vị trí sang một thư mục có thể ghi khác không?
csrutil disable
. Sau đó, tôi đã có thể thực hiện repair_packages
thành công và có thể truy cập / tmp như bình thường. Tuy nhiên, sau khi quay lại chế độ phục hồi và thực thi csrutil enable
, hệ thống của tôi cũng gặp vấn đề tương tự. Có vẻ như cách duy nhất tôi có thể có quyền truy cập vào / tmp là vô hiệu hóa Bảo vệ toàn vẹn hệ thống.
csrutil disable
. Sau khi khởi động lại, tôi xóa thư mục tmp : sudo rm /tmp; sudo rm /private/tmp
, đã tạo thư mục tmp sudo mkdir /private/tmp; sudo chown root:wheel /private/tmp; sudo chmod 1777 /private/tmp
, tạo symlink : sudo ln -s /private/tmp /tmp
, và chạy repair_pacakges
lại. Sau khi trở lại chế độ recovery và chạy csrutil enable
, tất cả đều hoạt động trở lại! Tuy nhiên, các quyền của / private / tmp đã từng drwxrwxrwt@
và hiện tại chúng là drwxrwxrwt
. Tôi không chắc đó là gì @
và nếu điều này sẽ gây ra vấn đề cho tôi.
@
điều khoản mở rộng đánh dấu
csrutil disable