Предположим, я хочу использовать некоторые программы с графическим интерфейсом, которые были предоставлены в старой версии Ubuntu. В настоящее время я использую более позднюю версию Ubuntu, в которой нет этих программ с графическим интерфейсом. Есть ли надежный способ установить эти старые программы, не испортив существующие пакеты и не используя виртуализацию (например, VirtualBox)?
Я прочитал этот вопрос: Как мне установить Qtstalker в Ubuntu 17.10? , в котором говорится об установке Qtstalker , программы, которая была доступна в Ubuntu 12.04 Precise Pangolin, но была удалена из более поздних выпусков Ubuntu, поскольку исходная ветвь разработки прекратилась. Ответ там использует chroot
. Мне интересно: применим ли этот метод и к другим программам? Является ли chroot правильным и обычным решением проблемы?
Предположим, я хочу поиграть в XBattle , который был доступен в Ubuntu 12.04 Precise Pangolin, но впоследствии был удален. Следует ли мне использовать chroot
для воспроизведения в Ubuntu 18.04 Bionic Beaver?
Я прочитал https://packaging.ubuntu.com/html/chroots.html ,но страница, кажется, подразумевает, что chroot - это инструмент упаковки, а не то, что можно было бы использовать для регулярного запуска программ.
Другие ответы, предлагающие chroot-решение для таких проблем: Пакеты для старых выпусков больше не доступны?
Если у вас есть программное обеспечение, которое требует использования EOL (конец срока службы), работающего системы, вы должны сделать все возможное, чтобы изолировать ее от основной системы и изолировать от Интернета.
Лучший способ сделать это - настроить виртуальную машину с помощью программного обеспечения VM, такого как VirtualBox. Убедитесь, что вы отключили сетевой адаптер для контейнера.
schroot
Как вы уже знаете из моих других ответов , я очень часто использую schroot
s.
На моей персональной машине у меня есть как минимум два таких шрута - один для самопатченной версии приложения Referencer и один для инструментария GCC для старой ветки OpenWRT 12.07. Работает нормально.
Второй возможный способ запустить старое приложение - использовать для него контейнер 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
для его воспроизведения.