chattr(1) zmienia atrybuty plików w linuksowym systemie plików

SKŁADNIA

chattr [ -RVf ] [ -v wersja ] [ tryb ] pliki...

OPIS

chattr zmienia atrybuty plików w linuksowym systemie plików.

Format w trybie symbolicznym ma postać +-=[aAcCdDeijsStTu].

Operator + powoduje dodanie wybranych atrybutów do istniejących; - powoduje ich usunięcie, a = powoduje, że stają się jedynymi atrybutami jakie posiadają pliki.

Litery aAcCdDeijsStTu oznaczają wybór nowych atrybutów dla plików: tylko dopisywanie (a), bez aktualizacji atime (A), kompresja (c), bez kopiowania przy zapisie (C), bez zrzutów (d), synchroniczna aktualizacja katalogu (D), format ekstentu (e), niezmienny (i), dziennik danych (j), bezpieczne kasowanie (s), synchroniczna aktualizacja (S), brak łączenia końcówek (t), korzeń hierarchii katalogów (T) oraz niekasowalność (u).

Następujące atrybuty mają status tylko do odczytu i mogą zostać wyświetlone przez lsattr(1), lecz nie są modyfikowalne przez chattr: błąd kompresji (E), duży plik (h), katalog indeksowany (I), dane wewnątrz i-węzła (N), surowy dostęp kompresji (X) i skompresowany plik "brudny" (Z).

Nie wszystkie opcje są obsługiwane i wykorzystywane przez wszystkie systemy plików. Więcej informacji na ten temat należy szukać w podręcznikach systemowych danych systemów plików, takich jak btrfs(5), ext4(5) i xfs(5).

OPCJE

-R
Rekurencyjna zmiana atrybutów katalogów i ich zawartości.
-V
Tryb szczegółowy komunikatów chattr oraz wypisanie wersji programu.
-f
Wyłącza wyświetlanie większości komunikatów o błędach.
-v wersja
Ustawia wersję pliku/numer pokolenia (generation number).

ATRYBUTY

Plik z ustawionym atrybutem a może być otwierany do zapisu tylko w trybie dopisywania. Jedynie superużytkownik lub proces posiadający możliwosć CAP_LINUX_IMMUTABLE może ustawić lub zdjąć ten atrybut.

Gdy modyfikowany jest plik z ustawionym atrybutem A, jego rekord atime nie jest zmieniany. Pozwala to uniknąć sporej ilości dyskowych operacji wejścia/wyjścia w systemach zainstalowanych na laptopach.

Plik z ustawionym atrybutem c jest automatycznie kompresowany na dysku przez jądro. Odczyt tego pliku zwraca zdekompresowane dane. Zapis do pliku powoduje kompresję danych przed zapisaniem ich na dysku. Uwaga: proszę zapoznać się z rozdziałem o błędach i ograniczeniach na końcu niniejszego dokumentu.

Plik z atrybutem C nie jest przedmiotem aktualizacji kopiowania przy zapisie. Flaga jest obsługiwana wyłącznie w systemach przeprowadzających kopiowanie przy zapisie. Uwaga: w btrfs flaga ta powinna być ustawiana dla pustych i nowych plików. Jeśli zostanie ustawiona dla pliku mającego bloki danych, nie jest zdefiniowane, kiedy bloki przypisane do pliku będą w pełni stabilne. Jeśli flaga jest ustawiona na katalogu, nie ma wpływu na sam katalog, lecz wszystkie nowe pliki w nim tworzone będą miały ustawiony atrybut No_COW.

Plik z ustawionym atrybutem d nie jest kandydatem do archiwizacji, podczas uruchamiania programu dump(8).

Gdy modyfikowany jest katalog z ustawionym atrybutem D, zmiany są zapisywane na dysk synchronicznie; jest to równoznaczne z opcją montowania "dirsync", dotyczącą określonego zbioru plików.

Atrybut e wskazuje, że plik używa ekstentów do mapowania bloków na dysku. Nie może być usunięty przez chattr(1).

Atrybut E jest używany przez eksperymentalne łatki dotyczące kompresji do oznaczenia, że dany skompresowany plik ma błąd kompresji. Nie może być ustawiony ani zdjęty przez chattr(1), choć może być wyświetlony przez lsattr(1).

Atrybut h wskazuje, że plik przechowuje swe bloki w jednostkach rozmiaru bloków systemu plików, zamiast jednostek sektorów, co oznacza, że plik jest (lub był) większy niż 2 TB. Nie może być ustawiony ani zdjęty przez chattr(1), choć może być wyświetlony przez lsattr(1).

