วิธีติดตั้ง VirtualBox บน Ubuntu

วิธีติดตั้งต่อไปนี้ เกือบทั้งหมดผมเอามาจากเว็บไซต์ต้นฉบับ https://www.virtualbox.org/wiki/Linux_Downloads ผมตัดทอนให้เหลือเฉพาะขั้นตอนการติดตั้งสำหรับ Ubuntu และมีปรับปรุงคำสั่งบ้างในขั้นตอนการเพิ่ม repo ให้ดึงค่า code name จากระบบมาใส่โดยอัตโนมัติ และในส่วนของการติดตั้ง Extension Pack ผมเขียนคำสั่งให้เช็คเวอร์ชั่นของ VirtualBox ในระบบ และติดตั้ง Extension Pack ให้เป็นเวอร์ชั่นเดียวกันกับ VirtualBox

ผมทดสอบด้วยตัวเองแล้วบน Ubuntu 18.04 เวอร์ชั่น 64bit ขั้นตอนการติดตั้งทั้งหมดจะเป็น command-line เพื่อให้ทุกขั้นตอนจบได้ในโปรแกรม Terminal โปรแกรมเดียว

วิธีติดตั้ง VirtualBox

เพิ่ม VirtualBox repo เพื่อให้สามารถติดตั้ง และอัปเดต VirtualBox ผ่านคำสั่ง apt ได้

echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list

เพิ่ม key ของ VirtualBox ให้กับ apt

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

อัปเดต apt index และติดตั้ง VirtualBox

sudo apt-get update
sudo apt-get install virtualbox-6.0

วิธีติดตั้ง Extension Pack

หลังจากที่เราติดตั้ง VirtualBox เสร็จแล้ว เราควรติดตั้ง Extension Pack เข้าไปด้วย เพื่อให้สามารถใช้งานฟังก์ชั่นของ VirtualBox ได้อย่างครบถ้วน เช่น ติดตั้งเพื่อให้สามารถใช้งานอุปกรณ์ USB 2.0 และ USB 3.0 บน guest OS ได้ เป็นต้น

ดาวน์โหลด Extension Pack

VBOX_CURRENT_VER=$(VBoxManage -v | cut -d 'r' -f 1)
wget -c -O /tmp/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_CURRENT_VER.vbox-extpack https://download.virtualbox.org/virtualbox/$VBOX_CURRENT_VER/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_CURRENT_VER.vbox-extpack

ติดตั้ง Extension Pack

VBOX_CURRENT_VER=$(VBoxManage -v | cut -d 'r' -f 1)
sudo VBoxManage extpack install --replace /tmp/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_CURRENT_VER.vbox-extpack

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

แบ่งปันสิ่งนี้บน

วิธีใช้ command-line บน Linux

command-line คืออะไร ?

command-line หรือ command-line interface เขียนย่อๆ ได้ว่า CLI คือ ส่วนติดต่อผู้ใช้แบบพิมพ์คำสั่งทีละบรรทัด โดยผู้ใช้สามารถพิมพ์คำสั่งเพื่อเรียกใช้งานโปรแกรมต่างๆ ได้ และโปรแกรมส่วนใหญ่ก็จะแสดงผลลัพธ์ในรูปแบบของข้อความ (text) ดังรูปด้านล่าง

ตัวอย่างการใช้ command-line ผ่านโปรแกรม Terminal

ทำไมต้องใช้ command-line ?

  • เพราะโปรแกรมบางตัวมีให้ใช้เฉพาะบน command-line เท่านั้น
  • เพราะโปรแกรมแบบ command-line ใช้ทรัพยากรเครื่องน้อยกว่า, ข้อผิดพลาดน้อยกว่า และทำงานได้เร็วกว่าโปรแกรมแบบ GUI เนื่องจากไม่มีภาระในส่วนของการแสดงผลกราฟิก
  • เพราะเครื่องที่จะใช้งานบางเครื่องรองรับเฉพาะการใช้งานผ่าน command-line เท่านั้น เช่น เครื่องที่เป็น Linux Server, เครื่องที่ไม่มีจอภาพ หรือเครื่องที่ต้องรีโมทเข้าใช้งานผ่าน SSH เป็นต้น
  • เพราะเราสามารถนำผลลัพธ์จาก command-line ไปใช้งานต่อได้ง่ายกว่าแบบ GUI
  • เพราะบางครั้งเราก็ไม่จำเป็นต้องเห็นผลลัพธ์เป็นภาพกราฟิก

วิธีเรียกใช้งาน command-line บน Linux

หากคุณใช้ Linux Server ซึ่งโดยปกติจะทำงานอยู่ในโหมดข้อความ (text-mode) คุณจะสามารถใช้งาน command-line ได้ทันทีที่คุณเปิดเครื่อง และเข้าสู่ระบบ

แต่สำหรับคนที่ใช้ Linux Desktop ซึ่งทำงานอยู่ในโหมดกราฟิก (graphical-mode) หากจะใช้งาน command-line สามารถทำได้ 2 วิธี คือ

  1. ใช้งาน command-line ผ่านโปรแกรม Terminal (แนะนำ)
  2. ใช้งาน command-line โดยการสลับไปที่ tty อื่น ซึ่งอยู่ในโหมดข้อความ (text-mode)

วิธีเรียกใช้งานโปรแกรม Terminal (แนะนำ)

โปรแกรม MATE Terminal

วิธีเรียกใช้งานโปรแกรม Terminal ทำได้โดยการคลิกเรียกโปรแกรมจากเมนู วิธีเดียวกับที่เราใช้เรียกโปรแกรมอื่นๆ ในเครื่อง และสำหรับ Linux บางตัว เช่น Ubuntu สามารถเรียกโปรแกรม Terminal ผ่านการกดปุ่มลัด ALT+CTRL+T เป็นต้น

วิธีสลับไปที่ tty อื่น

Linux มักจะมีหลาย tty เช่น Ubuntu มี tty1-7 โดย tty7 จะถูกใช้งานเป็น graphical-mode ส่วน tty1-6 จะเป็น text-mode ที่สามารถใช้งาน command-line ได้ (graphical-mode จะทำงานอยู่ใน tty ไหนก็ได้ แล้วแต่การตั้งค่าของ Linux แต่ละ distro)

การสลับไปมาระหว่าง tty1-7 สามารถทำได้ดังนี

  • กรณีที่คุณอยู่ใน graphical-mode ให้กดปุ่ม CTRL+ALT+Fx (Fx คือ F1 ถึง F7)
  • แต่ถ้าคุณอยู่ใน text-mode ให้กดปุ่ม ALT+Fx (Fx คือ F1 ถึง F7) ก็พอไม่ต้องกด CTRL
  • หรือพิมพ์คำสั่ง sudo chvt x (x คือตัวเลข 1 ถึง 7)

ซึ่งวิธีสลับ tty นี้ แม้แต่ผมเองก็ไม่ค่อยจะได้ใช้สักเท่าไหร่ จะใช้ก็ต่อเมื่อโปรแกรมในโหมดกราฟิคค้างจนใช้งานไม่ได้ และปิดไม่ได้จากในโหมดกราฟิก หรืออยากจะใช้งาน text-mode แบบเต็มหน้าจอเป็นต้น

วิธีพิมพ์คำสั่งลงบน command-line

วิธีพิมพ์คำสั่งบน command-line ผมจะขอยกตัวอย่างเป็น command-line บน Ubuntu ดังนี้

command-line บน Ubuntu จะแสดง prompt เพื่อบอกผู้ใช้ว่าพร้อมรับคำสั่งแล้ว โดย prompt ใน Ubuntu จะประกอบไปด้วย <username>@<hostname>:<working_directory> แล้วปิดท้ายด้วย $ สำหรับ user ทั่วไป หรือปิดท้ายด้วย # สำหรับ root user (ถ้าเป็น Linux distro อื่น หน้าตา prompt อาจแตกต่างออกไป)

  • username คือ ชื่อผู้ใช้
  • hostname คือ ชื่อเครื่อง
  • working_directory คือ ชื่อไดเรคทอรีปัจุบัน จะแสดงเป็นเครื่องหมาย ~ เมื่อเราอยู่ในโฮมไดเรคทอรีของตัวเอง เช่น /home/<your_username> หรือ /root เมื่อชื่อผู้ใช้เป็น root
[email protected]:~$
[email protected]:~#

เมื่อคุณเห็น prompt ที่ปิดท้ายด้วยเครื่องหมาย $ หรือ # คุณก็สามารถพิมพ์คำสั่ง แล้วกดปุ่ม Enter ได้เลย เช่น พิมพ์ pwd แล้วกดปุ่ม Enter เมื่อคำสั่งนั้นๆ ทำงานเสร็จสิ้น ก็จะแสดง prompt ขึ้นมาเพื่อรอรับคำสั่งอีกครั้ง ตามตัวอย่างด้านล่าง

[email protected]:~$ pwd<ENTER>
/home/poundxi
[email protected]:~$

คำสั่งบน Linux สำหรับทดลองใช้งาน command-line

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

  • whoami = แสดงชื่อผู้ใช้ปัจจุบัน
  • pwd = แสดงชื่อไดเรคทอรีปัจจุบัน
  • ls = แสดงรายชื่อไฟล์ และไดเรคทอรีที่อยู่ในไดเรคทอรีปัจจุบัน
  • ls -l = แสดงรายชื่อไฟล์ และไดเรคทอรีที่อยู่ในไดเรคทอรีปัจจุบัน (แสดงแบบ 1 รายการ/บรรทัด)
  • cd <directory_name> = ย้ายไปทำงานที่ไดเรคทอรีชื่อ <directory_name>
  • mkdir <directory_name> = สร้างไดเรคทอรีชื่อ <directory_name>
  • touch <filename> = สร้างไฟล์เปล่าชื่อ <filename>
  • echo “sometext” > <filename> = เขียนข้อมูล sometext ลงไปในไฟล์ชื่อ <filename> (เขียนทับ)
  • cat <filename> = แสดง/อ่านข้อมูลที่อยู่ในไฟล์ชื่อ <filename>
  • rm <filename> = ลบไฟล์ชื่อ <filename>
  • rm -r <directory_name> = ลบไดเรคทอรีชื่อ <directory_name>
  • man <command> = อ่านคู่มือการใช้งานคำสั่ง <command> อาจแทนด้วยคำสั่ง ls ชื่ออ่านคู่มือการใช้งานคำสั่ง ls และคุณสามารถออกจากคำสั่ง man ด้วยการกดปุ่ม q

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

แบ่งปันสิ่งนี้บน

วิธีทำให้ Bash Prompt บน Ubuntu มีสี

ระบบปฏิบัติการ Ubuntu เลือกใช้ bash shell เป็น shell หลัก ซึ่งไม่ว่าคุณจะใช้ command-line จาก terminal, TTY หรือ SSH ก็ตามแต่ bash shell ก็จะถูกเรียกขึ้นมาให้เราใช้งานโดยอัตโนมัติ

