====== Konfiguracja udisks2 ======
Domyślnie o ile system plików jest obsługiwany przez system to partycja dysku jest automatycznie montowana. Tu możemy zmienić opcję tego automatycznego montowania dla typów systemu plików bądź dla każdego dysku.
W pliku /etc/udisks2/mount_options.conf nie stosować komentarzy do poszczególnych linii za opcjami. Przykładowo **[/dev/disk/by-uuid/192CEAFF698A8C06] # Komentarz** lub **ntfs_defaults=uid=$UID,gid=$GID,windows_names,ro # Ustawienie tylko do odczytu** to takie ustawienie nie będzie działać!
===== Przykład konfiguracji dla NTFS =====
[defaults]
ntfs_defaults=uid=$UID,gid=$GID,windows_names
ntfs_allow=uid=$UID,gid=$GID,windows_names
# Wybór urządzenia po nazwie etykiety
#[/dev/disk/by-label/REDCARD]
# Wybór urządzenia po przyznanym UUID
[/dev/disk/by-uuid/192CEAFF698A8C06]
# Ustawienie do odczytu
#ntfs_defaults=uid=$UID,gid=$GID,windows_names,ro
ntfs_defaults=uid=$UID,gid=$GID,windows_names,sync
ntfs_allow=uid=$UID,gid=$GID,windows_names
Nie wszystkie opcje montowania muszą być wprowadzane zarówno w _defaults jak i _allow w pliku /etc/udisks2/mount_options.conf. Jednakże, umieszczenie opcji w tych sekcjach ma różne cele i może być konieczne w zależności od tego, co chcesz osiągnąć.
_defaults vs. _allow
* _defaults: Określa domyślne opcje montowania dla danego systemu plików. Opcje tutaj umieszczone będą automatycznie stosowane przy montowaniu systemu plików, chyba że zostaną nadpisane przez inne specyficzne ustawienia.
* _allow: Określa listę opcji montowania, które są dozwolone. Możesz to używać do określenia, które opcje użytkownicy mogą stosować podczas montowania systemu plików.
Kiedy używać _defaults i _allow
* Użycie _defaults: Kiedy chcesz, aby określone opcje montowania były stosowane automatycznie podczas montowania systemu plików.
* Użycie _allow: Kiedy chcesz ograniczyć opcje montowania, które mogą być używane. Jest to bardziej restrykcyjny sposób kontrolowania, jakie opcje mogą być stosowane.
==== Opcje ntfs_defaults ====
* ro - Partycja tylko do odczytu
* rw - Partycja zapis i odczyt
* sync - Zapis/odczyt synchroniczny. Uważnie z pamięciami SD
* umask=022 - Wartość określa, że nowe pliki będą miały uprawnienia 644 (rw-r--r--) i nowe katalogi będą miały uprawnienia 755 (rwxr-xr-x)
* dmask=022 - Nowe katalogi będą miały uprawnienia 755 (rwxr-xr-x). Domyślnie 777.
* fmask=022 - Nowe pliki będą miały uprawnienia 644 (rw-r--r--). Domyślne to 666 (czyli rw-rw-rw-).
* locale=pl_PL.UTF-8 - Nazwy plików i komunikaty o błędach będą w języku polskim, zgodnie z polską lokalizacją.
* norecover - Wyłącza mechanizm automatycznej naprawy błędów na zamontowanym systemie plików. Jest to przydatne w sytuacjach, gdy nie chcemy, aby system podejmował próby automatycznej naprawy błędów, na przykład gdy preferujemy manualne zarządzanie naprawami.
* ignore_case - Sprawia, że operacje na plikach i katalogach na zamontowanym systemie plików są nieczułe na wielkość liter. Jest to przydatne w przypadkach, gdy nie chcemy, aby różnice w wielkości liter wpływały na zachowanie się systemu plików.
* windows_names - Sprawia, że nazwy plików i katalogów na zamontowanym systemie plików są przekształcane do formatu zgodnego z konwencją nazewnictwa systemu Windows. Jest to przydatne w przypadku współdzielenia danych między systemem Linux a systemem Windows, aby uniknąć problemów związanych z niedozwolonymi znakami w nazwach plików i katalogów.
* compression - Umożliwia włączenie lub wyłączenie kompresji danych na zamontowanym systemie plików. Jest to przydatne narzędzie, które może pomóc w oszczędności miejsca na dysku i przyspieszeniu operacji wejścia/wyjścia poprzez zmniejszenie rozmiaru danych.
* big_writes - Pozwala kontrolować użycie większych buforów podczas operacji zapisu na zamontowanym systemie plików. Jest to przydatne narzędzie, które może przyspieszyć operacje zapisu danych, szczególnie w przypadku operacji na dużą skalę.
==== Opcje ntfs_allow ====
* user - Montowanie i odmontowanie przez zwykłego użytkownika
* discard - Służy do włączenia wsparcia dla operacji TRIM na urządzeniach SSD. Operacja TRIM informuje dysk SSD, które bloki danych nie są już używane i mogą być zwolnione, co może poprawić wydajność i żywotność SSD.
* sparse - Jest używana przy montowaniu systemów plików i ma na celu wspieranie tworzenia plików sparse (ang. sparse files). Pliki sparse to specjalny typ plików, które zajmują mniej miejsca na dysku niż wynikałoby to z ich logicznego rozmiaru. W plikach sparse, niektóre fragmenty mogą być reprezentowane jako "dziury" (ang. holes), które nie zajmują miejsca na dysku fizycznym. Tylko rzeczywiste dane są zapisane na dysku, co pozwala na oszczędność miejsca. Opcja jest szczególnie przydatna, gdy pracujesz z dużymi plikami, które mogą zawierać duże nieużywane przestrzenie, takie jak pliki obrazów dysków wirtualnych (VM), bazy danych, czy logi, które mogą zawierać długie sekwencje zerowych bajtów.
* hidden - Może być używana do określania, czy pliki i katalogi oznaczone jako ukryte (ang. hidden) w systemie plików FAT powinny być widoczne po zamontowaniu. Pliki ukryte są oznaczone specjalnym atrybutem w systemie plików FAT, który informuje system operacyjny, aby ich nie wyświetlać domyślnie.
* showmeta - Jest specyficzna dla systemów plików FAT (FAT12, FAT16, FAT32) i exFAT i jest stosowana podczas montowania tych systemów plików w Linuksie. Opcja ta umożliwia wyświetlanie plików systemowych i metadanych, które normalnie są ukryte przed użytkownikiem.
==== ntfs-3g czy ntfs3 ====
Na dzień dzisiejszy, ntfs-3g jest bardziej dojrzałym i stabilnym rozwiązaniem, dlatego jest szeroko stosowany w stacjach roboczych. Jednak ntfs3 zyska na popularności, jeśli jego rozwój będzie kontynuowany, poprawiając stabilność i funkcjonalność, dzięki czemu użytkownicy mogą zacząć go preferować ze względu na lepszą wydajność.
Decyzja o wyborze sterownika powinna zależeć od konkretnego przypadku użycia, wymagań dotyczących stabilności i funkcjonalności, a także osobistych preferencji użytkowników i administratorów systemów.
=== ntfs-3g ===
* FUSE-based: ntfs-3g działa w przestrzeni użytkownika (user space) przy użyciu systemu plików FUSE (Filesystem in Userspace).
* Stabilność i wsparcie: Jest bardzo dojrzały i szeroko stosowany, z długoletnią historią stabilności i wsparcia.
* Funkcje: Obsługuje pełny zestaw funkcji NTFS, w tym odczyt, zapis, a także zaawansowane funkcje takie jak obsługa plików skompresowanych.
* Wydajność: Może być wolniejszy w porównaniu do sterowników działających w przestrzeni jądra (kernel space).
=== ntfs3 ===
* Teoretycznie może być szybszy niż ntfs-3g ze względu na operowanie w przestrzeni jądra.
* Nowoczesność: Jest nowszy i rozwijany z myślą o integracji z jądrem Linuksa.
* Wsparcie: Może nie obsługiwać jeszcze wszystkich funkcji NTFS tak kompleksowo jak ntfs-3g, ale jest intensywnie rozwijany.
=== fuseblk ===
''fuseblk'' jest sposobem, w jaki system operacyjny raportuje, że system plików jest zamontowany przez FUSE, podczas gdy ''ntfs-3g'' jest konkretnym sterownikiem używanym do obsługi systemu plików NTFS w przestrzeni użytkownika za pomocą FUSE. Kiedy montujesz partycję NTFS przy użyciu ''ntfs-3g'', system oznacza ją jako ''fuseblk'' w ''/proc/mounts'' i ''mount'' ze względu na użycie FUSE.
===== Naprawienie ntfs =====
Naprawienie systemu plików NTFS po nieprawidłowym odłączeniu:
sudo ntfsfix /dev/sdbX