タブ補完を使用した「読み取り専用ファイルシステム」エラー、およびターミナルウィンドウがランダムに閉じる


28

最初は単にコマンドの奇妙さcdです。を入力しcd、次にスペースを入力してから、を押しTabて使用可能なディレクトリを表示すると、次のエラーメッセージが表示されます。

bash:ヒアドキュメント用の一時ファイルを作成できません:読み取り専用ファイルシステム

さらに厄介な問題は、ターミナルウィンドウがランダムに閉じることです。cd奇妙なことをテストしている間に、またのような単純なことをしている別のサーバーにssh'dしている間に起こりましたgit status。[編集] Enterキーを正確に31回押すと、ターミナルウィンドウの自動クローズがトリガーされるようです(現在3回確認済み)。

私は最近、先週遅くに12.04から14.04にアップグレードしましたが、この動作はアップグレード後に使用した日中は発生しませんでした。この日以来、このコンピューターで何かを試みるのはこれが初めてです。

私が提供できる他の情報と、これを解決するために必要なことをお知らせください。


質問のタイトルをよりわかりやすくするためのわかりやすいリマインダーです。これにより、より良い回答が得られます。「奇妙な端末の動作」はあまり説明的ではありません。
thomasrutter 14

それは有り難いです。
タカマフィン14

問題をより適切に診断するために、Ubuntuが設定したデフォルトのパーティションを使用しているか、ディスク全体の暗号化またはLVMを使用しているか、fstabに対して何かを行ったかどうかを教えてください。mountコマンドの出力は何ですか?
thomasrutter 14


それを提供してくれてありがとう-マウントの構成方法に問題はなく、マウント時に問題はないようですが、それ以降に/(ルート)マウントでエラーが発生しましたか?remount-roルートパーティションは、特定のファイルシステムのエラーが発生した場合には、読み取り専用として再マウントすることを指定します。リカバリまたはLive CDからfsckを実行することをお勧めします。
thomasrutter 14

回答:



13

Read-only file systemエラーはここに主要な手がかりとなります。bashがコマンド履歴などを保存しようとするホームディレクトリは、読み取り専用パーティション内にあると思います。

32個のコマンドごとに1回、ディスク上の最近のコマンド履歴を更新しようとするので、セッションで入力する32番目のコマンドで失敗するのではないでしょうか。

現在、パーティションは意図的に行うと読み取り専用としてマウントされる可能性がありますが、エラーが発生した場合は読み取り専用としてマウントされることもあります。この後者の動作は通常ルートパーティションのデフォルトです。

ルートパーティションが読み取り専用でマウントされている場合に他の問題が発生していなかったら、驚くでしょう。

再起動して、リカバリメニューからディスクをチェックできます。BIOS画面が消えた直後、Ubuntuロゴが表示される直前に、コンピューターの起動時にShiftキーを押し続けます。


1
同じ問題があった。リブートが機能しました。ありがとう。
ホワイトハット

4

この問題は私にも起こりました。

断続的に発生します。

だから私はついにそれで十分であり、OS-ubuntu-gnome 14.04(クリーン)を再インストールすることにしました。

それを修正しました!少なくとも数日間..その後、まったく同じ問題が再び発生しました...

そこでフライに行って、新しいhdd(Seagate)を手に入れました。

これまでのところ良い(6ヶ月&カウント)。

サイドノート:株式HDDは東芝でした


Ask Ubuntuへようこそ。これは質問に対する適切な回答ではないため、削除してください。
アーキマンパニグラヒ

2
それが私の答えです。あなたの答えは何ですか?
phtn458

2
私が言いたかったのは、OSを再インストールしたり、新しいハードディスクを購入することは適切な解決策ではないということです。他の投稿にコメントすることもできますし、十分な評判があればコメントできます(15)。
アーキマンパニグラヒ

10
@ArchismanPanigrahi「ディスクが不良です。新しいディスクを入手してください」が答えです。
セス

1
ワオ。だから答えを支持したすべての人が行き、新しいHDD(?)を買った
パワン

2

他の人が指摘したように、読み取り専用/tmpファイルシステムはさらに問題を引き起こします。

31行については、gnome-terminalの内部に関連しています。

いわゆる「リング」で一定量の行をメモリに保持します。このリングからスクロールアウトする残りの行は、「ストリーム」に配置されます。gnome-terminalの古いバージョンでは、ストリームはの下のファイルにほとんど直接書き込まれました。/tmp新しいバージョンでは、書き込まれる前にバッファリング、圧縮、暗号化があります。(/tmpデータの最初のチャンクがストリームに書き込まれたときに下のファイルが開かれたか、ストリームが最初に実際に書き込みを試みたときに、ファイルの先頭を思い出せません/tmp;これは小さな実装の詳細です。)

リングのサイズは常に2の累乗です(各スロットには端末の1行が含まれます。ただし、技術的な理由により1スロットは使用されません)。端末の高さの増加により必要になるたびに2倍になります(縮小することはありません)。たとえば、デフォルトの高さが24行の場合、リングには最後の31行の出力が含まれ、残りはストリームに送られます(最終的には/tmp)。ウィンドウの高さを、たとえば40行に増やすと、インメモリリングは、一度に最大63エントリを収容できるように成長します。

あなたが経験することは、ストリームを保存するgnome-terminalためにファイルを開こうとし、/tmpここでの予期しない失敗のために終了することです。デフォルトよりも高いウィンドウで試してください。Enterを63回(または127回)押すとクラッシュします。

そうは言っても、/tmp書き込み可能になるように修正する必要があります(パーミッション1777)。


1

私の問題は、プロセスが100%のCPUで実行されていて、おそらくすべてのディスクリソースを使用していたことです(一部のバックアッププロセス:Ur-Backup)。

一度殺すと、すべてうまくいった。したがって、十分なスペースがあり、書き込み権限がある場合でも、IOのボトルネックがこのエラーを引き起こす可能性があると思います。

(Jessy 18/03/16のRaspberry Pi)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.