bad mirror, no fallback mechanism
Project: | Trisquel |
Version: | 8.0 |
Component: | Packages |
Category: | bug report |
Priority: | blocking |
Assigned: | Unassigned |
Status: | closed |
Jump to:
The mirror http://mirrors.serverhost.ro/trisquel/packages has been down for a while. Many users on the forum have been affected, as have I and at least one of my friends for whom I installed Trisquel, and there are probably many more who don't know to ask on the forum. For a beginner, there is no obvious way to troubleshoot this issue. The graphical installer tells you to check your Internet connection, which is not the problem.
Mitigation:
I'm not sure at what stage a mirror is selected for the system to use, but it seems that it must be during installation, since multiple installations from the same ISO use a different mirror. Does Trisquel connect to the Internet to get the list of mirrors to choose from, or is contained in the ISO? Most importantly, while installing, will Trisquel test and avoid selecting a bad mirror? If so, the priority of this bug can be changed from "blocking" to "critical". Otherwise, something needs to be done to prevent this problem from affecting new users.
Solution:
Is there anything to do other than hope the server goes back up? Can the URL be made to point to a working mirror?
Prevention:
It seems that there should be a fallback mechanism so that if a mirror is bad another one is used.
I have modified my sources.list as follows.
%%%%%%%%%%%%%%%%%%%%%%%%%%%
# deb cdrom:[Trisquel 8.0 _flidas_ - Release amd64 (20180417)]/ flidas main
# Trisquel repositories for supported software and updates
deb http://mirrors.serverhost.ro/trisquel/packages flidas main
deb-src http://mirrors.serverhost.ro/trisquel/packages flidas main
deb http://mirrors.serverhost.ro/trisquel/packages flidas-security main
deb-src http://mirrors.serverhost.ro/trisquel/packages flidas-security main
deb http://mirrors.serverhost.ro/trisquel/packages flidas-updates main
deb-src http://mirrors.serverhost.ro/trisquel/packages flidas-updates main
deb http://mirrors.serverhost.ro/trisquel/packages flidas-backports main
deb-src http://mirrors.serverhost.ro/trisquel/packages flidas-backports main
# Trisquel repositories for supported software and updates
deb https://mirror.fsf.org/trisquel flidas main
deb-src https://mirror.fsf.org/trisquel flidas main
deb https://mirror.fsf.org/trisquel flidas-security main
deb-src https://mirror.fsf.org/trisquel flidas-security main
deb https://mirror.fsf.org/trisquel flidas-updates main
deb-src https://mirror.fsf.org/trisquel flidas-updates main
deb https://mirror.fsf.org/trisquel flidas-backports main
deb-src https://mirror.fsf.org/trisquel flidas-backports main
%%%%%%%%%%%%%%%%%%%%%%%%%%
This makes it possible to install software, as the packages are fetched from mirror.fsf.org instead of mirrors.serverhost.ro, but I'm not sure whether updating works. Updating gives the same errors for mirrors.serverhost.ro, and I didn't get "x packages can be upgraded. Run 'apt list --upgradable' to see them." so I'm not sure if updating worked.
Either way, Trisquel needs to somehow fall back to another mirror if one goes down so that many users don't lose the ability to update and install software (including security updates), with no information with which to troubleshoot other than "check your Internet connection."
See:
https://trisquel.info/en/forum/errors-when-i-update-packages
https://trisquel.info/en/forum/weird-output-when-trying-update
https://trisquel.info/en/forum/sudo-apt-get-update-taking-too-long
https://trisquel.info/en/forum/404-not-found
Jason Self - the Linux-libre packager does the following.
Instead of defining one single mirror, he defines a list of up-to-date mirrors in a .txt file:
http://linux-libre.fsfla.org/pub/linux-libre/freesh/mirrors.txt
And in apt, you just add the following in order to make it work:
deb mirror://linux-libre.fsfla.org/pub/linux-libre/freesh/mirrors.txt freesh main
Trisquel 8.0 support ended in April 2021.
Please open a new issue in case it remains on the current supported release.
Cheers!