404 error when updating Parrot OS Home

I didn’t run sudo apt update && sudo apt full-upgrade for about 2 weeks on Parrot OS Home (on a low powered machine I don’t use frequently) and I encountered a 404 Not Found error.

I was able to update many other packages just fine. However, no matter what I do (even changing mirrors between the default Parrot mirror and MIT in /etc/apt/sources.list.d/parrot.list), I still receive a 404 error for these 11 packages. I’m not sure if this is due to some sort of mirror syncing in process - I had tried updating Parrot more than 12 hours ago.

Also, I am fully using the testing repos, not the rolling repos.

Below is the error I received:

11 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
   codium (1.57.0-1623554025 => 1.58.0-1625926890)
   exim4-base (4.94.2-5 => 4.94.2-6)
   exim4-config (4.94.2-5 => 4.94.2-6)
   exim4-daemon-light (4.94.2-5 => 4.94.2-6)
   gnome-desktop3-data (3.38.5-2 => 3.38.5-3)
   libgnome-desktop-3-19 (3.38.5-2 => 3.38.5-3)
   libpq5 (13.2-1 => 13.3-1)
   mat2 (0.12.1-1 => 0.12.1-2)
   python-apt-common (2.2.0 => 2.2.1)
   python3-apt (2.2.0 => 2.2.1)
   python3-lxml (4.6.3-1 => 4.6.3+dfsg-0.1)
11 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 85.0 MB of archives.
After this operation, 3,993 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Err:1 https://deb.parrot.sh/parrot testing/main amd64 codium amd64 1.58.0-1625926890
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:2 https://deb.parrot.sh/parrot testing/main amd64 exim4-config all 4.94.2-6
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:3 https://deb.parrot.sh/parrot testing/main amd64 exim4-daemon-light amd64 4.94.2-6
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:4 https://deb.parrot.sh/parrot testing/main amd64 exim4-base amd64 4.94.2-6
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:5 https://deb.parrot.sh/parrot testing/main amd64 gnome-desktop3-data all 3.38.5-3
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:6 https://deb.parrot.sh/parrot testing/main amd64 libgnome-desktop-3-19 amd64 3.38.5-3
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:7 https://deb.parrot.sh/parrot testing/main amd64 libpq5 amd64 13.3-1
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:8 https://deb.parrot.sh/parrot testing/main amd64 mat2 all 0.12.1-2
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:9 https://deb.parrot.sh/parrot testing/main amd64 python-apt-common all 2.2.1
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:10 https://deb.parrot.sh/parrot testing/main amd64 python3-apt amd64 2.2.1
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Err:11 https://deb.parrot.sh/parrot testing/main amd64 python3-lxml amd64 4.6.3+dfsg-0.1
  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
Scanning application launchers
Removing duplicate launchers or broken launchers
Launchers are updated
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/c/codium/codium_1.58.0-1625926890_amd64.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/e/exim4/exim4-config_4.94.2-6_all.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/e/exim4/exim4-daemon-light_4.94.2-6_amd64.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/e/exim4/exim4-base_4.94.2-6_amd64.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/g/gnome-desktop3/gnome-desktop3-data_3.38.5-3_all.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/g/gnome-desktop3/libgnome-desktop-3-19_3.38.5-3_amd64.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/p/postgresql-13/libpq5_13.3-1_amd64.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/m/mat2/mat2_0.12.1-2_all.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/p/python-apt/python-apt-common_2.2.1_all.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/p/python-apt/python3-apt_2.2.1_amd64.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
E: Failed to fetch https://deb.parrot.sh/parrot/pool/main/l/lxml/python3-lxml_4.6.3%2bdfsg-0.1_amd64.deb  404  Not Found [IP: 2607:5300:203:7094:dddd:feed:dead:beef 443]
1 Like

Look like it is mirror problem rather than Parrot’s team problem. U should comment official repo and try use MIT repo only to see

1 Like
  1. In the moment, when I was sitting with this issue in front of me, the problem persisted - no matter what mirror I switched to. Well, I only attempted to use 3 mirrors: MIT, Clarkson, and the default Parrot mirror (based on observing output from APT, technically this will contact any available Parrot mirror server per package - but once there is a match between a package and a mirror, the path stays fixed… until all the mirrors are updated, I suppose). I didn’t try any other mirrors because doing so would throw the same error IIRC.
  2. However, I simply waited about a few days later (3 days to 1 week later), and then updating proceeded perfectly fine.

Based on this, I currently believe I experience some sort of mirror lapse/downtime.

The answer is to simply wait later (although I don’t know precisely how long) until you do not get the error message anymore in APT. Yet this explanation I’ve tried to deduce seems a bit unsatisfying to me - mostly because I don’t know or understand why this is happening, even if the answer could be very direct and is possibly not terribly deep.

Look like it is mirror problem rather than Parrot’s team problem. There are many mirrors are deployed by volunteers and community and Parrot team doesn’t maintain those mirrors directly.

404 error is HTTP error. What does it do with the kernel or kernel panic?

Why don’t you tell this to MIT admins?

1 Like

For anybody who is having 404 error today: We are having very big update and all mirrors are syncing data. 404 error will happens until the data syncing is done. This problem has nothing to do with other 404 errors before.

2 Likes

We are having very big update and all mirrors are syncing data. 404 error will happens until the data syncing is done.

Then why don’t you educate me about your fact then?

DNS stopped resolving DNS cause 404 HTTP error, really?

Yes Parrot dev team is a volunteer group, and community mirrors are different volunteer groups

Nobody in the team has permission to order other volunteer groups or other admins to do something

2 Likes

