How to Exclude Specific Repositories in YUM Update on RHEL 5.5: Handling Dependency Conflicts with IUS EPEL


3 views

When running yum update on RHEL 5.5 systems with IUS EPEL repository enabled, you might encounter dependency errors like:

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

Method 1: Using --disablerepo Flag

The most straightforward solution is to temporarily disable the problematic repository:

sudo yum --disablerepo=ius update

If you're specifically targeting Red Hat Network updates while excluding all others:

sudo yum --disablerepo=* --enablerepo=rhel* update

Method 2: Permanent Repository Exclusion

Edit the repository configuration file to permanently exclude it:

sudo vi /etc/yum.repos.d/ius.repo
[ius]
enabled=0

Method 3: Package Exclusion (Temporary Workaround)

If you can't identify the repository name or need a quick fix:

sudo yum --exclude=php53* update

Creating a YUM Configuration Snippet

For more persistent exclusions, create a configuration file:

sudo tee /etc/yum.conf.d/exclude_ius.conf <

Verifying Repository Names

To identify all enabled repositories:

yum repolist enabled

For detailed repository information:

yum repoinfo

When facing persistent dependency problems:

  1. Clean YUM cache: sudo yum clean all
  2. Check for package conflicts: sudo package-cleanup --problems
  3. Verify repository priorities: sudo yum install yum-plugin-priorities

For frequent use, create an alias in your shell configuration:

alias yum-update-safe='yum --disablerepo=ius --exclude=php53* update'

When running yum update on RHEL 5.5 systems with IUS EPEL repository enabled, you may encounter dependency conflicts like:

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

Here are several ways to handle this situation:

1. Temporary Repository Exclusion

The most direct approach is to disable the problematic repository during update:

sudo yum --disablerepo=ius update

2. Selective Repository Enablement

If you specifically want to update only from Red Hat Network:

sudo yum --disablerepo=* --enablerepo=rhel* update

3. Package Exclusion Workaround

When repository names are unknown or multiple repos exist:

sudo yum --exclude=php53* update

For a more permanent solution, modify the YUM configuration:

# Edit /etc/yum.conf
[main]
exclude=php53*

Or disable the repository permanently:

# Edit /etc/yum.repos.d/ius.repo
[ius]
enabled=0

When facing complex dependency chains:

# Check available repositories
yum repolist

# Verify repository priorities
yum-plugin-priorities install
# Then configure priorities in repo files
priority=90 # Higher number = lower priority

For the specific php53 issue, consider these workarounds:

# Try clean installation
sudo yum remove php53-common php53-mcrypt
sudo yum install php53-common php53-mcrypt

# Or force version alignment
sudo yum downgrade php53-common