Установка пакета .deb на Arch - это возможно?


67

Проблема проста - у меня есть пакет .deb, и я хочу установить его на свой Arch Linux. Это возможно? Если да, то как?


7
Обратите внимание, что файлы .deb - это просто архивы, которые можно распаковать в любой системе. В зависимости от сложности процесса установки, этого может быть достаточно для его «установки».
CVn

Ответы:


48

Является ли это возможным? Да. Это хорошая идея? Это зависит. Вам бы действительно нужно было это сделать, если приложение существует только как .debпакет. Скорее всего, вы можете просто взять исходный код и написать простой PKGBUILD, чтобы установить его с помощью pacman.

Вам также следует поискать AUR, чтобы убедиться, что кто-то еще этого не сделал.


4
Обратите внимание, что даже если исходный пакет не предоставлен (или легко доступен), .debфайлы легко извлекаются с помощью libarchive. И makepkgиспользует bsdtar(который использует libarchive) по умолчанию для извлечения источников в PKGBUILD. Результатом этой цепочки зависимостей является то, что вы можете легко писать файлы, PKGBUILDкоторые используют .debархивы в качестве исходных файлов. : D
HalosGhost

39

dpkg для Arch существует. Вы должны иметь возможность устанавливать .debпакеты на Arch, но вы не должны использовать его вместо pacman, так что просто используйте его для нескольких выбранных пакетов.

Команда по умолчанию выглядит так:

# dpkg -i package.deb

9
Использование альтернативного менеджера пакетов, хотя и является опцией, не является правильным решением. Правильное решение - написать a, PKGBUILDчтобы сгенерировать пакет pacman-native.
HalosGhost

1
команда не найдена: dpkg
zygimantus

6
Даже если это неправильный способ сделать это, он отвечает на первоначальный вопрос ... «Можно ли установить пакет deb и как это сделать?» Ответ на этот вопрос гораздо лучше, чем просто сказать « написать PKGBUILD для генерации собственного пакета ", так как это не то, о чем просит пользователь ...
svin83

10

Возможно? Да, но существуют разные методы в зависимости от варианта использования.

Предположение: пакет debian не имеет эквивалентного пакета в официальном репозитории Arch (или дистрибутива на основе Arch).

  1. Установите yaourtс помощью pacman:

    sudo pacman -S yaourt

Причина: yaourt - это интерфейс (на основе CLI) для pacman, используемый для запроса и установки пакетов AUR . Если пакет Debian уже был переупакован как AUR кем-то другим.

  1. Установите package_nameиспользуя yaourt:

    sudo yaourt -S package_name

примечание: замените package_nameименем пакета debian, как указано в AUR . Он попытается установить зависимости самостоятельно pacman.

альтернатива

Предположение: пакет Debian еще не был переупакован как пакет Arch в AUR.

  1. Установить debtapиз yaourt:

    sudo yaourt -S debtap
  2. Создайте эквивалентный пакет, используя debtap:

    debtap package_name.deb
  3. Установите с помощью pacman:

    sudo pacman -U package_name.pkg

Не рекомендуемый способ (возможно, опасный)

Этот метод пытается установить пакет, используя формат упаковки debian в Arch, что не рекомендуется из-за возможной опасности повреждения вашей установки. При использовании этого метода рекомендуется подготовить образ аварийного диска Arch и выполнить резервное копирование пользовательских данных / пространства .

  1. Установите dpkgс помощью yaourt:

    sudo yaourt -S dpkg
  2. Установите пакет debian, используя dpkg:

    sudo dpkg -i package_name.deb

7

Вы можете установить DPKG по: yaourt dpkg.

Если у вас его нет yaourt, вы можете получить его на странице AUR .

Тогда только cdтуда, куда вы положили его и dpkg -i package.debкакой бы ни была упаковка


1
В текущем комментарии к пакету AUR для dpkg говорится, что он устарел и что «не используйте его вместо« pacman »Арча». Означает ли это, что pacman теперь можно использовать для установки пакетов deb?
Громейн

2
@ Gromain Я полагаю, что они говорят, что для невежественного пользователя не следует использовать управление пакетами Debian в Arch по умолчанию - это должно быть скорее исключением, чем правилом.
Чипперз

1
Этот пакет устарел.
Зигимантус
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.