วัน: 1 มิถุนายน 2007

วิธีอัปเดตโมเดล Ollama ทั้งหมดในคำสั่งเดียว (Ollama Update All Models) พร้อมวิธีแก้ปัญหา Permission Deniedวิธีอัปเดตโมเดล Ollama ทั้งหมดในคำสั่งเดียว (Ollama Update All Models) พร้อมวิธีแก้ปัญหา Permission Denied

สำหรับผู้ที่ใช้งาน Ollama รัน Large Language Model (LLM) ในเครื่อง ไม่ว่าจะเป็น Llama, Qwen หรือ Gemma คงจะคุ้นเคยกับคำสั่ง
ollama pull <model>
ดีเวลาที่ต้องการดาวน์โหลดหรืออัปเดตโมเดลเวอร์ชันใหม่ แต่ปัญหาคือ Ollama ไม่มีคำสั่งอัปเดตโมเดลทั้งหมดในคราวเดียว เช่น
ollama update all

หากติดตั้งโมเดลไว้หลายตัว การไล่พิมพ์
ollama pull
ทีละตัวคงเสียเวลา บทความนี้จะพาเขียนสคริปต์สั้น ๆ บรรทัดเดียว เพื่อสั่งอัปเดตโมเดลทุกตัวอัตโนมัติ พร้อมวิธีแก้ปัญหาคลาสสิกอย่าง permission denied กรณีที่มีการย้าย Path จัดเก็บโมเดล


คำสั่ง One-liner อัปเดตทุกโมเดล

หลักการทำงานคือการดึงรายชื่อโมเดลทั้งหมดจาก
ollama list
ตัดส่วนหัวตารางออก แล้วส่งต่อ (pipe) ให้คำสั่ง
ollama pull
ทำงานทีละโมเดล


สำหรับ macOS และ Linux (Bash / Zsh)

รันคำสั่งนี้บน Terminal

Python

ollama list | tail -n +2 | awk '{print $1}' | xargs -I {} ollama pull {}

หรือถ้าต้องการเห็น log ชัดเจนทีละบรรทัด สามารถใช้ลูป while แทนได้

Python

ollama list | tail -n +2 | while read -r name rest; do
    echo "=== Updating $name ==="
    ollama pull "$name"
done

สำหรับ Windows (PowerShell)

Python

ollama list | Select-Object -Skip 1 | ForEach-Object {
    $model = ($_ -split '\s+')&#x5B;0]
    if ($model) {
        Write-Host "Updating $model..." -ForegroundColor Cyan
        ollama pull $model
    }
}

สร้าง Custom Command ให้ใช้งานได้ตลอด (macOS / Linux)

หากไม่อยากพิมพ์คำสั่งยาวๆ ทุกครั้ง แนะนำให้สร้างฟังก์ชันเก็บไว้ใน shell config เช่น ~/.zshrc หรือ ~/.bashrc

Python

# เปิดไฟล์ config (ตัวอย่างใช้ zsh)
nano ~/.zshrc

เพิ่มโค้ดด้านล่างไว้ท้ายไฟล์

Python

ollama-update-all() {
    ollama list | tail -n +2 | awk '{print $1}' | while read -r model; do
        echo "Updating $model..."
        ollama pull "$model"
    done
}

บันทึกไฟล์แล้วโหลดคอนฟิกใหม่ด้วยคำสั่ง

Python

source ~/.zshrc

หลังจากนี้เมื่อต้องการอัปเดตโมเดลทั้งหมด แค่พิมพ์

Python

ollama-update-all