The exclude option can be set in any .repo configuration file. The syntax is as follows:
Package1 Package2 is a list of packages to exclude from updates or installs. This should be a space separated list. Shell globs using wildcards (eg. * and ?) are allowed. In this example, blakclist nginx package from epel repo. Edit /etc/yum.repos.d/epel.repo, enter:
exclude=package1 package2
exclude=package1* package?
# vi /etc/yum.repos.d/epel.repo
Update the file as follows using the exclude keyword:
Save and close the file. You can search the repo:
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
### Blacklist nginx package ###
exclude=nginx*
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
# yum search nginx
Sample outputs:
Loaded plugins: product-id, rhnplugin, subscription-managerBut, you can not install the same:
Updating certificate-based repositories.
============================== N/S Matched: nginx ==============================
collectd-nginx.x86_64 : Nginx plugin for collectd
nginx.x86_64 : Robust, small and high performance HTTP and reverse proxy server
Name and summary matches only, use "search all" for everything.
# yum install nginx
Sample outputs:
Loaded plugins: product-id, rhnplugin, subscription-managerYou can also use the yum command line option as follows without editing the repo file:
Updating certificate-based repositories.
Setting up Install Process
Nothing to do
# yum --exclude=nginx* update
You can list the packages as follows:
# yum --exclude=nginx\* --exclude=lighttpd\* update
OR
# yum -x nginx -x lighttpd update
OR
# yum -x 'nginx*' -x 'lighttpd*' update
Thanks for sharing the article. You can find more examples about yum in the below link.
ReplyDeleteyum command examples in unix