ซึ่งค่าเริ่มต้นของ bash shell ใน Ubuntu ตรงส่วนที่เรียกว่า prompt จะไม่มีสี ซึ่งมีเหตุผลเขียนอธิบายไว้ในไฟล์ .bashrc และแปลเป็นไทยได้ว่า “ที่ทำให้ prompt ไม่มีสีเป็นค่าเริ่มต้น เพราะไม่อยากให้สี prompt ไปรบกวนสายตาผู้ใช้ และอยากให้สายตาผู้ใช้โฟกัสไปที่ การเขียนคำสั่ง และผลลัพธ์”

แต่สำหรับผม ผมก็ชอบแบบที่มีสีมากกว่า เพราะว่าเวลามีสี สีจะช่วยให้เราสามารถแยกบรรทัดที่เราพิมพ์คำสั่ง กับบรรทัดที่แสดงผลลัพธ์ได้ชัดเจน และยังช่วยให้มองเห็นรายละเอียดต่างๆ บน prompt ได้ชัดเจน เช่น username, hostname หรือ working directory เป็นต้น

วิธีตั้งค่า

วิธีตั้งค่า prompt ของ bash shell ให้มีสี ทำได้ไม่ยาก แค่เปิดไฟล์ .bashrc ที่อยู่ใน home directory ของเราด้วย text editor ตัวใดก็ได้ (ถ้ามองหาไฟล์ผ่านโปรแกรมดูไฟล์ จะมองไม่เห็นไฟล์นี้ เพราะไฟล์ถูกซ่อนอยู่ ต้องกดปุ่มลัด Ctrl+H เพื่อแสดงรายการไฟล์ที่ซ่อนอยู่เสียก่อนครับ) เลื่อนหาบรรทัดที่เขียนว่า #force_color_prompt=yes แล้วลบเครื่องหมาย # ออก จากนั้นก็บันทึกไฟล์ แล้วปิด/เปิด terminal, TTY หรือ SSH ใหม่ก็จะได้ prompt ที่มีสีให้ใช้งานแล้วครับ

อีกทางเลือกที่ง่ายกว่าคือ พิมพ์คำสั่งต่อไปนี้ลงไปบน terminal ได้เลยครับ จากนั้นก็ปิด/เปิด terminal, TTY หรือ SSH ใหม่เช่นกันครับ

คำสั่งสำหรับแสดงสี prompt ให้ user ทั่วไป

คำสั่งสำหรับแสดงสี prompt ให้ root user


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

แบ่งปันสิ่งนี้บน

วิธีเปลี่ยน default terminal ใน Ubuntu MATE

เมื่อเราติดตั้งโปรแกรม terminal ตัวใหม่เพิ่มเข้ามาใน Ubuntu เช่น โปรแกรม terminator บางครั้งเราก็อยากจะใช้โปรแกรม terminal ตัวใหม่นั้นเป็นโปรแกรม terminal ตัวหลัก (default terminal) ซึ่งจะถูกเรียกขึ้นมาโดยการกดปุ่มลัด Alt+Ctrl+T

สำหรับ Ubuntu เวอร์ชั่นอื่นๆ การเปลี่ยน default terminal อาจจะสามารถใช้คำสั่งด้านล่างนี้เพื่อตั้งค่าได้

sudo update-alternatives --config x-terminal-emulator

แต่สำหรับ Ubuntu MATE จะต้องตั้งค่าผ่าน Preferred Applications ดังต่อไปนี้

  1. เปิดโปรแกรม Preferred Applications (ตำแหน่ง shortcut จะแตกต่างกันไปตามรูปแบบของ panel ที่ตั้งค่าไว้)

2. คลิกแท็บ System แล้วเลือกโปรแกรม terminal ที่ต้องการให้เป็นตัวหลักในหมวดหมู่ Terminal Emulator จากนั้นกดปุ่ม Close เพื่อปิดหน้าต่างเป็นอันเสร็จสิ้นขั้นตอน


แบ่งปันสิ่งนี้บน

อธิบายคำสั่ง chmod บน Linux

chmod เป็นคำสั่งบน Linux ที่ใช้สำหรับกำหนดสิทธิ์ read, write หรือ execute ให้กับ file หรือ directory ว่าจะให้มีสิทธิ์ใช้งานแบบไหน และใช้งานโดยใครได้บ้าง

หลายๆ ท่านอาจจะเคยเจอคำสั่ง chmod 644, chmod 755 หรือ chmod 777 อะไรทำนองนี้ วันนี้เรามาดูกันครับ ว่ามันมีความหมายอย่างไร

เริ่มกันที่คำสั่ง ls -l

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

-rwxrwx— 1 user group 1293 Jun 3 20:34 file_name

drw-rw-rw- 1 user group 4096 Jun 3 20:34 dir_name

ซึ่งผลลัพธ์ที่ว่านี้จะบอกเราว่ารายการไหนเป็น file หรือ directory, มีสิทธิ์ read, write หรือ execute โดย user และ group ไหนบ้าง, file มีขนาดเท่าไหร่, ถูกแก้ไขล่าสุดตอนไหน, file หรือ directory นั้นมีชื่อว่าอะไร ซึ่งผลลัพธ์แต่ละ column มีความหมายดังนี้

column1 บอกว่าเป็น file (-) หรือ directory (d) พร้อมทั้งบอกสิทธิ์การ read, write และ execute

