Перейти к содержимому

Как подключить флеш к linux

  • автор:

Зайти на флешку в linux

Все привет. Нужно зайти на флешку в терминале путь:/dev/ttyUSB0 Подскажите, пожалуйста, как это можно сделать?

Отслеживать
задан 4 авг 2018 в 8:30
635 1 1 золотой знак 10 10 серебряных знаков 28 28 бронзовых знаков
Судя по названию — это usb-модем, либо какой-нибудь преобразователь usb-com. но никак не «флешка»
4 авг 2018 в 9:34

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

/dev/ttyUSB0 — это как бы более низкий уровень доступа к флешке. Устройство для флешки скорее всего будет выглядеть немного по другому. Самый простой способ найти — это вставить флешку и сразу в терминале запустит команду dmesg. Там в конце должно быть что то вида

new high-speed USB device number 7 using xhci_hcd 

это значит, что как минимум само устройство было распознано на низком уровне.

Чуть ниже будет где то такое

New USB device found, idVendor=1111, idProduct=1234, bcdDevice= 1.00 

и смотрим ещё ниже по тексту и там должно быть такое

[sde] 121438208 512-byte logical blocks: (62.2 GB/57.9 GiB) 

это значит, что флешка (диск) найдены, размер виден и известно имя — sde (у Вас, естественно, может быть другое). Но только sde — это название всей флешки, а конкретный раздел на флешке будет называться sde1 (или другие числа в конце, в зависимости от разбивки диска).

Проверяем наличие (флешка вставлена)

ls /dev/sde* 

(вместо буквы e Вам нужно будет подставить свою. Если линукс совсем-совсем древний, то там будет /dev/hda* или подобное).

Ок, теперь имя уже известно. Можно пробовать монтировать. Для начала нужно создать для него каталог, можно даже в домашнем каталоге. Пусть это будет /home/Alexandr/usbstick Теперь монтируем

mkdir /home/Alexandr/usbstick sudo mount -t vfat /dev/sde1 /home/Alexandr/usbstick 

тут есть важный параметр — -t vfat — большинство флешек в fat, но бывают и в ntfs. (тогда нужно -t ntfs-3g )

В целом, очень странно, что флешка не подмонтировалась сама. Скорее всего она либо сломана, либо она на ntfs, а в системе не установлено под нее поддержка. Последние 10-20 строк с dmesg в момент вставки флешки могут прояснить ситуацию.

Файловая система для флешки Linux или как отформатировать USB flash накопитель

В большинстве случаев нам подойдёт файловая система для флешки Linux VFAT расширенный (видит более 2 Гб) вариант разметки FAT32.
Она часто может требоваться для разных других устройств, в том числе для перепрошивки БИОС-а..

Если не планируется использование в Windows, то можно в ext4 создавать, я бы ещё рекомендовал выставить права на флешку в этом случае 777, под разными пользователями может конфликтовать из-за прав на запись..

В меню есть инструмент для форматирования флешек

  • KDE: Система → Форматировать USB-накопитель
  • Cinnamon: Стандартные → Форматирование USB-флеш-накопителя

В разных сборках может не быть, в Linux Mint есть. Тоже можно сделать при помощи: Редактора разделов, Gparted итп..

USB флешки

Узнаём всё про флешку из консоли

Под рукой всегда есть консоль (терминал), с её помощью можно сделать всё то же.

# Программное обеспечение (есть в системе обычно) sudo apt install -y dosfstools  

Втыкаем флешку, вводим команду для вывода списка подключаемых устройств:

dmesg | tail

Скопировать

Там увидим название, ещё ниже размер и дальше будут куча надписей назначенного флешке имени, например, sdc в последней строчке:

[sdc] Attached SCSI removable disk

Если подобного нет, попробуйте открыть диск в менеджере файлов, он подцепится.. Предложение открыть всплывает справа при вставке накопителя..

Если в выводе куча ошибок/предупреждений — можно найти диски командами:

# Если нет lsblk sudo apt install -y util-linux  lsblk -I 8 -o TYPE,NAME,SIZE,MODEL,SERIAL,MOUNTPOINT  # или sudo fdisk -l  

