[CentOS] Centos 6.3 - which repos to use?
Bry8 Star
bry8star at yahoo.com
Mon Jan 28 10:16:19 UTC 2013
For PostgreSQL, i've done these (shown below) at initial/test stage:
(pls DO NOT follow/copy it, try to understand pattern and do what
fits for your case/need).
From a VE instance inside HN:
yum has these plugins: fastestmirror, filter-data, keys, list-data,
merge-conf, presto, priorities, security, verify.
# CentOS-Base.repo
[CentOS-base]
#<...snip...>
enabled=1
# i do not want below set from centos repo
# as these exacts are released by postgre devs
# but other postgre portions from others i do want
exclude=postgresql.* postgresql-contrib* postgresql-debuginfo*
postgresql-devel* postgresql-docs* postgresql-jdbc.*
postgresql-jdbc-debuginfo* postgresql-libs* postgresql-odbc.i686
postgresql-odbc-debuginfo* postgresql-plperl* postgresql-plpython*
postgresql-pltcl* postgresql-server* postgresql-tcl.i686
postgresql-tcl-debuginfo* postgresql-test*
priority=1
[CentOS-updates]
#<...snip...>
enabled=1
exclude=postgresql.* postgresql-contrib* postgresql-debuginfo*
postgresql-devel* postgresql-docs* postgresql-jdbc.*
postgresql-jdbc-debuginfo* postgresql-libs* postgresql-odbc.i686
postgresql-odbc-debuginfo* postgresql-plperl* postgresql-plpython*
postgresql-pltcl* postgresql-server* postgresql-tcl.i686
postgresql-tcl-debuginfo* postgresql-test*
priority=1
[CentOS-extras]
#<...snip...>
enabled=1
exclude=postgresql.* postgresql-contrib* postgresql-debuginfo*
postgresql-devel* postgresql-docs* postgresql-jdbc.*
postgresql-jdbc-debuginfo* postgresql-libs* postgresql-odbc.i686
postgresql-odbc-debuginfo* postgresql-plperl* postgresql-plpython*
postgresql-pltcl* postgresql-server* postgresql-tcl.i686
postgresql-tcl-debuginfo* postgresql-test*
priority=1
[CentOSplus]
#<...snip...>
enabled=1
exclude=kernel.* kernel-firmware.* kernel-headers.* postgresql.*
postgresql-contrib* postgresql-debuginfo* postgresql-devel*
postgresql-docs* postgresql-jdbc.* postgresql-jdbc-debuginfo*
postgresql-libs* postgresql-odbc.i686 postgresql-odbc-debuginfo*
postgresql-plperl* postgresql-plpython* postgresql-pltcl*
postgresql-server* postgresql-tcl.i686 postgresql-tcl-debuginfo*
postgresql-test*
priority=1
# pgdg92-centos.repo
[pgdg92]
#<...snip...>
enabled=1
priority=10
[pgdg92-source]
#<...snip...>
enabled=1
priority=10
#scntflnx.repo
[SciLnx-6x-os]
#<...snip...>
enabled=1
exclude=redhat-rpm-config.* postgresql.* postgresql-devel*
postgresql-docs* postgresql-contrib* postgresql-jdbc.*
postgresql-libs* postgresql-odbc* postgresql-plperl*
postgresql-plpython* postgresql-pltcl* postgresql-server*
postgresql-test*
priority=13
[SciLnx-6x-updates-fastbugs]
#<...snip...>
enabled=1
exclude=postgresql.* postgresql-devel* postgresql-docs*
postgresql-contrib* postgresql-jdbc.* postgresql-libs*
postgresql-odbc* postgresql-plperl* postgresql-plpython*
postgresql-pltcl* postgresql-server* postgresql-test*
priority=13
[SciLnx-6x-updates-security]
#<...snip...>
enabled=1
exclude=postgresql.* postgresql-devel* postgresql-docs*
postgresql-contrib* postgresql-jdbc.* postgresql-libs*
postgresql-odbc* postgresql-plperl* postgresql-plpython*
postgresql-pltcl* postgresql-server* postgresql-test*
priority=13
[SciLnx-6x-debuginfo]
#<...snip...>
enabled=0
priority=13
[SciLnx-6x-SRPMS]
#<...snip...>
enabled=1
priority=13
[pgdg92]
#<...snip...>
enabled=1
priority=15
... other repo & distro ...
In above way, i get most from PosteGre repo, and other postgre
related side packages from other repos. if i were to place
exclude=postgre* then all packages would have gotten excluded, and
then the extra postgre pkg which are not released by postgre, would
get hidden/excluded as well, though, i could have used this approach
for to get that:
includepkgs=related-extra-postgre-pkg
to get those. but then i would need specific name, but what if new
extra pkg that i dont know yet, is included, but since i have not
specified specifically, those would get hidden/excluded.
(my repo inquiries have shown, many other repo has at-least 1 to 3
or some up to 6 extra postgre related tools which are not released
by postgre devs themselves).
Few patterns/logics which i like to follow:
repo#1, rpm priority 1, srpm priority 50
repo#2, rpm priority 10, srpm priority 40
repo#3, rpm priority 15, srpm priority 30
repo#4, rpm priority 20, srpm priority 20
...
Priority numbering pattern/logic:
Since i'm using centos as my base,
so various DISTRO & REPO rpm/binary which
are closest to CentOS & CentOS's source RHEL,
those distro & repo will get lowest priority#
close to centos.
i like to think/visualize in this way ...
a LIST from top to down, now number them
from top to bottom 1, 2, 3.. CentOS is at
position 1, the top-most position.
The lowest priority number, is at highest,
upper position in the list, is chosen first
by yum/installer, and has highest priority,
if it(yum) wants to install something.
my knol is this (i could be wrong):
RHEL based source ->
|-> CentOS base.
|-> Scientific Linux.
|-> Oracle Linux.
|-> ClearOS Linux.
(Fedora stable source -> RHEL -> RHEL source).
EPEL has extra small tools/apps/libs for
RHEL base apps/libs, and also for RHEL
based clone/derivative distros (few
mentioned above).
RPMforge/dag has many perl related stuff.
REMI has latest+stable PHP, MySql related stuff.
ELrepo is for hardware latest+stable drivers, kernels.
kdeRedhat is mostly for latest+stable KDE, QT, samba, etc.
RPMFusion has closed-source-free, open-source-free, non-free etc apps.
ATrpms has MythTV, Scientific Apps, etc.
LnxTechNet has audio,video,etc apps.
And Fedora 17, 18 source/src/SRPMS are needed to be re-built on
cnetos for those apps/libs, then those can be used with centos.
Pkg "Excluding" pattern/logic:
(means, Getting specific pkg from
Non-Centos repo):
Now for example if i want something specific
called "pkg-set-3" from repo#3, then i would have
to place those specific pkgs inside the "exclude"
line in repo(s) which are listed at upper position
on the repo-list, so that will be repo#2, repo#1,
so it will be:
# repo_1.repo file inside /etc/yum.repos.d
[repo_1]
exclude=pkg-set-3
# repo_2.repo file inside /etc/yum.repos.d
[repo_2]
exclude=pkg-set-3
# in 'exclude' pkgs are 'space' separated
Where & How to tweak & apply intelligence/knowledge
and experience and tricks , etc for repo-config ?
i like to call it HI (Human Intelligence),
multiple (or one) developer's initial
HI becomes AI in a software.
Each repo file will most likely have
one or more section/channel like below:
[section-or-channel-name]
config_options=values
...
in repo#2, the "pkg-set-3" can be placed inside
all section/channel of that repo file.
For setting repo#1 (in our case, this is centos),
we will have to do these:
set "enabled=" to 0 in all new repo,
(except centos.repo),
or, by using yum command-line options
instruct "yum" to disable all repo,
then instruct yum to enable only
centos-base,centos-updates, etc repo only
and then do "yum check-update", like this:
yum --disablerepo=\* --enablerepo=base,update,centosplus,extra
check-update
... above command will show if centos repo has new updates (or no
updates) for your system.
then set enabled=1 in those section/channel which you need for the
app/lib (pk-set-3) which you wanted.
then run do "yum check-update".
... It will show list of app/lib which will be updated if you were
to run "yum update" or "yum upgrade".
Also see other helpful yum commands.
Since these yum commands will show app/lib name and which repo has
it, observe carefully and make a hand-written list first (or write
on a text file on the client computer from where you're connecting
to your centos server which you are trying to configure), a list,
apps/libs which you need to exclude from which repo.
Other helpful YUM COMMANDS:
yum list updates '*' --disableplugin=filter-data,priorities
--disableexcludes=all
... should show what updates will be in queue if all "excludes" are
ignored.
yum list all available 'pkg-name*'
--disableplugin=filter-data,priorities --disableexcludes=all
... should show which of your repos has any package that are close
to the name "pkg-name" and will also show their version # and what
repo has it.
Anytime you change any "somename.repo" file,
then its better to do first:
yum check-update
(but do not update, unless you are sure which app is coming from
which exact repo and if that is what you want or not).
Please ADD/POST MORE/YOUR HELPFUL COMMANDS,
and tell us what it does, where useful.
Since source/SRPMS is/are needed when you/i need to make src.rpm, so
distro & repo closest to CentOS gets higher priority, usually that
is in reverse order than the RPM/binaries.
Please correct my mistakes and add your responses, ideas,
suggestions, logics, patterns, etc.
Thanks in advance,
-- Bright Star.
Received from Johnny Hughes,, on 2013-01-28 12:50 AM:
> On 01/27/2013 06:20 PM, Rob Kampen wrote:
>> On 01/28/2013 04:43 AM, Mark LaPierre wrote:
>>> On 01/27/2013 08:18 AM, Bry8 Star wrote:
>>>> Hi Anthony, it would be really great, to see various types
>>>> of repo-configs on centos wiki, now if few helpful&
>>>> experienced users can grab this idea and come forward and
>>>> share their repo config (and their case/usage scenario
>>>> along with that), then that would be great.
>>>>
>>>> <snip>
>>>>
>>>> (Sorry for spelling& grammar mistakes in previous and in
>>>> this posting, pls kindly disregard, its not a grammar
>>>> discussion thread).
>>>>
>>>> -- Bry8Star.
>>>>
>>>>
>>>>
>>>> Received from Anthony K, on 2013-01-27 2:48 AM:
>>>>> On 26/01/13 14:59, Bry8 Star wrote:
>>>>>> CentOS webpage/site should also show to all users, some
>>>>>> example of using multiple repos and how to implement
>>>>>> effective includepkgs, exclude, priority etc directives
>>>>>> properly for some certain last& STABLE app(s) (which
>>>>>> is by default not in CentOS), so that others can
>>>>>> understand the pattern, or have a pointer for them.
>>>>>> Just mentioning about, that, there is such things
>>>>>> called "includepkgs=...", "exclude=..." ad now go do
>>>>>> it yourself (and sorry no example), obviously does not
>>>>>> help that much to users, and its CentOS's loss as well,
>>>>>> users go away to other distros, and ultimately many of
>>>>>> them are lost in the jungle. -- Bright Star
>>>>>> (Bry8Star).
>>>>> But you appear to be missing the "C" part in CentOS (or
>>>>> Community Enterprise OS). If you can contribute to the
>>>>> Wiki, then the immediate problem is solved in that such
>>>>> threads can be pointed to the Wiki and slows the growth
>>>>> of my CentOS list folder!
>>>>>
>>>>> Frankly, if you have a good point to make that would
>>>>> benefit the masses and you have spare time, then it's
>>>>> best to create a Wiki page for it.
>>>>>
>>>>> Cheers, ak.
>>>>>
>>> There is already a fine page on this subject on the wiki.
>>>
>>> http://wiki.centos.org/AdditionalResources/Repositories
>>>
>> The point being made is that various people have the knowledge
>> and experience to advise a startup setting for priority= for
>> each repo I know that what I'm using has caused conflicts that
>> have been quite time consuming to resolve - what works for
>> others would be most helpful I do recognise that this will vary
>> depending upon what tools are required but as a start: 1.
>> developer workstation - what repos and what priority 2. LAMP
>> server - probably just CentOS repos and something which deals
>> with later php / perl / ruby 3. web / internet workstation -
>> needs audio and video stuff working just my thoughts for
>> starters.
>
> That totally depends on what you need to install and what repo it
> is in. Since 3rd party repos are constantly adding new packages
> that they did not have last week, it is impossible to say what
> would be the proper priorities.
>
> I already posted what I personally do, which is:
>
> Install CentOS and set Base, updates, extras, and fasttrack to a
> Priority=1
>
> I usually do not need to enable centosplus, but if I do, I set it
> to Priority=2 and I put "excludes=<pkg_names>" in the Priority=1
> repos for the packages I want let CentOS plus replace in those
> repos.
>
> I then normally add EPEL and set the Priority=10 for that.
>
> Hopefully, that is all I need to add.
>
> If I have to add any more repositories, first make sure my
> packages are currently all updated by doing a yum upgrade. Then
> I add the new repos one at a time and I make them Priority=10
> (the same as EPEL) ... and after I add them , i do a "yum
> update". If it tries to update, I look at the packages and
> decide if I am going to allow the update or not ... if I am ok to
> do the updates, then I do them and make sure it works. Then I
> would install the packages I need from that repo. Then I would
> add the next new repo till I get to the end.
>
> The best scenario is that all your 3rd party repos can co-exist
> at the same Priority setting and that is where I start (at
> Priority=10) ... and if something does not work, I troubleshoot
> it and take individual action.
>
> Each individual machine is going to require a unique and separate
> group of settings based on what you want to install ... which is
> why there is no official recommendations.
>
> I personally am using the following repos right now on my main
> Desktop, which is CentOS-6.3:
>
> adobe-linux-x86_64
> | 951 B 00:00 base
> | 3.7 kB 00:00 cr
> | 3.0 kB 00:00 elrepo
> | 1.9 kB 00:00 elrepo-extras
> | 1.9 kB 00:00 extras
> | 3.5 kB 00:00 fasttrack
> | 3.5 kB 00:00 google-chrome
> | 951 B 00:00 google-musicmanager
> | 951 B 00:00 livna
> | 1.3 kB 00:00 nux-dextop
> | 2.7 kB 00:00 rpmforge
> | 1.9 kB 00:00 updates
> | 3.5 kB 00:00
>
> All of the secondary repos are set to the same priorities and
> everything seems to work.
>
> Right now I have an "exclude=wxGtk*" for rpmforge for some
> reason. And an "exclude=nx freenx*" for Nux! repo.
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> CentOS mailing
> list CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos/attachments/20130128/fb39dfbf/attachment.sig>
More information about the CentOS
mailing list