PlusMagi's Blog By Pitt Phunsanit Cloud Computing Winget: update program เร็ว ๆ

Winget: update program เร็ว ๆ

ในโลกของการพัฒนาซอฟต์แวร์และระบบปฏิบัติการ การจัดการแพ็กเกจ (Package Management) อย่างมีประสิทธิภาพถือเป็นหัวใจสำคัญที่ช่วยให้เราสามารถติดตั้ง อัปเดต และลบโปรแกรมต่าง ๆ ได้อย่างเป็นระบบและรวดเร็ว เครื่องมือที่เข้ามาปฏิวัติกระบวนการนี้บนระบบ Windows คือ Winget (Windows Package Manager) ซึ่งเป็นเครื่องมือ Command Line ที่ช่วยให้การอัปเกรดโปรแกรมที่ติดตั้งไว้เป็นเรื่องง่ายดายอย่างที่ไม่เคยเป็นมาก่อน

แม้ว่า Winget จะเป็นเครื่องมือสำหรับระบบปฏิบัติการ Windows แต่หลักการทำงานของมันก็คล้ายคลึงกับการจัดการข้อมูลและการอัปเดตเวอร์ชันในฐานข้อมูลระดับ Enterprise เช่น PostgreSQL บทความนี้จะพาคุณไปดูขั้นตอนการใช้ Winget เพื่ออัปเกรดโปรแกรมต่าง ๆ พร้อมทั้งแสดงให้เห็นถึงแนวคิดการจัดการเวอร์ชันที่เทียบเคียงได้กับไวยากรณ์ของ PostgreSQL

🚀 Winget คืออะไร และทำไมต้องใช้?

Winget คือเครื่องมือบรรทัดคำสั่งที่ถูกออกแบบมาเพื่อรวมศูนย์การค้นหาและจัดการซอฟต์แวร์จากแหล่งที่มาที่เชื่อถือได้ (เช่น Microsoft Store และแหล่งภายนอก) แทนที่เราจะต้องดาวน์โหลดโปรแกรมมาติดตั้งทีละตัว การใช้ Winget ทำให้เราสามารถรันคำสั่งเดียวเพื่อตรวจสอบและอัปเกรดโปรแกรมหลายตัวพร้อมกันได้ ซึ่งช่วยประหยัดเวลาและลดความผิดพลาดในการติดตั้งได้อย่างมาก

🛠️ ขั้นตอนการอัปเดตโปรแกรมด้วย Winget (แนวคิดเชิงสถาปัตยกรรม)

การอัปเกรดโปรแกรมด้วย Winget นั้นมีขั้นตอนที่ชัดเจนคล้ายกับการทำ Transaction ในฐานข้อมูล:

  1. เปิด Terminal: เปิด Windows Terminal หรือ PowerShell โดยใช้สิทธิ์ Administrator เพื่อให้แน่ใจว่ามีสิทธิ์ในการเขียนและแก้ไขระบบไฟล์
  2. ตรวจสอบแพ็กเกจที่ต้องอัปเดต (SELECT): ใช้คำสั่ง winget upgrade เพื่อดึงรายการแพ็กเกจทั้งหมดที่พบว่ามีเวอร์ชันใหม่กว่าที่ติดตั้งอยู่
  3. ดำเนินการอัปเกรด (UPDATE/INSTALL): เมื่อได้รายการที่ต้องการแล้ว ให้รันคำสั่ง winget upgrade เพื่อสั่งให้ระบบดาวน์โหลดและแทนที่ไฟล์เวอร์ชันเก่าด้วยเวอร์ชันใหม่

💡 การจำลองแนวคิดการจัดการเวอร์ชันด้วย PostgreSQL

ในมุมมองของ Senior Architect เราสามารถมองกระบวนการนี้เป็นการจัดการข้อมูลเวอร์ชันในตารางฐานข้อมูลได้ ตัวอย่างเช่น หากเรามีตารางชื่อ program_versions ที่เก็บข้อมูลโปรแกรมและเวอร์ชัน:

SQL

-- 1. ตรวจสอบรายการโปรแกรมที่ต้องอัปเดต (SELECT) -- เหมือนการรัน winget upgrade<br>SELECT<br>    program_id, <br>    current_version, <br>    latest_version<br>FROM program_versions<br>WHERE current_version != latest_version;<br><br>-- 2. ทำการอัปเดตเวอร์ชันของโปรแกรมที่ระบุ (UPDATE)<br>-- การรันคำสั่งนี้เทียบเท่ากับการรัน winget upgrade<br>UPDATE program_versions<br>SET version = '1.2.3' -- เวอร์ชันใหม่<br>WHERE program_id = 'Microsoft.Edge' AND version < '1.2.3';<br><br>-- 3. การอัปเดตหลายรายการใน Transaction เดียว<br>BEGIN;<br>    UPDATE program_versions SET version = '2.0.0' WHERE program_id = 'Notepad++';<br>    UPDATE program_versions SET version = '5.0.0' WHERE program_id = 'WinMerge';<br>COMMIT;<%>

การใช้ Winget จึงเป็นเสมือนการใช้คำสั่ง UPDATE ในระดับ OS แทนการรันคำสั่ง UPDATE ในระดับฐานข้อมูล ทำให้การดูแลระบบซอฟต์แวร์เป็นไปอย่างอัตโนมัติและมีประสิทธิภาพสูง

✅ บทสรุป

Winget ได้ยกระดับการจัดการแพ็กเกจบน Windows ให้มีความเป็นมาตรฐานและเป็นระบบอย่างมาก การเรียนรู้การใช้เครื่องมือ Command Line เช่นนี้ ไม่เพียงแต่ช่วยให้คุณอัปเดตโปรแกรมได้อย่างรวดเร็วเท่านั้น แต่ยังเป็นการพัฒนาทักษะการคิดแบบระบบ (System Thinking) ที่สำคัญสำหรับสถาปนิกและวิศวกรซอฟต์แวร์ทุกคน การใช้เครื่องมือเหล่านี้อย่างเชี่ยวชาญจะช่วยให้การดูแลรักษาระบบของคุณเป็นไปอย่างราบรื่นและมีประสิทธิภาพสูงสุด