Как работать с USB-флэш накопителями в Linux

debianeach

Опубликован:  2018-09-10T08:04:50.930245Z
Отредактирован:  2018-09-18T10:37:38.610046Z

В этом обзоре поговорим о USB-флэш накопителях и методах работы с ними в командной строке Linux. Дебианыч продемонстрирует, как в командной строке выглядит смонтированная флэшка, как её можно смонтировать самостоятельно, как этот носитель правильно отмонтировать и безопасно извлечь из разъёма. Все действия я буду выполнять в консоли и, как всегда, демонстрировать вводимые оператором команды и результат их выполнения в окне терминала.

Для этой демонстрации мне понадобятся:

  • отформатированный USB-флэш накопитель, в этом обзоре на флэши будет файловая система FAT32;
  • компьютер с установленным и настроенным Debian, или Ubuntu, или Mint, в этой демонстрации используется Debian stretch;
  • терминальная программа, я буду использовать Sakura;
  • программа df из пакета coreutils;
  • программа lsblk из пакета util-linux;
  • программа udisksctl из пакета udisks2.

Первый вопрос - что происходит, когда мы вставляем USB-флэш в разъём компьютера? На современных изкоробочных Linux решениях мы видим как правило такое окно.

bcB1OeyNqa.png

Независимо от ваших действий в этом окне, вставленный USB-накопитель автоматически монтируется в момент его присоединения. Как определить, что носитель смонтировался? Достаточно посмотреть на вывод команды df в терминале.

Lb6a59jDOz.png

На скриншоте выше последняя строчка в выводе df -h показывает, что на моей флэшке имеется раздел /dev/sdb1 размером 3.8G, на этом разделе использовано менее 1% всего размера раздела, и что этот раздел смонтирован в каталог /media/debianeach/FLASH, с которым можно работать: просматривать оглавление, копировать файлы, каталоги и так далее.

bvCSzJ3Dzd.png

На скриншоте выше я просмотрел оглавление корневого каталога смонтированного флэш накопителя, убедился, что этот каталог пуст. Затем создал в нём новый каталог Музыка и скопировал в этот каталог какие-то файлы с жесткого диска своего компьютера, а затем посмотрел состояние флэш накопителя и размер занятого скопированными файлами дискового пространства.

В некоторых случаях необходимо, чтобы USB-носитель был отмонтирован, например, если вам нужно записать на этот носитель установочный образ какого-нибудь Linux дистрибутива, или если вам нужно преобразовать разметку этого носителя. Отмонтировать флэш можно при помощи следующей команды.

udisksctl unmount --block-device /dev/sdb1

RRMxdpBhy3.png

На скриншоте выше видно, что флэш отмонтируется обычным пользователем без администраторских прав. Чтобы отмонтировать флэш, достаточно знать имя раздела, которое можно посмотреть при помощи команды lsblk. Пример на следующем скриншоте.

cNJq4slipy.png

По выхлопу lsblk видно, что диск sdb имеет раздел sdb1 и в настоящий момент точка монтирования (MOUNTPOINT) у этого раздела отсутствует - раздел отмонтирован.

Надо заметить, что автоматическое монтирование очень часто мешает и поэтому опытные пользователи Linux просто напросто эту фичу отключают на своих системах. Как найти свою флэшку, если автоматическое монтирование отключено? В этом поможет команда udisksctl status.

IqFvwTek1R.png

Ну и наконец, как смонтировать флэш? Чтобы смонтировать флэшку, достаточно знать имя раздела на ней, в моём случае это /dev/sdb1, команда lsblk это имя показывает (см. выше). Смонтировать флэшку можно при помощи такой команды.

udisksctl mount --block-device /dev/sdb1

ZTVKJXROH5.png

Опять же, действие выполняется от имени обычного пользователя и для его выполнения достаточно знать только имя монтируемого раздела, в данном случае /dev/sdb1. В выводе этой команды указывается адрес, на котором следует искать файлы и каталоги флэшки. Данная команда может принимать любые доступные для файловой системы носителя опции, дополнительную справку можно получить в man udisksctl.

Остался последний вопрос. Как безопасно извлечь флэш накопитель, когда работа с ним закончена? Для безопасного извлечения накопителя необходимо убедиться, что все файлы и каталоги записаны и ничего больше на флэшку не пишется. Затем нужно отмонтировать смонтированный раздел (или разделы, если их несколько) и снять питание с USB-порта. Команда для отмонтирования раздела уже демонстрировалась, повторю её.

udisksctl unmount --block-device /dev/sdb1

Снять питание можно так.

udisksctl power-off --block-device /dev/sdb

1mBluAaneS.png

На скриншоте выше показано последовательное выполнение этих двух действий. Когда питание с флэш накопителя снято, в выхлопе udisksctl status этого накопителя уже не будет.

61GkrOG5O1.png

Флэшку можно извлекать из разъёма.

Таким образом мы видим, что при работе с USB-флэш можно вполне обойтись командной строкой и отказаться от услуг оконных файловых менеджеров, а все необходимые действия при этом выполняются с правами обычного пользователя и не требуют какой-то особой квалификации, а ваши руки всегда остаются на клавиатуре.

Этот обзор конечно же не раскрывает все тонкости работы с USB-флэш накопителями. В ближайшее время я расскажу о том, как можно записать на USB-флэш установочный образ Linux-дистрибутива и убедиться, что запись прошла успешно. Разметку и форматирование флэш накопителей в командной строке тоже рассмотрим, но чуть позже. Оставайтесь с нами, будет интересно.

UPD: запись установочного образа Linux-дистрибутива на USB-флэш и проверка записанного носителя по контрольной сумме детально рассмотрена на странице Как записать установочный iso-образ Linux на USB-флэш.

Комментарии: