• ベストアンサー

"no space left on device"と出るのですが

Linux初心者です。viエディタでファイルを修正して保存しようとすると、"no space left on device"と出て 修正保存ができません。どうしてこうなるのかが分かりません。教えてください。 ディスクのサイズが小さいのでしょうか。もしそうだとしたら大きくするには何をすればよいのでしょうか。 ハードディスク自体は20GBありますが。

質問者が選んだベストアンサー

  • ベストアンサー
  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.3

No.1です。誰からもフォローが無いようなので、もう一言… > fsckしたら、バージョンの表示が出ただけでした。 おかしいですね。 まさか、「fsck<Enter>」なんてやったのではないでしょうね? ちゃんと、あなたの環境のディスクデバイスファイルを引数として与えましたか? df がまともに動かないようなので、デバイスファイル名が何であるかは、/etc/fstab を見て下さい。 書いてある意味がわからなければ、man fstab です。 色々やっても埒があかなければ、思い切って再インストールするのも一つの手ですよ。 1~2時間もあればできることですから。 それでは。

mayumi394you
質問者

お礼

お礼が遅れてすみません。ありがとうございます。どうも何をしても挙動がおかしいので再インストールすることにしました。 >まさか、「fsck<Enter>」なんてやったのではないでしょうね? きっとそうしたと思います。正確には思い出せませんが。これもまた勉強してみます。 また分からなくなったらお尋ねします。その時はどうぞよろしくお願いします。

その他の回答 (2)

  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.2

No.1です。 > その内容が理解できないのが残念です。どこを勉強したら良いのでしょうか。 ウーン、まず、それぞれのコマンド(rm,mkdir,chmod,ln)について、オンラインマニュアルを良く読んでみて下さい。 見かたはわかりますよね。「man rm」のようにします。 この操作のポイントは、ln -sコマンドにあります。つまり、/usr/somewhereというディレクトリを、あたかも/tmpディレクトリであるかのように扱えるようにするためのものです。 これによって、(おそらくたくさん空き容量のある)/usrの下に/tmpを移動できたので、問題が解決したという訳です。 検索エンジンで、「シンボリックリンク」を探して下さい。わかりやすい解説がきっと見つかると思います。 cannot read table of mounted filesystems の方は、私もちょっとわかりません。 ひょっとしたら、ファイルシステムが壊れてるのかも知れません。 fsckコマンドを使ってみて下さい。(少し難しいので、man fsckで良く勉強してから…) では、ご健闘を祈ります。

mayumi394you
質問者

お礼

重ね重ねありがとうございます。めげずに勉強しますので、また質問することがありましたらよろしくお願いします。 fsckしたら、バージョンの表示が出ただけでした。 manコマンドもさっきまではすんなり動いたのに、今はまたno space left on deviceとかError executing formatting or display command とか出て失敗してしまいます。「ファイルシステムが壊れ」たのかもしれないですね。困った。

  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.1

viは、普通/tmpディレクトリに作業用ファイルを作ります。 それで、/tmpの存在するパーティションの残り容量が極端に少ないと、ご質問のような現象が出ることがあります。 現物のディレクトリ構成を見てみないと的確なアドバイスはできませんが、取りあえず/tmpディレクトリに不要なゴミファイルが残ってないかどうか、また、dfコマンドを使って、/tmpの含まれるパーティションの残容量をチェックしてみて下さい。 もし他に広く空いているパーティションがあれば、そこに適当なディレクトリを作って、/tmpをそこへのシンボリックリンクにすることにより、解決できると思います。  rm -fr /tmp  mkdir /usr/somewhere  chmod 1777 /usr/somewhere  ln -s /usr/somewhere /tmp という風にやってみて下さい。

mayumi394you
質問者

補足

早速の回答、ありがとうございます。おっしゃったように rm -fr /tmp  mkdir /usr/somewhere  chmod 1777 /usr/somewhere  ln -s /usr/somewhere /tmp としてみたら、何と修正保存ができました。うれしいですが、その内容が理解できないのが残念です。どこを勉強したら良いのでしょうか。 また、dfコマンドに対して cannot read table of mounted filesystems と出てしまうんですが、どうしてでしょう。どうしたらよいのでしょうか。

関連するQ&A