Add initial scripts and project conventions

This commit is contained in:
dido committed 2026-09-27 12:09:46 +03:00
1 parent af9f32facc
commit c777cf115b
14 files changed
+982 -9

No files matched your search

+53
View File
@@ -0,0 +1,53 @@
# repair-hdd.sh
Презаписва избран диск, за да задейства remap на проблемни сектори, след
което изпълнява SMART extended self-test и показва финален отчет.
## Какво прави
Скриптът записва целия block device с нули или псевдослучайни данни. След
това стартира продължителен SMART self-test и изчаква очакваното му време,
преди да покаже резултата и SMART атрибутите. Изходът се записва в
`/var/log/hdd-repair/`.
**Операцията унищожава всички данни на избрания диск.** Преди запис скриптът
проверява дали дискът участва в root filesystem, проверява за монтирани
дъщерни устройства и активен swap, и изисква изрично потвърждение `YES`.
Ако дъщерно устройство не може да се демонтира, скриптът прекратява
операцията.
Използвай само с правилно идентифициран диск, който можеш безопасно да
изтриеш. Изисква пряка SATA връзка; `smartctl` не използва `-d sat`, затова
USB адаптер може да изисква ръчна промяна на извикванията в скрипта.
## Изисквания
- Linux и Bash
- Root права (`sudo`)
- `smartctl` от пакета smartmontools
- `findmnt`, `lsblk`, `readlink`, `swapon`, `umount` и стандартните GNU/Linux
помощни команди, използвани от скрипта
- OpenSSL е незадължителен; при липса режимът `random` използва `/dev/urandom`
## Употреба
```bash
sudo ./HDD/repair-hdd.sh --help
sudo ./HDD/repair-hdd.sh /dev/sdX
sudo ./HDD/repair-hdd.sh /dev/sdX zero
sudo ./HDD/repair-hdd.sh /dev/sdX null
sudo ./HDD/repair-hdd.sh /dev/sdX random
```
| Аргумент | Описание |
|----------|----------|
| `DEVICE` | Целият диск, например `/dev/sdX`, не дял от него |
| `zero` | Записва нули; режим по подразбиране |
| `null` | Синоним на `zero` |
| `random` | Записва псевдослучайни данни |
| `-h`, `--help` | Показва помощта и приключва |
Изпълнението може да продължи часове. Не прекъсвай захранването или връзката
с диска по време на записа или SMART теста. SMART remap не възстановява
данни и не гарантира, че дискът ще стане надежден; запази резервно копие и
подмени диск с повтарящи се грешки.