Последний скорее всего наша флешка.
Будьте внимательны, не отформатируйте жёсткий диск : ) Введём чтоб убедиться, что это флешка по размеру..

df -h /dev/sdc1

Скопировать

Сами понимаете dmesg | tail удобнее — сразу показывает подключённые носители и показывает название размер итд, точно не ошибёшься..

Форматируем flash накопитель в консоли Линукс

dmesg | tail  umount /dev/sdc1  sudo mkfs.vfat -I -n 'MYFLASHNAME' /dev/sdc1  # mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows Метка (название) должна быть в верхнем регистре, чтоб везде корректно отображалось.. # Если хотим другие форматы sudo mkfs.fat -F32 /dev/sdc1  sudo mkfs.ntfs -F -L 'ntfsname' /dev/sdc1  sudo mkfs.ext4 -F -L 'ext4name' /dev/sdc1  

Если выбрали ext4, то разрешим читать и записывать всем подряд, чтоб не было проблем из-за прав на других компьютерах.. Перевоткните флешку, чтоб система её перечитала:

df -h /dev/sdc1  sudo chmod -R 777 /media/$USER/ext4name  

-R — рекурсивно, т.е. пройти все файлы и директории..
$USER — подставит текущего пользователя чтоб не вводить руками..

Изменить метку можно так

dmesg | tail  sudo e2label /dev/sdc1 'newlabel'  

Следом перевоткните флешку.

Разъяснения:

mkfs — комада для форматирования.
vfat, fat, ext4, ntfs — файловая система (их больше).
vfat -I — разрешает создавать файловую систему на всем устройстве (связано с настройками по умолчанию).
-F — (force — принудительно) можно не отмонтировать устройство, но сама операция может растянутся надолго..
-n, -L — volume-name — имя (метка) для файловой системы. По умолчанию не создается и устройство может отображаться в виде длинного хеша. При наличии метки в качестве имени будет использоваться не хеш, а заданное название..
‘myflashname’ — имя (метка) нашей флешки.
/dev/sdc1 — путь к флешке (тому устройства).

Подробно можно почитать введя команду man mkfs.vfat (выход q)

Как записать образ на флешку Linux

В большинстве случаев, записать образ на флешку Linux можно при помощи графических утилит присутствующих по умолчанию:

  • KDE: Система → Запись образа на USB-накопитель (Startup Disk Creator)
  • Cinnamon: Стандартные → Запись образа на USB-накопитель

В некоторых случаях (было такое — бился образ Виндовса при записи) могут помочь: UNetbootin, Etcher (balenaEtcher, ранее etcher-electron. Он так же справляется с проблемными образами Windows10) их может не быть в репозитории, поэтому скачиваем через браузер, распаковываем (не забудьте выставить в свойствах галочку в правах — является исполняемым) или устанавливаем, дальше остаётся просто указать iso образ и загрузочная флешка готова. (Понадобится, например, если необходимо установить новый Linux итп.)

Скачиваем BalenaEtcher для записи iso образа Линукса на флеш накопитель (флешку).

Записываем образ на флешку . Запускаем balenaEtcher-1.18.4-x64.AppImage (предварительно правой клавишей свойства и галочку поставить — является вы/ис/полняемым), указываем iso образ, затем устройство на которое записывать наша флешка /dev/sdc или /dev/sdd, по размеру смотрите если не понимаете, или прочитайте про файловую систему Линукс программа по идее оставит в списке только флешки, без дисков системы.

# Последний раз глючила программа, не пользуюсь.. sudo add-apt-repository -y ppa:gezakovacs/ppa  sudo apt install -y unetbootin  

Можно и через консоль Linux записать образ

dmesg | tail  sudo umount /dev/sdc1  sudo dd if=my.iso of=/dev/sdc  

Меню раздела «Переходим на Линукс»

Страница сгенерирована за 0.001934 сек.
На один процесс веб-сервера: 517 стр./сек.
Всего Apache может отдать: 132 352 стр./сек.
Выделено PHP памяти: 439.34 KB
(real_usage: 2 MB)

Браузер построил за сек.
Полное время сек.

С момента выгрузки предыдущей страницы
из памяти браузера: сек.

