Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

แพ็คเกจไบนารีกับซอร์ส:คุณควรใช้อันไหน?

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

แพ็คเกจไบนารีคืออะไร

แพ็คเกจไบนารีกับซอร์ส:คุณควรใช้อันไหน?

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

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

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

แพ็คเกจมาจากไหน

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

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

การติดตั้ง "จากแหล่งที่มา" คืออะไร

แพ็คเกจไบนารีกับซอร์ส:คุณควรใช้อันไหน?

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

โดยส่วนใหญ่ คุณสามารถดาวน์โหลดซอร์สโค้ดของโปรเจ็กต์จากบริการโฮสต์ เช่น GitHub, GitLab หรือ Bitbucket โปรแกรมขนาดใหญ่อาจโฮสต์ซอร์สโค้ดบนเว็บไซต์ส่วนตัวด้วยซ้ำ รหัสมักจะถูกบีบอัดในรูปแบบไฟล์เก็บถาวร (หรือที่เรียกว่า แพ็คเกจต้นทาง )

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

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

ตัวอย่างการสร้าง "จากแหล่งที่มา"

ตัวอย่างเช่น คำสั่งด้านล่างสร้างไฟล์การกำหนดค่าสำหรับ Calligra Office Suite โดยใช้ CMake ไฟล์ที่สร้างบอกให้โปรแกรม make คอมไพล์เฉพาะองค์ประกอบ Writer ของ Calligra

cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra

เมื่อทำเช่นนี้แล้ว สิ่งที่ทุกคนต้องทำคือเรียกใช้เครื่องมือ make เพื่อรวบรวมและคัดลอกผลลัพธ์ลงในคอมพิวเตอร์ของตน ทำได้ดังนี้:

make
make install

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

ประโยชน์ของการใช้แพ็คเกจไบนารี

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

รุ่นไบนารีนั้นง่ายต่อการจัดการ

แพ็คเกจไบนารีกับซอร์ส:คุณควรใช้อันไหน?

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

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

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

เวอร์ชันไบนารีมีความเสถียรที่ปรับปรุงแล้ว

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

แพ็คเกจ Plus มักจะต้องปฏิบัติตามกฎเกณฑ์ที่เข้มงวดเพื่อช่วยให้มั่นใจว่าจะทำงานบนระบบของคุณ ทั้ง Debian และ Ubuntu มีคู่มือนโยบาย เช่นเดียวกับลีนุกซ์รุ่นอื่นๆ

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

ประโยชน์ของการรวบรวมแพ็คเกจต้นทาง

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

ซอร์สโค้ดเสนอซอฟต์แวร์ล่าสุด

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

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

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

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

คุณสามารถเลือกและเลือกได้

แพ็คเกจไบนารีกับซอร์ส:คุณควรใช้อันไหน?

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

ตัวอย่างเช่น ดู FFmpeg ตัวแปลงเสียงและวิดีโอแบบบรรทัดคำสั่ง โดยค่าเริ่มต้น มันมาพร้อมกับคุณสมบัติมากมาย ซึ่งบางอันคุณอาจไม่เคยแตะเลยด้วยซ้ำ ตัวอย่างเช่น รองรับเสียง JACK ใน FFmpeg แม้ว่าโดยปกติแล้วซอฟต์แวร์นี้จะใช้ในสภาพแวดล้อมที่ใช้งานจริงเท่านั้น

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

เมื่อทรัพยากรมีน้อย การนำคุณลักษณะออกอาจเป็นวิธีที่ดีในการแบ่งเบาภาระ ไม่น่าแปลกใจเลยที่ Chrome OS ที่พบในคอมพิวเตอร์ระดับล่างหลายๆ รุ่นนั้นใช้ Gentoo Linux Gentoo ซึ่งอิงตามแหล่งที่มาและรวบรวมซอฟต์แวร์จำนวนมาก อาจทำให้ระบบเหล่านี้ทำงานได้น้อยลงมาก

ทำไมไม่ติดตั้งด้วยทั้งสองอย่าง

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