Вимкнення зовнішнього жорсткого диска, флешки тощо, використовуючи командний рядок в Linux


8

Я завжди думав, що безпечно видалити встановлений пристрій - це використовувати umountкоманду, і до недавнього часу, коли я перейшов на Ubuntu 12.04 LTS, я помітив, що є можливість безпечно видалити пристрій, який викликав мою цікавість.

Я перекопав декілька постів і виявив, що, umountмабуть, не означає, що я можу безпечно видалити пристрій, оскільки він не вимикає пристрій. Я знаю, що є варіант eject. Тепер це моє розуміння після того, як вичистив Інтернет. Список літератури включає:

Потім я натрапив на статтю, але виявив процес перекрученим, і я думаю, що я нарешті потрапив у бруд оплати, коли натрапив на команду, udisksнаприкладudisks --unmount /dev/sdb1 && udisks --detach /dev/sdb

Що мене бентежить (окрім того, чи umountнасправді це означає, що безпечно видаляти пристрій без втрати даних, і чи потрібно мені використовувати команду syncперед цим, а також те, що пристрій вимкнув роботу, яке безпечно видалити, схоже, це досягається) - це чому Мені доводиться використовувати, /dev/sdbна --detachвідміну від/dev/sdb1


Відповіді:


6

/dev/sdb- це весь пристрій. /dev/sdb1є одним розділом на цьому пристрої.

Хоча ви могли використовувати диск, не розділяючи його, це досить незвично (за межами налаштувань RAID, але тоді ви створюєте файлові системи на рейдових вузлах пристроїв, а не на фізичних вузлах пристроїв).
Насправді немає сенсу намагатися від'єднати (фізично видалити) один розділ - ви хочете видалити весь пристрій (який може містити кілька розділів), а не лише один розділ цього пристрою.

Демонтація розділу буде синхронізувати файлову систему, тому дзвонити syncраніше unmountне потрібно.
Виклик udisks --detachна пристрої перевіряє, що у вас на цьому пристрої не встановлена ​​файлова система (ви повинні переконатися, що цей виклик дійсно вдався), і здійснить "впорядковане вимкнення", яке завжди бажано підходити "підключити вилку", незалежно. того, чи робить цей конкретний пристрій щось особливе.


Я не мав уявлення, що just / dev / sdb являє собою весь пристрій, який, я вважаю, представляє всі розділи. Це правильно? Тож я міг би просто запустити команду так, udisks --unmount /dev/sdb && udisks --detach /dev/sdbніби хочу зняти всі розділи? Має сенс просто демонтувати один розділ, якщо існує декілька розділів.
АрахісМонкі

Як ви також переконаєтесь, що дзвінок udisks --detachвдався?
PeanutsMonkey

Ні, демонтаж /dev/sdbне спрацює. Вам потрібно відключити кожен змонтований розділ і подивитися / проаналізувати вихід команд.
Мат

Вибачте, не зовсім слідкуйте за тим, що ви маєте на увазі, переглядаючи або аналізуючи вихідні команди? Чи не слід я демонтувати кожен розділ, а потім запустити команду udisks --detach /dev/sdb?
PeanutsMonkey
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.