JFS
JFS (Journaled File System) — 64-битная журналирующая файловая система, созданная компанией IBM. Реализация в ядре Linux доступна как свободное ПО на условиях лицензии GNU General Public License. Эта файловая система потребляет мало ресурсов и сравнительно быстро выполняет все операции над файлами (в противовес другим специализированным ФС, например XFS, которая быстро работает с большими файлами, но медленно — с маленькими). Благодаря этому JFS особенно хорошо работает в устройствах, питаемых от батарей, например, ноутбуках.
Установка
Ядро
JFS поддерживается стандартным ядром Linux:
File systems --->
<*> JFS filesystem support
Дополнительные возможности JFS:
File systems --->
<*> JFS filesystem support
[*] JFS POSIX Access Control Lists
[*] JFS Security Labels
[ ] JFS debugging
[*] JFS statistics
Emerge
Утилиты для файловой системы доступны в пакете sys-fs/jfsutils:
root #
emerge --ask sys-fs/jfsutils
Использование
Создание
root #
mkfs.jfs /dev/sda1
Монтирование
root #
mount -t jfs /dev/sda1 /path/to/mountpoint
Извлечение журнала fsck
jfs_fscklog может извлечь журнал fsck из устройства JFS.
root #
jfs_fscklog -d /dev/sda1 -f fsck.log
Настройка
Для изменения различных параметров можно использовать jfs_tune, например, для изменения UUID:
root #
jfs_tune -l -U random /dev/sda1
Инструменты
Инструмент | Описание[1] | Man-страница |
---|---|---|
fsck.jfs | Жёсткая ссылка на jfs_fsck. | |
jfs_fsck | Проверяет файловую систему JFS на повреждения. | jfs_fsck(8) |
mkfs.jfs | Жёсткая ссылка на jfs_mkfs. | |
jfs_mkfs | Создаёт новую файловую систему JFS. | jfs_fsck(8) |
jfs_debugfs | Инструмент для выполнения низкоуровневых операций над файловой системой JFS. | jfs_debugfs(8) |
jfs_fscklog | Извлекает журнал fsck из файловой системы JFS. | jfs_fscklog(8) |
jfs_logdump | Выводит журнал файловой системы в ./jfslog.dmp. | jfs_logdump(8) |
jfs_tune | Изменяет настраиваемые параметры файловой системы. | jfs_tune(8) |
Решение проблем
Fsck
Отмонтируйте файловую систему для предотвращения повреждения файлов.
Чтобы проверить файловую систему JFS на повреждения, запустите fsck.jfs:
root #
fsck.jfs /dev/sda1
Debugfs
Для низкоуровневых операций над файловой системой JFS можно использовать jfs_debugfs.
В данном примере файловая система JFS имеет следующую иерархию:
test/
├── a
├── b
├── c
Сначала необходимо узнать inode для корня каталога.
2 — это номер inode
user $
ls -id
2 .
Далее войдите в интерфейс debugfs через jfs_debugfs:
root #
jfs_debugfs /dev/sda1
Теперь выведите список каталогов через номер inode:
>
dir 2
idotdot = 2 4096 test
4096 — это inode каталога test, отобразим его содержимое:
>
dir 4096
idotdot = 2 4097 a 4098 b 4099 c
Чтобы узнать, на что способен интерфейс debugfs, обратитесь к man-странице jfs_debugfs(8).
Смотрите также
- XFS — высокопроизводительная журналируемая файловая система.
- Ext4 — дисковая файловая система с открытым исходным кодом, и самая последняя версия серии «расширенных файловых систем».