vm linux ubuntu - ภาพประกอบบทความ

VM Linux Ubuntu — สร้าง Virtual Machine รัน Ubuntu ทีละขั้น 2026

โดย อ. บอม กิตติทัศน์ | 02/03/2026 | SiamCafe.net Since 1997

สารบัญ

การติดตั้ง Ubuntu บน Virtual Machine สำหรับผู้เริ่มต้น

การสร้างเครื่องเสมือนหรือ Virtual Machine (VM) เพื่อติดตั้ง Ubuntu Linux เป็นวิธีการที่ได้รับความนิยมสูงทั้งสำหรับผู้พัฒนาซอฟต์แวร์ นักศึกษา และผู้ดูแลระบบ เนื่องจากช่วยให้สามารถทดลองใช้งานหรือพัฒนาในสภาพแวดล้อมที่แยกออกมาจากระบบปฏิบัติการหลักได้อย่างปลอดภัย ซอฟต์แวร์ virtualization อย่าง Oracle VM VirtualBox และ VMware Workstation Player มีให้ดาวน์โหลดฟรีและรองรับการติดตั้ง Ubuntu ได้เป็นอย่างดี ขั้นตอนการติดตั้งเริ่มจากการดาวน์โหลดไฟล์ ISO image ของ Ubuntu Server หรือ Ubuntu Desktop จากเว็บไซต์ทางการอย่าง ubuntu.com

หลังจากที่ติดตั้งซอฟต์แวร์ virtualization แล้ว ขั้นตอนต่อไปคือการสร้าง VM ใหม่ โดยต้องกำหนดค่าต่างๆ ให้เหมาะสม เช่น ปริมาณ RAM ขนาดของ disk image และจำนวน core ของ CPU การกำหนดค่า RAM ขั้นต่ำสำหรับ Ubuntu Desktop ควรอยู่ที่ 4 GB เพื่อประสิทธิภาพการทำงานที่ ขณะที่ Ubuntu Server สามารถทำงานได้ด้วย RAM 2 GB สำหรับ workload พื้นฐาน การจัดสรร disk space ควรมีขนาดไม่น้อยกว่า 25 GB เพื่อให้มีพื้นที่เพียงพอสำหรับการติดตั้งแพ็กเกจเพิ่มเติมและเก็บข้อมูล

ขั้นตอนสำคัญคือการเลือกไฟล์ ISO image เป็น virtual optical drive ของ VM ในการบูตครั้งแรก หลังจากที่ VM เริ่มทำงานและบูตจาก ISO ได้แล้ว กระบวนการติดตั้ง Ubuntu ก็จะเริ่มต้นขึ้น ซึ่งประกอบด้วยการเลือกภาษา การกำหนด layout ของคีย์บอร์ด การกำหนด time zone และการสร้าง user account และ password ใหม่ สำหรับการติดตั้งบน VM แนะนำให้เลือกการติดตั้งแบบ Minimal เพื่อลดการใช้ทรัพยากร หรือเลือกติดตั้ง Ubuntu Server สำหรับการใช้งานที่เป็น headless operation

ส่วนสุดท้ายของการติดตั้งคือการกำหนด partitioning scheme สำหรับ disk โดยสำหรับผู้ใช้ใหม่สามารถเลือกใช้ option "Use an entire disk" และ "Use LVM" ซึ่ง installer จะจัดการ partitioning ให้โดยอัตโนมัติ หลังจากกระบวนการติดตั้งเสร็จสิ้นและระบบ restart คุณจะได้ VM ที่พร้อมใช้งานและสามารถเริ่มต้นการทำงานหรือการทดลองกับ Ubuntu Linux ได้ทันที

การกำหนดค่า Network และการเชื่อมต่อระยะไกลด้วย SSH

การกำหนดค่าการเชื่อมต่อเครือข่ายให้กับ Ubuntu VM มีความสำคัญอย่างยิ่งเพื่อให้สามารถติดต่อกับ external networks หรือแม้แต่ระหว่าง VM ด้วยกันเอง โหมดการเชื่อมต่อ network ของ VM ที่นิยมใช้มีสามโหมดหลักได้แก่ NAT, Bridged Adapter และ Host-only Adapter โหมด NAT เป็นค่า default ที่อนุญาตให้ VM สามารถเข้าถึงอินเทอร์เน็ตผ่าน network ของ host ได้ แต่เครื่องจากภายนอกไม่สามารถเชื่อมต่อเข้ามาหา VM โดยตรงได้

