🗄
VPS

ถ้าคุณยังดูแล Server หรือ VPS ที่รัน CentOS 5 อยู่ และพยายามรัน yum update แล้วเจอ Error:

http://mirrorlist.centos.org/?release=5&arch=x86_64&repo=os
Error: Cannot find a valid baseurl for repo: base

ไม่ต้องตกใจ — Package ทั้งหมดยังอยู่ครบ เพียงแต่ต้องเปลี่ยน URL ใน Config ให้ชี้ไปที่ Vault Mirror ที่ถูกต้อง บทความนี้รวบรวม Mirror ที่ใช้งานได้จริงในปี 2026 และขั้นตอนแก้ไขแบบครบสมบูรณ์

สรุปด่วน: ใช้ http://archive.kernel.org/centos-vault/5.11/ เป็น baseurl แทน mirrorlist เดิม เพราะ vault.centos.org บังคับ HTTPS ซึ่ง yum/curl เวอร์ชันเก่าบน CentOS 5 รองรับไม่ได้

ทำไม yum บน CentOS 5 ถึงพัง

CentOS 5 หมดอายุ (EOL) วันที่ 31 มีนาคม 2017 หลังจากนั้น CentOS Project ปิด Public Mirror Server ปกติและย้าย Package ทั้งหมดไปที่ Vault แต่ไฟล์ /etc/yum.repos.d/CentOS-Base.repo ที่อยู่ในระบบของคุณยังชี้ไปที่ mirrorlist.centos.org ซึ่งไม่มีข้อมูล CentOS 5 อีกแล้ว yum จึง Error ทันทีที่พยายามหา Package

นอกจากนี้ vault.centos.org ยังบังคับ Redirect จาก HTTP ไปที่ HTTPS แต่ curl และ openssl เวอร์ชันเก่าบน CentOS 5 ไม่รองรับ TLS Cipher Suite สมัยใหม่ (เช่น TLS 1.2/1.3) ทำให้เชื่อมต่อไม่ได้แม้ว่า URL จะถูกต้อง

CentOS 5.11 คือ Release สุดท้ายของ CentOS 5 ออกในเดือนกันยายน 2014 Vault ที่ใช้ได้คือ vault.centos.org/5.11/ และ archive.kernel.org/centos-vault/5.11/

Mirror ที่ใช้งานได้ในปี 2026

มี 2 ตัวเลือกหลักที่ยังเข้าถึง Package CentOS 5 ได้:

MirrorURL หลักProtocolใช้กับ CentOS 5 ได้
archive.kernel.orghttp://archive.kernel.org/centos-vault/5.11/HTTP✓ แนะนำ
vault.centos.orghttps://vault.centos.org/5.11/HTTPS only✗ TLS เก่าเกินไป

archive.kernel.org/centos-vault เป็นตัวเลือกที่แนะนำสำหรับ CentOS 5 เพราะรองรับ HTTP ธรรมดา yum และ curl เวอร์ชันที่มาพร้อม CentOS 5 สามารถดาวน์โหลดได้โดยตรงโดยไม่ต้องแก้ไข SSL/TLS ใดๆ

วิธีแก้ไขด้วยคำสั่ง sed (วิธีเร็วที่สุด)

รันคำสั่งต่อไปนี้ใน Terminal ในฐานะ root:

# ขั้นตอนที่ 1: backup ไฟล์ repo เดิมก่อน
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# ขั้นตอนที่ 2: comment out mirrorlist ทั้งหมด
sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Base.repo

# ขั้นตอนที่ 3: เปลี่ยน baseurl ให้ชี้ vault kernel.org
sed -i 's|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=http://archive.kernel.org/centos-vault/5.11|g' /etc/yum.repos.d/CentOS-Base.repo

# ขั้นตอนที่ 4: ล้าง cache และทดสอบ
yum clean all
yum repolist

หมายเหตุ: ถ้า baseurl ในไฟล์ .repo ของคุณไม่ตรงกับ pattern ด้านบน (อาจต่างรุ่นหรือ custom config) ให้แก้ด้วยมือตามขั้นตอนในหัวข้อถัดไปแทน

วิธีแก้ด้วยมือ (ถ้า sed ไม่ตรง pattern)

เปิดไฟล์ด้วย vi /etc/yum.repos.d/CentOS-Base.repo แล้วแก้ให้ตรงกับนี้:

[base]
name=CentOS-5.11 - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://archive.kernel.org/centos-vault/5.11/os/$basearch/
gpgcheck=1
gpgkey=http://archive.kernel.org/centos-vault/RPM-GPG-KEY-CentOS-5

[updates]
name=CentOS-5.11 - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://archive.kernel.org/centos-vault/5.11/updates/$basearch/
gpgcheck=1
gpgkey=http://archive.kernel.org/centos-vault/RPM-GPG-KEY-CentOS-5

[extras]
name=CentOS-5.11 - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://archive.kernel.org/centos-vault/5.11/extras/$basearch/
gpgcheck=1
gpgkey=http://archive.kernel.org/centos-vault/RPM-GPG-KEY-CentOS-5

[centosplus]
name=CentOS-5.11 - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
baseurl=http://archive.kernel.org/centos-vault/5.11/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://archive.kernel.org/centos-vault/RPM-GPG-KEY-CentOS-5

หลังแก้ไขให้รัน:

yum clean all
yum repolist
yum update

