ГлавнаяОперационные системыLinuxОсновы управления пакетами Debian: пакеты DEB

Основы управления пакетами Debian: пакеты DEB [Linux 101]

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

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

  • RPM, или формат Red Hat Package Manager, первоначально разработанный Red Hat.
  • DEB или формат пакета Debian, выпущенный вместе с начальной версией Debian 1.0.
  • TGZ — формат, используемый, среди прочего, в Slackware.

В свое время действительно сложно найти DEB-пакеты некоторого программного обеспечения. Преобразование в формат DEB с помощью «чужого» инструмента — один из единственных доступных вариантов, если только он не находится в одном из репозиториев Debian. С появлением Canonical и Ubuntu упаковка программного обеспечения в формате DEB стала гораздо более распространенной. Давайте посмотрим, как устроен пакет DEB.

Основы пакета DEB

Пакеты DEB на самом деле представляют собой архивы, сжатые с помощью команды «ar». «ar» устанавливается в системах Ubuntu «из коробки», поэтому вы можете запустить его из командной строки. Команда для извлечения всех файлов из архива:

ar -x *filename*

пакет deb-basics

пакет deb-basics

Поэтому возьмите откуда-нибудь пакет Debian (либо загрузите его с веб-сайта, либо, если вы недавно использовали «apt-get», у вас может быть какой-то кэш в «/var/cache/apt»). /archives/»), выполните на нем приведенную выше команду.

Базовый па

Основы пакета DEB

ит из трех основных частей:

  • Файл под названием “debian-binary”
  • Сжатый с помощью gzip архив TAR под названием “control.tar.gz”, который содержит данные о пакете (например, зависимости).
  • Архив TAR в формате gzip под названием “data.tar.gz”, который содержит все файлы, включая основной исполняемый файл, любую документацию и т. д.

Файл «debian-binary»

Это просто: этот текстовый файл содержит только текст «2.0» и возврат каретки. Это сообщает менеджеру пакетов, какая версия формата DEB представляет собой этот пакет.

Файл «control.tar.gz»

«control.tar.gz» сам по себе является архивом (чаще всего в сжатом формате TAR, хотя поддерживаются и некоторые другие). Он будет содержать один или несколько текстовых файлов:

  • Файл с именем «control», который содержит информацию об устанавливаемом пакете, о том, какие еще пакеты ему могут потребоваться для запуска и кто его обслуживает.
  • Два дополнительных файла, “preinst”и “postinst”, которые представляют собой сценарии оболочки, запускаемые до и после установки соответственно.
  • Два дополнительных файла, “prerm”и “postrm”, которые представляют собой сценарии оболочки, запускаемые до и после удаления соответственно.

Вы можете использовать это для выполнения некоторой настройки до или после установки пакета (например, если ваш пакет требует открытия определенного порта брандмауэра, вы можете использовать сценарий “postrm”для вызовите «ufw», чтобы создать правило брандмауэра).

Файл «data.tar.gz»

Самая важная часть, о которой нам следует беспокоиться, — это файл “data.tar.gz”, поскольку нам нужно будет создать структуру каталогов для наших файлов. Также стоит взглянуть на Стандарт иерархии файловой системы, который пред

Файл «debian-binary»

логов, которой придерживается большинство дистрибутивов Linux, включая Ubuntu. Для двоичных пакетов (т. е. если вы не создаете «исходный пакет», который система может автоматически скомпилировать в двоичный пакет), наиболее важными каталогами являются:Файл «control.tar.gz»ng> : здесь следует размещать любую общесистемную конфигурацию приложения.
  • /usr/bin : здесь должны находиться основные исполняемые файлы вашей программы.
  • /usr/lib : все общие библиотеки, которые вы используете для своей программы (если вы программируете на таком языке, как C++), должны находиться здесь и/или в отдельном пакете. здесь подкаталог (с названием вашей программы).
  • /usr/share/doc : Если вы планируете включить в свою программу какую-либо документацию, например файл README или документацию HTML/PDF, ее следует разместить здесь, в подкаталоге. назван в честь вашей программы.
  • /usr/share/icons : если у программ с графическим интерфейсом есть значок, вы можете разместить его здесь. Этот каталог обычно делится на подкаталоги в зависимости от темы значка и/или размера значка, но вы можете просто создать значок и поместить его в основной каталог.
  • Теперь, когда вы знаете, как выглядит пакет DEB в разобранном виде, в следующей статье мы увидим, как его собрать.

    Файл «data.tar.gz»

    ПОХОЖИЕ СТАТЬИ

    Популярные записи