Linux

การติดตั้งโปรแกรมใน Linux

ใน Linux นี่ เราสามารถเอาโปรแกรมมาใช้งานได้ 3 แบบหลักๆ ด้วยกัน คือติดตั้ง Package สำเร็จรูปจาก Software Center, รันจาก Binary โดยตรง และสุดท้ายคือการ Compile จาก Source มาดูกันดีกว่าว่าแต่ละแบบแตกต่างกันยังไง

1. ติดตั้งจาก Package สำเร็จรูป

อันนี้คือรูปแบบส่วนใหญ่ที่นิยมใช้กัน อย่างเช่นใน Ubuntu ก็จะมี Ubuntu Software Center ซึ่งพอเรากดเข้าไปก็จะมีรายชื่อโปรแกรมพร้อมคำอธิบายปรากฏมาให้เลือกติดตั้ง โดยโปรแกรมที่จะติดตั้งนี้ก็จะมีพวกตัว Binary และ Dependencies มาให้เรียบร้อย

– Binary คือไฟล์โปรแกรมที่ถูก compile เรียบร้อยแล้ว สามารถเรียกใช้งาน (execute) ได้เลย
– Dependencies คือส่วนอื่นๆ เพิ่มเติมที่จำเป็นในการใช้งานโปรแกรม เช่น พวก library ต่างๆ ถ้าไม่มีจะใช้งานโปรแกรมไม่ได้ ถ้าจะให้อธิบายง่ายๆ ก็เหมือนเวลาที่เราลงเกมใน Windows แล้วมันต้องให้ลง Direct X ด้วยน่ะแหละ

การติดตั้งโปรแกรมจาก Package สำเร็จรูป ก็จะมี 2 แบบ คือดาวน์โหลดจากอินเตอร์เนทและติดตั้งจากไฟล์ Package สำหรับติดตั้ง ในการดาวน์โหลดจากอินเตอร์เนทก็จะมีสิ่งที่เรียกว่า Software Repository คือแหล่งรวบรวมไฟล์ Package ของโปรแกรมต่างๆไว้ เวลาเราจะติดตั้งโปรแกรมก็จะไปดาวน์โหลดตัว Package ของโปรแกรมมาจาก Repository ที่โปรแกรมนั้นถูกเก็บอยู่ ส่วนแบบที่ 2 คือการดาวน์โหลดไฟล์ Package สำหรับติดตั้ง ซึ่งก็จะเป็นเหมือนกันพวกไฟล์ Setup ของ Windows แหละ โหลดไฟล์มา ดับเบิ้ลคลิก Nextๆๆ เสร็จ ไฟล์พวกนี้ก็จะมีการแบ่งตาม Distribution ที่ใช้ด้วยนะ เช่นพวกสาย Redhat/Fedora/SUSE จะเป็นไฟล์ .rpm แต่ถ้าเป็นพวกสาย Debian/Ubuntu จะเป็นไฟล์ .deb ใช้ข้ามสายกันไม่ได้

หรือถ้าจะสั่งติดตั้งจาก Command line ก็จะต้องใช้ตัว Package Manager มาช่วยในการติดตั้ง เช่น ใน Ubuntu ใช้ apt-get ใน openSUSE ใช้ zypper ซึ่งวิธีการเรียกใช้คำสั่งก็อาจจะมีความแตกต่างกันอยู่บ้าง

2. Binary สำเร็จรูป

เป็นโปรแกรมที่ถูก compile มาเรียบร้อยแล้ว พร้อมที่จะถูกเรียกใช้งานได้เลย ตัวอย่างเช่น Mozilla Firefox แบบที่ดาวน์โหลดมาจากเว็บ ซึ่งโปรแกรมที่มาในรูปแบบนี้มีข้อดีคือโหลดมาเสร็จก็ใช้ได้เลย ไม่ต้องเสียเวลา compile ใหม่ แต่ข้อเสียก็มีคือมันอาจจะมีการตั้งค่าบางอย่างที่ไม่ตรงกับระบบของเรา ทำให้อาจจะมีปัญหาในตอนใช้งานได้

3. Compile จาก Source

โดยส่วนใหญ่ โปรแกรมที่เป็นแบบ opensource จะมีให้ลิงก์ดาวน์โหลด source code ของโปรแกรมในหน้าดาวน์โหลดเลย ซึ่งก็จะถูกบีบอัดอยู่ในรูปของไฟล์ tarball (.tar.gz, .tar.bz2, …) ก่อนจะใช้ก็ต้องเอามา untar ก่อน ถ้าใช้ GUI ก็คลิกขวาแตกไฟล์ได้เลย แต่ถ้าใช้ command line ก็ต้องใส่ parameter ตามรูปแบบการบีบอัด

  • tar xvzf สำหรับ .tgz หรือ .tar.gz
  • tar xvjf สำหรับ .tbz หรือ .tar.bz2
  • tar xvf สำหรับ .tar

