Jaki system plików polecasz na dysk flash USB?

18

Jest to problem, który mam podczas używania Ubuntu: Mam dwa komputery z zainstalowanym Ubuntu (comp1 i comp2). Tworzę dokument w systemie Ubuntu na komputerze comp1, a następnie kopiuję plik na dysk flash USB w formacie FAT. Za pomocą dysku flash wklejam dokument na comp2. Problem polega na tym, że uprawnienia do plików nigdy nie są zachowywane podczas przesyłania. Zakładam, ponieważ FAT nie obsługuje uprawnień.

Czy istnieje rozwiązanie tego? Czy powinienem nadal używać systemu plików FAT dla dysków flash USB (ponieważ FAT jest najlepszy dla dysków flash) i po prostu żyć z tym problemem z uprawnieniami? Czy też zaleca się sformatowanie dysku flash za pomocą systemu plików bardziej przyjaznego dla systemu Ubuntu, który zachowa uprawnienia?

Greg
źródło

Odpowiedzi:

11

ext4 to system plików dziennika, co oznacza, że ​​jeśli urządzenie zostanie przedwcześnie odłączone, ma większą szansę na odzyskanie uszkodzonego systemu plików. Część zapisu w dzienniku zawiera informacje o tym, co ma być zrobione, i jest usuwana po zakończeniu operacji. Jeśli okaże się, że na podłączonym urządzeniu znajduje się niekompletny dziennik, system plików można przywrócić do poprzedniego stanu, zachowując w ten sposób jego integralność.

Chociaż istnieje pewien dodatkowy narzut związany z przestrzenią związaną z posiadaniem systemu plików dziennika na pamięci USB, w rzeczywistości jest to dobry wybór dla większości rzeczy.

Oczywiście, jeśli potrzebujesz urządzenia, które można podłączyć do dowolnego komputera w dowolnym momencie, FAT będzie dobrym rozwiązaniem. Jeśli chcesz, aby urządzenie, które musi być podłączane tylko do jednego komputera z systemem Windows tylko sporadycznie, możesz zainstalować sterowniki urządzeń ext2 w systemie Windows, które pozwolą mu odczytać wszystkie dyski ext (x). Oczywiście, ponieważ system Windows nie wie o uprawnieniach Linuksa i własności, nie będą one również obsługiwane.

producent 4
źródło
Nie mógłbym tego lepiej powiedzieć. +1
Luis Alvarado
Sterownik Ext2 dla Windows powinien również móc odczytywać systemy plików Ext4 - po prostu zignoruje dziennik.
Nathan Osman
8

Możesz spróbować sformatować dysk jako UDF (Universal Disk Format). Jest to format przeznaczony do użycia na płytach CD i DVD. Większość współczesnych systemów operacyjnych będzie w stanie czytać i pisać.

W tej chwili, patrząc na moje dane na dysku sformatowanym UDF, uprawnienia do plików Linuksa wydają się być zachowane. Do tej pory działało dla mnie.

Kolejną dobrą rzeczą w przypadku sformatowanego dysku UDF jest to, że może on przechowywać pojedynczy duży plik do 16 eksabajtów (popraw mnie, jeśli się mylę), podczas gdy Fat32 może przechowywać tylko plik o rozmiarze 4 GB lub mniejszym i MAKSYMALNYM rozmiarze partycji dla FAT32 to tylko 2 TB.

Działa dobrze w systemach Windows 7 i 8. W starszych systemach operacyjnych Windows, takich jak XP i 2000, możesz czytać z dysku, ale musisz zainstalować jakiś sterownik, aby do niego napisać.

W przypadku komputerów Mac OS X 10.5 i nowsze mają pełną zgodność. Oto pełna tabela kompatybilności. Tabela zgodności UDF

W systemie Ubuntu wykonaj następujące kroki, aby sformatować dysk jako UDF.

sudo apt-get update
sudo apt-get install udftools

Okej, teraz chcesz usunąć bieżące partycje na dysku docelowym. Możesz użyć narzędzia GUI, takiego jak Narzędzie dyskowe , lub wykonać następujące czynności.

sudo blkid

Znajdź swój dysk na wyjściu. (wyglądają jak / dev / sdb lub / dev / sdc ) Teraz wykonaj następujące czynności, ale zamień „ x ” w / dev / sdx, aby wskazać dysk, na którym chcesz wyczyścić partycję. Zrób to dla obu linii kodu.

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

Możesz zmienić, gdzie jest napisane „DriveLabel” według własnych upodobań.

To powinno być to.