Plik z atrybutem i nie może być zmieniany: nie może być kasowany ani nie może być zmieniana jego nazwa, nie można tworzyć do niego dowiązań i nie można zapisać do niego żadnych danych. Jedynie superużytkownik i proces posiadający możliwość CAP_LINUX_IMMUTABLE może ustawić lub zdjąć ten atrybut.

Atrybut I jest używany przez kod h-drzew do wskazania, że dany katalog jest indeksowany za pomocą haszowanych drzew. Nie może być ustawiony ani zdjęty przez chattr(1), choć może być wyświetlony przez lsattr(1).

Wszystkie dane z pliku z ustawionym atrybutem j zostaną zapisane do dziennika ext3 lub ext4 przed zapisaniem ich do pliku, o ile system plików został zamontowany z opcją "data=ordered" lub "data=writeback". Gdy system plików jest zamontowany z opcją "data=journal", wszystkie dane są zapisywane do dziennika, więc ten atrybut nie ma znaczenia. Jedynie superużytkownik i proces posiadający możliwość CAP_LINUX_IMMUTABLE może ustawić lub zdjąć ten atrybut.

Plik z atrybutem N wskazuje że plik przechowuje dane bezpośrednio w i-węźle. Nie da się go ustawić ani zresetować za pomocą chattr(1), choć można go wyświetlić programem lsattr(1).

Gdy plik z ustawionym atrybutem s zostanie skasowany, jego bloki zostają wyzerowane i zapisane z powrotem na dysku. Uwaga: proszę zapoznać się z rozdziałem o błędach i ograniczeniach na końcu niniejszego dokumentu.

Gdy modyfikowany jest plik z ustawionym atrybutem S, zmiany są zapisywane na dysk synchronicznie; jest to równoznaczne z opcją montowania "sync", dotyczącą określonego zbioru plików.

Plik z atrybutem t nie będzie miał częściowego fragmentu bloku na końcu pliku uwspólnionego z innymi plikami (na systemach plików wspierających łączenie końcówek). Jest to niezbędne dla programów takich jak LILO, które dokonują bezpośredniego odczytu z systemu plików i które nie rozumieją plików o połączonych końcówkach. Uwaga: w chwili pisania tego tekstu systemy plików ext2 i ext3 nie obsługują (jeszcze, oprócz bardzo eksperymentalnych łatek) łączenia końcówek.

Katalog z atrybutem T zostanie uznany za będący na szczycie hierarchii katalogów na potrzeby alokatora bloków Orlov. Jest to wskazówka dla alokatora bloków używanego przez ext3 i ext4, że podkatalogi znajdujące się poniżej nie są ze sobą powiązane i dlatego powinny być rozmieszczone w innych miejscach do celów alokacji. Dobrym pomysłem jest np. ustawienie atrybutu "T" dla katalogu /home, dzięki czemu /home/jasiek i /home/marysia będą położone w oddzielnych grupach bloków. Do katalogów, które nie mają ustawionego tego atrybutu, alokator bloków Orlov będzie się starał grupować podkatalogi bliżej siebie tam, gdzie to będzie możliwe.

Gdy kasowany jest plik z ustawionym atrybutem u, jego zawartość zostaje zachowana. Umożliwia to użytkownikowi odzyskanie takiego pliku. Uwaga: proszę zapoznać się z rozdziałem o błędach i ograniczaniach na końcu niniejszego dokumentu.

Atrybut X jest używany przez eksperymentalne łatki dotyczące kompresji do oznaczenia, że dany skompresowany plik jest surowy i dostęp do niego może być bezpośredni. Nie może być ustawiony ani zdjęty przez chattr(1), choć może być wyświetlony przez lsattr(1).

Atrybut Z jest używany przez eksperymentalne łatki dotyczące kompresji do oznaczenia, że dany skompresowany plik jest "brudny". Nie może być ustawiony ani zdjęty przez chattr(1), choć może być wyświetlony przez lsattr(1).

AUTOR

dumpefs został napisany przez Remy'ego Carda <[email protected]>. Obecnie opiekuje się nim Theodore Ts'o <[email protected]>.

BŁĘDY I OGRANICZENIA

Atrybuty "c", "s" i "u" nie są honorowane przez kod systemów plików ext2, ext3 i ext4 w obecnej implementacji jąder Linux z głównej gałęzi.

Opcja "j" jest przydatna tylko gdy system plików jest zamontowany jako ext3 lub ext4.

Opcja "D" jest przydatna tylko przy korzystaniu z jądra Linux w wersji 2.5.19 lub późniejszej.

DOSTĘPNOŚĆ

chattr jest częścią pakietu e2fsprogs i jest dostępny na stronie http://e2fsprogs.sourceforge.net.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) <[email protected]>, Andrzej M. Krzysztofowicz (PTM) <[email protected]> i Michał Kułach <[email protected]>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 1.42.12 oryginału.