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

Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее.

Эта статья ориентирована в первую очередь на новичков, которые не знают, что делать когда их будут поджидать проблемы linux, мы дадим общую концепцию и попытаемся показать в какую сторону двигаться дальше. Мы рассмотрим исправление ошибок в linux как простых, так и более сложных. Но давайте сначала определим, какие проблемы linux будем рассматривать, разобьем их на категории:

  • Проблемы с командами в терминале
  • Проблемы с программами
  • Проблемы с драйверами и ядром
  • Проблемы с графической оболочкой
  • Проблемы с диском и файловой системой

Все это мы рассмотрим ниже, но сначала общее введение и немного теории.

Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому. Здесь каждая программа создает лог файлы, в которых мы можем при достаточном знании английского или даже без него, выяснить, что произошло. Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.

Причем вы сможете понять что произошло, даже не зная английского. Главным признаком ошибки есть слово ERROR (ошибка) или WARNING (предупреждение). Рассмотрим самые частые сообщения об ошибках:

  • Permission Denied — нет доступа, означает что у программы нет полномочий доступа к определенному файлу или ресурсу.
  • File or Directory does not exist — файл или каталог не существует
  • No such file or Directory — нет такого файла или каталога
  • Not Found — Не найдено, файл или ресурс не обнаружен
  • Connection Refused — соединение сброшено, значит, что сервис к которому мы должны подключиться не запущен
  • is empty — означает, что папка или нужный файл пуст
  • Syntax Error — ошибка синтаксиса, обычно значит, что в конфигурационном файле или введенной команде допущена ошибка.
  • Fail to load — ошибка загрузки, означает что система не может загрузить определенный ресурс, модуль или библиотеку (fail to load library) обычно также система сообщает почему она не может загрузить, permission denied или no such file и т д.

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

Проблемы с командами в терминале

Обычно проблемы с командами в терминале возникают не из-за ошибки linux или потому, что разработчики что-то недоработали, а потому, что вы ввели что-то неправильно или предали не те что нужно опции.

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

Также довольно частой ошибкой при выполнении команд есть неиспользование команды sudo перед самой командой для предоставления ей прав суперпользователя. В таких случаях вы обычно получаете ошибку Permission Denied или просто уведомление, что не удалось открыть тот или иной файл или ресурс: can not open …, can not read … и так далее.

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

Очень распространенной среди новичков ошибкой, есть no such file or directory при попытке выполнить файл, скачанный из интернета. Сразу кажется что это бред, ведь файл существует, но на самом деле оболочка ищет только файлы с флагом исполняемый, а поэтому пока вы не установите этот флаг для файла, он для оболочки существовать не будет.

Проблемы в программах

Если ни с того ни с сего закрывается или не так, как требуется работает, какая-нибудь графическая программа, решение проблем linux начинается из запуска ее через терминал. Для этого просто введите исполняемый файл программы и нажмите Enter. Обычно достаточно начать вводить имя программы с маленькой буквы и использовать автодополнение для завершения ввода названия.

В терминале программа, скорее всего, покажет почему она не работает. Также у многих программ поддерживается опция -v или —verbose. Вы можете попробовать использовать эту опцию, если первый запуск в терминале ничего не дал. Далее, когда уже есть сообщение об ошибке, вы можете попытаться исправить его сами, если поняли в чем дело или попытаться найти решение на формуме, скорее всего, другие пользователи уже решили вашу проблему. Но если нет, вы можете создать новую тему и описать там свою ошибку. Но без вывода программы в терминале вам вряд ли помогут.

Многие ошибки системы linux, связанные с графической оболочкой вы можете найти в файле ~/.xsession-errors в вашей домашней директории. Если оболочка работает медленно, зависает или не работают другие программы, но в других логах причин этому нет, возможно, ответ находится именно в этом файле.

Также ошибки linux могут возникать не только в обычных программах но и в работающих в фоне сервисах.  Но их тоже можно решить, чтобы посмотреть сообщения, генерируемые сервисом, запущенным с помощью systemd, просто наберите команду просмотра состояния сервиса:

