AUR ใน Arch Linux คืออะไร และคุณควรใช้หรือไม่

เผยแพร่แล้ว: 2023-06-23
โลโก้ Arch Linux บนเว็บไซต์ ArchWiki
Jordan Gloor / How-To Geek
ที่เก็บ Arch Linux AUR มีซอฟต์แวร์ที่ขับเคลื่อนโดยชุมชนซึ่งใช้งานได้อย่างปลอดภัยหากคุณใช้มาตรการป้องกันง่ายๆ แม้ว่าคุณจะไม่เข้าใจเชลล์สคริปต์ แต่ก็มีตัวบ่งชี้ที่คุณสามารถใช้เพื่อตัดสินว่าแพ็คเกจนั้นปลอดภัยหรือไม่

AUR เป็นหนึ่งในอัญมณีในมงกุฎของ Arch Linux โดยมีแพ็คเกจซอฟต์แวร์เพิ่มเติมหลายพันรายการ แต่พื้นที่เก็บข้อมูลที่ขับเคลื่อนโดยผู้ใช้นี้ปลอดภัยหรือไม่ หรือคุณควรหลีกเลี่ยง

สารบัญ

AUR คืออะไร?
อันตรายจากการใช้ AUR
ความปลอดภัยของ AUR: ตรวจสอบรายละเอียดแพ็คเกจและชื่อเสียง
ตรวจสอบเนื้อหาของ PKGBUILD และไฟล์อื่นๆ
คุณสามารถช่วยเหลือผู้ใช้ AUR รายอื่นได้

AUR คืออะไร?

AUR (Arch User Repository) เป็นที่เก็บซอฟต์แวร์ที่ขับเคลื่อนโดยชุมชนซึ่งให้บริการแพ็คเกจซอฟต์แวร์มากกว่า 85,000 รายการแก่ผู้ใช้ Arch Linux AUR ไม่เหมือนกับที่เก็บ Arch อื่นๆ เช่น ที่เก็บ core, extra และ multilib AUR ไม่ได้โฮสต์แพ็คเกจพร้อมติดตั้ง ในความเป็นจริงมันไม่ได้โฮสต์ไฟล์ไบนารีหรือซอฟต์แวร์แพ็คเกจเลย

ไฟล์บิลด์แพ็คเกจโฮสต์ AUR เรียกว่า PKGBUILD นี่คือเชลล์สคริปต์ที่รันโดยเครื่องมือ Arch makepkg เมื่อ makepkg ทำงาน จะค้นหาไฟล์ชื่อ “PKGBUILD” หากพบก็จะเปิดขึ้นและทำตามคำแนะนำภายในเพื่อสร้างชุดซอฟต์แวร์ที่จัดเก็บถาวรในคอมพิวเตอร์ของคุณ หากคุณคุ้นเคยกับการคอมไพล์บนบรรทัดคำสั่ง ไฟล์ PKGBUILD และ makepkg จะทำงานร่วมกันในลักษณะที่คล้ายกับ MAKEFILE และยูทิลิตี้ make

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

มีความเสี่ยงที่จะทำให้เกิดความสับสน แพ็คเกจ AUR บางแพ็คเกจ จะ ส่งไบนารีที่คอมไพล์ไว้ล่วงหน้าแล้ว แต่ไบนารีเหล่านั้นไม่ได้โฮสต์ใน AUR พวกมันถูกเก็บไว้ที่อื่นบนอินเทอร์เน็ต รายการ AUR สำหรับแพ็คเกจเหล่านั้นเก็บเฉพาะไฟล์ PKGBUILD ที่ดาวน์โหลดไฟล์ไบนารีที่คอมไพล์ไว้ล่วงหน้าลงในคอมพิวเตอร์ของคุณ

Arch Linux กับ Ubuntu: คุณควรใช้อันไหน
ที่เกี่ยวข้อง Arch Linux กับ Ubuntu: คุณควรใช้อันไหน

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

ปัญหาเกี่ยวกับ AUR จะชัดเจนขึ้นเมื่อคุณสรุปเป็นพื้นฐาน เป็นการรวบรวมสคริปต์จากผู้ใช้แบบสุ่มทั่วอินเทอร์เน็ต และพวกเขาต้องการให้คุณเรียกใช้บนคอมพิวเตอร์ของคุณ

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

ที่เกี่ยวข้อง: วิธีอัปเดต Arch Linux

อันตรายจากการใช้ AUR