At first, you said 404 error is kernel panic error. And then you told it is problem of DNS resolve. And now you are turning it to personal offensive because you can’t prove you are right and you have nothing to say about it. Congrats! You won a medal!

1 Like

You don’t know how mirrors are syncing nor how mirror selection works, do you?

You don’t understand the server management either?

From what i see, you don’t understand the structure of APT, how it maps the settings to get .deb URL. Maybe i’m wrong here, but everything i saw is you avoided all questions of mine, all information i told and try to change the contexts to make the whole topic look like you are right without knowing the structure of Parrot’s infrastructure.

So, what is this about? Maybe you are extremely expert Linux system administrator / developer? I don’t know. Everything i see is you was entitled, you were trying to blame Parrot developers for the error and you want something like “oh dear customer that is our errors, we are sorry we should serve you better”?
You know what? Maybe you are right. We are bunch of idiots who can’t write proper code. So why don’t you try create scripts to manage the mirrors and drop mirrors that have 403/404 errors as you said a code monkey doesn’t understand how problematic it is? Let me guess: you’ll response

  1. That is not your problem, you don’t have to do it. That is our job.
  2. You don’t have time to write it.
  3. Parrot team is hiding the bugs and trying to not take responsibility for the errors

And from your last reply, i can tell you say something like:

  1. Parrot won’t have that problem if we spend more time on developing rather than replying some topics
  2. More personal offensive.

Let me tell you this: Your changing contexts and misleading the point goes to nowhere. The 404 error is HTTP error. It is not either kernel panic error nor DNS resolving error. And there are users confirmed they didn’t have this error anymore after changing mirror address. For me, i had the 404 error at the night of 06 Aug. In the next morning. I tried again the problem was fixed. So now you say i’m lying or something? Well, next time you shouldn’t avoid things when you are wrong (like, again, the 404 kernel panic) and be careful with the superiority complex.

2 Likes

I was a few updates behind and got a BOAT LOAD of 404 errors when updating. I simply ran parrot-upgrade again, which solved most, and then one final time that had zero 404 errors.

I am not a coder/developer but it all seems to be working just fine with a few runs if you’re behind.

deb https://deb.parrot.sh/parrot rolling main contrib non-free
deb https://deb.parrot.sh/parrot rolling-security main contrib non-free

I have these above repos and i am getting error while upgrading…even tried parrot-upgrade and full-upgrade but didn’t work…can someone please help me…either share working repos and mirror sites or how to fix this issue…i have been stuck at it for days. step wise guide will be appreciated. I tried to install kali-linux but it keeps failing during installation…now i am stuck with parrot but cannot download r use anything.
Thank-you

and i commented out these as well
deb-src https://deb.parrot.sh/parrot rolling main contrib non-free
deb-src https://deb.parrot.sh/parrot rolling-security main contrib non-free

but to no use…it did not let me paste links so here…i have four repos and none of them work

Change mirror.
List are here: Mirrors list - Parrot Documentation
First, enter the mirror ftp/index page and copy the gpg key link.
Then, on console:

wget -q -O - https://<themirror.repo.keyring>.gpg | gpg --import

Then, add the the repo itself to /etc/apt/sources.list.d/parrot.list and replace the old repo with the new.
finally, sudo apt update

Below is how I update on Parrot. I’m used to getting lots of 404’s from MIT and sometimes other domains as well. Eventually it weeds out the 404’s with the --fix-missing. Sometimes there are no good mirrors for a package though, in which case you can’t do anything until the mirrors get updated, and you’ll need to ctrl+c out of the script.

      mirrors_suck=true
      while [[ $mirrors_suck ]]; do
        unset mirrors_suck
        sudo parrot-upgrade
        if [[ $? != 0 ]]; then
          mirrors_suck=true
          sudo apt update --fix-missing
        fi
      done

~ Hype

1 Like

Goodness gracious what a toxic community. Hopefully the devs/admins have learnt to ignore the childish behavior here cough @user90125

Anyways, I’m still having quite a few 404’s during upgrades. Sometimes, re-running an apt upgrade will fix it, which is odd. I’m aware that these mirrors are syncing, but each one I’ve tried gives me the same error. Suppose we’ll just have to muster some patience?

We are preparing for 5.0 release so new sync can happen any time. However, as i said, Palinuro told me he was doing the mirror sync for LTS branch. And i also mentioned some mirrors are broken and it has nothing to do with 404 error while mirrors are syncing from core mirror.

Some users asked can we create script to check that error on mirrors? Well the answer is simply no. 404 is HTTP error and that means we have to check real URL of more than 90k packages on each branch. For now we are having Rolling, rolling-testing, LTS, … so we have to do like 500k HTTP requests to check. That is just not worth to do.

1 Like

Jeez, I didn’t mean to open a can of worms (of unexpected and unsolicited drama) by bringing up what I thought was a rather direct question in a non-dramatic way.

Anyways, I think I have enough contextual information to figure out what was going on with my original issue - part of that is resolving to update Parrot OS consistently and more frequently (such as once a week, instead of every 2-4 weeks).

After looking at suggestions in Bash standard output, I’ve figured out a workaround, especially if you’re trying to update Parrot OS HOME via the CLI that’s more than 1-2 weeks out of date.

  1. First, run $ sudo apt update && sudo apt full-upgrade. Allow any 404 errors to occur.
  2. Iteratively run $ sudo apt update && sudo apt full-upgrade --fix-broken until no more 404 errors show up. After each iteration, the number of packages that can’t be found should monotonically decrease to 0. Empirically, I never iterated more than 3-4 times IIRC.

This has reliably worked for me.

(However, within the last 1-2 weeks, I haven’t seen the 404 errors come back - though I’ve been somewhat more diligent with updates to Parrot OS.)