Если вы используете основной дистрибутив Linux, такой как Ubuntu или Fedora, он должен иметь менеджер пакетов, который позволяет легко устанавливать бинарные пакеты ( ДЭБ или об/мин ) в вашей системе. Однако, если вы планируете настроить устанавливаемое программное обеспечение, например добавить дополнительные функции, возможно, вам захочется использовать исходные пакеты и скомпилировать их самостоятельно.
Есть несколько причин, по которым у вас может возникнуть соблазн. попробуйте это сами:
- Когда вы компилируете что-то локально, вы получаете версию программного обеспечения, гораздо более адаптированную к вашему оборудованию, что может дать некоторый прирост производительности (напротив, предварительно скомпилированные двоичные файлы часто ориентированы на «наименьший общий знаменатель», ” и не сможет воспользоваться преимуществами более мощных машин).
- Компиляция из исходного кода также дает вам возможность включать или отключать определенные функции программного обеспечения. Хотя в некоторых случаях это требует изменения кода, в некоторых случаях это так же просто, как добавить или удалить флаг из команд сборки.
- Наконец, членам сообщества свободного программного обеспечения никогда не помешает изучить, как создаются все эти замечательные приложения. Хотя компиляция из архива исходного исходного кода может выходить за рамки того, что делает обычный пользователь, использование пакетов исходного кода позволяет нам, простым смертным пользователям, заглянуть в процесс разработки и компиляции.
Структура исходных пакетов DEB
Когда вы загружаете исходный пакет DEB из репозитория, менеджер пакетов будет иметь дело с тремя основными файлами (показаны в репозитории Ubuntu ниже):
- [имя пакета]_[номер версии].orig.tar.gz : этот файл содержит исходный код от разработчиков исходной программы или исходной программы.
- [имя пакета]_[номер версии]build1.debian.tar.gz : этот архив содержит приведенный выше код со всеми изменениями, необходимыми для его совместимости с системами на базе DEB. ли>
- [имя пакета]_[номер версии]build1.dsc : описание файлов в пакете, которое также может включать подпись.
Установка исходных пакетов DEB
Система DEB и сопутствующие инструменты упрощают загрузку и компиляцию версий программного обеспечения из репозиториев APT. Следующие шаги описывают этот процесс:
Во-первых, вам необходимо установить программное обеспечение, которое позволит вам компилировать другое программное обеспечение. Введите следующую команду из терминала:
sudo apt-get install build-essential
Вам также необходимо убедиться, что у вас включены репозитории исходного кода.
Проверьте «Источники программного обеспечения» в диспетчере пакетов и убедитесь, что опция «Исходный код» отмечена.
Кроме того, проверьте файл «/etc/apt/sources.list» и убедитесь, что следующие строки отображаются без знака «#» перед ними (если это так, просто удалите его и сохраните файл):
deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse
Инструмент apt-src
— это версия «apt-get», которая работает с исходными пакетами. Установите его следующим образом:
sudo apt-get install apt-src
Примечание : если вы сначала установите этот пакет, он также установит для вас пакет build-essentials
Далее вам может потребоваться получить некоторые библиотеки или другое программное обеспечение, необходимое для сборки нужного вам пакета (это зависимость, но она отличается от зависимости, с которой вы можете столкнуться при установке бинарных пакетов).
sudo apt-get build-dep [package name]
Теперь вы можете скачать пакет. Следующая команда автоматически скачает пакет, скомпилирует его и установит:
sudo apt-src --build install [package]
Если вы предпочитаете загрузить исходный пакет, чтобы заглянуть внутрь или внести некоторые изменения, вы можете загрузить его, а затем установить, как только он появится в вашей локальной системе, с помощью следующего:
sudo apt-src install [package name]
(При этом будут загружены исходные файлы, указанные выше)
sudo apt-src build [package name]
(Пакет будет собран из загруженных файлов)
sudo dpkg -i [package file name(s)].deb
Исходные пакеты Debian и связанные с ними инструменты — отличный способ начать изучать, как создается свободное программное обеспечение. Как член сообщества вы обязаны попробовать его и оценить всю тяжелую работу, которую вложили разработчики.