Właściwie robię to nieco inaczej, ale zdecydowałem, że łatwiej było zastosować tę metodę. Odniosłem się do tej metody z tej strony .

Mam nadzieję, że to pomaga komuś tam.

Digital Sennin
źródło
nie działa dla mnie: błąd podczas montowania napędu USB
Louis
1
Dziękuję, bardzo ciekawe podejście. Działa idealnie na systemy operacyjne dla komputerów stacjonarnych (testowane na Ubuntu 15.10+, Windows 7+), ale nie na urządzenia mobilne (zdecydowanie nie działa na Androidzie do wersji 8.x). Spodziewam się znacznie mniejszego zapisu na dysku flash w porównaniu do systemu plików z księgowaniem. Oto jedna linijka: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"
dess
7

Podczas korzystania z systemu plików, który zachowuje identyfikatory użytkowników na dysku USB, możesz napotkać problemy spowodowane faktem, że identyfikatory użytkowników są przypisywane w kolejności tworzenia kont użytkowników, a system plików faktycznie przechowuje identyfikatory numeryczne właścicieli plików, a nie nazwy użytkowników. Więc jeśli, powiedzmy, maszyna A ma alicei bobrachunki, a maszyna B ma bruce, zoei alicestanowi wówczas prawdopodobieństwo, że kiedy Alice jej kopie plików na ext (2/3/4) -formatted napęd USB, podchodzi do maszyny B i próbuje uzyskać dostęp pliki, które odkryje, że wszystkie pliki są własnością brucei są przeznaczone tylko do odczytu alice.

Oczywiście, jeśli masz tylko jednego użytkownika na obu komputerach, nie będzie to stanowić problemu.

Przesyłanie plików spakowanych w tararchiwum, zgodnie z propozycją @ FSMaxB, może rozwiązać ten problem, ponieważ po rozpakowaniu archiwum pliki zostaną utworzone przez użytkownika.

Siergiej
źródło
0

Jeśli używasz dysku flash tylko z systemami Linux, możesz użyć jednego z systemów plików ext, np. Ext4, ale podczas korzystania z innych systemów, FAT jest jedynym kompatybilnym systemem plików.

Jednym ze sposobów korzystania z FAT i zachowania uprawnień (nie własności) byłoby użycie archiwów tar!

FSMaxB
źródło
1
rozpakowanie archiwum tar, ponieważ rootzachowuje własność plików, więc same archiwa przechowują identyfikatory użytkowników. Jednak robienie tego na różnych komputerach nie jest tak naprawdę zalecane, ponieważ identyfikatory użytkowników mogą się różnić.
Siergiej
Dzięki. Myślę, że na razie wypróbuję rozwiązanie TAR. Pytanie: czy istnieje sposób utworzenia pliku TAR i utworzenia go na dysku flash? Przechodzę do katalogu, w którym znajduje się plik, chcę TAR, a po uruchomieniu komendy TAR archiwum jest tworzone w tym katalogu. Czy zamiast tego mogę poprosić o utworzenie archiwum na dysku flash?
Greg
tworzenie TAR wymaga BASH, prawda? A może istnieje GUI?
Greg
Jeśli używasz normalnego Ubuntu, możesz kliknąć prawym przyciskiem myszy pliki lub katalogi i kliknąć „kompresuj” (nie wiem, czy tak się nazywa, ponieważ używam systemu niemieckiego)
FSMaxB
Nie próbowałem tar z GUI, ale użyłem tar.bz2 do kompresji z GUI i bash z „tar -xf” do dekompresji, co zachowało moje uprawnienia.
FSMaxB
0

Od lat używam reiserfs na pendrivach bez problemów. Cóż - po prostu nie można ich odczytać z systemu Windows, co może nie być złe, jeśli się zgubią.

Jeśli partycjonujesz patyk, aby używać części z systemem Windows do wymiany danych, upewnij się, że partycja okna jest pierwsza - w przeciwnym razie nie zostanie zidentyfikowana (przynajmniej dla XP zrobiłem to doświadczenie).

Możesz zbudować gruby system plików (czy nie są one dość ograniczone w dzisiejszych rozmiarach?) I dodać do niego duży, ale pusty plik, i zamontować ten plik jako urządzenie pętlowe w Ubuntu. Następnie będziesz mógł zachować swoje uprawnienia do plików oraz zwiększyć lub zmniejszyć zarezerwowane miejsce bez partycjonowania lub formatowania.

Jak już wspomniano: Tars, zamki błyskawiczne i tak dalej to kolejna możliwość.

nieznany użytkownik
źródło