รูปแบบของ tarball จะเป็นการบีบอัดไฟล์รูปแบบนึง ซึ่งปกติแล้วใน directory นึงจะมีไฟล์หลายๆ ไฟล์อยู่ เราก็เอามา tar เพื่อให้มันเป็นก้อนเดียวกัน หลังจากนั้นก็เอามาบีบอัดเพื่อลดขนาดไฟล์ ซึ่งเทคนิคการบีบอัดก็แล้วแต่ว่าจะใช้แบบไหน เช่น gzip, bzip …

ในตัวอย่างนี้ผมจะลอง compile และติดตั้งโปรแกรม desmume 0.9.7 ซึ่งเป็นโปรแกรม emulator ของเครื่อง Nintendo DS

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

sudo apt-get install build-esential

โดยส่วนใหญ่แล้วโปรแกรมที่ใช้ใน Linux จะถูกเขียนโดยใช้ภาษา C หรือ C++ ซึ่งตัว build-essential นี้ก็จะรวมพวก C กับ C++ Compiler มาให้ด้วยอยู่แล้ว การ Compile โปรแกรมจาก Source หลังจากแตกไฟล์เสร็จ เราจะเจอไฟล์หลักๆ ที่อยู่ใน directory ของโปรแกรม คือ README กับ INSTALL

ไฟล์ README ควรที่จะเปิดอ่านทุกครั้ง ก่อนที่จะเริ่มทำอะไร เพราะในไฟล์นี้จะอธิบายรายละเอียดต่างๆ ของโปรแกรม, library ที่ต้องมี, หรือขั้นตอนวิธีการ compile จากนั้นก็มาดูที่ไฟล์ INSTALL ซึ่งจะบอกขั้นตอนวิธีการใช้คำสั่งต่างๆ เพื่อ compile และติดตั้งโปรแกรม หลังจากที่อ่านไฟล์ทั้ง 2 แล้ว ก็มาเริ่ม compile กันได้เลย

เปิด Terminal ขึ้นมา เข้าไปที่ path ที่เก็บไฟล์ source ไว้ แนะนำให้ใช้คำสั่ง sudo -i เพื่อเปลี่ยนเป็น root ก่อนจะดีกว่า เพราะอาจจะมีบางโปรแกรมที่ต้องใช้สิทธิ์ของ root ในการ compile และติดตั้ง จากนั้นพิมพ์คำสั่ง

./configure

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

ในขั้นตอนของการสั่ง configure นี้ เราสามารถที่จะใส่ parameter เพื่อกำหนดการตั้งค่าเพิ่มเติมนอกเหนือจากค่าเริ่มต้นที่โปรแกรมกำหนดมาได้ เช่น เปลี่ยน path การติดตั้งของโปรแกรมให้ไปลงในที่ๆ เรากำหนด หรือไป link กับ library ที่เราเก็บไว้ในที่อื่นที่ต่างจากค่าเริ่มต้นของโปรแกรม ถ้าสั่ง configure เสร็จแล้วพบว่าไม่มีปัญหาอะไร คำสั่งต่อไปที่ต้องทำคือ

make

เป็นการ compile โปรแกรมเพื่อสร้างไฟล์ binary ขึ้นมา ซึ่งถ้าสั่ง make เสร็จแล้วไม่มีปัญหาอะไร เราก็จะได้ไฟล์ binary ของโปรแกรมอยู่ใน directory เดียวกับ source ดังนั้นเราเลยต้องสั่งให้โปรแกรมไปอยู่ในที่ๆ ควรจะอยู่โดยใช้คำสั่ง

make install

เพื่อเอาไฟล์ binary ของโปรแกรมไปไว้ในระบบ เพื่อให้สามารถเรียกใช้งานได้เหมือนโปรแกรมอื่นๆ

เสร็จแล้วก็ลองสั่งรันโปรแกรมดูว่าได้ผลมั้ย ถ้าได้ก็ยินดีด้วย คุณทำสำเร็จแล้ว 😉

ข้อมูลเพิ่มเติม

http://en.wikipedia.org/wiki/Software_repository
http://www.ubuntu.com/ubuntu/features/ubuntu-software-centre

Advertisements

2 thoughts on “การติดตั้งโปรแกรมใน Linux

  1. สวัสดีค่ะ
    อยากสอบถามวิธีการกำหนด path ให้โปรแกรมไปinstall ในที่ที่เราต้องการน่ะค่ะ ที่อยาดหาวิธีเปลี่ยนเนื่องจากตอนcompile , make, make install ไม่ได้กำหนดpath เอาไว้ ซึ่งพอลงเสร็จ ไปอยู่ในusr/local/bin ค่ะ
    ทีนี้พอต้องการการจะเรียกใช้โปรแกรมที่เราต้องการให้รันข้อมูลที่เรามีขึ้นมา โดยเรียกshell ไฟล์น่ะค่ะ มันกลับบอกว่าไม่มีตัวโปรแกรมที่ต้องการในditectory ที่มันกำหนดมา ด้วยเหตุนี้จึงอยากจะเปลี่ยนpath ตอนลงน่ะค่ะ แต่เปลี่ยนไม่เป็น รบกวนด้วยนะค่ะ มือใหม่หัดใช้งาน Ubuntu ค่ะ

    Kc

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s