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


12

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

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

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


ご覧のとおり、解決方法については多くのアイデアがありますが、そもそも問題が発生している理由によって異なります。
デビッドZ

再現するには:(sudo rm -f ~/.nano_historyファイルを削除)、sudo nano somefile(一部のファイルをルートとして編集)、^K sometext(一部のテキストを検索)、^X(終了)、nano somefile(一部のファイルを編集します)。/home/ssylee/.nano_history:Permission deniedの読み取りエラーが表示されます。nanoは.nano_historyを作成して検索履歴を保存します。sudo nanoセッション中に作成されたファイルはルートに属します。
イアンサミュエルマクリーン長老

回答:


28

これは通常、を実行することで発生しますsudo nano [file]。これにより、nanoプロセスがルートとして実行$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

取得するより良い習慣は、を使用するsudoeditか、のsudo -e代わりに使用することですsudo nano。これ$EDITORにより、編集中のファイルのコピーでプログラムが実行され、エディターの終了時に元のファイルが自動的に置き換えられます(システムファイルの編集時に非常に便利です)。

デフォルトでは、これが起動するvi場合がありますが、次のように呼び出すことで一時的に修正できます。

EDITOR=nano sudoedit [filename]

で永続的に設定$EDITORする.bashrcか、または

EDITOR=nano

/etc/environment


4
chown $USER:プライマリグループを適用する短い方法です。
東武

1
@東武、ありがとう!私はそのトリックについて知りませんでした。それを反映するように回答を更新しました。
抑制


1

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

パーミッションが台無しになったときの問題を解決します。


1

私はむしろやりたい

ls -la /home/ssylee/.nano_history

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


1

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

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

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


0

修正には、nano構成ファイル/ etc / nanorcの編集と/home//.nano_historyの削除が必要です。

最初に、このコマンドを使用してnanorcの設定履歴ログパラメーターをコメント化します:sudo nano / etc / nanorc

#set historylog

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

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

sudo rm .nano_history

それでおしまい!

ソース


これにより、nanoの履歴が完全に無効になります。おそらくユーザーが望んでいることではありません。
Mxx13年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.