Установка и использование Ubuntu на USB флешке

Довольно часто возникает желание или необходимость поставить Ubuntu на USB флешку и получить возможность пользоваться своей любимой ОС на любом компьютере (лишь бы была возможность загрузиться с USB).
Делается это просто — грузимся с LiveCD Ubuntu (или с LiveUSB 1) ) и ставим систему на флешку. При этом нам не важно какая ос установлена на компьютере. Всё что нужно это сам компьютер, LiveCD/USB и отдельная флешка, на которую и будем ставить систему.

Более подробно процесс установки Ubuntu на флеш-накопитель описан тут.

Как вариант — можно в качестве компьютера использовать эмулятор: VirtualBox или VmWare, (только в них бывает сложно подключить USB для установки Ubuntu). При установке через эмулятор не нужен отдельный носитель с Live системой — образ LiveCD просто подключается в виртуальный привод CD-ROM.

И часто подход к этому вопросу, что называется, «в-лоб» разочаровывает низкой производительностью и тем, что флешка быстро умирает.

Многие смогут возразить, что имея такую флешку с установленной ОС они ей пользуются много месяцев или даже лет. Если уточнить, то выясняется, что пользуются то ей долго, а вот грузятся с нее редко и работают не подолгу. Если же работать с такой флешки ежедневно, по много часов, то «смерть» флешки не заставит себя долго ждать: 2-3 месяца, может больше, может меньше, зависит от флешки (из личного опыта создателя начальной версии этой статьи Sly_tom_cat).

Кроме того и сам процесс установки порой приводит к неприятным последствиям.

Но не надо отчаиваться и опускать руки…. Даже из не очень хорошего сырья можно сделать…, если не конфетку, то, по крайней мере, что-то съедобное!
Разберемся в причинах печального исхода и возможных методов улучшения ситуации.

Основные ошибки при установке Ubuntu на USB флешку и как с ними бороться

По умолчанию установщик Ubuntu предлагает журналируемую файловую систему EXT4 для создаваемых разделов данных.
Кроме того, загрузчик (GRUB) по умолчанию ставится на первый диск в системе, как правило, — это встроенный HDD компьютера.
Установщик Ubuntu, довольно настойчиво, просит создать раздел подкачки (если вы его не создаете, то получите сообщение и должны будете подтвердить свое желание установить систему без swap-раздела).
Приняв эти умолчания, мы сразу создаем две проблемы.

На флешке создаются разделы с файловой системой, которая при работе будет осуществлять большое количество записей на флешку (чем сократит ее время жизни). Это касается и разделов EXT4 и swap-раздела.

Загрузчик установится так, что без флешки ваш компьютер не сможет загрузится.

Разберем подробнее эти две проблемы

Как продлить жизнь флешке

Флеш-память отличается от жестких дисков тем, что количество циклов записи обычно ограничено числами 10 и 100 тысяч записей (для разных типов флеш-памяти).

Для жестких дисков такой параметр (число циклов записи) вообще почти никогда не указывается — там быстрее происходит механический износ элементов диска. А магнитный слой на поверхности диска может перезаписываться почти бесконечно.

Схемы памяти с выдерживающие до 10 тысяч записей стоят гораздо дешевле схем выдерживающих 100 тысяч… как вы думаете — какими схемами комплектуются недорогие флешки, нашедшие широкое распространение?
Но и высокая цена флешки тоже не говорит о повышенной жевучести — тут ключевое слово — тип памяти — MLC (Multi-level cell, многоуровневые ячейки памяти) выдерживает порядка 10 тысяч записей; SLC (Single-level cell, одноуровневые ячейки памяти) — более 100 тысяч. Более дорогие флешки действительно живут дольше, но достигается это другими средствами (о них — чуть позже)

Кажется что 10/100 тысяч — это много, но разберемся как эти циклы записи «съедаются» при работе ОС.

Запись на флеш-носитель происходит по-блочно (как правило — десятки килобайт), и запись последовательно двух байт в файл с интервалом между записями в несколько минут вызовет две записи одного и того же блока памяти (т.е. обновятся два раза несколько тысяч ячеек).

