Как исправить ошибки сломанной трубы в Linux



Попробуйте наш инструмент устранения неполадок

Хотя это случается довольно редко, вполне возможно, что вы вообще не сможете установить какие-либо пакеты при, казалось бы, стабильной установке Linux. Debian, Ubuntu и производные от них дистрибутивы полагаются на диспетчер пакетов apt-get. Как правило, если у вас есть права суперпользователя с правами администратора, то при вводе apt-get install -f при необходимости устанавливаются дополнительные пакеты. Однако, как бы редко это ни было, вы можете получить сообщение, которое читает dpk-deb: error, а затем продолжает проинструктировать, что у вас сломался канал.



Обычно термин 'сломанная труба' относится к неправильному использованию символа | в командной строке, которую часто называют конвейером, особенно тем, у кого есть опыт работы с MS-DOS. В этом случае, однако, возможно, вы неправильно набрали команду. Скорее, если вы не использовали | при вводе команды apt-get может возникнуть проблема, связанная с файловой системой, которая принудительно смонтировала монтирование только для чтения. Хотя это может показаться неудобным, прежде чем продолжить, сначала проверьте и убедитесь, что вы правильно ввели команду установки. Если проблем нет, следующим шагом будет проверка файловой системы.



Метод 1: проверка набранной команды

Хотя более чем вероятно, что это не так, важно убедиться, что вы правильно ввели команду установки, прежде чем предполагать худшее. Даже самые элитные программисты иногда ошибаются в чем-то, и легко набрать | персонаж по ошибке. Не нажимайте на клавиатуру, чтобы вспомнить последнюю команду. Введите его снова индивидуально. Попробуйте запустить apt-get install -f или apt-get update, поскольку эти команды не являются разрушительными. Если после повторной отправки сообщение об ошибке все равно появляется, попробуйте перезагрузить компьютер. Если вы все еще получаете его, возможно, у вас проблема с файловой системой. Сообщение об ошибке сломанной трубы может быть не более чем симптомом более серьезной проблемы.



Метод 2: восстановление после ошибок, связанных с поломкой канала, вызванных дисфункциями файловой системы

Если вы не можете исправить это, просто набрав команду еще раз, обратите особое внимание на то, видите ли вы какую-то ошибку, которая читает «Файловая система только для чтения» в выводе терминала. Это означает, что по какой-либо причине ваш загрузочный раздел смонтирован как том только для чтения. Как правило, это означает, что в нем возникла какая-то проблема с файловой системой, и операционная система GNU / Linux не считает, что писать в нее безопасно. Этот механизм безопасности означает, что, хотя некоторые данные могут быть повреждены, Linux сделал все возможное, чтобы спасти вашу установку.

Возможно, вы получите какое-то странное сообщение при попытке использовать команду sudo, которая также вызвана ошибкой того же типа. Такое сообщение должно начинаться с «sudo: невозможно открыть», за которым следует имя некоторого ресурса. Поскольку все ресурсы в Unix хранятся в виде файлов, монтирование раздела только для чтения может помешать работе sudo.



Если любой из этих случаев верен, вам необходимо выключить вашу систему. Если у вас есть готовый USB-накопитель с ISO чистой установки Linux, вставьте его и удерживайте любую клавишу, которая требуется вашей системе BIOS или UEFI для загрузки со съемного устройства. Если вместо этого у вас есть отдельный раздел Linux на загрузочном диске, вы должны получить к нему доступ через GRUB при перезагрузке. В любом случае вам нужна стабильная среда для работы, которая может получить доступ к поврежденному разделу без загрузки с него.

Предполагая, что у вас есть данные определенного типа, для которых вы еще не создали резервную копию, воспользуйтесь этой возможностью, чтобы создать резервную копию этих данных на другом разделе или на съемном устройстве, если Linux позволяет подключать подключенные устройства в этом состоянии. Обычно вы не можете подключить устройства к файловой системе, доступной только для чтения, поэтому вам потребуется перезагрузить систему в действующую среду USB или, возможно, DVD, чтобы выполнить резервное копирование. Вам нужно будет запустить соответствующую команду fsck для файловой системы, установленной на вашем загрузочном диске, чтобы восстановить ее до стабильного состояния. Например, предположим, что у вас есть поврежденный раздел / dev / sda1, который вы отформатировали с файловой структурой ext4. Если это так, то из корневого терминала в среде live USB или DVD вы можете запустить fsck.ext4 -fv / dev / sda1, чтобы проверить файловую систему. Вы также можете использовать fsck.ext2 или fsck.ext3, если вы загрузились с любого из этих двух типов файловой системы ext. Теоретически все три из них в любом случае вызывают программу e2fsck и могут быть просто программными ссылками.

Это обеспечит подробный вывод и заставит его сканировать, даже если он кажется чистым. Возможно, вам будет интересно использовать -c или -ck для запуска сканирования поверхности с помощью программы badblocks, если вы подозреваете, что с диском возникла какая-то проблема с геометрией. После запуска программы перезагрузитесь с раздела, если он стабилен, а затем выполните команду sudo mount -o rw, remount / с терминала внутри этой загрузки, чтобы восстановить доступ для чтения и записи. Для просмотра каталога / lost + found вам понадобится root-доступ, но это важно, поскольку fsck.ext # мог поместить туда потерянные кластеры. Если после того, как вы вернетесь в установку GNU / Linux, у вас будут отсутствовать файлы, то они могут быть здесь, хотя и будут переименованы. Используйте команду file в терминале, чтобы определить, какой тип каждого из них вообще возможен.

Если у вас нет живого USB или DVD для загрузки, вам нужно будет сделать его с чистой машины из ISO, загруженного для дистрибутива Linux. Поскольку вы используете только команды терминала, вам может даже не понадобиться загрузочное устройство для вашего дистрибутива. Некоторые из них, например KNOPPIX, разработаны специально для решения подобных проблем. Если вы работаете с нетбуком или ноутбуком, оснащенным слотом для карт SD или microSD, вы также можете загрузиться с ISO-образа, записанного на карту SDHC или microSDHC. То же самое касается, скажем, планшетов Ubuntu, у которых есть такой слот.

4 минуты на чтение