Ubuntu terminalinden bir SVN deposunda değişiklik yaptığımda aldığım bu hatayı nasıl çözebilirim?


12

Bir SVN deposunda değişiklik yaptığımda, her zaman Ubuntu'daki terminalde aşağıdaki sorunla karşılaşıyorum:

Error reading /home/ssylee/.nano_history: Permission denied

Bunu nasıl çözeceğiniz hakkında bir fikriniz var mı?


Gördüğünüz gibi, nasıl çözüleceğine dair birçok fikir var, ancak bu sorunun neden ilk etapta tam olarak yaşadığınıza bağlı.
David Z

Çoğaltmak için: sudo rm -f ~/.nano_history(dosyayı kaldırın), sudo nano somefile(bazı dosyaları kök olarak düzenleyin), ^K sometext(bazı metinleri arayın), ^X(çıkış), nano somefile(bazı dosyaları sizin gibi düzenleyin). Göreceksin okuma hatası /home/ssylee/.nano_history: İzin verilmedi . nano, arama geçmişinizi saklamak için .nano_history oluşturur. Bir sudo nanooturum sırasında oluşturulursa dosya kök dizinine aittir .
Iain Samuel McLean Elder

Yanıtlar:


28

Bu genellikle koşmadan kaynaklanır sudo nano [file]. Bu, nano işlemini kök olarak çalıştırır, ancak $HOMEnormal kullanıcının ana dizinine ayarlanmış olarak bırakır , bu nedenle nano herhangi bir dosya oluşturursa (.nano_history dosyası dahil), köke aittir ve ana dizininize yerleştirilir.

Bunu çalıştırarak doğrulayabilirsiniz:

ls -l /home/ssylee/.nano_history

Eğer lsdosya aittir raporları root, o zaman makul emin olabilir bu neden oldu. Öyleyse, durum çalıştırılarak onarılabilir:

sudo chown $USER: ~/.nano_history

veya bu komutu hecelemek için:

sudo chown ssylee: /home/ssylee/.nano_history

İçine almak için daha iyi bir alışkanlık kullanmaktır sudoeditveya sudo -eyerine sudo nano. Bu, $EDITORprogramı düzenlenmekte olan dosyanın bir kopyasında çalıştırır ve daha sonra düzenleyici çıktığında (sistem dosyalarını düzenlerken çok kullanışlıdır) orijinal dosyayı atomik olarak değiştirir.

Varsayılan olarak, bu başlatılabilir vi, ancak şu şekilde çağırarak bunu geçici olarak düzeltebilirsiniz:

EDITOR=nano sudoedit [filename]

Kalıcı yapılandırabilirsiniz $EDITORGözlerinde farklı .bashrcveya yerleştirilmesiyle

EDITOR=nano

içinde /etc/environment.


4
chown $USER:birincil grubu uygulamanın daha kısa bir yoludur.
Tobu

1
@Tobu, teşekkürler! Bu numara hakkında bilmiyordum. Cevabı yansıtacak şekilde güncelledim.
Bastırma

1

En kolayı söz konusu dosyayı kaldırmaktır. Bir sonraki en kolay yöntem chmod/ ile okunabilir hale getirmektir chown. Bir sonraki en kolayı farklı bir editör kullanmaktır.


1

Ben her zaman bunu kullanın:
sudo chown -R username:username /home/username

İzinler bozulduğunda sorunu çözer.


1

Bir tane yapmayı tercih ederim

ls -la /home/ssylee/.nano_history

ilk olarak, geçerli izinleri görmek için. Bu, ilk etapta neden yanlış gittiğini bulmanıza yardımcı olabilir. Ssylee bu dosyanın sahibiyse, belki varsayılan bir umaskınız mı var?


1

Sadece .nano_historydosyanın izinlerini aşağıdaki gibi değiştirin :

sudo chown youruser:yourgroup /home/<username>/.nano_history

YAPILAN! Mesaj gitti! =) Gerçekten bu kadar basit.


0

Düzeltme için nano yapılandırma dosyasının / etc / nanorc dosyasının düzenlenmesi ve /home//.nano_history'nin silinmesi gerekir.

İlk olarak nanorc'un set historylog parametresini şu komutla yorumlayın: sudo nano / etc / nanorc

#set historylog

Bu, arama / değiştirme dizelerini kaydetmek ve okumak için kullanılan ~ / .nano_history dosyasını devre dışı bırakır.

Bu yine de .nano_history dosyasını kullanıcı dizininizde bırakır. Bu dosyayı aşağıdaki gibi silin:

sudo rm .nano_history

Bu kadar!

Kaynaklar


Bu, muhtemelen kullanıcıların yapmak istediği bir şey değil, nano geçmişi devre dışı bırakacak ..
Mxx
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.