17.1 Что такое deb-пакеты, или куда девались exe
17.1 Что такое deb-пакеты, или куда девались exe
Ubuntu имеет принципиально отличное от Windows отношение к устанавливаемым программам. Во-первых, в Windows каждое приложение при установке ставит в свою папку свою собственную копию всех необходимых ему для работы библиотек, а в Ubuntu установочные файлы содержат только само ПО, оставляя вопрос предоставления необходимых библиотек на совесть системы[70]. Во-вторых, Ubuntu, как и любой Linux, поощряет использование для каждой программы отдельных текстовых файлов для сохранения конфигурации, а Windows только сейчас начал переходить на подобную политику, до этого использовалось весьма странное образование с названием реестр. В-третьих, для того, чтобы найти нужную программу для Windows нужно либо перерыть весь интернет, либо достать откуда-то установочный диск, а потом ещё пройти через длительную процедуру установки, в Ubuntu же всё необходимое ПО скачивается и устанавливается автоматически по запросу пользователя. Вы просто говорите: мне нужна такая-то программа, Ubuntu сама её скачает и поставит, в подавляющем большинстве случаев вам вообще ничего не придётся делать. В-четвёртых, Ubuntu гораздо лучше чем Windows относится к вопросам интеграции ПО в систему, в частности, вам никогда не придётся перезагружать компьютер после установки нового ПО[71]. Есть ещё много аспектов системы управления приложениями Ubuntu, есть также некоторые недостатки, надеюсь, вы всё поймёте после того, как я объясню основы работы пакетной системы Ubuntu.
Итак, программы для Ubuntu поставляются в виде так называемых deb-пакетов. Deb-пакет — это обычный архив, содержащий файлы устанавливаемого приложения и различную вспомогательную информацию. Вообще говоря, поставить программу из deb-пакета очень просто, нужно всего лишь попытаться открыть такой файл из системы, кликнув по нему два раза левой кнопкой мыши. Появится окно установки с описанием программы:
Рис. 17.1: Окно установки нового пакета.
Рис. 17.1: Окно установки нового пакета.
Дальше вам надо будет нажать на кнопку «Установить пакет», ввести свой пароль и дождаться окончания процесса установки. Ничего сложного[72].
Для установки новых приложений в Ubuntu вы должны обладать правами администратора.
Однако это только самый простейший случай, который используется крайне редко по причине того, что гораздо удобней и правильней устанавливать программы через репозитории.
Обратите внимание, прямой установки deb-пакетов стоит избегать. Вместо этого гораздо предпочтительней использовать репозитории. Если же нужного вам приложения в репозиториях нет, то в любом случае устанавливайте пакеты, скачанные только с официальных сайтов разработчиков, иначе вы рискуете получить вредоносную программу вместо желаемой или же вместе с ней.
Надо сразу сказать, что основное отличие deb-пакетов от программ-установщиков приложений из Windows заключается в так называемых зависимостях. Я писал выше, что deb-пакеты оставляют вопрос предоставления необходимых библиотек на совесть системы. Так вот, делают это они с помощью указания зависимостей. Зависимость это то, что должно стоять в системе для обеспечения работы устанавливаемого приложения. Если система не может разрешить зависимости, то новый пакет не будет установлен. Правда на практике такого никогда не случается, потому как Ubuntu всегда автоматически разрешает все зависимости и скачивает недостающие пакеты из интернета без участия пользователя. Однако если у вас нет интернета, то зависимости придётся разрешать вручную[73].
Попробую пояснить на примере. Допустим у вас есть пакет xxxx, зависящий от пакета yyyy. При попытке поставить xxxx система проверит, стоит ли в ней уже yyyy. Если да, то пакет будет поставлен без всяких вопросов. Если же нет, то Ubuntu обратится к репозиторию, скачает с него пакет yyyy, затем поставит сначала его и только потом xxxx. Всё это происходит в автоматическом режиме и не требует участия пользователя.
На всякий случай скажу, что абсолютно все компоненты системы входят в состав какого-нибудь пакета. Т. е. вся система как бы собрана из кирпичиков — deb-пакетов. Любой системный файл относится к какому-нибудь пакету и вообще весь учёт файлов программ происходит в автоматическом режиме в рамках программы управления пакетами. Поэтому пользователю даже не надо указывать место для установки новой программы, всё это записано внутри пакета и не подлежит изменению[74]. Удаление также происходит в автоматическом режиме.
Пользователю в Ubuntu вообще не надо задумываться о вопросах установки или удаления приложений. Хотите что-то поставить? Пожалуйста! Удалить? Тоже без проблем. Система всё сделает и настроит за вас. Единственное неудобство — это необходимость наличия интернета, хотя и это можно обойти.
Если вы запутались во всём этом — ничего страшного, надеюсь, после прочтения следующих глав всё разложится по полочкам. С первого взгляда вся эта система может показаться сложной и запутанной, но на самом деле она крайне проста и очень элегантна.