chroot가 이전 릴리스의 패키지를 사용하는 적절한 방법입니까?

Nov 16 2020

이전 버전의 Ubuntu에서 제공된 일부 GUI 프로그램을 사용하고 싶다고 가정 해 보겠습니다. 현재 이러한 GUI 프로그램을 제공하지 않는 Ubuntu의 최신 버전을 사용하고 있습니다. 기존 패키지를 엉망으로 만들고 가상화 (예 : VirtualBox)를 사용하지 않고도 이러한 오래된 프로그램을 신뢰할 수있는 방법으로 설치할 수 있습니까?

이 질문을 읽었습니다 . Ubuntu 17.10에 Qtstalker를 어떻게 설치합니까? , Ubuntu 12.04 Precise Pangolin에서 사용할 수 있었던 프로그램 인 Qtstalker 를 설치하는 것에 관한 것이지만 업스트림이 개발을 중단했기 때문에 이후 Ubuntu 릴리스에서 제거되었습니다. 거기에 대한 대답은 chroot. 이 방법이 일반적으로 다른 프로그램에도 적용 가능한가요? chroot가 문제에 대한 적절하고 일반적인 해결책입니까?

Ubuntu 12.04 Precise Pangolin에서 사용할 수 있었지만 이후에 제거 된 XBattle 을 재생한다고 가정 합니다. chrootUbuntu 18.04 Bionic Beaver에서 재생 하는 데 사용해야합니까 ?

나는 읽었다 https://packaging.ubuntu.com/html/chroots.html그러나 페이지는 chroot가 프로그램을 정기적으로 실행하는 데 사용하는 것이 아니라 패키징 도구라는 것을 암시하는 것 같습니다.


이러한 문제에 대한 chroot 솔루션을 제안하는 다른 답변 : 이전 릴리스 용 패키지를 더 이상 사용할 수 없습니까?

답변

1 Nmath Nov 17 2020 at 04:44

EOL (단종) 운영 체제를 사용해야하는 소프트웨어가있는 경우이를 기본 시스템에서 격리하고 인터넷에서 격리하기 위해 최선을 다해야합니다.

이를 수행하는 가장 좋은 방법은 VirtualBox와 같은 VM 소프트웨어를 사용하여 가상 머신을 설정하는 것입니다. 컨테이너에 대한 네트워크 어댑터를 비활성화했는지 확인하십시오.

1 N0rbert Nov 17 2020 at 06:26

schroot

당신이 이미 알고있는 것처럼 내 다른 답변 , 내가 사용 schroot자주들.
내 개인 컴퓨터에는 이러한 schroot가 두 개 이상 있습니다. 하나는 자체 패치 버전의 Referencer 애플리케이션 용이고 다른 하나는 이전 OpenWRT 12.07 브랜치 용 GCC 툴체인 용입니다. 정상적으로 작동합니다.

Docker

이전 애플리케이션을 실행하는 두 번째 가능한 방법은 Docker 컨테이너 를 사용 하는 것입니다. xbattle패키지를 사용하면 다음과 같이 Dockerfile을 생성 할 수 있습니다.

sudo apt-get install docker.io
sudo usermod -a -G docker $USER
# reboot

mkdir ~/docker-xbattle
cat > ~/docker-xbattle/Dockerfile << EOF
FROM ubuntu:12.04
RUN apt-get update
RUN apt-get install -y xbattle
CMD /usr/games/xbattle -black me -farms 5 -militia 5 -decay 5 -hills 9  -hex
EOF

docker build -t ubuntu:xbattle ~/docker-xbattle

이를위한 특별한 런처 스크립트 생성

docker run -it -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --user="$(id --user):$(id --group)" ubuntu:xbattle

그것을 재생합니다.