Представлен проект Glimpse, созданный с целью предоставления пользователям Ubuntu удобного средства для запуска и тестирования экспериментальных, нестабильных или непроверенных пакетов программ. При установке программ из экспериментальных PPA-репозиториев или при сборке пакетов вручную пользователь имеет шанс нарушить работоспособность основной системы, например, если программа поведёт себя некорректно или пакет потребует обновления зависимостей, используемых в процессе работы других приложений.
Чтобы обезопасить основную систему от какого либо влияния в процессе тестирования программ, Glimpse предоставляет средства для запуска программ в изолированном chroot-окружении, в котором используется отдельная сокращенная копия дистрибутива. Установка программ и их запуск максимально упрощен и выполняется через графический интерфейс. Из дополнительных удобств отмечается возможность запуска альфа- и бета-версий бок о бок со стабильными версиями аналогичных программ, без пересечения файлов конфигурации.
Разработчик Glimpse приводит пример из своей практики, когда ручная сборка и запуск свежей тестовой версии музыкального плеера привела к преобразованию мета-данных музыкальной библиотеки в новый формат, после чего пришлось заново формировать коллекцию для рабочей версии плеера или поднимать данные из резервной копии. При использовании Glimpse в подобных обстоятельствах данные бы не пострадали. Конечно для безопасного тестирования можно использовать загрузку LiveCD или системы виртуализации, но в Glimpse данный процесс организован предельно просто и бесшовно - тестируемые приложения полностью интегрируются с рабочим десктопом и могут использовать текущие пользовательские данные.
Запущенные в изолированном окружении программы получают доступ ко всем пользовательским данным, но этот доступ ограничен только чтением. При попытке изменения или сохранения файлов, благодаря монтированию при помощи AuFS (вариант unionfs), измененные файлы сохраняются в отдельной области диска, а исходные файлы остаются в неизменном виде. Код Glimpse написан на Bash с использованием для формирования графического интерфейса инструментов Gaffel и Zenity. Для генерации образов для развертывания системы в chroot-окружении задействован Ubuntu Customization Kit, загружаются iso-образы при помощи zsync (копируются только изменения). Для установки самых свежих экспериментальных сборок программ использованы рекомендации Launchpad Recipes и ежедневные сборки пакетов.
Пакеты с Glimpse доступны для Ubuntu 10.10 и более новых выпусков. Установить пакеты можно из PPA-репозитория glimpse-hackers:
sudo add-apt-repository ppa:glimpse-hackers/stable sudo apt-get update sudo apt-get install glimpse glimpse-profile-elementary glimpse-profile-ubuntu
После установки будет доступно два профиля elementary и ubuntu, определяющих какие iso-образы использовать для создания chroot-окружения, стандартный Ubuntu или тестовую сборку Elementary Luna.