$ sudo systemctl status имя_сервиса

Дальше вы знаете, что делать с этой ошибкой, главное что у вас есть зацепка, а дальше все можно решить, ну или почти все.

Здесь, как и всегда большинство ошибок связано с тем, что что-то не установлено, какого-то файла нет или к чему-то невозможно получить доступ, тогда решение проблем linux не вызовет много забот.

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

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

Вы можете посмотреть все сообщения ядра с момента начала загрузки, выполнив команду чтобы узнать какую linux выдает ошибку:

sudo dmesg

Чтобы иметь возможность удобно листать вывод можно выполнить:

sudo dmesg | less

Или сразу выбрать все ошибки:

sudo dmesg | grep error

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

Проблемы с графической оболочкой

Когда проблемы linux касаются графической оболочки, то решить их новичкам не так уж просто. Больше всего потому что доступен только терминал. Графическая оболочка может просто зависнуть или вовсе не запускаться, например, после обновления.

При проблемах с графической оболочкой вы можете всегда переключиться в режим терминала с помощью сочетания клавиш Ctrl+Alt+F1. Далее, вам нужно ввести логин и пароль, затем можете вводить команды терминала.

Посмотреть логи графической оболочки вы можете в том же файле ~/.xsession-erros.

Если проблема наблюдается после обновления до новой версии, то можно очистить кеш и удалить папку с настройками, обычно это помогает.

Проблемы с диском и файловой системой

Самая частая проблема с диском у новичков — это переполнение диска. Если под диск выделить очень мало места, то он переполнится и система не сможет создавать даже временные файлы, а это приведет к тому что все если не зависнет, то, по крайней мере, не сможет нормально работать.

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

Выводы

Теперь исправление ошибок Linux будет для вас немного проще. Ошибки системы linux довольно сложная тема и этой информации явно мало, если у вас остались вопросы или есть предложения по улучшению статьи пишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

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

Listen to this article

Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее. Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому.

Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.

Причем вы сможете понять что произошло, даже не зная английского. Главным признаком ошибки есть слово ERROR (ошибка) или WARNING (предупреждение). Рассмотрим самые частые сообщения об ошибках:

  • Permission Denied — нет доступа, означает что у программы нет полномочий доступа к определенному файлу или ресурсу.
  • File or Directory does not exist — файл или каталог не существует
  • No such file or Directory — нет такого файла или каталога
  • Not Found — Не найдено, файл или ресурс не обнаружен
  • Connection Refused — соединение сброшено, значит, что сервис к которому мы должны подключиться не запущен
  • is empty — означает, что папка или нужный файл пуст
  • Syntax Error — ошибка синтаксиса, обычно значит, что в конфигурационном файле или введенной команде допущена ошибка.
  • Fail to load — ошибка загрузки, означает что система не может загрузить определенный ресурс, модуль или библиотеку (fail to load library) обычно также система сообщает почему она не может загрузить, permission denied или no such file и т д.

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


Монтирование NTFS раздела от Windows 10 в Linux

Ошибка:

Windows is hibernated, refused to mount.
Failed to mount ‘/dev/sda2’: Операция не позволена
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the ‘ro’ mount option.

Решение:

sudo mount -t ntfs-3g -o remove_hiberfile /dev/sda2 /mnt

Ошибка:

The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount ‘/dev/sdb5’: Operation not permitted
The NTFS partition is in an unsafe state. Please resume and shutdown
Windows fully (no hibernation or fast restarting), or mount the volume
read-only with the ‘ro’ mount option.

Решение:

sudo ntfsfix /dev/sda3

Отключение режима гибернации в винде

powercfg /h off


Нет места, но место есть.

Проблема: ПО пишет, что закончилось место на диске, при этом df -h показывает, что место все-таки есть.

Решение: Надо проверить свободный айноды. df -hTi. Возможно их забили мелкие файлы.


Команда смены владельца и группы владельцев для директории и всех поддиректорий с файлами

sudo chown -R user:group /home/user/dir/


FTP сервер на Ubuntu server

Установить
sudo apt-get install vsftpd

Добавить нового пользователя, если надо
sudo adduser ftpuser
sudo adduser ftpuser ftp —disabled-login

Правим конфигурацию
sudo nano /etc/vsftpd.conf

Если надо анонимный доступ
anonymous_enable=Yes

чтение и правка файлов
local_enable=YES
write_enable=YES

Ограничить домашним каталогом. Создаем список пользователй
sudo nano /etc/vsftpd.chroot_list

пишем туда юзеров по одному на строчку
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

папка входа по умоланию
local_root=/var/www

Права на файлы
#002 — 775; 022 — 755
local_umask=002

рестарт
sudo service vsftpd restart

Если права на файлы раздаются не верно~
nano /home/ftpuser/.profile

Раскомментируем строчку
umask 002


Расширить диск виртуальной машины KVM и VirtualBox

на хост-машине

1)KVM
sudo qemu-img resize /home/vm/disk.img +10G

2)VirtualBox
«C:\Program Files\Oracle\VirtualBox\VBoxManage.exe» modifyhd D:\vbox\xubuntu.vdi —resize 25000

на вируалке
sudo apt-get install gparted
sudo swapoff /dev/vda5
sudo -X gparted


авторизация SSH без пароля

на своей машине
ssh-keygen -t rsa

в папке /home/имя пользователя/.ssh/id_rsa и id_rsa.pub появятся ключи
копируем на сервер

ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_host

на сервере
chmod 600 ~/.ssh/authorized_keys


Firefox средняя кнопка мыши не работает как прокрутка

Решение: Правка — > Настройка — > Дополнительные — > Общие — > Использовать автоматическую прокрутку


Проброс портов iptables

Обозначения

$EXT_R_IP — внешний IP роутера
$LOCAL_IP — внутренний «фэйковый» адрес машины, которую надо «выкидывать» наружу
$PORT1 — Порт, на который будут заходить извне и попадать на локальную машину
$PORT2 — Порт, который «выбрасывается» наружу(например, 80 — http, либо 21 — ftp)

На роутере говорим следующие команды(от рута)
iptables -t nat -A PREROUTING -i eth0 -p tcp -d $EXT_R_IP —dport $PORT1 -j DNAT —to-destination $LOCAL_IP:$PORT2
iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp —dport $PORT2 -j ACCEPT


Примонтировать флешку Ubuntu Linux

service srv1cv83 stop
sudo dpkg -l | more | grep 1c
sudo dpkg -r 1c-enterprise83-ws
sudo dpkg -r 1c-enterprise83-server
sudo dpkg -r 1c-enterprise83-common

dpkg -i 1c-enterprise83-common_8.3.6-2390_amd64.deb
dpkg -i 1c-enterprise83-server_8.3.6-2390_amd64.deb
dpkg -i 1c-enterprise83-ws_8.3.6-2390_amd64.deb

sudo reboot


Google Chrome не предлагает сохранить пароли

Если Google Chrome не предлагает сохранить пароли и не использует автозаполнение, то причина может быть в том, что эти опции отключены в настройках. Для их включения перейдите во вкладку chrome://settings/, либо в меню выберите пункт «Настройки»:

На открывшейся странице в разделе «Автозаполнение» выберите пункт «Пароли»:

В открывшемся окне включите две опции:

  • Предлагать сохранение паролей
  • Автоматический вход (Автоматически входить на сайты с помощью сохраненного имени пользователя и пароля. Когда функция отключена, эти данные нужно вводить при каждом входе)

После этого автоматический вход и сохранение пароли должны начать работать.


Google Chrome не сохраняет пароли, хотя предлагает их сохранить

Эта ситуация более нестандартная, она может встречаться на различных операционных системах: в моём случае это Chromium на Linux, но сообщали также об аналогичной проблеме для Google Chrome на MacOS.

