はじめまして。Linaxはじめたばかりで躓いています。
viで、 etc/dhcpd.conf や etc/samba/smb.confに書き込もうとすると、
画面の一番下の行に一瞬警告文のようなものが出て、すぐに消えます。
そのご、書き込みをして、上書き保存しようとすると、「読み込みのみで、
保存できない」と言うような感じの内容の文章が出てきます。
esc後、:qで、一度viを終了しようとしても、vi自体を終われません。
 ログインはrootでしてるので、編集できると思っていたのですが・・・。
恐れ入りますが、分かる方よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

書きこみ権限がないんでしょう。


# ls -l etc/dhcpd.conf
で見てみれば、
-r--r--r--
のようになっているのだと思います。ただ、ここで
「なんで書きこめないんだろ?直しておこう」なんて
chmodで書きこみ権限を与えてしまうのは良くありません。
大抵理由あってそうなっている(セキュリティ上の問題など)
のでしょうから、それはそのままにしておいたほうが良いでしょう。

viでそのようなファイルを編集する場合、最後に
:w!
で強制書きこみができます。その後、
:q
で終了できます。

なお、:qで終われないのは「編集中だよ」という意味の
メッセージが出るためで、
:q!
とすれば、編集中であろうがそれをキャンセルして抜ける
ことができます。
    • good
    • 0

基本的な確認で申し訳ないのですが、


viコマンドでviを起動していますよね?
/etc/samba/smb.confを編集する場合は、
# vi /etc/samba/smb.conf
としてますよね?
# view /etc/samba/smb.conf
では編集できないですね。
終了する場合は、:q! で強制終了です。
    • good
    • 0

root権限でやられているのであれば、


恐らく、書き込み権限が無いのだと思います。

#間違いなくrootですよね?

ls -l で確認してください。
    • good
    • 0

とりあえず強制上書き終了したいのならば


!wq
コマンドで出来ると思うのですが。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QRedhat8.0で/etc/modules.confにアクセスできない

Redhat8.0でLANカードが上手く認識されないいようで困っています。
メーカー側では、
----------------------------------------------
kudzuにて自動認識します。
手動で設定する場合は、[/etc/modules.conf]に
[alias eth0 via-rtl8139too]を登録して下さい。
----------------------------------------------
となっているのですが、
システムツール→ターミナルから、/etc/modules.confとしても
「許可がありません」とのメッセージになります。
初心者ですので、根本的な間違いをしてるのかも知れませんが、
よろしくお願いします。

Aベストアンサー

vi にはぜひ慣れることをお勧めしますが、とりあえずは

# echo "alias eth0 via-rtl8139too" >> /etc/modules.conf

でも目的を達することはできます。
マニュアルは man 5 module.conf で見てください。

No.1 の方の言われた vi エディタについて簡単に説明します。
vi は起動直後はコマンドモードですので、i を押して挿入モードに入ります。
この挿入モードでは文字を入力できますが、カーソル移動などはできず、
コマンドモードに戻る必要があります。

コマンドモードへはエスケープキーを押します。
以下のコマンドはすべてこのモードで実行してください。
エスケープを2回押せば必ずコマンドモードに戻ります。
h, j, k, l でそれぞれ左、下、上、右にカーソルが動き、文字を削除するのは x です。
保存終了するには ZZ または :qw、保存せず終了するのは :q! を入力してください。

これも詳しくは man vi してください。

参考URL:http://www.linux.or.jp/JM/html/modutils/man5/modules.conf.5.html

vi にはぜひ慣れることをお勧めしますが、とりあえずは

# echo "alias eth0 via-rtl8139too" >> /etc/modules.conf

でも目的を達することはできます。
マニュアルは man 5 module.conf で見てください。

No.1 の方の言われた vi エディタについて簡単に説明します。
vi は起動直後はコマンドモードですので、i を押して挿入モードに入ります。
この挿入モードでは文字を入力できますが、カーソル移動などはできず、
コマンドモードに戻る必要があります。

コマンドモードへはエスケープキーを押し...続きを読む

Qviを使ってyum.confを

編集しようとしていたのですが
クリップボード内のデータの
ペーストが使えないので
すべて手打ちで入力しないといけないので
困っています
てっきりpコマンドでコピーできると思っていたのですが
アプリケーション間では無効のようです
どうしたらいいのでしょうか?