โหมด Bridged Adapter จะทำให้ VM ได้รับ IP address จาก router หรือ DHCP server เดียวกันกับ host machine ทำให้ VM ปรากฏเป็นอุปกรณ์อีกเครื่องหนึ่งใน network เดียวกัน ซึ่งเหมาะสำหรับการสร้าง server ที่ต้องการให้บริการแก่เครื่องอื่นใน network ส่วนโหมด Host-only Adapter จะสร้าง network วงแยกเฉพาะระหว่าง host กับ VM เท่านั้น ไม่สามารถออกสู่อินเทอร์เน็ตภายนอกได้ ซึ่งเหมาะสำหรับการสร้าง environment ในการทดสอบ

สำหรับการจัดการเซิร์ฟเวอร์ การเชื่อมต่อผ่าน SSH เป็นสิ่งจำเป็น หลังจากติดตั้ง Ubuntu Server แล้ว สิ่งแรกที่ควรทำคือติดตั้งและ configure package openssh-server เพื่อเปิดการเชื่อมต่อระยะไกล สามารถติดตั้งได้ด้วยคำสั่ง `sudo apt update && sudo apt install openssh-server` หลังจากติดตั้งเสร็จ SSH service จะเริ่มทำงานทันทีและจะ start ทุกครั้งที่ระบบ boot ขึ้นมา

เพื่อความปลอดภัย แนะนำให้เปลี่ยนการ configure บางอย่างในไฟล์ `/etc/ssh/sshd_config` เช่น การเปลี่ยน port SSH จาก default port 22 เป็น port อื่น การปิดการล็อกอินด้วย password สำหรับ user root และการอนุญาตให้ล็อกอินได้เฉพาะ user บางกลุ่มเท่านั้น หลังจากแล้ว ต้อง restart service ด้วยคำสั่ง `sudo systemctl restart sshd` เพื่อให้การเปลี่ยนแปลงมีผล

# Example of changing SSH port and disabling root login
# Edit /etc/ssh/sshd_config
Port 2222
PermitRootLogin no

การทดสอบการเชื่อมต่อสามารถทำได้จากเครื่อง host หรือเครื่องอื่นใน network เดียวกันโดยใช้คำสั่ง ssh ตามด้วย username และ IP address ของ VM เช่น `ssh user@192.168.1.100 -p 2222` หาก configuration ถูกต้องและ firewall อนุญาต คุณจะสามารถล็อกอินเข้าไปจัดการ VM ได้จากระยะไกลอย่างสะดวกและ

การจัดการ Storage และการติดตั้งแพ็กเกจด้วย APT

การจัดการพื้นที่จัดเก็บข้อมูลใน Ubuntu VM เป็นทักษะพื้นฐานที่สำคัญ ระบบไฟล์มาตรฐานของ Ubuntu ใช้ ext4 ซึ่งมีความเสถียรและประสิทธิภาพสูง สำหรับ VM then การเพิ่ม disk capacity สามารถทำได้สองวิธีหลัก คือ การขยายขนาดของ virtual disk ไฟล์เดิม หรือการเพิ่ม virtual disk ใหม่แล้ว mount เข้าสู่ระบบ วิธีแรกต้อง shutdown VM ก่อนแล้วจึงใช้ tools ของ software virtualization ในการปรับขนาด disk หลังจากนั้นเมื่อ boot เข้าระบบอีกครั้ง ต้องใช้ tools อย่าง `gparted` หรือคำสั่ง `resize2fs` เพื่อขยาย partition ให้ครอบคลุมพื้นที่ที่เพิ่มมา

วิธีการเพิ่ม disk ใหม่เป็นวิธีที่ปลอดภัยกว่า โดยการเพิ่ม virtual disk ผ่าน interface ของ virtualization software จากนั้นเมื่อบูตระบบเข้า Ubuntu คำสั่ง `lsblk` เพื่อตรวจสอบว่า system ตรวจพบ disk ใหม่แล้ว จากนั้นก็ทำการ format disk ด้วยไฟล์ที่ต้องการ (เช่น ext4) ด้วยคำสั่ง `mkfs.ext4 /dev/sdb1` และสร้าง directory สำหรับ mount point เช่น `/mnt/data` แล้วจึงเพิ่ม record ในไฟล์ `/etc/fstab` เพื่อให้ระบบ mount disk ใหม่นี้โดยอัตโนมัติทุกครั้งที่เริ่มทำงาน

