SVNリポジトリで変更をコミットすると、Ubuntuのターミナルで常に次の問題が発生します。
Error reading /home/ssylee/.nano_history: Permission denied
それを解決する方法はありますか?
これは通常、Sudo nano [file]
の実行が原因で発生します。これにより、nanoプロセスがrootとして実行されますが、$HOME
は通常のユーザーのホームディレクトリに設定されたままになるため、nanoがファイル(.nano_historyファイルを含む)を作成すると、rootが所有し、ホームディレクトリに配置されます。
これは、次のコマンドを実行して確認できます。
ls -l /home/ssylee/.nano_history
ls
がファイルがroot
によって所有されていると報告した場合、これが原因であると合理的に確信できます。そうである場合は、以下を実行することで状況を修復できます。
Sudo chown $USER: ~/.nano_history
またはそのコマンドを詳しく説明します。
Sudo chown ssylee: /home/ssylee/.nano_history
始めるためのより良い習慣は、Sudo -e
の代わりにsudoedit
またはSudo nano
を使用することです。これにより、編集中のファイルのコピーに対して$EDITOR
プログラムが実行され、エディターの終了時に元のファイルがアトミックに置き換えられます(これはシステムファイルを編集するときに非常に便利です)。
デフォルトでは、これによりvi
が起動する場合がありますが、次のように呼び出すことで一時的に修正できます。
EDITOR=nano sudoedit [filename]
$EDITOR
を.bashrc
に永続的に構成するか、
EDITOR=nano
/etc/environment
で。
最も簡単なのは、問題のファイルを削除することです。次に簡単なのは、chmod
/chown
で読みやすくすることです。次に簡単なのは、別のエディターを使用することです。
私はいつもこれを使います:Sudo chown -R username:username /home/username
権限がめちゃくちゃになったときの問題を解決します。
私はむしろしたい
ls -la /home/ssylee/.nano_history
まず、現在の権限を確認します。これは、そもそもなぜそれらがうまくいかなかったのかを知るのに役立つかもしれません。 ssyleeがこのファイルの所有者である場合、デフォルトのumaskが壊れている可能性がありますか?
.nano_history
ファイルの権限を次のように変更するだけです。
Sudo chown youruser:yourgroup /home/<username>/.nano_history
完了!メッセージが消えました! =)本当に簡単です。
この修正には、nano構成ファイル/ etc/nanorcを編集し、/ home //。nano_historyを削除する必要があります。
最初に、次のコマンドを使用して、nanorcのsethistorylogパラメーターをコメントアウトします。Sudonano/ etc/nanorc
#set historylog
これにより、検索/置換文字列の保存と読み取りに使用される〜/ .nano_historyファイルが無効になります。
これでも、.nano_historyファイルはユーザーディレクトリに残ります。このファイルを次のように削除します。
Sudo rm .nano_history
それでおしまい!