2 votes

Le chroot est-il la bonne façon d'utiliser les paquets des versions précédentes ?

Supposons que je veuille utiliser certains programmes d'interface graphique qui étaient fournis dans une ancienne version d'Ubuntu. J'utilise actuellement une version ultérieure d'Ubuntu qui ne fournit pas ces programmes GUI. Existe-t-il un moyen fiable d'installer ces anciens programmes sans perturber mes paquets existants et sans avoir à utiliser la virtualisation (par exemple VirtualBox) ?

J'ai lu cette question : Comment installer Qtstalker sur Ubuntu 17.10 ? qui consiste à installer Qtstalker un programme qui était disponible dans Ubuntu 12.04 Precise Pangolin, mais qui a été supprimé des versions ultérieures d'Ubuntu parce que l'amont a cessé le développement. La réponse utilise chroot . Je me demande : la méthode est-elle généralement applicable à d'autres programmes également ? Le chroot est-il la solution appropriée et habituelle au problème ?

Supposons que je veuille jouer XBattle qui était disponible dans Ubuntu 12.04 Precise Pangolin, mais qui a été supprimé par la suite. Dois-je utiliser chroot pour le jouer dans Ubuntu 18.04 Bionic Beaver ?

Je lis https://packaging.ubuntu.com/html/chroots.html mais la page semble impliquer que chroot est un outil d'empaquetage plutôt que quelque chose que l'on utiliserait pour exécuter des programmes régulièrement.


D'autres réponses suggèrent une solution chroot à de tels problèmes : Les paquets pour les anciennes versions ne sont plus disponibles ?

1voto

Nmath Points 8433

Si vous avez un logiciel qui nécessite l'utilisation d'un système d'exploitation en fin de vie, vous devez faire tout votre possible pour l'isoler de votre système principal et le mettre en quarantaine par rapport à Internet.

La meilleure façon de procéder est de configurer une machine virtuelle à l'aide d'un logiciel VM comme VirtualBox. Veillez à désactiver la carte réseau du conteneur.

1voto

N0rbert Points 86925

schroot

Comme vous le savez déjà mes autres réponses J'utilise schroot très souvent.
Sur ma machine personnelle, j'ai au moins deux schroots de ce type - un pour la version auto-patchée de l'application Referencer et un pour la chaîne d'outils GCC de l'ancienne branche OpenWRT 12.07. Tout fonctionne normalement.

Docker

La deuxième façon d'exécuter une ancienne application est d'utiliser la fonction Conteneur Docker pour ça. Avec votre xbattle c'est possible avec la création de Dockerfile comme suit

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

et création d'un lanceur spécial script pour celui-ci

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

pour le jouer.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X