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


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

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

<รูป class = "lazy aligncenter size-large">

การดาวน์โหลดไฟล์ต้นฉบับ

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

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

<รูป class = "lazy aligncenter size-large">

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

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

In_content_1 all: [300x250] / dfp: [640x360]->

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

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

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

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

<รูป class = "lazy aligncenter ขนาดใหญ่">

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

เรียกใช้คำสั่งกำหนดค่า

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

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

<รูป class = "lazy aligncenter size- ใหญ่ ">

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

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

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

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

ติดตั้งแพคเกจอ้างอิงที่ขาดหายไป

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

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

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

<รูป class = "lazy aligncenter size-large">

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

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

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

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

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

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

<รูป class = "lazy aligncenter size-large" >

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

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

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

สอนไพธอน Python 3: การติดตั้ง Python Package ด้วย pip บน Ubuntu Linux 16.04

กระทู้ที่เกี่ยวข้อง:


28.01.2020