Oracular's release-specific upgrader is not working

I am on 24.04 and I wish to upgrade specifically and only to 24.10 for reasons. Yes, I know that 24.10 is EOL, but I can deal with that. Around the web, people who’ve been having trouble upgrading to/from EOL releases had success by downloading http://{archive,old-releases}.ubuntu.com/ubuntu/dists/<CODENAME>-updates/main/dist-upgrader-all/current/<CODENAME>.tar.gz, so I downloaded the one for Ubuntu 24.10 Oracular Oriole from here and unzipped it to /var/tmp/oracular. When I run

cd /var/tmp/oracular
sudo ./oracular --frontend=DistUpgradeViewText

I get


Reading cache

Checking package manager
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Hit http://security.ubuntu.com/ubuntu noble-security InRelease                 
Hit http://us.archive.ubuntu.com/ubuntu noble InRelease                        
Hit http://us.archive.ubuntu.com/ubuntu noble-updates InRelease                
Hit http://us.archive.ubuntu.com/ubuntu noble-backports InRelease              
Get:1 http://security.ubuntu.com/ubuntu noble-security/restricted Sources [65.4 kB]
Get:2 http://security.ubuntu.com/ubuntu noble-security/multiverse Sources [20.9 kB]
Get:3 http://security.ubuntu.com/ubuntu noble-security/universe Sources [343 kB]
Get:4 http://security.ubuntu.com/ubuntu noble-security/main Sources [236 kB]   
Get:5 http://us.archive.ubuntu.com/ubuntu noble/restricted Sources [18.7 kB]   
Get:6 http://us.archive.ubuntu.com/ubuntu noble/multiverse Sources [299 kB]    
Get:7 http://us.archive.ubuntu.com/ubuntu noble/main Sources [1,384 kB]        
Get:8 http://us.archive.ubuntu.com/ubuntu noble/universe Sources [19.8 MB]     
Get:9 http://us.archive.ubuntu.com/ubuntu noble-updates/restricted Sources [70.1 kB]
Get:10 http://us.archive.ubuntu.com/ubuntu noble-updates/universe Sources [513 kB]
Get:11 http://us.archive.ubuntu.com/ubuntu noble-updates/multiverse Sources [27.4 kB]
Get:12 http://us.archive.ubuntu.com/ubuntu noble-updates/main Sources [521 kB] 
Get:13 http://us.archive.ubuntu.com/ubuntu noble-backports/main Sources [5,960 B]
Get:14 http://us.archive.ubuntu.com/ubuntu noble-backports/universe Sources [13.4 kB]
Fetched 23.4 MB in 0s (0 B/s)                                                  
Reading package lists... Done    
Building dependency tree... Done 
Reading state information... Done

Checking for installed snaps

Calculating snap size requirements

Updating repository information

No valid mirror found 

While scanning your repository information no mirror entry for the 
upgrade was found. This can happen if you run an internal mirror or 
if the mirror information is out of date. 

Do you want to rewrite your 'sources.list' file anyway? If you choose 
'Yes' here it will update all 'noble' to 'oracular' entries. 
If you select 'No' the upgrade will cancel. 

Continue [yN] y

Generate default sources? 

After scanning your 'ubuntu.sources' no valid entry for 'noble' was 
found. 

Should default entries for 'oracular' be added? If you select 'No', 
the upgrade will cancel. 

Continue [yN] y

Error in sys.excepthook:
Traceback (most recent call last):
  File "/var/tmp/oracular/DistUpgrade/DistUpgradeViewText.py", line 138, in _handleException
    apport_crash(type, value, tb)
  File "/var/tmp/oracular/DistUpgrade/DistUpgradeApport.py", line 57, in apport_crash
    apport_excepthook(type, value, tb)
TypeError: apport_excepthook() missing 1 required positional argument: 'exc_tb'

Original exception was:
Traceback (most recent call last):
  File "/var/tmp/oracular/./oracular", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/var/tmp/oracular/DistUpgrade/DistUpgradeMain.py", line 239, in main
    if app.run():
       ^^^^^^^^^
  File "/var/tmp/oracular/DistUpgrade/DistUpgradeController.py", line 1993, in run
    return self.fullUpgrade()
           ^^^^^^^^^^^^^^^^^^
  File "/var/tmp/oracular/DistUpgrade/DistUpgradeController.py", line 1829, in fullUpgrade
    if not self.updateDeb822Sources():
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/tmp/oracular/DistUpgrade/DistUpgradeController.py", line 966, in updateDeb822Sources
    self._addDefaultSources()
  File "/var/tmp/oracular/DistUpgrade/DistUpgradeController.py", line 732, in _addDefaultSources
    e.suites = sorted([self.toDist, self.toDist + '-updates'],
    ^^^^^^^^
AttributeError: property 'suites' of 'ExplodedDeb822SourceEntry' object has no setter

This what my ubuntu.sources file contains:

Types: deb
URIs: http://us.archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

How do I fix this? I’m thinking I have two possible solutions:

  1. Patching the Python library file that provides ExplodedDeb822SourceEntry.
  2. Rewrite ubuntu.sources in such a way that the upgrader find valid sources in it.

#2 looks like it’ll be easier, but I don’t know where to start.

I think I am right in saying that on this platform we do not support Ubuntu releases that are end of life.

I hope I am not breaking the rule by saying: “That is not the way I would do it.”

2 Likes

The Support and Help section guide lists the releases we support.

That list includes Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, and Ubuntu 25.10 only. No ESM, EOL or even the development release are listed there.

Ubuntu 24.10 is End of Life !

This is a follow-up to the End of Life warning sent earlier to confirm that as of 10th July 2025, Ubuntu 24.10 is no longer supported.

Thus I have closed the question, as we ENDED SUPPORT for that release. Your request is outside of Support and Help guidelines.