This article refers to Smartmontools. You can install it by
opkg update
opkg install smartmontools
To save flash space there is no drivedb included in the OpenWRT package of smartmontools. The automatic update of drive.db described here is missing as well. In case you can affort/waste ~215kB (12-April-2020) you can download the current database from GIT Drivedb.h.
Transfer it via SCP or WinSCP and place it at
mkdir /usr/share/smartmontools mv drivedb.h /usr/share/smartmontools/drivedb.h
It allows you to monitor the health of an external storage device. This example assumes an SSD mounted at /dev/sda
smartctl -a /dev/sda smartctl 7.0 2018-12-30 r4883 [armv5tel-linux-4.14.162] (localbuild) Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Marvell based SanDisk SSDs Device Model: SanDisk SSD PLUS 240GB Serial Number: 1944AA800xxx LU WWN Device Id: 5 001b44 8b18d5803 Firmware Version: UF2204RL User Capacity: 240,057,409,536 bytes [240 GB] Sector Size: 512 bytes logical/physical Rotation Rate: Solid State Device Form Factor: 2.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ACS-3, ACS-2 T13/2015-D revision 3 SATA Version is: SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s) Local Time is: Mon Apr 13 09:28:31 2020 CEST SMART support is: Available - device has SMART capability. SMART support is: Enabled ... SMART Attributes Data Structure revision number: 1 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 215 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 27 165 Total_Write/Erase_Count 0x0032 100 100 000 Old_age Always - 34 166 Min_W/E_Cycle 0x0032 100 100 --- Old_age Always - 1 167 Min_Bad_Block/Die 0x0032 100 100 --- Old_age Always - 10 168 Maximum_Erase_Cycle 0x0032 100 100 --- Old_age Always - 3 169 Total_Bad_Block 0x0032 100 100 --- Old_age Always - 106 170 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0 171 Program_Fail_Count 0x0032 100 100 000 Old_age Always - 0 172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always - 0 173 Avg_Write/Erase_Count 0x0032 100 100 000 Old_age Always - 1 174 Unexpect_Power_Loss_Ct 0x0032 100 100 000 Old_age Always - 0 184 End-to-End_Error 0x0032 100 100 --- Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 --- Old_age Always - 0 194 Temperature_Celsius 0x0022 063 042 000 Old_age Always - 37 (Min/Max 15/42) 199 SATA_CRC_Error 0x0032 100 100 --- Old_age Always - 0 230 Perc_Write/Erase_Count 0x0032 100 100 000 Old_age Always - 9 20 9 232 Perc_Avail_Resrvd_Space 0x0033 100 100 005 Pre-fail Always - 100 233 Total_NAND_Writes_GiB 0x0032 100 100 --- Old_age Always - 136 234 Perc_Write/Erase_Ct_BC 0x0032 100 100 000 Old_age Always - 274 241 Total_Writes_GiB 0x0030 100 100 000 Old_age Offline - 131 242 Total_Reads_GiB 0x0030 100 100 000 Old_age Offline - 190 244 Thermal_Throttle 0x0032 000 100 --- Old_age Always - 0
Permalink
Cannot retrieve contributors at this time
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| # Copyright 2010 Vertical Communications | |
| # Copyright 2012 OpenWrt.org | |
| # This is free software, licensed under the GNU General Public License v2. | |
| # See /LICENSE for more information. | |
| # | |
| fsck_e2fsck() { | |
| set -o pipefail | |
| e2fsck -p «$device« 2>&1 | logger -t «fstab: e2fsck ($device)« | |
| local status=«$?« | |
| set +o pipefail | |
| case «$status« in | |
| 0|1) ;; #success | |
| 2) reboot;; | |
| 4) echo «e2fsck ($device): Warning! Uncorrected errors.«| logger -t fstab | |
| return 1 | |
| ;; | |
| *) echo «e2fsck ($device): Error $status. Check not complete.«| logger -t fstab;; | |
| esac | |
| return 0 | |
| } | |
| fsck_ext2() { | |
| fsck_e2fsck «$@« | |
| } | |
| fsck_ext3() { | |
| fsck_e2fsck «$@« | |
| } | |
| fsck_ext4() { | |
| fsck_e2fsck «$@« | |
| } | |
| append libmount_known_fsck «ext2« | |
| append libmount_known_fsck «ext3« | |
| append libmount_known_fsck «ext4« |
0
1
root@OpenWrt:~# smartctl --device=auto -a /dev/sda
smartctl 5.40 2010-10-16 r3189 [mips-openwrt-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
/dev/sda: Unknown USB bridge [0x14cd:0x6116 (0x200)]
Smartctl: please specify device type with the -d option.
Use smartctl -h to get a usage summary
hdd — WD5000LPVT SATA-II
Так же если есть возможность узнать температуру другим способом, напишите 🙂
Super Top generic enclosure Cypress 0x14cd:0x6116 Super Top / USB 2.0 SATA BRIDGE -d usbcypress Linux
использование параметра -d usbcypress ведет к:
root@OpenWrt:~# smartctl -d usbcypress -i /dev/sda
smartctl 5.40 2010-10-16 r3189 [mips-openwrt-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
Smartctl: Device Read Identity Failed (not an ATA/ATAPI device)
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
Но на здоровье диска проверяет, в чем проблема то?
root@OpenWrt:~# smartctl --device=scsi -H /dev/sda
smartctl 5.40 2010-10-16 r3189 [mips-openwrt-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
SMART Health Status: OK
Использование параметра -T permissive приводит к:
root@OpenWrt:/etc/defconfig# smartctl --device=scsi -i -T permissive /dev/
sda
smartctl 5.40 2010-10-16 r3189 [mips-openwrt-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
Device: WDC WD50 00LPVX-55V0TT0 Version:
scsiModePageOffset: response length too short, resp_len=4 offset=4 bd_len=0
>> Terminate command early due to bad response to IEC mode page
Описание часто используемых команд в OpenWrt linux:
echo — Вывод текста или значений переменных
uname -a — Показать версию ядра Linux;
cat /proc/cpuinfo — Показать информацию о железе
cat /proc/meminfo — Показать расширенную информацию о занимаемой оперативной памяти
ls /dev — Показать все устройства в системе
id — Показывает сводную информацию по текущему пользователю (логин, UID, GID)
cat — Просмотр содержимого файла
strings — Поиск текстовых строк в файле
cut — Удаление определённых секций из каждой строки файла
grep — Поиск подстрок в файлах
ps — Список запущенных процессов
killall имя прцесса — Убить процесс по названию
free — Информации об использовании памяти
fdisk -l Информация о всех подключенных дисках;
blkid — Выводит UUID информацию всех доступных накопителей в системе;
df Показывает свободное и занятое место в разделах;
mkfs.ext4 /dev/sda1 — Форматирует диск sda1 в FS ext4
mount /dev/sda1 /mnt — Монтирует раздел /dev/sda1 к точке монтирования /mnt;
mount — Показывает полную информацию о примонтированных устройствах;
umount /mnt — Отмонтирует раздел от точки монтирования /mnt;
clear — Очистить окно терминала;
reboot — Перезагрузить устройство;
exit — Завершить сеанс;
sleep 10 — Пауза 10 сек
passwd — Меняет пароль текущего пользователя;
date — Показывает текущую дату и время;
pwd — Показывает текущий путь;
ls — Показывает список файлов и каталогов в текущей папке;
mkdir /test — Создание папки с именем test;
rmdir /test — Удаление папки с именем test;
rm -i stats.gif — Удаление файла с именем stats.gif;
touch /tmp/myfile.txt — Создать фаил
chmod 777 /tmp/myfile.txt — Изменить права доступа к файлу
find — Поиск файлов или каталогов find / -name ‘*fil*’ -print
mv — Перемещение и переименовывание файлов
cd /tmp — Перейти в указанную папку;
wget htp://cyber-place.ru/images/misc/stats.gif — Скачать файл в текущую папку
chgrp — Смена группы
chown — Смена владельца файла или каталога
cp — Копирование файлов и каталогов (синтаксис : cp что куда )
stty -F /dev/ttyATH0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts — Изменить параметры UART порта
opkg update – обновляет список пакетов (загружая его из репозитория, указанных в конфигурационном файле);
opkg upgrade – обновляет все установленные пакеты;
opkg install <имя_пакета> – устанавливает пакет (в качестве параметра может принимать имя пакета, а также путь или HTTP URL, указывающий на файл пакета);
opkg remove <имя_пакета|регулярно� �_выражение> – удаляет один или несколько пакетов;
opkg list – выводит на экран полный список пакетов;
opkg list-installed – выводит на экран список установленных пакетов.
cat /home/primer- Показать содержимое файла /home/primer ;
vi /folder/filename — открыть файл в редакторе vi
i — включить режим редактирования
[Esc] — выйти из режима редактирования
u — undo (отмена)
CTRL + R — redo
:w [Enter] — сохранить внесенные изменения.
:q [Enter] — выйти без сохранения изменений
:wq [Enter] — сохранить внесенные изменения и выйти.
dd — удалет строку на которой находится курсор
x — удалет символ на котором находится курсов
[y] — копирует строку в буфер
[P] — вставляет скопированную строку после той, на которой в текущий момент находится курсор
echo $REMOTE_ADDR — Посмотреть Ваш IP
Когда, при загрузке, операционная система сообщает о наличии ошибок в файловой системе на одном из разделов, то заслуживает незамедлительно сделать в linux проверку диска на ошибки. Любой уважающий себя user не должен забывать, что периодическая проверка жестких дисков на битые сектора и проверка атриторен на ошибки является примером здравого смысла. Для проверки разделов жесткого диска советуем использовать утилиту FSCK (file system consistency check), поскольку утилита FSCK предустановленна на основной массе операционных систем семейства Linux.
Примером хорошего тона и здравого резона является периодическая проверка диска на битые сектора (бэд-сектора, badblocks) и обычная испытание диска на ошибки записи и т.п. Разберёмся что такое битые сектора. Бэд-сектор, Повреждённый сектор — сбойный (не читающийся) или не внушающий доверие сектор диска; кластер, содержащий сбойные сектора, или кластер помеченный таковым в текстурах файловой системы операционной системой. Следовательно, если в битом секторе были этые, то их ещё возможно восстановить, пока битых секторов не стало слишком много для конкретного файла. Собрать список битых секторов можно с помощью команды badblocks.
Содержание статьи
- 1 Проверка диска на колоченные секторы в linux с помощью badblocks
- 2 Исправление ошибок файловой системы fsck
- 3 Проверка диска на битые секторы в linux с поддержкою smartmontools
Проверка диска на колоченные секторы в linux с помощью badblocks
Badblocks — стандартная утилита Linuх для проверки (Тестирование Инвентаризация Допинг-контроль Проверка подлинности Служебная проверка Проверка орфографии Проверка на дорогах Камеральная налоговая проверка Выездная налоговая проверка Проверка) на колоченные секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как твердый диск, так и внешний накопитель. Для начала давайте посмотрим, какие накопители подключены к ушей системе и какие на них имеются разделы. Для этого нам нужна еще одна стандартная утилита Linux — fdisk.
Собрать список битых секторов можно с помощью команды badblocks.
Делается это так:
sudo badblocks -v /dev/hda1 > ~/badblocks.list
Где /dev/hda1 — это разоблачил диска, что вы хотите проверить.
Желательно делать проверку в однопользовательском режиме, когда это не внешний диск. Тогда его просто стоит отмонтировать. После этого мы можем швырнуть утилиту fsck, явно указав ей список битых секторов для того, чтобы она их подметить как «битые» и попыталась восстановить с них данные. Делается это так:
sudo fsck -t ext4 -l ~/badblocks.list /dev/hda1
Где ext4 — это тип файловой системы нашего разоблачила диска, а /dev/hda1 — сам раздел диска.
Естественно, что выполнять команды нужно с правами суперпользователя.
sudo fdisk -l
Метеопараметром -l мы говорим утилите fdisk, что нам нужно показать список разделов и выйти. Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы. Для этого мы станем использовать утилиту badblocks следующим образом:
sudo badblocks -v /dev/sda1 > badsectors.txt
Если же в итоге были найдены битые секторы, то нам надо дать указание операционной системе не вписывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:
e2fsck. Когда мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
fsck. Если мы станем исправлять файловую систему, отличную от ext.
Исправление ошибок файловой системы fsck
В моей а не твоей статье «Проверка файловой системы на ошибки с помощью fsck на Linux» я расскажу как возможно проверить файловую систему на вашей ОС в Linux. Некоторым системам необходим пароль root дабы запустить fsck или других аналогичных утилит, когда не могут загрузить полностью ОС. В данном случае стоит выполнить проверку диска загрузившись в single-user mode , либо – загрузившись с иного диска. Fsck расшифровывается как «файловая система Проверка целостности» (file system consistency check).
На основной массе систем, Fsck запускается во время загрузки, если определенные условия. Код выхода ворачивается, когда несколько файловых систем которая проверяется побитовое ИЛИ (OR) для каждой файловой системы, какая проверяется. В действительности, Fsck — это просто фронт-энд для различных проверочных утилит для файловых систем (fsck.fstype), какие доступны на Linux. Файловая система (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство) для конкретных проверок ищет сначала в /sbin, а потом в /etc/fs и /etc/, и, наконец в директориях, перечисленных в переменной PATH (среда переменного кружения).
Запуск и исполнение FSCK на смонтированной файловой системе может привести к повреждению данных, поэтому применяйте данный материал на свой страх и риск.
Автор не несет ответственности за любой вред, который вы можете причинить. Fsck расшифровывается как «File System ChecK», то есть «испытание файловой системы» и используется для проверки и исправления файловых систем в Linux. В качестве верифицируемой ФС может быть задан раздел (например, /dev/sda1 или /dev/sda8), точка монтирования (/, /home, /usr), или же точна тома или UUID (например, UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd или LABEL=root).
Как обычно fsck пытается параллельно проверять файловые системы на нескольких разделах для уменьшения времени, нужного для проверки всех файловых систем. Arch Linux при загрузке автоматически будет бросать fsck для проверки систем, если выполняется одно из требований (например, 180 суток работы системы без проверки разделов или 30 монтирований оных). Обычно нет необходимости переопределять проем между проверками.
Для того, чтобы проверить диск в Linux на наличие опечаток файловой системы нам необходимо сначала выяснить имена файловых систем командой:
df -h
Дальше нам необходимо размонтировать файловую систему, которую мы будем проверять командой:
umount /dev/hda1
И сейчас запускаем утилиту проверки файловой системы и исправления ошибок на ней командой
fsck /dev/hda1
В том варианте, когда не представляется возможным размонтировать файловую систему, к примеру, когда нужно испробовать корневую файловую систему (/). Перезагрузиться в однопользовательском режиме (команда reboot, и при загрузке необходимо передать ядру параметр single). Перемонтировать корневую файловую систему в режиме «лишь чтение» командой.
mount -о remount rо -t ext3 /
Здесь параметр -о команды mount указывает на присутствие дополнительных опций. Опция remount rо означает перемонтировать в режиме «только чтение». Метеопараметр -t указывает тип файловой системы – ext3, а последний параметр – указывает что это корневая файловая система (/).
И сейчас проверить файловую систему
fsck -y -f -c /dev/hda1
Проверка диска на битые секторы в 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. Давайте перейдем к работе с утилитой. Включим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:
sudo smartctl -H /dev/sda1
Как видим, проверка диска («круглое блюдо») — круг (низкий цилиндр) или предмет в виде круга) на битые секторы linux завершена и утилита говорит нам, что с накопителем все в распорядке! Дополнительно, можно указать следующие параметры -a или —all, чтобы получить еще больше информации о накопителе, или -x и —xall, дабы просмотреть информацию в том числе и об остальных параметрах накопителя.
Подготовка прошивки OpenWRT к подключению USB-диска
Поддержка USB прошивкой OpenWRT
Для поддержки USB-накопителей Вам необходимо либо собрать прошивку с включением следующих пакетов
- kmod-usb-core
- kmod-usb-ohci
- kmod-usb-storage
- kmod-usb2
либо доустановить их отдельно.
Установка производится через веб-интерфейс на странице Система-Программное обеспечение, либо классическим способом через терминал (telnet/SSH):
opkg update
opkg install kmod-usb-core
opkg install kmod-usb-ohci
opkg install kmod-usb-storage
opkg install kmod-usb2
Есть еще третий способ — запихать поддержку прямо в ядро прошивки, но это в большинстве случаев лишнее.
Поддержка файловых систем прошивкой OpenWRT
OpenWRT, в отличии от своего собрата DD-WRT в теории поддерживает все возможные файловые системы.
Для этого служат пакеты, например:
- kmod-fs-ext4 — поддержка файловых систем ext2, ext3 и ext4
- kmod-fs-vfat — поддержка файловой системы fat32
и еще парочка других, но менее востребованных.
Тут всё так же — либо через веб-интерфейс LuCI, либо через терминал,
либо намертво запихать в ядро. Не буду углубляться — разберетесь на
примере предыдущего пункта. всё так же.
Подготовка USB-флешки/диска
Если вы планируете использовать флешку как хранилище для файлов, то, в
принципе, Вам подойдет любая файловая система. Однако будьте осторожны,
в файловой системе Fat32 ограничение по максимальному
размеру файла составляет около 4гб. Этого не всегда достаточно. У
остальных перечисленных файловых систем это ограничение на несколько
порядков выше, что уже не создаст проблем.
Если Вы планируете использовать накопитель как место для установки
дополнительных пакетов (samba, например), то вы должны ограничиться
списком ext2, ext3, ext4. На остальные системы программы просто не установятся.
Как разметить?
Основываясь на личном опыте предлагаю Вам следующую схему. Наиболее оптимальный вариант:
Раздел 1 / тип swap / размер 128 мб — раздел подкачки.
Раздел 2 / тип ext4 / размер 1 гб — раздел для установки пакетов.
Раздел 3 / тип ext4 / размер — вся оставшаяся область на диске — раздел для прочих файлов.
Разметка USB-флешки/диска в Linux
В OpenWRT есть проблема с монтированием дисков в некоторых случаях,
когда они размечены не от имени пользователя root, по-этому используем sudo с флагом -i
Подключаем флешку/диск к компьютеру и приступаем к разметке и форматированию.
У меня флешка подключилась как /dev/sdf
Запустившись fdisk просит Вас ввести команду. Последовательность команд примерно следующая.
- o — создаем новую таблицу разделов, удалив всё что было
- n — создаем первый раздел. тип primary — p, номер раздела — по умолчанию, первый сектор — по умолчанию, последний сектор смещен на 128мб — +128M
- n — создаем второй раздел. тип primary — p, номер раздела — по умолчанию, первый сектор — по умолчанию, последний сектор смещен на 1Гб — +1G
- n — создаем третий раздел. тип primary — p, номер раздела — по умолчанию, первый сектор — по умолчанию, последний сектор — по умолчанию
- w — сохраняем изменения
Создание файловых систем на USB-флешке/диске
Сначала завершим создание раздела подкачки:
Теперь создадим файловые системы ext4 на втором и третьем разделе на флешке:
sudo -i mkfs.ext2 /dev/sdf2
sudo -i mkfs.ext4 /dev/sdf3
Ждем завершение процедуры форматирования и подключаем USB-носитель к роутеру.
Подготовка OpenWRT к работе с USB-носителями
Для монтирования USB-флешек и USB-жестких дисков в OpenWRT необходимо выполнить три условия
- Поддержка USB устройств ядром
- Поддержка файловых систем ядром
- Установлен пакет block-mount
О первых двух пунктах было сказано в начале статьи. По поводу третьего — всё просто:
opkg update
opkg install block-mount
Монтирование USB-флешек/дисков в OpenWRT
Монтировать можно через WEB-интерфейс LuCI, однако это скучно, неинтересно и, на данный момент, не дает всех возможностей.
Дело в том, что с недавнего момента логика монтирования в overlay поменялась, а LuCI до сих пор поддерживает старый стандарт.
Я Вам поведаю о монтирование через терминал.
Итак, подключаемся к устройству через SSH или Telnet и приступаем.
Настройка fstab в OpenWRT
Настройки fstab в OpenWRT хранятся в файле /etc/config/fstab и, в отличии от десктопного Linux, придерживаются стандарта uci. Однако сложного в них ничего нет.
Чтобы не создавать файл с нуля — воспользуемся утилитой block detect
block detect >> /etc/config/fstab
Посмотрим, что у нас создалось по умолчанию:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Для начала включим автомонтирование swap-раздела на USB-HDD/USB-флешке.
Для этого в блоке global присвоим опции auto_swap значение 1.
А так же в блоке swap опции enabled значение 1.
|
1 2 3 4 5 6 |
|
Далее настроим монтирование остальных разделов.
Второй раздел — в точку монтирования /overlay, для расширения памяти устройства для установки пакетов и прочих манипуляций.
Третий раздел — в точку монтирования /mnt/usb (вместо usb может быть что угодно, называйте как хотите), для хранения ваших файлов.
Для этого в файл fstab вносим следующие правки
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Сохраняем файл, но пока перезагружаться рано. Надо подготовить overlay-раздел на флешке.
Подготовка overlay-раздела на USB-диске
Итак, мы будем использовать второй раздел на нашем USB-диске/флешке.
Для этого монтируем раздел во временный каталог
mkdir /mnt/sda2
mount /dev/sda2 /mnt/sda2
Переносим содержимое каталога /overlay на подготавливаемый раздел
tar -C /overlay -cvf - . | tar -C /mnt/sda2 -xf -
И теперь можем смело перезагружаться.
Проверка результатов работы fstab
Если вы настроили всё верно, то команда df -h должна выдать примерно следующие результаты
df -h
Filesystem Size Used Available Use% Mounted on
rootfs 975.9M 1.4M 907.3M 0% /
/dev/root 5.5M 5.5M 0 100% /rom
tmpfs 14.4M 244.0K 14.2M 2% /tmp
/dev/sda2 975.9M 1.4M 907.3M 0% /overlay
overlayfs:/overlay 975.9M 1.4M 907.3M 0% /
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda3 6.2G 14.4M 5.8G 0% /mnt/usb
Список пакетов, которые следует установить дополнительно
для помощи хакерам хотящим взломать ваш роутер
облегчения настройки маршрутизатора:)
|
пакет |
утилиты |
||
|
имя |
назначение |
имя |
назначение |
| usbutils | просмотр доступных устройств usb | ||
| usbreset | сброс конкретного устройства usb | ||
| wireless-tools | iwconfig | настройка wifi | |
| iwlist | получение дополнительной информации о состоянии wifi | ||
| iwpriv | настройка параметров wifi зависящих от драйвера | ||
| iwinfo | получение информации о wifi из разных мест | ||
| kmod-nls-cp1251 | поддержка кодовой страницы windows | ||
| kmod-nls-cp866 | поддержка кодовой страницы dos | ||
| kmod-nls-koi8r | поддержка кодовой страницы кои8р | ||
| kmod-nls-utf8 | поддержка unicode | ||
| wput | передача файлов с роутера | ||
| joe | редактор с командами похожий на DOSовские | ||
| kmod-fs-msdos | поддержка fat (диски DOS) | ||
| kmod-fs-ntfs | поддержка NTFS (дисков windows NT/XP) | ||
| kmod-fs-vfat | поддержка VFAT (дисков windows 98/ME) | ||
| dosfsck | проверка разделов DOS на ошибки | dosfsck | |
| fsck.msdos | |||
| fsck.vfat | |||
| mkdosfs | форматирование раздела DOS | mkdosfs | |
| mkfs.msdos | |||
| mkfs.vfat | |||
| dosfslabel | просмотр или изменение метки раздела DOS | ||
| ntfs-3g | драйвер ntfs с возможностью записи | ntfs.probe | пробное монтирование раздела NTFS |
| ntfs-3g | монтирование ntfs раздела | ||
| ntfs-3g-utils | команды манипуляции разделами ntfs | lowntfs-3g | драйвер ntfs без поддержки альтернативных потоков |
| ntfs-3g-secaudit | вывод сведений о правах доступа и их проверка | ||
| ntfs-3g-usermap | создает карту соответствий аккаунтов windows пользователям openwrt | ||
| ntfscat | команда cat для файлов на разделе ntfs | ||
| ntfscluster | показывает имена файлов размещенных на указанном фрагменте ntfs раздела | ||
| ntfscmp | сравнение разделов ntfs | ||
| ntfsfix | проверка ntfs раздела | ||
| ntfsinfo | показывает атрибуты файлов на разделе ntfs полностью | ||
| ntfsls | показ содержимого каталога | ||
| ntfsprogs_ntfs-3g | расширенные команды ntfs, для установки совместно с ntfs-3g-utils необходимо в каталоге /usr/bin удалить файлы: ntfscmp, ntfsinfo, ntfscluster, ntfscat, ntfsls, ntfsfix. | mkfs.ntfs | создание/форматирование ntfs раздела |
| ntfscat | команда cat для файлов на разделе ntfs | ||
| ntfscluster | показывает имена файлов размещенных на указанном фрагменте ntfs раздела | ||
| ntfscmp | сравнение разделов ntfs | ||
| ntfsfix | проверка ntfs раздела | ||
| ntfsinfo | показывает атрибуты файлов на разделе ntfs полностью | ||
| ntfsls | показ содержимого каталога | ||
| mkntfs | форматирование раздела ntfs | ||
| ntfsclone | копирование раздела ntfs | ||
| ntfscp | сравнение разделов ntfs | ||
| ntfslabel | просмотр или изменение метки раздела ntfs | ||
| ntfsresize | изменение размера раздела ntfs | ||
| ntfsundelete | восстановление файлов на разделе ntfs | ||
| e2fsprogs | программы работы с разделами linux | e2fsck | проверка разделов linux |
| mke2fs | создание разделов ext2/ext3/ext4 | ||
| resize2fs | изменение размера раздела linux без потери данных | ||
| tune2fs | Изменение размера резервируемого пространства или подключение/отключение журнала на разделах linux.
Для повышения надежности, после ее установки лучше выполнить команды. uci set fstab.@mount[0].fstype=ext4 uci commit fstab sync mkdir /tmp/OnBoardOverlay mount -t jffs2 /dev/mtdblock3 /tmp/OnBoardOverlay cp /etc/config/fstab /tmp/OnBoard/etc/config sync umount /tmp/OnBoard/Overlay rmdir /tmp/OnBoardOverlay /etc/init.d/fstab restart |
||
| cfdisk | fdisk с псевдографическим интерфейсом | ||
| mc | Norton Commander для linux | ||
| htop | псевдографический просмотр запущенных процессов | ||
| diffutils | команды сравнения файлов | cmp | побайтное сравнение файлов |
| diff | построчное сравнение файлов | ||
| diff3 | построчное сравнение трех файлов | ||
| sdif | обработка результата работы команды diff | ||
| unrar | распаковка архивов rar | ||
| unzip | распаковка архивов zip | funzip | распаковка из stdin в stdout |
| unzip | распаковка, проверка и листинг архива | ||
| unzipsfx | создание sfx архива из zip файла | ||
| zipgrep | проверка содержимого архива на совпадение со строкой поиска | ||
| zipinfo | показ информации об архиве и упаковщике его создавшем | ||
| gzip | работа с архивами gz/z | gunzip | распаковка файла |
| gzip | упаковка файла | ||
| zcat | распаковка файла с выводом его содержимого на экран | ||
| bzip2 | упаковщик и распаковщик bz2 | ||
| tar | объединение нескольких файлов в один или восстановление из файла tar файлов | ||
| getopt | расширение «батников»: разбор командной строки | ||
| gawk | GNU awk | gawk | awk |
| grcat | дамп базы данных групп | ||
| igawk | awk с командой «@include» | ||
| pgawk | команда «awk —profile» | ||
| pwcat | слияние базы паролей | ||
| dialog | диалоги для shell скриптов | ||
| rename | переименование группы файлов | ||
| less | расширенное more | less | |
| ldd | показывает требуемые для запуска динамические библиотеки | ||
| iconv | преобразование кодировки текстового файла | ||
| psmisc | манипулирование содержимом /proc | pstree | просмотр дерева процессов |
| prtstat | вывод статистики процессов | ||
| killall | уничтожение процессов по имени | ||
| fuser | показ какой процесс открыл файл | ||
| memtester | проверка ОЗУ | ||
| md5deep | вычисление контрольных сумм хэшов). | hashdeep | проверка файлов и каталогов на совпадение с хэшем |
| md5deep | вычисление/сревнение md5 | ||
| sha1deep | вычисление/сравнение sha-1 | ||
| sha256deep | вычисление/сравнение sha-256 | ||
| tigerdeep | вычисление/сравнение tiger | ||
| whirlpooldeep | вычисление/сравнение whirlpool | ||
| lsof | показывает список открытых файлов (List Open Files) | ||
| screen | создание виртуальных консолей, необходимо для выполнения резидентов. Для показа как вызвать справку и номеров открытых окон, надо добавить следующие строки в файл /etc/screenrc hardstatus off |
||
| bash | стандартный командный интерпретатор linux | ||
| luci | Web морда роутора. После установки необходимо выполнить две команды: /etc/init.d/uhttpd start /etc/init.d/uhttpd enable |
||
| luci-i18n-russian | русификатор luci | ||
Для их установки создал такой скрипт#!/bin/ash
#*************************************************************
#* скрипт установки дополнительных программ и преобразования *
#* раздела /overlay с ext2 в ext4 *
#* 30 декабря 2013 года, zepete.livejournal.com *
#*************************************************************
if ! lsblk | grep -E "sd[[:lower:]][[:digit:]]+ +[[:digit:]]+:[[:digit:]]+
+1 +[[:digit:]]+[.]{0,1}[[:digit:]]*[KMG] +0 +part /overlay" > /dev/null
then
echo '***************************************************'
echo '* ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR *'
echo '* No external overlay *'
echo '***************************************************'
exit 1
fi
if ! opkg update > /dev/null
then
echo '***************************************************'
echo '* ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR *'
echo '* Error opkg update *'
echo '***************************************************'
exit 1
fi
overlay=$(df | awk '$6=="/overlay"{print $1}')
if [ -z $overlay ]
then
echo '***************************************************'
echo '* ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR *'
echo '* Can not get name overlay partition *'
echo '***************************************************'
exit 1
fi
opkg install tune2fs
tune2fs -j $overlay
tune2fs -O extents,dir_index,filetype,
flex_bg,mmp,uninit_bg $overlay
uci set fstab.@mount[0].fstype=ext4
uci set fstab.@mount[0].enabled_fsck=1
uci commit fstab
sync
mkdir /tmp/OnBoardOverlay
mount -t jffs2 /dev/mtdblock3 /tmp/OnBoardOverlay
cp /etc/config/fstab /tmp/OnBoardOverlay/etc/config
sync
umount /tmp/OnBoardOverlay
rmdir /tmp/OnBoardOverlay
opkg install usbutils usbreset wireless-tools iwinfo
opkg install kmod-nls-cp1251 kmod-nls-cp866 kmod-nls-koi8r kmod-nls-utf8
opkg install wput joe kmod-fs-msdos kmod-fs-ntfs kmod-fs-vfat
opkg install dosfsck mkdosfs dosfslabel ntfs-3g ntfsprogs
rm -f /usr/bin/ntfscmp /usr/bin/ntfsinfo /usr/bin/ntfscluster
rm -f /usr/bin/ntfscat /usr/bin/ntfsls /usr/bin/ntfsfix
opkg install e2fsprogs ntfsprogs_ntfs-3g resize2fs
opkg install cfdisk mc htop diffutils unrar
opkg install unzip gzip bzip2 tar getopt gawk dialog rename less ldd iconv psmisc memtester
opkg install md5deep lsof screen bash luci luci-i18n-russian
echo 'hardstatus off'>>/etc/screenrc
echo 'hardstatus alwayslastline'>>/etc/screenrc
echo "hardstatus string 'Ctr+a-? - help | %-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<'" >> /etc/screenrc
/etc/init.d/uhttpd enable
sync
reboot