PDA

View Full Version : got myself all messed up with yum and rpm



jimbux
14th February 2010, 05:35 AM
I apologize if this is answerable with only a few mouse clicks and some clever searches - but so far I've failed trying to figure this out poking around off-and-on all day today. I started the day wanting to do something simple (install some software to test it out)- but it's turning into a research project - much to my chagrin.

So the basic issue is that it seems pretty easy to get things all messed up with the rpm/yum repos if you're a bit of a dumbass like me. I was trying to install a program called "cinelerra" (an open source video editing program) - and the cinelerra website gives instructions on how to install the program (Install Cinelerra on Fedora (http://cinelerra.org/getting_cinelerra.php#fedora)) which I followed for the "Fedora 9" section:


To install Cinelerra from kwizart repository (x86 and x86_64) do:
su -
rpm -ivh http://rpm.livna.org/livna-release-9.rpm
rpm -ivh http://rpms.kwizart.net/kwizart-release-9.rpm
yum install cinelerra --enablerepo=kwizart

Now - the only reason I did this is because it seemed that whatever yum/rpm repos (if I even have that term right!?) I had on my system prior to running those commands didn't have cinelerra in their lists of packages available. I believed this to be true because when I did a "yum list all | grep -i cinelerra" and I got nothing.

So after following those instructions above yum is totally busted. Now any yum commands I execute give me the following error:


Could not retrieve mirrorlist http://download1.rpmfusion.org/nonfree/fedora/.mirrorlist-nonfree-fedora-updates error was
[Errno 14] HTTP Error 404: Not Found
Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmfusion-nonfree-updates. Please verify its path and try again

When first seeing this error I experienced deja vue - I've been here - and after a little digging I rediscover that rpmfusion replaced the livna repo - hmmm - also I've fixed an error like this before and my yum was working before today. Ok - so now I'm in a funky state - I don't know how to undo it safely. Here's what's curretnly in my /etc/yum.repos.d directory:


fedora-rawhide.repo livna.repo
fedora-updates-newkey.repo rpmfusion-free-rawhide.repo
fedora-updates-testing-newkey.repo rpmfusion-free-updates-testing.repo
fedora-updates-testing.repo rpmfusion-free-updates.repo
fedora-updates.repo rpmfusion-free.repo
fedora.repo rpmfusion-nonfree-rawhide.repo
kwizart-rawhide.repo rpmfusion-nonfree-updates-testing.repo
kwizart-testing.repo rpmfusion-nonfree-updates.repo
kwizart.repo rpmfusion-nonfree.repo

When I do an 'ls -l' on this aforementioned /etc/yum.repos.d dirctory - the dates on the files are all quite old - so I have no idea what changed. I know I fixed something in the past so that this error I'm getting now went away (rpm-fusion - solved (http://forums.fedoraforum.org/showthread.php?t=204459)) - but I'm flummoxed as to how that fix I made got "undone" especially given that none of the files above have a creation date of today (indicating they were modified or changed (today) from what I had before).

So - the livna.org site indicates that livna is still needed because one single package didn't get folded into the rpmfusion - but it doesn't say which one - nor do I have any idea if it's needed for cinelerra.

So it seems that I need kwizart to get cinelerra - but not livna - maybe? I dunno - my rpmfusion is mysteriously busted now so I have to solve that problem first. So I ask myself - what exactly is going on here - and find myself frozen with confusion and facing reading documentation that could take me all week to wade through just to gain enough knowledge to get myself out of this mess. So I turn to you good folks.

So - I basically want to get back into a working state - remove stuff from my yum.repos.d that I dont' need - and actually install "cinelerra" so I can test it out and hopefully use it if it's any good. If I learned some higher level rpm/yum concepts about what is going on in the /etc/yum.repos.d directory - that would be great. Like where do these files come from? How did they get modifed from what I had before? How do you uninstall one of these repos? Just delete the file? Is that safe? Should I always use yum? When should one use rpm? Do you use rpm to update the files that yum uses? Is that the only time you'd use rpm? Confusion reigns.

Anyway - I sure hope I'm not asking too much - and if someone's already written a FAQ about this feel free to slap me upside the head and point me to it.

Thanks tons as always,
James.

Hlingler
14th February 2010, 06:30 AM
There's nothing wrong with having the Livna repo installed - it's still open just to provide that one RPM package that everyone needs but no one else will touch (libdvdcss, which BTW is not needed for Cinelerra). Nothing wrong with Kwizart's repo either. BUT... are F9 repos release RPMs correct for your OS ?

It is of course always possible that RPMFusion is temporarily off-line or otherwise unavailable (are their F9 repos still even available, if F9 is in fact your OS ?). Try:
su
yum clean all
yum repolist

Lather, rinse, repeat.

V

jimbux
14th February 2010, 09:17 AM
Hlinger - thanks - I tried your suggestion but the error...

Could not retrieve mirrorlist http://download1.rpmfusion.org/nonfree/fedora/.mirrorlist-nonfree-fedora-updates error was
[Errno 14] HTTP Error 404: Not Found
Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmfusion-nonfree-updates. Please verify its path and try again
...still occurred - so I jumped on one of my machines that I have NOT been messing with today - and repeated the commands you suggested and it's busted there too (very similar error - just different rpm repo) indicating that something has changed out there in the Linux universe that my machines (and setup) are not able to cope with.

