오래된 Ubuntu를 설치하여 사용해야 되는 상황이 있었는데, apt-get 명령으로 원하는 패키지를 설치할 수가 없었다.
sudo apt-get update
...
Err http://us.archive.ubuntu.com lucid-updates/restricted Sources
404 Not Found [IP: 91.189.91.23 80]
Err http://us.archive.ubuntu.com lucid-updates/universe Packages
404 Not Found [IP: 91.189.91.23 80]
Err http://us.archive.ubuntu.com lucid-updates/universe Sources
404 Not Found [IP: 91.189.91.23 80]
Err http://us.archive.ubuntu.com lucid-updates/multiverse Packages
404 Not Found [IP: 91.189.91.23 80]
Err http://us.archive.ubuntu.com lucid-updates/multiverse Sources
404 Not Found [IP: 91.189.91.23 80]
...
위와 같이 패키지 DB를 업데이트하지 못하고, sudo apt-get install g++ 하면 아래와 같은 메시지를 출력한다.
ppiazi@ubuntu:~$ sudo apt-get g++
E: Invalid operation g++
ppiazi@ubuntu:~$ sudo apt-get install g++
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package g++ is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package g++ has no installation candidate
해결책은 아래와 같다.
/etc/apt/sources.list 파일의 내용 중 "archive.ubuntu.com"를 "old-releases.ubuntu.com" 로 변경해 주면 된다.
sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
로 변경한 이후, sudo apt-get update 및 dist-upgrade 수행한 이후 패키지 설치를 하면된다.