0243 | upgrade centos 7 เป็น centos 8

  • อาจไม่ได้ผลในกรณีที่ลง software จาก repository ภายนอก
  • ตรวจสอบให้แน่ใจว่าทุก repository ที่ใช้งานอยู่ รองรับ centos 8 ก่อนอัพเกรด
  • backup ก่อนเสมอ

reference: https://www.tecmint.com/upgrade-centos-7-to-centos-8/

1) ลง epel repository

yum install epel-release -y

2) ลง package yum-utils กับ rpmconf

yum install yum-utils rpmconf

3) check ไฟล์ config ว่ามีอะไรเปลี่ยนบ้าง ให้ revert กลับมาที่ default rpm ก่อน ** ระวัง

rpmconf -a

4) cleanup package ที่ซ้ำซ้อน

package-cleanup --leaves
package-cleanup --orphans

5) ติดตั้ง dnf แล้วลบ yum ทิ้ง (package manager ตัวใหม่ที่มาแทน yum)

yum install dnf
dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum

6) upgrade package ทั้งหมดของ centos 7 ให้เป็น version ล่าสุด

dnf upgrade

7) ติดตั้ง centos release ของ centos 8 ถ้าวันไหน centos 8 ออก update ก็ต้องแก้ version package ตาม

dnf install \
    http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-repos-8.1-1.1911.0.8.el8.x86_64.rpm \
    http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8.1-1.1911.0.8.el8.noarch.rpm \
    http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.1-1.1911.0.8.el8.x86_64.rpm

8) upgrade epel repository และ repository อื่นๆ ให้เป็น package ของ centos 8

dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

** ถ้ามีใช้งาน repository ภายนอก เช่น remi ก็ไล่ upgrade release package ของแต่ละ repository ให้หมด
9) ลบ kernel เก่าของ centos 7 ออก

rpm -e `rpm -q kernel`

10) ลบ conflict package ระหว่าง centos 7 กับ 8 (อาจมีอีก ถ้า error ตอน upgrade ในขั้นถัดไปก็มาไล่ลบ)

rpm -e --nodeps sysvinit-tools

11) upgrade เป็น centos 8

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

12) ติดตั้ง kernel ใหม่

dnf -y install kernel-core

13) ติดตั้ง package ใน group minimal ของ centos 8 เพิ่มให้ครบ

dnf -y groupupdate "Core" "Minimal Install"

14) สำคัญมาก ตรวจสอบให้แน่ใจว่า SELINUX ปิดไปแล้ว (ในไฟล์ /etc/selinux/config)

เสร็จแล้วก็ reboot แล้วก็สวดภาวนาได้เลยครับ

0242 | bgp route-map processing flow

จดกันลืม

  • list รายการ prefix แล้วส่งไปตรวจสอบกับ route-map ว่ามี match รึเปล่า

ตัวอย่าง

2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1000, prefix: 192.0.2.0/24, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1010, prefix: 192.0.2.0/24, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1020, prefix: 192.0.2.0/24, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1030, prefix: 192.0.2.0/24, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, prefix: 192.0.2.0/24, result: deny
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1000, prefix: 192.0.2.2/32, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1010, prefix: 192.0.2.2/32, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1020, prefix: 192.0.2.2/32, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1030, prefix: 192.0.2.2/32, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, prefix: 192.0.2.2/32, result: deny
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1000, prefix: 10.24.0.0/22, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1010, prefix: 10.24.0.0/22, result: no match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, sequence: 1020, prefix: 10.24.0.0/22, result: match
2020/02/10 12:45:34 BGP: Route-map: v4-test-out, prefix: 10.24.0.0/22, result: permit

ref: https://github.com/FRRouting/frr/blob/master/lib/routemap.c