TGViewer
LinuxCamp | DevOps LinuxCamp | DevOps @linuxcamp_tg · 13.6K subscribers
Post #59 5.58K
Что такое бинарный пакет (deb, rpm)?

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

Репозитории для серверных изданий содержат одни пакеты, хомяки (Home Edition), в свою очередь, могут поставляться с другими: окружения рабочего стола, графические утилиты и т.д. Самыми распространенными расширениями пакетов в Linux являются .deb (Debian) и .rpm (Red Hat Package Manager).

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

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

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

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

Пользователю не нужно подтягивать исходный код приложения и решать головоломку с его компиляцией - на его стороне все решается одним кликом.

Чем отличается .deb от .rpm?

Пакеты с расширением .deb используются в "Debian based" дистрибутивах: Ubuntu, Mint, Deepin, AntiX, Kali и т.д. Установка пакетов данного типа выполняется через утилиту dpkg (Debian Package):


dpkg -i packageName.deb


Также существует ряд утилит семейства dpkg, которые входят в пакет dpkg-dev и необходимых для создания и администрирования архивов формата .deb:


$ dpkg -L dpkg-dev | grep -i bin

/usr/bin/dpkg-architecture
/usr/bin/dpkg-buildapi
/usr/bin/dpkg-buildflags
...


А что же такое apt (Advanced Package Tool)? Apt - это набор утилит высокого уровня, необходимых для администрирования .deb пакетов и работы с внешними репозиториями.

Apt, в отличии от dpkg, позволяет подтягивать из локальных либо удаленных репозиториев необходимые зависимости, мониторить список доступных пакетов, следить за обновлениями и много-много чего еще:


$ apt-cache search mesa

libd3dadapter9-mesa - state-tracker for Direct3D9
mesa-vdpau-drivers - Mesa VDPAU video acceleration drivers
mesa-vulkan-drivers - Mesa Vulkan graphics drivers
...


Прописать список источников, с которыми менеджер apt будет работать, можно в файл "/etc/apt/sources.list":


$ cat /etc/apt/sources.list

Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg


RPM - это расширение для пакетов, используемых в операционных системах, основанных на Red Hat, это вся ветка дистрибутивов: Fedora, OpenSUSE, Red Hat, CentOS и т д.

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

По аналогии с dpkg, утилита rpm используется для того, чтобы локально обслуживать .rpm пакеты. Для более высокоуровневого взаимодействия и возможности работать с репозиториями, необходимо использовать ряд пакетных менеджеров: zypper (OpenSUSE), dnf (Fedora), urpmi (Mageia), yum - для многих дистрибутивов, основанных на Fedora:


rpm -i package.rpm
yum install package.rpm
dnf install package.rpm


Тема пакетирования и распространения софта очень обширная: существует множество техник и практик, которым нужно следовать для того, чтобы качественно разворачивать программы на системах. Пишите, что бы вы хотели узнать в рамках топика, разгоним всю эту историю до серии постов.
  • 👍 29
  • 🔥 8
  • ❤‍🔥 5
  • 🥰 1
More from @linuxcamp_tg
  1. Oct 9, 2026🤖Обходим «белый список» вместе с STRELKA Думали, что белые списки не обходятся когда глуш…
  2. Sep 28, 2026Проекту GNU вчера исполнилось 43 года 1983 год: Ричард Столлман объявил планы разработать…
  3. Sep 25, 2026Linux будет работать на ноутах с Snapdragon X2. Qualcomm добавляет полноценную поддержку L…
  4. Sep 24, 2026Так все по делу)) Советует же самый быстрый фикс LinuxCamp | #memes
  5. Sep 23, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  6. Sep 22, 2026Ещё одна рекордная неделя для AI-разработки в Linux. На прошлой неделе в ядро попало 1 634…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →