ChatGPT сказал:
Отлично, ты хочешь запустить gchimp, которая требует GLIBC 2.35, на Ubuntu 20.04 (где по умолчанию glibc 2.31). Самый удобный, легковесный и быстрый способ — использовать контейнер systemd-nspawn
с образом Ubuntu 22.04 (где уже есть glibc 2.35).
Вот пошаговая инструкция, как быстро это сделать. Безопасно, без изменения основной системы.
🛠 Шаг 0. Установи нужные пакеты
Убедись, что у тебя есть systemd-container
и debootstrap
:
bashsudo apt update sudo apt install systemd-container debootstrap
Если systemd-nspawn
не установлен, он появится с пакетом systemd-container
.
📦 Шаг 1. Создай контейнер с Ubuntu 22.04
bashsudo debootstrap --arch=amd64 jammy /var/lib/machines/ubuntu22 http://archive.ubuntu.com/ubuntu/
Это создаст базовую систему Ubuntu 22.04 (кодовое имя jammy
) в папке /var/lib/machines/ubuntu22
.
🔧 Шаг 2. Настрой контейнер (по желанию)
Подключи сеть и смонтируй домашнюю папку, если нужно:
bashsudo systemd-nspawn -D /var/lib/machines/ubuntu22 --network-veth -b
Или просто:
bashsudo systemd-nspawn -D /var/lib/machines/ubuntu22
📥 Шаг 3. Внутри контейнера: установить зависимости
Ты теперь внутри контейнера (root@ubuntu22:~#
):
bashapt update apt install -y git build-essential curl libglib2.0-dev
Установи Golang, если его нет:
bashapt install -y golang
Или качай с сайта:
bashcurl -LO https://go.dev/dl/go1.22.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.22.2.linux-amd64.tar.gz
export PATH=/usr/local/go/bin:$PATH
🐒 Шаг 4. Установи gchimp
bashgit clone https://github.com/khanghugo/gchimp.git
cd gchimp
go build -o gchimp
Теперь можешь запускать ./gchimp
, не беспокоясь о glibc — в контейнере уже используется 2.35.
🔁 Шаг 5. Повторный запуск контейнера
Каждый раз запускать контейнер можно так:
bashsudo systemd-nspawn -D /var/lib/machines/ubuntu22
Чтобы использовать --bind=/host/path:/container/path
или --bind-ro
, если хочешь передавать файлы внутрь.
🧠 Совет: сделать alias
Добавь в .bashrc
или .zshrc
:
bashalias chimpbox='sudo systemd-nspawn -D /var/lib/machines/ubuntu22 --bind=$HOME:/mnt/host'
Так ты сможешь из контейнера запускать gchimp
с доступом к домашнему каталогу.