Признаки:

  1. После входа на веб-сайт, браузер, как обычно, предлагает сохранить пароль
  2. Я нажимаю на кнопку «Сохранить»
  3. Chrome не показывает никакие ошибки
  4. Но пароль не сохраняется: а) он не вводится автоматически при следующем заходе на сайт; б) пароль не отображается во вкладке chrome://settings/passwords

Решение следующиее:

1. Выйдите из Chrome

2. Перейдите в директорию, где Chrome хранит данные пользователя — внутри домашней папки, в директории, зависящей от операционной системы:

  • MacOS: ~/Library/Application Support/Google/Chrome
  • Linux (Chrome): ~/.config/google-chrome
  • Linux (Chromium): ~/.config/chromium
  • Windows: %UserProfile%\AppData\Local\Google\Chrome\User Data

3. От туда перейдите в директорию с именем Default, если вы хотите исправить ваш главный профиль, или в Profile 1 или Profile 2 и т. д. Если вы хотите починить один из дополнительных профилей.

4. Удалите файлы Login DataLogin Data-journal и Login Data 2-journal.

5. Повторите для других профилей, если необходимо.

После этого у меняв вновь включилось сохранение паролей.

Обратите внимание, что если у вас включена автоматическая синхронизация, то вы не потеряете сохранённые ранее пароли.


1. Удаление временных файлов

Файлы в папке /tmp/ будут удалены в любом случае при следующей перезагрузки системы. То есть с одной стороны их можно удалить достаточно безболезненно:

НО: может быть нарушена работа программ, которые запущены в настоящее время и которые сохранили какие-то данные в папку /tmp/.

2. Удаление файлов кэширования

В директории /var/cache/ много поддиректорий, которые можно удалить практически безболезненно (данные утеряны не будут, а программы создадут новые файлы кэширования). Эта директория вызывает особый интерес, поскольку на которых системах кэши разрастаются на гигабайты и десятки гигабайт. Иногда поиск проблемной директории в /var/cache/ может окончательно решить ситуацию с нехваткой места на диске.

Для удаления кэша шрифтов:

1

sudo rm -rf /var/cache/fontconfig/

Для удаления кэша установочных пакетов (на Debian, Linux Mint, Ubuntu, Kali Linux и их производных):

1

sudo rm -rf /var/cache/apt/

Для удаления кэша установочных пакетов (на Arch Linux, BlackArch и их производных):

1

sudo rm -rf /var/cache/pacman/

Удаление кэша справочных страниц:

1

sudo rm -rf /var/cache/man/

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

3. Удаление логов (журналов)

В этой папке (/var/log/) можно удалить практически все файлы, но старайтесь сохранить структуру папок, поскольку некоторые приложения после удаления здесь папки не в состоянии создать её второй раз…

На веб-серверах могут разрастись слишком сильно журналы веб-сервера.

Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:

1