การติดตั้งและจัดการซอฟต์แวร์บน Ubuntu ใช้ Advanced Package Tool (APT) ซึ่งเป็น package management system ที่มีประสิทธิภาพ คำสั่งพื้นฐานที่ต้องรู้จักได้แก่ `sudo apt update` สำหรับการ package index จาก repositories และ `sudo apt upgrade` สำหรับการอัปเกรดแพ็กเกจทั้งหมดที่มี available นอกจากนี้ยังมี `sudo apt install package_name` สำหรับการติดตั้งแพ็กเกจใหม่ และ `sudo apt remove package_name` สำหรับการถอนการติดตั้ง

สำหรับการค้นหาแพ็กเกจที่ต้องการติดตั้งคำสั่ง `apt search keyword` และต้องการรายละเอียดของแพ็กเกจ `apt show package_name` APT ยังจัดการ dependencies โดยอัตโนมัติ ทำให้ผู้ใช้ไม่ต้องกังวลกับการติดตั้ง library ที่เกี่ยวข้องเพิ่ม manually `apt update` ก่อนการติดตั้งแพ็กเกจเป็นสิ่งที่ดี เพื่อให้แน่ใจว่าได้รับข้อมูลแพ็กเกจล่าสุดจาก repository

# Example of installing and removing a package
sudo apt update
sudo apt install nginx
sudo systemctl status nginx
# To remove:
sudo apt remove nginx

การทำ Snapshot และการจัดการสแนปช็อตของ VM

สแนปช็อต (Snapshot) เป็นหนึ่งในคุณสมบัติที่ทรงพลังที่สุดของการทำงานกับ VM มันให้คุณบันทึกสถานะของ VM ณ ขณะหนึ่งๆ ทั้งในส่วนของ disk, memory และ setting ต่างๆ ไว้อย่างครบถ้วน การสร้างสแนปช็อตก่อนการเปลี่ยนแปลงระบบครั้งใหญ่ เช่น การอัปเกรด kernel, การติดตั้งแพ็กเกจสำคัญ หรือการ configuration ไฟล์ เป็นสิ่งจำเป็นอย่างยิ่ง เพราะหากการเปลี่ยนแปลงนั้นปัญหา คุณสามารถย้อน VM กลับสู่สถานะเมอสร้างสแนปช็อตได้ในเวลาไม่กี่นาที

กระบวนการสร้างสแนปช็อตในซอฟต์แวร์อย่าง VirtualBox หรือ VMware ทำได้ผ่าน graphical interface อย่างง่าย โดยเพียงคลิกปุ่ม "Take Snapshot" และตั้งชื่อ sertaคำอธิบายที่สื่อความหมาย เพื่อให้จำได้ในภายหลังว่าสร้างไว้สำหรับจุดประสงค์อะไร สแนปช็อตไม่ใช่การแทนที่การข้อมูลแบบดั้งเดิม ยังคงอยู่บน virtual disk ไฟล์หลัก หาก virtual disk ไฟล์หลักเสียหาย สแนปช็อตทั้งหมดสามารถใช้การไม่ได้

การจัดการสแนปช็อตเป็นสิ่งสำคัญ ไม่ควรเก็บสแนปช็อตไว้เป็นเวลานานหรือสร้างไว้จำนวนมากเกินไป สแนปช็อตแต่ละอันจะ consume disk space และอาจส่งผลต่อประสิทธิภาพการทำงานของ VM ในระยะยาว ควรลบสแนปช็อตที่ไม่แล้วออกไป กลยุทธ์ที่แนะนำคือ การสร้างสแนปช็อตสำหรับจุดประสงค์เฉพาะ temporally และ merge มันกลับสู่ base image เมื่อการทดสอบหรือการเปลี่ยนแปลงเสร็จสิ้นและเสถียรแล้ว

นอกจาก graphical interface แล้ว VirtualBox ยังให้จัดการสแนปช็อตผ่าน command line tool (`VBoxManage`) ได้อีกด้วย ซึ่งมีประโยชน์สำหรับการ เช่น การสร้างสแนปช็อตก่อน deployment อัตโนมัติ ตัวอย่างคำสั่งสำหรับสร้างสแนปช็อตชื่อ "Pre-Upgrade-Backup" สำหรับ VM ชื่อ "Ubuntu-Server" คือ `VBoxManage snapshot "Ubuntu-Server" take "Pre-Upgrade-Backup"` และการ restore สแนปช็อตคำสั่ง `VBoxManage snapshot "Ubuntu-Server" restore "Pre-Upgrade-Backup"`

