web-dev-qa-db-ja.com

UbuntuターミナルからSVNリポジトリに変更をコミットしたときに発生するこのエラーを解決するにはどうすればよいですか?

SVNリポジトリで変更をコミットすると、Ubuntuのターミナルで常に次の問題が発生します。

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

それを解決する方法はありますか?

12
stanigator

これは通常、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で。

28
Suppressingfire

最も簡単なのは、問題のファイルを削除することです。次に簡単なのは、chmod/chownで読みやすくすることです。次に簡単なのは、別のエディターを使用することです。

私はいつもこれを使います:
Sudo chown -R username:username /home/username

権限がめちゃくちゃになったときの問題を解決します。

1
Apache

私はむしろしたい

ls -la /home/ssylee/.nano_history

まず、現在の権限を確認します。これは、そもそもなぜそれらがうまくいかなかったのかを知るのに役立つかもしれません。 ssyleeがこのファイルの所有者である場合、デフォルトのumaskが壊れている可能性がありますか?

1
vtest

.nano_historyファイルの権限を次のように変更するだけです。

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

完了!メッセージが消えました! =)本当に簡単です。

1
Metafaniel

この修正には、nano構成ファイル/ etc/nanorcを編集し、/ home //。nano_historyを削除する必要があります。

最初に、次のコマンドを使用して、nanorcのsethistorylogパラメーターをコメントアウトします。Sudonano/ etc/nanorc

#set historylog

これにより、検索/置換文字列の保存と読み取りに使用される〜/ .nano_historyファイルが無効になります。

これでも、.nano_historyファイルはユーザーディレクトリに残ります。このファイルを次のように削除します。

Sudo rm .nano_history

それでおしまい!

出典

0
abr4xas