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

วิธีคอมไพล์แพ็กเกจซอฟต์แวร์บน Linux

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

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

การดาวน์โหลดไฟล์ซอร์ส

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

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

คุณยังสามารถดาวน์โหลดซอร์สโค้ดจากโครงการโอเพนซอร์สอย่าง VLC ได้โดยตรง ไฟล์เหล่านี้มักอยู่ในรูปแบบไฟล์บีบอัดอย่าง TAR.GZ ซึ่งคุณสามารถแยกไฟล์ได้ที่เทอร์มินัลโดยใช้คำสั่ง tar ตัวอย่างเช่น การรันคำสั่ง tar -xzvf source.tar.gz จะแยกไฟล์ tarball ชื่อ source.tar.gz

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

การติดตั้ง Build-Essential บน Linux

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

ในฐานะแพ็กเกจที่จำเป็น build-essential (หรือแพ็กเกจที่มีชื่อคล้ายกัน) ควรจะมีอยู่ในที่เก็บซอฟต์แวร์สำหรับการแจกจ่าย Linux ของคุณ ตัวเทียบเท่าของ build-essential บนการแจกจ่ายที่พัฒนาจาก Arch Linux เรียกว่า base-devel ซึ่งรวมเครื่องมือส่วนใหญ่เหมือนกัน

คำแนะนำการติดตั้ง build-essential จะแตกต่างกันไป ขึ้นอยู่กับการแจกจ่าย Linux ของคุณ ตัวอย่างเช่น บน Ubuntu และระบบปฏิบัติการที่พัฒนาจาก Debian คุณสามารถติดตั้ง build-essential ได้โดยการเปิดหน้าต่างเทอร์มินัลและพิมพ์ sudo apt install build-essential

การติดตั้ง build-essential จะติดตั้ง Dependency ของมันด้วย เช่นแพ็กเกจ g++ เมื่อกระบวนการนี้เสร็จสมบูรณ์ คุณสามารถไปยังขั้นตอนการกำหนดค่าแพ็กเกจซอร์ส Linux ของคุณก่อนคอมไพล์ได้

รันคำสั่ง Configure

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

เพื่อรันสคริปต์ configure ให้เข้าสู่โฟลเดอร์สำหรับซอร์สโค้ดที่แยกไฟล์แล้วโดยใช้คำสั่ง cd จากนั้นพิมพ์ ./configure ลงในเทอร์มินัล กด Enter เพื่อรัน

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

ในบางกรณี คุณยังคงสามารถคอมไพล์และกำหนดค่าแพ็กเกจซอฟต์แวร์ได้ แม้สคริปต์ configure จะตรวจพบแพ็กเกจหรือฟีเจอร์ที่หายไป สคริปต์ configure สำหรับ VLC (ที่แสดงด้านบน) ได้เสนอวิธีแก้ไขสำหรับแพ็กเกจภาษา Lua ที่หายไป โดยแนะนำให้รันอีกครั้งพร้อมแฟล็ก --disable-lua เพื่อข้ามมัน

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

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

ติดตั้งแพ็กเกจ Dependency ที่หายไป

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

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

เมื่อคุณทราบว่าแพ็กเกจที่หายไปคืออะไร ให้ใช้โปรแกรมติดตั้งแพ็กเกจสำหรับการแจกจ่าย Linux ของคุณเพื่อติดตั้ง ตัวอย่างเช่น บน Ubuntu และระบบปฏิบัติการที่พัฒนาจาก Debian การรัน sudo apt install package-name จะติดตั้งแพ็กเกจ

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

วิธีคอมไพล์บน Linux

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

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

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

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

การติดตั้งซอฟต์แวร์ใหม่บน Linux

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

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