column2 แสดงจำนวน hard link ของไฟล์ หรือ แสดงจำนวน subdirectory

column3 แสดงชื่อ user ที่เป็นเจ้าของ file หรือ directory

column4 แสดงชื่อ group ที่เป็นเจ้าของ file หรือ directory

column5 แสดงขนาดของ file มีหน่วยเป็น byte หรือหากเป็น directory จะแสดงเป็น 4096

column6 แสดงวันที่ และเวลาที่แก้ไขล่าสุด

column7 แสดงชื่อของ file หรือ directory

ซึ่งในบทความนี้เราจะให้ความสนใจไปที่ column 1, 3 และ 4 ครับ

อธิบาย Column1 -rwxrwxrwx

-rwxrwxrwx จะแบ่งออกได้เป็น 4 ส่วนดังนี้

– | rwx | rwx | rwx

ส่วนที่1 บอกกว่าเป็น file หรือ directory โดยจะแสดง เมื่อเป็น file และจะแสดง d เมื่อเป็น directory

ส่วนที่2 บอกสิทธิ์การ read, write และ execute ของ user ที่เป็นเจ้าของ file/directory

ส่วนที่3 บอกสิทธิ์การ read, write และ execute ของ group ที่เป็นเจ้าของ file/directory

ส่วนที่3 บอกสิทธิ์การ read, write และ execute ของ other หรือ user อื่นๆ ที่ไม่ใช่เจ้าของ file/directory และไม่ได้อยู่ใน group

ตัวอย่าง และความหมาย

-rwx—— แบ่งเป็น -|rwx|—|—

  • – = เป็น file
  • rwx = user สามารถ read write execute ได้
  • — = group ไม่สามารถ read write execute ได้
  • — = other ไม่สามารถ read write execute ได้

-rw-rw—- แบ่งเป็น -|rw-|rw-|—

  • – = เป็น file
  • rw- = user สามารถ read write ได้, แต่ไม่สามารถ execute
  • rw- = group สามารถ read write ได้, แต่ไม่สามารถ execute
  • — = other ไม่สามารถ read write execute ได้

-rwxrwxr-x แบ่งเป็น -|rwx|rwx|r-x

  • – = เป็น file
  • rwx = user สามารถ read write execute ได้
  • rwx = group สามารถ read write execute ได้
  • r-x = other สามารถ read execute ได้, แต่ไม่สามารถ write

drw-rw-r– แบ่งเป็น d|rw-|rw-|r–

  • d = เป็น directory
  • rw- = user สามารถ read write ได้, แต่ไม่สามารถ execute
  • rw- = group สามารถ read write ได้, แต่ไม่สามารถ execute
  • r– = other สามารถ read ได้, แต่ไม่สามารถ write และ execute

drwxrwxr-x แบ่งเป็น d|rwx|rwx|r-x

  • d = เป็น directory
  • rwx = user สามารถ read write execute ได้
  • rwx = group สามารถ read write execute ได้
  • r-x = other สามารถ read execute ได้, แต่ไม่สามารถ write

ความเกี่ยวข้องของ rwxrwxrwx และ ตัวเลข 644 755 777 ฯลฯ

หลังจากที่เราเข้าใจกันไปแล้วว่า rwxrwxrwx เราสามารถแบ่งได้เป็นสิทธ์ของ user, group และ other ซึ่งนับได้ 3 กลุ่ม ซึ่งเท่ากับจำนวนตัวเลขของเราที่มี 3 ตัวพอดีครับ นั่นคือตัวเลขแต่ละตัว บ่งบอกสิทธิ์ของแต่ละกลุ่มนั่นเอง

วิธีการแปลง rwxrwxrwx เป็นตัวเลข

เราจะแทนค่า rwx ด้วยตัวเลขดังนี้ r=4, w=2, x=1, -=0 เช่น

rwx——

=[rwx][—][—]

=[4+2+1][0+0+0][0+0+0]

=700

-rw-rw—-

=[rw-][rw-][—]

=[4+2+0][4+2+0][0+0+0]

=660

rwxrwxr-x

=[rwx][rwx][r-x]

=[4+2+1][4+2+1][4+0+1]

=775

rw-rw-r–

=[rw-][rw-][r–]

=[4+2+0][4+2+0][4+0+0]

=664

การใช้คำสั่ง chmod

หนึ่งในรูปแบบการใช้คำสั่ง chmod ที่เราคุ้นเคยกัน ได้แก่ การใช้คำสั่ง chmod ที่ตามด้วยตัวเลข 3 ตัว เช่น

chmod <octal_digits> file_or_directory_name

หรือใช้สัญลักษณ์ user, group, other, read, write, execute ดังนี้ก็สะดวกดีครับ

chmod u=rwx,g=rwx,o=rwx file_or_directory_name

ตัวอย่าง

ตัวอย่างที่ 1. กำหนดให้ทุก user สามารถ read, write, execute ได้

chmod 777 file_or_directory_name

หรือ

chmod ugo=rwx file_or_directory_name

ตัวอย่างที่ 2. กำหนดให้ user ที่เป็นเจ้าของ และ user ที่อยู่ใน group สามารถ read, write, execute ได้ ส่วน user อื่นๆ กำหนดให้ไม่มีสิทธิ์ใดๆ

chmod 770 file_or_directory_name

หรือ

chmod ug=rwx,o= file_or_directory_name

ตัวอย่างที่ 3. กำหนดให้ user ที่เป็นเจ้าของสามารถ read, write, execute ได้ ส่วน user ใน group สามารถ read, execute ได้ ส่วน user อื่นๆ กำหนดให้ไม่มีสิทธิ์ใดๆ

