Almost every time I try to install the Software Updates, the installation gets stuck after sometime. If I try to update my from the terminal, I get a message stating could not fetch destination file. This makes updating apps

really uncomfortable and frustrating as I have to restart the updates and keep repeating the process until the update is completed successfully.

If someone has a solution to this problem, i kindly request him/her to help me out.
Thank You
Keep Smiling 😄 😄 😄

    Rajdeep_Singha Is there a script out there that somebody wrote to immediately try to re-update after abort? I'll bet there is, but I don't know it.
    **Updating success after 2nd/3rd try is common. Not being able to update at all seems strange. The mirrors don't go offline that I know of. ISP?
    Spitballin.

      19 days later

      brent
      I'm sorry. I can't quite understand what it is you're trying to say. Only I have been using my computer and I don't know if I've written any script to re-update after abort. And I need to restart the update multiple times to make it a success.

        Updates usually come out on Fridays. I have experienced delays and difficulties if I try to update on Friday. Waiting a day or two helps a lot for me.

        Rajdeep_Singha Even when there is no language barrier I'm not understood, kid. It's OK. I think in shorthand, thus write in it, too, sometimes.
        I asked if anyone ever wrote a script that you could cut-and-paste into your terminal to address the problem you were having?
        It turns out Justin wrote one, or had one, to help the exact problem you were experiencing.
        Did it help?

          brent Once eopkg is re-written I'm sure it'll handle network interrupts better than just freezing and giving up. However, until then, this certainly helps, especially for that initial upgrade from the install.

          9 days later

          Hello,

          I'm having a similar problem in updates. It usually happens when I choose to download all updates at once - the bigger ones (usually above 100mb) get stuck in the middle of the process. However, when I download each of those bigger ones separately it doesn't happen, and they're downloaded quickly.

          Is that happening with someone else?

          Thanks!

            marcusvinicius
            I don't pay much attention to the size of the weekly updates. I just restart the update, and it completes normally. Note that this is much easier to do with eopkg at the command line, rather than with the Software Center.

              Oh, I didn't know about it. Thanks for the info, @WetGeek.

              So all I have to do is enter "sudo eopkg" in the terminal, right?

              Cheers!

                Thanks, and sorry for the silly questions.

                Despite being in love with Solus, I'm still a newbie user 😂

                19 days later

                marcusvinicius
                Try this
                until sh -c 'sudo eopkg up -y';do echo "Trying again";done
                Even when you update from the terminal, the update gets stuck sometimes.
                This command line should solve the problem. It slved mine!!🙂🙂

                  4 months later
                  • [deleted]

                  I've been using Solus since 3.9 and this has been a problem to me as well in every machine that i've run Solus and under every connection.

                  On my system the command 'sudo eopkg up -y' drops the connection about every 35 megs, and I have to babysit the update so I can kill eopkg and restart. I got the below auto-restart command from a message here, but I could not re-find the message to reply.

                  until sh -c 'sudo eopkg up -y';do echo "Trying again";done

                  The command does not work for me as presented. With 'sudo' in the loop the user is prompted for a password every time the connection drops, which means I still have to babysit the update. My adjustment is to take 'sudo' out of the command, put the command in a script, make it executable, and 'sudo' the script.

                  Contents of the script file:

                  #!/bin/bash
                  until sh -c 'eopkg up -y';do echo "Trying again";done

                  I named the script file solusupdate.scr, so the command to run it is:

                  sudo /path-to-the-script/solusupdate.scr

                  Every time the connection drops it takes about 5 min to time-out so the auto-update adds significant time, but it's still better that babysitting.

                  Mike

                  If you don't want to use the script run:

                  sudo su
                  until sh -c 'eopkg up -y';do echo "Trying again";done
                  exit

                  I created a little quick and dirty script to wrap the update method above, along with updating 3rd party packages (using eopkg3p), snap, and flatpak. Input for improvements are always welcome.

                  #!/bin/sh
                  #set -x
                  
                  ## Variables
                  _mypid=$$;echo -e "\nMy PID: ${_mypid}"
                  
                  ## Trap
                  trap 'echo -e "\nCTRL-C detected, killing ... \n";kill -9 ${_mypid}' INT
                  
                  ## Check for sudo
                  if ! [ $(id -u) = 0 ]; then
                     echo -e "\nI am not root!\n\nPlease run this script again with sudo ... \n"
                     exit 1
                  fi
                  
                  ## Eopkg
                  echo -e "\nRunning eopkg upgrade ... \n"
                  until sh -c 'eopkg upgrade -y'
                  do
                  	echo "Trying eopkg upgrade again ... "
                  done
                  echo -e "\nEopkg upgrade completed ... \n"
                  
                  ## Eopkg3p
                  _finish="yes"
                  _e3p_count=0
                  _e3p_isinstalled=$(which eopkg3p > /dev/null 2>&1;echo $?)
                  if [ ${_e3p_isinstalled} -eq 0 ];then
                  	echo -e "\nRunning eopkg3p upgrade ... \n"
                  	until sh -c 'eopkg3p upgrade -y'
                  	do
                  		_e3p_count=$((_e3p_count+1))
                  		if [ ${_e3p_count} -eq 3 ];then
                  			echo -e "\nSomething went wrong, exiting loop ... \n"
                  			_finish="no"
                  			break
                  		else
                  			echo -e "\nTrying 3rd party upgrade again ... retry: ${_e3p_count}\n"
                  		fi
                  	done
                  	if [ "${_finish}" = "no" ];then
                  		echo -e "\nEopkg3p upgrade failed ... please investigate ... \n"
                  	else
                  		echo -e "\nEopkg3p upgrade completed ... \n"
                  	fi
                  else
                  	echo -e "\neopkg3p is not installed, skipping 3rd party upgrade ... "
                  	echo -e "If you wish to install it, run this command: \nsudo -H pip3 install eopkg3p\n"
                  fi
                  
                  ## Snap
                  echo -e "\nUpdating snap ecosystem ... \n"
                  snap refresh
                  echo -e "\nSnap update complete ... \n"
                  
                  ## Flatpak
                  echo -e "\nFlatpak ecosystem maintenance ... \n"
                  echo -e "Checking for and removing any unused flatpak items ... \n"
                  flatpak uninstall --unused
                  echo -e "Flatpak unused removal complete ... \n"
                  echo -e "Updating flatpak apps ... \n"
                  flatpak update -y
                  echo -e "\nFlatpak update complete ... \n"
                  
                  ## Completion
                  echo -e "\nDONE\n\n"

                  I added the trap, because I found sometimes it was difficult to kill the until loop if you needed to for some reason.

                  I usually throw this in ~/bin/solus-upgrade-all.sh add the execute bits chmod +x ~/bin/solus-upgrade-all.sh, and then run it with sudo ~/bin/solus-upgrade-all.sh. Hopefully this is useful for someone.

                  • [deleted]

                  So for the time being we have to use a script to tackle this problem or babysitting the updates..?

                    [deleted] Yes. Until:

                    • Solus's volunteer developers find the time to re-write eopkg AND/OR
                    • Solus finds another institution/company willing to provide free bandwidth for the repository

                    In my experience,the first update after a fresh install can be painful in this way, but regular weekly updates are usually painless. Your experience may differ.