Aベストアンサー

挿入モードにしてから中クリック
でできるんじゃないでしょうか。

QDNSサーバを構築しています。/etc/rc.d/init.d/named reloadのところでエラーになってしまいます。

RedHat Linux 9 でサーバを構築しています。
DNSサーバを作成しているところでつまづいてしまいました。

vi /etc/named.conf のところで正引き、逆引きのゾーンを追記し、
vi /var/named/**.jp.db の正引きゾーンデータベースを作成し、
逆引きの方もゾーンデータベースを作成しました。

あとは、etc/rc.d/init.d/named start とやって起動させ、
namedが自動起動するように chkconfig named on と実行しました。

しかし、設定を反映しようと、
/etc/rc.d/init.d/named reload としたのですが、
何度やっても失敗と出てしまいます。
画面には、一部を書きに記述すると、

Reloading named: usage : killall [OPTION] [--] name ・・・
   killall -l, --list
killall -V --version

-l,--list list all know signal name
-V,--version display version infomation

となっていました。
とりあえず、shutdown -r now で再起動しましたが、
設定が反映されていないようで、次の
vi /etc/resolv.conf でIPアドレスを記述したあと、
nslookup コマンドを実行してDNSサーバのテストでやってもエラーになってしまいます。
何が原因でしょうか?
長々と書いてすみません。分かる方、どうかよろしくお願いします。

RedHat Linux 9 でサーバを構築しています。
DNSサーバを作成しているところでつまづいてしまいました。

vi /etc/named.conf のところで正引き、逆引きのゾーンを追記し、
vi /var/named/**.jp.db の正引きゾーンデータベースを作成し、
逆引きの方もゾーンデータベースを作成しました。

あとは、etc/rc.d/init.d/named start とやって起動させ、
namedが自動起動するように chkconfig named on と実行しました。

しかし、設定を反映しようと、
/etc/rc.d/init.d/named reload としたのですが、
...続きを読む

Aベストアンサー

/etc/rc.d/init.d/named 内のkillallコマンドでエラーが出ています。
reloadですから、killallで一旦namedを止めて再起動するわけですが、
止めるべきnamedがもともと動いていない、と言う事では?

Qbindインストール後、/etc/named.confが生成されない。

RHL7.3,bind-9.2.2rc1を次のようにインストールしましたが/etc/named.confが生成されません。findコマンドで探すと/etc/log.d/conf/services/named.confというのがあるんですがどうも目的のファイルではなさそうです。一体何がおかしいのでしょうか。

tar xvzf bind-9.2.2rc1.tar.gz
cd bind-9.2.2rc1
LANG=C
./configure - - exec-prefix=/usr
make
make install

Aベストアンサー

例えばですが。

$ gtar zxvf bind-9.x.x.tar.gz
$ cd bind-9.x.x
$ ./configure --prefix=/usr/local/bind --sysconfdir=/etc
$ make
$ su
# make install

システムや環境によってはコマンドラインを実行しても、 named.conf が生成されないかもしれません。
その場合、自分で作成すれば宜しいかと。

ご存じかとは思いますが。

> BIND Version 9.2.2rc1

はベータ版で、最新版は
「BIND Version 9.2.1」かと。

ご参考です。

参考URL:http://www.linux.or.jp/JF/JFdocs/DNS-HOWTO.txt

Qviを使おうとするとunknown terminal type

 Red Hat Linux 6.2Jを使っています。telnetでSolaris 8にログインし、viを使おうとすると、unknown terminal typeと出て、ラインエディタのようになってしまいます。どう対処すればいいでしょうか。

Aベストアンサー

二つの原因が複合しているのだと思います。
1.TERM変数が設定されていない。
 端末(仮想端末)の種類は、環境変数$TERMに設定されますが、
 telnet等でリモートログインした場合、これがunknownとなっている
 場合があります。ローカル側のTERM変数の値を調べておいて、
 ログイン後にsetenv等で設定します。
2.termcapが合わない。
 端末(仮想端末)の制御情報は/etc/termcapに記録されていますが、
 LINUX側の情報がSolaris側に書かれていないことが考えられます。
 LINUX側のファイル内容をSolaris側に付け加えればこの問題は解消
 します。

OSの種類により、ファイル名等微妙に違うかもしれませんが、その場合は
ご容赦を。


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報