Секторы вашего жесткого диска повреждены. DRDY ERR - Ошибка проверки готовности устройства. UNC - Неисправляемый.
Из-за различных причин, таких как резкое прекращение во время расширенной записи, высокая температура, операции чтения записи и качество жесткого диска в этом случае играют важную роль.
Как только сектор поврежден, и если ядро пытается получить доступ к этим секторам, вы получите эту ошибку.
Вы можете использовать seatools, чтобы временно восстановить эту ошибку. Но вам не удастся исправить эту проблему навсегда. Это может произойти снова несколько раз позже.
Если вам повезет, это не будет повторяться в течение нескольких дней.
Лучшее резервное копирование данных на новый жесткий диск и заменить жесткий диск.
Этот ответ, как и ответ Сергия, пришел из Loop над текстовым файлом с URL-адресами и выполнил ping для каждого из них.
Предполагая, что файл urls находится в текущем каталоге и содержит только ваши URL-адреса, по одному на строку :
#!/bin/bash
while IFS='' read -r l || [ -n "$l" ]; do
avg=$(ping -q -w 10 "$l" | sed '$!d;s_.*=[^/]*/\([^/]*\)/.*_\1_')
echo "Average respond time for $l: $avg ms" >> avg_time
done < "urls"
Здесь выше сценарий был назван avg.
$ cat urls
askubuntu.com
unix.stackexchange.com
stackoverflow.com
$ ./avg
$ cat avg_time
Average respond time for askubuntu.com: 37.742 ms
Average respond time for unix.stackexchange.com: 35.966 ms
Average respond time for stackoverflow.com: 38.982 ms
Этот ответ, как и ответ Сергия, пришел из Loop над текстовым файлом с URL-адресами и выполнил ping для каждого из них.
Предполагая, что файл urls находится в текущем каталоге и содержит только ваши URL-адреса, по одному на строку :
#!/bin/bash
while IFS='' read -r l || [ -n "$l" ]; do
avg=$(ping -q -w 10 "$l" | sed '$!d;s_.*=[^/]*/\([^/]*\)/.*_\1_')
echo "Average respond time for $l: $avg ms" >> avg_time
done < "urls"
Здесь выше сценарий был назван avg.
$ cat urls
askubuntu.com
unix.stackexchange.com
stackoverflow.com
$ ./avg
$ cat avg_time
Average respond time for askubuntu.com: 37.742 ms
Average respond time for unix.stackexchange.com: 35.966 ms
Average respond time for stackoverflow.com: 38.982 ms
Этот ответ, как и ответ Сергия, пришел из Loop над текстовым файлом с URL-адресами и выполнил ping для каждого из них.
Предполагая, что файл urls находится в текущем каталоге и содержит только ваши URL-адреса, по одному на строку :
#!/bin/bash
while IFS='' read -r l || [ -n "$l" ]; do
avg=$(ping -q -w 10 "$l" | sed '$!d;s_.*=[^/]*/\([^/]*\)/.*_\1_')
echo "Average respond time for $l: $avg ms" >> avg_time
done < "urls"
Здесь выше сценарий был назван avg.
$ cat urls
askubuntu.com
unix.stackexchange.com
stackoverflow.com
$ ./avg
$ cat avg_time
Average respond time for askubuntu.com: 37.742 ms
Average respond time for unix.stackexchange.com: 35.966 ms
Average respond time for stackoverflow.com: 38.982 ms
Для одной простой команды, такой как ping, можно использовать xargs. Замечательная вещь о xargs заключается в том, что у нее есть опция --arg-file, которая позволяет вам указать файл, который xargs будет использовать для предоставления позиционных параметров команде, которую вы пытаетесь запустить; в вашем случае это будет один сайт на строку в текстовом файле.
В частности, вам нужна команда:
xargs -I% --arg-file=./input.txt ping -c 4 %
-I позволяет нам выбирать держатель места для каждого аргумента, который xargs внутренне --arg-file является файлом из которого будут получены позиционные параметры; обратите внимание, что мы используем ./, чтобы указать, что файл находится в текущем рабочем каталоге ping -c 4, будет пытаться ping на каждом сайте, который исходит из input.txt, с 4 пакетами Обратите внимание, что мы также может использовать опцию -q для ping, которая предотвратит печать строки для каждого полученного / переданного пакета, при этом выводятся только статистические данные. Оттуда мы можем еще больше очистить выход с помощью awk или любой другой утилиты для обработки текста (помните, что вывод будет буферизирован при переходе по каналу и ждет, пока ping фактически закончит и выведет статистику, так что появится на экране немного медленнее):
$ xargs -I% --arg-file=./input.txt ping -c 4 % -q | awk '/^---/||/avg/'
--- askubuntu.com ping statistics ---
rtt min/avg/max/mdev = 49.677/73.403/94.312/19.276 ms
--- unix.stackexchange.com ping statistics ---
rtt min/avg/max/mdev = 40.015/59.099/115.545/32.590 ms
--- stackoverflow.com ping statistics ---
rtt min/avg/max/mdev = 40.130/40.878/42.685/1.056 ms
$ xargs -I% --arg-file=./input.txt ping -c 4 % -q | awk -F'[ /]' '/^---/{print $2};/avg/{print $8}'
askubuntu.com
39.809
unix.stackexchange.com
189.557
stackoverflow.com
161.974
Для одной простой команды, такой как ping, можно использовать xargs. Замечательная вещь о xargs заключается в том, что у нее есть опция --arg-file, которая позволяет вам указать файл, который xargs будет использовать для предоставления позиционных параметров команде, которую вы пытаетесь запустить; в вашем случае это будет один сайт на строку в текстовом файле.
В частности, вам нужна команда:
xargs -I% --arg-file=./input.txt ping -c 4 %
-I позволяет нам выбирать держатель места для каждого аргумента, который xargs внутренне --arg-file является файлом из которого будут получены позиционные параметры; обратите внимание, что мы используем ./, чтобы указать, что файл находится в текущем рабочем каталоге ping -c 4, будет пытаться ping на каждом сайте, который исходит из input.txt, с 4 пакетами Обратите внимание, что мы также может использовать опцию -q для ping, которая предотвратит печать строки для каждого полученного / переданного пакета, при этом выводятся только статистические данные. Оттуда мы можем еще больше очистить выход с помощью awk или любой другой утилиты для обработки текста (помните, что вывод будет буферизирован при переходе по каналу и ждет, пока ping фактически закончит и выведет статистику, так что появится на экране немного медленнее):
$ xargs -I% --arg-file=./input.txt ping -c 4 % -q | awk '/^---/||/avg/'
--- askubuntu.com ping statistics ---
rtt min/avg/max/mdev = 49.677/73.403/94.312/19.276 ms
--- unix.stackexchange.com ping statistics ---
rtt min/avg/max/mdev = 40.015/59.099/115.545/32.590 ms
--- stackoverflow.com ping statistics ---
rtt min/avg/max/mdev = 40.130/40.878/42.685/1.056 ms
$ xargs -I% --arg-file=./input.txt ping -c 4 % -q | awk -F'[ /]' '/^---/{print $2};/avg/{print $8}'
askubuntu.com
39.809
unix.stackexchange.com
189.557
stackoverflow.com
161.974
Для одной простой команды, такой как ping, можно использовать xargs. Замечательная вещь о xargs заключается в том, что у нее есть опция --arg-file, которая позволяет вам указать файл, который xargs будет использовать для предоставления позиционных параметров команде, которую вы пытаетесь запустить; в вашем случае это будет один сайт на строку в текстовом файле.
В частности, вам нужна команда:
xargs -I% --arg-file=./input.txt ping -c 4 %
-I позволяет нам выбирать держатель места для каждого аргумента, который xargs внутренне --arg-file является файлом из которого будут получены позиционные параметры; обратите внимание, что мы используем ./, чтобы указать, что файл находится в текущем рабочем каталоге ping -c 4, будет пытаться ping на каждом сайте, который исходит из input.txt, с 4 пакетами Обратите внимание, что мы также может использовать опцию -q для ping, которая предотвратит печать строки для каждого полученного / переданного пакета, при этом выводятся только статистические данные. Оттуда мы можем еще больше очистить выход с помощью awk или любой другой утилиты для обработки текста (помните, что вывод будет буферизирован при переходе по каналу и ждет, пока ping фактически закончит и выведет статистику, так что появится на экране немного медленнее):
$ xargs -I% --arg-file=./input.txt ping -c 4 % -q | awk '/^---/||/avg/'
--- askubuntu.com ping statistics ---
rtt min/avg/max/mdev = 49.677/73.403/94.312/19.276 ms
--- unix.stackexchange.com ping statistics ---
rtt min/avg/max/mdev = 40.015/59.099/115.545/32.590 ms
--- stackoverflow.com ping statistics ---
rtt min/avg/max/mdev = 40.130/40.878/42.685/1.056 ms
$ xargs -I% --arg-file=./input.txt ping -c 4 % -q | awk -F'[ /]' '/^---/{print $2};/avg/{print $8}'
askubuntu.com
39.809
unix.stackexchange.com
189.557
stackoverflow.com
161.974