Яку файлову систему ви рекомендуєте для USB Flash Drive?


18

Це проблема, яка виникає під час використання Ubuntu: у мене є два комп’ютери, на яких встановлено Ubuntu (comp1 та comp2). Я створюю документ з Ubuntu на comp1 і потім копіюю файл на флешку, відформатовану FAT. Через флешку я вставляю документ на comp2. Проблема полягає в тому, що права доступу до файлів ніколи не зберігаються під час передачі. Я припускаю, що FAT не підтримує дозволи.

Чи є для цього рішення? Чи варто продовжувати використовувати файлову систему FAT для флеш-накопичувачів USB (оскільки FAT найкраще для флеш-дисків) і просто жити з цим дозволом? Або рекомендується переформатувати мою флешку з більш "Ubuntu Friendly" файловою системою, яка збереже дозволи?

Відповіді:


11

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

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

Очевидно, що якщо вам потрібен пристрій, який також можна підключити до будь-якого комп’ютера в будь-який час, FAT - це саме шлях. Якщо ви хочете, щоб пристрій, який потрібно підключати до одного комп’ютера Windows лише зрідка, можливо, у Windows можна встановити драйвери пристроїв ext2, які дозволять йому читати будь-які та всі диски ext (x). Звичайно, оскільки Windows не знає про дозволи та права власності на Linux, вони також не будуть оброблятися.


Я не міг би сказати це краще. +1
Луїс Альварадо

Драйвер Ext2 для Windows повинен також вміти читати файлові системи Ext4 - він просто ігнорує журнал.
Натан Осман

8

Ви можете спробувати відформатувати привід у форматі UDF (Універсальний формат диска). Це формат для використання на компакт-дисках та DVD-дисках. Більшість сучасних ОС зможуть читати та писати на ньому.

Зараз, дивлячись на мої дані на форматі накопичувача UDF, дозволи на доступ до файлів Linux зберігаються. Поки що це працювало для мене.

Ще одна гарна річ щодо формату накопичувача UDF - це те, що він може зберігати один великий файл розміром до 16 екзабайт (виправте мене, якщо я помиляюся.), Тоді як Fat32 може зберігати лише файл розміром 4 Гб або менше та розмір розділу MAX для FAT32 становить лише 2 ТБ.

Це добре працює на Win7 та 8. Для старих ОС Windows, таких як XP та 2000, ви можете читати з накопичувача, але для цього потрібно встановити якийсь драйвер.

Для Mac, OS X 10.5 і новіших версій є повна сумісність. Ось повна діаграма сумісності Схема сумісності UDF

На Ubuntu виконайте ці кроки, щоб відформатувати диск як UDF.

sudo apt-get update
sudo apt-get install udftools

Гаразд, тепер ви хочете видалити поточні розділи на цільовому диску. Можна або скористатися інструментом GUI, як Disk Utility , або зробити наступне.

sudo blkid

Знайдіть свій диск у виході. (вони виглядають як-небудь / dev / sdb або / dev / sdc ) Тепер зробіть наступне, але замініть " x " на / dev / sdx, щоб вказати на диск, на якому потрібно очистити його розділ. Зробіть це для обох рядків коду.

sudo dd if=/dev/zero of=/dev/sdx bs=1M count=1
sudo mkudffs -b 512 --media-type=hd --utf8 --lvid=DriveLabel --vid=DriveLabel --fsid=DriveLabel  /dev/sdx

Ви можете змінити, де написано "DriveLabel" на ваш смак.

Це повинно бути.

Власне, я роблю це дещо інакше, але вирішив, що цьому методу легше керуватися. Я посилався на цей метод з цього сайту .

Я сподіваюся, що це допомагає комусь там.


не працює для мене: помилка під час монтажу usb-накопичувача
Луї

1
Дякую, дуже цікавий підхід. Працює ідеально для настільних ОС (тестується для Ubuntu 15.10+ та Windows 7+), але не для мобільних пристроїв (точно не працює для Android до 8.x). Я очікую набагато менший вплив запису на флешку порівняно з файловою системою журналів. Ось один лайнер для цього:CreateUdfFlash(){ sudo wipefs "$1" ; sudo mkudffs --utf8 -b 512 --media-type=hdd --lvid="$2" --vid="$2" --fsid="$2" "$1" ; } ; CreateUdfFlash "/dev/sdX" "Some Disk Label"
деск

7

Під час використання файлової системи, яка зберігає ідентифікатори користувачів на USB-накопичувачі, ви можете зіткнутися з проблемами, викликаними тим, що ідентифікатори користувачів присвоюються в облікових записах користувачів порядку, а файлова система фактично зберігає числові ідентифікатори власників файлів, а не імена користувачів. Так, якщо, скажімо, машина A має aliceі bobакаунти, і машина B має bruce, zoeі aliceоблікові записи, то ймовірно, що коли Аліса копіює свої файли на форматизований USB-накопичувач ext (2/3/4), перейде на машину B і намагається отримати доступ файли, які вона виявить, що всі вони належать bruceі доступні лише для читання alice.

Звичайно, якщо у вас є лише один користувач на обох машинах, це не буде проблемою.

Передача файлів, упакованих в tarархів, як це запропонував @FSMaxB, може вирішити цю проблему, оскільки при розпакуванні архіву файли створюватимуться за вашим ідентифікатором користувача.


0

Якщо ви використовуєте флешку лише в системах Linux, ви можете використовувати одну з файлових систем ext, наприклад ext4, але при використанні з іншими системами FAT є єдиною сумісною файловою системою.

Одним із способів використання FAT та збереження дозволів (не власності) буде використання tar-Archives!


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

Спасибі. Я думаю, що зараз спробую вирішити TAR. Запитання: чи є спосіб створити TAR і створити його на флешці? Я навігаю до каталогу, де файл - я хочу TAR, і коли я запускаю команду TAR, в цьому каталозі створюється архів. Чи можу я замість цього створити архів на Flash Drive?
Грег

створення TAR вимагає від BASH правильно? Або є спосіб GUI це зробити?
Грег

Якщо ви використовуєте звичайний ubuntu, ви можете клацнути правою кнопкою миші файли чи каталоги та натиснути «стиснути» (не знаю, чи це називається так, бо я використовую німецьку систему)
FSMaxB

Я не пробував tar від gui, але використовував tar.bz2 для компресії з gui та bash з "tar -xf" для декомпресії, що зберегло мої дозволи.
FSMaxB

0

Я роками використовую reiserfs на USB-палках без проблем. Ну - просто те, що вони не читаються з Windows-систем, що може бути непогано, якщо вони загубляться.

Якщо ви розділите паличку, щоб використовувати частини з Windows для обміну даними, переконайтеся, що розділення вікон є першим - інакше він не буде визначений (принаймні для XP я створив цей досвід).

Ви можете побудувати жирову файлову систему (хіба вони досить обмежені для сьогоднішніх розмірів палиць?) Та додати до неї великий, але порожній файл та змонтувати цей файл як циклічний пристрій в Ubuntu. Тоді ви зможете зберегти свої файлові дозволи та збільшити чи зменшити зарезервований простір без розділення чи форматування.

Як уже згадувалося: ще одна можливість - сльози, блискавки тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.