ทดสอบว่า Mirror ใช้ได้จริง

ก่อนแก้ config สามารถทดสอบว่า Mirror เข้าถึงได้หรือไม่ด้วย:

curl -I http://archive.kernel.org/centos-vault/5.11/os/x86_64/
# ควรได้ HTTP/1.1 200 OK

# ตรวจสอบ Architecture ของ Server ด้วย
uname -m
# x86_64 = 64-bit, i686 = 32-bit

ถ้า Architecture เป็น 32-bit ให้เปลี่ยน x86_64 เป็น i386 ใน URL และ repo file ทั้งหมด

Repo list ที่ควรเห็นหลังแก้: yum repolist ควรแสดง repo: base, updates, extras พร้อมจำนวน Package (base ควรมีประมาณ 2,000–3,000 รายการ)

แก้ปัญหา GPG Key Error

ถ้าเจอ Error เกี่ยวกับ GPG Key เช่น GPG key retrieval failed ให้รัน:

# ดาวน์โหลด GPG key จาก vault โดยตรง
rpm --import http://archive.kernel.org/centos-vault/RPM-GPG-KEY-CentOS-5

# หรือปิด gpgcheck ชั่วคราว (ไม่แนะนำสำหรับ Production)
yum --nogpgcheck install [package-name]

ถ้า Server ไม่สามารถเชื่อมต่อ internet ได้เลย ต้องดาวน์โหลด RPM Package มือถือและใช้ rpm -ivh package.rpm แทน

ทางเลือกอื่น: Docker Image CentOS 5

ถ้าต้องการสภาพแวดล้อม CentOS 5 สำหรับ Build หรือทดสอบ Docker Image เป็นทางเลือกที่สะอาดกว่า:

# ใช้ pre-built image ที่มี vault config แล้ว
docker pull astj/centos5-vault
docker run -it astj/centos5-vault /bin/bash

# หรือ 32-bit version
docker pull themattrix/centos5-vault-i386

Docker Image เหล่านี้มี /etc/yum.repos.d/ ที่ชี้ vault ไว้แล้ว สามารถ yum install ได้ทันทีโดยไม่ต้องแก้ config

ควรย้ายออกจาก CentOS 5 เมื่อไหร่

CentOS 5 ไม่ได้รับ Security Patch มากกว่า 8 ปีแล้ว มีช่องโหว่ที่ถูก Exploit ในระดับ Critical จำนวนมากที่ไม่มีวันได้รับการแพตช์ ถ้าใช้สำหรับ:

ตัวเลือก OS ที่แนะนำสำหรับการย้าย ได้แก่ AlmaLinux 9 หรือ Rocky Linux 9 ที่รองรับถึง 2032 และมี Package Base ใกล้เคียงกับ CentOS มากที่สุด ทำให้ Migration App ง่ายกว่าการย้ายไป Ubuntu/Debian

คำถามที่พบบ่อย (FAQ)

CentOS 5 หมดอายุแล้วยังใช้ได้ไหม

ได้ — ไฟล์ Package เก่าทั้งหมดยังอยู่ใน Vault Mirror ที่ vault.centos.org/5.11/ และ archive.kernel.org/centos-vault/5.11/ แต่ไม่มีการอัปเดต Security Patch ใดๆ อีกแล้ว ใช้สำหรับ Legacy System หรือ Container ทดสอบเท่านั้น

ทำไม yum บน CentOS 5 ถึง Error ว่า "cannot find a valid baseurl"

เพราะ CentOS ปิด Mirror Server ปกติหลัง EOL ปี 2017 และย้าย Package ทั้งหมดไปที่ Vault แต่ /etc/yum.repos.d/CentOS-Base.repo ยังชี้ไปที่ mirrorlist.centos.org ที่ไม่มีข้อมูล CentOS 5 แล้ว จึง Error

vault.centos.org กับ archive.kernel.org/centos-vault ต่างกันอย่างไร

vault.centos.org คือ Mirror ทางการของ CentOS แต่บังคับ HTTPS ซึ่ง yum เวอร์ชันเก่าบน CentOS 5 ไม่รองรับ TLS สมัยใหม่ ส่วน archive.kernel.org/centos-vault รองรับ HTTP ธรรมดาจึงเข้าได้จาก CentOS 5 โดยตรง

หลังแก้ yum แล้วจะ install package ใหม่ได้ไหม

ได้ — สามารถ yum install และ yum update ได้ตามปกติ แต่ Package ที่ได้จะเป็นเวอร์ชันสุดท้ายตอน EOL ปี 2017 ไม่มีเวอร์ชันใหม่กว่านั้น

ควรย้ายออกจาก CentOS 5 ไหม

ใช่ — ถ้าเป็น Production Server ควรย้ายไป AlmaLinux 9, Rocky Linux 9 หรือ Ubuntu 22.04/24.04 ที่ยังได้รับ Security Update เนื่องจาก CentOS 5 มีช่องโหว่ที่ไม่ได้รับการแพตช์มากกว่า 8 ปีแล้ว

ย้ายจาก CentOS 5 มา VPS รุ่นใหม่กับ AsiaGB

AsiaGB VPS รองรับ AlmaLinux, Rocky Linux, Ubuntu และ Debian รุ่นล่าสุด บน SSD พร้อม uptime 99% ย้ายจาก CentOS 5 แบบไม่ต้องกังวลเรื่องระบบล้าสมัย

ดู VPS Plans