Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе 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.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Содержание
- Понимание ошибок диска в Linux
- Список разделов и типов дисков Linux
- Сканирование на наличие ошибок на диске
- Инструменты мониторинга SMART
- Проверка диска командой Badblocks
- Исправление ошибок диска Linux
- Предотвращение ошибок диска в Linux
- Заключение
В этой статье вы узнаете, как проверить и исправить ошибки диска в Linux. Если вас утомили ошибки диска в системе Linux, не волнуйтесь, мы готовы вам помочь! В этой статье мы поможем вам устранить эти досадные ошибки диска, которые могут привести к потере данных, сбоям и нестабильной работе.
Несмотря на стабильность операционной системы Linux,, ошибки диска могут возникать по разным причинам. Например: аппаратные сбои, перебои в электропитании или проблемы с программным обеспечением. Однако с помощью нашего пошагового руководства вы легко можете определить и исправить эти ошибки. Это поможет вам сэкономить драгоценное время и потратить его на что нибудь полезное. Итак, приготовьтесь выполнить проверку и исправить ошибки диска в Linux как профессионал!
Понимание ошибок диска в Linux
Ошибки диска обычно вызваны физическим повреждением жесткого диска, битыми секторами или проблемами с программным обеспечением. Вот некоторые из распространенных симптомов ошибок диска:
- Медленная производительность системы
- Частые сбои в работе приложений
- Невозможность загрузки системы
- Зависание системы
- Повреждение данных
При появлении этих симптомов необходимо выполнить проверку диска, чтобы выявить и устранить все ошибки.
Список разделов и типов дисков Linux
Перед тем как сканировать диск на наличие ошибок, нам требуется определить разделы диска в системе Linux. Для этого мы можем использовать команду lsblk
. Данная команда выведет список всех доступных дисковых разделов и их типы.
lsblk
Эта команда выведет список всех доступных дисковых разделов, их точек монтирования и их типов. Вы должны увидеть что-то похожее на это.
В этом примере мы видим, что имеется один физический диск (sda) с тремя разделами: sda1, sda2 и sda5.
Сканирование на наличие ошибок на диске
Теперь, когда мы определили разделы диска в нашей системе, то мы можем выполнить проверку на наличие ошибок диска. Есть несколько инструментов, которые помогут в этом. Включая инструменты мониторинга SMART, команду badblocks
и команду fsck
.
Инструменты мониторинга SMART
SMART (Self-Monitoring, Analysis, and Reporting Technology) — это технология, которая встроена в большинство современных жестких дисков. Она отслеживает состояние диска и сообщает о любых ошибках или проблемах. Для доступа к данным SMART в Linux мы можем использовать команду smartctl.
Но чтоб использовать этот инструмент сначала установите пакет smartmontools.
sudo apt install smartmontools
После установки пакета используйте команду smartctl для проверки статуса SMART диска.
sudo smartctl -a /dev/sda
Замените «/dev/sda» на имя вашего диска. Команда выведет подробный отчет о состоянии SMART диска, включая любые ошибки или проблемы.
Проверка диска командой Badblocks
Команда badblocks — это мощный инструмент, который позволяет сканировать и помечать поврежденные сектора на диске. Чтобы использовать команду badblocks, сначала размонтируйте раздел диска, который вы хотите просканировать.
sudo umount /dev/sda1
Замените «/dev/sda1» на имя вашего раздела. Затем выполните команду badblocks.
sudo badblocks -sv /dev/sda1 > badblocks.txt
Данная команда просканирует раздел диска на наличие плохих секторов и сохранит список всех ошибок в файл с именем «badblocks.txt«.
Исправление ошибок диска Linux
Команда fsck (File System Consistency Check) — это мощная утилита, которая проверяет и исправляет ошибки в файловой системе Linux. Fsck похожа на chkdsk в Windows, но более мощней.
Перед запуском команды fsck
лучше всего сначала размонтировать файловую систему, чтобы избежать повреждения данных. Размонтировать файловую систему можно с помощью команды umount
.
Чтобы запустить команду fsck
на файловой системе, используйте следующий синтаксис.
sudo fsck /dev/sda1
Замените «/dev/sda1» на имя раздела вашей файловой системы. Вы можете проверить имя раздела, выполнив команду «lsblk
«.
Команда fsck
просканирует файловую систему и исправит все найденные ошибки. В зависимости от размера раздела и количества ошибок, процесс может занять некоторое время.
Предотвращение ошибок диска в Linux
Предотвращение ошибок диска всегда лучше, чем их исправление после возникновения. Вот несколько советов по предотвращению дисковых ошибок:
- Регулярное резервное копирование: Всегда храните резервные копии важных данных на отдельном устройстве или в облачном хранилище. В случае сбоя диска вы легко можете восстановить данные из резервной копии.
- Избегайте резких (горячих) отключений: Всегда правильно выключайте систему. Резкая потеря питания может повредить жесткий диск и привести к дисковым ошибкам.
- Не допускайте физических повреждений: Храните систему и устройство хранения данных в безопасном месте. Не подвергайте их физическому повреждению. Например не роняйте, не ударяйте и не проливайте на жесткие диски жидкость.
- Регулярно обновляйте систему: Всегда обновляйте свою систему последними патчами и обновлениями. Эти обновления не только устраняют известные уязвимости, но и исправляют ошибки в программном обеспечении.
- Берегите свою систему от вредоносных программ: Всегда держите в системе обновленную антивирусную программу. Вредоносное ПО может испортить файлы и повредить жесткий диск, а это может привести к дисковым ошибкам.
- Проверяйте аппаратных компоненты: Всегда следите за аппаратными компонентами вашей системы. Проверьте, нет ли признаков износа или других аппаратных проблем, которые могут вызвать ошибки диска.
Следуя приведенным выше советам, вы можете свести к минимуму вероятность возникновения ошибок диска в вашей системе Linux.
Заключение
В заключение следует отметить, что ошибки диска могут возникать в любой операционной системе, включая Linux. Но Linux предоставляет несколько инструментов для сканирования и исправления ошибок диска. Вы можете использовать такие инструменты как fsck
, badblocks
, smartctl
и другие инструменты с графическим интерфейсом.
Всегда принимайте превентивные меры, чтобы избежать возникновения ошибок диска. Регулярное резервное копирование, избегание внезапных выключений, предотвращение физических повреждений, обновление и защита системы от вредоносных программ помогут помочь предотвратить ошибки диска.
В случае возникновения ошибок немедленно примите меры и выполните шаги, которые указаны в этом руководстве, для сканирования и исправления ошибок диска в системе Linux. Надеемся мы смогли вам помочь исправить ошибки диска Linux.
И помните, здоровый диск означает здоровую систему.
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 FilesOracleVirtualBoxVBoxManage.exe» modifyhd D:vboxxubuntu.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 [email protected]_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.
Признаки:
- После входа на веб-сайт, браузер, как обычно, предлагает сохранить пароль
- Я нажимаю на кнопку «Сохранить»
- Chrome не показывает никакие ошибки
- Но пароль не сохраняется: а) он не вводится автоматически при следующем заходе на сайт; б) пароль не отображается во вкладке chrome://settings/passwords
Решение следующиее:
1. Выйдите из Chrome
2. Перейдите в директорию, где Chrome хранит данные пользователя — внутри домашней папки, в директории, зависящей от операционной системы:
- MacOS: ~/Library/Application Support/Google/Chrome
- Linux (Chrome): ~/.config/google-chrome
- Linux (Chromium): ~/.config/chromium
- Windows: %UserProfile%AppDataLocalGoogleChromeUser Data
3. От туда перейдите в директорию с именем Default, если вы хотите исправить ваш главный профиль, или в Profile 1 или Profile 2 и т. д. Если вы хотите починить один из дополнительных профилей.
4. Удалите файлы Login Data, Login Data-journal и Login Data 2-journal.
5. Повторите для других профилей, если необходимо.
После этого у меняв вновь включилось сохранение паролей.
Обратите внимание, что если у вас включена автоматическая синхронизация, то вы не потеряете сохранённые ранее пароли.
1. Удаление временных файлов
Файлы в папке /tmp/ будут удалены в любом случае при следующей перезагрузки системы. То есть с одной стороны их можно удалить достаточно безболезненно:
НО: может быть нарушена работа программ, которые запущены в настоящее время и которые сохранили какие-то данные в папку /tmp/.
2. Удаление файлов кэширования
В директории /var/cache/ много поддиректорий, которые можно удалить практически безболезненно (данные утеряны не будут, а программы создадут новые файлы кэширования). Эта директория вызывает особый интерес, поскольку на которых системах кэши разрастаются на гигабайты и десятки гигабайт. Иногда поиск проблемной директории в /var/cache/ может окончательно решить ситуацию с нехваткой места на диске.
Для удаления кэша шрифтов:
1 |
|
Для удаления кэша установочных пакетов (на Debian, Linux Mint, Ubuntu, Kali Linux и их производных):
1 |
|
Для удаления кэша установочных пакетов (на Arch Linux, BlackArch и их производных):
1 |
|
Удаление кэша справочных страниц:
1 |
|
Вы можете продолжить поиск больших кэшей применимо к программному обеспечению, установленному на вашей системе. Например, это могут быть кэши веб-сервера, прокси-сервера и т. д.
3. Удаление логов (журналов)
В этой папке (/var/log/) можно удалить практически все файлы, но старайтесь сохранить структуру папок, поскольку некоторые приложения после удаления здесь папки не в состоянии создать её второй раз…
На веб-серверах могут разрастись слишком сильно журналы веб-сервера.
Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:
1 |
|
Для удаления логов Apache на Arch Linux, BlackArch и их производных:
1 |
|
Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.
В зависимости от интенсивности использования системы, накопленные журналы могут занимать гигабайты. В зависимости от системы файлы могут называться по-разному, более точный анализ рекомендуется выполнять с помощью утилиты ncdu:
4. Очистите корзину
Этот совет больше для настольных систем. Файлы, которые вы удалили в графическом интерфейсе рабочего стола, попадают в папку ~/.local/share/Trash/files/, вы можете проанализировать их и при желании удалить (второй раз):
1 |
|
5. Удаление ненужных файлов исходного кода заголовков ядра
Следующее актуально только для Debian, Linux Mint, Ubuntu, Kali Linux и их производных. Проверьте папку /usr/src/, там будут подпапки вида linux-headers- — большинство из них можно удалить — оставьте только ту, номер которой соответствует текущему ядру системы — обычно это самый последний номер выпуска.
6. Удаление осиротевших пакетов
На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:
7. Очистка журналов systemd
Со временем, в некоторых системах логи системы начинают занимать гигабайты на жёстком диске. Просмотреть журналы и освободить место вы можете с помощью команды journalctl
Чтобы увидеть, сколько место занимают журналы, выполните:
Чтобы удалить все записи, оставив только записей на 100 мегабайт, выполните:
1 |
|
Либо для удаления всех записей в системном журнале, старше одной недели:
1 |
|
8. Проанализируйте файлы Docker
Не удаляйте безумно файлы Docker. Я привожу пример этой директории только по той причине, что она привлекла моё внимание из-за просто фантасмагоричного размера — и это при том, что я Docker’ом фактически не пользуюсь — буквально несколько раз попробовал, чтобы увидеть, что это такое.
Самой большой папкой является /var/lib/docker/overlay2/. Для анализа занимаемого места на диске выполните:
1 |
|
Как исправить «No route to host» SSH в Linux
Если сервер работает на RHEL/CentOS/Fedora, то нужно использовать команду firewall-cmd, чтобы открыть 22 порт (или другой порт, который вы настроили для использования с SSH):
1 2 |
|
Если сервер работает на Debian/Ubuntu, то нужно использовать команду UFW, чтобы открыть 22 порт (или другой порт, который вы настроили для использования с SSH) следующим образом:
1 2 |
|
Теперь попробуйте вновь подключиться к удалённому серверу по SSH:
Проблема должна исчезнуть.
Ошибки «E: Не удалось получить доступ к файлу блокировки /var/lib/apt/lists/lock — open (11: Resource temporarily unavailable)» и «E: Невозможно заблокировать каталог /var/lib/apt/lists/»
возникает примерно следующая ошибка:
1 2 3 4 5 |
|
Если в этой ситуации удалить файлы-блокировщики (/var/lib/apt/lists/lock), как это иногда советуют, то в результате фоновый процесс apt преждевременно завершит свою работу, либо вы запустите второй экземпляр apt – оба эти варианта приведут к проблемам с пакетами, и, вероятнее всего, при последующей попытке использовать apt система предложит вам запустить программу с ключом —f:
Правильный способ исправить ошибку
Чтобы увидеть, какие службы apt присутствуют в системе, выполните команду:
1 |
|
Следующая команда выведет только список служб apt, которые добавлены в автоматическую загрузку:
1 |
|
Службы apt-daily-upgrade.timer и apt-daily.timer, чтобы отключить их автоматический запуск при старте системы, выполните команды:
1 2 |
|
Как обновить Linux в командной строке
С одной стороны, отключение автоматических обновлений и скачивание новых файлов пакетов навсегда избавит вас от ошибки «E: Невозможно заблокировать каталог /var/lib/apt/lists/» и других подобных, но при этом вам нужно будет самостоятельно выполнять обновление и очистку пакетов.
Для полного обновления системы выполняйте:
1 |
|
А для очистки пакетов используются команды:
1 2 |
|
Не работает буфер обмена с гостевой ОС Linux
В этом случае как суперпользователь выполните команды:
1 2 |
|
Если это не помогло, а особенно если у вас возникает ошибка:
1 |
|
тогда установите пакет:
1 |
|
а затем запустите клиент 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, для нескольких популярных файловых систем, а также поговорим о том, как происходит восстановление ext4.
Немного теории
Как вы знаете файловая система содержит всю информацию обо всех хранимых на компьютере файлах. Это сами данные файлов и метаданные, которые управляют расположением и атрибутами файлов в файловой системе. Как я уже говорил, данные не сразу записываются на жесткий диск, а некоторое время находятся в оперативной памяти и при неожиданном выключении, за определенного стечения обстоятельств файловая система может быть повреждена.
Современные файловые системы делятся на два типа — журналируемые и нежурналируемые. Журналиуемые файловые системы записывают в лог все действия, которые собираются выполнить, а после выполнения стирают эти записи. Это позволяет очень быстро понять была ли файловая система повреждена. Но не сильно помогает при восстановлении. Чтобы восстановить файловую систему linux необходимо проверить каждый блок файловой системы и найти поврежденные сектора.
Для этих целей используется утилита fsck. По сути, это оболочка для других утилит, ориентированных на работу только с той или иной файловой системой, например, для fat одна утилита, а для ext4 совсем другая.
В большинстве систем для корневого раздела проверка fsck запускается автоматически, но это не касается других разделов, а также не сработает если вы отключили проверку.
В этой статье мы рассмотрим ручную работу с fsck. Возможно, вам понадобиться LiveCD носитель, чтобы запустить из него утилиту, если корневой раздел поврежден. Если же нет, то система сможет загрузиться в режим восстановления и вы будете использовать утилиту оттуда. Также вы можете запустить fsck в уже загруженной системе. Только для работы нужны права суперпользователя, поэтому выполняйте ее через sudo.
А теперь давайте рассмотрим сам синтаксис утилиты:
$ fsck [опции] [опции_файловой_системы] [раздел_диска]
Основные опции указывают способ поведения утилиты, оболочки fsck. Раздел диска — это файл устройства раздела в каталоге /dev, например, /dev/sda1 или /dev/sda2. Опции файловой системы специфичны для каждой отдельной утилиты проверки.
А теперь давайте рассмотрим самые полезные опции fsck:
- -l — не выполнять другой экземпляр fsck для этого жесткого диска, пока текущий не завершит работу. Для SSD параметр игнорируется;
- -t — задать типы файловых систем, которые нужно проверить. Необязательно указывать устройство, можно проверить несколько разделов одной командой, просто указав нужный тип файловой системы. Это может быть сама файловая система, например, ext4 или ее опции в формате opts=ro. Утилита просматривает все файловые системы, подключенные в fstab. Если задать еще и раздел то к нему будет применена проверка именно указанного типа, без автоопределения;
- -A — проверить все файловые системы из /etc/fstab. Вот тут применяются параметры проверки файловых систем, указанные в /etc/fstab, в том числе и приоритетность. В первую очередь проверяется корень. Обычно используется при старте системы;
- -C — показать прогресс проверки файловой системы;
- -M — не проверять, если файловая система смонтирована;
- -N — ничего не выполнять, показать, что проверка завершена успешно;
- -R — не проверять корневую файловую систему;
- -T — не показывать информацию об утилите;
- -V — максимально подробный вывод.
Это были глобальные опции утилиты. А теперь рассмотрим опции для работы с файловой системой, их меньше, но они будут более интересны:
- -a — во время проверки исправить все обнаруженные ошибки, без каких-либо вопросов. Опция устаревшая и ее использовать не рекомендуется;
- -n — выполнить только проверку файловой системы, ничего не исправлять;
- -r — спрашивать перед исправлением каждой ошибки, используется по умолчанию для файловых систем ext;
- -y — отвечает на все вопросы об исправлении ошибок утвердительно, можно сказать, что это эквивалент a.
- -c — найти и занести в черный список все битые блоки на жестком диске. Доступно только для ext3 и ext4;
- -f — принудительная проверка файловой системы, даже если по журналу она чистая;
- -b — задать адрес суперблока, если основной был поврежден;
- -p — еще один современный аналог опции -a, выполняет проверку и исправление автоматически. По сути, для этой цели можно использовать одну из трех опций: p, a, y.
Теперь мы все разобрали и вы готовы выполнять восстановление файловой системы linux. Перейдем к делу.
Как восстановить файловую систему в fsck
Допустим, вы уже загрузились в LiveCD систему или режим восстановления. Ну, одним словом, готовы к восстановлению ext4 или любой другой поврежденной ФС. Утилита уже установлена по умолчанию во всех дистрибутивах, так что устанавливать ничего не нужно.
Восстановление файловой системы
Если ваша файловая система находится на разделе с адресом /dev/sda1 выполните:
sudo fsck -y /dev/sda1
Опцию y указывать необязательно, но если этого не сделать утилита просто завалит вас вопросами, на которые нужно отвечать да.
Восстановление поврежденного суперблока
Обычно эта команда справляется со всеми повреждениями на ура. Но если вы сделали что-то серьезное и повредили суперблок, то тут fsck может не помочь. Суперблок — это начало файловой системы. Без него ничего работать не будет.
Но не спешите прощаться с вашими данными, все еще можно восстановить. С помощью такой команды смотрим куда были записаны резервные суперблоки:
sudo mkfs -t ext4 -n /dev/sda1
На самом деле эта команда создает новую файловую систему. Вместо ext4 подставьте ту файловую систему, в которую был отформатирован раздел, размер блока тоже должен совпадать иначе ничего не сработает. С опцией -n никаких изменений на диск не вноситься, а только выводится информация, в том числе о суперблоках.
Теперь у нас есть шесть резервных адресов суперблоков и мы можем попытаться восстановить файловую систему с помощью каждого из них, например:
sudo fsck -b 98304 /dev/sda1
После этого, скорее всего, вам удастся восстановить вашу файловую систему. Но рассмотрим еще пару примеров.
Проверка чистой файловой системы
Проверим файловую систему, даже если она чистая:
sudo fsck -fy /dev/sda1
Битые сектора
Или еще мы можем найти битые сектора и больше в них ничего не писать:
sudo fsck -c /dev/sda1
Установка файловой системы
Вы можете указать какую файловую систему нужно проверять на разделе, например:
sudo fsck -t ext4 /dev/sdb1
Проверка всех файловых систем
С помощью флага -A вы можете проверить все файловые системы, подключенные к компьютеру:
sudo fsck -A -y
Но такая команда сработает только в режиме восстановления, если корневой раздел и другие разделы уже примонтированы она выдаст ошибку. Но вы можете исключить корневой раздел из проверки добавив R:
sudo fsck -AR -y
Или исключить все примонтированные файловые системы:
sudo fsck -M -y
Также вы можете проверить не все файловые системы, а только ext4, для этого используйте такую комбинацию опций:
sudo fsck -A -t ext4 -y
Или можно также фильтровать по опциям монтирования в /etc/fstab, например, проверим файловые системы, которые монтируются только для чтения:
sudo fsck -A -t opts=ro
Проверка примонтированных файловых систем
Раньше я говорил что нельзя. Но если другого выхода нет, то можно, правда не рекомендуется. Для этого нужно сначала перемонтировать файловую систему в режим только для чтения. Например:
sudo mount -o remount,ro /dev/sdb1
А теперь проверка файловой системы fsck в принудительном режиме:
sudo fsck -fy /dev/sdb1
Просмотр информации
Если вы не хотите ничего исправлять, а только посмотреть информацию, используйте опцию -n:
sudo fsck -n /dev/sdb1
Выводы
Вот и все, теперь вы знаете как выполняется восстановление файловой системы ext4 или любой другой, поддерживаемой в linux fsck. Если у вас остались вопросы, спрашивайте в комментариях!
На десерт сегодня видео на английском про различия файловых систем ext4 и xfs, как обычно, есть титры:
https://www.youtube.com/watch?v=pECp066gGcY
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
FSCK – очень важная утилита для Linux / Unix, она используется для проверки и исправления ошибок в файловой системе.
Она похоже на утилиту «chkdsk» в операционных системах Windows.
Она также доступна для операционных систем Linux, MacOS, FreeBSD.
FSCK означает «File System Consistency Check», и в большинстве случаев он запускается во время загрузки, но может также запускаться суперпользователем вручную, если возникнет такая необходимость.
Может использоваться с 3 режимами работы,
1- Проверка наличия ошибок и позволить пользователю решить, что делать с каждой ошибкой,
2- Проверка на наличие ошибок и возможность сделать фикс автоматически, или,
3- Проверка наличия ошибок и возможность отобразить ошибку, но не выполнять фикс.
Содержание
- Синтаксис использования команды FSCK
- Команда Fsck с примерами
- Выполним проверку на ошибки в одном разделе
- Проверьте файловую систему на ошибки и исправьте их автоматически
- Проверьте файловую систему на наличие ошибок, но не исправляйте их
- Выполним проверку на ошибки на всех разделах
- Проверим раздел с указанной файловой системой
- Выполнять проверку только на несмонтированных дисках
Синтаксис использования команды FSCK
$ fsck options drives
Опции, которые можно использовать с командой fsck:
- -p Автоматический фикс (без вопросов)
- -n не вносить изменений в файловую систему
- -у принять «yes» на все вопросы
- -c Проверить наличие плохих блоков и добавить их в список.
- -f Принудительная проверка, даже если файловая система помечена как чистая
- -v подробный режим
- -b использование альтернативного суперблока
- -B blocksize Принудительный размер блоков при поиске суперблока
- -j external_journal Установить местоположение внешнего журнала
- -l bad_blocks_file Добавить в список плохих блоков
- -L bad_blocks_file Установить список плохих блоков
Мы можем использовать любую из этих опций, в зависимости от операции, которую нам нужно выполнить.
Давайте обсудим некоторые варианты команды fsck с примерами.
Команда Fsck с примерами
Примечание: – Прежде чем обсуждать какие-либо примеры, прочтите это. Мы не должны использовать FSCK на смонтированных дисках, так как высока вероятность того, что fsck на смонтированном диске повредит диск навсегда.
Поэтому перед выполнением fsck мы должны отмонтировать диск с помощью следующей команды:
$ umount drivename
Например:
$ umount /dev/sdb1
Вы можете проверить номер раздела с помощью следующей команды:
$ fdisk -l
Также при запуске fsck мы можем получить некоторые коды ошибок.
Ниже приведен список кодов ошибок, которые мы могли бы получить при выполнении команды вместе с их значениями:
- 0 – нет ошибок
- 1 – исправлены ошибки файловой системы
- 2 – система должна быть перезагружена
- 4 – Ошибки файловой системы оставлены без исправлений
- 8 – Операционная ошибка
- 16 – ошибка использования или синтаксиса
- 32 – Fsck отменен по запросу пользователя
- 128 – Ошибка общей библиотеки
Теперь давайте обсудим использование команды fsck с примерами в системах Linux.
Выполним проверку на ошибки в одном разделе
Чтобы выполнить проверку на одном разделе, выполните следующую команду из терминала:
$ umount /dev/sdb1 $ fsck /dev/sdb1
Проверьте файловую систему на ошибки и исправьте их автоматически
Запустите команду fsck с параметром «a» для проверки целостности и автоматического восстановления, выполните следующую команду.
Мы также можем использовать опцию «у» вместо опции «а».
$ fsck -a /dev/sdb1
Проверьте файловую систему на наличие ошибок, но не исправляйте их
В случае, если нам нужно только увидеть ошибки, которые происходят в нашей файловой системе, и не нужно их исправлять, тогда мы должны запустить fsck с опцией “n”,
$ fsck -n /dev/sdb1
Выполним проверку на ошибки на всех разделах
Чтобы выполнить проверку файловой системы для всех разделов за один раз, используйте fsck с опцией «A»
$ fsck -A
Чтобы отключить проверку корневой файловой системы, мы будем использовать опцию «R»
$ fsck -AR
Проверим раздел с указанной файловой системой
Чтобы запустить fsck на всех разделах с указанным типом файловой системы, например, «ext4», используйте fsck с опцией «t», а затем тип файловой системы,
$ fsck -t ext4 /dev/sdb1
или
$ fsck -t -A ext4
Выполнять проверку только на несмонтированных дисках
Чтобы убедиться, что fsck выполняется только на несмонтированных дисках, мы будем использовать опцию «M» при запуске fsck,
$ fsck -AM
Вот наше короткое руководство по команде fsck с примерами.
Пожалуйста, не стесняйтесь присылать нам свои вопросы, используя поле для комментариев ниже.
|
Duplicate Article |
See: SystemAdministration/Fsck and TestingStorageMedia
Introduction
Contents
- Introduction
- Basic filesystem checks and repairs
- e2fsprogs — ext2, ext3, ext4 filesystems
- dosfstools — FAT12, FAT16 and FAT32 (vfat) filesystem
- ntfs-3g (previously also ntfsprogs) — NTFS filesystem
- reiserfstools — reiserfs
- xfsprogs — xfs
- Missing superblock
- Bad blocks
- Sources and further reading
This guide will help diagnose filesystem problems one may come across on a GNU/Linux system. New sections are still being added to this howto.
Basic filesystem checks and repairs
The most common method of checking filesystem’s health is by running what’s commonly known as the fsck utility. This tool should only be run against an unmounted filesystem to check for possible issues. Nearly all well established filesystem types have their fsck tool. e.g.: ext2/3/4 filesystems have the e2fsck tool. Most notable exception until very recently was btrfs. There are also filesystems that do not need a filesystem check tool i.e.: read-only filesystems like iso9660 and udf.
e2fsprogs — ext2, ext3, ext4 filesystems
Ext2/3/4 have the previously mentioned e2fsck tool for checking and repairing filesystem. This is a part of e2fsprogs package — the package needs to be installed to have the fsck tool available. Unless one removes it in aptitude during installation, it should already be installed.
There are 4 ways the fsck tool usually gets run (listed in order of frequency of occurrence):
- it runs automatically during computer bootup every X days or Y mounts (whichever comes first). This is determined during the creation of the filesystem and can later be adjusted using tune2fs.
- it runs automatically if a filesystem has not been cleanly unmounted (e.g.: powercut)
- user runs it against an unmounted filesystem
-
user makes it run at next bootup
case 1
When filesystem check is run automatically X days after the last check or after Y mounts, Ubuntu gives user the option to interrupt the check and continue bootup normally. It is recommended that user lets it finish the check.
case 2
If a filesystem has not been cleanly unmounted, the system detects a dirty bit on the filesystem during the next bootup and starts a check. It is strongly recommended that one lets it finish. It is almost certain there are errors on the filesystem that fsck will detect and attempt to fix. Nevertheless, one can still interrupt the check and let the system boot up on a possibly corrupted filesystem.
2 things can go wrong
-
fsck dies — If fsck dies for whatever reason, you have the option to press ^D (Ctrl + D) to continue with an unchecked filesystem or run fsck manually. See e2fsck cheatsheet for details how.
-
fsck fails to fix all errors with default settings — If fsck fails to fix all errors with default settings, it will ask to be run manually by the user. See e2fsck cheatsheet for details how.
case 3
User may run fsck against any filesystem that can be unmounted on a running system. e.g. if you can issue umount /dev/sda3 without an error, you can run fsck against /dev/sda3.
case 4
You can make your system run fsck by creating an empty ‘forcefsck’ file in the root of your root filesystem. i.e.: touch /forcefsck Filesystems that have 0 or nothing specified in the sixth column of your /etc/fstab, will not be checked
Till Ubuntu 6.06 you can also issue shutdown -rF now to reboot your filesystem and check all partitions with non-zero value in sixth column of your /etc/fstab. Later versions of Ubuntu use Upstart version of shutdown which does not support the -F option any more.
Refer to man fstab for what values are allowed.
e2fsck cheatsheet
e2fsck has softlinks in /sbin that one can use to keep the names of fsck tools more uniform. i.e. fsck.ext2, fsck.ext3 and fsck.ext4 (similarly, other filesystem types have e.g.: fsck.ntfs) This cheatsheet will make use of these softlinks and will use ext4 and /dev/sda1 as an example.
-
fsck.ext4 -p /dev/sda1 — will check filesystem on /dev/sda1 partition. It will also automatically fix all problems that can be fixed without human intervention. It will do nothing, if the partition is deemed clean (no dirty bit set).
-
fsck.ext4 -p -f /dev/sda1 — same as before, but fsck will ignore the fact that the filesystem is clean and check+fix it nevertheless.
-
fsck.ext4 -p -f -C0 /dev/sda1 — same as before, but with a progress bar.
-
fsck.ext4 -f -y /dev/sda1 — whereas previously fsck would ask for user input before fixing any nontrivial problems, -y means that it will simply assume you want to answer «YES» to all its suggestions, thus making the check completely non-interactive. This is potentially dangerous but sometimes unavoidable; especially when one has to go through thousands of errors. It is recommended that (if you can) you back up your partition before you have to run this kind of check. (see dd command for backing up filesystems/partitions/volumes)
-
fsck.ext4 -f -c -C0 /dev/sda1 — will attempt to find bad blocks on the device and make those blocks unusable by new files and directories.
-
fsck.ext4 -f -cc -C0 /dev/sda1 — a more thorough version of the bad blocks check.
-
fsck.ext4 -n -f -C0 /dev/sda1 — the -n option allows you to run fsck against a mounted filesystem in a read-only mode. This is almost completely pointless and will often result in false alarms. Do not use.
In order to create and check/repair these Microsoft(TM)’s filesystems, dosfstools package needs to be installed. Similarly to ext filesystems’ tools, dosfsck has softlinks too — fsck.msdos and fsck.vfat. Options, however, vary slightly.
dosfsck cheatsheet
These examples will use FAT32 and /dev/sdc1
-
fsck.vfat -n /dev/sdc1 — a simple non-interactive read-only check
-
fsck.vfat -a /dev/sdc1 — checks the file system and fixes non-interactively. Least destructive approach is always used.
-
fsck.vfat -r /dev/sdc1 — interactive repair. User is always prompted when there is more than a single approach to fixing a problem.
-
fsck.vfat -l -v -a -t /dev/sdc1 — a very verbose way of checking and repairing the filesystem non-interactively. The -t parameter will mark unreadable clusters as bad, thus making them unavailable to newly created files and directories.
Recovered data will be dumped in the root of the filesystem as fsck0000.rec, fsck0001.rec, etc. This is similar to CHK files created by scandisk and chkdisk on MS Windows.
ntfs-3g (previously also ntfsprogs) — NTFS filesystem
Due to the closed sourced nature of this filesystem and its complexity, there is no fsck.ntfs available on GNU/Linux (ntfsck isn’t being developed anymore). There is a simple tool called ntfsfix included in ntfs-3g package. Its focus isn’t on fixing NTFS volumes that have been seriously corrupted; its sole purpose seems to be making an NTFS volume mountable under GNU/Linux.
Normally, NTFS volumes are non-mountable if their dirty bit is set. ntfsfix can help with that by clearing trying to fix the most basic NTFS problems:
-
ntfsfix /dev/sda1 — will attempt to fix basic NTFS problems. e.g.: detects and fixes a Windows XP bug, leading to a corrupt MFT; clears bad cluster marks; fixes boot sector problems
-
ntfsfix -d /dev/sda1 — will clear the dirty bit on an NTFS volume.
-
ntfsfix -b /dev/sda1 — clears the list of bad sectors. This is useful after cloning an old disk with bad sectors to a new disk.
Windows 8 and GNU/Linux cohabitation problems This segment is taken from http://www.tuxera.com/community/ntfs-3g-advanced/ When Windows 8 is restarted using its fast restarting feature, part of the metadata of all mounted partitions are restored to the state they were at the previous closing down. As a consequence, changes made on Linux may be lost. This can happen on any partition of an internal disk when leaving Windows 8 by selecting “Shut down” or “Hibernate”. Leaving Windows 8 by selecting “Restart” is apparently safe.
To avoid any loss of data, be sure the fast restarting of Windows 8 is disabled. This can be achieved by issuing as an administrator the command : powercfg /h off
Install reiserfstools package to have reiserfsck and a softlink fsck.reiserfs available. Reiserfsck is a very talkative tool that will let you know what to do should it find errors.
-
fsck.reiserfs /dev/sda1 — a readonly check of the filesystem, no changes made (same as running with —check). This is what you should run before you include any other options.
-
fsck.reiserfs —fix-fixable /dev/sda1 — does basic fixes but will not rebuild filesystem tree
-
fsck.reiserfs —scan-whole-partition —rebuild-tree /dev/sda1 — if basic check recommends running with —rebuild-tree, run it with —scan-whole-partition and do NOT interrupt it! This will take a long time. On a non-empty 1TB partition, expect something in the range of 10-24 hours.
xfsprogs — xfs
If a check is necessary, it is performed automatically at mount time. Because of this, fsck.xfs is just a dummy shell script that does absolutely nothing. If you want to check the filesystem consistency and/or repair it, you can do so using the xfs_repair tool.
-
xfs_repair -n /dev/sda — will only scan the volume and report what fixes are needed. This is the no modify mode and you should run this first.
-
xfs_repair will exit with exit status 0 if it found no errors and with exit status 1 if it found some. (You can check exit status with echo $?)
-
-
xfs_repair /dev/sda — will scan the volume and perform all fixes necessary. Large volumes take long to process.
XFS filesystem has a feature called allocation groups (AG) that enable it to use more parallelism when allocating blocks and inodes. AGs are more or less self contained parts of the filesystem (separate free space and inode management). mkfs.xfs creates only a single AG by default.
xfs_repair checks and fixes your filesystems by going through 7 phases. Phase 3 (inode discovery and checks) and Phase 4 (extent discovery and checking) work sequentially through filesystem’s allocation groups (AG). With multiple AGs, this can be heavily parallelised. xfs_repair is clever enough to not process multiple AGs on same disks.
Do NOT bother with this if any of these is true for your system:
- you created your XFS filesystem with only a single AG.
-
your xfs_repair is older than version 2.9.4 or you will make the checks even slower on GNU/Linux. You can check your version with xfs_repair -V
- your filesystem does not span across multiple disks
otherwise:
-
xfs_repair -o ag_stride=8 -t 5 -v /dev/sda — same as previous example but reduces the check/fix time by utilising multiple threads, reports back on its progress every 5 minutes (default is 15) and its output is more verbose.
-
if your filesystem had 32 AGs, the -o ag_stride=8 would start 4 threads, one to process AGs 0-7, another for 8-15, etc… If ag_stride is not specified, it defaults to the number of AGs in the filesystem.
-
-
xfs_repair -o ag_stride=8 -t 5 -v -m 2048 /dev/sda — same as above but limits xfs_repair’s memory usage to a maximum of 2048 megabytes. By default, it would use up to 75% of available ram. Please note, -o bhash=xxx has been superseded by the -m option
== jfsutils — jfs == == btrfs ==
Missing superblock
Bad blocks
Sources and further reading
- man pages
-
<XFS user guide> — more details about XFS filesystem
Содержание
- Требования:
- Что делает команда fsck
- Команда fsck в Linux
- Проверка и исправление ошибок файловой системы в Linux
- Исправление ошибки корневой файловой системы Linux командой fsck
- Параметры fsck
- Параметры fsck
- Заключение
Команда FSCK (Проверка согласованности файловой системы) — это команда предназначена для проверки и исправления ошибок файловой системы Linux. Что гарантирует целостность и согласованность файловой системы.
fsck — это интерфейсная утилита, которая вызывает программу для проверки конкретной файловой системы. Команда Fsck обычно запускается после сбоя загрузки системы, повреждения файловой системы или сбоя в работе подключенного диска.
Например в системе Windows есть подобная утилита, называется chkdsk.
В этой статье мы расскажем о команде fsck и о том, как восстановить систему в дистрибутиве Linux.
Требования:
- Установленная система Linux или Unix-подобная
- Пользователь с правами Sudo (суперпользователь)
Что делает команда fsck
- Система автоматически обнаруживает несогласованность системы, как правило после сбоя системы или потери питания или после неправильного отключения.
- Используйте fsck если система не загружается
- Исправление ошибок ввода-вывода
- Запланированный запуск fsck для проверки файловой системы при загрузке ОС.
Команда fsck в Linux
Команда fsck имеет вот такой синтаксис.
$ sudo fsck [Опция] [Файловая система]
[Опция] в синтаксисе — это параметры, доступные с помощью утилиты fsck (различные опции fsck приведены в конце этой статьи).
[Файловая система] может быть устройством, разделом, точкой монтирования и так далее. Если учетные данные не добавлены в [Файловую систему], fsck проверяет устройства, перечисленные в файле fstab.
fsck по умолчанию включен во все дистрибутивы Linux. Команда fsck проверяет все файлы и целостность файловой системы. Эту команду можно выполнить вручную или автоматически.
ВНИМАНИЕ: Прежде чем пытаться проверить или восстановить файловую систему, всегда помните о необходимости размонтирования раздела. Если этого не сделать, файловая система может быть повреждена.
Fsck обычно используется для исправления ошибок в поврежденных файловых системах ext3 или ext4. Чтобы использовать утилиту fsck, вы должны сначала убедиться, что раздел был размонтирован. Вы получите сообщение об ошибке и ваш процесс будет прерван, если вы попытаетесь запустить команду fsck в разделе не размонтировав его. После завершения процесса вы можете снова смонтировать файловую систему.
Если вы не уверены в имени устройства которое хотите проверить, используйте команду df, lsblk или fdisk (fdisk-l), чтобы найти его.
$ sudo df -h
Используйте команду размонтировать, чтобы избежать повреждения файловой системы.
Синтаксис команды размонтирования:
$ sudo umount [filesystem]
Вы можете использовать опцию -p вместе с утилитой fsck для автоматического устранения любых проблем, которые будут безопасно устранены без вмешательства пользователя.
Синтаксис команды проверки файловой системы и файлов:
$ sudo fsck -p [Filesystem]
Пример использования команд :
$ sudo umount /dev/sdc
$ sudo fsck -p /dev/sdc
Ответ в терминала:
$ sudo fsck -p /dev/sdc
fsck from util-linux 2.34
exfatfsck 1.3.0
Checking file system on /dev/sdc.
File system version 1.0
Sector size 512 bytes
Cluster size 128 KB
Volume size 55 GB
Used space 4 MB
Available space 55 GB
Totally 1 directories and 3 files.
File system checking finished. No errors found.
После проверки и ремонта обязательно смонтируйте диск.
Исправление ошибки корневой файловой системы Linux командой fsck
Поскольку корневая система не может быть отключена, Fsck не может проверять наличие ошибок. Но у вас есть возможность запустить fsck в режиме восстановления.
Перезагрузив компьютер в режиме аварийного восстановления, вы можете запустить fsck. Чтобы запустить fsck для исправления ошибок файлов корневой системы, выполнив следующие действия.
Войдите в меню загрузки и выберите «Дополнительные параметры» (Advanced Options).
Теперь выберите “Режим восстановления” (Recovery mode), а затем в меню выберите» fsck” .
Далее появится окно сообщения с вопросом, хотите ли вы переустановить свою / файловую систему. Выберите опцию «Да«.
Теперь нажмите «ДА» и вернитесь к нормальной загрузке.
Параметры fsck
Существует список опций (параметров), которые доступны с помощью утилиты fsck. Все они используются для конкретных целей. Вот некоторые полезные опций fsck:
1. Perform fsck dry run — это выполнение тестового запуска.
fsck -N /dev/sdc
2. Опция -y на все вопросы автоматически ответит ДА, это позволит избежать всех подсказок
fsck -y /dev/sdc
3. Параметр -n выведите ошибку fsck без ремонта
fsck -n /dev/sdc
4. Запуск fsck во всех файловых системах
fsck -AR
-R пропустит корневую файловую систему, так как ее нельзя размонтировать на работающей машине
5. Запуск fsck для определенной файловой системы
Команда fsck является оболочкой и внутренне использует соответствующую команду проверки файловой системы (fsck.*
). Вы можете найти следующие различные команды проверки fsck, такие как fsck.ext2, fsck.ext3, fsck.ext4 и т.д.).
# cd /sbin
# ls fsck*
fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.minix fsck.xfs
В следующей таблице показаны все параметры (опции) команды fsck.
Параметры fsck
Вариант | Описание |
-A | Проверяет все файловые системы, присутствующие в файле /etc/fstab |
-C | Отображает индикатор выполнения |
-f | Принудительно проверяет файловую систему |
-l | Блокирует устройство |
-M | Не проверяет смонтированные файловые системы |
-N | Выводит на печать без выполнения каких — либо действий |
-P | Параллельная проверка нескольких файловых систем |
-p | Автоматически устранять любые проблемы, которые могут быть безопасно устранены без необходимости взаимодействия с пользователем |
-R | Не проверяет корневую файловую систему при использовании с -A |
-r | Отображает статистику для каждого проверенного устройства |
-T | Не показывает название |
-t | Укажите типы файловых систем, которые необходимо проверить (это можно сделать с помощью команды man ) |
-v | Предоставляет подробную информацию |
-y | Отвечает «да» на все вопросы |
fstab — это файл, который указывает операционной системе, как и где монтировать разделы. Вы так же можете найти список записей в файле fstab /etc/fstab.
Параметр <pass> определяет порядок, в котором выполняются проверки файловых системы во время перезагрузки. Если значение равно 0, то оно не проверяется. Если значение равно 1, файловые системы проверяются по одной за раз. А если значение равно 2, поиск во всех файловых системах выполняется одновременно. Значение корневой файловой системы равно 1, а все остальные файловые системы, которые вы хотите проверить, должны иметь значение 2.
Образец файла /etc/fstab:
Заключение
В этой статье мы показали, как использовать команду fsck для проверки и восстановления файловых систем в Linux. Вы так же можете ознакомиться со справочным материалом fsck для более подробного изучения.
Состояние перевода: На этой странице представлен перевод статьи fsck. Дата последней синхронизации: 10 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
fsck (file system check) — утилита для проверки и восстановления файловых систем Linux. Проверка файловых систем разных физических дисков выполняется параллельно, что позволяет значительно её ускорить (см. fsck(8)).
Процесс загрузки Arch включает в себя процедуру fsck, поэтому проверка файловых систем на всех носителях выполняется автоматически при каждой загрузке. По этой причине обычно нет необходимости выполнять её через командную строку.
Проверка при загрузке
Механизм
Существует два возможных варианта:
- mkinitcpio предоставляет хук
fsck
для проверки корневой файловой системы перед монтированием. Корневой раздел должен быть смонтирован на запись и чтение (параметр ядраrw
) [1]. - systemd проверяет все файловые системы, которым задано значение fsck больше 0 (либо параметром fstab, либо в пользовательском файле юнита). Корневая файловая система изначально должна быть смонтирована только на чтение (параметр ядра
ro
), и лишь позже перемонтирована на чтение-запись в fstab. Имейте в виду, что опция монтированияdefaults
подразумеваетrw
.
Рекомендуется по умолчанию использовать первый вариант. Если вы устанавливали систему в соответствии с руководством, то использоваться будет именно он. Если вы хотите вместо этого использовать вариант 2, то удалите хук fsck
из mkinitcpio.conf
и задайте параметр ядра ro
. Кроме того, параметром ядра fsck.mode=skip
можно полностью отключить fsck для обоих вариантов.
Принудительная проверка
Если вы используете base
-хук mkinitcpio, то можно принудительно выполнять fsck во время загрузки, задав параметр ядра fsck.mode=force
. Проверена будет каждая файловая система на машине.
В качестве альтернативы можно воспользоваться службой systemd systemd-fsck@.service(8), которая проверит все настроенные файловые системы, которые не были проверены в initramfs. Тем не менее, проверка корневой файловой системы этим способом может стать причиной задержки в время загрузки, поскольку файловая система будет перемонтироваться.
Примечание: Если вы используете другие дистрибутивы GNU/Linux, то учтите, что старые методы проверки вроде файлов forcefsck
для каждой файловой системы или команды shutdown
с флагом -F
будут работать только с SysVinit и ранними версиями Upstart; работать с systemd они не будут. Решение, предложенное выше, является единственным рабочим для Arch Linux.
Советы и рекомандации
Восстановление повреждённых блоков
Следующая команда позволяет восстановить повреждённые участки файловых систем ext2/ext3/ext4 и FAT:
Важно: Разрешение на восстановление запрошено не будет. Подразумевается, что вы уже ответили «Да», запустив команду на выполнение.
# fsck -a
Интерактивное восстановление повреждённых блоков
Полезно в том случае, если файлы на загрузочном разделе были изменены, а журнал не обновился соответствующим образом. В этом случае размонтируйте загрузочный раздел и выполните:
# fsck -r диск
Изменение частоты проверки
Примечание: Команды tune2fs и dumpe2fs работают только с файловыми системами ext2/ext3/ext4.
По умолчанию fsck проверяет файловую систему каждые 30 загрузок (вычисляется отдельно для каждого раздела). Чтобы изменить частотку проверок, выполните:
# tune2fs -c 20 /dev/sda1
Здесь 20
— число загрузок между проверками. Если задать значение 1
, то проверка будет выполняться при каждой загрузке, а значение 0
отключит сканирование.
Текущую частоту проверок и опции монтирования конкретного раздела можно узнать командой:
# dumpe2fs -h /dev/sda1 | grep -i 'mount count'
Параметры fstab
fstab — файл системных настроек, который используется для передачи ядру Linux информации о том, какие разделы (файловые системы) монтировать и в какие точки дерева файловой системы.
Записи в /etc/fstab
выглядят примерно следующим образом.
/dev/sda1 / ext4 defaults 0 1 /dev/sda2 /other ext4 defaults 0 2 /dev/sda3 /win ntfs-3g defaults 0 0
Шестое поле каждой строки (выделено) — опция fsck:
0
— не проверять.1
— файловая система (раздел), которая должна быть проверена первой; для корневого раздела (/
) должно использоваться именно это значение.2
— прочие файловые системы, которые должны быть проверены.
Решение проблем
Не запускается fsck для отдельного раздела /usr
- Убедитесь, что используются соответствующие хуки в
/etc/mkinitcpio.conf
, а также что вы не забыли пересоздать initramfs после последнего редактирования этого файла. - Проверьте fstab! Только корневому разделу должен быть задан параметр
1
в последнем поле, все остальные разделы должны иметь либо2
, либо0
. Также проверьте файл на наличие иных опечаток.
ext2fs: no external journal
Иногда (например, из-за внезапного отключения питания) файловые системы ext(3/4) могут повредиться так сильно, что восстановить их обычным способом не удастся. Как правило, при этом fsck выводит сообщение о том, что не удалось найти журнал (no external journal). В этом случае выполните команды ниже.
Отмонтируйте раздел от соответствующего каталога:
# umount каталог
Запишите на раздел новый журнал:
# tune2fs -j /dev/раздел
Запустите fsck, чтобы восстановить раздел:
# fsck -p /dev/раздел
Introduction
The fsck (File System Consistency Check) Linux utility checks filesystems for errors or outstanding issues. The tool is used to fix potential errors and generate reports.
This utility comes by default with Linux distributions. No specific steps or an installation procedure is required to use fsck. Once you load the terminal, you are ready to exploit the functionalities of the tool.
Follow this guide to learn how to use fsck to check and repair filesystem on a Linux machine. The tutorial will list examples of how to use the tool and for which use cases.
Prerequisites
- Linux or UNIX-like system
- Access to a terminal or command line
- A user with root permissions to run the tool
When to Use fsck in Linux
The fsck tool can be used in various situations:
- Use fsck to run a filesystem check as preventive maintenance or when there is an issue with your system.
- One common problem fsck can diagnose is when the system fails to boot.
- Another one is when you get an input/output error when the files on your system become corrupt.
- You can also use the fsck utility to check the health of external drives, such as SD cards or USB flash drives.
Basic fsck Syntax
The basic syntax for the fsck utility follows this pattern:
fsck <options> <filesystem>
In the above example, filesystem
can be a device, a partition, a mount point, etc. You can also use filesystem-specific options at the end of the command.
There are a few steps to do before you check and repair your file system. You need to locate a device and unmount.
View Mounted Disks and Partitions
To view all mounted devices on your system and check disk location, use one of the available tools in Linux.
One method to locate the disk you want to scan is to list the filesystem disks with the df
command:
df -h
The tool prints the data usage on your system and filesystems. Take note of the disk you want to check with the fsck
command.
To view partitions for your first disk, for example, use the following command:
sudo parted /dev/sda 'print'
sda is how Linux refers to your first SCSI disk. If you have two, the second would be sdb, and so on.
In our example, we got one result since there was only one partition on this virtual machine. You will get more results if you have more partitions.
The disk name here is /dev/sda
and then the number of partitions is shown in the Number column. In our case, it is one: sda1.
Unmount the Disk
Before you can run a disk check with fsck
, you need to unmount a disk or partition. If you try to run fsck
on a mounted disk or partition, you will get a warning:
Make sure to run the unmount
command:
sudo umount /dev/sdb
Replace /dev/sdb
with the device you want to unmount.
Note that you cannot unmount root filesystems. Hence, now fsck
can’t be used on a running machine. More on that towards the end of the guide.
Run fsck to Check for Errors
Now that you unmounted the disk, you can run fsck
. To check the second disk, enter:
sudo fsck /dev/sdb
The above example shows the output for a clean disk. If there are multiple issues on your disk, a prompt appears for each one where you have to confirm the action.
The exit code the fsck utility returns is the sum of these states:
Mount the Disk
When you finish checking and repairing a device, mount the disk so you can use it again.
In our case, we will remount the sdb disk:
mount /dev/sdb
Do a Dry Run with fsck
Before you perform a live check, you can do a test run with fsck. Pass the -N
option to the fsck
command to perform a test:
sudo fsck -N /dev/sdb
The output prints what would happen but does not perform any actions.
Fix Detected Errors Automatically with fsck
To try to fix potential problems without getting any prompts, pass the -y
option to fsck
.
sudo fsck -y /dev/sdb
This way, you say “yes, try to fix all detected errors” without being prompted every time.
If no errors are found, the output looks the same as without the -y
option.
Skip Repair but Print fsck Errors in the Output
Use the -n
option if you want to check potential error on a file system without repairing them.
We have a second drive sdb with some journaling errors. The -n
flag prints the error without fixing it:
sudo fsck -n /dev/sdb
Force fsck to Do a Filesystem Check
When you perform a fsck on a clean device, the tool skips the filesystem check. If you want to force the filesystem check, use the -f
option.
For example:
sudo fsck -f /dev/sdb
The scan will perform all five checks to search for corruptions even when it thinks there are no issues.
Run fsck on All Filesystems at Once
If you want to perform a check on all filesystems with fsck in one go, pass the -A
flag. This option will go through the etc/fstab
file in one run.
Since root filesystems can’t be unmounted on a running machine, add the -R
option to skip them:
fsck -AR
To avoid the prompts, add the -y
option we talked about.
Skip fsck on a Specific Filesystem
If you want fsck to skip checking a filesystem, you need to add -t
and “no” before a filesystem.
For example, to skip ext3 filesystem, run this command:
sudo fsck -AR -t noext3 -y
We added -y
to skip the prompts.
Skip Fsck on Mounted Filesystems
To make sure you do not try to run fsck on a mounted filesystem, add the -M
option. This flag tells the fsck tool to skip any mounted filesystems.
To show you the difference, we will run fsck on sdb while it is mounted, and then when we unmount it.
sudo fsck -M /dev/sdb
While sdb is mounted, the tool exits without running a check. Then, we unmount sdb and run the same command again. This time, fsck
checks the disk and reports it as clean, or with errors.
Note: To remove the first title line of the fsck tool “fsck from util-linux 2.31.1” use the -T
option.
Run fsck on Linux Root Partition
As we already mentioned, fsck cannot check root partitions on a running machine since they are mounted and in use. However, even Linux root partitions can be checked if you boot into recovery mode and run the fsck check:
1. To do so, power on or reboot your machine through the GUI or by using the terminal:
sudo reboot
2. Press and hold the shift key during boot-up. The GNU GRUB menu appears.
3. Select Advanced options for Ubuntu.
4. Then, select the entry with (recovery mode) at the end. Let the system load into the Recovery Menu.
5. Select fsck from the menu.
6. Confirm by selecting <Yes> at the prompt.
7. Once finished, select resume at the recovery menu to boot up the machine.
What if fsck is Interrupted?
You should not interrupt the fsck tool while it is in progress. However, if the process is interrupted, fsck will finish the ongoing check and then stop.
In case the utility found an error while the check was in process, it will not try to fix anything if interrupted. You can rerun the check next time and let it finish.
fsck Linux Command Options Summary
To wrap up, below is the list of the options you can use with the fsck Linux utility.
Option | Description |
---|---|
-a |
Try to repair filesystem errors automatically. There will be no prompts, so use it with caution. |
-A |
Check all filesystems listed in /etc/fstab. |
-C |
Show progress for ext2 and ext3 filesystems. |
-f |
Force fsck to check a filesystem. The tool checks even when the filesystem appears to be clean. |
-l |
Lock the device to prevent other programs from using the partition during the scan and repair. |
-M |
Do not check mounted filesystems. The tool returns an exit code 0 when a filesystem is mounted. |
-N |
Do a dry run. The output prints what the fsck would do without executing any actions. The warning or error messages are printed as well. |
-P |
Use to run a scan on multiple filesystems in parallel. It can cause issues, depending on your setup. Use with caution. |
-R |
Tell the fsck tool not to check the root filesystems when you use the -A option. |
-r |
Print device statistics. |
-t |
Specify which filesystems type(s) to check with fsck. Consult the man page for detailed information. |
-T |
Hide the title when the tool starts. |
-y |
Try to repair filesystem errors automatically during the check. |
-V |
Verbose output. |
Conclusion
Now you know how to use fsck Linux command to check and repair filesystems. The guide provided examples of the tool’s functionalities and features.
Make sure you have root permissions before running the listed commands. For a detailed description of all options, you can consult the man file of the tool or visit the fsck Linux man page.
Filesystems are responsible for organizing how data is stored and recovered. One way or another, with time, filesystem may become corrupted and certain parts of it may not be accessible. If your filesystem develops such inconsistency it is recommend to verify its integrity.
This can be completed via system utility called fsck (file system consistency check). This check can be done automatically during boot time or ran manually.
In this article, we are going to review the fsck utility and its usage to help you repair disk errors.
When to Use fsck in Linux
There are different scenarios when you will want to run fsck. Here are few examples:
- The system fails to boot.
- Files on the system become corrupt (often you may see input/output error).
- Attached drive (including flash drives/SD cards) is not working as expected.
fsck Available options
Fsck command needs to be run with superuser privileges or root. You can use it with different arguments. Their usage depend on your specific case. Below you will see some of the more important options:
-
-A
– Used for checking all filesystems. The list is taken from/etc/fstab
.-C
– Show progress bar.-l
– Locks the device to guarantee no other program will try to use the partition during the check.-M
– Do not check mounted filesystems.-N
– Only show what would be done – no actual changes are made.-P
– If you want to check filesystems in parallel, including root.-R
– Do not check root filesystem. This is useful only with ‘-A
‘.-r
– Provide statistics for each device that is being checked.-T
– Does not show the title.-t
– Exclusively specify the filesystem types to be checked. Types can be comma separated list.-V
– Provide description what is being done.
How to Run fsck to Repair Linux File System Errors
In order to run fsck, you will need to ensure that the partition you are going to check is not mounted. For the purpose of this article, I will use my second drive /dev/sdb
mounted in /mnt
.
Here is what happens if I try to run fsck when the partition is mounted.
# fsck /dev/sdb
To avoid this unmount the partition using.
# umount /dev/sdb
Then fsck can be safely ran with.
# fsck /dev/sdb
Understanding fsck exit codes
After running fsck, it will return an exit code. These cods can be seen in fsck’s manual by running:
# man 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 Checking canceled by user request 128 Shared-library error
Repair Linux Filesystem Errors
Sometimes more than one error can be found on a filesystem. In such cases you may want fsck to automatically attempt to correct the errors. This can be done with:
# fsck -y /dev/sdb
The -y
flag, automatically “yes”
to any prompts from fsck to correct an error.
Similarly, you can ran the same on all filesystems (without root):
$ fsck -AR -y
How to Run fsck on Linux Root Partition
In some cases, you may need to run fsck on the root partition of your system. Since you cannot run fsck while the partition is mounted, you can try one of these options:
- Force fsck upon system boot
- Run fsck in rescue mode
We will review both situations.
Force fsck Upon System Boot
This is relatively easy to complete, the only thing you need to do is create a file called forcefsck in the root partition of your system. Use the following command:
# touch /forcefsck
Then you can simply force or schedule a reboot of your system. During the next bootup, the fsck will be performed. If downtime is critical, it is recommended to plan this carefully, since if there are many used inodes on your system, fsck may take some extra time.
After your system boots, check if the file still exists:
# ls /forcefsck
If it does, you may want to remove it in order to avoid fsck on every system boot.
Run fsck in Rescue Mode
Running fsck in rescue mode requires few more steps. First prepare your system for reboot. Stop any critical services like MySQL/MariaDB etc and then type.
# reboot
During the boot, hold down the shift
key so that the grub menu is shown. Select the “Advanced options”.
Then choose “Recovery mode”.
In the next menu select “fsck”.
You will be asked if you wish to have your /
filesystem remounted. Select “yes”
.
You should see something similar to this.
You can then resume to normal boot, by selecting “Resume”.
Conclusion
In this tutorial you learned how to use fsck and run consistency checks on different Linux filesystem. If you have any questions about fsck, please do not hesitate to submit them in the comment section below.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
В Linux можно проверить и восстановить использование тяжелых аппаратных компонентов. В частности, в системах Ubuntu и Debian, обнаружение сбойных секторов жесткого диска это легко. Как только на вашем жестком диске или диске появляются битые сектора или они повреждаются, они распространяются изо дня в день. На Ubuntu и других машинах Debian Linux вы можете использовать несколько инструментов или команд, чтобы обнаружить ошибки файловой системы и исправить ошибки. Отсутствие исправления ошибок или поврежденных секторов может замедлить загрузку вашей системы, а также может повлиять на инициализацию.
Исправление ошибок файловой системы в системах на основе Debian
Исправление ошибок файловой системы означает, что нам нужно определить, в каком секторе есть проблемы, а затем выяснить, какого типа ошибки. Если ошибки файловой системы можно исправить, мы продолжим работу с несколькими инструментами и командами в нашей системе Debian. Одним из лучших инструментов для исправления ошибок файловой системы является fsck для Linux. В этом посте мы увидим, как исправить ошибки файловой системы в Ubuntu и других дистрибутивах Debian.
Метод 1. Используйте команду FSCK для проверки ошибок
В Ubuntu вы можете использовать команду fsck в оболочке командной строки, которая может проверить целостность файловой системы. Этот инструмент предустановлен в дистрибутиве Debian. Пожалуйста, выполните следующее fdisk
сначала, чтобы получить общее представление о вашей файловой системе в системе Debian.
sudo fdisk -l
Теперь вам может потребоваться размонтировать файловую систему, которую вы хотите восстановить. Без размонтирования вы не можете восстановить или выполнить операции по исправлению ошибок файловой системы в Debian и других дистрибутивах. Но не беспокойтесь о ремонте и ремонте; вы можете снова смонтировать файловую систему, где она была.
Если вы не выполните операции FSCk без монтирования файловой системы, которую хотите восстановить, отобразится ошибка.
судо fsck / dev / sdb
$ 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 поможет вам перейти в режим восстановления.
Находясь в режиме восстановления, выберите инструмент fsck и нажмите OK на клавиатуре. Затем он попросит вас установить точку монтирования в читай пиши
режим. Пожалуйста, заполните этот раздел, чтобы перейти в режим восстановления fsck. Когда вы устанавливаете точку монтирования, она автоматически запускает команду fsck в системе и исправляет ошибки файловой системы в вашей системе Debian.
После завершения процесса вы можете перезагрузить систему и начать ее использование.
Заключительные слова
Если вы были заядлым пользователем Ubuntu, вы могли заметить, что пока вы устанавливаете ОС Ubuntu на свой компьютер, Ubuntu автоматически выполняет проверку файловой системы при ее установке. Многие пользователи могут отменить автоматическую проверку файловой системы, нажав Ctrl + C, но допустить эту процедуру было бы хорошо перед установкой ОС. Однако во всем посте мы увидели несколько методов исправления ошибок файловой системы в системах на основе Debian.
Пожалуйста, поделитесь им со своими друзьями и сообществом 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).
На этом все. Таким несложным образом вы можете проверить диски на наличие ошибок в файловой системе и исправить эти ошибки в случае их наличия.