ถ้าคุณยังดูแล 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 ได้:
| Mirror | URL หลัก | Protocol | ใช้กับ CentOS 5 ได้ |
|---|---|---|---|
| archive.kernel.org | http://archive.kernel.org/centos-vault/5.11/ | HTTP | ✓ แนะนำ |
| vault.centos.org | https://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 จำนวนมากที่ไม่มีวันได้รับการแพตช์ ถ้าใช้สำหรับ:
- Production Web Server — ย้ายออกโดยเร็วที่สุด ความเสี่ยงสูงมาก
- Legacy App ที่ยังต้องรัน — พิจารณา Containerize ด้วย Docker แล้วย้ายไป Host บน Linux รุ่นใหม่
- Lab/Test Environment — ใช้ต่อได้ แต่ไม่ควร Expose Port ออก Internet
- Internal Tools — ประเมินความเสี่ยงของ Network Access ก่อนตัดสินใจ
ตัวเลือก 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