1. บทนำ
เมื่อใช้ Ubuntu คุณอาจพบขั้นตอนการติดตั้งซอฟต์แวร์ด้วยคำสั่ง “make install” โดยปกติแล้วการติดตั้งแอปพลิเคชันจะเสร็จสิ้นด้วยคำสั่ง “apt” แต่ไม่ใช่ทุกซอฟต์แวร์ที่จะอยู่ในคลังอย่างเป็นทางการเสมอไป หากต้องการใช้เวอร์ชันล่าสุดหรือเรียกใช้งานโปรแกรมที่คุณพัฒนาด้วยตนเอง คุณจะต้องดาวน์โหลดซอร์สโค้ดและทำการ build (คอมไพล์) ด้วยตนเองก่อนจึงจะติดตั้งได้
ในกรณีนี้ “make install” จะมีบทบาทสำคัญ
“make install” คือคำสั่งที่ช่วยจัดวางไฟล์โปรแกรมที่ถูกคอมไพล์จากซอร์สโค้ดไปยังตำแหน่งที่เหมาะสม ไม่เพียงแต่ build (make) โปรแกรมเท่านั้น แต่ยังช่วยคัดลอกไฟล์ไปยังไดเรกทอรีของระบบโดยอัตโนมัติด้วย ถือเป็นขั้นตอนพื้นฐานที่ใช้กันบ่อยในสภาพแวดล้อม Linux
บทความนี้จะอธิบายขั้นตอนการ build ซอร์สโค้ดและติดตั้งซอฟต์แวร์บน Ubuntu ด้วย make install อย่างละเอียด เข้าใจง่ายแม้สำหรับมือใหม่ พร้อมทั้งแนะนำวิธีแก้ไขข้อผิดพลาดที่มักพบขณะปฏิบัติงาน
ก่อนอื่น มาเตรียมเครื่องมือพัฒนา (development tools) ที่จำเป็นสำหรับการ build กันก่อน
2. การติดตั้งเครื่องมือพัฒนาที่จำเป็น
เพื่อ build และติดตั้งซอฟต์แวร์จากซอร์สโค้ด คุณต้องเตรียมเครื่องมือพัฒนาที่จำเป็นบน Ubuntu ให้ครบ หากขาดส่วนใดไป คุณอาจไม่สามารถใช้คำสั่ง “make” หรือเกิด build error ได้ง่าย เพื่อให้ทำงานได้ราบรื่น ควรตั้งค่าสภาพแวดล้อมการพัฒนาให้พร้อมตั้งแต่แรก
การติดตั้งแพ็กเกจที่จำเป็น “build-essential”
ใน Ubuntu มีแพ็กเกจที่ชื่อว่า “build-essential” ซึ่งรวมเครื่องมืออย่าง C compiler (gcc), build tools (make) และไลบรารีที่เกี่ยวข้องไว้ด้วย การติดตั้งแพ็กเกจนี้จะช่วยให้เตรียมสภาพแวดล้อมพื้นฐานได้อย่างง่ายดาย
ขั้นตอนการติดตั้งมีดังนี้
sudo apt update
sudo apt install build-essential
ให้อัปเดตข้อมูลแพ็กเกจก่อน แล้วจึงติดตั้ง build-essential เพียงเท่านี้ก็พร้อมสำหรับการ build ขั้นพื้นฐาน
ตรวจสอบการทำงานหลังติดตั้ง
สามารถตรวจสอบว่าติดตั้งถูกต้องหรือไม่ ด้วยคำสั่งต่อไปนี้
gcc --version
make --version
หากแสดงเวอร์ชันของ gcc (C compiler) และ make (build tool) ถือว่าสำเร็จ หากเกิดข้อผิดพลาด ให้ตรวจสอบข้อความ error และลองติดตั้งใหม่อีกครั้ง
เพียงเท่านี้ก็พร้อมสำหรับเริ่มต้น build ซอร์สโค้ดบน Ubuntu แล้ว ขั้นตอนถัดไปคือการดาวน์โหลดและแตกไฟล์ซอร์สโค้ด
3. การดาวน์โหลดและแตกไฟล์ซอร์สโค้ด
หลังติดตั้งเครื่องมือพัฒนาเสร็จแล้ว ขั้นตอนต่อไปคือการเตรียมซอร์สโค้ดที่จะ build โดยดาวน์โหลดซอร์สโค้ดจากผู้พัฒนาซอฟต์แวร์และแตกไฟล์ลงในไดเรกทอรีที่ใช้สำหรับทำงาน ในส่วนนี้จะอธิบายวิธีการดาวน์โหลดและแตกไฟล์ซอร์สโค้ด
วิธีการรับซอร์สโค้ด
โดยทั่วไปสามารถรับซอร์สโค้ดด้วยวิธีใดวิธีหนึ่งดังนี้
ดาวน์โหลดจากเว็บไซต์ทางการ
โปรเจกต์โอเพนซอร์สส่วนใหญ่มักแจกซอร์สโค้ดเป็นไฟล์บีบอัด เช่น “tar.gz” หรือ “tar.bz2” ตัวอย่างการดาวน์โหลดด้วยคำสั่งต่อไปนี้
wget https://example.com/software-1.2.3.tar.gz
URL นี้ให้เปลี่ยนเป็นลิงก์ดาวน์โหลดที่ระบุในหน้าเว็บไซต์ของแต่ละซอฟต์แวร์
โคลนจาก GitHub หรือบริการโค้ดอื่นๆ
หลายโปรเจกต์ใช้บริการแบ่งปันโค้ดอย่าง GitHub ซึ่งสามารถโคลนซอร์สโค้ดด้วย git command ได้
หากยังไม่ได้ติดตั้ง Git ให้ใช้คำสั่งนี้
sudo apt install git
จากนั้นจึงโคลนซอร์สโค้ด
git clone https://github.com/username/repository.git
URL repository นี้ควรตรวจสอบจากหน้า official ของแต่ละโปรเจกต์
ขั้นตอนการแตกไฟล์บีบอัด
ถ้าซอร์สโค้ดแจกเป็นไฟล์บีบอัด ให้แตกไฟล์ด้วยคำสั่งที่เหมาะสม
รูปแบบที่ใช้บ่อยและคำสั่งในการแตกไฟล์มีดังนี้
- กรณีไฟล์
.tar.gz
:
tar -xvzf software-1.2.3.tar.gz
- กรณีไฟล์
.tar.bz2
:
tar -xvjf software-1.2.3.tar.bz2
- กรณีไฟล์
.zip
:
unzip software-1.2.3.zip
เมื่อแตกไฟล์เสร็จจะมีโฟลเดอร์ที่ชื่อเป็นชื่อโปรแกรมและเวอร์ชันถูกสร้างขึ้น ให้เข้าไปในโฟลเดอร์นั้นเพื่อดำเนินการต่อ
cd software-1.2.3
ตอนนี้ก็พร้อมสำหรับขั้นตอน build ซอฟต์แวร์แล้ว ถัดไปจะอธิบายวิธี build และติดตั้งจริง
4. ขั้นตอนการ build และติดตั้ง
เมื่อเตรียมซอร์สโค้ดเรียบร้อย ก็เข้าสู่ขั้นตอน build และติดตั้งจริง ในบทนี้จะอธิบายลำดับขั้นตอน build/install ที่ใช้ใน Ubuntu อย่างละเอียด
เตรียม build: รัน ./configure
ซอร์สโค้ดจำนวนมากจะมี “สคริปต์ตั้งค่า” ก่อนเริ่ม build ให้รันคำสั่งนี้ในไดเรกทอรีซอร์สโค้ด
./configure
คำสั่งนี้จะตรวจสอบสถานะระบบและสร้าง Makefile โดยอัตโนมัติ หากขาดไลบรารีหรือเครื่องมือ จะเกิด error ที่นี่ ให้ตรวจสอบข้อความและติดตั้งแพ็กเกจที่ขาดไป
ถ้าไม่มีสคริปต์ configure
ให้ดูไฟล์ README
หรือ INSTALL
สำหรับขั้นตอน build ที่ถูกต้อง
การ build โปรแกรม: ใช้คำสั่ง make
เมื่อตั้งค่าเสร็จแล้ว ให้ build โดยใช้คำสั่งต่อไปนี้ ซึ่งจะคอมไพล์ซอร์สโค้ดเป็นโปรแกรมที่ใช้งานได้
make
ระบบจะคอมไพล์อัตโนมัติตามคำสั่งใน Makefile รอจนเสร็จและดูว่ามี error หรือไม่ ถ้ามีให้ตรวจสอบและแก้ไขปัญหาไลบรารีหรือ dependency ตามข้อความ error
ติดตั้งโปรแกรม: sudo make install
เมื่อ build สำเร็จ ให้ติดตั้งโปรแกรมลงระบบ คำสั่งนี้ต้องใช้สิทธิ์ผู้ดูแลระบบ (root)
ให้ใช้คำสั่งนี้
sudo make install
คำสั่งนี้จะคัดลอกไฟล์ไปยังตำแหน่งที่เหมาะสมในระบบ และสามารถเรียกใช้งานจาก Ubuntu ได้ทันที
ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข
ระหว่างขั้นตอน build/install อาจพบ error ต่อไปนี้
- Permission denied (สิทธิ์ไม่พอ)
→ ตรวจสอบว่าลืมใช้sudo
ตอน runmake install
หรือไม่ - Missing dependencies (ขาด dependency)
→ ดู error แล้วติดตั้งไลบรารี/แพ็กเกจที่จำเป็น - configure: command not found
→ อาจไม่มีสคริปต์configure
หรือไม่มีสิทธิ์รัน ใช้chmod +x configure
เพื่อเพิ่มสิทธิ์ หรืออ่านวิธี build จากไฟล์ README/INSTALL
อย่าเพิ่งตกใจเมื่อเกิด error ค่อยๆ อ่านข้อความและแก้ไขไปทีละจุด
5. ตรวจสอบหลังติดตั้ง
หลังใช้ “sudo make install” ติดตั้งซอฟต์แวร์แล้ว ควรตรวจสอบว่าติดตั้งสมบูรณ์หรือไม่ หากติดตั้งไม่สมบูรณ์จะสั่งงานไม่ได้หรือทำงานผิดพลาด บทนี้จะอธิบายวิธีตรวจสอบพื้นฐานหลังติดตั้ง
ตรวจสอบตำแหน่งไฟล์โปรแกรม
ให้ตรวจสอบว่าไฟล์โปรแกรมอยู่ตรงไหนในระบบ โดยใช้คำสั่ง which
เพื่อตรวจสอบ path ของโปรแกรม
which ชื่อโปรแกรม
เช่น ถ้าติดตั้งโปรแกรมชื่อ sample
ให้พิมพ์
which sample
ถ้าขึ้น path เช่น /usr/local/bin/sample
หรือ /usr/bin/sample
แสดงว่าติดตั้งสำเร็จ หากไม่ขึ้นอะไรเลยอาจติดตั้งไม่สมบูรณ์หรือ path ไม่ถูกตั้งค่า
ตรวจสอบเวอร์ชันเพื่อเช็กการทำงาน
โปรแกรมส่วนใหญ่มีออปชันแสดงเวอร์ชัน (มักเป็น --version
หรือ -v
) เพื่อเช็กการติดตั้งและการทำงานได้
sample --version
ถ้าแสดงเวอร์ชันได้ถูกต้องถือว่าติดตั้งสำเร็จ ถ้าเกิด error หรือไม่เจอคำสั่ง ให้ตรวจสอบขั้นตอนการติดตั้งใหม่