การปรับปรุงประสิทธิภาพและการกำหนด resource ให้เหมาะสม

เพื่อให้ Ubuntu VM ทำงานได้อย่างมีประสิทธิภาพสูงสุด การกำหนดทรัพยากรของ host machine ให้อย่างเหมาะสมเป็นสิ่งจำเป็น Ubuntu สามารถทำงานกับ resource จำนวน limited ได้ แต่การ memory และ CPU อย่างเพียงพอจะช่วยให้การทำงานขึ้น Ubuntu Desktop RAM ไม่น้อย 4 GB และ CPU ไม่น้อย 2 cores Ubuntu Server ที่ headless อาจต้องการ resource น้อยกว่า แต่ก็ขึ้นอยู่กับ workload ที่จะบนนั้น

การ Guest Additions หรือ VMware Tools เป็นขั้นตอนสำคัญที่มักถูก ซึ่ง tools เหล่านี้จะเพิ่ม driver พิเศษที่การทำงานระหว่าง host กับ guest OS โดยตรง มันช่วยประสิทธิภาพของ graphics, การ synchronize time, การ folder ระหว่าง host กับ guest และการทำงานของ mouse ได้อย่างมาก VirtualBox Guest Additions โดยหลังจาก boot VM แล้วเลือก Devices > Insert Guest Additions CD image... แล้วจึงscriptจาก within VM

นอกจากแล้ว การ configuration ภายใน Ubuntu เองก็ช่วยเพิ่มประสิทธิภาพได้ ระบบที่ใช้ SSD เป็น virtual disk เปิด TRIM support เพื่อช่วยจัดการพื้นที่และรักษาประสิทธิภาพของ disk ทำได้โดยเพิ่ม option `discard` ในไฟล์ `/etc/fstab` สำหรับ partitions ที่เกี่ยวข้อง หรือเป็นประจำคำสั่ง `fstrim` manually การ disable service และ daemons ที่ไม่จำเป็นในการ boot ก็ช่วยเหลือลด memory usage และเร่งการ

สำหรับ workload เช่น การ database หรือ web server สามารถยัง kernel parameters เพิ่มเติมผ่านไฟล์ `/etc/sysctl.conf` ตัวอย่างเช่น การเพิ่มจำนวน maximum number of connections ที่ หรือ settings เกี่ยวกับ network stack resource สามารถ tools พื้นฐานเช่น `top`, `htop`, `vmstat` และ `iostat` เพื่อตรวจสอบว่า resource ถูกใช้ไปมากที่สุด และจะได้ดำเนินการได้อย่างถูกจุด

# Enable periodic TRIM for a filesystem mounted at /
# Edit /etc/fstab and add 'discard' to the options for the root partition
UUID=xxxx... / ext4 defaults, discard 0 1

# Alternatively, run fstrim manually
sudo fstrim -v /

การรักษาความปลอดภัยพื้นฐานสำหรับ Ubuntu VM

ความปลอดภัย aspect ที่สำคัญที่สุดอย่างหนึ่ง ไม่ว่า VM จะถูกใช้สำหรับการทดลองหรือการ production ก็ตาม สิ่งแรกที่ควรทำหลังจากติดตั้ง Ubuntu เสร็จคือการอัปเดตให้ทันสมัยด้วยคำสั่ง `sudo apt update && sudo apt upgrade` เพื่อ patch security vulnerabilities ที่อาจมีอยู่ในแพ็กเกจเก่า การ configure firewall เป็น layer การป้องกันแรกที่ขาดไม่ได้ Ubuntu มาพร้อมกับ UFW (Uncomplicated Firewall) ซึ่งเป็น front-end ที่ใช้ง่ายสำหรับ iptables

การ UFW และ only the necessary ports เป็นเรื่องพื้นฐาน หาก web server port 80 (HTTP) และ 443 (HTTPS) หรือหาก SSH access port SSH ที่ไว้ (เช่น 2222) ตัวอย่างคำสั่งคือ `sudo ufw allow 2222/tcp` และ `sudo ufw allow 80/tcp` enable firewall ด้วย `sudo ufw enable` ต้องหลีกเลี่ยง port ที่กว้างเกิน

