Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีติดตั้ง Deb Package ใน Arch Linux

วิธีติดตั้ง Deb Package ใน Arch Linux

ถ้าใช้ Linux มาสักพัก จะสังเกตว่า วิธีทั่วไปที่สุดติดตั้ง third-party applications คือผ่าน .Deb package บ่อยครั้งนี่คือวิธีเดียวได้ซอฟต์แวร์นี้ เพราะนักพัฒนาไม่ได้ bothered ไป packaging ในหลายๆ formats ที่ Linux platform เสนอ

Non-Debian-based Linux distributions หลายตัวมีวิธีตัวเองรอบปัญหานี้ แต่ในทุก Linux distributions Arch Linux มีวิธีน่าสนใจที่สุดให้ Debian package ทำงาน บทความนี้ outline 3 วิธี และอภิปรายว่าตัวไหนดีที่สุด

หมายเหตุ: ขั้นตอนด้านล่างใช้ได้กับ Arch-based distro ใดๆ

ติดตั้งผ่าน AUR

AUR เป็นที่แรกที่เช็คเวลาหาซอฟต์แวร์ที่ไม่ supported อย่างเป็นทางการใน Arch Linux เช็คที่นี่ก่อนเสมอ เป็น service ให้ใครก็ตาม upload PKGBUILD script ออกแบบมาเพื่อดึงซอฟต์แวร์จากที่ต่างๆ ดาวน์โหลด dependencies บางส่วนหรือทั้งหมดที่ต้องการรัน และ compile native Arch Linux package

ใช้ AUR มี 2 วิธี:

1. ใช้ AUR Helper

อยากทำงานเร็วโดยไม่ต้องกระโดดข้ามอุปสรรค ใช้ AUR helper อย่าง yay หรือ yaourt จะไม่ให้ติดตั้ง .deb file ตรงๆ แตอาจหาแพ็กเกจใน arch format ที่สร้างโดย arch users

ข้อมูลเพิ่มเติมเกี่ยวกับ AUR helpers และวิธีติดตั้ง อ่านรายการ 5 AUR helpers ที่เก๋า ติดตั้ง helper แล้ว แค่ search AUR, install และ go

โอกาสมากถ้าใช้ Manjaro, Endeavour, Garuda หรือ Arch-based distro อื่นๆ จะมี AUR helper ติดตั้งอยู่แล้ว ดู documentation ของ distro คุณว่า include อะไร Garuda และ Endeavour ใช้ yay

ถ้าชอบ graphical environment ติดตั้ง package pamac-aur ด้วย AUR helper - ถ้ายังไม่ติดตั้ง สังเกต: ต้อง enable AUR support หลังติดตั้งภายใต้ "Preferences -> Third Party"

วิธีติดตั้ง Deb Package ใน Arch Linux

2. ติดตั้ง AUR Packages ด้วยตนเอง

อีกวิธีได้ unofficial packages คือ ไปที่ AUR website ใช้ search bar ดาวน์โหลด "snapshot" กระบวนการนี้น้อยกว่า automated แต่ worth it ถ้าอยาก granular control มากกว่าการทำ/ติดตั้งแพ็กเกจ แทนที่จะติดตั้งทันที มันจะ吐出 native package ที่แก้ไขเพื่อ purposes ของตัวเองได้

หมายความว่า ถ้ามี custom personal repository ตั้งไว้ แทรก newly-built packages นี้เข้า repo ได้ง่ายสำหรับติดตั้งง่าย

หมายเหตุ: ถ้าวางแผนใช้แค่ base repositories ของ Arch และ AUR ติดตั้งแพ็กเกจด้วย AUR helper ดีกว่า manual builds มาก

วิธีติดตั้ง Deb Package ใน Arch Linux

Most (if not all) programs ที่มาแค่ DEB format จะเจอใน AUR นี่คือวิธี compile หนึ่งเป็น Arch package จากศูนย์

  1. แน่ใจว่ามี git และ base dev packages สำหรับ Arch ติดตั้ง พิมพ์
 sudo pacman -S --needed git base-devel

ใน terminal

  1. สนใจ "Git Clone URL" บนหน้า AUR ของแพ็กเกจที่อยากดาวน์โหลดติดตั้ง copy มา ใช้ URL นั้นใน terminal ที่เปิดใน home directory:
git clone [pasted URL]

จะดาวน์โหลด git repository ของแพ็กเกจ พร้อม PKGBUILD configuration file สำหรับ makepkg อันทรงพลังของ Arch

  1. พิมพ์
cd [package name]

ไปที่ build directory ของแพ็กเกจที่ดาวน์โหลด

  1. พิมพ์
makepkg -si

สร้างแพ็กเกจและติดตั้งอัตโนมัติ

ถ้าสนใจ แฟล็ก -s (--syncdeps) ดึง dependencies ทั้งหมดเกี่ยวกับแพ็กเกจใน official Arch Linux repositories อัตโนมัติ ในขณะที่ -i (--install) บอกระบบให้ไม่แค่ compile แตะ integrate เข้าระบบ (เช่น สร้าง menu items, integrate kernel arguments ถ้ามี)

ติดตั้งผ่าน Debtap

ถ้าประการใด Deb ที่ต้องการไม่อยู่ใน AUR ติดตั้ง Debtap โปรแกรมที่แยก Debian package และทำให้เป็น Arch package ที่ package manager "เข้าใจ"

วิธีติดตั้ง Deb Package ใน Arch Linux

