Исправляем обнаружена ошибка в системной программе ubuntu

Проверка с помощью встроенного ПО

Совсем необязательно качать программы, чтобы выполнить проверку диска в Ubuntu. Операционная система уже обладает утилитой, которая предназначена для этой задачи. Называется она badblocks, управляется через терминал.

Открываем терминал и вводим:

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

После этого вводим:

Команда служит уже для поиска повреждённых секторов. Вместо /dev/sda вводим имя своего накопителя. Ключи -s и -v служат для того, чтобы отображать в правильном порядке ход проверки блоков (s) и чтобы выдавать отчёт обо всех действиях (v).

Нажатием клавиш Ctrl + C мы останавливаем проверку жёсткого диска.

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

Для того чтобы размонтировать файловую систему, вводим:

Для проверки и исправления ошибок:

  • «-f» делает процесс принудительным, то есть проводит его, даже если HDD помечен как работоспособный;
  • «-c» находит и помечает бэд-блоки;
  • «-y» — дополнительный вводимый аргумент, который сразу же отвечает Yes на все вопросы системы. Вместо него можно ввести «-p», он проведёт проверку в автоматическом режиме.

Продолжение вступления

Постараюсь отойти от клише, которые зачастую встречаются в аналогичных «повествованиях» о преимуществах линукса, по типу бесплатности или безопасности… Все мы прекрасно понимаем, что бесплатность линукса или отсутствие вирусов, с оговорками конечно же, не являются решающим критерием при выборе операционной системы.