การ hardening SSH access นอกจากการเปลี่ยน port และปิดการล็อกอินของ root แล้ว key-based authentication แทนการ password เพราะมีสูงขึ้น สามารถ generate SSH key pair บน client machine ด้วยคำสั่ง `ssh-keygen` แล้ว copy public key ไปยัง VM ไว้ในไฟล์ `~/.ssh/authorized_keys` หลังจากนั้นไฟล์ `/etc/ssh/sshd_config` ตั้ง `PasswordAuthentication no` เพื่อปิดการล็อกอินด้วย password

การ system นิสัย สามารถเครื่องมือเช่น `fail2ban` เพื่อ log files และ ban IP addresses ที่พยายามล็อกอินแล้ว สำหรับการตรวจสอบ open ports และ network services ที่กำลังทำงานอยู่คำสั่ง `ss -tulpn` หรือ `netstat -tulpn` ว่า แม้ VM จะอยู่ภายใน host ของเอง แต่หากมันเชื่อมต่อกับ network ก็มีโอกาสถูกโจมตีจากภายนอกได้ เช่น ผ่าน malware ที่อยู่ในเครื่อง host หรือจาก network เดียวกัน

# Copy SSH public key to the VM (run on client machine)
ssh-copy-id -i ~/.ssh/mykey user@vm_ip -p 2222

# On the VM, disable password authentication after confirming key-based login works
# Edit /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes

การเชื่อมต่อและการทำงานร่วมกันระหว่าง Host กับ Guest OS

การทำงานร่วมกันระหว่าง host operating system กับ Ubuntu guest OS inside VM สามารถทำได้หลายรูปแบบ, ความสะดวกในการใช้งาน ที่ได้แก่ Shared Folders, Shared Clipboard และ Drag-and-Drop Shared Folders ให้คุณ folder บน host machine ให้ VM สามารถเข้าถึงได้อย่างสะดวก เหมาะสำหรับการแลกเปลี่ยนไฟล์หรือ working on project files ร่วมกัน

ใน VirtualBox การตั้งค่า Shared Folder ทำได้ผ่าน Devices > Shared Folders > Shared Folders Settings... จากนั้นเพิ่ม folder ที่ต้องการ share และชื่อและ options (เช่น Auto-mount) inside Ubuntu VM คุณอาจต้องการ package `virtualbox-guest-utils` (สำหรับ VirtualBox) หรือ `open-vm-tools` (สำหรับ VMware) เพื่อให้คุณสมบัตินี้ทำงานได้ หลังจากแล้ว folder ที่ share ไว้จะถูก mount ที่ directory `/media/sf_` และ user ต้องถูก group `vboxsf` (ในกรณีของ VirtualBox) เพื่อให้มีสิทธิ์เข้าถึง

นอกจาก shared folders แล้ว การ clipboard และ drag-and-drop ยังมีประโยชน์มากสำหรับการทำงานประจำวัน, โดยเฉพาะเมื่อใช้ Ubuntu Desktop GUI ให้ copy ข้อความหรือไฟล์ between host and guest OS ได้ seamlessly อย่างไรก็ตาม, เหตุผลด้านความปลอดภัย, ให้ตั้งค่า shared clipboard และ drag-and-drop เป็น "Bidirectional" เฉพาะเมื่อจำเป็นเท่านั้น, และปิดเมื่อไม่ใช้งาน เพื่อลดความเสี่ยงที่ malware อาจข้ามระหว่างสองได้

สำหรับผู้พัฒนา aplikasi การ mapping port จาก host มาที่ guest OS ก็เป็นเทคนิคที่สำคัญ หาก web server บน port 80 ของ Ubuntu VM, สามารถกำหนดให้ VirtualBox หรือ VMware ทำการ forward port 8080 บน host ไปยัง port 80 บน guest ได้ ซึ่งจะทำให้ http://localhost:8080 บน host browser แล้วถูกนำไปยัง web server ใน VM โดยตรง การทำ like นี้มีประโยชน์สำหรับการทดสอบ web applications โดยไม่ต้องเกี่ยวกับ network configuration ของ VM

กรณีศึกษา: การ Web Server บน Ubuntu VM