คำเตือน: ใช้วิธีนี้ตาม discretion ของตัวเอง .deb package ที่ติดตั้งอาจแตกถ้า upstream package maintainers สำหรับ packages ที่ depend อัปเดตลบ features หรือ functionality ไม่ได้บ่อย แต่ควรทราบว่าวิธีนี้อาจไม่ทำงาน fantastic ทุกครั้ง

  1. เริ่มติดตั้ง Debtap ผ่าน AUR ตามคำแนะนำส่วนก่อน
  2. ติดตั้งเสร็จ รัน sudo debtap -u ครั้งเดียว update debtap's repositories ไม่เช่นนั้น application จะไม่ทำงาน
  3. ดาวน์โหลด .deb file ที่อยาก convert, cd เข้า directory ที่ดาวน์โหลด และใช้คำสั่ง:
debtap packagetoconvert.deb
  1. จุดไหนที่ Debtap ขอ input data กด Enter แทน
  2. เสร็จแล้ว Debtap จะสร้างไฟล์ "pkg.*.zst" ที่ package manager ตีความและติดตั้งได้ด้วย offline installation procedures
  3. cd เข้า directory ที่ convert .deb package แล้ว พิมพ์:
sudo pacman -U [package-name]

ติดตั้งด้วยตนเอง

คำเตือน: วิธีนี้ highly unsafe ควรใช้เฉพาะตอนไม่มีตัวเลือกอื่น และมี advanced understanding แล้วว่า packages 某些ทำงานยังไง และพฤติกรรมที่ Arch คาดหวัง ตัวอย่าง บาง applications (อย่าง Plymouth, Virtualbox, etc.) อาจต้องการ hooks เข้า kernel ที่ทำได้แค่แก้ config files และ re-build kernel พร้อม hooks those แม้กระนั้น การใช้วิธีนี้ ไม่ได้ ติดตั้ง dependencies ของแพ็กเกจด้วย

แม้ไม่ใช่ elegant solution ตอนไม่มีทาง convert .deb ด้วย Debtap หรือ compile ด้วย AUR pkgbuild วิธีที่ดีที่สุดคือ extract Debian package เอง และวางไฟล์ไว้ที่ควรจะอยู่

แม้เกี่ยวข้อง tedium มากกว่าวิธีก่อนหน้า แต platform-independent มากกว่า ใช้ได้ใน distributions อื่นๆ เช่น Void Linux, Fedora, และ openSUSE ไม่ได้ทดสอบใน Gentoo และ Slackware mileage อาจต่างไปตามการจัดการติดตั้งแพ็กเกจของทั้งสอง distro

Debian packages เป็น archives พร้อม binaries ข้างใน ไม่ต้อง compile ติดตั้งไฟล์ใน Deb package ใดๆ ไป Arch ให้ extract ไป folder จำได้ว่าต้อง extract archive "data" ภายใน folder นั้นด้วย

วิธีติดตั้ง Deb Package ใน Arch Linux

ตัวอย่าง ติดตั้ง Google Chrome ให้ cd เข้า extracted Deb folder พร้อม extracted contents ของ "data.tar.xz" ข้างใน

cd ~/Downloads/google-chrome-stable_current_amd64

รันคำสั่ง ls เปิดเผย folders ทั้งหมดใน data archive ภายใน Deb package จดชื่อ folders เหล่านี้ cd เข้าแต่ละ directory move contents ไปที่ที่พวกมันควรอยู่ในระบบ

ตัวอย่าง:

cd ~/Downloads/google-chrome-stable_current_amd64/etc sudo mv * /etc/ cd ~/Downloads/google-chrome-stable_current_amd64/opt sudo mv * /opt/

คำถามที่พบบ่อย

1. ทำไม Debtap ใช้เวลานาน?

Debtap ดึง metadata ใน .deb file สร้าง Arch package ที่ faithful ที่สุด ลดปัญหาและให้ข้อมูล dependencies ที่ relevant ให้ pacman ติดตั้งเพิ่ม เกี่ยวข้อง tedium มากกว่าแค่ decompress tarball

เพิ่มเติม script Debtap convert files ใช้ single CPU core ทำให้ single-core performance เป็นปัจจัยกำหนดเวลาที่ระบบใช้ complete operation คาดว่า large packages ใช้ได้ several minutes

2. ใช้ Graphical Installer หลังรัน Debtap ได้ไหม?

ได้! ถ้ามี pamac ติดตั้ง version ใด version หนึ่ง รัน tar-zst file ที่ Debtap สร้าง ผ่าน file manager เลือก pamac เป็นโปรแกรมรัน file สามารถ double-click ติดตั้งมันและ dependencies ทั้งหมดอัตโนมัติ แค่เหมือน .deb package ใน Debian

3. Debtap เปรียบเทียบกับ AUR ยังไง?

ควรมอง Debtap เป็น "dirty" last-ditch method ติดตั้งสิ่งที่ต้องการจริงและไม่เจอใน AUR ถ้าหาเจอใน AUR จะดีกว่าตลอดเวลา ติดตั้งแพ็กเกจนั้นแทนการใช้ .deb file

สรุป

หนึ่งในสิ่งดีที่สุดของ Arch Linux คือ วิธีติดตั้งแพ็กเกจหลายวิธี - จาก AUR, custom repositories, ถึง decompile packages ของ distros อื่นให้รัน แม้ข้อมูลนี้ไม่ใหม่ แตเป็น resource ดีสำหรับผู้ใหม่ Arch ที่มองหาวิธีติดตั้งโปรแกรมโปรด

อ่านต่อเรียนรู้การใช้ AUR ใน Arch Linux