При работе файловой системы (ФС) некоторые служебные структуры ФС обновляются постоянно:

журнал (для журналируемых ФС) — чем чаще он пишется, тем выше вероятность сохранения целостности ФС при сбоях системы или питания. Частота записи в журнал, как правило изменяема, но значения по умолчанию не совсем подходят для работы с флеш-памятью, а увеличение периодов между записью — приводит к увеличению вероятности потери целостности ФС при сбое.

i-node (специальная структура в которой сохраняется заголовок файла или каталога) — при каждом обращении (даже чтение) к файлу или каталогу в i-node прописывается дата/время последнего обращения. Казалось бы — всего несколько байт, но вспомним про блочную запись, и том, что запись их идет при каждом обращении к файлу (прочитали байт — изменились, еще байт — опять изменилось).

Временные файлы и логи — так же часто обновляются.
SWAP-раздел — если он используется в работе системы, то запись в него тоже очень интенсивная.

Кроме того, нужно не забывать, что лимит циклов записи действует на каждую ячейку памяти. И если на флешке в один и тот же блок сделать 10 тысяч записей, а в другие сделать по 100 записей, то блок, куда было записано 10 тысяч раз, на записи 10тысяч + сколько-то «умрет», а контроллер флешки, обнаружив 1 битый блок, может заявить, что умерла вся флешка. А даже если он этого не сделает, то этот блок будет содержать важную для работы системы или ФС информацию 2) , и результат будет практически тем же — внезапная остановка системы и невозможность прочитать данные с флешки. (!)

Как бороться со всем этим?
Для начала поймем и примем как данность:

Флешки не вечны и умирают не предупреждая !

Осознав это поймем, что и

Система на флешке — не может быть долговечной и надежной.

А поняв и приняв это, задумаемся: а нужна ли для такой системы надежность журналируемой ФС (такой дорогой ценой как сокращение времени жизни флешки и системы на ней)?
Однозначно — нет.
Итак, нам потребуется EXT4 с отключенным журналом 3) . Если разбираться с отключением журнал в EXT3/4 не хотите — просто воспользуйтесь EXT2.

Есть и другие ФС, и настройки, которые могут продлить жизнь флешке. Эти решения могут дать большие преимущества. Если есть желание — то поищите другие варианты. Особо обращает на себя внимание опция ssd файловой системы btrfs (!?)…

Избавиться от записи даты/времени последнего доступа к файлам и директориям в i-node помогают опции монтирования файловых систем noatime. Её, после установки системы, нужно будет прописать в файле /etc/fstab для всех разделов системы, которые расположены на флешке.

Вообще, эти опции не только количество записей на флешке сокращают, но и на жестком диске скорость работы ФС увеличивают.

Временные файлы и swap.
Современные компьютеры редко страдают недостатком оперативной памяти (перелом в этом отношении случился в компьютерной индустрии после значительного удешевления схем памяти). И уже при 1ГБ оперативной памяти Linux довольно редко обращается к swap, если не запускать ресурсоёмкие задачи (например кодирование высококачественного видео или редактирование огромных изображений). Если памяти 2ГБ или больше, то заставить Linux использовать swap вообще довольно сложно.
Полное отсутствие swap грозит неадекватным поведением системы при исчерпании ресурсов оперативной памяти, но вспомним, что мы с вами осознали — система на USB флешке не может быть надежной по определению. Вывод напрашивается сам собой — swap для системы на флешке — не нужен. А на компьютерах с малым объемом памяти нужно быть осторожным и стараться не запускать много приложений одновременно. Можно так же настроить ramzswap (он же — compcache): своп в оперативную память с упаковкой свопируемых станиц.
Ресурсы оперативной памяти помогут и со временными файлами — достаточно смонтировать временный каталог системы /tmp в диск организованный в памяти. Для этого нам пригодится замечательная файловая система tmpfs (даже название говорит, что она хорошо подходит для /tmp).

В /etc/fstab нужно прописать строчку:

tmpfs /tmp tmpfs rw,size=32m 0 0