เพื่อให้เห็นภาพการทำงานจริง, กรณีศึกษาในการ web server บน Ubuntu VM ใช้ LAMP stack (Linux, Apache, MySQL, PHP) ซึ่งเป็นชุดซอฟต์แวร์ที่นิยม เริ่มต้นจาก Ubuntu Server VM ที่ freshly installed และแล้วแล้ว ขั้นตอนแรกคือการติดตั้งแพ็กเกจ Apache2, MySQL server และ PHP ด้วยคำสั่ง `sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql`

หลังจากติดตั้งเสร็จ, ตรวจสอบว่า Apache2 service เริ่มทำงานแล้วด้วย `sudo systemctl status apache2` และทดสอบโดยการ web browser บน host machine แล้ว IP address ของ VM (หรือ localhost หาก port forwarding) คุณควรเห็น Apache2 Ubuntu default page เพื่อว่า web server ทำงาน ต่อไปคือการ MySQL โดย `sudo mysql_secure_installation` เพื่อตั้งค่า root password และ security settings พื้นฐาน

การ application ตัวจริงทำได้โดยการ copy ไฟล์ PHP หรือ project files ไปยัง Apache's document root ซึ่งอยู่ที่ `/var/www/html/` permissions issues, อาจต้องการเปลี่ยน owner ของไฟล์เหล่านั้นให้เป็น user `www-data` ซึ่งเป็น user ที่ Apache under ด้วยคำสั่ง `sudo chown -R www-data:www-data /var/www/html/` dynamic web applications, อาจยัง configuration ของ PHP หรือ Apache เพิ่มเติม, enabling mod_rewrite สำหรับ clean URLs

แต่ไม่, ต้องให้แน่ใจ security ของ web server นี้ การ configure firewall UFW เพื่อ traffic port 80 และ 443 การและ SSL certificate จาก Let's Encrypt ด้วย certbot เพื่อ HTTPS encryption และการเป็นประจำและแพ็กเกจทั้งหมด การ VM สำหรับการทดสอบ deployment นี้มีข้อดีคือ สามารถทำสแนปช็อตก่อนและหลังการเปลี่ยนแปลงได้, และสามารถทดลองได้โดยไม่รบกวนหลักบน host machine

# Install LAMP stack
sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql

# Secure MySQL installation
sudo mysql_secure_installation

# Adjust permissions for web directory
sudo chown -R www-data:www-data /var/www/html/

แน่นอนครับ นี่คือเนื้อหาเพิ่มเติม 3 หัวข้อในรูปแบบ HTML ตามที่ร้องขอ

การติดตั้งและใช้งาน Docker บน Ubuntu VM

การแอปพลิเคชันด้วย Docker เป็นวิธีที่ได้รับความนิยมอย่างสูงในการจัดการและซอฟต์แวร์ การติดตั้ง Docker บน Ubuntu VM ทำได้ง่ายดายโดยเริ่มจากอัปเดต index ของแพ็กเกจและติดตั้งแพ็กเกจที่จำเป็น จากนั้น Docker's official GPG key และ repository ลงใน หลังจากติดตั้งเสร็จแล้ว, ควร user ปัจจุบันเข้าไปในกลุ่ม `docker` เพื่อให้สามารถรันคำสั่ง Docker ได้โดยไม่ต้องใช้ `sudo` ตลอด การ Docker ช่วยให้สามารถแยก environment ของแอปพลิเคชันออกจากกัน, ทดสอบแอปพลิเคชันใน container ที่, และมั่นใจได้ว่าแอปพลิเคชันจะทำงานได้เหมือนกันในทุก environment

# ติดตั้ง Docker
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

# เพิ่ม user ไปยังกลุ่ม docker
sudo usermod -aG docker $USER
# จำเป็นต้องล็อกเอาท์และล็อกอินใหม่เพื่อให้มีผล

การจัดการพื้นที่จัดเก็บและเพิ่ม Disk Space ให้กับ VM

ในระหว่างการใช้งาน Ubuntu VM เป็นไปได้ที่พื้นที่บน hard disk virtual จะเต็มลงเนื่องจากการติดตั้งแพ็กเกจหรือสะสมข้อมูล การจัดการพื้นที่จัดเก็บเป็นทักษะที่สำคัญ หากใช้ VirtualBox สามารถเพิ่มขนาดของ virtual hard disk ได้ผ่านคำสั่ง `VBoxManage modifymedium` จากนั้นต้องใช้ tools ภายใน VM อย่าง `gparted` หรือ `fdisk` และ `resize2fs` เพื่อขยาย partition และ filesystem ไปใช้พื้นที่ที่เพิ่มขึ้นมา , การทำความสะอาดเป็นประจำโดยการลบแพ็กเกจที่ไม่ได้ใช้ (`sudo apt autoremove`) และลบ cache ของ package manager ก็ช่วยเหลือ freeing up space ได้อย่างมีประสิทธิภาพ

