Estou tentando instalar um pacote que foi removido do meu release do Ubuntu (17.10). Especificamente, estou tentando instalar libpng12-dev , que é uma dependência de outro programa que eu sou tentando instalar, muito semelhante ao que esta pergunta é sobre .
Como discutido nessa pergunta, eu posso instalar manualmente o pacote facilmente, mas usar um gerenciador de pacotes é a maneira preferida de instalar pacotes, com os quais eu concordo.
Eu tentei adaptar a resposta do ffmurray e combiná-la com as instruções em help.ubuntu.com , apresentando isso:
sudo add-apt-repository "deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/ xenial main"
No entanto, apt-get update
me dá este erro:
The repository 'http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng xenial Release' does not have a Release file.
Não tenho certeza do que está errado ou se algo como isso pode até funcionar.
Usando o apt (ou outros gerenciadores de pacotes), existe um modo apropriado para instalar pacotes de versões anteriores do Ubuntu como essa? Eu percebo que compatibilidade e estabilidade se tornam suspeitas ao fazer isso, mas eu ainda gostaria de uma maneira semi-limpa de fazê-lo.
Note que estou procurando uma resposta geral para os pacotes de versões anteriores, não apenas para a libpng.
Na página do pacote libpng12-dev , dentro da seção "links for libpng12-dev", Subseção "download source package", há um link para a descrição do pacote . Em um palpite, eu removi o nome do arquivo do endereço do link , o que me permitiu navegar o arquivo e descubra algumas convenções.
Acontece que eu estava especificando demais o URL do site e eu só precisava da parte http://site.domain/ubuntu/
do URL. O restante é resolvido com o fornecimento do nome do lançamento do Ubuntu (xenial), categoria (main) e pacote em apt-get
(libpng12-dev).
Então, em vez disso, eu deveria ter feito:
sudo add-apt-repository "deb http://mirrors.kernel.org/ubuntu/ xenial main"
seguido por
sudo apt-get update
Depois disso,
sudo apt-get install libpng12-dev
Corri na perfeição!
Não sei ao certo como isso é uma solução hacky. Eu sinto que construir / instalar a partir do código-fonte é uma forma mais robusta de lidar com pacotes mais antigos, mas não tenho certeza se isso é verdade, nem como fazê-lo.
Agora que eu sei o que estou vendo, esta resposta sobre os PPAs parece apoiar que isso é, na verdade, uma boa maneira de adicionar pacotes de versões anteriores.
Se há uma maneira melhor, eu gostaria de saber.