В примере максимальный размер /tmp задан как 32 Мегабайта. Размер можно задать другой, но если ограничения не задать, то «сдуревшее» приложение, которое будет писать бесконечно во временный файл, может подвесить вашу систему.
Размер /tmp важно выбрать правильно т.к. в нем будут хранится самые разные вещи. Например видео с Youtube вы не сможете посмотреть до конца если файл с видео не влезет полностью в ваш /tmp.

Точно также стоит поступить и с /run (ранее известный как /var/run) и /var/lock (в этих каталогах хранится служебная информация актуальная только на время текущей сессии, объем — малюсенький, а вот обновления довольно регулярны). На них лимит размера можно не задавать. Можно пойти дальше и разместить в памяти и логи (/var/log), однако без логов на устройстве постоянного хранения данных (в нашем случае — на флешке) будет крайне трудно разобраться со сбоем системы, вызывающем перезагрузку (после перезагрузки — все что было в памяти — потеряется и логи будут «пустые» — только то, что туда запишется с момента загрузки системы). Лимит size для /var/log стоит задавать порядка 6-10Мб (для типичного десктоп варианта).
Общий вид файла /etc/fstab будет примерно таким:

# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # #      proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/sda2 during installation UUID=57f10d10-de95-4d09-8e18-aaf1c42c3f36 / ext4 errors=remount-ro,noatime,nodiratime 0 1 # /home was on /dev/sda3 during installation UUID=7ecf4c7b-3474-4850-9da5-6e519e415937 /home ext4 noatime,nodiratime 0 2 tmpfs /tmp tmpfs rw,size=100m 0 0 tmpfs /run tmpfs rw 0 0 tmpfs /var/lock tmpfs rw 0 0 tmpfs /var/log tmpfs rw,size=10m 0 0

В примере на флешке создан корень и отдельный /home 4) . Если есть еще какие-то разделы с флешки — то им тоже прописываем noatime,nodiratime.

Скорость записи на флешку — тоже «больное место» нашей системы, и сокращая число циклов записи на флеш мы не только продлим время ее жизни, но и скорость работы ОС улучшим.

Как правильно ставить GRUB

А тут все просто — загрузчик (GRUB) надо ставить на флешку. Если вы оставите предложенную установщиком установку (на первый жесткий диск в системе) то в MBR жесткого диска пропишется часть кода GRUB, который станет искать остальную часть своего кода на разделе, куда будет записан /boot при установке системы (т.е. на флешке). Вытащив флешку из компьютера вы не дадите коду GRUB-а на жестком диске найти свое продолжение. И компьютер не сможет загрузить ОС. Восстановить работу GRUB — просто. Если же надо восстанавливать загрузчик Windows, то стоит поискать информацию по восстановлению загрузчика на любом профильном форуме. Но лучше быть внимательным при установке, и не создавать себе лишнюю работу.

Подведем итоги

Если мы хотим пользоваться системой на флешке долго, и не получить разочарования от потери данных, то нужно делать так:

при установке Ubuntu на флешку:
тип ФС для разделов системы выбираем EXT4 с отключенным журналом (или, на худой конец, — EXT2).

swap не создаем (а если на компьютере есть раздел swap — то говорим инсталятору — не использовать его).

GRUB устанавливаем обязательно на флешку, где и создаем разделы для установки системы.
прописываем в /etc/fstab опцию noatime для всех разделов размещенных на флешке.

прописываем в /etc/fstab монтирование /tmp, /run, /var/lock (и, возможно, /var/log) в tmpfs (не забываем про ограничения размеров).

При использовании системы нужно регулярно делать резервную копию важных данных на другой носитель 5) (не забываем про невысокую надежность ОС на флешке и возможную внезапную кончину флеш-памяти).

А при использовании на компьютере с небольшим объемом оперативной памяти (1Гб и менее) стараемся не запускать по много ресурсоёмких задач одновременно или изучаем и настраиваем ramzswap.

Кроме указанного, можно применить и другие приемы оптимизации производительности системы (эти приемы выходят за рамки данной статьи, но их легко найти в Internet-е).

А главное — никогда не забываем про вывод, к которому мы пришли в начале этой статьи. Повторю:

ОС, установленная на флешку не может быть такой же надежной и долговечной как установленная на жесткий диск.

