Помилка `файлової системи лише для читання` при використанні вкладки та випадковому закритті вікна терміналу


28

По-перше, це просто дивацтво з командою cd. Якщо я ввожу cd, потім пробіл, а потім натисніть, Tabщоб переглянути доступні каталоги, я отримаю це повідомлення про помилку:

bash: не вдається створити тимчасовий файл для документа тут: файлова система лише для читання

Більш проблемною проблемою було випадкове закриття вікна терміналу. Це сталося під час тестування cdдивацтва, а також тоді, коли ssh'd на інший сервер робив прості речі, такі git statusі подібні. [Редагувати] Здається, якщо я натискаю Enter рівно 31 раз, це запускає автоматичне закриття вікна терміналу (перевірено зараз 3 рази).

Нещодавно я пройшов модернізацію з 12.04 до 14.04 наприкінці минулого тижня, і така поведінка не виникала цілий день, коли я використовував її після оновлення. Це вперше спробували щось на цьому комп’ютері з того дня.

Будь ласка, порадьте будь-яку іншу інформацію, яку я можу надати, і що мені потрібно зробити, щоб вирішити цю проблему.


Просто дружнє нагадування, щоб зробити назву питання більш описовою, що допомагає отримати кращі відповіді: "Незвичайна поведінка терміналу" не дуже описова.
thomasrutter

Я ціную це.
Такамуффін

Щоб краще діагностувати свою проблему, чи можете ви сказати мені, якщо ви використовуєте розділ за замовчуванням, який встановив Ubuntu, чи використовуєте ви шифрування цілого диска або LVM, і чи зробили ви що-небудь із своїм fstab? Який вихід mountкоманди?
thomasrutter


Дякуємо, що надали це - схоже, немає жодних проблем із налаштуванням кріплень і немає проблем під час монтування, але, можливо, помилки з монтажем / (root), що виникають з тих пір? В remount-roвказує , що кореневий розділ буде перемонтують , як тільки для читання в разі деяких помилок файлової системи. Зробити fsck від відновлення або Live CD було б добре.
thomasrutter

Відповіді:


16

Я перезавантажився у режимі відновлення та дотримувався інструкцій, які мені дала система. Я побіг fsckдалі /dev/sda2, і це вирішило проблему.


13

Read-only file systemПомилка є головним ключем тут. Я б здогадався, що ваш домашній каталог, де bash намагається зберігати історію ваших команд тощо, знаходиться в розділі, доступному лише для читання.

Я б здогадався, що він намагається оновлювати вашу недавню історію команд на диску один раз кожні 32 команди, ось чому вона не відповідає 32-й команді, яку ви вводите в сеансі.

Тепер розділ може бути змонтований як лише для читання, якщо ви робите це навмисно, але він також може бути встановлений як лише для читання, якщо сталася помилка - ця остання поведінка зазвичай є типовою для кореневого розділу.

Я був би здивований, якби у вас не виникли інші проблеми, якщо ваш кореневий розділ змонтований лише для читання.

Ви можете спробувати перезавантажити та перевірити диск у меню відновлення. Натисніть і утримуйте кнопку Shift, коли комп'ютер завантажується, відразу після зникнення екрана BIOS і безпосередньо перед появою логотипу Ubuntu.


1
Була така ж проблема. Перезавантаження спрацювало. Спасибі.
whitehat

4

Ця точна проблема трапилася і зі мною.

Вона виникає з перервами.

Тож я нарешті вистачила цього і вирішила перевстановити ОС - ubuntu-gnome 14.04 (чистий).

Це виправило! Принаймні, на кілька днів .. Тоді знову з'явилася та сама проблема ...

Тому я пішов до Фрі і отримав новий hdd (Seagate).

Поки що добре (6 місяців і підрахунок).

бічна примітка: Stock HDD був Toshiba


Ласкаво просимо до Ask Ubuntu. Оскільки це не є правильною відповіддю на питання, будь ласка, видаліть його.
Архієзд Паніграхі

2
Це моя відповідь. Яка ваша відповідь?
phtn458

2
Що я хотів сказати, це те, що перевстановлення ОС або придбання нового жорсткого диска не є правильним рішенням. Ви можете коментувати інші пости, і ви зможете коментувати, коли у вас буде достатня репутація (15).
Архієць Паніграхі

10
@ArchismanPanigrahi "диск поганий, отримайте новий" - це відповідь.
Сет

1
Ого. Тож усі, хто підтримав відповідь, пішли і купили новий hdd (?)
Паван

2

Як зазначали інші, /tmpфайлова система лише для читання викликає подальші проблеми.

Що стосується 31 рядка, він пов'язаний gnome-terminalз внутрішніми.

Він зберігає певну кількість рядків у пам’яті, у так званому «кільці». Решта, рядки, які прокручуються з цього кільця, розміщуються в "потоці". У старих версіях gnome-terminal потік був майже безпосередньо записаний у файл /tmp, а в нових версіях є буферизація, стиснення та шифрування ще до того, як його виписано. (Я не можу згадати верхню частину голови, чи відкритий файл під /tmpчас запису першого потоку даних у потік чи коли перший потік намагається насправді записати /tmp; це незначна деталь реалізації.)

Розмір кільця завжди є потужністю два (кожен слот, що містить 1 рядок терміналу; за винятком 1 слота не використовується з технічних причин), і подвоюється щоразу, коли це потрібно через зростання висоти клеми ( але ніколи не скорочується назад). Наприклад, з висотою за замовчуванням 24 рядки кільце містить останні 31 рядок виводу, решта йде в потік (зрештою, до /tmp). Якщо збільшити висоту вікна, скажімо, на 40 рядків, кільце пам’яті зросте, щоб вмістити одночасно не більше 63 записів.

Що ви відчуваєте, це те, що gnome-terminalнамагається відкрити файл /tmpдля зберігання потоку та виходить із-за несподіваної несправності тут. Спробуйте з більш високим вікном, ніж за замовчуванням; він вийде з ладу після натискання клавіші Enter 63 (а може і 127) разів.

Це, як було сказано, /tmpмає бути зафіксовано для запису (з дозволами 1777).


1

Моя проблема полягала в тому, що процес працював зі 100% процесором і, ймовірно, забирав усі дискові ресурси (деякий процес резервного копіювання: Ur-Backup).

Як тільки я його вбив, все пройшло добре. Тож я б подумав, що шийка пляшки на IO може спричинити цю помилку, навіть якщо є достатньо місця та у вас є дозвіл на запис.

(Малина Пі з Джессі 18.03.16)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.