การติดตั้งแพ็คเกจ. deb บน Arch - เป็นไปได้หรือไม่?


67

ปัญหาง่าย - ฉันมีแพ็คเกจ. deb และฉันต้องการติดตั้งบน Arch Linux ของฉัน เป็นไปได้ไหม ถ้าใช่เป็นอย่างไร


7
โปรดทราบว่าไฟล์. deb เป็นเพียงไฟล์เก็บถาวรที่สามารถยกเลิกการบีบอัดในระบบใด ๆ ขึ้นอยู่กับว่ากระบวนการติดตั้งนั้นซับซ้อนเพียงใดนั่นอาจเพียงพอที่จะ "ติดตั้ง" ได้
CVn

คำตอบ:


48

เป็นไปได้ไหม? ใช่. มันเป็นความคิดที่ดีหรือไม่? ขึ้นอยู่กับว่า คุณจะต้องทำสิ่งนี้จริงๆหากแอปพลิเคชันมีอยู่เป็น.debแพคเกจเท่านั้น มีโอกาสมากขึ้นที่คุณจะสามารถคว้าต้นน้ำและเขียนPKGBUILDอย่างง่าย ๆเพื่อติดตั้งด้วย pacman

คุณควรค้นหาAURเพื่อให้แน่ใจว่ามีคนไม่ได้ทำเช่นนี้


4
โปรดทราบว่าแม้ว่าแพคเกจที่มาไม่ได้ให้ (หรือสามารถเข้าถึงได้ง่าย) ไฟล์จะถูกสกัดได้อย่างง่ายดายด้วย.deb libarchiveและmakepkgการใช้งานbsdtar(ซึ่งใช้libarchive) PKGBUILDโดยค่าเริ่มต้นที่จะดึงแหล่งที่มาใน ผลลัพธ์ของห่วงโซ่การพึ่งพานี้คือคุณสามารถเขียนPKGBUILDs ที่ใช้ประโยชน์จาก.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

ไปได้หรือไม่ ใช่ แต่วิธีการต่าง ๆ มีอยู่บนพื้นฐานของกรณีการใช้งาน

ข้อสันนิษฐาน: แพคเกจเดเบียนไม่มีแพ็คเกจเทียบเท่าในที่เก็บอย่างเป็นทางการของ Arch (หรือการกระจายตาม Arch)

  1. ติดตั้งyaourtโดยใช้pacman:

    sudo pacman -S yaourt

เหตุผล: yaourt เป็น front-end (อิง CLI) สำหรับ pacman ที่ใช้ในการสืบค้นและติดตั้งแพ็คเกจAUR ในกรณีที่แพ็กเกจเดเบียนได้รับการบรรจุใหม่เป็น AUR โดยบุคคลอื่น

  1. ติดตั้งpackage_nameโดยใช้ yaourt:

    sudo yaourt -S package_name

ทราบ:แทนที่package_nameด้วยชื่อของแพคเกจเดเบียนตามที่พบใน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

ไม่ใช่วิธีที่แนะนำ (อาจเป็นอันตรายได้)

วิธีนี้จะพยายามติดตั้งแพคเกจโดยใช้รูปแบบบรรจุภัณฑ์เดเบียนบน Arch ซึ่งไม่แนะนำเนื่องจากอาจมีอันตรายจากการติดตั้งของคุณ หากใช้วิธีนี้ก็จะแนะนำให้มีความพร้อมกับภาพแผ่นดิสก์ช่วยเหลือ Arch และสำรองข้อมูลผู้ใช้

  1. ติดตั้งdpkgโดยใช้yaourt:

    sudo yaourt -S dpkg
  2. ติดตั้งแพ็คเกจเดเบียนโดยใช้dpkg:

    sudo dpkg -i package_name.deb

7

คุณสามารถติดตั้ง dpkg yaourt dpkgโดย:

ถ้าคุณไม่ได้yaourtคุณจะได้รับจากหน้า AUR ของมัน

แล้วก็cdไปที่ที่คุณใส่มันและdpkg -i package.debสิ่งที่แพคเกจที่อาจจะ


1
ความคิดเห็นปัจจุบันในแพ็คเกจ AUR สำหรับ dpkg ระบุว่าล้าสมัยและ "ไม่ควรใช้แทน pacman" ของ Arch นี่หมายความว่า pacman สามารถใช้เพื่อติดตั้งแพ็คเกจ deb ได้หรือไม่?
gromain

2
@gromain ฉันเชื่อว่าพวกเขาบอกว่าจะบอกผู้ใช้ที่ไม่รู้ว่าพวกเขาไม่ควรใช้การจัดการแพคเกจ Debian ใน Arch โดยค่าเริ่มต้น - มันควรจะเป็นข้อยกเว้นมากกว่ากฎ
Czipperz

1
แพ็คเกจนี้ล้าสมัย
zygimantus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.