I have three systems running OpenSUSE:Slowroll. I love it. Thank you to @bmwiedemann and the others for their great work.
However, I have had regular failures updating from Main Repository (OSS)
I have tried updating at irregular times, at the top of every hour, etc. Sometimes, I will get half-way through a 500+kb file and it will hang until it errors out and tries again.
Sometimes, it seems like it’s a problem with specific files, as I always have problems updating libguestfs whenever a new version comes out. I know, it sounds ridiculous. I would greatly appreciate some help–or perhaps my IP has been blacklisted and I’m timing out.
I don’t have any custom repos which take the place of the Main Repo OSS (if there were alternates, I would love to try them! lol). Today, I enabled some alternate packman repos (alternate than the one offered in the installation process) and pushed the Main Repo OSS down in the hierarchy to see if I could get it to prefer a different repo since my problem is only with Main Repo OSS. My regular error talks about cdn.download.opensuse (or something like that–I’m fuzzy on the exact url, but it had cdn leading and pointed to opensuse). I don’t mind disabling the custom repos I added today, but I don’t think that is the issue, since I’ve been struggling with this issue for over a month (1 or 2).
I should add that on my third system, it is a basic setup with nothing special added as far as repos are concerned, and it has the same problem. I don’t have any difficulty (timeouts) pulling from the Main Update Repository.
Depending on what part of the world you are in, you may be better off using repos other than those geographically nearest you. You may override that behavior via /etc/zypp/zypp.conf:
## download.use_geoip_mirror = true
You may change it to
download.use_geoip_mirror = false
to see if behavior with OSS improves.
Standard repos should all have same 99 priority.
Your number 9 provides everything your number 2 provides, subsuming it. Best to remove 2 if you actually require 9.
Number 10 contains a broken URL and is otherwise a functional duplicate of 9. With the // repaired in 10, its URL may be added to the 9 file and the 10 file removed. Multiple URLs per .repo file is a supported configuration.
Thanks so much. I made the changes you suggested, except for removing number 2. I don’t have a problem with Essentials at the moment. I agree that it is a duplicate. I’ll remove it when I’m through with this issue.
I also cleared the cache of downloaded files. It downloaded all files without issue, including many files from Main Repo OSS, until it came to libguestfs. I know it doesn’t make sense, but I’ve seen it hang on this file in the repo (older version) multiple times through updates over the last couple of months.
So, at the moment, I’m still at the same point I have been. Still struggling with updates. I have tried multiple IPs in order to see if I was blacklisted on my initial IP (No reason why I would be, but in the process of troubleshooting, I considered it), but I had the same problems with all IPs that I tried. I assume I’m supposed to guess that the Main Repo OSS server is congested? I don’t understand why I choke on libguestfs, however.
Moreover, if I tell zypper to ignore libguestfs (repo Main Repo OSS), it downloads the next file just fine even from Main Repo OSS. Then switching back to libguestfs, it halts again, until I can tell it to ignore it. I will try locking the file, perhaps, and update, to see how it goes.
Edit: I tried this. While it did jump ahead a little, it ran into something else in Main Repo OSS to halt on. Moreover, it would have created larger issues to not have libguestfs in the actual update.
Okay, so, after browsing the repos and the respective mirrors, it looks like the fundamental issue is that the slowroll files are not being pushed out quickly. For instance, the libguestfs fileset were 1.53 on a lot of the mirrors, but the dup process is looking for 1.54. So, it’s looking for a file that isn’t there. Thus, the timeout.
I don’t know how to tell zypper to scan the repos to sort them appropriately (I’m guessing there isn’t a command like that) in order to prioritize up-to-date repos.
If that one package is your only limitation, you should be able to fetch either of the latter two, if not the first, with wget or curl, put it in cache to have zypper or yast find it, or just install with rpm from your downloaded location.
Perhaps you ought try zypper ve first to see what else may be wrong among installed packages.
That is a very good idea. In the end, part of the solution was your suggestion earlier to turn geoip off. Then I refreshed. Turned it back on, then I refreshed again, which caused it to reload the mirrors. Then, I was able to update without any problems whatsoever. Is there a zypper command which forces mirror refreshing? I looked in ‘zypper help,’ but found nothing on that line.
Repos can be configured to auto-refresh at any time yast or zypper determine it to be necessary, but zypper ref can refresh at any time it isn’t already running.
Pardon me for using an imprecise term. I know that yast and dup automate refresh at interval and that I can manually run zypper ref, as I usually do.
What I was asking was whether there was a zypper command to poll mirrors and get a new set. When I disabled geoip > refreshed > enabled geoip > refreshed it went through the process of polling mirrors and then everything worked fine. I was wondering whether there was a zypper command to automate the polling of the mirrors. I looked at the info readout for zypper (‘info zypper’) and in the Managing Repositories I didn’t find anything.
I suppose I could make a script.
zypper is not even aware of mirrors. It just contacts the URL defined in the repository definition and it is up to the server to redirect to a mirror. GeoIP just gives the server a hint which mirrors you may prefer. Server is free to take it in account or ignore. Those mirrors are not stored anywhere on your system.
Excellent. Thank you for the clarification. So, GeoIP just gives a region, such as NA or AU, and the Server determines whether to recognize that or not. Thank you for helping me to understand.
Sorry, I take it back. I confused it with COUNTRY or AVOID_COUNTRY hints. Those mirrors are stored under /var/cache/zypp/geoip.d, but AFAICT zypper will update this information every time it attempts repository refresh (and my be more often). Of course, if server returns the same information every time, there is nothing you can do. You can just remove the cache and hope next time server will return something different.