Instalowanie pakietu .deb w Arch - czy to możliwe?

67

Problem jest prosty - mam pakiet .deb i chcę go zainstalować na moim Arch Linux. czy to możliwe? Jeśli tak to jak?

BKC
źródło
7
Pamiętaj, że pliki .deb to tylko archiwa, które można rozpakować w dowolnym systemie. W zależności od złożoności procesu instalacji może to wystarczyć do jego „zainstalowania”.
CVn

Odpowiedzi:

48

Czy to możliwe? Tak. Czy to dobry pomysł? To zależy. Naprawdę trzeba to zrobić tylko wtedy, gdy aplikacja istnieje tylko jako .debpakiet. O wiele bardziej prawdopodobne jest, że możesz po prostu pobrać źródłowe źródło i napisać prosty PKGBUILD, aby zainstalować go za pomocą pacmana.

Powinieneś także przeszukać AUR, aby upewnić się, że ktoś jeszcze tego nie zrobił.

jasonwryan
źródło
4
Zauważ, że nawet jeśli pakiet źródłowy nie jest dostarczony (lub łatwo dostępny), .debpliki można łatwo wyodrębnić libarchive. I domyślnie makepkgużywa bsdtar(który używa libarchive) do wyodrębnienia źródeł w pliku PKGBUILD. Wynikiem tego łańcucha zależności jest to, że możesz łatwo pisać, PKGBUILDktóre wykorzystują .debarchiwa jako pliki źródłowe. : D
HalosGhost
39

dpkg dla Arch istnieje. Powinieneś być w stanie zainstalować .debpakiety na arch, ale nie powinieneś go również używać zamiast pacman, więc po prostu użyj go dla wybranych kilku pakietów.

Domyślne polecenie wygląda następująco:

# dpkg -i package.deb
superuser0
źródło
9
Korzystanie z alternatywnego menedżera pakietów, choć jest opcją, nie jest właściwym rozwiązaniem. Prawidłowym rozwiązaniem jest napisanie w PKGBUILDcelu wygenerowania pakietu natywnego dla pacmana.
HalosGhost
1
polecenie nie znaleziono: dpkg
zygimantus
6
Nawet jeśli nie jest to właściwy sposób, odpowiada na pierwotne pytanie ... „Czy można zainstalować pakiet deb i jak to zrobić?” Odpowiedź ta jest znacznie lepsza niż po prostu powiedzenie „ napisz PKGBUILD, aby wygenerować pakiet natywny ”, ponieważ nie o to pyta użytkownik ...
svin83
10

Możliwy? Tak, ale istnieją różne metody na podstawie przypadku użycia.

Założenie: Pakiet debian nie ma równoważnego pakietu w oficjalnym repozytorium Arch (lub Arch Based Distribution).

  1. Zainstalować yaourtza pomocą pacman:

    sudo pacman -S yaourt

Powód: yaourt to front-end (oparty na CLI) dla pacmana używanego do wysyłania zapytań i instalowania pakietów AUR . W przypadku, gdy pakiet debian został już przepakowany przez kogoś innego jako AUR.

  1. Zainstaluj za package_namepomocą yaourt:

    sudo yaourt -S package_name

Uwaga: zamień package_namena nazwę pakietu debian, zgodnie z AUR . Spróbuje zainstalować zależności samodzielnie pacman.

Alternatywny

Założenie: Pakiet Debian nie został jeszcze przepakowany jako pakiet Arch w AUR.

  1. Zainstaluj debtapz yaourt:

    sudo yaourt -S debtap
  2. Utwórz równoważny pakiet, używając debtap:

    debtap package_name.deb
  3. Zainstaluj za pomocą pacman:

    sudo pacman -U package_name.pkg

Niezalecany sposób (potencjalnie niebezpieczny)

Ta metoda próbuje zainstalować pakiet przy użyciu formatu pakietu debian na Archu, co nie jest zalecane ze względu na potencjalne niebezpieczeństwo uszkodzenia instalacji. Jeśli używasz tej metody, zaleca się, aby być gotowym z obrazem dysku ratunkowego Arch i kopią zapasową danych / przestrzeni użytkownika .

  1. Zainstalować dpkgza pomocą yaourt:

    sudo yaourt -S dpkg
  2. Zainstaluj pakiet debian, używając dpkg:

    sudo dpkg -i package_name.deb
ToxicMender
źródło
7

Można zainstalować dpkg przez: yaourt dpkg.

Jeśli nie masz yaourt, możesz go pobrać ze strony AUR .

Następnie dokładnie cdtam, gdzie go umieścisz i dpkg -i package.debjakąkolwiek paczkę

wierzba
źródło
1
Obecny komentarz do pakietu AUR dla dpkg mówi, że jest nieaktualny i „Nie używaj go zamiast„ Pacmana ”Archa.” Czy to oznacza, że ​​Pacmana można teraz używać do instalowania pakietów deb?
gromain
2
@gromain Uważam, że mówią to, aby powiedzieć nieświadomemu użytkownikowi, że domyślnie nie powinni używać zarządzania pakietami Debiana w Arch - powinien to być raczej wyjątek niż reguła.
Czipperz,
1
Ten pakiet jest nieaktualny.
zygimantus