ตรวจสอบตัวแปร PATH
โปรแกรมที่ติดตั้งด้วย make install
มักถูกวางไว้ที่ /usr/local/bin
ถ้า path นี้ไม่อยู่ใน PATH ของระบบจะเรียกโปรแกรมไม่เจอ
ตรวจสอบ PATH ปัจจุบันด้วยคำสั่งนี้
echo $PATH
หากใน path มี /usr/local/bin
ถือว่าเรียบร้อย ถ้าไม่มี ให้เพิ่มบรรทัดต่อไปนี้ในไฟล์ตั้งค่า shell (~/.bashrc
หรือ ~/.zshrc
)
export PATH=/usr/local/bin:$PATH
เพื่อให้ตั้งค่ามีผล ให้รีสตาร์ทเทอร์มินัลหรือรัน
source ~/.bashrc
เท่านี้ก็สามารถเรียกโปรแกรมจากเทอร์มินัลได้ปกติ
6. วิธีถอนการติดตั้ง
โปรแกรมที่ติดตั้งจากซอร์สโค้ดจะไม่ถูกจัดการด้วย apt หรือ package manager อื่น ๆ ดังนั้นถ้าไม่ต้องการต้องถอนการติดตั้งด้วยตนเอง บทนี้จะอธิบายวิธีถอนการติดตั้งซอฟต์แวร์ที่ติดตั้งด้วย make install บน Ubuntu
ถอนการติดตั้งด้วย make uninstall
ซอฟต์แวร์บางตัวมี target “uninstall” ใน Makefile ให้ใช้คำสั่งนี้เพื่อลบไฟล์ที่ติดตั้งไว้
sudo make uninstall
คำสั่งนี้จะลบไฟล์ที่ถูกคัดลอกระหว่างการติดตั้งโดยอัตโนมัติ แต่ไม่ใช่ทุกโปรแกรมที่รองรับ make uninstall
ก่อนใช้งานควรตรวจสอบใน README หรือ INSTALL ก่อน
ข้อควรระวัง
- ต้องรันในไดเรกทอรีซอร์สโค้ดเดียวกับที่ติดตั้ง
- หากลบซอร์สโค้ดไปแล้ว จะใช้
make uninstall
ไม่ได้
ลบไฟล์ด้วยตนเอง
ถ้าโปรแกรมไม่รองรับ make uninstall
ให้ลบไฟล์ที่ติดตั้งเอง โดยปกติไฟล์จะอยู่ใน /usr/local/bin
หรือ /usr/local/lib
เป็นต้น
ตรวจสอบไฟล์หรือโฟลเดอร์ที่ติดตั้งไว้แล้วลบออก ตัวอย่างเช่นถ้าไฟล์ไบนารีอยู่ใน /usr/local/bin
ใช้คำสั่งนี้
sudo rm /usr/local/bin/ชื่อโปรแกรม
กรณีลบด้วยตนเอง อาจลบไฟล์ได้ไม่ครบ ดังนั้นควรตรวจสอบโครงสร้างไฟล์ก่อนเสมอ
การจัดการด้วย checkinstall
ถ้าต้องการถอนการติดตั้งในอนาคตอย่างสะดวก แนะนำให้ใช้เครื่องมือ “checkinstall” ซึ่งจะสร้างแพ็กเกจ deb ระหว่างติดตั้งด้วย make install
ติดตั้ง checkinstall ด้วยคำสั่งนี้
sudo apt install checkinstall
หลัง build เสร็จ ให้ใช้คำสั่งนี้แทนการ install จะได้แพ็กเกจที่ถอนได้ด้วย apt หรือ dpkg
sudo checkinstall
checkinstall จะช่วยให้ง่ายต่อการจัดการและถอนการติดตั้ง เหมาะกับกรณีที่ต้อง build จากซอร์สโค้ดบ่อยๆ
7. การติดตั้งในสภาพแวดล้อมออฟไลน์
บางครั้งต้องติดตั้งซอฟต์แวร์บน Ubuntu ในสภาพแวดล้อมที่ไม่มีอินเทอร์เน็ต ซึ่งปกติแล้วต้องใช้เน็ตในการดาวน์โหลดแพ็กเกจและ dependency แต่ก็สามารถใช้ make install เพื่อ build/install ในออฟไลน์ได้เช่นกัน บทนี้จะอธิบายวิธีติดตั้งในออฟไลน์
เตรียม build-essential สำหรับออฟไลน์
ก่อนอื่นต้องเตรียมแพ็กเกจ build-essential ที่จำเป็นสำหรับการ build บนเครื่องออฟไลน์ วิธีทำคือใช้เครื่อง Ubuntu ที่เชื่อมต่ออินเทอร์เน็ตเพื่อดาวน์โหลดแพ็กเกจไว้ล่วงหน้า
ใช้ apt-offline ช่วยดาวน์โหลด
เครื่องมือ apt-offline
สามารถใช้ดาวน์โหลดแพ็กเกจและ dependency ที่ต้องการล่วงหน้า จากนั้นนำไฟล์ทั้งหมดใส่ USB หรือสื่ออื่น ๆ เพื่อไปติดตั้งบนเครื่องออฟไลน์ได้
ติดตั้ง apt-offline บนเครื่องที่เชื่อมต่อเน็ตด้วยคำสั่ง
sudo apt install apt-offline
สร้าง request file บนเครื่องออฟไลน์ แล้วนำไปดาวน์โหลดแพ็กเกจบนเครื่องออนไลน์ จากนั้นค่อยนำกลับมาติดตั้งที่ออฟไลน์อีกครั้ง
ใช้สื่อ Ubuntu Install Media เป็น APT source
อีกวิธีคือใช้ DVD หรือ USB ติดตั้ง Ubuntu เป็นแหล่งแพ็กเกจสำหรับ APT ซึ่งบน media จะมีแพ็กเกจพื้นฐานอยู่แล้ว สามารถใช้ติดตั้ง build-essential ได้
เมานต์ media แล้วตั้งค่าดังนี้
sudo mount /dev/sdb1 /mnt
sudo apt-cdrom -d=/mnt add
จากนั้นติดตั้งแพ็กเกจตามปกติ
sudo apt update
sudo apt install build-essential
วิธีนี้จะช่วยให้ติดตั้ง build-essential ได้แม้ไม่มีอินเทอร์เน็ต
นำซอร์สโค้ดเข้าและแตกไฟล์ในออฟไลน์
เมื่อเตรียม build tools แล้ว ให้ดาวน์โหลดซอร์สโค้ดล่วงหน้าและใส่ USB เพื่อโอนไปเครื่องออฟไลน์ แตกไฟล์ด้วยคำสั่ง
tar -xvzf software-1.2.3.tar.gz
cd software-1.2.3
จากนั้น build และ install ตามปกติด้วย ./configure
→ make
→ sudo make install
ข้อควรระวัง
การติดตั้งในออฟไลน์มักเจอปัญหา dependency ขาด แนะนำให้เช็กไลบรารี/ไฟล์ header ที่จำเป็นให้ครบ หากเป็นไปได้ควรลอง build ในเครื่องออนไลน์ก่อนเพื่อดูว่าต้องใช้แพ็กเกจอะไรบ้าง
8. คำถามที่พบบ่อย (FAQ)
การใช้ “make install” บน Ubuntu เพื่อติดตั้งซอฟต์แวร์ มักมีคำถามหรือปัญหาที่พบบ่อย โดยเฉพาะสำหรับมือใหม่ ในบทนี้จะรวมคำถามสำคัญและคำตอบที่เป็นประโยชน์ไว้
Q1. ทำไมรัน make install
แล้วขึ้น “Permission denied”?
A1.
เพราะคำสั่ง make install ต้องใช้สิทธิ์ root (ผู้ดูแลระบบ) ในการคัดลอกไฟล์ไปยัง /usr/local/bin หรือ /usr/bin ควรเติม sudo
หน้าคำสั่งเสมอ
ตัวอย่างที่ถูกต้อง:
sudo make install
Q2. ทำไมรัน ./configure
แล้วขึ้น “No such file or directory”?
A2.
เพราะในโฟลเดอร์นั้นไม่มีสคริปต์ configure
สาเหตุอาจมาจากดาวน์โหลดซอร์สโค้ดไม่สมบูรณ์ โปรเจกต์ไม่ได้ใช้ autotools (เช่น ใช้ CMake แทน) หรือไฟล์ configure ไม่มีสิทธิ์ execute ให้เช็กไฟล์ README
หรือ INSTALL
สำหรับขั้นตอนที่ถูกต้อง
Q3. รัน make
แล้วขึ้นว่าไม่พบคำสั่ง ต้องทำอย่างไร?
A3.
แปลว่ายังไม่ได้ติดตั้ง build tools ให้ติดตั้ง build-essential
ก่อนด้วยคำสั่งต่อไปนี้
sudo apt update
sudo apt install build-essential
Q4. ติดตั้ง build-essential ในออฟไลน์อย่างไร?
A4.
ให้ดาวน์โหลดแพ็กเกจจากเครื่องที่มีอินเทอร์เน็ตมาก่อน โดยใช้ apt-offline หรือใช้ media ติดตั้ง Ubuntu เป็นแหล่งแพ็กเกจ จะได้ไฟล์ที่จำเป็นครบ นำมาติดตั้งบนเครื่องออฟไลน์ได้
9. สรุป
“make install” เป็นเครื่องมือสำคัญสำหรับการติดตั้งซอฟต์แวร์จากซอร์สโค้ดบน Ubuntu ให้ความยืดหยุ่นสูง ไม่ต้องพึ่ง package manager สามารถใช้เวอร์ชันล่าสุดหรือโปรแกรมที่ปรับแต่งเองได้เต็มที่
บทความนี้อธิบายทุกขั้นตอน ตั้งแต่เตรียมเครื่องมือ รับซอร์สโค้ด build, install, ถอนการติดตั้ง รวมถึงวิธีแก้ปัญหาออฟไลน์และ FAQ มือใหม่เข้าใจได้ง่าย หวังว่าทุกท่านจะนำไปประยุกต์ใช้และพัฒนาทักษะการดูแลระบบ Linux ได้มั่นใจยิ่งขึ้น
หากเจอ error หรือปัญหาระหว่างทาง ให้อ่านข้อความ error อย่างใจเย็นและค้นหาคำตอบใน FAQ หรือในชุมชนออนไลน์ Linux จะช่วยให้แก้ปัญหาได้อย่างรวดเร็ว ขอให้สนุกกับการใช้งาน Ubuntu!