Linux

如何在我的 linux 機器中辨識錯誤/壞的 repo?

  • April 26, 2018

親愛的朋友和大學,

我想和你分享以下問題,我相信這對這裡的一些大學很重要

我想驗證我的 linux 機器中的所有 repo 是否正常

所以我們執行命令 - yum repolist如下

我們可以看到關於其中一個 repo 的錯誤

yum repolist
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
file:///var/repoha/bility/h5th5th54/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /var/repoha/bility/h5th5th54/repodata/repomd.xml"
Trying other mirror.
file:///var/repoha/bility/h5th5th54/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /var/repoha/bility/h5th5th54/repodata/repomd.xml"
Trying other mirror.
Storage                                                                                                                                                      | 4.1 kB  00:00:00
Storage/group_gz                                                                                                                                             | 4.9 kB  00:00:00
Storage/primary_db                                                                                                                                           |  29 kB  00:00:00
local                                                                                                                                                                 | 4.1 kB  00:00:00
local/group_gz                                                                                                                                                        | 136 kB  00:00:00
local/primary_db                                                                                                                                                      | 3.6 MB  00:00:00
repo id                                                         repo name                                                                                                              status
bility                                                Red Hat Enterprise Linux Server release 7.2 (Maipo) - bility                                                     0
Storage                                                Red Hat Enterprise Linux Server release 7.2 (Maipo) - Storage                                                    37
local                                                           Red Hat Enterprise Linux Server release 7.2 (Maipo) - Local                                                            4,620
repolist: 4,657

所以為了驗證 repo 是否正常,我們要檢查 $ 的狀態?

[root@trump yum.repos.d]# echo $?
0

但我們得到 0

為什麼我們得到“0”?儘管回購不正確?

我的問題是如何在我的 linux 機器中辨識錯誤/壞的 repo?

在我的 Ansible 角色中,我使用check-update --refresh- 作為dnf命令的一個選項,但同樣的想法應該適用於yum.

yum可能沒有--refresh選項。相反,執行yum clean expire-cache然後yum check-update.

如果更新可用,則退出狀態 ( $?)check-update等於 0成功。100任何其他值都表示失敗。通常,雖然我猜並非總是如此,但這將表明閱讀 repo 時出現問題。就我的目的而言,這就足夠了。例如,如果我斷開網路並立即執行該命令,它將返回退出狀態1.

更具體地說,我的 Ansible 角色是安裝一個新的 repo,並希望驗證一個 repo。例如,要檢查 repobility是否正常執行並且可以讀取它的元數據,我使用類似dnf --disablerepo="*" --enablerepo=bility --refresh check-update.

引用自:https://unix.stackexchange.com/questions/440225