ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут
- Puppy Linux -
Хороший друг


ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один
- Linux Mint -
С родинкой на щеке!
- CentOS -
Копейка рубль бережёт!
- Fedora -
По следам Red Hat
- Ubuntu Linux -
Мы одной крови!
- Mageia -
Красота и удобства
- openSUSE -
Настоящее немецкое качество
- Slackware -
Линукс из кубиков
- ALT Linux -
Что русскому хорошо





ДЛЯ ДЕЛА: РОЛЛЫ

- ArchLinux -
Гениальное - просто!
- PCLinuxOS -
Просто линукс
- Aptosid -
Почувствуй силу!


ДЛЯ ДЕЛА: СОБЕРИ САМ

- Gentoo -
Каждому своё
- LinuxFromScratch -
Линукс с нуля


ДЛЯ ДЕЛА: ЛЁГКИЕ

- DeLiCate -
Старость в радость!
- SLAX -
Тысяча и один модуль


ЗАЩИТА

- OpenWall -
Не стучите, закрыто!
- Kali -
Вам, хакеры!


ПРИЛОЖЕНИЯ

- Planet CCRMA -
Работа со звуком
- VegaStrike -
Каждому по планете!


ЭКСПЕРИМЕНТ

- коЛинуксы -
Не выходя из Виндоус
- GoboLinux -
Очевидно и вероятно
- ReactOS -
Освободите Виндоус!


РОДНЯ

- BSD-семейство -
На плечах гигантов
- OpenIndiana -
До звёзд рукой подать


АРХИВ (2003-2016)
ФОРУМ




НАШИ ПРОЕКТЫ

MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ
ПИНГВИН В КАРМАНЕ
ЗАКЛАДКИ
СТАТЬИ
КОНТАКТЫ


ПОМОЧЬ






Личный архив ЕЗ

Для чего «Убунте» «Снапы»?

Релиз новой версии дистрибутива Ubuntu с пометкой LTS (от англ. Long-term support — долгосрочная поддержка; выпускается раз в два года) это само по себе большое событие. Такая система будет поддерживаться следующие пять лет, то есть, установив её, вы можете быть уверены, что компания и сообщество не оставят вас без патчей на протяжении всего «гарантийного» срока. Естественно, что в такой версии обычно много интересных новшеств и Ubuntu 16.04 LTS «Xenial Xerus» не исключение: чего стоит одна лишь поддержка файловой системы ZFS, включенная теперь по умолчанию! Но не эта фишка вызвала самые оживлённые и самые ожесточённые дебаты. Больше всего 16.04 запомнится новым форматом программных пакетов: Snap.

На первый взгляд такой пакет ничем не отличается, скажем, от deb. В нём так же упакована программа, которая, после установки с помощью специальной утилиты (менеджера пакетов Snappy), появится в пользовательском меню. И ставить из «снапов» можно всё, от системных компонент до любых сложных приложений. Но шум и гордость и сомнения неспроста. Изюминка Snap в его внутреннем устройстве, которое принципиально отличается от того, с чем среднестатистический линуксоид привык иметь дело. И которое решает одну из самых больших проблем, преследующую Linux на протяжении десятилетий.

Представьте, что вы установили некий дистрибутив и пользовались им, скажем, пару лет. За это время в мире свободного софта меняется многое. Будут обнаружены и исправлены уязвимости. Выйдут новые версии прикладных программ (браузеров, редакторов, утилит). Не раз обновятся и системные библиотеки. И вот в какой-то момент, пожелав установить, например, новую версию браузера X, вы столкнётесь с тем, что он откажется ставиться в вашу систему. Почему? Потому что он использует версии библиотек, которых для вашего (уже порядком устаревшего!) дистрибутива нет. Обычная история! Что делать?

Ubuntu 16.04 LTS. Рабочий стол по умолчанию: Unity 7.

Классическое решение состоит в том, чтобы обновить весь дистрибутив до текущей версии. Однако не всем и не всегда оно подойдёт: существует множество причин не обновляться — например, когда не хочется рушить настроенный рабочий комплекс, от которого зависишь сам или зависят другие люди. Поэтому можно попробовать поэкспериментировать и обновить только ту часть системы, которая нужна новой программе — однако и это чревато: вся система может оказаться нерабочей из-за нарушения многочисленных взаимосвязей между программами. Можно, наконец, попытаться скомпилировать браузер самостоятельно из исходников для своей конфигурации библиотек — но даже для простых приложений это задача непростая, требующая опыта, знаний и некоторой удачи. Вот и получается, что хоть ваш дистрибутив стабильный, он неумолимо стареет. И в конце концов выбора не остаётся: обновляетесь целиком.

Snap — решение этой проблемы. В отличие от обычных пакетов (например, deb), внутри которых находится только сама программа, «снап» содержит в себе ещё и все необходимые библиотеки. А чтобы система не превратилась в свалку, где перемешаны старые и новые компоненты, устанавливается snap-пакет хитро: он сохраняется в отдельной папке в виде защищённого от записи образа. Изменения, которые он должен внести в файловое древо (скажем, новые библиотеки в /lib, новые файлы в /usr), учитываются благодаря «накатываемой» виртуальной файловой системе (совершенно так же, как это сделано в «живых» дистрибутивах Linux, умеющих запоминать вносимые изменения). Таким образом после установки «снапа», ваша система будет состоять из того, что в ней было, плюс наложенного сверху виртуального слоя с новым приложением и необходимыми для него новыми компонентами. Всё, проблема решена.

Такой подход не только облегчает установку новых приложений в устаревшие системы, но и упрощает упаковку программ в пакеты. Разработчику достаточно один раз упаковать свою программу в «снап», после чего она сможет работать в любом Линуксе, который «снапы» поддерживает. Идея эта не новая: лет десять назад было несколько экспериментов подобного рода (в том числе формат KLIK, см. заметку 2004-го года). Ожидалось, что в перспективе один из таких форматов мог бы стать вообще универсальным форматом пакетов для Linux. Свободная ОС обрела бы то единство, о котором всегда мечтали (и продолжают мечтать!) пользователи. Увы, ни один из форматов стандартом не стал. И это заставляет взглянуть на Snap критически.

На самом деле Snap — намного больше, чем просто формат пакетов. Canonical смотрит на «снап» как на кирпичик, из которого будут строиться дистрибутивы будущего. Несколько упрощая, вся система — от Ядра до графических пользовательских приложений — может быть составлена из «снапов», и это обещает определённые выгоды: большую безопасность («кирпичи» изолированы друг от друга) и лёгкость обновления в первую очередь. Примерно так уже строятся версии Ubuntu для мобильных устройств: планшеток, смартфонов, стиков.

Далеко не все согласны, что внедрение «снапов» в Ubuntu пройдёт гладко. Опасений множество и некоторые уже начинают подтверждаться. Прежде всего специалистов по ИТ-безопасности беспокоит упаковка библиотек вместе с приложениями. Вообразите, что в библиотеке X обнаружили опасную уязвимость и был выпущен патч. В обычном Линуксе этот патч может быть установлен быстро через главный менеджер пакетов (Synaptic, например), даже автоматически. А вот если библиотека была упакована вместе с программой в «снап», пользователю придётся ждать, пока разработчик программы переупакует её с новой версией библиотеки. Вот почему считается дурным тоном распространять приложения вместе с библиотеками (это ещё называют статической линковкой).

Далее, возникает опасность проникновения в систему «снапов» с содержимым, которому нельзя доверять. Сегодня пакеты устанавливаются в основном лишь из официальных репозитариев. А «снапы» будет делать проще, так что делать их будут все кому не лень. И конечно, в них будут прятать вирусы и программы-шпионы. Хоть Snap и изолирован от системы, но не абсолютно, так что он может красть информацию и влиять на ход работы.

Наконец, рушится с таким трудом выстроенная централизованная структура управления пакетами в Linux. Сейчас в Линуксе пакетами управляет программа-менеджер — которая ставит новые, удаляет старые, автоматически разруливает связи между компонентами. Это самый настоящий центр управления, дающий полную информацию о том, что и каких версий установлено в системе. Snap же обещает устроить кучу-малу: в системе появится множество различных версий одних и тех же библиотек и приложений, взятых из различных источников. Такого рода неразбериха не вяжется с UNIX-философией, по крайней мере так считают некоторые скептики.

Но рубикон перейдён. Ubuntu 16.04 LTS уже доступна для скачивания и в ближайшие месяцы мы увидим, насколько Snap оправдал ожидания. Это будет как минимум интересно. Не желаете принять участие? Вот сам дистрибутив, а вот подробное и очень простое руководство по сборке «снапов» для разработчиков.

--------------------------------------------

Этот текст всегда доступен по адресу linux.su/300416.shtml



При частичной или полной перепечатке, переводе, переработке материалов сайта ссылка на Knoppix.ru обязательна.
(c) Knoppix.ru 2003 - 2017