Является ли chroot правильным способом использования пакетов из предыдущих выпусков?

Предположим, я хочу использовать некоторые программы с графическим интерфейсом, которые были предоставлены в старой версии 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-решение для таких проблем: Пакеты для старых выпусков больше не доступны?

2
задан 17 November 2020 в 07:23

2 ответа

Если у вас есть программное обеспечение, которое требует использования EOL (конец срока службы), работающего системы, вы должны сделать все возможное, чтобы изолировать ее от основной системы и изолировать от Интернета.

Лучший способ сделать это - настроить виртуальную машину с помощью программного обеспечения VM, такого как VirtualBox. Убедитесь, что вы отключили сетевой адаптер для контейнера.

1
ответ дан 3 January 2021 в 22:49

schroot

Как вы уже знаете из моих других ответов , я очень часто использую schroot s.
На моей персональной машине у меня есть как минимум два таких шрута - один для самопатченной версии приложения Referencer и один для инструментария GCC для старой ветки OpenWRT 12.07. Работает нормально.

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

для его воспроизведения.

1
ответ дан 3 January 2021 в 22:49

Другие вопросы по тегам:

Похожие вопросы: