Невозможно записать в /tmp OSX, невозможно исправить разрешения. Операция не разрешена.

OSX (10.11 El Capitan) не может устанавливать какие-либо обновления программного обеспечения или устанавливать какое-либо программное обеспечение, поскольку /tmp и /private/tmp папки, кажется, не для записи.

Бег sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /

дает unable to set owner and group on "tmp" Error 1 Operation not permittedunable to set permissions on "tmp" Error 1 Operation not permitted

Есть ли способ вручную удалить папки tmp и воссоздать их? Когда я пытался переименовать или удалить / tmp или /private/tmp, я продолжал получать операции, не разрешенные. sudo chmod 1777 также потерпел неудачу в папках / tmp и /private/tmp одинаково

Дисковая утилита сообщает, что диск исправен, во время оказания первой помощи проблем не обнаружено.

Есть ли способ перенаправить местоположение tmp в другую папку для записи?

5 ответов

Решение
  1. Перезагрузите Mac в режиме восстановления
  2. Откройте меню Утилиты в верхней панели> откройте Терминал

    csrutil disable
    
  3. перезагружать

  4. Удалить папку tmp

    sudo rm -i /tmp
    sudo rm -i /private/tmp
    
  5. Создать папку TMP

    sudo mkdir /private/tmp
    sudo chown root:wheel /private/tmp
    sudo chmod 1777 /private/tmp
    
  6. Создать символическую ссылку

    sudo ln -s /private/tmp /tmp
    
  7. Бежать repair_packages (вам может не понадобиться это делать)

    sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
    
  8. Перезагрузитесь обратно в режим восстановления и запустите

    csrutil enable
    
  9. перезагружать


Реквизиты Эндрю Ферк для выяснения исправления; вытащить свой комментарий в качестве ответа сообщества вики, чтобы он был более читабельным.

sudo chmod 1777 /private/tmp

Сделал это для меня.

Я исправил это, восстановив мою систему из резервной копии Time Machine. Но другие предложения в комментариях тоже стоит попробовать.

If you got this message in terminal (or iTerm) using maxOS Mojave

Operation not permitted

Оказалось, что мне нужно добавить мое терминальное приложение в файл Settings.app "Безопасность и конфиденциальность" > "Полный доступ к диску"
(Я добавил оба terminal.app а также iTerm.app)

Попробуйте создать и изменить разрешения на /private/tmp папка без запуска csrutil disable, Это сработало для меня, после неудачной попытки удаления и исчезло сообщение об ошибке при загрузке.

Другие вопросы по тегам