Как по мне, большинство людей, пишущих об данных преимуществах, да и в целом клишированные материалы на тему крутости Linux`a перед Windows, либо недавно используют Linux, и на волне фанатичного возбуждения хотят поведать миру о том, что они установили Ubuntu нажатием клавиши «далее»… Либо не понимают, о чем можно написать, и на свой манер рерайтят уже существующие материалы из десятка других более менее популярных блогов. Ведь написать фразу «существуют аналоги, которые работают так же, а, возможно, где-то и лучше, круче, быстрее, я у мамы программист» нужно.

Если в двух словах — все кроется в мелочах. Именно мелочи и делают данную систему для меня приоритетной при выборе между Linux и Windows. Так же стоит учитывать привычки, возрастные приоритеты (чуть позже опишу, что я имею ввиду) и те задачи, которые должен выполнять компьютер, ноутбук, планшет, телефон, роутер, тостер и еще множество устройств, куда Skyrim, Doom, Linux можно установить.

Хочу так же сказать, что выбор в пользу Linux носит еще некую смесь случайности и времени, когда я знакомился с данной операционной системой. Мое знакомство с системой было в 2010 году, во времена Ubuntu 10.04. Для многих — это культовый релиз одного из дистрибутивов Linux. Это тот случай, когда словосочетание Ubuntu 10.04 и «раньше трава была зеленее» являются практически синонимами.

Так же со временем я, так сказать, познал некий «дзен». На вопрос «почему ты используешь Linux, а не Windows?» я стал отвечать вопросами. А почему Android (iPhone), а не iPhone (Android)? Почему Mercedes, а не BMW? Почему планшет, а не ноутбук? Почему KFC, а не McDonalds? Почему Windows, а не Linux?

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

Если двигаться в том же русле и дальше, можно продолжить задавать вопросы по типу — почему Manjaro, а не Ubuntu? Почему KDE, а не XFCE? И так далее…

И опять же ответ простой — потому что мне реально так действительно удобно и так нравится.

Конец длинного вступления.

Проверка на наличие ошибок

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

Просматриваем список накопителей:

Проверяем конкретный накопитель:

В примере взят sdf, но у вас название диска может отличаться.

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

Теперь проверяем том на бэдблоки — проблемные области:

Прогресс выполнения будет отображаться в процентах.

Теперь отмечаем бэдблоки, чтобы система перестала их использовать:

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

Как узнать свободное место в GUI

Новичкам проще обращаться с графическим интерфейсом системы. С него и начнем.

Стандартной утилитой для работы с дисками и разделами в Linux можно считать — Gparted. С помощью этой программы можно не только оценить доступное и использованное место на диске, но и создавать, удалять и изменять размер разделов. Во многих дистрибутивах она уже предустановлена, но если нет, ее можно установить с помощью пакетного менеджера, например, в Ubuntu:

Запускается программа из главного меню. Наберите в поиске gparted или выполните в терминале:

Приставка pexec означает, что будет утилита будет выполняться с правами суперпользователя, поэтому нужно будет ввести пароль. Вот так выглядит главное окно утилиты:

В правом верхнем углу мы можем выбрать диск, с которым хотим работать, а в рабочей области — список разделов на выбранном диске. Здесь указывается название, файловая система, метка, размер и информация об использованном пространстве. Кстати, оценить свободное место можно и визуально, занятое место отмечено желтым, а свободное — белым.

Как я говорил, в этой утилиты еще очень много возможностей, но они выходят за рамки этой статьи.

Узнать свободное место на диске Ubuntu/Gnome можно более простым способом, с помощью утилиты системный монитор. Откройте утилиту системный монитор с помощью Dash или главного меню:

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

В KDE такая функция не поддерживается системным монитором. Но зато кое-какую информацию можно узнать в утилите информация о системе:

Также Dolphin, файловый менеджер KDE, позволяет отображать свободное пространство на текущем разделе в строке состояния. Для этого откройте Настроить Dolphin, Главное, Строка состояния и включите галочку Показывать сведения о свободном месте:

Вот так это будет выглядеть:

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

Еще один способ выполнить просмотр свободного места на диске linux, это воспользоваться утилитой baobab. Это стандартный дисковый анализатор в Ubuntu, утилита показывает не только занятое и свободное место, но и круговую диаграмму размера папок и файлов на диске, что позволяет очень быстро понять куда же делось место:

В KDE есть свой аналог, это fileslight, принцип работы такой же.

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

7.Работа с программным обеспечением RAID на Linux

Чтобы получить текущее состояние программного RAID в Linux введите следующую команду:

Shell

## get detail on /dev/md0 raid ##
mdadm —detail /dev/md0

## Find status ##
cat /proc/mdstat
watch cat /proc/mdstat

1
2
3
4
5
6

## get detail on /dev/md0 raid ##

mdadm—detail/dev/md0

 
## Find status ##

cat/proc/mdstat

watch cat/proc/mdstat

Вы должны заменить неисправный жесткий диск. В этом примере, я собираюсь заменить /dev/sdb (2-й жесткий диск RAID 6). Это работает, только если ваш сервер поддерживают горячую замену жесткого диска:

Shell

## remove disk from an array md0 ##
mdadm —manage /dev/md0 —fail /dev/sdb1
mdadm —manage /dev/md0 —remove /dev/sdb1

# Do the same steps again for rest of /dev/sdbX ##
# Power down if not hot-swappable hard disk: ##
shutdown -h now

## copy partition table from /dev/sda to newly replaced /dev/sdb ##
sfdisk -d /dev/sda | sfdisk /dev/sdb
fdisk -l

## Add it ##
mdadm —manage /dev/md0 —add /dev/sdb1
# do the same steps again for rest of /dev/sdbX ##

# Now md0 will sync again. See it on screen ##
watch cat /proc/mdstat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

## remove disk from an array md0 ##

mdadm—manage/dev/md0—fail/dev/sdb1

mdadm—manage/dev/md0—remove/dev/sdb1

 
# Do the same steps again for rest of /dev/sdbX ##
# Power down if not hot-swappable hard disk: ##

shutdown-hnow

 
## copy partition table from /dev/sda to newly replaced /dev/sdb ##

sfdisk-d/dev/sda|sfdisk/dev/sdb

fdisk-l

 
## Add it ##

mdadm—manage/dev/md0—add/dev/sdb1

# do the same steps again for rest of /dev/sdbX ##
 
# Now md0 will sync again. See it on screen ##

watch cat/proc/mdstat

Как устанавливать приложения на Linux?

Теперь, когда у вас новая версия Linux, естественно, вы захотите взглянуть на приложения, которые она может предложить. Установка приложений в Linux отличается от Windows или Mac. В отличие от двух, где вам нужно запустить EXE (Windows) или DMG (macOS), в Linux вам придется искать в репозитории вашего дистрибутива, чтобы найти то, что вы ищете.

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

Что такое дистрибутив?

A «дистрибутив» относится к распределению операционной системы Linux , где человек, группа или компания создает ОС на основе Linux и выпускает его под их именем. Примеры популярных дистрибутивов Linux: Ubuntu, Fedora, OpenSUSE и другие. Хотя все они используют ядро ​​Linux, все они отличаются тем, какое программное обеспечение они включают. От стандартного программного обеспечения до даже пользовательского интерфейса.

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

3.10. Submitting the fix and getting it included¶

With the changelog entry written and saved, run debuild one more time:

$ debuild -S -d

and this time it will be signed and you are now ready to get your diff to
submit to get sponsored.

In a lot of cases, Debian would probably like to have the patch as well (doing
this is best practice to make sure a wider audience gets the fix). So, you
should submit the patch to Debian, and you can do that by simply running this:

$ submittodebian

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

Коммуникация имеет очень большое значение, поэтому при добавлении описания предоставьте хорошее и дружественное объяснение.

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

It might be beneficial to just get it included in Debian and have it flow
down to Ubuntu, in which case you would not follow the below process. But,
sometimes in the case of security updates and updates for stable releases,
the fix is already in Debian (or ignored for some reason) and you would follow
the below process. If you are doing such updates, please read our
Security and stable release updates
article. Other cases where it is acceptable to wait to submit patches to
Debian are Ubuntu-only packages not building correctly, or Ubuntu-specific
problems in general.

But if you’re going to submit your fix to Ubuntu, now it’s time to generate a
“debdiff”, which shows the difference between two Debian packages. The name of
the command used to generate one is also debdiff. It is part of the
devscripts package. See man debdiff for all the details. To compare
two source packages, pass the two dsc files as arguments:

$ debdiff <package_name>_1.0-1.dsc <package_name>_1.0-1ubuntu1.dsc

In this case, debdiff the dsc you downloaded with pull-lp-source and
the new dsc file you generated. This will generate a patch that your sponsor
can then apply locally (by using patch -p1 < /path/to/debdiff). In this
case, pipe the output of the debdiff command to a file that you can then
attach to the bug report:

$ debdiff <package_name>_1.0-1.dsc <package_name>_1.0-1ubuntu1.dsc > 1-1.0-1ubuntu1.debdiff

The format shown in 1-1.0-1ubuntu1.debdiff shows:

While this format is optional, it works well and you can use this.

Next, go to the bug report, make sure you are logged into Launchpad, and click
“Add attachment or patch” under where you would add a new comment. Attach the
debdiff, and leave a comment telling your sponsor how this patch can be
applied and the testing you have done. An example comment can be:

This is a debdiff for Artful applicable to 1.0-1. I built this in pbuilder
and it builds successfully, and I installed it, the patch works as intended.

Make sure you mark it as a patch (the Ubuntu Sponsors team will automatically
be subscribed) and that you are subscribed to the bug report. You will then
receive a review anywhere between several hours from submitting the patch to
several weeks. If it takes longer than that, please join #ubuntu-motu on
Libera Chat and mention it there. Stick around until you get an answer from
someone, and they can guide you as to what to do next.

Once you have received a review, your patch was either uploaded, your patch
needs work, or is rejected for some other reason (possibly the fix is not fit
for Ubuntu or should go to Debian instead). If your patch needs work, follow
the same steps and submit a follow-up patch on the bug report, otherwise
submit to Debian as shown above.

Исправление ошибок зависимостей с помощью Apt

Самый простой способ исправить ошибки зависимости в Ubuntu Linux — использовать менеджер пакетов по умолчанию: Apt. Чтобы начать исправление, откройте окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. После открытия окна командной строки используйте команду ниже, чтобы исправить ошибки.

sudo apt install -f

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

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

Фильтры

# sysdig proc.name = cat 

21368 13:10:15.384878134 1 cat (8298) < execve res=0 exe=cat args=index.html. tid=8298(cat) pid=8298(cat) ptid=1978(bash) cwd=/root fdlimit=1024
21371 13:10:15.384948635 1 cat (8298) > brk size=0
21372 13:10:15.384949909 1 cat (8298) < brk res=10665984
21373 13:10:15.384976208 1 cat (8298) > mmap
21374 13:10:15.384979452 1 cat (8298) < mmap
21375 13:10:15.384990980 1 cat (8298) > access
21376 13:10:15.384999211 1 cat (8298) < access
21377 13:10:15.385008602 1 cat (8298) > open
21378 13:10:15.385014374 1 cat (8298) < open fd=3(/etc/ld.so.cache) name=/etc/ld.so.cache flags=0(O_NONE) mode=0
21379 13:10:15.385015508 1 cat (8298) > fstat fd=3(/etc/ld.so.cache)
21380 13:10:15.385016588 1 cat (8298) < fstat res=0
21381 13:10:15.385017033 1 cat (8298) > mmap
21382 13:10:15.385019763 1 cat (8298) < mmap
21383 13:10:15.385020047 1 cat (8298) > close fd=3(/etc/ld.so.cache)
21384 13:10:15.385020556 1 cat (8298) < close res=0
# sysdig proc.name = cat and proc.name = vi
56239 12:14:01.449463618 0 BrowserBlocking (2587) > open 
56240 12:14:01.449467018 0 BrowserBlocking (2587) < open fd=142(/proc/16213/statm) name=/proc/16213/statm flags=1(O_RDONLY) mode=0 
63158 12:14:01.493237287 3 gnome-terminal (3910) > open 
63177 12:14:01.493281181 3 gnome-terminal (3910) < open fd=18(/tmp/vteHGSYFX) name=/tmp/vteHGSYFX flags=39(O_EXCL|O_CREAT|O_RDWR) mode=0 
63200 12:14:01.493309748 3 gnome-terminal (3910) > open 
63205 12:14:01.493319526 3 gnome-terminal (3910) < open fd=18(/tmp/vteHESYFX) name=/tmp/vteHESYFX flags=39(O_EXCL|O_CREAT|O_RDWR) mode=0 
# sysdig proc.name!=cat and evt.type=open
2111 12:15:47.656367409 1 rs:main (914) > open 
2112 12:15:47.656368926 1 rs:main (914)  open 
2114 12:15:47.656371170 1 rs:main (914)  open 
2116 12:15:47.656374373 1 rs:main (914)  open 
2118 12:15:47.656376563 1 rs:main (914)  open 
2120 12:15:47.656378615 1 rs:main (914)  open 
# sysdig -l
# sysdig evt.type=accept and proc.name!=apache
# sysdig evt.type=execve and evt.arg.ptid=bash
# sysdig "evt.rawarg.res<0 or evt.rawarg.fd<0"

257727 15:57:35.398754060 3 chrome (17326) < futex res=-110(ETIMEDOUT) 
257737 15:57:35.399218996 0 chrome (2493) < recvfrom res=-11(EAGAIN) data= tuple=NULL 
257749 15:57:35.399362914 1 Xorg (1153) < read res=-11(EAGAIN) data= 
257834 15:57:35.401067094 0 chrome (2493) < recvfrom res=-11(EAGAIN) data= tuple=NULL 
257836 15:57:35.401106092 0 chrome (2493) < recvfrom res=-11(EAGAIN) data= tuple=NULL 
257849 15:57:35.402594284 2 chrome (4446) < futex res=-110(ETIMEDOUT) 
257882 15:57:35.407348870 0 chrome (2493) < recvfrom res=-11(EAGAIN) data= tuple=NULL 
257884 15:57:35.407358705 0 chrome (2493) < recvfrom res=-11(EAGAIN) data= tuple=NULL 
257888 15:57:35.407373908 0 chrome (2493) < recvfrom res=-11(EAGAIN) data= tuple=NULL 
257922 15:57:35.407757377 1 Xorg (1153) < read res=-11(EAGAIN) data= 
# sysdig -L

Проверка файловой системы на ошибки с помощью fsck на Linux

В моей статье «Проверка файловой системы на ошибки с помощью fsck на Linux» я расскажу как можно проверить файловую систему на вашей ОС в Linux.

Некоторым системам необходим пароль root чтобы запустить fsck или других аналогичных утилит, когда не могут загрузить полностью ОС. В этом случае –стоит выполнить проверку диска загрузившись в single-user mode , либо – загрузившись с другого диска.

Fsck расшифровывается как «файловая система Проверка целостности» (file system consistency check). На большинстве систем, Fsck запускается во время загрузки, если определенные условия.

Сам Fsck команда взаимодействует с соответствующей файловой системой конкретных FSCK команд, созданной авторами файловой системы. Независимо от типа вашей файловой системы, Fsck как правило, имеет три режима работы:

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

Код выхода возвращается 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).

Код выхода возвращается, когда несколько файловых систем которая проверяется побитовое ИЛИ (OR) для каждой файловой системы, которая проверяется.

В действительности, Fsck — это просто фронт-энд для различных  проверочных утилит для файловых систем (fsck.fstype), которые доступны на Linux.

Файловая система для конкретных проверок ищет сначала в /sbin, а затем в /etc/fs и /etc/, и, наконец в директориях, перечисленных в переменной PATH (среда переменного кружения).

Прочитайте мануал для конкретных страниц проверки, например, чтобы узнать больше о конкретных проверок  для ext3 FSCK, выполните:

$ man fsck.ext3

Почему стоит использовать Linux для программирования

1. Простота настройки среды

Благодаря архитектуре Linux рабочую среду для программирования здесь настроить намного проще. Конечно, в последние годы появился Docker и WSL, упрощающие настройку среды для программирования и проверки работы программ в Windows, но в Linux это по прежнему проще сделать. Например, если вы хотите программировать на C/C++, то установить все необходимые инструменты можно с помощью одной команды и после этого больше ничего настраивать не нужно. В Windows же придётся потратить некоторое время на то чтобы найти и установить инструменты компиляции, а затем ещё и заставить операционную систему их видеть.

Для веб-программирования намного проще будет установить и настроить веб-сервер и интерпретатор PHP в Linux с помощью пакетного менеджера дистрибутива. Расположение конфигурационных файлов в файловой системе стандартизировано и вы можете без труда их найти и настроить всё, что вам нужно. В Windows придется скачивать и настраивать всё вручную или использовать готовый комбайн вроде XAMPP, что тоже не плохо, но не так удобно.

2. Полноценный терминал

Терминал — огромное преимущество Linux. Ещё во времена операционной системы Unix был разработан набор консольных утилит и способы взаимодействия между ними, вроде построения туннелей или перенаправления вывода, с помощью которых можно делать многие полезные вещи. Например, с помощью grep можно выполнять поиск по большому количеству файлов, утилита find позволяет искать по имени, правам и дате изменения. Это всё может быть очень полезно если надо разобраться в чужом проекте и найти какой-нибудь метод не используя интегрированную среду разработки.

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

3. Среда близкая к производственной

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

Поэтому среда близкая к производственной это тоже важно и удобно

4. Контроль над именами файлов

Если вы пользовались Windows, то знаете, что для этой операционной системы файл FILE и file, это одно и то же. В файловой системе Ext4 в Linux это будут разные файлы. Кроме того, Windows по умолчанию скрывает расширения файлов и вы не можете их менять прямо без дополнительных настроек. В большинстве файловых менеджеров Linux раcширения файлов отображаются по умолчанию.

5. Так сложилось исторически

Изначально операционные системы Windows по умолчанию использовали кодировку CP-1251, в то время как в дистрибутивах Linux использовалась кодировка UTF-8. А поскольку на веб-серверах чаще всего был установлен Linux, то было нужно чтобы все исходники программ были в UTF-8. При работе с ними в Windows их приходилось вручную конвертировать или же использовать специальные среды разработки, в которых всё это было предусмотрено.

До недавних пор в Windows не было нативного SSH клиента. Конечно, всегда можно было пользоваться Putty или другими сторонними программами, однако встроенного клиента для SSH не было и это было неудобно. Встроенный клиент на основе SSH появился только в Windows 10. А в Linux SSH клиент всегда был легко доступен в терминале.

Поскольку раньше не существовало WSL и Docker, то любые специфичные для Linux вещи требовали либо установки Linux рядом/на виртуальную машину либо установки и настройки программ для кросскомпиляции что не всегда было просто. В Linux же большинство программ было установлено уже по умолчанию либо же ставились в несколько команд с помощью пакетного менеджера и не требовали никаких настроек.

Проверка HDD на бэд-блоки на Linux с помощью smartmontools

Теперь давайте рассмотрим более современный и надежный способ
проверить диск на битые секторы linux. Современные накопители ATA/SATA
,SCSI/SAS,SSD имеют встроенную систему самоконтроля S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology,
Технология самоконтроля, анализа и отчетности), которая производит
мониторинг параметров накопителя и поможет определить ухудшение
параметров работы накопителя на ранних стадиях. Для работы со S.M.A.R.T в
Linux есть утилита smartmontools.

Давайте сначала ее установим. Если ваш дистрибутив основан на Debian\Ubuntu, то вводите:

Если же у Вас дистрибутив на основе RHEL\CentOS, то вводите:

Теперь, когда мы установили smartmontools мы можем посмотреть страницу помощи, с помощью команды:

или

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

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

Ещё одна команда, если SMART поддерживается, то добавляем -s. Если он не поддерживается или уже включён, то этот аргумент можно убрать.

Дополнительно, можно указать следующие параметры -a или —all, чтобы получить еще больше информации о накопителе, или -x и —xall, чтобы просмотреть информацию в том числе и об остальных параметрах накопителя.

Перенаправление канала

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

При перенаправлении канала стандартный вывод команды отправляется на стандартный ввод другой команды.

command 1 | command 2

Позвольте нам показать вам практический пример. Скажем, вы хотите посчитать количество видимых файлов в текущем каталоге. Вы можете использовать ls -1 (это цифра один, а не буква L) для отображения файлов в текущем каталоге:

andreyex@destroyer:~$ ls -1
appstxt
new.txt
output.txt
static-ip.txt

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

andreyex@destroyer:~$ ls -1 | wc -l
4

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

Вы увидите результат последней команды в конвейере. Это очевидно, потому что вывод предыдущей команды (команд) подается на следующую команду (команды) вместо перехода на экран.

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

command_1 | command_2 | command_3 | command_4

Рекомендации

Предприятия продолжают внедрять Linux, причём использование этой ОС не ограничивается серверными задачами. Крупные предприятия активно устанавливают свободную ОС на десктопы пользователей. Очевидно, что когда киберпреступники заметят эту тенденцию, они будут всё чаще нацеливаться на среду Linux с целью получения финансовой выгоды.

Вот несколько рекомендаций по обеспечению безопасности систем Linux:

  • внедрите в качестве обязательного принцип «Инфраструктура как код» (Infrastructure as Code, IaC), который гарантирует что системы создаются должным образом, а их конфигурации соответствуют решаемым задачам;

  • используйте принцип наименьших привилегий и модель совместной ответственности;

  • контролируйте целостность операционной системы, чтобы подозрительные изменения не могли произойти незаметно;

  • отслеживайте сетевой периметр, проводите мониторинг всех устройств, систем и сетей;

  • замените пароли по умолчанию на сильные и безопасные, по возможности всегда включайте многофакторную аутентификацию;

  • регулярно устанавливайте обновления и исправления ошибок. 

Способы избежать ошибок зависимости в Ubuntu

Ошибок зависимости в Ubuntu можно легко избежать, следуя этому простому правилу: устанавливайте программное обеспечение только из официальных источников программного обеспечения Ubuntu. Не поддавайтесь искушению загружать случайные пакеты DEB, если они вам не нужны. Ubuntu имеет огромное количество бесплатного программного обеспечения с открытым исходным кодом и проприетарного программного обеспечения. Не должно быть никаких причин для загрузки пакетов DEB из Интернета (тем более, что многие из них имеют проблемные проблемы с зависимостями).

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

Заключение

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

Стоит для себя понять, что использование Linux не должно быть самоцелью. Выбор операционной системы должен вытекать из потребности выполнять определенные задачи, поставленные перед компьютером максимально комфортным способом.

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

Так же я предпочитаю изначально уделить некое количество времени для настройки системы «под себя», чтобы потом пользоваться в свое удовольствие. Это касается как компьютера, так и телефона. Даже моя жена мне постоянно говорит, что у меня все работает не как у людей.

Я не буду рекомендовать устанавливать Linux каждому, но если все-таки хочется попробовать, отговаривать вас не стану, ведь в этом что-то есть.

Надеюсь, материал понравился, постараюсь немного выработать манеру повествования и исправить косяки в письме в будущих материалах

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: