Содержание статьи
В начале времен, когда UNIX делал первые шаги по планете, не было ни стороннего ПО, ни проблем, связанных с управлением им. Если требовалось установить какое-то приложение, достаточно было скомпилировать его и положить полученный бинарник в каталог /bin
.
Когда стало увеличиваться число приложений и возрастать их сложность, начали проявляться проблемы. Приложение могло состоять не только из одного бинарника, оно могло включать в себя ряд библиотек, man-страницы, конфигурационные файлы и многое другое. Появилась идея использовать рецепт install в инструкции сборки приложения (Makefile), чтобы установить все, что нужно, с помощью одной команды make install
.
Все это работало, пока UNIX не превратился в мейнстрим и не начал распадаться на форки и клоны. Проблема состояла уже не в удобстве установки, а в том, что самих приложений уже было много, они могли зависеть друг от друга и требовать модификации для правильной работы в той или иной UNIX-подобной ОС.
Так появилась система портов BSD. По сути, это был сборник рецептов, который позволял скачивать, патчить, компилировать и устанавливать приложения в автоматическом режиме. С его же помощью приложение можно было корректно удалить, так, чтобы в системе не осталось никаких хвостов.
Красота системы портов состояла в том, что она позволяла не только устанавливать и удалять приложения, собранные из исходников, но и формировать из этих же исходников бинарные пакеты. Вскоре стало ясно, что пользователям гораздо удобнее ставить уже готовые пакеты, вместо того чтобы ждать окончания компиляции. Началась эра менеджеров пакетов.
В дистрибутивах Linux менеджер пакетов — де-факто стандарт. В отличие от тех же BSD, где есть четкая граница между неделимой базовой частью системы и набором установленных поверх нее портов/пакетов, дистрибутивы GNU/Linux состоят исключительно из пакетов. Ядро — отдельный пакет, базовый набор утилит командной строки — другой пакет, библиотека libc (главная часть системы после ядра) — еще один пакет.
Такое разделение не случайно, это сама суть GNU/Linux — множество написанных разными людьми компонентов, которые работают сообща. Но у этого подхода есть множество проблем. За сохранением зависимостей между пакетами необходимо строго следить; замена всего лишь одного системного пакета может привести к неработоспособности всей системы. Для обновления дистрибутива до новой версии приходится придумывать костыли: обновлять все базовые компоненты дистрибутива необходимо так, чтобы система не осталась в пограничном состоянии (когда часть пакетов обновлена, а часть нет).
Ну и конечно же, известное всем линуксоидам ограничение, когда ты просто не можешь установить две разные версии приложения. Содержимое пакета копируется в системные каталоги вместо своего выделенного, а даже если установка в выделенный каталог возможна, наверняка возникнут проблемы с зависимостями: приложение требует библиотеку libxyz.1.2, а в системе установлена libxyz.1.3, и ее версию нельзя понизить, потому что пакетный менеджер начнет ворчать, что приложения abc и bca требуют именно версию 1.3.
В общем, все сложно. Но есть несколько методов решить эти проблемы уже сегодня, и все они воплощены в Endless OS.
Endless OS
Endless OS — детище молодой компании Endless Mobile, которая специализируется на выпуске недорогих компактных компьютеров для развивающихся стран. Типичный представитель целевой аудитории Endless Mobile — африканец из глухой деревни, где даже мобильная связь — это роскошь. Поэтому Endless Computer — не просто недорогой, но и интуитивно понятный комп, не требующий подключения к интернету.
Полный образ Endless OS весит около 14 Гбайт и включает в себя больше 100 приложений на все случаи жизни и больше 50 тысяч статей из Википедии, а также различные обучающие программы. Есть и базовый образ на 2 Гбайт, содержащий только самое необходимое. Все остальное можно поставить из магазина приложений
В качестве рабочего стола Endless OS использует сильно модифицированную версию GNOME под названием EOS Shell. Это действительно очень простая среда, лишенная многих концепций стандартных десктопов. Это скорее планшетный или телефонный интерфейс, чем десктопный: панель переключения задач с треем, набор иконок и папок на рабочем столе и строка поиска, выполняющая поиск одновременно в Google и на жестком диске.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»