chmod 750 file_or_directory_name

หรือ

chmod u=rwx,g=rx,o= file_or_directory_name

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

แบ่งปันสิ่งนี้บน

วิธีดาวน์โหลดและติดตั้ง Arduino IDE บน Ubuntu

ขั้นตอนการดาวน์โหลด

1. เข้าไปยังเว็บไซต์หลักของ Arduino เพื่อดาวน์โหลด Arduino IDE โดยคลิกที่นี่ https://www.arduino.cc/en/main/software

2. เมื่อเข้าเว็บไซต์มาแล้ว ให้คลิกดาวน์โหลดที่ Linux 32 bits หรือ Linux 64 bits อย่างใดอย่างหนึ่ง (ขึ้นอยู่กับเวอร์ชั่น Ubuntu ของคุณเป็นแบบ 32 bits หรือ 64 bits)

3.หลังจากที่คุณคลิกดาวน์โหลดแล้ว หน้าเว็บไซต์จะเปลี่ยนไปเป็นหน้า Donate (บริจาค) และจะมี 2 ปุ่มให้คุณเลือกคลิกครับ

  1. ปุ่ม JUST DOWNLOAD คือ ดาวน์โหลดอย่างเดียว
  2. ปุ่ม CONTRIBUTE & DOWNLOAD คือ บริจาคเงินจากนั้นค่อยดาวน์โหลด

ซึ่งตรงนี้คุณจะเลือกคลิกที่ JUST DOWNLOAD หรือ CONTRIBUTE & DOWNLOAD ก็แล้วแต่คุณครับ คลิกปุ่มใดปุ่มหนึ่งได้เลย

จากนั้นก็เบราเซอร์ของคุณก็จะเริ่มดาวน์โหลด และหากเบราเซอร์ของคุณไม่ถามว่าจะให้บันทึกไฟล์ไว้ที่ไหน ไฟล์ก็มักจะถูกบันทึกไว้ที่ไดเรคทอรี่ชื่อว่า Downloads ครับ

ขั้นตอนการติดตั้ง

เมื่อคุณดาวน์โหลดไฟล์เสร็จแล้ว คุณจะได้ไฟล์ชื่อว่า arduino-version-linux32.tar.xz หรือ arduino-version-linux64.tar.xz ซึ่งเป็นไฟล์ที่ถูกบีบอัดไว้ คุณต้องแยกไฟล์ออกมา โดยกดปุ่มลัดบนคีบอร์ด Alt + Ctrl + T เพื่อเรียกโปรแกรม Terminal ขึ้นมา และพิมพ์คำสั่งดังต่อไปนี้ลงไปครับ

1. สร้างไดเรคทอรี่ชื่อ bin ไว้ในไดเรคทอรี่ home สำหรับเก็บไฟล์โปรแกรม Arduino IDE

mkdir ~/bin

2. แยกไฟล์ arduino-version-linux.tar.xz ไปไว้ที่ไดเรคทอรี่ bin

แก้ your-download-path เป็นชื่อไดเรคทอรี่ที่คุณดาวน์โหลดไฟล์เก็บเอาไว้ เช่น Downloads

แก้ arduino-version-linux.tar.xz เป็นชื่อไฟล์ที่คุณดาวน์โหลดมา เช่น arduino-1.8.5-linux64.tar.xz

tar -xJf ~/your-download-path/arduino-version-linux.tar.xz -C ~/bin

3. เพิ่มไอคอน Arduino IDE ไปยังเมนูของระบบ

แก้ arduino-version ให้ตรงกับเวอร์ชั่นของ Arduino IDE ที่คุณดาวน์โหลดมา เช่น arduino-1.8.5

~/bin/arduino-version/install.sh

การเรียกโปรแกรม Arduino IDE ขึ้นมาใช้งาน

คุณสามารถเรียกโปรแกรม Arduino IDE ขึ้นมาด้วย 2 วิธีครับ

วิธีที่1 คลิกไอคอนโปรแกรม Arduino IDE จากเมนูของระบบครับ

วิธีที่2 เรียกผ่าน command-line บนโปรแกรม Terminal ด้วยคำสั่งนี้ครับ

~/bin/arduino-version/arduino

วิธีแก้ไขเมื่อเจอ error: cannot access /dev/ttyUSB0

เมื่อคุณพยายามอัปโหลดโปรแกรมลงบอร์ด คุณบางคนอาจจะเจอปัญหาเกี่ยวกับ USB permission (การอนุญาตให้อ่านเขียน USB) แบบรูปด้านล่าง

ถ้าหากคุณลองพิมพ์คำสั่ง ls -l /dev/ttyUSB* คุณก็จะเห็นว่าสิทธิ์การใช้งาน USB คืออนุญาตให้ผู้ใช้ root และผู้ใช้ที่อยู่ในกลุ่ม dialout เท่านั้นที่สามารถอ่านเขียน USB ได้

crwrw—- 1 root dialout 188, 0 พ.ค. 8 14:33 /dev/ttyUSB0

วิธีแก้ไขก็แค่เพิ่มผู้ใช้ของลงไปในกลุ่ม dialout เท่านั้นเองครับ โดยใช้คำสั่งต่อไปนี้

sudo usermod -aG dialout $USER

หลังจากพิมพ์คำสั่งข้างบนแล้วให้ logout และ login ใหม่อีกครั้งครับ

