ROSA ImageWriter 2.6: Возвращаем флэшки в строй

Материал из Rosalab Wiki
Перейти к: навигация, поиск
Эта статья викилога является черновиком и ещё не была опубликована.

Как известно, наш дистрибутив ROSA Desktop может устанавливаться как с DVD, так и с USB-флэшек. Для записи образа на флэшку можно использовать любую утилиту побитового копирования, но у нас есть собственный инструмент ROSA ImageWriter, который за время его существования пришёлся по вкусу многим пользователям не только Росы, но и других операционных систем.

RosaImageWriter-2.6-rus.png

После того, как ROSA Desktop обзавелась поддержкой UEFI, мы стали получать отзывы о невозможности использования флэшки для хранения данных после того, как на неё был записан инсталляционный образ: система видела устройство размером всего около 5 мегабайт, и даже форматирование не спасало ситуацию. На самом деле, с флэшкой ничего страшного не происходит, просто для поддержки UEFI требуется, чтобы на диске присутствовал небольшой EFI-раздел. А поскольку в нашем образе этот раздел — единственный, то операционная система и отображает только его, а всё остальное пространство считается незанятым и неиспользуемым. Лечится это элементарно: раздел можно удалить любой утилитой разбиения дисков (например, diskdrake или gparted), после чего флэшка снова будет видна целиком. Но если пользователь не слишком технически подкованный, для него это — тёмный лес, а использование инструментов разбиения дисков требует определённой квалификации.

Поэтому мы приняли решение добавить в ImageWriter функцию очистки флэшки. Новая кнопка, которая так и называется «Очистить», уничтожает таблицу разделов, тем самым делая всё устройство неформатированным, но полноразмерным. Пользователю остаётся только отформатировать флэшку, и она снова пригодна к применению по прямому назначению.

Пользователи ROSA Desktop уже могут наслаждаться всеми новыми возможностями, обновившись из репозитория. Для других систем можно скачать портабельный вариант программы:

Помимо добавления функции очистки, в новой версии присутствуют и другие вкусности:

  • Путь к ISO-образу можно передавать в качестве аргумента командной строки.
  • Если образ не был передан через командную строку, то по умолчанию диалог открытия файла покажет содержимое стандартной папки загрузок текущего пользователя.
  • Автоматический перезапуск с привилегиями пользователя root теперь присутствует и в Linux-версии (раньше для этого требовалось использовать дополнительный скрипт или привязку к consolehelper).
  • Исполняемые файлы портабельной версии программы для Linux и Mac OS X теперь тоже собираются статически, как и для Windows, что позволило значительно уменьшить размер распространяемого пакета.
  • Распространяемая Linux-версия избавлена от зависимости libudev.so.1, которая не позволяла запускать её на некоторых системах (таких, как Ubuntu).
  • Windows-версия подписана цифровым сертификатом компании НТЦ ИТ РОСА: теперь UAC-запрос на повышение привилегий выводится в более спокойных тонах и выглядит не таким страшным.

Ну и, разумеется, были внесены многочисленные мелкие улучшения и исправления разнообразных ошибок.


Интригующие подробности для любопытных

Конечно, возникает вопрос: почему бы ImageWriter’у самому сразу не выполнить форматирование, зачем заставлять пользователя делать это? Вопрос законный, и среди наших разработчиков он вызвал ожесточённые дебаты. К сожалению, всё упирается в выбор конкретной файловой системы. Их множество, но нет ни одной достаточно универсальной, чтобы мы могли на ней остановиться. Интегрировать же в ImageWriter ещё и диалог выбора файловых систем, поддержку работы с каждой из них — это было бы чересчур для такой минималистичной, «однозадачной» программы. В чём же заключается «неуниверсальность»? Рассмотрим основные файловые системы чуточку подробнее.

  • FAT32
Эта система наиболее часто применяется на флэшках (хотя в последнее время активно вытесняется альтернативами). Ограничение у неё всего одно, но довольно серьёзное: она не позволяет хранить файлы размером более 4 гигабайт. Даже среди бюджетных флэшек размер 64 Гб уже не редкость, и пользователи часто переносят на них большие файлы; такое ограничение будет для них неприятным сюрпризом. Дополнительно усугубляет проблему крайне неочевидное поведение системы при случайном превышении размера файла: пользователь получит сообщение «Недостаточно свободного места на диске», хотя свободного места там могут быть ещё гигабайты и гигабайты. Даже профессионалы могут долго выискивать источник проблемы, сбитые с толку таким уведомлением, что уж говорить о неподготовленном пользователе…
  • NTFS
Windows-пользователи чаще всего рассмативают в качестве альтернативы FAT32 именно эту систему. Она, действительно, достаточно универсальна, не обладает такими жёсткими ограничениями, как FAT32, и работает на широком спектре Windows-систем, начиная с самых ранних WinNT-ядер. В Linux с этой системой тоже проблем обычно не наблюдается. Однако если мы остановимся на этом варианте, то обделёнными окажутся пользователи Mac OS X, где стандартная реализация NTFS работает в режиме только для чтения, а стабильно работающая запись возможна лишь через сторонние решения, которые либо обладают весьма низкой производительностью, либо стоят ощутимых денег.
  • exFAT
Файловая система, разработанная компанией Microsoft на замену морально устаревшей FAT32. Как и у NTFS, её ограничения на сегодняшний день практически недостижимы; вдобавок, она неплохо поддерживается в Mac OS X, а через FUSE-драйвер — и в Linux. Одна проблема: эту систему не увидит старушка Windows XP. Несмотря на солидный возраст этой системы, официальное прекращение срока поддержки и агрессивные маркетинговые кампании по её принудительному вытеснению более современными версиями Windows, она до сих пор пользуется практически неугасающей популярностью, и мы не можем бросить её пользователей на произвол судьбы.
Конечно, существует специальное обновление, добавляющее поддержку exFAT в WinXP, но, к сожалению, оно не приходит автоматически через Центр обновлений. Пользователь должен как-то догадаться о его существовании, найти в Интернете, самостоятельно скачать его и установить (причём не только на своём компьютере, но и на всех компьютерах, где флэшка будет использоваться, а это не всегда реализуемо).
  • UDF
Изначально эта файловая система разрабатывалась для оптических дисков, но сегодня она вполне применима и для обычных дисковых устройств в режиме чтения-записи… за исключением, опять-таки, Windows XP, где эта система работает в режиме только для чтения. Увы.

Более экзотические системы рассматривать нет смысла — с ними проблем будет ещё больше. Таким образом мы вынуждены были оставить выбор за пользователем, которому лучше знать, на каких системах он планирует работать с этой флэшкой и какие файлы будет на ней хранить.


Исходные коды, как обычно, в репозитории на ABF.