Instalando um pacote .deb no Arch - É possível?

67

O problema é simples - eu tenho um pacote .deb e quero instalá-lo no meu Arch Linux. Isso é possível? Se sim, como?

BKC
fonte
7
Observe que os arquivos .deb são apenas arquivos que podem ser descompactados em qualquer sistema. Dependendo da complexidade do processo de instalação, isso pode ser suficiente para "instalá-lo".
um CVn

Respostas:

48

É possível? Sim. É uma boa ideia? Depende. Você realmente precisaria fazer isso apenas se o aplicativo existir apenas como um .debpacote. É muito mais provável que você possa simplesmente pegar a fonte upstream e escrever um PKGBUILD simples para instalá-lo com o pacman.

Você também deve procurar no AUR para garantir que alguém ainda não tenha feito isso.

jasonwryan
fonte
4
Observe que, mesmo que um pacote de origem não seja fornecido (ou facilmente acessível), os .debarquivos são facilmente extraídos libarchive. E, makepkgusa bsdtar(que usa libarchive) por padrão para extrair fontes em a PKGBUILD. O resultado dessa cadeia de dependência é que você pode escrever facilmente PKGBUILDs que utilizam .debarquivos como arquivos de origem. : D
HalosGhost
39

O dpkg para Arch existe. Você deve conseguir instalar .debpacotes no arch, mas também não deve usá-lo em vez de pacman, portanto, use-o para alguns pacotes selecionados.

O comando padrão se parece com:

# dpkg -i package.deb
superuser0
fonte
9
Usar um gerenciador de pacotes alternativo, embora seja uma opção, não é a solução correta. A solução correta é escrever um PKGBUILDpara gerar um pacote nativo do pacman.
HalosGhost
11
comando não encontrado: dpkg
zygimantus
6
Mesmo que não seja a maneira correta de fazê-lo, ele responde à pergunta original ... "É possível instalar um pacote deb e como fazê-lo" é respondido muito melhor por essa resposta do que simplesmente dizer " escrever uma PKGBUILD para gerar um pacote nativo", uma vez que não é o que o usuário pede ...
svin83
10

Possível? Sim, mas existem métodos diferentes com base no caso de uso.

Suposição: O pacote debian não possui um pacote equivalente no repositório oficial do Arch (ou da Distribuição baseada em Arch).

  1. Instale yaourtusando pacman:

    sudo pacman -S yaourt

Razão: yaourt é um front-end (baseado em CLI) para pacman usado para consultar e instalar pacotes AUR . Caso o pacote debian já tenha sido reembalado como um AUR por outra pessoa.

  1. Instale o package_nameyaourt usando:

    sudo yaourt -S package_name

nota: substitua package_namepelo nome do pacote debian como encontrado no AUR . Ele tentará instalar as dependências por conta própria usando pacman.

Alternativa

Suposição: O pacote Debian ainda não foi reembalado como um pacote Arch no AUR.

  1. Instalar a debtappartir de yaourt:

    sudo yaourt -S debtap
  2. Crie um pacote equivalente usando debtap:

    debtap package_name.deb
  3. Instale usando pacman:

    sudo pacman -U package_name.pkg

Não é o caminho recomendado (possivelmente perigoso)

Este método tenta instalar o pacote usando o formato de empacotamento debian no Arch, o que não é recomendado devido ao possível risco de danificar sua instalação. Se você usar este método, é recomendável estar pronto com uma imagem de disco de recuperação do Arch e backup dos dados / espaço do usuário .

  1. Instale dpkgusando yaourt:

    sudo yaourt -S dpkg
  2. Instale o pacote debian usando dpkg:

    sudo dpkg -i package_name.deb
ToxicMender
fonte
7

Você pode instalar dpkg por: yaourt dpkg.

Se você não possui yaourt, pode obtê-lo na página AUR .

Então, exatamente cdonde você o coloca e dpkg -i package.debseja qual for o pacote

salgueiro
fonte
11
O comentário atual sobre o pacote AUR para o dpkg afirma que está desatualizado e "Não o use em vez do 'pacman' do Arch". Isso significa que o pacman agora pode ser usado para instalar pacotes deb?
gromain
2
@gromain Eu acredito que eles dizem isso para dizer a um usuário ignorante que ele não deveria estar usando o gerenciamento de pacotes Debian no Arch por padrão - deve ser uma exceção e não a regra.
Czipperz
11
Este pacote está desatualizado.
Zygimantus