Cài đặt gói .deb trên Arch - Có thể không?


67

Vấn đề rất đơn giản - Tôi có gói .deb và tôi muốn cài đặt nó trên Arch Linux của mình. Điều này có thể không? Nếu có, làm thế nào?


7
Lưu ý rằng các tệp .deb chỉ là tài liệu lưu trữ có thể được giải nén trên bất kỳ hệ thống nào. Tùy thuộc vào mức độ phức tạp của quá trình cài đặt, điều đó có thể đủ để "cài đặt" nó.
một CVn

Câu trả lời:


48

Có thể không? Đúng. Nó là một ý tưởng tốt? Mà phụ thuộc. Bạn sẽ chỉ thực sự cần phải làm điều này nếu ứng dụng chỉ tồn tại dưới dạng một .debgói. Nhiều khả năng là bạn có thể lấy nguồn ngược dòng và viết một PKGBUILD đơn giản để cài đặt nó với pacman.

Bạn cũng nên tìm kiếm AUR để đảm bảo rằng ai đó đã không làm điều này.


4
Lưu ý rằng ngay cả khi gói nguồn không được cung cấp (hoặc có thể truy cập dễ dàng), .debcác tệp vẫn dễ dàng được trích xuất libarchive. Và, makepkgsử dụng bsdtar(sử dụng libarchive) theo mặc định để trích xuất nguồn trong a PKGBUILD. Kết quả của chuỗi phụ thuộc này là bạn có thể dễ dàng viết PKGBUILDs sử dụng .debtài liệu lưu trữ làm tệp nguồn. : D
HalosGhost

39

dpkg cho Arch tồn tại. Bạn sẽ có thể cài đặt .debcác gói trên vòm, nhưng bạn cũng không nên sử dụng nó thay vì pacman, vì vậy chỉ sử dụng nó cho một số gói đã chọn.

Lệnh mặc định trông như sau:

# dpkg -i package.deb

9
Sử dụng một trình quản lý gói thay thế, mặc dù là một tùy chọn, không phải là giải pháp chính xác. Giải pháp đúng là viết một PKGBUILDđể tạo gói pacman -igen.
HalosGhost

1
lệnh không tìm thấy: dpkg
zygimantus

6
Ngay cả khi đó không phải là cách chính xác để thực hiện, nó vẫn trả lời câu hỏi ban đầu ... "Có thể cài đặt gói gỡ lỗi không và cách thực hiện" được trả lời tốt hơn rất nhiều bằng câu trả lời này, hơn là chỉ nói " viết PKGBUILD để tạo gói gốc ", vì đó không phải là những gì người dùng yêu cầu ...
svin83

10

Khả thi? Có, nhưng các phương pháp khác nhau tồn tại trên cơ sở trường hợp sử dụng.

Giả định: Gói debian không có gói tương đương trong kho chính thức của Arch (hoặc Arch dựa trên phân phối).

  1. Cài đặt yaourtbằng pacman:

    sudo pacman -S yaourt

Lý do: yaourt là một giao diện người dùng (dựa trên CLI) cho pacman được sử dụng để truy vấn và cài đặt các gói AUR . Trong trường hợp gói debian đã được đóng gói lại dưới dạng AUR bởi người khác.

  1. Cài đặt package_namebằng cách sử dụng yaourt:

    sudo yaourt -S package_name

lưu ý: thay thế package_namebằng tên của gói debian như trong AUR . Nó sẽ cố gắng cài đặt các phụ thuộc vào chính nó bằng cách sử dụng pacman.

Thay thế

Giả định: Gói Debian chưa được đóng gói lại dưới dạng gói Arch trong AUR.

  1. Cài đặt debtaptừ yaourt:

    sudo yaourt -S debtap
  2. Tạo gói tương đương bằng cách sử dụng debtap:

    debtap package_name.deb
  3. Cài đặt bằng pacman:

    sudo pacman -U package_name.pkg

Không phải là cách được đề xuất (có thể nguy hiểm)

Phương pháp này cố gắng cài đặt gói bằng định dạng đóng gói debian trên Arch, không được khuyến nghị do có thể làm hỏng cài đặt của bạn. Nếu sử dụng phương pháp này, bạn nên sẵn sàng với hình ảnh đĩa cứu hộ của Arch & sao lưu dữ liệu / không gian người dùng .

  1. Cài đặt dpkgbằng yaourt:

    sudo yaourt -S dpkg
  2. Cài đặt gói debian bằng cách sử dụng dpkg:

    sudo dpkg -i package_name.deb

7

Bạn có thể cài đặt dpkg bằng cách : yaourt dpkg.

Nếu bạn không có yaourt, bạn có thể lấy nó từ trang AUR của nó .

Sau đó, chỉ cần cdđến nơi bạn đặt nó và dpkg -i package.debbất cứ gói nào có thể


1
Nhận xét hiện tại về gói AUR cho dpkg nói rằng nó đã lỗi thời và "Đừng sử dụng nó thay vì 'pacman' của Arch." Điều này có nghĩa là pacman bây giờ có thể được sử dụng để cài đặt các gói deb?
tên miền

2
@gromain Tôi tin rằng họ nói rằng để nói với một người dùng không biết rằng họ không nên sử dụng quản lý gói Debian trong Arch theo mặc định - đó phải là một ngoại lệ thay vì quy tắc.
Czipperz

1
Gói này đã hết hạn.
zygimantus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.