Вийняти / безпечно видалити vs umount


43

Я використовую Ubuntu 12.04, і коли rigth натискаю на піктограму моєї флешки (у лівій панелі Unity), я отримую два варіанти, які мене плутають: вийняти та безпечно видалити .
Чим ближче я прийшов до відповіді, це ця тема форуму , яка робить висновок, що (для флеш-пам’яті) вони є рівними, а також еквівалентними для використання umountкоманди. Однак це останнє твердження видається помилковим.
Якщо я використовую umountконсоль, щоб відключити своє флеш-дайвінг, а потім використовую команду lsblk, я все одно бачу свій пристрій (без нічого, під MOUNTPOINT, звичайно). З іншого боку, якщо я виймаю або безпечно виймаю свою флешку, lsblkбільше не вказує її.

Отже, моє запитання полягає у тому, що б це за команда / команди консолі, які б справді відтворювали поведінку викидання та безпечно видаляли ?


3
Можливо, ви зможете знайти .desktop файл під значком під /usr/share/applications/чимось подібним. Якщо ви відкриєте його в текстовому редакторі, поле Exec = ... відповідає команді, яка виконується при натисканні на неї.
— spelufo

Відповіді:


64

Якщо ви використовуєте, systemdто використовуйте udisksctlутиліту з power-offопцією:

відключення живлення

Упорядкування безпечного виймання та відключення живлення накопичувача. На стороні ОС це включає забезпечення того, що жоден процес не використовує накопичувач, а потім вимагає, щоб буфери та кеші в режимі польоту були спрямовані на стабільне зберігання.

Я рекомендую спочатку відключити всі файлові системи на цьому usb. Це можна зробити і за допомогою udisksctl, тому кроки будуть:

udisksctl unmount -b /dev/sda1
udisksctl power-off -b /dev/sda

Якщо ви не використовуєте, systemdто старий товар udisksповинен працювати:

udisks --unmount /dev/sda1
udisks --detach /dev/sda

О людино - я лише зараз зрозумів, що це зробити з командного рядка - не в чому різниця між однією і іншою. Я не хочу видалити свою відповідь, тому що я думаю, що вона пропонує певну перспективу, але я вважаю, що це правильна відповідь для систем Linux, я думаю (навіть не знаю, чи це питання, яке стосується bsd у будь-якому випадку ...) .
— mikeserv

4
udisksctl power-offв моєму випадку не є рівнозначним "безпечно видалити". З мікро-SD-карткою в моєму внутрішньому зчитувачі картки, пристроєм /dev/sdd, без встановлених файлових систем, коли я використовую команду udisksctl power-off -b /dev/sdd, світлодіод зчитувача вимикається, але тоді весь пристрій стає непрацездатним, я думаю, тому що він, ну, буквально повністю вимикається. Мені доведеться перезавантажити систему, щоб вона знову стала корисною.
— ack

1
Для @ack: ви можете відключити / включити (можливо, внутрішній) концентратор, де підключений зчитувач. Оскільки це концентратор, він також випаде, а потім перерахує все, включаючи відсутній пристрій. Сподіваємось, ви можете прочитати цей приклад: udisksctl power-off -b /dev/mmcblk0mmc0: карта aaaa видалена usb 3-1.8: відключення USB, номер пристрою 41 cd /sys/bus/usb/devices/usb3/3-1 echo 0 > authorized echo 1 > authorizedконцентратор 3-1: 1.0: концентратор USB знайдений usb 3-1: дозволено підключити usb 3-1.8: знайдено новий USB-пристрій , idVendor = 0bda, idProduct = 0129 mmc0: нова надшвидкісна SDR50 SDHC карта за адресою aaaa
— AB

14

umountє абсолютно безпечним для диска. Після того, як ви успішно відключили файлову систему, вам не потрібно хвилюватися. Основна відмінність між вийманням і umountзовсім не стосується диска - скоріше, це стосується вихідної потужності 5В на порту USB.

Після umountтого, як ви все ще можете побачити ваш диск, вказаний у списку, lsblkоскільки він все ще включений та приєднаний. umountфайлова система внутрішнього жорсткого диска, і ви побачите ту саму поведінку з тієї ж причини. Але коли ви виймаєте USB-пристрій, ви вимикаєте його, і він перестає витягувати 5 В, як правило - я думаю, що він зводиться до .5В, але цей клас трапився давно.

lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
NAME   FSTYPE LABEL   UUID                                 MOUNTPOINT
sdd                                                        
├─sdd1 vfat   USBESP  3AD6-C7CC                            
└─sdd2 ext4   USBROOT 5afbfe93-6955-44ec-8c4f-cf381f8ef174 

Ось його шлях до usb bus ...

cat /sys/bus/usb/devices/5-3/manufacturer 
SanDisk

Незважаючи на те, що я майже ніколи не монтую його, він підключається і блимає давно, я думаю ...

cat /sys/bus/usb/devices/5-3/power/{level,connected_duration}
on
1777877440

Я повинен зробити щось з цього приводу:

echo 1 | sudo tee /sys/bus/usb/devices/5-3/remove                                      

Тепер я ще раз погляну на це ...

cat /sys/bus/usb/devices/5-3/power/level                            
cat: /sys/bus/usb/devices/5-3/power/level: No such file or directory

Гммм ...

lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
lsblk: /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0: not a block device

1
Дякую. Після того, як umountзовнішній жорсткий диск, можна безпечно видалити зовнішній жорсткий диск від комп'ютера?
— Тім

1
Я не думаю, що umountце еквівалентно "безпечно видалити", і жоден з них udisksctl power-off, будь ласка, дивіться мій коментар до іншої відповіді. Порівняйте, наприклад, поведінку в Windows. Я здогадуюсь, що Windows робить трохи більше, ніж просто «відключає» файлові системи на пристрої. Я спостерігав, як він вивертає зовнішні жорсткі диски, вимикаючи світлодіоди на зчитувачах карт ( не надаючи згодом пристрій непридатним для використання, якщо не підключено або перезавантажено систему) тощо.
— ack

2
@ack - що стосується Windows? і чому ти здогадуєшся? і вам не доведеться перезавантажувати його, щоб знову стати в нагоді. ти umountце. то ви вимкнете це. і я ніколи нічого не пропонував щодо udiskctlтого чи іншого шляху.
— mikeserv

1
@mikeserv "Безпечне видалення обладнання" - це вираз, який використовується в Windows. Цілком ймовірно, що інші системи скопіювали цю фразу через ознайомлення користувачів. Важливо відрізнити її від простої демонстрації файлової системи. Приклад, коли це має велике значення, - це коли ОС не впевнена в кешуванні запису пристрою зберігання. Я особисто зазнав досить значної втрати даних (пошкоджений суперблок та файли) після простого відключення та відключення зовнішнього жорсткого диска. Пізніше я дізнався, що Linux попередив про це: "Сторінку режиму кешування не знайдено", "Припустимо кеш диска: записувати через".
— ак

1
@ack - ні, це не важливо. ваша проблема, ймовірно, ваш acpi. це не має нічого спільного з операційною системою - лише те, що ваш виробник плати написав драйвери лише для одного ОС. ці маленькі пристрої з багатьма картками потребують досить низького доступу до цілі картки - вони повинні мати змогу робити такі речі, як очна фантастика. вони не блокують пристрої - вони персонажні пристрої. вони зовсім не схожі на диски usb. дошка-rom повинна обробляти їх окремо, і якщо ваш постачальник погано підтримує це (що не є незвичайним - спробуйте завантажуватися з одного), вам не пощастило. але це не проблема Linux.
— mikeserv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.