意外地將我的 RHEL 安裝變成了 Oracle 安裝。我該如何改回來?
我成功地在我的伺服器上安裝了一個 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 那裡得到了一些建議,讓我成功了一半:
- 下載 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,所以我可以從原始碼重新編譯。哎喲!
無需重新啟動一次。