เป็นเหตุการณ์ที่หายากมาก แต่บางครั้งสิ่งต่างๆ ก็เล็ดลอดผ่านเน็ต แม้ว่าผู้ใช้ที่เชื่อถือได้จะขยันหมั่นเพียรก็ตาม ย้อนกลับไปในปี 2015 สคริปต์ Steam ของซอฟต์แวร์ Valve ลบไดเร็กทอรีหลักของคุณ หากคุณเคยย้ายไดเร็กทอรี Steam ไปยังตำแหน่งใหม่ก่อนหน้านี้

ที่น่าสยดสยองกว่านั้นคือเหตุการณ์ในปี 2548 เมื่อแพ็คเกจ AUR ที่ถูกละเลยถูกยึดครองโดยผู้ดูแลคนใหม่ซึ่งจงใจเพิ่มรหัสที่เป็นอันตรายลงในไฟล์ PKGBUILD ตัวอย่างเหล่านี้เป็นเรื่องเก่าและพบได้ไม่บ่อยนัก แต่สิ่งเดิมๆ อาจเกิดขึ้นได้อีก

แน่นอน หากคุณมีทักษะเพียงพอ คุณสามารถตรวจสอบเนื้อหาของไฟล์ PKGBUILD ได้ด้วยตัวเอง ความโปร่งใสนี้เป็นหนึ่งในจุดแข็งของ AUR แต่จำเป็นต้องมีความรู้ด้านสคริปต์ที่เพียงพอจึงจะได้รับประโยชน์จากมัน และนั่นครอบคลุมเฉพาะไฟล์ PKGBUILD เท่านั้น หากดึงซอร์สโค้ดของแอปพลิเคชันจำนวนมาก ในทางทฤษฎีก็ควรตรวจสอบด้วย

อันตรายอื่น ๆ ในการใช้ AUR คือการกระจายตาม การกระจายแบบอิงตาม Arch นั้นไม่เหมือนกับ Arch ทั้งหมดเพียงพอสำหรับ AUR ที่จะทำงานได้อย่างไร้ที่ติ AUR จะถือว่ากำลังติดตั้งบน Arch Linux ของแท้ และเวอร์ชันที่อัปเดตและแพตช์เต็มแล้ว ตัวอย่างเช่น Manjaro ไม่รองรับ AUR อย่างเป็นทางการแม้ว่าจะเป็นแบบ Arch ก็ตาม

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

ความปลอดภัยของ AUR: ตรวจสอบรายละเอียดแพ็คเกจและชื่อเสียง

แม้จะไม่มีการตรวจสอบโค้ด แต่ก็มีขั้นตอนที่คุณสามารถทำได้เพื่อช่วยคุณตัดสินใจว่าคุณสามารถเชื่อถือแพ็คเกจ AUR ได้หรือไม่

ค้นหาแพ็คเกจของคุณใน AUR

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

แถบค้นหาบนเว็บไซต์ AUR

ชื่อเสียงของมันคืออะไร?

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

รายละเอียดแพ็คเกจ AUR สำหรับแพ็คเกจ yay พร้อมไฮไลต์ตัวเลขโหวตและความนิยม

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

ตรวจสอบวันที่กิจกรรม

ในส่วน "รายละเอียดแพ็คเกจ" คุณจะเห็นคะแนนโหวต คะแนนความนิยม และวันที่สองวัน หนึ่งคือเมื่อมีการแนะนำแพ็คเกจใน AUR เป็นครั้งแรก และครั้งที่สองคือเมื่อแพ็คเกจได้รับการอัปเดตครั้งล่าสุด

รายละเอียดแพ็คเกจ AUR สำหรับแพ็คเกจ yay โดยเน้นวันที่ส่งครั้งแรกและวันที่อัปเดตล่าสุด

วันที่ "อัปเดตล่าสุด" จะบอกคุณว่าแพ็คเกจนั้นได้รับการบำรุงรักษาหรือไม่ บรรจุภัณฑ์ที่ไม่ได้ใช้งานเป็นเวลานานควรได้รับการปฏิบัติด้วยความระมัดระวัง

Upstream URL เป็นตำแหน่งที่ถูกต้องหรือไม่

นอกจากนี้ ตรวจสอบ “Upstream URL” และยืนยันว่าไปยังหน้าเว็บหรือที่เก็บโค้ดที่ถูกต้องสำหรับแพ็คเกจหรือโครงการ ถ้าไม่เป็นเช่นนั้น มีบางอย่างผิดปกติ

รายละเอียดแพ็กเกจ AUR สำหรับแพ็กเกจ yay โดยไฮไลต์ URL อัปสตรีม

อ่านความคิดเห็นของผู้ใช้

