Redhat

意外地將我的 RHEL 安裝變成了 Oracle 安裝。我該如何改回來?

  • December 17, 2020

我成功地在我的伺服器上安裝了一個 Oracle 數據庫(如果我的事情應該被認為是成功的)。然而,我這樣做的方式有一個不幸的副作用,就是讓 lsb_release 認為我的系統是 Oracle Linux。我無法僅從 RHEL 儲存庫中輕鬆找到正確的先決條件。所以我按照以下方式添加了一個 Oracle 儲存庫:

https://yum.oracle.com/getting-started.html

/etc/yum.repos.d/ol7-temp.repo

[ol7_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

並安裝數據庫軟體。我必須做得更多,因為很長一段時間後我意識到 lsb_release 現在輸出:

>lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: OracleServer
Description:    Oracle Linux Server release 7.9
Release:    7.9

而且不像以前那樣:

LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: RedHatEnterpriseWorkServer
Description:    Red Hat Enterprise Linux Server release 7.9 (Maipo)
Release:    7.9
Codename:   Maipo

我已經禁用了 repo,但我不確定如何修復我的安裝。RedHat 有一個convert2rhel實用程序,但失敗如下:

[11/11/2020 16:48:03] TASK - [Convert: Subscription Manager - Install] **************************
[11/11/2020 16:48:03] CRITICAL - The /usr/share/convert2rhel/subscription-manager directory does not exist or is empty. Using the subscription-manager is not documented yet. Please use the --disable-submgr option. Read more about the tool usage in the article https://access.redhat.com/articles/2360841.

WARNING - Abnormal exit! Performing rollback ...

事實上,不再安裝訂閱管理器,並且 /etc/yum.conf.d 中缺少 RHEL7 伺服器,因此yum install subscription-manager無法取回它。

# convert2rhel --disable-submgr
[11/11/2020 17:59:28] CRITICAL - Error: --enablerepo is required if --disable-submgr is passed 

No changes were made to the system.

我想部分解決方案是:

  • 重新創建 /etc/yum.conf.d/redhat.repo (現在失去了)。
  • 重新安裝訂閱管理器
  • 重新附加訂閱並使用 yum update 等查看我們的位置。

我在哪裡可以獲得 RHEL7 的 redhat.repo 文件?這個 URL 有一個 RHEL8 https://access.redhat.com/discussions/4547301 如何從那裡清理系統?

我想避免重新安裝,因為這是一個重要的伺服器,並且有 covid 等。用 DVD 訪問真實係統並不方便(以前不是這樣)。

如果您能告訴我應該做什麼來在我的系統上安裝 Oracle 數據庫軟體,而不是我實際做的任何事情,那麼您將獲得加分。

鉈;博士;

  • 恢復 redhat repo 配置
  • 百勝降級

我從 RedHat 那裡得到了一些建議,讓我成功了一半:

  1. 下載 Red Hat Enterprise Linux 7.9 二進制 DVD 大小 4.22GB

https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software 2. 從 ISO 創建一個本地儲存庫。

如何使用 DVD iso 創建通過 Red Hat Enterprise Linux 5/6/7/8 的 apache 分發的本地儲存庫進行更新或安裝? https://access.redhat.com/solutions/7227 3. 重新安裝訂閱管理器包。

yum reinstall subscription-manager 4. 註冊系統。

subscription-manager register
subscription-manager attach --auto
subscription-manager repos --enable=rhel-7-server-optional-rpms

這讓我成功了一半。我實現了另一半如下:

rpm -qa --queryformat "%{NAME} %{VERSION}-%{RELEASE}.%{ARCH} = %{VENDOR} \n" | grep -i oracle &> badpackages.txt
cat badpackages.txt | awk '{ print $1; }' | grep -v systemd | xargs yum downgrade -y --skip-broken

這只是將 systemd 作為受保護的 Oracle 版本。我使用以下方法降級:

cp -p /etc/yum/protected.d/systemd.conf /etc/yum/protected.d/systemd.conf.bak
rm /etc/yum/protected.d/systemd.conf 
yum downgrade systemd systemd-libs systemd-sysv libgudev1

我的系統現在已恢復。

這只是我在此過程中犯了一些錯誤的故事的一半,例如當我通過解除安裝 libnss 意外破壞了 yum(使用腳本 rpm -e –nodeps oracle 包,然後 yum 安裝它們 - 壞主意!)。這也破壞了 scp。幸運的是它沒有破壞 wget,所以我可以從原始碼重新編譯。哎喲!

無需重新啟動一次。

引用自:https://serverfault.com/questions/1042193