หมายเหตุ: บางบอร์ด path จะไม่ใช่ /dev/ttyUSBx แต่จะเป็น /dev/ttyACMx แทนครับ (x คือตัวเลข)

หมายเหตุ2: บางบอร์ดจำเป็นต้องติดตั้ง Driverก่อน เช่น บอร์ดที่ใช้ชิพ USB to Serial CH340/CH340G

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

แบ่งปันสิ่งนี้บน

Ubuntu flavours 18.04 LTS ตัวไหนใช้ CPU และ RAM เท่าไหร่กันบ้างนะ

หลังจากที่ Ubuntu 18.04 LTS (รวมทั้ง Ubuntu flavours ได้แก่ Lubuntu, Ubuntu Budgie, Ubuntu MATE และ Xubuntu) ปล่อยตัว Final Release ออกมาให้ดาวน์โหลดกันเมื่อประมาณ วันที่ 27 เมษายน 2018 หลายๆ ท่านก็คงวางแผนที่จะอัปเกรด Ubuntu ของตัวเองกันพร้อมหน้าแล้วครับ ใครที่สเปคคอมฯ สูงหน่อยอาจจะไม่ต้องคิดอะไรมาก อยากจะลงเวอร์ชั่นไหนก็น่าจะลงได้ แต่หากใครใช้คอมฯ เก่าๆ หรือคอมฯ สเปคต่ำๆ แบบผม อาจจะต้องมาพิจารณาสเปคของเครื่องตัวเองกันสักเล็กน้อย ว่าลง Ubuntu แท้ๆ ไหวมั้ย ถ้าไม่ไหวจะพิจารณาเป็น Ubuntu flavours ไหนดี

ทำไมต้องสนใจว่า Ubuntu flavours ไหนใช้ CPU และ RAM เท่าไหร่ ?

เหมือนกับที่เกริ่นไว้ตอนต้นครับ หากใครใช้คอมฯ สเปคสูงๆ ก็ลืมเรื่องทรัพยากรที่ต้องใช้ไปได้เลย แต่หากใครใช้คอมฯ สเปคต่ำๆ แบบผม เช่น ของผมเป็น Notebook สเปคอยู่ที่ [email protected] + RAM=DDR3L [email protected] ถ้าจะให้ไปลง Ubuntu แท้ๆ เลย คอมฯ ของผมก็คงจะทำงานช้าเอาเรื่องครับ

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

  • ถ้าเราเลือก flavour ที่ใช้ CPU น้อยๆ แปลว่า คอมฯ เราจะสามารถใช้โปรแกรมที่ต้องประมวลผลเยอะๆ ได้พร้อมกันหลายโปรแกรมมากขึ้น โดยที่โปรแกรมนั้นไม่ได้ทำงานช้าลง หรือโอกาศที่จะทำงานช้าลงมีน้อยขึ้น
  • ถ้าเราเลือก flavour ที่ใช้ RAM น้อยๆ แปลว่า คอมฯ เราจะสามารถเปิดโปรแกรมหลายๆ โปรแกรมพร้อมกันได้มากขึ้น และลดไปปัญหาคอมฯ ช้าจาก RAM ไม่พอใช้ ทำให้ระบบ Swap Partition แทน ซึ่งจะทำให้คอมฯ ทำงานช้าลงมากๆ หรือบางทีอาจจะทำให้คอมฯ ค้างไปเลยก็มี

เลือก Ubuntu flavours จากแค่ CPU และ RAM เพียงพอจริงหรือ ?

จริงๆ แล้วการเลือก Ubuntu flavours จากการใช้ทรัพยากร CPU และ RAM ที่มากหรือน้อยนั้น ยังไม่เพียงพอต่อการใช้ตัดสินใจหรอกครับ บางคนสเปคเครื่องเหลือๆ อาจจะเลือกจากรูปแบบการใช้งานที่น่าใช้, ความสวยงาม หรือ คุณสมบัติเฉพาะที่ตอบโจทย์ของคนๆ นั้นครับ

การพิจารณาการใช้ทรัพยากร CPU และ RAM เป็นเพียงข้อมูลส่วนหนึ่งที่ช่วยในการสนับสนุนการตัดสินใจเท่านั้นครับ

ข้อมูล CPU และ RAM ที่ถูกใช้ไปโดยระบบในแต่ละ Ubuntu flavours

ผลลัพธ์ต่อไปนี้ผมทดสอบบน VirtualBox ที่ผมจัดสเปคให้กับ Virtual Machine ดังนี้ครับ

CPU=1 Processor ([email protected])

RAM=2GB

Type=Linux

Version=Ubuntu (64-bit)

ผลการใช้ทรัพยากร CPU และ RAM ด้านล่างนี้ เปิดดูจาก System Monitor หรือ Task Manager ในขณะที่ไม่ได้เปิดโปรแกรมอื่นๆ ขึ้นมาใช้งานเลยครับ (ทดลองใช้งานในโหมด Live DVD บน VirtualBox)

Name (CPU% / RAM)

Ubuntu (19% / 1.2 GB)

Ubuntu Budgie (17% / 888MB)

Ubuntu Mate ( 3% / 848MB)

Kubuntu ( 4% / 374MB)

Xubuntu (3% / 365MB)

Lubuntu (1% / 216MB)