มีความคิดเห็นของผู้ใช้ที่ส่วนท้ายของแต่ละหน้า AUR สิ่งเหล่านี้สามารถขยายได้หลายหน้า ดูว่าผู้ใช้รายอื่นพูดถึงแพ็คเกจนี้อย่างไร และพวกเขาถามคำถามประเภทใด ดูว่ามีวิธีแก้ไขปัญหาใดบ้างที่นำเสนอ มีความคิดเห็นล่าสุดหรือไม่? แพ็คเกจนี้ยังมีฐานผู้ใช้งานอยู่หรือไม่?

ลงทะเบียนและเข้าร่วม

หากคุณลงทะเบียนใน AUR และสร้างบัญชีฟรี คุณจะสามารถแสดงความคิดเห็นและถามคำถามได้ นอกจากนี้ ใช้แหล่งข้อมูลอื่นๆ เช่น ฟอรัมและซับเรดดิตเพื่อถามเกี่ยวกับแพ็คเกจ

แม้ว่าคุณจะไม่เข้าใจเชลล์สคริปต์ แต่ก็ยังมีสองสิ่งที่คุณสามารถตรวจสอบได้

ตรวจสอบเนื้อหาของ PKGBUILD และไฟล์อื่นๆ

วิธีทั่วไปในการเข้าถึง AUR คือการใช้บรรทัดคำสั่ง “AUR helper” เช่น yay แต่คุณยังสามารถใช้ AUR ด้วยตนเองได้

ตัวช่วย AUR ที่ดีให้คุณมีตัวเลือกในการตรวจสอบไฟล์ PKGBUILD หยุดการติดตั้งหากคุณไม่ต้องการดำเนินการต่อ ในกระบวนการแบบแมนนวล ให้คุณค้นหาแพ็คเกจบน AUR และดาวน์โหลดไฟล์ PKGBUILD และตรวจสอบก่อนใช้งาน หากคุณยินดีที่จะดำเนินการต่อหลังจากตรวจสอบแล้ว ให้เรียกใช้ makepkg ด้วยตนเอง

เป็นความคิดที่ดีที่จะติดตั้งอย่างน้อยหนึ่งแพ็คเกจด้วยตนเอง เพื่อให้คุณทราบกลไกของสิ่งที่ AUR helper กำลังทำอยู่เบื้องหลัง เราจะใช้ตัวช่วย yay AUR เป็นตัวอย่าง

แพคเกจถูกส่งครั้งแรกในปี 2559 และได้รับการอัปเดตครั้งล่าสุดในเดือนพฤษภาคม 2566 ในขณะที่เขียน นั่นเป็นการอัปเดตล่าสุด สิ่งที่น่าสังเกตอีกอย่างคือผู้ส่งต้นฉบับ ผู้ดูแลคนปัจจุบัน และคนสุดท้ายที่จัดทำแพ็คเกจซอฟต์แวร์ เป็นบุคคลคนเดียวกันทั้งหมด ความต่อเนื่องนั้นเป็นสัญญาณที่ดี

คลิกลิงก์ URL “Git Clone URL” ในส่วน “รายละเอียดแพ็คเกจ” เพื่อคัดลอกไปยังคลิปบอร์ด

ในหน้าต่างเทอร์มินัล พิมพ์ "git clone" เว้นวรรค แล้วกด Shift+Ctrl+V เพื่อวาง URL ลงในบรรทัดคำสั่ง กด “Enter” เพื่อเริ่มการดาวน์โหลด

 โคลนคอมไพล์ https://aur.archlinux.org/yay.git 

การโคลนไฟล์ yay PKGBUILD จากที่เก็บ git

เมื่อการดาวน์โหลดเสร็จสิ้น ให้เปลี่ยนเป็นไดเร็กทอรี "เย้" ใหม่

 ซีดี เย้ 

การเปลี่ยนไดเร็กทอรีเป็นโฟลเดอร์ yay

มาดูกันว่าเรามีไฟล์อะไรบ้าง

แสดงรายการไฟล์ที่ดึงข้อมูลด้วย ls

มีไฟล์เดียวคือไฟล์ PKGBUILD มักจะมีไฟล์ตัวช่วยเพิ่มเติมหนึ่งหรือสองไฟล์ มองผ่านสิ่งเหล่านั้นด้วย เราจะใช้ less ในการอ่านไฟล์เดียวของเรา

 PKGBUILD น้อยลง 

เริ่มต้นโปรแกรมดูไฟล์น้อยลงเพื่อเปิดไฟล์ yay PKGBUILD

ไฟล์ PKGBUILD ใช้ URL ใด

