วันพุธที่ 18 มกราคม พ.ศ. 2560

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

2. ใคร ผู้ให้กำเนิด Linux Kernel
ตอบ

3. Linux เกิดขึ้น วันที่ เท่าใหร่
ตอบ
13 เม.ย 2012


4. Opensource คืออะไร
ตอบ
ซอฟต์แวร์โอเพนซอร์ซ[1] (อังกฤษOpen source software; ตัวย่อ: OSS) คือ ซอฟต์แวร์ที่เปิดแผยหลักการหรือแหล่งที่มาของเทคโนโลยีของซอฟต์แวร์นั้นให้บุคคลภายนอกได้ใช้ ภายใต้เงื่อนไขบางประการที่เปิดโอกาสให้ผู้ใช้ทำการแก้ไข ดัดแปลงและเผยแพร่ซอร์สโค้ดได้ ภายใต้เงื่อนไขทางข้อตกลงทางกฎหมาย เช่น สัญญาอนุญาตสาธารณะทั่วไปของกนู (จีพีแอล) และสัญญาอนุญาตแจกจ่ายซอฟต์แวร์ของเบิร์กลีย์ (บีเอสดี) ซอฟต์แวร์โอเพนซอร์ซที่เป็นที่รู้จักกันดีได้แก่ เพิร์ล ไฟร์ฟอกซ์ ลินุกซ์ อะแพชี เว็บเซิร์ฟเวอร์


5. GNU คืออะไร มีหลักการอย่างไร (ตอบไม่เกิน 5 บรรทัด)
ตอบ
GNU General Public License (GNU-GPL) คือ สัญญาอนุญาตให้ใช้ซอฟต์แวร์ หรือไลเซนส์ แบบหนึ่ง ซึ่งสงวนลิขสิทธิ์ของซอฟต์แวร์นั้น แต่อนุญาตให้บุคคลใดๆทำซ้ำ เผยแพร่ และ/หรือดัดแปลงซอฟต์แวร์นั้นได้อย่างถูกต้องตามกฎหมาย และโดยเสรี
GNU General Public License มีจุดมุ่งหมายเพื่อประกันเสรีภาพของคุณในการแบ่งปันและแก้ไข “ฟรีซอฟต์แวร์” หรือ “ซอฟต์แวร์เสรี” (Free Software) เพื่อทำให้แน่ใจว่าซอฟต์แวร์จะเป็นสิ่งที่เสรีสำหรับผู้ใช้ทุกคน


6. Linux Distribution หมายถึงอะไร
ตอบ
Linux Distribution (อ่านว่า ลินุกซ์ดิสทริบิวชัน) หรือเรียกย่อๆ ว่า Linux Distro (อ่านว่า ลินุกซ์ดิสโทร) คือ ระบบปฏิบัติการลินุกซ์ที่ถูกออกแบบและปรับแต่งเพื่อการแจกจ่าย โดยการนำเอาระบบปฏิบัติการลินุกซ์มาปรับแต่งและเพิ่มซอฟต์แวร์พื้นฐานต่างๆ รวมเข้าไป เช่น เพิ่มส่วนติดต่อผู้ใช้, โปรแกรมจัดการไฟล์, โปรแกรมสำหรับดูหนัง-ฟังเพลง, โปรแกรมเว็บเบราว์เซอร์ เป็นต้น สรุปง่ายๆ ก็คือ ลินุกซ์ดิสโทรเป็นระบบปฏิบัติการลินุกซ์แบบสำเร็จรูป พร้อมใช้งาน เมื่อติดตั้งแล้วแทบจะไม่ต้องปรับแต่งหรือติดตั้งซอฟต์แวร์เพิ่มเลย ใช้งานได้ทันที เช่น Arch Linux, Debian, Ubuntu, Linux Mint, openSUSE, Red Hat และ Fedora เป็นต้น


7. Packet (โปรแกรมติดตั้ง) ของลินุกซ์ มีกี่แบบ
ตอบ
1. ติดตั้งจาก Package สำเร็จรูป
การติดตั้งโปรแกรมจาก 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 ตามรูปแบบการบีบอัด
ในตัวอย่างนี้ผมจะลอง compile และติดตั้งโปรแกรม desmume 0.9.7 ซึ่งเป็นโปรแกรม emulator ของเครื่อง Nintendo DS
หลังจากแตกไฟล์เสร็จก็ถึงเวลาของการ compile โปรแกรม ซึ่งก่อนอื่นก็ต้องลงเครื่องมือสำหรับใช้ในการ compile ก่อน โดยถ้าเราใช้ Ubuntu จะมี package ที่ชื่อว่า build-essential ให้เราติดตั้ง
โดยส่วนใหญ่แล้วโปรแกรมที่ใช้ใน 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 และติดตั้ง จากนั้นพิมพ์คำสั่ง
คำสั่งนี้จะเป็นการปรับแต่งค่าต่างๆ สำหรับเตรียมการ compile โปรแกรม โดยจะเช็คการตั้งค่าต่างๆ ในเครื่องเรา ว่ามี library ที่ต้องการครบมั้ย ถ้ามีมันถูกเก็บอยู่ที่ไหน หรือถ้าไม่มีก็จะแสดงรายชื่อ library ที่ต้องการออกมา เพื่อให้เราติดตั้ง library ดังกล่าวให้เสร็จก่อนที่จะไปขั้นตอนถัดไป
ในขั้นตอนของการสั่ง configure นี้ เราสามารถที่จะใส่ parameter เพื่อกำหนดการตั้งค่าเพิ่มเติมนอกเหนือจากค่าเริ่มต้นที่โปรแกรมกำหนดมาได้ เช่น เปลี่ยน path การติดตั้งของโปรแกรมให้ไปลงในที่ๆ เรากำหนด หรือไป link กับ library ที่เราเก็บไว้ในที่อื่นที่ต่างจากค่าเริ่มต้นของโปรแกรม ถ้าสั่ง configure เสร็จแล้วพบว่าไม่มีปัญหาอะไร คำสั่งต่อไปที่ต้องทำคือ
make
เป็นการ compile โปรแกรมเพื่อสร้างไฟล์ binary ขึ้นมา ซึ่งถ้าสั่ง make เสร็จแล้วไม่มีปัญหาอะไร เราก็จะได้ไฟล์ binary ของโปรแกรมอยู่ใน directory เดียวกับ source ดังนั้นเราเลยต้องสั่งให้โปรแกรมไปอยู่ในที่ๆ ควรจะอยู่โดยใช้คำสั่ง
เพื่อเอาไฟล์ binary ของโปรแกรมไปไว้ในระบบ เพื่อให้สามารถเรียกใช้งานได้เหมือนโปรแกรมอื่นๆ
เสร็จแล้วก็ลองสั่งรันโปรแกรมดูว่าได้ผลมั้ย ถ้าได้ก็ยินดีด้วย คุณทำสำเร็จแล้ว 😉


8. บอกชื่อลินุกซ์ของแต่ละตระกูล(Distribution) มาสักตระกูลละ 3 ชื่อพร้อมตัวอย่างหน้าจอ
ตอบ















ไม่มีความคิดเห็น:

แสดงความคิดเห็น