Pacman

Historical bug tracker for the Pacman package manager.

The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues

This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
Tasklist

FS#15574 - Suggestion: verify all files exist on mirror before downloading

Attached to Project: Pacman
Opened by ELLIOT (onthenickel) - Sunday, 19 July 2009, 09:54 GMT
Last edited by Xavier (shining) - Monday, 07 September 2009, 15:14 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Some users are encountering the problem when installing Arch that some mirrors are missing some files needed for installation. The users most likely to encounter this situation are the users who select ALL packages for when running the Arch installation.

This suggestion is that the Arch installer should check the mirror for missing files before it begins the download process. If files are found to be missing, the installer should warn the user and suggest that the user try a different mirror. This will save the user a lot of time (and in the case of newbie users, will avoid confusion) and this will conserve bandwidth for both users and mirrors. Many users will not selectively find and download the needed missing file, instead, many users will run the installation again from scratch using a different mirror, resulting in an unnecessary use of bandwidth. Also, many newbie users will become confused by the failure, and may attribute it to a bad internet connection, etc.

Blah blah:

Currently, the installer does not seem to verify that the mirror contains all of the needed files before it begins to download the files. When a missing file is encountered, the installer skips past this file and continues to download additional files. It appears as if the fact of even one missing file causes the installation to fail (that is to say, I am assuming the overall install was a failure because when this happens, all of my configuration files are blank.) The download process gives the following output when this happens:

at the end of the list of downloaded packages, it says:

warning: failed to retrieve some files from core
Errors occurred, no packages were upgraded.

Package Installation FAILED.

I describe my encounter with this situation in the following forum post:
http://bbs.archlinux.org/viewtopic.php?id=76294

Additional info:
* package version(s)
* config and/or log files etc.


Steps to reproduce:

run the installer and select a mirror which has out of date files. Then choose to install all packages.

This task depends upon

Closed by  Xavier (shining)
Monday, 07 September 2009, 15:14 GMT
Reason for closing:  Won't implement
Additional comments about closing:  open a new feature request for the installer and/or just update the wiki :)
Comment by Dieter Plaetinck (Dieter_be) - Sunday, 19 July 2009, 12:23 GMT
IMHO: KISS. just pick a good mirror. See http://users.archlinux.de/~gerbra/mirrorcheck.html
Comment by Glenn Matthys (RedShift) - Sunday, 19 July 2009, 19:10 GMT
Pacman already tries the next mirror when an error occurs on the current mirror?
Comment by Gerardo Exequiel Pozzi (djgera) - Sunday, 19 July 2009, 23:55 GMT
See this:  FS#14619  - update mirrors before package list
Comment by ELLIOT (onthenickel) - Monday, 20 July 2009, 09:47 GMT
Well yes, but I don't think that it's a good idea for the installer to download hundreds of megabytes of files when a few important files are not available to be downloaded. Without those key files the end result might be an installation that has some interesting problems, yes? If the user, especially the newbie user, has a slow internet connection, he could find that hours or days of his time are spent troubleshooting this issue, until he comes to understand that the problem is with the mirror missing files. It is for this reason that I believe that a sanity check of the mirror for missing files is advisable before an installation is run. I understand that holding the newbie user's hand might not be sufficient to make this modification. Still, on general principle, I would think that a sanity check should be implemented before the program commits substantial resources (such as several hundred megabytes of bandwidth.)

Unfortunately the information at http://users.archlinux.de/~gerbra/mirrorcheck.html is not always useful (at least for this confused newbie user) for finding out if a mirror is missing files or not; The mirror I used had files that were no older than 24 hours old, yet, still, some of them were out of date. Also the installer does not try more than one mirror, by default, it only asks the user for one mirror to try.

If the consensus is that pacman and/or the installer does not need to be modified, then I guess my concern could also be solved by adding some information to the Beginner's guide [url]http://wiki.archlinux.org/index.php/Beginners_Guide#Pacman-Mirror[/url] to tell the user how to perform a sanity check of the mirror the user is choosing.

(djgera) - that is an interesting task you linked to. I don't fully understand the discussion in that task, but it looks like it is discussing a classic [url=http://en.wikipedia.org/wiki/Race_condition]race condition[/url] in the mirror update process and some sort of journaling method would be required to solve that.
Comment by Xavier (shining) - Monday, 07 September 2009, 12:58 GMT
pacman does not need to be modified, it already tries all available mirrors. And you can always run the pacman operation a second time with different mirrors, you will not lose anything (all already downloaded packages are kept in the cache)

So either modify the installer to allow multiple mirrors selection, or just update the wiki.

Loading...