/etc/network/interfacesをviで書き換えたいのですが、
Can’t Write~とアラートがでて書き換えられません。
書き換える前に、
/etc/init.d/networking stop
はしています。
また、chmod 777を試してみましたが、うまくいきません。
ローカルのテスト環境ですので、セキュリティは無視して構いません。
どうすればいいのでしょうか?
※質問文の中のコマンドが問題あるのか、半角ではエラーが出て書き込めませんでしたので、英数を全角に変換しています。
わたくしのdebian環境で/etc/network/interfaceをviで書き換えてみました。問題なく出来ました。
思いつく可能性を以下に説明します。
元々interfaceファイルはroot権限でrootのみwrite可(他はreadのみ)のパーミッションになっています。
この設定だと、suコマンドでroot権限にならないとwriteすることが出来ません。逆にroot権限ならchmod 777などしなくてもwriteすることが出来ます。
上記にことから、root権限に移行せずにviにてwriteもしくはchmod 777を実行されていないでしょうか?
root権限になるにはsuコマンドを実行して、rootのパスワードを入力すれば可能です。
/etc/network/interfaces
はrootがownerのファイルですので、
suまたはsudoを行った上で編集する必要があります。
出ているメッセージから見てuser権限で編集しようとされていませんでしょうか?
(shellで入力するところの前が「$」になっていませんか?)
もしroot権限で編集しようとされていたのであれば
「su」→rootパスワード
でroot権限になって編集をするか、
http://www2.i-e-c.co.jp/common1.html
この辺りを参考にsudoを利用できるようにして
sudo vi /etc/network/interfaces
とすれば編集可能になると思います。
もしroot権限でも編集できないという事であれば全くのお門違いの回答ですが、
参考になれば幸いです。
ありがとうございます。
root権限で作業をしています。
それでもうまくいかないんです。
何かのプロセスが/etc/network/interfaceをロックしたままなのでは無いでしょうか?
一度intefaceを別ファイルにコピーして、コピーしたファイルを編集。mvを使ってファイル名を付け替えてリブートしてみてはいかがでしょう?mvならディレクトリエントリからのリンクを貼り替えるだけなのでロックされていてもいけるかも。
cp /etc/network/interface /etc/network/interface.new
vi /etc/network/interface.new # コピーしたファイルを書き換え
mv /etc/network/interface /etc/network/interface.old
mv /etc/network/interface.new /etc/network/interface
shutdown -r # rebootする
ざっくりこんな感じで
ありがとうございます。
試してみましたが、2行目で同じアラートが出てしまいます。
mount -o rw,remount /dev/xxx /
としてから、再度行うと成功しませんか?
xxxには、/etc/fstab ファイルなどを参照して、 / をマウントしているデバイス名を指定してください。
ありがとうございます。
試してみましたがうまくいきませんでした。
viの実体がvimで
E138: Can't write viminfo file $HOME/.viminfo!
と出ているのならHOMEという環境変数が設定されていないからです。
sudoを使っているのなら
sudo -H vi /etc/network/interfaces
のようにsudoに-Hオプションをつければ、環境変数HOMEが設定されるようになります。
ありがとうございます。
そういったエラーではありませんでした。
chmod 777して
FTPでファイルを上書きしたら、書き換えられましたので、ひとまずこの方法にします。
ずばりの方はいませんでしたが、ありがとうございました。
ありがとうございます。
root権限で作業をしています。
それでもうまくいなかいので、何か止める必要があるものとかがあるのかなと思ったんです。