Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to install PHP packages with apt-get, gives "E: Unable to locate package"

I'm actually setting up my vagrant vm (trusty-64, Ubuntu distribution v14.04) and encountered an issue during the installation of all ppa:ondrej/php packages.

I tried the default way to install php...

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install php7.3

But it still has this issue:

E: Unable to locate package php7.3
E: Couldn't find any package by regex 'php7.3'

It seems he's ignoring the added repository (it's not listed in apt-get update) but the command seems fine:

gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

Actually, i have no clue whats wrong. Maybe someone has an idea and can explain it? Thanks a lot.

UPDATE:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.6 LTS
Release:        14.04
Codename:       trusty

used ubuntu/trusty64 vagrant box

It's the most common vagrant box with few well predefined settings.

source.list

/etc/apt/sources.list.d/ondrej-php-trusty.list
/etc/apt/sources.list.d/ondrej-php-trusty.list.save

It's in the source list, but it is still ignored. E.g. apt-cache search php7 gives always no result instead of an list.

I also destroyed the box an setup a new one.. but still the same issue.

like image 492
Nico Richter Avatar asked May 11 '19 10:05

Nico Richter


People also ask

How do I fix the apt-get command not found?

After installing the APT package, check the /usr/bin/ directory to ensure if it had properly installed. If the file is empty, then run the locate apt-get command again. If no result is shown, there is no alternative but to reinstall the operating system. This might fix the problem.

What's the difference between apt and APT-get?

What is the difference between apt and apt-get? To put it simply, apt is the command meant for the Linux user, and apt-get is the command meant for system use. In technical terms, this means that apt provides a high level interface for package management and apt-get provides a low level interface.


2 Answers

I looked at the repository and it seems like 14.04 is no longer supported. Even though trusty is listed in the dist packages, when I looked into the pools there is nothing for ubuntu 14.04.

Take a look here:

http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php7.3/

That probably explains why the repository is not being included when you run

sudo apt-get update

I guess that server update can't wait any longer ;)

like image 87
Dagmar Avatar answered Oct 18 '22 19:10

Dagmar


Evening,

Are you running this as a bare metal system or a vagrant container?

As per the instructions from the PPA Launchpad webiste

Then you run:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

There is also a warning listed:
WARNING: add-apt-repository is broken with non-UTF-8 locales,
see https://github.com/oerdnj/deb.sury.org/issues/56 for workaround
# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

Are you running a non-default locale?

There is also a post over on ASK Ubuntu and also Here which may be useful to you.

You could also double check that Ondřej Surý's PPA is in you sources list.

Try locate sources.list or locate *.list and try to find the repo.

There is a guide located over here which might also be helpful.

like image 1
Adan Rehtla Avatar answered Oct 18 '22 20:10

Adan Rehtla