Программа Portage или похожая на Portage для Ubuntu

Я видел этот вопрос Могу ли я установить Portage, Pacman или другие менеджеры пакетов на Ubuntu? , что было не очень хорошей идеей устанавливать portage на Ubuntu из-за того, насколько тесно он связан находится с gentoo. Причина, по которой я хочу его установить, - это управление вещами, которые я компилирую из исходников. Я не хочу компилировать все, мне просто нужна возможность управлять тем, что я собираюсь компилировать из исходного кода. Я хотел бы иметь возможность указать на сборку репозитория git из него, а затем использовать его. Если бы я позже решил, что мне больше не нужно приложение, вместо того, чтобы помнить, где я его установил, я мог бы использовать диспетчер пакетов, чтобы удалить его. Также было бы неплохо обновить его, указав выпуск для обновления. Мне было интересно, было ли такое приложение, которое работало бы для Ubuntu?

2
задан 8 July 2021 в 22:33

1 ответ

В текущем состоянии технологий вы можете изолировать базовую систему Gentoo внутри вашей Ubuntu, используя такие контейнеры, как Docker или chroot / schroot .
Как давний поклонник Gentoo, я буду помогать вам в этом процессе.

Метод ниже объясняет, как реализовать механизм schroot . Нам нужно получить текущий моментальный снимок stage3 Gentoo, затем распаковать его и настроить в соответствии с Gentoo Handbook , но без разделения диска.

sudo apt-get update
sudo apt-get install schroot -y

cat <<EOF | sudo tee /etc/schroot/chroot.d/gentoo.conf
[gentoo]
description=Gentoo
directory=/srv/chroot/gentoo
root-users=$USER
type=directory
users=$USER
EOF

sudo mkdir -p /srv/chroot/gentoo

# add portage user and group
sudo groupadd portage -g 250
sudo useradd -M -g portage -s /bin/false -u 250 portage

cd ~/Downloads
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20210630T214504Z/stage3-amd64-20210630T214504Z.tar.xz

sudo tar -xf stage3-amd64-20210630T214504Z.tar.xz -C /srv/chroot/gentoo

Затем вы можете перейти к только что созданному Gentoo schroot, используя команду ниже:

schroot -c gentoo -u root bash
# do something, then use Ctrl+D to exit to Ubuntu

Чтобы быть уверенным, что вы установили систему Gentoo, вы можете выполнить

schroot -c gentoo cat /etc/os-release

, чтобы получить

 NAME = Gentoo 
ID = gentoo 
PRETTY_NAME = "Gentoo / Linux" 
ANSI_COLOR = "1; 32" 
HOME_URL = "https://www.gentoo.org/" 
SUPPORT_URL = "https://www.gentoo.org/support/" 
BUG_REPORT_URL = "https://bugs.gentoo.org/" 
 

Тогда в качестве примера мы можем скомпилировать небольшой графическое приложение xclock и Midnight Commander со значением по умолчанию make.conf .

schroot -c gentoo -u root -- emerge --sync
schroot -c gentoo -u root -- emerge -qv x11-apps/xclock app-misc/mc

и, наконец, запустить установленное приложение xclock

schroot -c gentoo env DISPLAY=$DISPLAY xclock

Кроме того, вы можете управлять локальными данными с помощью приложений, установленных внутри Gentoo schroot:

  1. активировать schroot с помощью schroot -c gentoo
  2. затем выполните команду вроде mc
  3. exit from schroot, используя exit в том же терминале

. Думаю, вы уловили идею. Используя такой метод, вы можете разместить Gentoo внутри вашего Ubuntu. Этот внутренний Gentoo можно настроить с помощью USE-флагов, системного профиля и т. Д. Он будет использовать Portage по вашему желанию.


Если вам нравятся приключения, вы даже можете установить полностью легкую среду рабочего стола в эту систему Gentoo и запустить ее во вложенной системе X11 под названием Xephyr. Без подробностей это можно сделать следующим образом:

schroot -c gentoo -u root -- mount /dev/shm /dev/shm -t tmpfs
schroot -c gentoo -u root -- emerge -atv mate-session-manager --exclude=dev-lang/rust
schroot -c gentoo -u root -- useradd polkitd
schroot -c gentoo -u root -- emerge -qatv mate-base/mate app-office/libreoffice-bin

mkdir ~/.gentoo # create new $HOME for Gentoo
Xephyr -screen 1360x680 :1 &
schroot -c gentoo -u $USER env HOME=~/.gentoo DISPLAY=:1 mate-session

получить что-то вроде

Gentoo mate-session on Ubuntu

1
ответ дан 28 July 2021 в 11:20

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

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