Помимо открытого исходного кода, возможность настройки является еще одной причиной, по которой многие пользователи любят Linux: вы можете изменить и настроить почти каждый файл в соответствии со своими конкретными потребностями и стилем. Сюда входит возможность пересобрать пакет из исходного кода.
Возможность пересобрать пакет из исходного кода может быть полезна любому опытному пользователю Linux, поскольку позволяет изменять пакеты, включать или отключать функцию или даже применять собственные модификации.
В этой статье описаны простые шаги по восстановлению пакета из исходного кода.
Также читайте: Linux работает слишком медленно? Вот как найти причину
1. Включить репозитории исходного кода
Первым шагом перед пересборкой исходного пакета является включение репозиториев исходного кода для вашего дистрибутива. Включение репозиториев исходного кода позволяет вам искать и загружать пакеты исходного кода с помощью менеджера пакетов подходящий по умолчанию.
В системах Debian вы можете добавить пакеты исходного кода, отредактировав файл «/etc/apt/sources.list».
Например, ниже показано содержимое «sources.list
Contents
1. Включить репозитории исходного кода
етами.deb http://deb.debian.org/debian buster main deb-src http://deb.debian.org/debian buster main deb http://deb.debian.org/debian-security/ buster/updates main deb-src http://deb.debian.org/debian-security/ buster/updates main deb http://deb.debian.org/debian buster-updates main deb-src http://deb.debian.org/debian buster-updates main
deb-src
включает исходные пакеты, информируя менеджера пакетов о необходимости предоставить нам исходный пакет, а не обычный двоичный файл.
После включения сохраните файл и обновите систему с помощью команды:
sudo apt-get update
2. Получить исходный пакет
После запуска процесса обновления вы можете получить исходный пакет для изменения вашей системы.
Например, давайте воспользуемся пакетом tar. Начните с создания каталога для хранения исходных пакетов:
mkdir apt-rebuilds cd apt-rebuilds
Далее загрузите исходный пакет с помощью команды:
apt-get source tar
Чтобы просмотреть файлы в каталоге:
ls -la
3. Проверьте и установите зависимости сборки
Следующий шаг включает проверку и установку необходимых зависимостей сборки для пакета, который вы хотите пересобрать.
Внутри каталога с исходными пакетами введите команду ниже, чтобы проверить наличие неудовлетворенных зависимостей сборки.
sudo dpkg-checkbuilddeps
Команда отобразит все неудовлетворенные зависимости пакета. Хотя вы можете установить их вр
2. Получить исходный пакет
ьзоватьapt
для установки исходных пакетов.
Для этого используйте команду:
sudo apt-get build-dep tar
Приведенная выше команда извлечет зависимости и установит их.
4. Изменить пакет
На этом этапе вам нужно будет внести изменения в пакет и включить или отключить любую необходимую вам функцию. (Это широкий аспект, и поэтому мы не можем охватить все изменения, которые вы можете внести для каждого пакета.)
После внесения всех изменений и личных настроек перекомпилируйте исходный код и сохраните его под другим номером версии. Сделать это можно с помощью команды:
dch --local tar
При выполнении этой команды вам будет предложено выбрать нужный редактор и запустить журнал изменений для редактирования.
Вы можете добавить несколько строк для описания внесенных изменений и изменения версии.
5. Пакет сборки
Последний шаг — сборка исходного пакета. Убедитесь, что вы находитесь в каталоге исходного пакета, и выполните команду:
dpkg-buildpackage --force-sign
Команда инициализирует процесс сборки, используя все изменения, внесенные на предыдущем шаге.
В зависимости от изменений и пакета, который требуется пересобрать, процесс может занять несколько минут или дольше.
6. Установить пакет
После завершения процесса сборки в родительском каталоге будет сгенерирован двоичный пакет. Для установки достаточно использовать команду dpkg
:
sudo dpkg -i *.deb
В заключение
Создание пакетов — это обязательный навык для любого администратора Linux и хороший навык для обычного пользователя Linux. Теперь, когда вы знаете, как собрать пакет из исходного кода, вы также можете изучить 4. Изменить пакетлы в Linux">как легко переименовать файлы в Linux и как использовать и редактировать файл Hosts в Linux .