«Подводные камни»

Есть одна досадная ошибка инсталлятора (можно сказать особенность 6) ), которая не позволяет установить Ubuntu на тот же физический диск с которого загрузился Live образ 7) . Т.е. если вы захотите загрузившись с флешки на нее же и поставить Ubunut (в другой раздел) — то вам это не удастся. Обойти эту «особенность» можно удалив «руками» запись о примонтированном разделе с флешки из /etc/mtab.

Альтернативы

Внешний жесткий диск не страдает малым числом циклов записи, однако, операционная система, работая с диском по довольно медленному интерфейсу (обычно — USB2. USB3 и e-SATA интерфейсы — значительно быстрее, но на момент написания статьи — еще не сильно распространены), также требует оптимизации. Тут пригодятся и noatime, а тоже стоит подумать — а нужен ли swap, да и /tmp полезно также разместить в памяти. А вот логи размещать в памяти — не стоит. Ну, а кроме того, внешний диск — это совсем другой размер и вес (!), да и падения для этих устройств — крайне опасны.

Внешний SSD диск — довольно дорогое решение. Тоже не маленький, хотя и легче внешнего жесткого диска и падений — почти не боится (как и флешка). И там тоже есть ограничение по числу циклов записи 8) , но контроллеры твердотельных дисков используют специальные алгоритмы переразмещения записываемых блоков с учетом знаний о том, сколько записей было сделано в каждый блок памяти. Эти алгоритмы значительно продлевают время жизни такого носителя информации.

Упрощенные алгоритмы переразмещения блоков используются и в некоторых (как правило — не самых дешёвых) флешках. Для их работы требуется как избыточное количество ячеек памяти, так и более быстрый и «умный» контроллер. Собственно «особый» контроллер и доп. (не доступная пользователю) память и повышают стоимость флешки… хотя, конечно основное повышение цены делают маркетологи, как обычно (!)

Можно пойти и другим путем — сменить дистрибутив. Есть дистрибутивы специально «заточенные» на работу с флешки (не берусь тут перечислять их все — их легко найти). Ярким представителем таких дистрибутивов является Puppy Linux (русифицированные сборки — PuppyRus Linux). Дистрибутив этот собран минималистично 9) и с использованием самых скромных (по размерам) программ. Это позволяет в процессе загрузки разместить всю файловую систему Linux в оперативной памяти 10) . А в процессе выключения системы все изменения в ФС (произведенные за время работы) записываются однократно обратно на флешку 11) . Изменения можно скинуть и в процессе работы, если есть опасения например в возможном внезапном отключении питания, ну или просто — что бы быть спокойным, что не потеряется ничего. А самое привлекательное для любителей Ubuntu в том, что есть сборки Puppy основанные на Ubuntu. Сайт проекта PuppyRus содержит много полезной информации и инструкций.

А в чем отличие от LiveUSB

Собственно LiveUSB, созданная с файлом сохранения, по сути своей мало отличается от Ubuntu установленной на флешке. Вместе с тем, есть и ряд принципиальных различий.

Коротенько, как устроена и работает LiveUSB:
При создании LiveUSB в файловую систему флешки (FAT) копируется содержимое CD (или DVD), на флешку устанавливается простенький загрузчик syslinux, и в корне флешки создается специальный файл сохранения (внутри которого создается файловая система EXT2) — casper.rw
Когда такая флешка загружается, то корень файловой системы монтируется «хитрым» способом: сначала как корень монтируется специальный файл с упакованной, доступной только для чтения файловой системой (SquashFS), а затем «поверх» него монтируется casper.rw в режиме запись/чтение. Получается, что все необходимые для работы системы файлы лежат в SquashFS, а новые и обновленные файлы — в casper.rw. При запросе к файлу сначала проверяется нет ли его в casper.rw, а потом он ищется в SquashFS, таким образом даже системные файл можно обновить и работать с новыми версиями.
Каталоги /tmp, /run, /var/lock на LiveUSB тоже монтируются в память (tmpfs)

