мой вопрос очень простой, но я думаю, что он создаст широкий спектр ответов, предложений и так далее;)
Как я могу создавать пакеты для системы Linux, такой как Ubuntu или Debian, и публиковать их через корневой сервер?
Система пакетов Debian - один из самых элегантных методов установки, обновления и удаления программного обеспечения, доступных в общедоступном репозитории. Если вам нужно создать и поддерживать неофициальный репозиторий пакетов Debian, вы можете рассмотреть несколько советов. Здесь я кратко опишу некоторые шаги, чтобы получить ваш публичный репозиторий Debian.
Для начала установите необходимые пакеты:
sudo apt-get install build-essential devscripts debhelper dh-make diff patch gnupg fakeroot lintian linda pbuilder
and may be cdbs if you intend to use it in your rules file :
sudo apt-get install cdbs
Создайте рабочий каталог и перейдите в исходный код вашего пакета, который вы собираетесь собрать.
mkdir packages
cp mypackage-0.1.tar.gz packages
cd packages
Set the maintainer email and full name, this information will be used in the package meta data information.
export DEBEMAIL="user@address"
export DEBFULLNAME ="full name"
After run dh_make, a few questions will pop up which should be answered accordingly, this tool will extract some templates into packages/debian directory. for more information about that run dh_mahe -h
dh_make
There are many files needed to create .deb package that are stored in the project’s root directory packages/debian. for setting changes necessary to these files you have to know some informatins about your package: dependencies, copyright, changelog, makefile ... please refer to это туто The next step to build the binaries package which is built calling the following commands in the ./debian directory:
cd debian
debuild -rfakeroot
This will do everything for you. It will:
Допустим, наш репозиторий будет содержать только два подкаталога: двоичный и исходный.
dpkg-scanpackages сканирует пакеты .deb; dpkg-scansources сканирует файлы .dsc.
Таким образом, необходимо объединить файлы .orig.gz, .diff.gz и .dsc. Файлы .changes не нужны.
создайте каталог репозитория в вашем www следующим образом:
sudo mkdir -p /var/www/repository/{binary,source}
Move your deb and source package into /var/www/repository/{binary,source} and generate the index.
$ cp mypackage-0.1-1.deb /var/www/repository/binary/
$ cp mypackage-0.1-1.tar.gz /var/www/repository/source/
$ cd /var/www/repository
$ dpkg-scanpackages binary /dev/null | gzip -9c > /var/www/repository/binary/Packages.gz
$ dpkg-scansources source /dev/null | gzip -9c > /var/www/repository/source/Sources.gz
Lastly, add this your your source.lst to be able to get your package from the repository.
deb http: // yourwebserver / репозиторий binary/
deb-src http: // yourwebserver / репозиторий source/
Я надеюсь, что это может помочь, для получения дополнительной информации обратитесь к полной документации:
- Руководство сопровождающего Debian
- Руководство по упаковке Ubuntu
Вы можете создавать пакеты, используя документацию по адресу
Когда ваши пакеты будут готовы, вы можете использовать dpkg-scanpackage для создания файлов пакетов, необходимых для перечисления вашего программного обеспечения.
В качестве альтернативы вы можете использовать apt-ftparchive, который требует немного дополнительной настройки, но может использоваться для больших репозиториев с разными архитектурами и т. Д. Вы можете найти хорошее руководство по apt-ftparchive
Возможно, вам также стоит взглянуть на ubuntu ppas. Это служба автоматической сборки и репозиторий для ubuntu и debian.
В проверить установку Инструмент автоматически создаст пакеты .deb / .rpm и slackware, наблюдая за тем, что скрипт установки или make-файл делает для установки чего-либо. Для менее сложных пакетов (без большого количества сценариев до и после установки) он работает достаточно хорошо.
Однако я бы не стал слепо публиковать пакет, созданный с помощью checkinstall, для широкой публики. Я использую его только для комплектации вещей, которые мы устанавливаем в локальной офисной сети.
Тем не менее, это стоит проверить. За последний год в него было вложено много работы, чтобы заставить его правильно и без ворса собирать даже сложные пакеты.
Мне это нравится, потому что его очень легко вставить в любую систему сборки и заполнить тривиальные репозитории.
Взгляните на Руководство для новых сопровождающих Debian.
Если вы в основном используете ubuntu, вам следует прочитать следующее:
https://help.launchpad.net/Packaging
Я предлагаю вам использовать панель запуска для размещения ваших пакетов, если пакеты не являются частными для вашей компании. Вам также следует прочитать Руководство по базовой упаковке Ubuntu, для получения подробных инструкций по сборке пакетов из исходных кодов.