SMART тест

SMART бол Self-Monitoring, Analysis and Reporting Technology гэсэн үгсийн товчлол юм. Энэ нь дискний фирмвэр дээрх програм бөгөөд дискний ажиллагааны статистик бүртгэл хөтлөх, дискний эрүүл мэндийг шинжлэх болон тайлагнах зэрэг ажил хийдэг.

SMART тест хийхийн тулд дискний фирмвэртэй харилцах програм хэрэгтэй. Үүнийг дараах тушаалаар суулгана.

sudo apt install smartmontools

Дор SMART тестийн үндсэн үйлдлүүдийг танилцуулав.

  • Дискний SMART мэдээллийг унших
    sudo smartctl -a /dev/sdb

    Энд дискийг /dev/sdb зам дээр байна гэв. Хэрэв өөр зам дээр байвал /dev/sdc гэх мэтчилэн тохирох замыг зааж өгнө.

  • Тест эхлүүлэх

    sudo smartctl -t long /dev/sdb
    Энэ нь фирмвэрт дискний бүх гадаргууг шалгах тушаал өгч буй явдал юм. Шалгалтыг фирмвэр хийх тул компьютерийн үйлдлийн систем дээрээс диск огт ашиглагдахгүй байгаа мэт харагдана. Иймээс компьютерээ унтраах юм уу дискээ салгаж болохгүй. Шалгалт хэдэн цагаар үргэлжлэх бөгөөд хэзээ дуусахыг тушаал өгөх үед мэдээлдэг. Хэрэв хүсвэл шалгалтыг явцыг харж болно.
  • Тестийн явцыг харах
    sudo smartctl -l selftest /dev/sdb
  • Тестийн үр дүнг харах
    Үүний тулд дээрх тушаалыг өгнө. Бас SMART мэдээллийг бүхлээр нь гаргаад харж болно.

Чексум

Дараах тушаал нь тухайн хавтас (дэд хавтас ч хамарна) дахь файлуудыг уншиж чексум гаргана. Гарсан чексумыг "checksums.sha256" гэсэн нэртэй ганц файлд бичиж хадгална.

find . -type f ! -name '*.sha256' -print0 | sort -z | xargs -0 sha256sum > checksums.sha256

Чексум шалгахдаа дараах тушаал өгнө.

sha256sum -c --quiet checksums.sha256

--quiet горимд зөвхөн алдаа гарсан файлуудыг л харуулдаг. Гаралт хоосон байвал бүх чексум таарч байна гэсэн үг.

Чексум файл үүсгэсний дараа шинэ файл нэмсэн, хуучин файл устгасан, файлын нэр сольсон бол баталгаажуулалт алдаа заана. Иймээс архив тогтвортой болсон үед ийм чексум файл үүсгэвэл тохиромжтой. Түүнчлэн ийм "том" чексум файлыг өөр диск юм уу үүлэнд хадгалбал илүү найдвартай болно.

Харин тогтворгүй архивын хувьд файл бүрийн чексумыг тус тусад нь хадгалбал тохиромжтой. Үүний тулд дараах тушаал өгнө. Энэ нь зөвхөн чексумгүй файлуудын чексумыг л үүсгэнэ. Мөн шинээр үүсэж буй чексумыг мэдээлнэ.

find . -type f ! -name '*.sha256' -print0 \
| sort -z \
| xargs -0 -I{} sh -c '
f="$1"
if [ ! -f "$f.sha256" ]; then
    echo "Creating checksum of: $f"
    sha256sum "$f" > "$f.sha256"
fi
' sh {}

Ийм олон чексумыг нэг дор шалгахдаа дараах тушаал өгнө.

find . -type f -name '*.sha256' \
    -exec sha256sum -c --quiet {} \;

Энэ нь бүх *.sha256 чексум файлуудыг хайж олоод улмаар нэг бүрчлэн шалгана. --quiet горимоор ажиллах тул зөвхөн алдаа гарсан файлуудыг л харуулна.