# ตรวจสอบการใช้งานพื้นที่ดิสก์
df -h

# ลบแพ็กเกจที่ไม่ได้ใช้และแคช
sudo apt autoremove
sudo apt clean

การตั้งค่า Network Adapter และการ Troubleshoot การเชื่อมต่อ

ความเข้าใจเกี่ยวกับการตั้งค่า network ของ VM มีความสำคัญสำหรับการทำงานต่างๆ ไม่ว่าจะเป็นการเข้าถึงอินเทอร์เน็ตหรือการเชื่อมต่อระหว่าง host กับ guest OS โดยปกติแล้ว VM จะถูกด้วย NAT adapter ซึ่งทำให้ VM สามารถออกอินเทอร์เน็ตได้ผ่าน network ของ host แต่หากต้องการให้ VM network เดียวกันกับ host machine (เพื่อให้อื่นใน network เข้าถึงได้) จึงเปลี่ยนการตั้งค่าเป็น Bridged Adapter เมื่อประสบปัญหาการเชื่อมต่อ, คำสั่งเช่น `ip addr show`, `ping`, และ `netstat` เป็นเครื่องมือพื้นฐานที่ไม่หรือสำหรับการตรวจสอบและการแก้ไขปัญหา

# ตรวจสอบการตั้งค่า IP และ network interface
ip addr show

# ทดสอบการเชื่อมต่อไปยัง external network (เช่น DNS ของ Google)
ping 8.8.8.8

# ตรวจสอบ open ports
sudo netstat -tulnp

Q: การติดตั้ง Guest Additions ใน Ubuntu VM มีความสำคัญอย่างไร?

A: Guest Additions ช่วยเพิ่มประสิทธิภาพการทำงานโดยรวม เช่น การปรับความละเอียดหน้าจออัตโนมัติ การแชร์คลิปบอร์ดและโฟลเดอร์ระหว่าง Host กับ Guest OS และการใช้งานแบบ Seamless Mode ได้อย่างสมบูรณ์

Q: ควรเลือกการตั้งค่า Network Adapter แบบใดระหว่าง NAT กับ Bridged สำหรับ Ubuntu VM?

A: แบบ NAT เหมาะสำหรับการใช้งานทั่วไป โดย VM จะใช้ IP ของ Host ทำให้ปลอดภัยกว่า ในขณะที่แบบ Bridged จะให้ VM ได้รับ IP โดยตรงจากเราเตอร์ในเครือข่าย ทำให้เสมือนเป็นอุปกรณ์แยกต่างหากในเครือข่าย

Q: วิธีแก้ไขปัญหา Drag & Drop หรือ Copy-Paste ระหว่าง Host กับ Ubuntu VM ไม่ทำงาน?

A: ให้ตรวจสอบว่าได้ติดตั้ง VirtualBox Guest Additions หรือ VMware Tools แล้วและฟีเจอร์เหล่านี้ถูก Enable อยู่ใน Settings ของ VM จากนั้นให้ทำการ Reboot Guest OS อีกครั้ง

Q: การกำหนดจำนวน CPU Cores และ RAM ให้กับ Ubuntu VM ควรพิจารณาจากอะไร?

A: ควรพิจารณาจากทรัพยากรของ Host Machine โดยเหลือทรัพยากรที่เพียงพอให้ Host OS ทำงาน หลักการคือ ไม่ควรกำหนดเกินครึ่งหนึ่งของทรัพยากรทั้งหมดของ Host เพื่อป้องกันการทำงานที่ช้าและแลกเปลี่ยน (Swap) มากเกินไป

Q: ทำไม Ubuntu VM ถึงแสดงสถานะ 'Network Cable Unplugged' และแก้ไขอย่างไร?

A: สาเหตุส่วนใหญ่มาจากการกำหนดค่าการเชื่อมต่อของ Virtual Network Adapter ไม่ถูกต้อง หรือการตั้งค่า DHCP ไม่สำเร็จ ให้ลองเปลี่ยนการตั้งค่า Adapter จาก NAT เป็น Bridged หรือสลับกลับแล้วรีสตาร์ทการเชื่อมต่อเครือข่ายใน VM