В Arch Linux есть свой менеджер пакетов, и в прошлой статье, я писал уже об этом, но бывают случаи, что по какой-то причине нужно установить deb-пакет, и в этой статье мы посмотрим как это сделать.
Хотя pacman и крутой менеджер пакетов, а в дополнении с AUR, им вообще нету цены, но бывают такие приложения, которые запакованы только в deb-пакет, и даже нету исходников, а иногда из deb легче установить чем курить все эти исходники, и ломать голову из-за всех этих зависимостей которые требуются для сборки пакетов.
В ArchLinux есть несколько способов, для установки deb-пакетов, и ниже я покажу их.
deb — расширение имён файлов «бинарных» пакетов для распространения и установки программного обеспечения в ОС проекта Debian, и других, использующих систему управления пакетами dpkg. Deb — это часть слова Debian, в свою очередь, образованного от слов Debra — имени подруги (впоследствии — жены, ныне — бывшей) основателя Дебиана Яна Мердока и Ian от его собственного имени.
Установка deb пакета с помощью dpkg
dpkg — это программное обеспечение, являющееся основой системы управления пакетами в Debian и ряде других операционных систем, основанных на Debian, например Ubuntu. dpkg используется для установки, удаления, и получения информации о .deb пакетах. dpkg является довольно низкоуровневой утилитой.
Хотя это программное обеспечения предназначено в первую очередь для debian, но мы можем спокойно использовать его в ArchLinux.
Чтобы установить dpkg в arch, откройте терминал сочетанием клавиш Ctrl+Alt+T, и введите команду
yaourt -S dpkg
После минуты установки, вы сможете с легкостью устанавливать deb-пакеты
Например давайте возьмем приложение для прослушивания онлайн радио – ZVVOnlineRadio, которое поставляется только в deb-пакете, для этого перейдите по ссылке ниже, и прочитайте что из себя представляет это приложение
Если вы уже скачали, перейдите в директорию со скачанным файлом, и откройте терминал в этой директории.
Далее введите знакомую(если вы пользовались Debian подобными дистрибутивами) команду для установки приложения
sudo dpkg -i приложение.deb
[linuxthebest@fox-pc Изображения]$ sudo dpkg -i ZVVRadio09f2.deb (Чтение базы данных … на данный момент установлено 845 файлов и каталогов.) Подготовка к распаковке ZVVRadio09f2.deb … Распаковывается zvvradio (0.9.8) на замену (0.9.8) … dpkg: зависимости пакетов не позволяют настроить пакет zvvradio: zvvradio зависит от python3-pyqt5, однако: Пакет python3-pyqt5 не установлен. zvvradio зависит от vlc, однако: Пакет vlc не установлен. dpkg: ошибка при обработке пакета zvvradio (--install): проблемы зависимостей — оставляем не настроенным При обработке следующих пакетов произошли ошибки: zvvradio
Этот пакет требует некоторые зависимости, и показывает что есть ошибка, но если вы найдете и откроете это радио, то оно будет прекрасно работать.
С первым способом разобрались, перейдем ко второму.
Установка deb-пакета в ArchLinux с помощью debtap
debtap – скрипт для конвертации пакетов .deb в пакеты Arch Linux, ориентированные на точность. Не используйте его для конвертирования пакетов, которые уже существуют в официальных репозиториях или могут быть созданы из AUR!
Этот скрипт поможет вам установить .deb пакет в ArchLinux, но не в Manjaro
К сожалению в операционную систему Manjaro вы не сможете установить этот скрипт, ну а если вы используете обычный арч, тогда введите команду ниже для его установки
yaourt -S debtap
После установки, вы можете конвертировать .deb пакеты просто введя команду
debpap название_приложения.deb
Вас сразу-же попросит ввести имя приложения, и лицензию пакета.
==> Extracting package data... ==> Fixing possible directories structure differencies... ==> Generating .PKGINFO file... :: Enter Packager name: quadrapassel :: Enter package license (you can enter multiple licenses comma separated): GPL *** Creation of .PKGINFO file in progress. It may take a few minutes, please wait...
После этого вам всего лишь нужно ввести одну команду для установки приложения
sudo pacman -U название_приложения
Вот и весь второй способ. Перейдем к третьему и последнему способу
Как установить deb-пакет в Arch Linux с помощью PKGBUILD
PKGBUILD — это shell-скрипт, содержащий информацию, необходимую для сборки пакетов Arch Linux.
Пакеты в Arch Linux собираются при помощи утилиты makepkg . При запуске она ищет в текущем каталоге файл PKGBUILD и следует инструкциям из него, чтобы либо скомпилировать код, либо получить файлы для сборки пакета (имя_пакета.pkg.tar.xz). Готовый пакет содержит двоичные файлы и инструкции по установке, благодаря чему может быть легко установлен при помощи pacman.
Это наверное лучший способ установки deb пакетов, вам всего-лишь нужно немножко понимать суть этого скрипта. С помощью этого скрипта, также собирают пакеты для ArchLinux из исходников.
В своем примере я буду использовать приложение для просмотра IPTV телевидения – ZVVOnlineTV, которое поставляется только в .deb пакете.
Вы можете ознакомится с этим приложением, а также скачать его перейдя по ссылке ниже.
После скачивания, создайте новую директорию(с любым названием), и переместите файл туда.
Далее создайте файл с названием – “PKGBUILD”, и поместите в него вот такое содержимое
# Maintainer: Вячеслав Зубик
pkgname=zvvonlinetv
pkgver=1
pkgrel=2
pkgdesc=”Простой IPTV плеер для просмотра ТВ”
arch=(‘i386’ ‘x86_64’)
url=”https://zvvubuntu.blogspot.com”
license=(‘custom’)
depends=(‘pyqt5-common’ ‘python-pyqt5’ ‘vlc’ ‘python-six’)
source=(“ZVVOnlineTV${pkgver}_${pkgrel}fix.deb”)
md5sums=(‘c363b47306767f4fbb4ba333b542656d’)package() {
cd “${srcdir}”
bsdtar -xf data.tar.xz -C “$pkgdir”
}
И если выйдет новая версия, и вы захотите ее установить, то измените строку – “pkgver= “, на новую версию, а “pkgrel= “, на новую подверсию, а также уберите в строке “source”, слово “fix”, если это не исправление.
Например, если выйдет версия ZVVOnlineTV1_3.deb, то вам нужно установить “pkgver=1”, а “pkgrel=3”, и убрать слово “fix”.
Чтобы приступить к сборке и установке, открываем терминал в директории где находятся наши файлы и вводим команду
makepkg -si
После нескольких секунд, у вас будет установлено приложение.
Вот и все. Надеюсь статья была полезной, и если это так, то не забудьте поделиться ею в социальных сетях.
А каким вы пользуетесь способом? Напишите в комментариях ниже.
А я дурак тупо распаковывал архив data.xz содержимый в пакете в корень системы. И всё работало=)