Исходная система:
ekzorchik@ekv:~$ cat /etc/issue && uname -a
Ubuntu 10.10 \n \l
Linux ekv 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux
ekzorchik@ekv:~$
Заинтересовала меня тема конфигурационного файла ответственного за чтение информации, что и как монтировать при загрузке системы. Итогом будет небольшой экскурс, в специальный файл /etc/fstab. Системы Ubuntu производит чтение этого файла при загрузке и монтирование всех обозначенных в нем дисков в указанные для них места.
Внешние носители будь то флэшки, переносные HDD, мобильники и прочие устройства монтируются автоматически при подключении к вашему компьютеры – /media. За выделением точек монтирования, определением файловой системы и решением других проблем следит наша система Ubuntu – из этого делаем вывод, что каких либо действий нам производить не надо. Также все внешние устройства автоматически попадают в меню «Переход» и на рабочий стол, так что вы всегда можете легко получить к ним доступ. Т.к. файл /etc/fstab является системным и для его редактирования нужны права root. Либо работать через sudo.
Sudo nano /etc/fstab
В этом файле принято следующее описание:
Каждому разделу винчестера отводится одна строка. Строчки, начинающиеся с символа решётки (#), являются комментариями и системой игнорируются. Формат каждой записи очень простой:
<file system> <mount point> <type> <options> <dump> <pass>
- Сперва создаем резервную копию файла:
sudo cp /etc/fstab /etc/fstab_backup
- Открываем файл fstab для редактирования, например в текстовом редакторе gedit. Для этого вызовем меню Alt+f2 и наберем: sudo gedit /etc/fstab
UUID – уникальный идентификатор диска.
{/,/boot,none} – области монтирования дисков в каталог.
Ext4 – тип файловой системы на диске.
Swap – говорит, что диск представляется из себя файл подкачки.
Errors=remount-ro – При ошибке перемонтировать с параметром только для чтения (ro).
Порядок проверки раздела (0- не проверять, 1 – устанавливается для корня, 2 – для остальных разделов).
Defaults – Использовать настройки по умолчанию. Эквивалентно: rw,suid,dev,exec,auto,nouser,async.
Sw – Специальный параметр SWAP области.
Чтобы узнать uuid для нужного вам раздела выполните в терминале команду
ekzorchik@ekv:~$ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 2012-04-10 09:05 2074badd-0936-4d75-ac4a-82b815b2e79c -> ../../sda5
lrwxrwxrwx 1 root root 10 2012-04-10 09:05 3d8797d3-ae6b-463a-a670-5663f1e47a9e -> ../../sda6
lrwxrwxrwx 1 root root 10 2012-04-10 09:05 e13259e0-8db5-42aa-b84f-750a2a22f35a -> ../../sda1
либо sudo blkid
ekzorchik@ekv:~$ sudo blkid
/dev/sda1: UUID=”e13259e0-8db5-42aa-b84f-750a2a22f35a” TYPE=”ext4″
/dev/sda5: UUID=”2074badd-0936-4d75-ac4a-82b815b2e79c” TYPE=”swap”
/dev/sda6: UUID=”3d8797d3-ae6b-463a-a670-5663f1e47a9e” TYPE=”ext4″
ekzorchik@ekv:~$
Чтобы лучше разбираться в построении файла ниже указаны параметры которые можно использовать.
Обозначение в /etc/fstab | Тип файловой системы |
vfat | Microsoft FAT16, FAT32 |
ntfs-3g | Microsoft NTFS |
ext2 | Ext2 |
ext3 | Ext3 |
ext4 | Ext4 |
xfs | XFS |
jfs | JFS |
btrfs | Btrfs (B-tree file system) |
swap | Раздел подкачки |
iso9660 | CD/DVD диски |
udf | UDF, съёмные носители |
auto | Floppy дисковод |
hfsplus | Apple HFS |
Опции файловых систем (указываются через запятую, без пробелов) :
Опции | Описание |
Общие | Могут применяться к любой файловой системе (но не все файловые системы на самом деле поддерживают их) – например, опция sync сегодня имеет силу только для ext2, ext3, fat, vfat и ufs |
sync / async | Все операции ввода / вывода файловой системы должны выполняться синхронно/асинхронно. |
atime | Производить запись времени последнего доступа к файлу. Значение по умолчанию. |
noatime | Не обновлять время доступа к файлу (например, для быстрого доступа к новостным потокам, для ускорения серверов новостей). |
relatime | Обновлять время доступа только при изменении файла или изменении времени доступа. (В отличие от noatime, необходимая опция для нормальной работы, например, почтовых клиентов или других приложений, которым необходимо точное время последнего изменения файлов) |
norelatime | Не включать функцию relatime (например, для систем, в которых эта функция включена по умолчанию, для более подробной информации см. параметры монтирования в /proc/mounts). |
strictatime | Обновление времени доступа к структуре данных при изменении файлов. Отключает noatime и relatime. |
nostrictatime | Обновлять время доступа к структуре данных, в соответствии с настройками ядра по умолчанию. |
auto / noauto | При auto устройство будет устанавливаться автоматически при загрузке, или по команде mount. auto является вариантом по умолчанию. Если вы не хотите, чтобы устройство устанавливалось автоматически, используйте параметр noauto. |
context= fscontext= defcontext= rootcontext= |
Эти опции полезны при монтировании файловой систем, которые не поддерживают дополнительные атрибуты, такие как дискеты или жесткие диски отформатирован в VFAT, или файловые системы, которые обычно не работает под SELinux (например ext3 диск отформатированный на не-SELinux рабочей станции). Вы можете также использовать *context= для файловых систем которым вы не доверяете, например на дискетах или флешках. Более подробно о контексте можно узнать прочитав о SELinux. |
defaults | Использовать настройки по умолчанию. Эквивалентно: rw,suid,dev,exec,auto,nouser,async. |
dev / nodev | Интерпретировать/не интерпретировать блок специальных устройств на файловой системе. |
diratime / nodiratime | Обновлять/не обновлять время доступа к каталогу структуры данных. По умолчанию установлено diratime |
dirsync | Изменения каталогов в файловой системе выполняются синхронно. Это относится к следующим системным командам: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename. |
exec / noexec | exec позволяет выполнять двоичные файлы, которые находятся на этом раздел, в то время как noexec не позволяет этого делать. noexec может быть полезно для раздела, который не содержит бинарные файлы например /var, или содержит бинарные файлы которые вы не хотите выполнять на вашей системе, или которые не могут быть выполнены в вашей системе. Последнее может быть в случае Windows раздела. |
group | Разрешает обычным (т.е. не root) пользователям монтировать файловую систему, если одна из его групп совпадает с группой устройства. Эта опция подразумевает наличие опций nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как group,dev,suid). |
encryption | Определяет используемый алгоритм шифрования. Используется в сочетании с опцией loop. |
keybits | Определяет размер ключа для используемого алгоритма шифрования. Используется в сочетании с loop и encryption. |
nofail | В случае отсутствия устройства не сообщать об ошибке. |
iversion | Номер версии структуры данных увеличивается каждый раз, когда структура данных изменяется. |
noiversion | Номер версии структуры данных не увеличивается при изменении структуры данных. |
mand | Разрешает принудительное блокирование файловой системы. |
nomand | Не разрешает принудительное блокирование файловой системы. |
_netdev | Используется для предотвращения попыток смонтировать файловые системы, подключённые к сети. |
suid / nosuid | Разрешает использование битовых идентификаторов пользователей или групп / Запрещает использование битовых идентификаторов пользователей или групп. (Это достаточно небезопасно, особенно, если установлен suidperl). |
owner | Разрешает обычному (т.е. не root) пользователю монтировать файловую систему, если он является владельцем устройства. Эта опция подразумевает параметры nosuid и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как owner, suid и dev). |
ro | Монтировать только для чтения. |
rw | Монтирование файловой системы для чтения и записи. |
user / nouser | user – разрешает монтирование от лица обычного пользователя, по умолчанию это имеет право сделать только root. nouser — соответсвенно запрещает (является параметром по умолчанию). |
users | Разрешает монтирование от лица любого пользователя. Эта опция подразумевает параметры nosuid, noexec и nodev (за исключением случаев, когда пересекается с последующими опциями, такими как users, exec, owner, suid и dev). |
Опции для файловой системы adfs (ОС Microsoft Server). | |
uid= gid= |
Идентификаторы пользователя и группы. По умолчанию uid=gid=0. |
ownmask= othmask= |
Устанавливает маску для установок прав доступа владельца и остальных пользователей, соответственно. (По умолчанию 0700 и 0077, соответственно). |
Опции для файловой системы affs. | |
uid= gid= |
Идентификаторы пользователя и группы. По умолчанию uid=gid=0, но допускаются uid или gid без определенного значения, в таком случае принимаются uid и gid текущего процесса). |
setuid= setgid= |
Устанавливают пользователя и группу для всех файлов. |
setuid= setgid= |
Устанавливают пользователя и группу для всех файлов. |
mode= setgid= |
Устанавливает значение кода доступа как значение mode и 0777 независимо от первоначального значения кода доступа. Дополнительно ищет коды доступа в папках, доступных для чтения. Значение указывается в восьмеричном виде. |
protect | Запрещает любые изменения защищённых битов файловой системы |
fmask=xxxx | Устанавливает маску для установок прав доступа групп к файлам. Значение указывается в восьмеричном виде. |
dmask=xxxx | Устанавливает маску (образец) для установок прав доступа групп к директориям (папкам). Значение указывается в восьмеричном виде. |
umask=xxx | Устанавливает маску (образец) для установок прав доступа групп к файлам и директориям (папкам). Значение указывается в восьмеричном виде. |
uid=xxxx | Идентификатор пользователя |
iocharset=utf8 | Добавляет поддержку кодировок в названиях файлов и директорий. Применяется при необходимости. |
errors=remount-ro | При ошибке перемонтировать с параметром только для чтения (ro). |
data=writeback data=ordered data=journal |
Указываем тип журналирования: writeback – журналируются только метаданные, максимальная производительность. Возможно повреждение данных. ordered – тоже что и writeback, но без повреждения данных. Медленнее. journal – полное журналирование файловой системы. Самый медленный. Максимальный уровень сохранности информации при сбое. |
quiet | система не показывает ошибки когда мы попытаемся изменить параметры настройки файла, не поддерживает VAT |
showexec | Все исполняемые файлы Windows (.exe/.com и тд.) получат возможность запуска ( тоже что и chmod 770 ). |
Опции для файловой системы Microsoft NTFS | |
nls=utf8 | Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе. |
codepage=866 | Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. |
Опции для файловой системы Microsoft FAT | |
utf8 | Включение поддержки utf-8. Поддержка «нестандартных» символов (кирилицы) в файловой системе. |
codepage=866 | Включаем поддержку кириллицы в названия файлов папок для MS-DOS/fat32 разделов. |