8 -> 9 업그레이드 하기
제가 사용하는 대부분의 기능이 9에서 되는 것을 확인하였고,
9로 업그레이드 하기로 계획했습니다.
Oracle Linux는 당연히 오라클에서 repository를 관리해주며,
따라서 오라클에서 업그레이드 방법도 제공하고 있습니다.
애플리케이션을 설치하고 사용할 때 오라클 리눅스는 정말 도움이 안됩니다.
oracle linux 사용자가 적다보니 오라클 리눅스를 사용 중임에도
oracle linux 대신 rocky linux, centos, rhel이라는 단어와 함께 검색해야 합니다.
하지만 OS에 관련된 내용은 오라클에서 공식적으로 대부분 제공해줍니다.
오라클 리눅스8에서 업그레이드 하는 방법 역시 오라클 클라우드 블로그에서 제공해주고 있습니다.
Upgrade Oracle Linux 8 to Oracle Linux 9 using Leapp
저 글에서 설명 다 건너 띄고 명령어만 치면
안됩니다.
..???
그래서 이 글을 작성하게 되었어요
블로그의 명령어
sudo dnf update
sudo reboot
sudo dnf install leapp-upgrade --enablerepo=ol8_leapp,ol8_appstream,ol8_baseos_latest
여기서 오류가 발생합니다.
ol8_leapp라는 저장소를 찾을 수 없다고 나오지요.엉엉
Leapp 저장소 추가하기
이 글의 본 목적이라고 볼수 있습니다.
cat << EOF | sudo tee /etc/yum.repos.d/ol8_leapp
[ol8_leapp]
name=Oracle Linux 8 ($basearch) Leapp Upgrade Utilities
baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL8/leapp/$basearch/
# alma https://repo.almalinux.org/elevate/testing/el8/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
# gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
gpgcheck=1
enabled=1
EOF
# 저장소를 추가했으면 다시 leap 설치를 진행합니다.
sudo dnf install leapp-upgrade --enablerepo=ol8_leapp,ol8_appstream,ol8_baseos_latest
저장소 경로를 찾았던 방법입니다.
이 방법을 적는 이유는 추후 OL9에서 OL10으로 업그레이드 할 때에도 사용될 수 있을것 같기 때문에 방법을 적어두었습니다.
이 방법을 거쳐서 /etc/yum.repos.d/ol8_leapp 파일에 넣을 baseurl을 얻어낸 것임을 기록해둔 것일 뿐입니다.
OL의 저장소는 오라클 리눅스 저장소 홈페이지에서 확인할 수 있습니다.
우리는 8에서 9로 업그레이드 할 것입니다.
즉, 오라클 리눅스8용 leapp 저장소를 추가해야 하므로 오라클 리눅스 8 저장소으로 이동합니다.
이 곳에 BaseOS, AppStream, Add-ons부터 Leapp, KVM, oVirt 까지 있습니다.
Leap가 우리가 필요했던 저장소입니다.
Leap에서 자신에게 맞는 아키텍처를 클릭하면 주소창에 주소가 나오게 됩니다.
이 주소에서 index.html을 제외한 부분을 repo파일의 basurl에 넣으면 됩니다.
ol8의 leap 저장소 주소는 아래와 같습니다.
https://yum.oracle.com/repo/OracleLinux/OL8/leapp/x86_64/index.html
업그레이드 전에 해야 할 항목 확인
sudo leapp preupgrade --oraclelinux
cat /var/log/leapp/leapp-report.txt
# 이 파일에서 inhibit 내용을 확인하자.
inhibit: firewall zone drifting, osms
저의 경우에는 osms와 firewall zone drift 문제가 있어 업데이트를 진행할 수 없다고 하였습니다.
leapp-report.txt에 보면 어떤 명령을 수행하면 진행이 가능한지도 알려줍니다.
firewall의 zone drift는 그대로 실행하여 해결합니다.
sudo sed -i "s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/" /etc/firewalld/firewalld.conf
osms 문제는 osms를 끄고 인스턴스를 재시동하면 진행할 수 있게 됩니다.
sudo systemctl disable --now oracle-cloud-agent && sudo reboot
업그레이드 진행
sudo leapp upgrade --oraclelinux
업그레이드가 종료되면 이렇게 표시됩니다.
sudo reboot
을 하면 재시작 후에 leapp 작업이 시작됩니다.
이 동안 ssh 접속이 안되고, 저는 E2 micro를 사용하는데 약 20분 정도 걸린 것 같습니다.
정리하기
Repository
oracle linux와 관련된 repository는 모두 업데이트가 되었습니다.
하지만 docker-ce와 45drives는 업그레이드가 되지 않았어요.
이 글을 읽고 따라하시는 분들은 또 다른 repo를 사용하고 계실수도 있는데, EL9용 repo로 교체해야 합니다.
45drives는 안타깝게 EL9용 repo가 없었습니다.
EL8용 패키지 중에도 일부는 문제 없습니다.
제가 사용하는 것은 cockpit 관련 패키지라서 EL8용을 그대로 사용하기로 했습니다.
rpm을 설치하여 repo를 설치한 경우, sudo dnf remove 하여 repository를 제거할 수 있습니다.
docker-ce는 dnf config-manager –add-repo를 이용하여 추가한 경우입니다.
repo 파일을 직접 삭제해주고 다시 추가하였습니다.
sudo rm /etc/yum.repos.d/docker-ce.repo
sudo dnf config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
새로운 repository의 패키지로 업데이트 합니다.
sudo dnf update --allowerasing
zsh의 플러그인에서 파이선 3.6과 thefuck이라는 python 모듈이 필요합니다.
ol9에서는 python 3.6이 없습니다.
전 심플하게 심링크 걸어줬습니다. ㅎㅎ
sudo ln -s python3 python3.6
sudo pip install thefuck
끗!!
이렇게 OL9으로의 업그레이드가 끝났습니다!
이제 cockpit에서도 OL9로 표시되는군요!
답글 남기기