สรุป

  • หากเรียงข้อมูลการใช้ทรัพยากรที่สิ้นเปลืองจากมากไปหาน้อยจะได้ข้อมูลตามนี้ครับ Ubuntu > Ubuntu Budgie > Ubuntu Mate > Kubuntu > Xubuntu > Lubuntu
    • คอมฯ สเปคสูง จะใช้ตัวไหนก็แล้วแต่ชอบเลยครับ
    • คอมฯ สเปคกลาง ควรจะพิจารณาตั้งแต่ Kubuntu, Xubuntu หรือ Lubuntu ครับ
    • คอมฯ สเปคต่ำ เหลือตัวเลือกเดียว คือ Lubuntu ครับ
  • หาก CPU ถูกใช้โดยระบบไปเยอะ โปรแกรมที่ต้องใช้ CPU ในการประมวลผลเยอะๆ ความเร็วของโปรแกรมนั้นก็จะลดลงไป ซึ่งโดยปกติผมว่าข้อนี้ไม่ค่อยเป็นปัญหาสำหรับการใช้งานทั่วไปครับ
  • หาก RAM ถูกใช้โดยระบบไปเยอะ เราก็จะเหลือ RAM ให้โปรแกรมอื่นๆ ใช้งานน้อยลง ระบบก็จะไปหยิบ Swap Partition มาใช้งานแทน (Swap คือการจับ Hard Disk มาทำ RAM ทดแทน ซึ่งทำให้คอมฯ ทำงานช้าลงมากๆ เว้นแต่คุณจะใช้ SSD ซึ่งอาจทำให้ช้าลงแต่ไม่มากเท่า Hard Disk) ซึ่งจากประสบการณ์ผมว่า Web Browser เนี่ยแหละ ที่ใช้ RAM สิ้นเปลืองที่สุดครับ หากเป็นไปได้ใครที่ RAM ไม่ถึง 8GB ให้อัปเกรดเถอะครับ
  • หากเครื่องคุณมีการ์ดจอแยก การ์ดจอแยกอาจช่วยลดภาระที่ CPU ต้องประมวลผลในส่วนของกราฟิกลงไปได้ครับ
  • สุดท้าย การที่จะเลือกใช้ Ubuntu flavours ไหน วิธีการที่ดีที่สุด คือ ทดลองใช้งานด้วยตัวคุณเองครับ ว่ามันตอบโจทย์คุณหรือไม่ครับ

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

แบ่งปันสิ่งนี้บน

วิธีติดตั้ง Docker บน Ubuntu

Docker ปัจจุบันมี 2 Edition คือ Docker CE (Community Edition) และ Docker EE (Enterprise Edition) โดยความแตกต่างของทั้ง 2 Edition นี้ คือ

  1. Docker CE = Docker ตัวเดิม เวอร์ชั่นฟรี (แค่เปลี่ยนชื่อ)
  2. Docker EE = Docker ตัวใหม่ เวอร์ชั่นเสียเงิน

โดยในบทความนี้จะสอนติดตั้ง Docker CE หรือ Docker เวอร์ชั่นฟรีบน Ubuntu กันครับ

Ubuntu เวอร์ชั่นที่สามารถติดตั้ง Docker CE ได้

  • Ubuntu 64-bit เวอร์ชั่น 16.04 / 18.04 / 18.10

ขั้นตอนการติดตั้ง Docker CE

ติดตั้ง package ที่ทำให้ apt สามารถใช้งาน repository ผ่าน HTTPS ได้

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

เพิ่ม GPG key ของ Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

เพิ่ม repository ของ Docker

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

ทำให้ apt รู้จัก package จาก repository ที่เราเพิ่งเพิ่มเข้าไปใหม่

sudo apt-get update

ติดตั้ง Docker CE

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

เสร็จแล้วครับ ตอนนี้คุณก็สามารถเริ่มต้นใช้งาน Docker ได้แล้ว !

ขั้นตอนการติดตั้ง docker-compose

เช็คเลขเวอร์ชั่นของ docker-compose ตัวล่าสุดจาก GitHub

