Как установка программного обеспечения и менеджеры пакетов работают в Linux
Для установки программного обеспечения в Linux требуются менеджеры пакетов и хранилища программного обеспечения, а не загрузка и запуск файлов .exe с веб-сайтов, таких как в Windows. Если вы новичок в Linux, это может показаться драматическим изменением культуры.
Хотя вы можете самостоятельно скомпилировать и установить все в Linux, менеджеры пакетов предназначены для того, чтобы сделать всю работу за вас. Использование диспетчера пакетов упрощает установку и обновление программного обеспечения, чем в Windows.
Linux против Windows
Существует множество дистрибутивов Linux и множество менеджеров пакетов. Linux построен на основе программного обеспечения с открытым исходным кодом, что означает, что каждый дистрибутив 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 предлагает репозиторий backports для переноса новых версий значимых пакетов в более старые дистрибутивы, хотя не все новые версии попадают в репозиторий backports..
Другие хранилища
Хотя дистрибутивы Linux поставляются с предварительно настроенными собственными репозиториями, вы также можете добавить другие репозитории в свою систему. После этого вы можете установить репозитории программного обеспечения из этого репозитория и получать от него обновления с помощью диспетчера пакетов. Добавляемый репозиторий должен быть разработан для вашего дистрибутива Linux и менеджера пакетов.
Например, Ubuntu предлагает широкий спектр личных архивов пакетов (PPA), которые содержат программное обеспечение, составленное отдельными лицами и группами. Ubuntu не ручается за стабильность и безопасность пакетов в этих репозиториях, но вы можете добавить PPA от доверенных лиц, чтобы загрузить пакеты, которых еще нет в репозитории Ubuntu, или загрузить более новые версии существующих пакетов..
Некоторые сторонние приложения также используют свои собственные программные репозитории. Например, когда вы устанавливаете Google Chrome в Ubuntu, он добавляет свой собственный репозиторий apt в вашу систему. Это обеспечивает получение обновлений для Google Chrome с помощью диспетчера обновлений Ubuntu и стандартных инструментов установки программного обеспечения..