Пакеты бинарных и исходных кодов: что использовать?

Независимо от менеджера пакетов

вы используете, у вас есть два способа установки программ в Linux. Вы либо используете готовый пакет, либо сами его компилируете. В наши дни первый обычно побеждает по умолчанию. Однако бывают случаи, когда вы должны рассмотреть альтернативу.

Что такое бинарные пакеты?

Установка программ в Linux обычно отличается от установки в Windows. Вместо того, чтобы удалять установщики с веб-сайта поставщика, файлы извлекаются из репозитория программ, обычно с учетом

для вашей операционной системы.

Файлы для отдельных программ хранятся в архиве

, Это объединяет все в один файл для быстрого доступа позже. Например, Debian использует формат DEB для хранения своих программ. Эти связки называются бинарные пакеты.

формат пакета deb

Для установки требуется специальная программа для распаковки этих файлов и помещения их на компьютер. То есть ваш менеджер пакетов (например, APT, Yum и т. Д.). Он также выполняет другие полезные функции, такие как отслеживание установленных файлов и управление обновлениями программного обеспечения.

Откуда берутся посылки?

Все программное обеспечение написано в строках текста, называемых исходным кодом. Они написаны на определенных языках программирования

, такие как C или C ++. Как правило, однако, вы не можете просто связать это в архив и назвать его пакетом. Эти строки должны быть переведены на язык, который ваш компьютер может понимать и выполнять.

Этот процесс называется компиляцией

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

,

Что такое установка «Из источника»?

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

В большинстве случаев вы можете загрузить исходный код проекта с таких хостинговых сервисов, как GitHub или BitBucket.

, Большие программы могут даже разместить его на личном веб-сайте. Код обычно архивируется в архивном формате (также известном как исходный пакет).

дерево исходных пакетов

Специальный набор инструментов помогает автоматизировать процесс строительства. На рабочих столах Linux это обычно происходит в форме командной строки

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

этот процесс.

Emacs Makefile

Для этого программы предоставляют make с Makefile это говорит ему, что делать и компилировать. В наши дни его обычно автоматически генерирует специальное программное обеспечение, такое как CMake. Это где пользователь входит. Потому что отсюда они могут точно указать, какие функции они хотели бы собрать в свое собственное программное обеспечение.

Быстрая демонстрация

Например, приведенная ниже команда создает файл конфигурации для Calligra Office Suite

используя CMake. Созданный файл говорит программе make только компилировать писатель компонент каллигры.

cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra

Сделав это, все, что нужно сделать человеку, это запустить инструмент make, чтобы скомпилировать и скопировать результаты на свой компьютер. Это делается следующим образом:

make
make install

Хотя это общий шаблон для компиляции программ, существует множество других способов установки исходных пакетов. Gentoo Linux

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

Преимущества использования бинарных пакетов

Если вы используете Linux, скорее всего, установленные вами программы предварительно скомпилированы. В наши дни это гораздо чаще, чем использование исходных пакетов. Есть несколько причин, почему это так.

Проще управлять

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

отслеживать все ваши программы. Например, файлы DEB (формат пакета для Debian

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

формат пакета deb

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

Сравните это с установкой программ из исходного кода. Если вы не скомпилируете код в собственный двоичный пакет, вы будет отвечать за управление этим программным обеспечением. Вам нужно помнить, какие другие программы вам нужны, чтобы они работали, и устанавливать их самостоятельно.

Улучшенная стабильность

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

Например, в репозиториях Debian есть несколько пакетов, к которым применены исправления. Это может даже включать большие программы, такие как веб-браузеры

!

патчи Debian

Наряду с этим, пакеты обычно должны придерживаться строгого набора правил, чтобы гарантировать, что они будут работать в вашей системе. Например, как в Debian, так и в Ubuntu есть руководство по политике, как и во многих других операционных системах Linux.

Некоторые программы также используют разные версии одной и той же зависимости от программного обеспечения. Репозитории пакетов делают все возможное, чтобы разрешить эти конфликты, поэтому вам не нужно беспокоиться об этом.

Преимущества компиляции исходных пакетов

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

Последнее программное обеспечение

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

они могут даже предпочесть немного нестабильности в обмен на это.

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

в репозитории, чем установка из источника.

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

Также возможно, что ваша операционная система Linux не имеет программного обеспечения, которое вы хотите предварительно сделать для вас. Если это так, то установка его из исходных текстов — ваш единственный выбор.

Тщательно выбирать

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

Например, посмотрите на FFmpeg, конвертер аудио и видео на основе командной строки

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

только.

особенности ffmpeg

Компиляция FFmpeg позволяет вам убрать из него то, что вам не нужно, сделать его более легким и приспособленным к вашим потребностям. И то же самое относится и к другим тяжелым программам.

Когда ресурсов недостаточно, удаление функций может стать отличным способом облегчить нагрузку. Неудивительно, что Chrome OS

, найденный на многих компьютерах низкого уровня, основан на Gentoo Linux. Gentoo, основанный на исходных текстах, компилирует большую часть своего программного обеспечения, потенциально делая эти системы намного более легкими.

Почему бы не установить с обоими?

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

Вам когда-нибудь приходилось компилировать программное обеспечение раньше? Зачем?

Изображение предоставлено: Андрей Симоненко через Shutterstock.com

Ссылка на основную публикацию
Adblock
detector