Yum failed to complete - Scenario 2
The following scenario describes an error where the yum file fails to complete, as well as steps to troubleshoot the issue.
Error Message | {{code language="none" source="string:{{code language=~"none~"~}~} Missing Dependency: [rpm1] = [version] is needed by package [rpm2-version.arch] (repo) {{/code~}~}"/}} {{/code}} ))) |((( **Description** )))|((( Neither rpm1 of the specified version nor rpm2 are installed on the target. Yum sets rpm2 to be updated for one of two reasons: * Yum detected an older version of rpm2 installed. * Yum offered rpm2 as a dependency to some other rpm. Yum checks if rpm2 needs any dependencies of its own, and detects that rpm1 of the specified version is needed as a dependency. Therefore, yum attempts to set rpm1 to be updated as well, but fails. An error is logged, alerting that rpm1 is required for rpm2 to be installed. ))) |((( **Troubleshooting** )))|((( To troubleshoot this error, follow these steps: 1. Check if rpm1 of the specified version exists in the Catalog. 1. If rpm1 is not in the Catalog, check if it exists in the RHN Channel. 1*. If not in RHN Channel, then analysis happens as expected. 1*1. Acquire rpm1 by other means and install it manually. 1*1. Exclude rpm2 from the analysis or uninstall rpm2. When you uninstall rpm2, consult your administrator and use caution. Note that another rpm might require the newer version of the excluded rpm. Furthermore, this step will not work if yum offered rpm2 as a dependency to some other rpm. 1*. If present in the RHN Channel, run the Catalog Update Job again. 1*1. If rpm1 is still not in catalog, and this is not an RBAC-related issue, then collect logs and contact BMC Support. 1*1. If rpm1 is now present in the catalog, run the analysis again. If Analysis still shows the same error, continue to the next step. 1. If rpm1 is present in the catalog, check whether rpm1 is present in **repodata.tar.gz** on the target by running the following command:{{code language="none"}}# cd <staging>/LinuxCatalog_XXX_[target]/{{/code}}{{code language="none"}}# yum -C -c yum.conf search [rpm1] {{/code}}Proceed according to the results that you obtain: 1*. If rpm1 is not found, then this could be why it is not offered during Analysis. 1*. If rpm1 is found, something might be preventing it from being installed. In such a case, try performing a //dry run// installation of rpm1 using the following command: {{code language="none"}}# rpm -iUv --test rpm1{{/code}} If the dry run fails, then yum predicted this failure and that is why yum rejected rpm1 from being updated, and rpm1 was no longer considered to be updated. An error is logged, indicating rpm1 as a missing dependency. For a possible cause for this dry run failure, see [[Knowledge Article KA347757>>url:https://kb.bmc.com/infocenter/index?page=content&id=KA347757||shape="rect"]]. ))) |((( **Logs to collect** )))|((( (% class="O1" %) ((( **Log files to collect from the application server** ))) (% class="O1" %) ((( Patch Analysis Job log \\ ))) (% class="O1" %) ((( (% class="O1" %)**Log files to collect from the target** ))) * rscd.log * analysis bundle.log (including repodata.tar.gz) * rpm –qa ))) |
Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*