Что же мы получаем применительно к интересующим нас аспектам: Запись на флешку идет примерно в таком же объеме и его не получится сократить (добавив noatime в опции монтирования в /etc/fstab) т.к. монтирование корня происходит на этапе инициализации ядра системы и в /etc/fstab Live системы просто нет монтирования корня.
Производительность по записи (собственно это больное место мы особо и не рассматривали при разговоре об Ubuntu установленной на флешку) здесь будет еще похуже, запись идет в ФС EXT2, а она лежит в фале на ФС FAT.
Дополнительно, флешка всегда хранит один и тот же набор системных файлов в SquashFS и любые обновления системы будут занимать место в casper.rw, но не будут освобождать место в SquashFS и это может стать проблемой при небольшом объеме флешки.

В «сухом остатке»- у LiveUSB нет особых преимуществ 12) перед правильно установленной на флешку системой, а недостатки — присутствуют.

Использование флешек в linux

Статья о некоторых особенностях использования флешек в linux.

Выбор файловой системы для флешки

При выборе файловой системы для флешки следует учитывать её последующее предназначение.

  • флешка как «переносной портфель»
  • флешка как «защищённый сейф»
  • флешка как «средство восстановления»

флешка как переносной портфель

Использование флешки в качестве переносного портфеля предполагает регулярную запись файлов на неё для переноса на другой компьютер. При выборе файловой системы в этом случае следует учитывать предполагаемый максимальный размер размещаемого файла, необходимость использования флешки в разных операционных средах, а также требование увеличения её срока службы.
Для повышения ресурса использования флешки оправданным выглядит установка на неё НЕжурналируемой файловой системы, например FAT32 или EXT2.