sudo rm -rf /var/log/apache2/*

Для удаления логов Apache на Arch Linux, BlackArch и их производных:

1

sudo rm -rf /var/log/httpd/*

Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.

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

4. Очистите корзину

Этот совет больше для настольных систем. Файлы, которые вы удалили в графическом интерфейсе рабочего стола, попадают в папку ~/.local/share/Trash/files/, вы можете проанализировать их и при желании удалить (второй раз):

1

ncdu ~/.local/share/Trash/files/

5. Удаление ненужных файлов исходного кода заголовков ядра

Следующее актуально только для Debian, Linux Mint, Ubuntu, Kali Linux и их производных. Проверьте папку /usr/src/, там будут подпапки вида linux-headers- — большинство из них можно удалить — оставьте только ту, номер которой соответствует текущему ядру системы — обычно это самый последний номер выпуска.

6. Удаление осиротевших пакетов

На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:

7. Очистка журналов systemd

Со временем, в некоторых системах логи системы начинают занимать гигабайты на жёстком диске. Просмотреть журналы и освободить место вы можете с помощью команды journalctl

Чтобы увидеть, сколько место занимают журналы, выполните:

Чтобы удалить все записи, оставив только записей на 100 мегабайт, выполните:

1

journalctl --vacuum-size=100M

Либо для удаления всех записей в системном журнале, старше одной недели:

1

journalctl --vacuum-time=1weeks

8. Проанализируйте файлы Docker

Не удаляйте безумно файлы Docker. Я привожу пример этой директории только по той причине, что она привлекла моё внимание из-за просто фантасмагоричного размера — и это при том, что я Docker’ом фактически не пользуюсь — буквально несколько раз попробовал, чтобы увидеть, что это такое.

Самой большой папкой является /var/lib/docker/overlay2/. Для анализа занимаемого места на диске выполните:

1

sudo ncdu /var/lib/docker/


Как исправить «No route to host» SSH в Linux

Если сервер работает на RHEL/CentOS/Fedora, то нужно использовать команду firewall-cmd, чтобы открыть 22 порт (или другой порт, который вы настроили для использования с SSH):

1

2

firewall-cmd --permanent --add-port=22/tcp

firewall-cmd --reload

Если сервер работает на Debian/Ubuntu, то нужно использовать команду UFW, чтобы открыть 22 порт (или другой порт, который вы настроили для использования с SSH) следующим образом:

1

2

sudo ufw allow 22/tcp

sudo ufw reload

Теперь попробуйте вновь подключиться к удалённому серверу по SSH:

Проблема должна исчезнуть.


Ошибки «E: Не удалось получить доступ к файлу блокировки /var/lib/apt/lists/lock — open (11: Resource temporarily unavailable)» и «E: Невозможно заблокировать каталог /var/lib/apt/lists/»

возникает примерно следующая ошибка:

1

2

3

4

5

sudo apt update && sudo apt dist-upgrade -y

[sudo] password for mial:

Чтение списков пакетов… Готово

E: Не удалось получить доступ к файлу блокировки /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

E: Невозможно заблокировать каталог /var/lib/apt/lists/

Если в этой ситуации удалить файлы-блокировщики (/var/lib/apt/lists/lock), как это иногда советуют, то в результате фоновый процесс apt преждевременно завершит свою работу, либо вы запустите второй экземпляр apt – оба эти варианта приведут к проблемам с пакетами, и, вероятнее всего, при последующей попытке использовать apt система предложит вам запустить программу с ключом —f:

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

Чтобы увидеть, какие службы apt присутствуют в системе, выполните команду:

1

systemctl list-unit-files | grep apt

Следующая команда выведет только список служб apt, которые добавлены в автоматическую загрузку:

1

systemctl list-unit-files | grep enabled | grep apt

Службы apt-daily-upgrade.timer и apt-daily.timer, чтобы отключить их автоматический запуск при старте системы, выполните команды:

1

2

sudo systemctl disable apt-daily-upgrade.timer

sudo systemctl disable apt-daily.timer


Как обновить Linux в командной строке

С одной стороны, отключение автоматических обновлений и скачивание новых файлов пакетов навсегда избавит вас от ошибки «E: Невозможно заблокировать каталог /var/lib/apt/lists/» и других подобных, но при этом вам нужно будет самостоятельно выполнять обновление и очистку пакетов.

Для полного обновления системы выполняйте:

1

sudo apt update && sudo apt full-upgrade -y

А для очистки пакетов используются команды:

1

2

sudo apt autoremove -y

sudo apt clean -y


Не работает буфер обмена с гостевой ОС Linux

В этом случае как суперпользователь выполните команды:

1

2

killall VBoxClient

VBoxClient-all

Если это не помогло, а особенно если у вас возникает ошибка:

1

/usr/bin/VBoxClient-all: 26: /usr/bin/VBoxClient-all: notify-send:<span id="more-419"></span> not found

тогда установите пакет:

1

sudo apt-get install virtualbox-guest-x11

а затем запустите клиент VirtualBox

Бывают ситуации, что буфер обмена с гостевой ОС работал, но в какой-то момент перестал. Это может происходить, например, после обновления ядра. В этой ситуации также поможет установка пакета virtualbox-guest-x11 и запуск службы VBoxClient-all.

Источник: https://losst.ru/ и https://7d3.ru/ и https://zalinux.ru/


Если Вам понравилась статья — поделитесь с друзьями

2 617 просмотров

Отказ от ответственности: Автор или издатель не публиковали эту статью для вредоносных целей. Вся размещенная информация была взята из открытых источников и представлена исключительно в ознакомительных целях а также не несет призыва к действию. Создано лишь в образовательных и развлекательных целях. Вся информация направлена на то, чтобы уберечь читателей от противозаконных действий. Все причиненные возможные убытки посетитель берет на себя. Автор проделывает все действия лишь на собственном оборудовании и в собственной сети. Не повторяйте ничего из прочитанного в реальной жизни. | Так же, если вы являетесь правообладателем размещенного на страницах портала материала, просьба написать нам через контактную форму жалобу на удаление определенной страницы, а также ознакомиться с инструкцией для правообладателей материалов. Спасибо за понимание.

Если вам понравились материалы сайта, вы можете поддержать проект финансово, переведя некоторую сумму с банковской карты, счёта мобильного телефона или из кошелька ЮMoney.

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

Виды ошибок в операционной системе Линукс

Как проверить Линукс на ошибки

Некоторые типичные примеры ошибок в Linux:

1. Ядра: это ошибки, связанные с работой ядра операционной системы Linux. Они могут быть вызваны неправильной работой драйверов оборудования, ошибками в коде ядра или другими проблемами. Такие ошибки могут привести к сбою системы или неожиданному завершению работы.

2. Файловой системы: связаны с работой файловых систем, таких как ext4, Btrfs, NTFS и другие. Они могут проявляться в виде поврежденных файлов, невозможности монтировать диски или других проблем. Ошибки файловой системы могут быть вызваны некорректным отключением диска, ошибками записи или другими причинами.

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

4. Приложений: могут проявляться в виде неожиданного завершения работы программы, невозможности открыть файлы или других проблем. Ошибки приложений могут быть вызваны ошибками в коде программы, некорректными настройками или другими причинами.

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

Как проверить Linux на ошибки

Есть несколько способов проверить Linux на ошибки, в зависимости от того, какой тип ошибки вы хотите проверить.

Проверка журналов системы

Команда dmesg покажет журнал сообщений ядра. Вы можете использовать флаг -T для просмотра временных меток в удобном для чтения формате: dmesg -T

Команда journalctl позволяет просмотреть журнал системных сообщений. Вы можете использовать флаг -p для просмотра сообщений только с определенным уровнем приоритета, например: journalctl -p err -b — покажет только ошибки за последнюю загрузку системы.

Проверка жесткого диска

smartctl позволяет проверить состояние жесткого диска и диагностировать возможные проблемы: smartctl -a /dev/sda. Замените /dev/sda на путь к вашему жесткому диску.

fsck запускает проверку и позволяет исправить ошибки файловой системы на жестком диске: sudo fsck /dev/sda1. Замените /dev/sda1 на путь к вашей файловой системе.

Проверка памяти

memtest86 делает возможным проверки памяти на наличие ошибок: загрузите ее с загрузочного диска или флешки и запустите тест.

stress позволяет нагрузить систему, проверяя стабильность работы компьютера: sudo stress -c 4 -i 2 -m 1 -t 60s. Эта команда запустит тест, в котором будет использоваться 4 ядра CPU, 2 входа/выхода и 1 МБ оперативной памяти в течение 60 секунд.

Проверка сетевого соединения

ping делает возможным проверку связи с другими компьютерами и устройствами в сети: ping google.com.

при помощи traceroute можно определить маршрут, который данные проходят на пути к указанному хосту: traceroute google.com.

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

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

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

Для проверки разделов жесткого диска рекомендуем использовать утилиту FSCK (file system consistency check), поскольку утилита FSCK предустановленна на большинстве операционных систем семейства Linux.

Важно! Запуск и выполнение FSCK на смонтированной файловой системе может привести к повреждению данных, поэтому используйте данный материал на свой страх и риск. Автор не несет ответственности за любой ущерб, который вы можете причинить.

Для того, чтобы обезопасить себя необходимо:

  • Перейти в однопользовательский режим (Single user mode) и размонтировать файловую систему
  • Загрузить компьютер в режиме восстановления с помощью установочного компакт-диска

Итак, необходимо проверить диски и исправить ошибки файловой системы, приступим.

1) Single user mode

Измените уровень инициализации и размонтируйте файловую систему:

# init 1
# umount /home

Выполните поиск подключенных разделов:

# fdisk -l

После этого запустите FSCK для раздела с ошибками:

# fsck /dev/sda1

2) Режим восстановления с установочного компакт-диска

Вставьте установочный компакт-диск в дисковод и перезагрузите систему:

# reboot

Подождите некоторое время и после загрузки с установочного компакт-диска выполните команду:

# linux rescue nomount

Директива NOMOUNT запретит монтирование, так что вы сможете безопасно использовать FSCK.

После этого запустите FSCK для раздела с ошибками:

# fsck -yvf /dev/sda1

LVM (Logical Volume Manager)

Ситуация с LVM (Logical Volume Manager) разделами немного сложнее. Для запуска FSCK для LVM разделов сначала необходимо найти PV (Physical Vollume), VG (Volume Group), LV (Logical Extension) и активировать их, для этого выполните последовательно следующие команды:

# lvm pvscan
# lvm vgscan
# lvm lvchange -ay VolGroup00
# lvm lvscan

# fsck -yfv /dev/VolGroup00/LogVol00

По факту выполнения FSCK вернет результат в виде кода, данный код — это уникальный номер, представляющей сумму следующих значений:

0 — Без ошибок (No errors);
1 — Исправлены ошибки файловой системы (Filesystem errors corrected);
2 — Система должна быть перезагружена (System should be rebooted);
4 — Ошибки файловой системы оставили без изменений (Filesystem errors left uncorrected);
8 — Эксплуатационная ошибка (Operational error);
16 — Ошибки при использовании или синтаксические ошибки (Usage or syntax error);
32 — Fsck отменен по запросу пользователя (Fsck canceled by user request);
128 — Ошибка общей библиотеки (Shared-library error).

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

В Linux можно проверить и восстановить использование тяжелых аппаратных компонентов. В частности, в системах Ubuntu и Debian, обнаружение сбойных секторов жесткого диска это легко. Как только на вашем жестком диске или диске появляются битые сектора или они повреждаются, они распространяются изо дня в день. На Ubuntu и других машинах Debian Linux вы можете использовать несколько инструментов или команд, чтобы обнаружить ошибки файловой системы и исправить ошибки. Отсутствие исправления ошибок или поврежденных секторов может замедлить загрузку вашей системы, а также может повлиять на инициализацию.

Исправление ошибок файловой системы в системах на основе Debian


Исправление ошибок файловой системы означает, что нам нужно определить, в каком секторе есть проблемы, а затем выяснить, какого типа ошибки. Если ошибки файловой системы можно исправить, мы продолжим работу с несколькими инструментами и командами в нашей системе Debian. Одним из лучших инструментов для исправления ошибок файловой системы является fsck для Linux. В этом посте мы увидим, как исправить ошибки файловой системы в Ubuntu и других дистрибутивах Debian.

Метод 1. Используйте команду FSCK для проверки ошибок


В Ubuntu вы можете использовать команду fsck в оболочке командной строки, которая может проверить целостность файловой системы. Этот инструмент предустановлен в дистрибутиве Debian. Пожалуйста, выполните следующее fdisk сначала, чтобы получить общее представление о вашей файловой системе в системе Debian.

sudo fdisk -l

sudo fdisk -l Исправить ошибки файловой системы в Debian

Теперь вам может потребоваться размонтировать файловую систему, которую вы хотите восстановить. Без размонтирования вы не можете восстановить или выполнить операции по исправлению ошибок файловой системы в Debian и других дистрибутивах. Но не беспокойтесь о ремонте и ремонте; вы можете снова смонтировать файловую систему, где она была.

Если вы не выполните операции FSCk без монтирования файловой системы, которую хотите восстановить, отобразится ошибка.

судо fsck / dev / sdb

Команда mount fsck запустить dev на sdb Исправить ошибки файловой системы в Debian

$ sudo umount / dev / sdb3

Теперь вы можете запустить команду fsck в оболочке терминала, чтобы исправить ошибки файловой системы.

fsck -p -y. sudo fsck -p / dev / sdb3

Вышеупомянутый процесс может занять некоторое время. После завершения перемонтируйте файловую систему с помощью следующей команды.

$ sudo mount / dev / sdb3

Если у вас многопользовательская система Debian, вы можете выполнить следующую команду, чтобы проверить, какой пользователь в данный момент выполняет команду fsck.

fsck / usr

Метод 2: запустить проверку и восстановление файлов при загрузке 


Если вы считаете, что команда fsck полезна для вас, и в вашей системе все еще есть битые сектора, вы можете запускать инструмент fsck в своей системе каждый раз при загрузке системы. В Debian указанная ниже команда позволит вам проверить ошибки файловой системы и восстановите их при загрузке ПК, так как вы можете видеть, что команда выполнит команду force fsck на ботинок.

$ sudo touch / forcefsck

При необходимости вы также можете установить вышеупомянутые forcefsck команда для запуска каждый раз, когда вы запускаете систему.

$ sudo touch / forcefsck. $ sudo tune2fs -c 1 / dev / sdb3 

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

$ sudo tune2fs -c 3 / dev / sdb3

Для получения дополнительной помощи и синтаксиса инструмента FSCK вы всегда можете просмотреть руководство по командам.

$ man fsck

Метод 3: перезагрузка для исправления ошибок в файловой системе 


Этот метод поможет вам выполнить ручную проверку файловой системы в вашей системе Debian, чтобы найти ошибки и исправить их. В этом методе мы изначально запускаем команду fsck в режиме восстановления для лучшего восстановления. Сначала перезагрузите систему и войдите в режим восстановления. Нажатие кнопки Shift поможет вам перейти в режим восстановления.

режим восстановления Исправить ошибки файловой системы в Debian

Находясь в режиме восстановления, выберите инструмент fsck и нажмите OK на клавиатуре. Затем он попросит вас установить точку монтирования в читай пиши режим. Пожалуйста, заполните этот раздел, чтобы перейти в режим восстановления fsck. Когда вы устанавливаете точку монтирования, она автоматически запускает команду fsck в системе и исправляет ошибки файловой системы в вашей системе Debian.

режим восстановления Режим FSCK

После завершения процесса вы можете перезагрузить систему и начать ее использование.

Заключительные слова 


Если вы были заядлым пользователем Ubuntu, вы могли заметить, что пока вы устанавливаете ОС Ubuntu на свой компьютер, Ubuntu автоматически выполняет проверку файловой системы при ее установке. Многие пользователи могут отменить автоматическую проверку файловой системы, нажав Ctrl + C, но допустить эту процедуру было бы хорошо перед установкой ОС. Однако во всем посте мы увидели несколько методов исправления ошибок файловой системы в системах на основе Debian.

Пожалуйста, поделитесь им со своими друзьями и сообществом Linux, если вы найдете этот пост полезным и информативным. Вы также можете записать свое мнение об этом сообщении в разделе комментариев.

Понравилась статья? Поделить с друзьями:
  • Как исправить ошибки линтера
  • Как исправить любую ошибку dll
  • Как исправить код ошибки 1155
  • Как искать речевые ошибки
  • Как избежать стилистических ошибок