Поиск по сайту:

Как установка программного обеспечения и менеджеры пакетов работают в Linux


Для установки программного обеспечения в Linux используются менеджеры пакетов и репозитории программного обеспечения, а не загрузка и запуск файлов .exe с веб-сайтов, как в Windows. Если вы новичок в Linux, это может показаться резким сдвигом в культуре.

Хотя вы можете скомпилировать и установить все самостоятельно в Linux, менеджеры пакетов созданы для того, чтобы делать всю работу за вас. Использование диспетчера пакетов упрощает установку и обновление программного обеспечения по сравнению с Windows.

Linux против Windows

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

Репозитории программного обеспечения

Пользователи Linux обычно не загружают и не устанавливают приложения с веб-сайтов приложений, как это делают пользователи Windows. Вместо этого каждый дистрибутив Linux содержит свои собственные репозитории программного обеспечения. Эти репозитории содержат пакеты программного обеспечения, специально скомпилированные для каждого дистрибутива и версии Linux. Например, если вы используете Ubuntu 12.04, используемые вами репозитории содержат пакеты, специально скомпилированные для Ubuntu 12.04. Пользователь Fedora использует репозиторий, полный пакетов, специально скомпилированных для его версии Fedora.

Менеджеры пакетов

Думайте о диспетчере пакетов как о магазине мобильных приложений, за исключением того, что они появились задолго до магазинов приложений. Скажите диспетчеру пакетов установить программное обеспечение, и он автоматически загрузит соответствующий пакет из настроенных репозиториев программного обеспечения, установит его и настроит — и все это без необходимости щелкать мастерами или искать файлы .exe на веб-сайтах. Когда выпускается обновление, ваш менеджер пакетов замечает и загружает соответствующее обновление. В отличие от Windows, где каждое приложение должно иметь свой собственный модуль обновления для получения автоматических обновлений, диспетчер пакетов обрабатывает обновления для всего установленного программного обеспечения — при условии, что они были установлены из репозиториев программного обеспечения.

Что такое пакет?

В отличие от Windows, где приложения поставляются в виде установочных файлов .exe, которые могут делать с системой все, что им заблагорассудится, в Linux используются специальные форматы пакетов. Существует множество типов пакетов — прежде всего DEB в Debian и Ubuntu и RPM в Fedora, Red Hat и других. Эти пакеты по сути являются архивами, содержащими список файлов. Менеджер пакетов открывает архив и устанавливает файлы в место, указанное пакетом. Менеджер пакетов всегда знает, какие файлы принадлежат каким пакетам — когда вы удаляете пакет, менеджер пакетов точно знает, какие файлы в системе ему принадлежат. Windows не знает, какие файлы принадлежат установленному приложению — она позволяет установщикам приложений самостоятельно управлять установкой и удалением.

Пакеты также могут содержать сценарии, которые запускаются при установке и удалении пакета, хотя обычно они используются для настройки системы, а не для перемещения файлов в произвольные места.

Установка программного обеспечения в Linux

Чтобы установить программное обеспечение в Linux, откройте диспетчер пакетов, найдите программное обеспечение и скажите менеджеру пакетов установить его. Ваш менеджер пакетов сделает все остальное. Дистрибутивы Linux часто предлагают различные интерфейсы для менеджера пакетов. Например, в Ubuntu программный центр Ubuntu, диспетчер обновлений, приложение Synaptic и команда apt-get используют apt-get и dpkg для загрузки и установки пакетов DEB. Вы можете использовать любые утилиты, которые вам нравятся — они просто предоставляют разные интерфейсы. Обычно вы найдете простой графический менеджер пакетов в меню вашего дистрибутива Linux.

Задержки обновления

Одна вещь, которую новые пользователи Linux часто замечают в менеджерах пакетов и репозиториях, — это задержка перед тем, как новые версии программного обеспечения попадают в их системы. Например, когда будет выпущена новая версия Mozilla Firefox, пользователи Windows и Mac приобретут ее у Mozilla. В Linux ваш дистрибутив Linux должен упаковать новую версию и выпустить ее как обновление. Если вы откроете окно настроек Firefox в Linux, вы заметите, что Firefox не имеет возможности автоматически обновлять себя (при условии, что вы используете версию Firefox из репозиториев вашего дистрибутива Linux).

Вы также можете загрузить и установить приложение самостоятельно — например, загрузив Firefox непосредственно из Mozilla, — но это может потребовать компиляции и установки программного обеспечения из исходного кода и лишит вас преимуществ менеджеров пакетов, таких как автоматические централизованные обновления безопасности.

Хотя новые версии Firefox являются приоритетными, поскольку они содержат обновления безопасности, другие приложения могут поставляться не так быстро. Например, основная новая версия офисного пакета LibreOffice может никогда не быть выпущена в качестве обновления для текущей версии вашего дистрибутива Linux. Чтобы избежать потенциальной нестабильности и дать время для тестирования, эта версия может быть недоступна до следующего основного выпуска вашего дистрибутива Linux — например, Ubuntu 12.10 — когда она станет версией по умолчанию в репозиториях программного обеспечения дистрибутива.

Чтобы решить эту проблему, некоторые дистрибутивы Linux, такие как Arch Linux, предлагают «циклы непрерывного выпуска», когда новые версии программного обеспечения помещаются в основные репозитории программного обеспечения. Это может вызвать проблемы — хотя вам могут понадобиться новые версии настольных приложений, вас, вероятно, не интересуют новые версии низкоуровневых системных утилит, которые потенциально могут привести к нестабильности.

Ubuntu предлагает репозиторий бэкпортов для переноса новых версий важных пакетов в старые дистрибутивы, хотя не все новые версии попадают в репозиторий бэкпортов.

Другие репозитории

Хотя дистрибутивы Linux поставляются с предварительно настроенными собственными репозиториями, вы также можете добавить в свою систему другие репозитории. После этого вы можете устанавливать репозитории программного обеспечения из этого репозитория и получать из него обновления с помощью диспетчера пакетов. Добавляемый вами репозиторий должен быть разработан для вашего дистрибутива Linux и менеджера пакетов.

Например, Ubuntu предлагает широкий выбор личных архивов пакетов (PPA), которые содержат программное обеспечение, скомпилированное отдельными лицами и командами. Ubuntu не ручается за стабильность или безопасность пакетов в этих репозиториях, но вы можете добавить PPA от доверенных лиц для загрузки пакетов, которых еще нет в репозитории Ubuntu, или загрузить более новые версии существующих пакетов.

Некоторые сторонние приложения также используют собственные репозитории программного обеспечения. Например, когда вы устанавливаете Google Chrome на Ubuntu, он добавляет в вашу систему собственный репозиторий apt. Это гарантирует, что вы будете получать обновления для Google Chrome через диспетчер обновлений Ubuntu и стандартные инструменты установки программного обеспечения.