Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
ru:doc:howto:usb.storage [2015/09/05 07:02] – created krapivaru:doc:howto:usb.storage [2018/03/03 20:56] – ↷ Links adapted because of a move operation bobafetthotmail
Line 1: Line 1:
 +====== USB Хранилище ======
 +Пожалуйста, изучите [[docs:techref:flash.layout]].
  
 +Получив [[usb.essentials|базовую поддержку USB]], вы захотите подключить USB устройство хранения к вашему роутеру, флешку, например, или USB жёсткий диск. Эта статья расскажет вам необходимые для этого шаги.
 +
 +===== Подготовка =====
 +Перечень действий примерно такой:
 +  - Получите [[ru:doc:howto:usb.essentials|базовую поддержку USB]] на вашем устройстве с OpenWrt;
 +  - Установите необходимые пакеты для USB хранилища, как показано [[usb.storage#Необходимые пакеты для USB Хранилища|ниже]]). Подключенное устройство USB (например, жёсткий диск) может быть распознано системой;
 +  - Если ещё не сделано, сделайте разметку диска и создайте файловую систему (изучите инструкцию [[Storage]] чтобы сделать это с помощью OpenWrt). Само устройство и его разделы должны немедленно появиться в [[https://ru.wikipedia.org/wiki//dev|Файле устройства]] в папке ''/dev/''. Например, ''/dev/sda'' это устройство, с разделами ''/dev/sda1'', ''/dev/sda2'' и т.д. В случае, когда устройство не размечено и использует единую файловую систему, оно может быть доступно как ''/dev/sda''. Последующие устройства, которые вы подключите, будут называться ''/dev/sdb'', ''/dev/sdc'' и так далее. Убедитесь, что установлены правильные пакеты ядра для поддержки конкретной файловой системы (смотрите [[Storage]]);
 +  - После эти файловые системы могут быть подключены и к ним появится доступ, смотрите [[Storage]]. По желанию, вы можете настроить автоматическое подключение этих ФС при загрузке ''[[docs:guide-user:storage:fstab|/etc/config/fstab]]'', либо использовать как [[docs:guide-user:additional-software:extroot_configuration|корневую файловую систему через extroot]].
 +
 +===== Необходимые пакеты для USB Хранилища =====
 +Когда ваше USB устройство правильно распознано системой, используя правильный драйвер ядра из списка [[usb.essentials|базовая поддержка USB]], следующие пакеты позволят осуществить поддержку USB хранилища:
 +  ***''kmod-usb-storage''** //требуется// ... Поддержка ядром запоминающих устройств USB.
 +  ***''kmod-fs-<file_system>''** //требуется// ... файловая система вашего устройства. Зачастую это kmod-fs-ext4, kmod-fs-hfs, kmod-fs-hfsplus, kmod-fs-msdos, kmod-fs-ntfs, kmod-fs-reiserfs и kmod-fs-xfs.
 +  ***''kmod-usb-storage-extras''** //опционально// ... Поддержка ядром большего количества устройств, таких как SmartMedia считыватели кард.
 +  ***''block-mount''** //рекомендуется// & //требуется (при использовании [[docs:guide-user:storage:fstab]] или [[luci]] Точек Монтирования)// ... Скрипты для подключения и проверки устройств (файловые системы и раздел подкачки), а также горячего подключения (распознование только что подключенных устройств).
 +  ***''kmod-scsi-core''** Любое запоминающее устройство это обычное SCSI устройство.
 +
 +| {{:meta:icons:tango:48px-outdated.svg.png?nolink}} | До релиза [[about:history#timeline|Attitude Adjustment]], требовались дополнительные пакеты: ''block-hotplug'' для распознавания USB при подключении и ''block-extroot'' для [[docs:guide-user:additional-software:extroot_configuration|корневой файловой системы на внешнем носителе]]. В сборке [[https://dev.openwrt.org/changeset/26314/trunk|r26314]] они были объединены в единый **''block-mount''**. |
 +
 +
 +===== Дополнительные пакеты для USB Хранилища =====
 +  ***''e2fsprogs''** //опционально// Этот пакет содержит базовые утилиты для файловых систем ext2/ext3/ext4, такие как mkfs.ext3, mkfs.ext4, fsck и другие основные программы для форматирования и проверки на ошибки.
 +
 +===== Примеры =====
 +Выполняется установка поддержки USB хранилища, предполагается, что USB уже настроен, включим поддержку файловой системы ext4 и подключим подсоединённое устройство USB, с уже созданным разделом подкачки Linux и разделом ext4.
 +
 +<code>
 +opkg update
 +opkg install kmod-usb-storage block-mount kmod-fs-ext4
 +mkswap /dev/sda1
 +swapon /dev/sda1
 +mkdir -p /mnt/share
 +mount -t ext4 /dev/sda2 /mnt/share -o rw,sync
 +</code>
 +
 +Помните, что разделы часто определяются автоматически и следующая команда тоже должна работать с настройками по умолчанию:
 +
 +    mount /dev/sda2 /mnt/share
 +
 +Другой пример. Как использовать флешку с файловой системой FAT32 (поддержка ext4 останется). Читайте также [[Storage]].
 +<code>
 +opkg update
 +opkg install kmod-usb-storage block-mount block-hotplug kmod-fs-ext4 kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
 +mkdir -p /mnt/usb
 +mount -t vfat /dev/sda1 /mnt/usb
 +</code>
 +
 +
 +===== Запрещаем запись для не подключенных устройств =====
 +
 +Вы можете создать пустой файл, чтобы предотвратить запись файлов прямо в память роутера, если внешнее устройство не подключено:
 +<code>
 +umount /mnt/usb   #убедитесь, что диск отключен, прежде чем начать
 +touch /mnt/usb/USB_DISK_NOT_PRESENT
 +chmod 555 /mnt/usb
 +chmod 444 /mnt/usb/USB_DISK_NOT_PRESENT
 +</code>
 +Теперь процессы, которые не запущены с правами root, не будут записывать в память устройства (изучите [[https://forum.openwrt.org/viewtopic.php?id=42351|эту тему]]). И, конечно, вы можете использовать этот файл в своих собственных скриптах.
 +
 +===== LUKS =====
 +Шифрование диска Linux с помощью LUKS
 +  - Установите необходимые пакеты:
 +<code>
 +opkg install cryptsetup lvm2 kmod-crypto-aes kmod-crypto-misc kmod-crypto-xts kmod-crypto-iv kmod-crypto-cbc kmod-crypto-hash kmod-dm
 +</code>
 +  - Создайте необходимые файлы настроек: Большая часть пакетов kmod-crypto-* создают файлы в папке ''/etc/modules.d'' чтобы автоматически включать модули при загрузке. Но пакет kmod-crypto-misc содержит модуль sha256 (помимо прочих) который является исключением, следовательно мы должны вручную создать такой файл:
 +<code>
 +echo sha256_generic >/etc/modules.d/11-crypto-misc
 +</code>
 +  - Подключаем зашифрованый раздел: Замените ''/dev/encrypted_partition'' путём к вашему зашифрованому разделу и ''/mnt/mountpoit'' желаемой точкой монтирования:
 +<code>
 +cryptsetup luksOpen /dev/encrypted_partition usbstorage_luks && mount /dev/mapper/usbstorage_luks /mnt/mountpoint
 +</code>
 +  - Отключаем: 
 +<code>
 +umount /mnt/mountpoint && cryptsetup luksClose usbstorage_luks
 +</code>
 +
 +===== Примечания =====
 +<пока нет>
 +
 +----
 +{{tag>USBrelated}}
  • Last modified: 2019/08/26 16:39
  • by vgaetera