DOCKER_COMPOSE_VER=$(curl -s https://github.com/docker/compose/tags | grep "release" | grep -v rc | grep -oP "\d{1,2}\.\d{1,2}\.\d{1,2}" | head -n1)

ดาวน์โหลด docker-compose โดยอิงจากเลขเวอร์ชั่นที่ได้มาจากคำสั่งก่อนหน้า

sudo curl -L "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VER/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

ทำให้ไฟล์ docker-compose ที่โหลดมาสามารถ execute ได้

sudo chmod +x /usr/local/bin/docker-compose

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

แบ่งปันสิ่งนี้บน

วิธีติดตั้ง OWASP ZAP บน Ubuntu

วิธีติดตั้ง OWASP ZAP

1. ดาวน์โหลด OWASP ZAP เวอร์ชั่น 2.7.0 ที่เป็นไฟล์ archive ไปไว้ที่ไดเรคทอรี่ /tmp

wget -c -P /tmp https://github.com/zaproxy/zaproxy/releases/download/2.7.0/ZAP_2.7.0_Linux.tar.gz

2. extract ไฟล์ archive ไปไว้ที่ไดเรคทอรี่ /opt

sudo tar xvf /tmp/ZAP_2.7.0_Linux.tar.gz -C /opt

3. ถึงตอนนี้ก็ติดตั้งเสร็จแล้วครับ, เริ่มต้นใช้งาน OWASP ZAP ได้เลย 🙂

/opt/ZAP_2.7.0/zap.sh

การตั้งค่า OWASP ZAP เบื้องต้น

วิธีติดตั้ง Root CA certificate บน Web Browser

ปัญหาที่เราจะพบเมื่อเราไม่ติดตั้ง Root CA certificate บน Web Browser เอาไว้ คือ เมื่อเราเข้าเว็บไซต์ที่เป็น HTTPS จะมีข้อความแจ้งเตือนเกี่ยวกับ invalid security certificate แบบในรูปครับ

*** วิธีแก้ไข คือ Export Root CA certificate ออกมาจากโปรแกรม OWASP ZAP แล้วเอาไปติดตั้งลงบน Web Browser ครับ ***

วิธี Export Root CA certificate

  1. เปิดโปรแกรม OWASP ZAP
  2. ไปที่เมนู Tools > Options > Dynamic SSL Certificates
  3. คลิ๊กปุ่ม Save เพื่อ Export ไฟล์ Root CA certificate ออกมา (จำไว้ด้วยครับ ว่าเราตั้งชื่อไฟล์ว่าอะไร แล้วบันทึกไว้ที่ไหน)

วิธีติดตั้ง Root CA certificate บน Firefox

  1. เปิดโปรแกรม Firefox
  2. พิมพ์ about:preferences ที่ address bar แล้วกดปุ่ม Enter
  3. ไปที่ Advanced > Certificates > View Certificates > Authorities
  4. กดปุ่ม Import แล้วเลือกไฟล์ Root CA certificate ที่เราเพิ่ง Export ออกมา
  5. จากนั้นจะมีหน้าต่างใหม่โผล่ขึ้นมา คลิ๊กให้มีเครื่องหมายถูกที่ Trust this CA to identify websites จากนั้นกดปุ่ม OK

วิธีแก้ปัญหา OWASP ZAP มีสถานะเป็น Always on Top เมื่อ Traffic ถูก Intercept

  1. เปิดโปรแกรม OWASP ZAP
  2. ไปที่เมนู Tools > Options > Breakpoints
  3. คลิ๊กเอาเครื่องหมายถูกออกที่ ZAP always on top when breakpoint hit
  4. คลิ๊กปุ่ม OK

วิธีตั้งค่า Firefox ให้ใช้งาน OWASP ZAP เป็น Proxy

  1. เปิดโปรแกรม Firefox
  2. พิมพ์ about:preferences ที่ address bar แล้วกดปุ่ม Enter
  3. ไปที่ Advanced > Network > Connection > Settings
  4. เลือก Manual proxy configuration
  5. กำหนด HTTP Proxy=127.0.0.1, Port=8080
  6. คลิ๊กให้มีเครื่องหมายถูกที่ Use this proxy server for all protocols
  7. ตรง No Proxy for ลบออกให้หมด หากจะใช้ OWASP ZAP เพื่อทดสอบกับ localhost หรือ 127.0.0.1 ด้วย
  8. กดปุ่ม OK

วิธีทำให้ OWASP ZAP ใช้ Tor เป็น Proxy

1. สร้างไฟล์สำหรับเรียกใช้งาน OWASP ZAP ที่ใช้ Tor เป็น Proxy ชื่อว่า zap-tor.sh

sudo cp /opt/ZAP_2.7.0/zap.sh /opt/ZAP_2.7.0/zap-tor.sh

2. แก้ไขไฟล์ zap-tor.sh ให้ใช้ Tor เป็น Proxy โดยส่งผ่าน option ไปที่ JVM (ZAP เป็น JAVA application)

sudo sed 's/exec java ${JMEM}/exec java -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=9050 ${JMEM}/g' -i /opt/ZAP_2.7.0/zap-tor.sh

3. เรียกใช้งาน OWASP ZAP ที่ใช้ Tor เป็น Proxy

/opt/ZAP_2.7.0/zap-tor.sh

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

แบ่งปันสิ่งนี้บน

วิธี build hping3 บน Ubuntu

โดยปกติบน Ubuntu คุณสามารถติดตั้ง hping3 ผ่าน repository ได้โดยใช้คำสั่ง apt หรือ apt-get อยู่แล้ว

แต่ถ้าคุณจะ build hping3 เอง อาจจะด้วยเหตุผลอะไรก็แล้วแต่ ให้คุณทำตามขั้นตอนด้านล่างนี้

1. ถ้าคุณยังไม่ได้ติดตั้งชุดเครื่องมือสำหรับ build ให้ติดตั้งก่อน โดยใช้คำสั่งนี้

sudo apt install -y build-essential

2. ติดตั้ง pcap development package

sudo apt install -y libpcap-dev
sudo ln -s /usr/include/pcap/bpf.h /usr/include/net/bpf.h

3. ติดตั้ง TCL development package

sudo apt install -y tcl-dev

4. ดาวน์โหลด source ไฟล์ hping3 จากเว็บไซต์ต้นฉบับ

wget http://www.hping.org/hping3-20051105.tar.gz

5. extract hping3 archive ที่เพิ่งดาวน์โหลดมา

tar xf hping3-20051105.tar.gz

6. ย้ายไปทำงานที่ไดเรกทอรี่ hping3 ที่เพิ่ง extract ออกมา

cd hping3-20051105

7. ถ้าคุณใช้ Ubuntu เวอร์ชั่น 64บิท คุณต้อง Patch ไฟล์ bytesex.h ก่อน

wget -O hping3-bytesex.h-64bit.patch https://git.io/vMsrB
patch bytesex.h hping3-bytesex.h-64bit.patch

8. รันสคริป configure เพื่อสร้าง Makefile ใหม่

./configure

9. build, strip และ ติดตั้ง hping3

make
make strip
sudo make install

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

แบ่งปันสิ่งนี้บน