親愛なる友人や大学の皆さん、
私はここでいくつかの大学で重要だと思う次の質問をあなたと共有したいと思います。
私のLinuxボックスのすべてのリポジトリが大丈夫であることを確認したいと思います。
だから我々はコマンドを実行します -ヤム再処理中次のように
リポジトリのいずれかのエラーを表示できます
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システムで間違った/間違ったストレージを識別する方法です。
答え1
check-update --refresh
私のAnsibleロールでは、コマンドのオプションとして-を使用しますdnf
が、同じアイデアを適用する必要がありますyum
。
yum
これはオプションではないかもしれません--refresh
。代わりにyum clean expire-cache
thenを実行してくださいyum check-update
。
更新が可能な場合、終了ステータス($?
)は成功check-update
です 0
。100
他の値は失敗を示します。通常、必ずしもそうではありませんが、これはリポジトリの読み込みに問題があることを示します。私の目的にはそれで十分です。たとえば、ネットワーク接続を切断してすぐにコマンドを実行すると、終了ステータスが返されます1
。
具体的には、私のAnsibleロールは新しいリポジトリをインストールしてリポジトリを検証したいと思います。たとえば、リポジトリがbility
正しく実行されていること、メタデータを読み取ることができるかどうかを確認するために、同様のコマンドを使用しますdnf --disablerepo="*" --enablerepo=bility --refresh check-update
。