Комитет FESCo [3] (Fedora Engineering Steering Committee), отвечающий за техническую часть разработки дистрибутива Fedora Linux, утвердил план по использованию [4] в Fedora 17 по умолчанию файловой системы Btrfs и перенос [5] содержимого /bin и /lib в директорию /usr. Следует отметить, что конечное решение о реализации данных возможностей будет зависеть от степени готовности намеченных функций к моменту начала заморозки кода перед релизом. Например, переход на Btrfs по умолчанию изначально планировался в Fedora 16 но был отменён [6] из-за неготовности утилиты для проверки целостности и восстановления файловой системы после сбоя.
В отличие от прошлого плана, представленного при подготовке Fedora 16, в Fedora 17 утверждено использование вместо LVM встроенного в Btrfs менеджера логических разделов и задействование интегрированный в Btrfs функций по обеспечению работы RAID. В инсталляторе запланирована поддержка управления подразделами, опциональное включение сжатия, использование RAID, преобразование в Btrfs существующих разделов Ext3/4. Поддержка сохранения контрольных сумм для всех блоков данных и метаданных позволяет при использовании Btrfs достигнуть более высокого уровня обеспечения целостности данных. Поддержка снапшотов открывает двери для создания новых инструментов для резервного копирования и управления данными. Например, уже входящий в состав дистрибутива плагин yum-plugin-fs-snapshot позволяет использовать снапшоты Btrfs для возврата системы в первоначальное состояние после неудачной установки пакетов или обновления.
Вторым важным решением является перенос [7] всех исполняемых файлов и библиотек из корня и директорию /usr. В частности, содержимое /bin планируется перенести в /usr/bin, /sbin в /usr/sbin, /lib в /usr/lib и /lib64 в /usr/lib64. Для обеспечения совместимости вместо перемещенных из корня директорий будут размещены символические ссылки на аналогичные директории внутри иерархии /usr. Предложенная ранее идея объединения содержимого директорий bin и sbin не получила одобрения.
Таким образом все устанавливаемые из RPM-пакетов неизменные компоненты будут сосредоточены только внутри раздела /usr и не будут встречаться за его пределами, что позволит упростить организацию бездисковых систем и повысит их безопасность - для работы достаточно будет экспортировать в режиме только для чтения раздел /usr и централизованно обновлять его, не заботясь о необходимости синхронизации содержимого каталогов /bin, /sbin и /lib. В корне останутся только файлы, связанные с загрузкой и специфичные для текущей машины данные, например, файлы конфигурации, логи и файлы с меняющимися данными (/etc, /root, /var, /run).
Обновленная структура корня будет выглядеть приблизительно следующим образом:
/ |-- etc |-- usr | |-- bin | |-- sbin | |-- lib | `-- lib64 |-- run |-- var |-- bin -> usr/bin |-- sbin -> usr/sbin |-- lib -> usr/lib `-- lib64 -> usr/lib64
Среди других открывающихся возможностей отмечено использование нескольких разделов /usr для загрузки разных версий или состояний дистрибутива, например, в процессе обновления можно сохранить старое содержимое в отдельном разделе и вернуться на него в случае проблем. Также возможна реализация схемы при которой имеется две копии содержимого /usr, активная копия монтируется в режиме только для чтения, а в неактивную устанавливается обновление, после чего директории меняются местами и синхронизируются.
Среди других новшества, одобренных для реализации в Fedora 17, релиз которого намечен май 2012 года:
Ссылки:
[1] http://htfl.ru/cat-news-fedora
[2] http://htfl.ru/cat-news-novosti-os
[3] /out.php?link=http://fedoraproject.org/wiki/Development/SteeringCommittee
[4] /out.php?link=http://fedoraproject.org/wiki/Features/F17BtrfsDefaultFs
[5] /out.php?link=http://fedoraproject.org/wiki/Features/UsrMove
[6] http://htfl.ru/news/perekhod-fedora-16-po-umolchaniyu-na-failovuyu-sistemu-btrfs-otmenen
[7] http://htfl.ru/news/v-fedora-rassmatrivaetsya-predlozhenie-po-perenosu-vsekh-ispolnyaemykh-failov-v-odnu-direktoriy
[8] /out.php?link=http://fedoraproject.org/wiki/Features/Gnome_shell_software_rendering
[9] http://htfl.ru/news/obolochka-gnome-shell-adaptirovana-dlya-raboty-bez-3d-draiverov
[10] http://htfl.ru/news/v-mesa-3d-prekrashchena-podderzhka-ustarevshikh-i-zabroshennykh-videodraiverov
[11] /out.php?link=http://fedoraproject.org/wiki/Features/ckremoval
[12] /out.php?link=http://fedoraproject.org/wiki/Features/SysVtoSystemd
[13] /out.php?link=http://fedoraproject.org/wiki/Features/Ns3
[14] /out.php?link=http://www.nsnam.org/
[15] /out.php?link=http://fedoraproject.org/wiki/Features/F17Boost148