MacOS'ta / tmp dizinine yazılamıyor, izinler düzeltilemiyor: “İşleme izin verilmiyor”


13

macOS El Capitan (10.11), /tmpve /private/tmpklasörleri yazılabilir görünmediği için herhangi bir yazılım güncellemesi yükleyemiyor veya herhangi bir yazılım yükleyemiyor .

Bunu çalıştırıyorum:

sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /

Bana şu hatayı veriyor:

unable to set owner and group on "tmp" Error 1 Operation not permitted
unable to set permissions on "tmp" Error 1 Operation not permitted

El ile tmp klasörlerini silmek ve yeniden oluşturmak için bir yolu var mı? Ben yeniden adlandırma veya silme çalıştığında /tmpveya /private/tmpAmeliyat elde tutulmaz izin verdi. sudo chmod 1777Ayrıca hem aynı şekilde başarısız /tmpve /private/tmpklasörler

Disk İzlencesi, ilk yardım çalıştırılırken diskin sağlıklı olduğunu ve herhangi bir sorun bulunmadığını söylüyor.

tmpKonumu başka bir yazılabilir klasöre yönlendirmenin herhangi bir yolu var mı ?


1
Önce SIP'yi devre dışı bıraktınız mı? Kurtarmadan; Terminalcsrutil disable
Tetsujin

2
Aynı problemim var. Tetsujin'in tavsiyelerini takip etti, kurtarma modunda yeniden başladı ve koştu csrutil disable. Ondan sonra repair_packagesbaşarı ile çalışabildim ve / tmp'ye her zamanki gibi erişebildim. Ancak, kurtarma moduna geri dönüp yürütüldükten csrutil enablesonra sistemimde aynı sorun var. / Tmp'ye erişebilmemin tek yolu Sistem Bütünlüğü Korumasını devre dışı bırakmaktır.
Andrew Ferk

4
Kurtarma moduna geri dönüp yürüttüm csrutil disable. Yeniden başlattıktan sonra, tmp klasörünü kaldırdım:, sudo rm /tmp; sudo rm /private/tmptmp klasörünü sudo mkdir /private/tmp; sudo chown root:wheel /private/tmp; sudo chmod 1777 /private/tmpoluşturdum, symlink'i oluşturdum: sudo ln -s /private/tmp /tmpve repair_pacakgestekrar koştum . Kurtarma moduna döndükten ve çalıştıktan csrutil enablesonra her şey tekrar çalışıyor! Ancak, / private / tmp izinleri eskiden drwxrwxrwt@ve şimdi öyledir drwxrwxrwt. Bunun ne @olduğundan ve bunun bana sorunlara yol açıp açmayacağından emin değilim .
Andrew Ferk

1
@AndrewFerk: Genişletilmiş izin işaretleyicisinin açıklaması için apple.stackexchange.com/questions/42177/… unix.stackexchange.com/questions/10/what-does-the-mean-in-ls-l bu yayınlara bakın@
Adam Michalik

Başka, daha basit bir çözüm : görünüşe göre sudo mkdir /private/tmponu takip etmek sudo chmod +t /private/tmpyeterlidir.
Clément

Yanıtlar:


22
  1. Mac'inizi kurtarma moduna geçirin
  2. Üst çubuktaki Yardımcı Programlar menüsünü aç> Terminal'i aç

    csrutil disable
    
  3. Yeniden Başlatma

  4. Tmp klasörünü kaldırın

    sudo rm -i /tmp
    sudo rm -i /private/tmp
    
  5. Tmp klasörü oluştur

    sudo mkdir /private/tmp
    sudo chown root:wheel /private/tmp
    sudo chmod 1777 /private/tmp
    
  6. Symlink'i oluşturun

    sudo ln -s /private/tmp /tmp
    
  7. Çalıştır repair_packages(bunu yapmanız gerekmeyebilir)

    sudo /usr/libexec/repair_packages --repair --standard-pkgs --volume /
    
  8. Kurtarma moduna geri dönün ve çalıştırın

    csrutil enable
    
  9. Yeniden Başlatma


Bir çözüm bulmak için Andrew Ferk'den aksesuarlar; yorumunuzu topluluk wiki yanıtı olarak çıkararak daha okunabilir olmasını sağlayın.


2
Teşekkür ederim!!! 3 günümü saçlarımı çekerek geçirmiştim. İlk etapta izinlerin nasıl bu kadar vidalandığını bilmiyorum, ama bir gün mac'u bir dizi uyarıya, çalışmayan programlara ve hiçbir şey yükleyememeye açtım. Bu sorunu düzeltti.
johngeorgewright

Bu CW'yi neden yaptın?
Revetahw, Reinstate Monica'ya

1
Çünkü sadece bir başkasının yorumundan dönüştürdüğüm bir cevap için kredi almak istemedim
ento

Pekala, havalı. BTW, @Fiksdal olmadığı için yorumunuzu şimdiye kadar görmedim.
Revetahw, Reinstate Monica'ya

10.13: sudo: / usr / libexec / repair_packages: komut bulunamadı
Даниил Пронин


0

Sistemimi bir Time Machine Yedeklemesinden geri yükleyerek düzelttim. Ancak yorumlardaki diğer öneriler de denemeye değer.


0

Bu mesajı maxOS Mojave kullanarak terminalde (veya iTerm) aldıysanız

İşlem izni verilmedi

Terminal uygulamamı Settings.app "Güvenlik ve Gizlilik"> "Tam Disk Erişimi" ne eklemem gerektiği ortaya çıktı
(Her ikisini de ekledim terminal.appve iTerm.app)


-1

Çalıştırmadan /private/tmpklasörde izinler oluşturmaya ve değiştirmeye çalışın csrutil disable. Bu, benim için başarısız çalıştı ve önyükleme sırasında hata mesajı gitti sonra benim için çalıştı.


Süper Kullanıcıya Hoşgeldiniz. Lütfen başka bir yanıtın işe yaradığını onaylamak için bir yanıt göndermeyin. Sitenin Soru-Cevap formatı, soruya cevaplar için yanıtlar ayırır ve her cevap başka bir çözüme katkıda bulunmalıdır. Bir cevabın yararlı olduğunu göstermenin yolu, siteye biraz zaman ayırmaktır ve beğendiğiniz cevapları onaylamak için yeterli ayrıcalık kazanacaksınız .
fixer1234
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.