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

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

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

กำลังดาวน์โหลดไฟล์ต้นฉบับ(Downloading Source Files)

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

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

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

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

การติดตั้ง Build-Essential บน Linux(Installing Build-Essential On Linux)

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

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

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

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

เรียกใช้คำสั่งกำหนดค่า(Run The Configure Command)

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

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

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

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

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

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

ติดตั้งแพ็คเกจการพึ่งพาที่ขาดหายไป(Install Missing Dependency Packages)

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

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

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

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

วิธีการคอมไพล์บน Linux(How to Compile on Linux)

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

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

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

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

การติดตั้งซอฟต์แวร์ใหม่บน Linux(Installing New Software On Linux)

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

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



About the author

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



Related posts