Следующая новость
Предыдущая новость

Выход есть всегда. Решаем проблемы, возникающие при работе в Linux

10.11.2017 13:25

Содержание статьи

  • Linux не запускается
  • Пропал Grub
  • Ошибки загрузки ядра
  • Проблемы с видео
  • Проблемы с установкой и запуском приложений
  • Несовпадение версии библиотеки
  • Конфликты библиотек
  • Проблемы доступа к устройствам
  • Ошибки размонтирования
  • Фризы системы
  • Настройка беспроводной сети вручную
  • Выводы

Разработчики дистрибутивов Linux изо всех сил стараются сделать свои творения максимально дружелюбными к пользователю. Несмотря на это, случается, что-то идет не так, как задумывалось, и система начинает вести себя некорректно. Чем бы ни были вызваны сбои в работе дистрибутива, в подавляющем большинстве случаев их решение давным-давно найдено и описано. Наиболее распространенные проблемы Linux и методы их решения мы попытались собрать в этой статье.

Linux не запускается

Таков один из самых популярных призывов о помощи в среде новичков. На самом деле за этой лаконичной формулировкой проблемы может стоять целый ворох не связанных друг с другом причин поломки.

Пропал Grub

Очень часто с подобной проблемой сталкиваются пользователи Windows, установившие Linux параллельной системой. Все работает прекрасно, пока, в очередной раз переустановив Windows, новичок не затирает загрузчик Linux (Grub) загрузчиком Windows, который даже и не думает позволить пользователю выбрать что-то другое, кроме винды.

Впрочем, сценариев «потерять» Grub множество, равно как и способов его восстановить. Самый логичный — вновь загрузиться с флешки, с которой до этого был установлен Linux, и, открыв терминал, ввести

$ sudo fdisk -l 

Среди множества записей о подключенных дисках следует найти группу разделов Linux, выбрать корневой раздел (здесь и далее sda1) и смонтировать его:

$ sudo mount /dev/sda1 /mnt 

Затем восстановить Grub на диске:

$ sudo grub-install --root-directory=/mnt /dev/sdа 

В довершение можно обновить меню Grub:

$ sudo update-grub --output=/mnt/boot/grub/grub.cfg 

Ошибки загрузки ядра

Ядро Linux — один из самых стремительно развивающихся компонентов системы. Однако не всегда обновление ядра идет на пользу системе. Для кого-то неприемлемо удаление драйвера hd для жестких дисков с интерфейсом MFM/RLL, а кому-то досталось криво собранное ядро от поставщика дистрибутива. Нередко причиной поломки становится и сам пользователь, небрежно скомпилировавший собственное ядро.

В конечном итоге, если результатом обновления ядра стал отказ системы на этапе загрузки и выбрать альтернативное ядро через Grub не получится, потому что его нет, остается вернуть предыдущий рабочий вариант ядра на место через терминал.

Лучший способ это сделать — загрузиться со все того же Live CD и использовать старый добрый chroot. Последний, если говорить сильно упрощенно, позволяет «войти» в свой дистрибутив из Live CD и выполнить все необходимые для восстановления команды.

Для начала потребуется подключить корневой раздел (для примера пусть это будет опять же sda1):

# mount /dev/sda1 /mnt 

Затем подключить к нему все нужные псевдоФС:

# cd /mnt # mount -t proc proc proc/ # mount -t sysfs sys sys/ # mount -o bind /dev dev/ 

И наконец, войти в chroot и настроить сеть:

# chroot . /bin/bash # echo nameserver 8.8.8.8 > /etc/resolv.conf 

Теперь с помощью пакетного менеджера можно установить нужную версию ядра.

Проблемы с видео

Иногда система загружается, но из-за ошибок в видеодрайвере или из-за несовместимости его версии (нередко проприетарной) и версии ядра запустить графическую подсистему оказывается невозможно. Решение напрашивается само собой: либо откатить версию драйвера, либо сменить его на свободный, если такой существует.

В этом случае не нужны ни Live CD, ни chroot. Достаточно залогиниться в режиме командной строки, которая, как правило, доступна в этом случае по умолчанию, и сменить драйвер.

Однако порою противоречия драйвера и ядра достигают такой степени, что загрузка системы завершается ошибкой без возможности что-либо исправить по ходу запуска. В таком случае можно воспользоваться набором инструментов самого Grub и загрузить систему в консольном режиме.

Чтобы это сделать, нужно:

  • выбрать в меню Grub стандартный пункт загрузки;
  • нажать e для входа в редактор сценария загрузки выбранной записи;
  • найти в этом сценарии строку с аргументами запуска ядра, начинающуюся с linux или kernel;
  • добавить в конце этой строки 3, тем самым указав системе на необходимость загрузки в многопользовательском режиме с поддержкой сети и без графического окружения;
  • нажать сочетание Ctrl + X, чтобы начать загрузку с измененными настройками;
  • с помощью пакетного менеджера заменить проблемный видеодрайвер на исправный и перезагрузить систему.

Изменения, вносимые в сценарий загрузки описанным образом, будут действовать до момента выключения компьютера. Следующая загрузка будет проходить в штатном режиме с графическим окружением.

Продолжение статьи доступно только подписчикам

Cтатьи из последних выпусков журнала можно покупать отдельно только через два месяца после публикации. Чтобы читать эту статью, необходимо купить подписку.

Подпишись на журнал «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

4690 р.

Экономия 1400 рублей!

1 месяц

490 р.

25-30 статей в месяц

Уже подписан?

Источник

Последние новости