ไฟล์ PKGBUILD ที่มีรูปแบบเหมาะสมซึ่งเป็นไปตามแบบแผนจะสร้างตัวแปรเพื่อเก็บ URL ที่ใช้ สิ่งนี้ทำให้เรามีรายชื่อด้านบนของไฟล์ของ URL ที่ PKGBUILD จะอ้างอิง ในกรณีนี้มีเพียงหนึ่งเดียว

ตรวจสอบไฟล์ yay PKGBUILD ด้วยโปรแกรมดูไฟล์ที่น้อยกว่า

เราจะเห็นว่ามันชี้ไปที่หน้า GitHub สำหรับโครงการ yay

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

แต่เราจะดำเนินการต่อไปและมองลึกลงไปอีกเล็กน้อย

ค้นหาคำสั่งดาวน์โหลด

ใช้คุณสมบัติการค้นหา less เพื่อค้นหาไฟล์สำหรับการใช้ wget หรือ curl เครื่องมือทั้งสองนี้สามารถใช้เพื่อดึงไฟล์ระยะไกล PKGBUILD ที่มีมารยาทดีไม่ควรทำกิจกรรมดังกล่าว

หากคุณพบเหตุการณ์ใดๆ ให้ถือว่าเป็นสัญญาณสีแดง และอย่าติดตั้งแพ็คเกจจนกว่าคุณจะแน่ใจว่าไม่เป็นอันตราย URL ที่คำสั่ง wget หรือ curl อ้างอิงคืออะไร พวกเขาดูถูกต้องตามกฎหมายและเกี่ยวข้องกับแพ็คเกจหรือไม่?

หากคุณได้รับการยืนยันจากแหล่งที่น่าเชื่อถือว่า PKGBUILD นั้นเชื่อถือได้ และเพิ่งเขียนขึ้นในลักษณะที่ไม่เป็นไปตามแบบแผน คุณยังสามารถเลือกที่จะติดตั้งได้

มองหาคำสั่ง rm, mv และคำสั่งอันตรายอื่นๆ

ในทำนองเดียวกัน ไม่มีความจำเป็นที่ไฟล์ PKGBUILD จะมีคำสั่ง rm หรือ mv และไม่จำเป็นต้องอ้างอิงสิ่งใดในไดเร็กทอรี “/dev” หาก PKGBUILD เรียก pacman โดยตรง หรือกล่าวถึง systemctl , systemd หรือส่วนประกอบของระบบที่สำคัญอื่นๆ เช่น grub ให้ถือว่าไฟล์ PKGBUILD เป็นอันตรายและอย่าเรียกใช้

คุณสามารถดำเนินการตามขั้นตอนที่เราเคยใช้ได้ แม้ว่าคุณจะไม่สามารถอ่านเชลล์สคริปต์ได้ หากคุณรู้จักการเขียนเชลล์สคริปต์ คุณสามารถตรวจสอบโค้ดจริงได้ใน PKGBUILD

ระวังรหัสที่สับสน

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

การคัดลอกบรรทัดเหล่านั้นและวางลงในโปรแกรมแยกวิเคราะห์ออนไลน์ เช่น expandshell.com จะเป็นการคลายแพ็กบรรทัดเหล่านั้น เพื่อให้คุณเห็นว่าแท้จริงแล้วเขาทำอะไรได้บ้าง หากคุณต้องเผชิญกับวงเล็บเหลี่ยม เครื่องหมายอัฒภาค และเครื่องหมายแอมเปอร์แซนด์ที่เรียงกันหนาแน่น คุณควรลองใช้โปรแกรมแยกวิเคราะห์ออนไลน์เพื่อตรวจสอบอีกครั้งว่าคุณตีความสิ่งที่บรรทัดนั้นพยายามทำอย่างถูกต้องแล้ว แต่โดยทั่วไปแล้ว โค้ดที่อ่านยากคือสัญญาณเตือน

บ้านของคุณควรจะเป็นปราสาทของคุณ

PKGBUILD รวบรวมและสร้างขึ้นในสภาพแวดล้อม chroot

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

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

คุณสามารถช่วยเหลือผู้ใช้ AUR รายอื่นได้

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

หากคุณพบว่ามีปัญหากับแพ็คเกจที่ทำให้คุณไม่ต้องการติดตั้ง คุณอาจพบว่าตัวเองมีปัญหาเพราะคุณต้องการแพ็คเกจนั้น วิธีหนึ่งคือการถามฟอรัมเพื่อขอคำแนะนำเกี่ยวกับแพ็คเกจอื่น ๆ ที่สามารถตอบสนองความต้องการเฉพาะนั้นได้

Linux มักจะมีหลายวิธีในการสกินแมวตัวใดตัวหนึ่ง

ที่เกี่ยวข้อง: วิธีติดตั้ง Arch Linux จาก GUI