When I try to run an update using APT, if there is an issue with a single repository, APT will not continue and the update fails... Shouldn't APT just skip that repo and continue? Especially when it is a separate file under /etc/sources.list.d/
? And not connected to any of the Ubuntu repos?
Isn't this a bit of a security flaw? If a bad repo list could be written, it would stop important security repos from updating through unnattended updates, wouldn't it? Luckily, it updated the security repo second... maybe that is by design.
This is what I get after apt update
. The update of repos doesn't continue after the broken one.
Hit:1 http://archive.ubuntu.com/ubuntu - InRelease
Hit:2 http://security.ubuntu.com/ubuntu --security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu --updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu --backports InRelease
Ign:5 http://apt.keepsolid.com/ubuntu - InRelease
Err:6 http://apt.keepsolid.com/ubuntu - Release
404 Not Found [IP: 144.217.71.199 80]
Reading package lists... Done
E: The repository 'http://apt.keepsolid.com/ubuntu - Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
This is by design. Looking at the source code for
apt
, there are just three possible response codes:0
— No errors1
— No arguments passed100
— Something important isn’t rightBecause
apt
is responsible for installing software on the machine, there is an overabundance of caution regarding when something can continue and when something should fail outright. When there are problems that can be ignored, aW
(warning) message is sent up to notify you of an error, but anyE
(error) will forceapt
to stop in its tracks.For the vast majority of people, it is better to have a working system running older versions of software than a broken system with half-installed recent versions of software.
Why doesn’t
apt
say something like “Oh, this one repo does not have a release file for this system version, so let’s just silently skip it?” Because it’s notapt
’s job to manage sources. The responsibility of source management falls on the system administrator. If the administrator does not wish to administrate, thenapt
will do as much as it can and no more.If this is something you think that
apt
should manage on its own, perhaps you could write up a proposal for the Debian team and have them consider it for a future release ??