目次

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 ตอน run make 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 ตามปกติด้วย ./configuremakesudo 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!

年収訴求