5

I am unable to add ondrej to my Ubuntu 20.04 installation.

sudo add-apt-repository ppa:ondrej/php

The above command returns the following error

Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 363, in <module>
    addaptrepo = AddAptRepository()
  File "/usr/bin/add-apt-repository", line 41, in __init__
    self.distro.get_sources(self.sourceslist)
  File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 91, in get_sources
    raise NoDistroTemplateException(
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Ubuntu/focal

Following is the LSB release information.

Distributor ID: Ubuntu 
Description:Ubuntu 20.04.3 LTS  
Release:    20.04 
Codename:       focal

Am I doing anything wrong?

End goal: I want to be able to install PHP 8.1 extensions from apt


$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
apt-cache policy -> https://pastebin.com/84HauP14
aptitude search ~o -> https://pastebin.com/VhaW9qWq
namei /etc/os-release -> https://pastebin.com/XwjZHkKa
cat /etc/os-release -> https://pastebin.com/CywsZvEh
Mihir
  • 319

3 Answers3

16

I could not get the add-apt-repository command to work so I added the repository and the signing key manually using the following commands:

  1. Open the sources.list file with a text editor (for example nano):

    sudo nano /etc/apt/sources.list
    
  2. Add the following lines to the file:

    deb https://ppa.launchpadcontent.net/ondrej/php/ubuntu focal main 
    #deb-src https://ppa.launchpadcontent.net/ondrej/php/ubuntu focal main 
    
  3. Add the repository signing key:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4f4ea0aae5267a6c 
    
Error404
  • 8,278
  • 3
  • 35
  • 60
Mihir
  • 319
2

I solved with this command:

sudo apt-get install software-properties-common

As cloclw0rk wrote:

the add-apt-repository is part of the software-properties-common apt package, so you'd need to first install that one obv. -> the keys will be imported automatically when adding the repository – clockw0rk

sotirov
  • 4,379
Aipo
  • 375
2

I solved with this command:

sudo apt-get install --reinstall libpython3-stdlib libpython3.8-minimal libpython3.8-stdlib python-apt-common python3 python3-apt python3-certifi python3-chardet python3-dbus python3-distro-info python3-gi python3-idna python3-minimal python3-pkg-resources python3-requests python3-requests-unixsocket python3-six python3-software-properties python3-urllib3 python3.8 python3.8-minimal software-properties-common

Then try to add new repository

Artur Meinild
  • 31,035