Достоинства и недоставки использования файловой системы FAT32 на флешке

  • достоинства FAT32 для флешки
    • отсутствие журнала файловой системы, что продлевает срок службы флешки
    • высокая скорость записи/чтения
    • кросплатформенность, что даёт возможность использования флешки как в Windows, так и в Linux
    • возможность записи большого файла одним фрагментом, что например важно при подключении iso-образа в загрузчике Grub4dos
    • разгрузка параметров монтирования флешки от настройки групп безопасности для одновременного доступа к ней разных пользователей
    • ограничение файловой системы FAT32 для максимального размера размещаемого на флешке файла составляет 4Гб
    • ограничение логического размера самой флешки (например 129 Гб), но на текущий момент для флешек такие размеры пока недостижимы

    Достоинства и недоставки использования файловой системы EXT2 на флешке

    Замечание При использовании на флешке журналируемой файловой системы EXT3, параметры её монтирования могут быть изменены, так чтобы симулировать EXT2 например через файл конфигурации /etc/fstab /dev/sda / ext2 noatime,nodiratime 0 0 где noatime,nodiratime означает отказ от записи времени доступа к файлам и каталогам и уменьшает число дисковых операций и удлиняет срок службы флешки
    • достоинства EXT2 для флешки
      • отсутствие журнала файловой системы, что продлевает срок службы флешки
      • высокая скорость записи/чтения
      • возможность записи файла неограниченного (2 TB) размера
      • невозможность записи большого файла одним фрагментом
      • отсутствие (штатной) поддержки файловой системы в windows
      • wikipedia.org: FAT32
      • wikipedia.org: EXT2
      • Ограничения файловой системы FAT32
      • XBMC. Минимальная установка на openSUSE
      • ext2,ext4,fat32 на флешке и фрагментация

      флешка как защищённый сейф

      флешка как средство восстановления

      Монтирование флешки в linux

      Подключение флешки в Linux выглядит одновременно простым и сложным. Простота заключается в множестве удобных способов её монтирования. Сложность возникает при использовании на флешках *nix — файловых систем, что делает их персональными с ограничениями согласно правилам безопасности, а также в связи с необходимостью выбора удобной системы автоматического монтирования.

      Для простейшего монтирования флешки вручную могут быть использованы команды mount, например

      # mount -t auto /dev/sdb1 /mnt/ - подключение по символьному псевдониму устройства # mount -U E0E3-E1C7 /mnt/ - подключение по UUID устройства # mount -o uid=1000,gid=1000 -L PHONE /mnt/ - подключение по метке устройства

      Для автоматического монтирования флешки могут быть использованы пакеты usbmount и autofs.

      При установке утилиты usbmount, флешка монтируется автоматически в точку установленную файлом конфигурации после установки её в USB-порт.

      Внимание! При использовании на флешке в качестве файловой системы ext3/ext4, доступ к ней с помощью usbmount в некоторых случаях приводил к ошибкам подключения и требует правильной настройки прав доступа.

      Подключение флешек с помощью программы autofs идентично подключению жёстких дисков.
      Например для автоматического подключения только «правильных» флешек с помощью autofs

      • в файл /etc/auto.misc добавляется строка
      Silicon -fstype=auto,allow_other :UUID="9819-E8C2" где строка UUID="9819-E8C2" означет монтирование флешки по её UUID
      UUID флешки может быть получен с помощью утилиты blkid $ /sbin/blkid . /dev/sde1: LABEL="SILICON" UUID="9819-E8C2" TYPE="vfat"
      • в файл /etc/auto.master добавляется строка
      /media/misc /etc/auto.misc --timeout=60
      • и осуществляется перезапуск autofs
      # /etc/init.d/autofs restart
      • для получения доступа к флешке может быть использована команда
      # ls /media/misc/Silicon

      Монтирование удалённой флешки

      Удалённой флешкой в настоящей статье называется флешка, подключённая к удалённой рабочей станции локальной сети. Монтирование такой флешки для использования будет интересно например для пользователей сервера терминалов Linux.
      Для получения доступа к удалённой флешке могут быть использована возможность «переноса» её из сети на локальную станцию с помощью пакета Usbip, а также механизмы управления удалённой рабочей станцией заложенные в протоколах samba и ssh.

      Для подключения удалённой флешки в Linux с помощью протокола samba

      • на рабочей станции, к которой физически подключается флешка
        • устанавливается и настраивается сервер samba
        • в файл конфигурации /etc/samba/smb.conf добавляется секция вида
        [FLASH] comment = media usb flash path = /mnt valid users = user, @user preexec = sudo /bin/mount -o uid=1000,gid=1000 -U /mnt postexec = sudo /bin/umount -l /mnt
        где uid=1000,gid=1000 это uid/gid существующего в системе пользователя user это UUID устройства preexec это предварительно выполняемая в системе команда при подключении удалённого пользователя, которая и предоставляет доступ к установленной флешке
          • добавляется пользователь samba, от имени которого будет осуществляться подключение
          # smbpasswd -a user
            • применяются новые параметры samba
            # /etc/init.d/samba restart
              • устанавливается и настраивается система sudo
              • в файл конфигурации /etc/sudoers добавляется секция вида
              Cmnd_Alias MOUNT = /bin/mount,/bin/umount Host_Alias LOCALHOST = , 127.0.0.1 user LOCALHOST = NOPASSWD: MOUNT
                • применяются новые параметры sudo
                # /etc/init.d/sudo restart
                • на рабочей станции, на которой осуществляется монтирование флешки
                  • устанавливается и настраивается система sudo
                  • в файл конфигурации /etc/sudoers добавляется секция вида
                  Cmnd_Alias MOUNT = /bin/mount,/bin/umount Host_Alias LOCALHOST = , 127.0.0.1 user LOCALHOST = NOPASSWD: MOUNT
                    • применяются новые параметры sudo
                    # /etc/init.d/sudo restart
                      • для подключения флешки
                      - носитель устанавливается в USB-слот выполняется команда на выбор # sudo mount -t cifs -o username=user,password=xxx,file_mode=0666,dir_mode=0666,uid=1000,gid=1000,noperm //host/FLASH /mnt/ # sudo mount -t cifs -o credentials=/etc/smb.auth,uid=1000,gid=1000 //host/FLASH /mnt/
                      где uid=1000,gid=1000 это uid/gid существующего в системе пользователя user noperm - разрешение работы с флешкой и другим пользователям операционной системы

                      Литература

                      Справочная информация

                      • 21.02.2013: Использование флешек в linux: создание статьи об использование флешек в linux
                      • 06.10.2016: Использование флешек в linux: добавлен раздел о Монтировании удалённой флешки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *