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@xxxxxxxxxx > http://lists.centos.org/mailman/listinfo/centos >
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ CentOS mailing list CentOS@xxxxxxxxxx http://lists.centos.org/mailman/listinfo/centos