How can I exclude selected packages when I rum yum update command under CentOS / RHEL / Fedora / Red Hat Enterprise Linux server?
Yum uses a configuration file at /etc/yum/yum.conf or /etc/yum.conf. You need to place exclude directive to define list of packages to exclude from updates or installs. This should be a space separated list. Shell globs using wildcards * and ?) are allowed.
How do I exclude php and kernel packages when I use "yum update"?
Open /etc/yum.conf file, enter:
# vi /etc/yum.conf
Append the following line under [main] section, enter:
exclude=php* kernel*
At the end, it should look like as follows:
[main] cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log distroverpkg=redhat-release tolerant=1 exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 exclude=php* kernel* # Note: yum-RHN-plugin doesn't honor this. metadata_expire=1h # Default. # installonly_limit = 3 # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d
Save and close the file. You can now use the yum command as usual but certain package will not install.
How Do I Disable Excludes?
You can use the following syntax:
yum --disableexcludes=all update yum --disableexcludes=main install php yum --disableexcludes=repoid install php httpd
Where,
- all : Disable all excludes
- main : Disable excludes defined in [main] in yum.conf
- repoid : Disable excludes defined for given repo id
yum --exclude Command Line Option
Finally, you can skip yum command updates on command line itself using following syntax:
# yum --exclude=package\* update
# yum --exclude=php\* update
# yum --exclude=kernel\* update
# yum -x 'kernel*' -x 'php*' update
Note: The above syntax will exclude a specific package by name or glob from updates on all repositories.
Recommend readings:
For more information view the manual page on yum command using the following command:
$ man yum
$ man yum.conf
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop



![RHEL / CentOS Yum Command: Blacklist Packages [ Disable Certain Packages ]](http://s13.cyberciti.org/images/shared/rp/3/27.jpg)










{ 10 comments… read them below or add one }
Is there some way to override exclusions configured in the conf file when yum is run manually, short of removing or commenting the exclude entry in the conf files?
Say I’d like to automate the updates of most of my packages, but some subset of core packages I’d like to upgrade manually after I’ve had a chance to test the package.
Ben,
I’m afraid but it is not possible to achieve.
Ben,
I’m not sure what version of yum they added this, but:
`yum –disableexcludes=[all|main|repoid]`
or
`yum –disableexcludes=all update`
or
`yum –disableexcludes=all update kernel`
Just a note, the switch -disableexcludes=all does no work on my RHEL 4u5 server.
Using yum-2.4.2-4…
YUM version 3.2.19 in my REHL 5U3 box does have support for -disableexcludes
[root@cerberus etc]# yum –version
3.2.19
[root@cerberus etc]# man yum |grep -A4 -B1 excludes
–disableexcludes=[all|main|repoid]
Disable the excludes defined in your config files. Takes one of
three options:
all == disable all excludes
main == disable excludes defined in [main] in yum.conf
repoid == disable excludes defined for that repo
Might just try to update your YUM package and see if there is a 3.x package avail for REHL4 now and if not try to just install from source…
Hi friends,
When I tried to run the cellsdkiso install or any of the yum commands i am getting this error please let me know what might have gone wrong for this.
I am Installing the IBM Cell SDK into fedora 9.
Config Error: Parsing file failed: File contains no section headers.
file: file:///etc/yum.conf, line: 1
‘\xef\xbb\xbf[main]\n’
Please See My Yum file below
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
installonly_limit=2
exclude=blas blas-devel elfspe2 kernel lapack lapack-devel libspe2 libspe2-debuginfo libspe2-devel oprofile oprofile-devel
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
Thanks & regards
Bhavya
One of the best sites devoted to practical programming.
thanks from newbie @nixCraft :)
Thank you for this post!
Simon
Excluding httpd (apache) in CentOs:
yum –exclude=httpd*,httpd-manual*,mod_ssl* update
PS. httpd-manual and mod_ssl are htpd dependencies.
Thank you! I do not want that CentOS 5.8 automatically updates to 5.9 (Hyper-V Add-ons was not updates to 5.9 yet).
Adding “centos-release*” (without quotes) on /etc/yun.conf resolved my problem!