Namely the "mirrorlist" entry is no longer valid - some files that used to exist on a download server are gone. Eg. http://download1.rpmfusion.org/nonfree/fedora/.mirrorlist-nonfree-fedora-updates is gone, the directory is there, and has other contents, but the ".mirrorlist-nonfree-fedora-updates" file is gone.

I suppose I should hunt around and figure out why files that used to exist on a file system I've been relying on no longer exist - but that feels like the wrong approach to me - there must be a simpler way. I find it hard to believe that something as fundamental as package management could be built on a structure that can just be changed out from under the user with no notice - or no helpful messages to set you straight when you do stumble on a problem - there isn't so much as a README in the directory where the files used to be notifying anyone of a change. Therefore it MUST be the case that I'm doing something wrong - (surely not everyone experiences this when something changes.)

So how do I totally reinstall (or update) all my "repos" so that they are "current" or set up such that they know where to look for things properly? How do I guarantee that these repos stay up-to-date?

FYI here's the contents of one of my busted repos:

[rpmfusion-nonfree-updates]
name=RPM Fusion for Fedora $releasever - Non-Free - Updates
#baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/$basearch/
mirrorlist=http://download1.rpmfusion.org/nonfree/fedora/.mirrorlist-nonfree-fedora-updates
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora

[rpmfusion-nonfree-updates-debuginfo]
name=RPM Fusion for Fedora $releasever - Non-Free - Updates Debug
baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/$basearch/debug/
#mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=rpmfusion-nonfree-updates-debug-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora

[rpmfusion-nonfree-updates-source]
name=RPM Fusion for Fedora $releasever - Non-Free - Updates Source
baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/SRPMS/
#mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=rpmfusion-nonfree-updates-source-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora

Thx again,
James.

P.S. - I'm using F9.

glennzo
14th February 2010, 10:04 AM
Shooting from the hip as I so often do, but one never knows. Does the period (.) belong in the mirrorlist line? Yours is shown as /nonfree/fedora/period.

mirrorlist=http://download1.rpmfusion.org/nonfree/fedora/.mirrorlist-nonfree-fedora-updates

JEO
14th February 2010, 10:43 AM
The mirrorlist line in the F11 version of rpmfusion-nonfree-updates looks like this:

mirrorlist=http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-$releasever&arch=$basearch

You could try substituting that line into your repo file and see if it finds it for F9.

Hlingler
14th February 2010, 05:02 PM
Probably the mirrorlist was removed, since the mirrors are no longer being fed with new updates, and some (or most, or all ?) of them are now off-line. Edit your repo files as suggested to comment out the mirrorlist line(s), and un-comment the baseurl line(s), i.e.: use the baseurl (main RPMFusion repo site) instead of random mirrors. Your (disabled) *-debuginfo and *-source entries are actually correct (leave these disabled).

V

EDIT: Would look like so:
[rpmfusion-nonfree-updates]
name=RPM Fusion for Fedora $releasever - Non-Free - Updates
baseurl=http://download1.rpmfusion.org/nonfree/fedora/updates/$releasever/$basearch/ #<<== REMOVE leading comment ('#') sign
#mirrorlist=http://download1.rpmfusion.org/nonfree/fedora/.mirrorlist-nonfree-fedora-updates
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora

jimbux
14th February 2010, 05:24 PM
JEO - what you suggested works - thank you very much. The mirror file I was referring to must have been a hack at some point to fix an old problem (which I incorporated into my repo files due to this thread -> rpm-fusion - solved (http://forums.fedoraforum.org/showthread.php?t=204459) ) that has now disappeared. I've fixed all my rpm files now with the structure you suggested and everything is back in working order.

Upon closer examination can see that my rpm*.repo files reflect some old directory/naming structure at rpmfusion.org (at least how the mirrorlist is defined), and in answering my own question about how one keeps the rpm*.repo files up-to-date I see on this page (Installing Free and Nonfree Repositories (http://rpmfusion.org/Configuration)) that there is a link to download an rpm file that installs the rpm*.repo files. Presumably if some restructuring/renaming happens at rpmfusion.org then one just grabs the latest *.rpm repo installers and reruns them.

Unfortunately when I download and run it it produces this error:

error: Failed dependencies:
system-release >= 10 is needed by rpmfusion-free-release-10-5.noarch
...which is a shame since the files and directories on the rpmfusion.org site still exist to support fedora as far back as F8. Why they don't allow this RPM to be run for f8 and higher I don't understand - is it just because F8 & F9 are past End-Of-Life? What are these folks supposed to do when someone at rpmfusion.org decides to restructure how files are distrubuted or named at rpmfusion.org? I presume any such changes would be reflected in a new (for example) rpmfusion-free-release-stable.noarch.rpm file being released.

This whole rpm/yum thing is still feeling a little like voodoo to me - too much based on word of mouth (however thanks JEO!) given that I can't even go to the source to get the files to fix my out-of-date rpm*.repo files. Is this really how it works or am I still missing a big part of this picture somehow?

Thanks again for your help everyone.

PS - Thanks Hlingler - I just saw your post that you must have done when I was writing up this one. I'll follow your advice too. Thx agian.

Hlingler
14th February 2010, 05:40 PM
is it just because F8 & F9 are past End-Of-Life?Yes: the RPMFusion Configuration page is structured for currently supported releases (i.e.: F11 & F12 as of today). The RPMFusion repo release RPMs for older Fedora releases may not match - you got an error because the "newest" repo release RPM that you downloaded requires Fedora 10 or higher. It is not really "generic".

V