Пытаясь пересадить bash в / mnt для chroot, что хочет bash, чтобы работать?

У меня есть этап 3 gentoo tarball .. извлечен он в / mnt, который размещает / dev / sda3. Хотя после распаковки не было никакого бина и никаких признаков баха. Насколько я знаю, остальная конфигурация включает в себя эту фальшивую среду gentoo, чтобы настроить ее на начальном этапе. Итак … Я полагаю, что смогу пересадить баш из моей бегущей Fedora. Это одна из проблем для большей проблемы, но одна часть за раз. Я слышал кое-что о нескольких файлах в lib или lib64, но не был ясен, по каким причинам ..

edit: еще не использовали 'make'. уточнить, где я нахожусь

исправлять

Прежде всего, никогда не пересаживайте / копируйте / связывайте и т. Д. Живой инструмент в рабочую зону stage3. Таким образом, давайте начнем. Во-первых, я предполагаю, что /dev/sda3 – пустой раздел. Если не:

  1. Создайте /dev/sda3 с помощью инструмента, такого как GParted.
  2. Если вы уже сделали Шаг 1, mke2fs -j /dev/sda3 : mke2fs -j /dev/sda3
  3. mkdir /mnt/gentoo && mount /dev/sda3 /mnt/gentoo
  4. cd /mnt/gentoo
  5. wget http://distfiles.gentoo.org/releases/amd64/autobuilds/20150604/stage3-amd64-20150604.tar.bz2 -P /mnt/gentoo (Предположим, арка amd64).
  6. tar xvjpf stage3-*.tar.bz2 --xattrs
  7. Продолжить этап – Раздел 2

аргументация

Тарбол Stage 3 будет содержать рабочий Bash при распаковке. Следующие команды в разделе 1.4 «Установка базовой системы Gentoo :

 chroot /mnt/gentoo /bin/bash source /etc/profile export PS1="(chroot) $PS1" 

будет вводить чистый корень изменения для построения / установки.


Следуя руководству, вы предполагаете, что Gentoo – еще одна живая система. В вашем случае единственное, что вы должны игнорировать, это раздел конфигурации GRUB, потому что Fedora содержит рабочий Grub. Таким образом, параметр загрузки для Gentoo должен быть добавлен в опции Grub Fedora.

Обновить

Согласно комментарию, каждый дистрибутив linux содержит файл profile . Он хранится в разных местах в зависимости от распределения. В случае Gentoo он хранится в каталоге /etc потому что в Gentoo каждый файл конфигурации должен быть настроен. Цитирование вне Linux из справочника Scratch :

Программа оболочки / bin / bash (далее называемая только «оболочкой») использует коллекцию загрузочных файлов для создания среды. Каждый файл имеет конкретное использование и может влиять на логин и интерактивные среды по-разному. Файлы в каталоге / etc обычно предоставляют глобальные настройки. Если эквивалентный файл существует в вашем домашнем каталоге, он может переопределять глобальные настройки.


Таким образом, строка 2, source команда, отделяет среду системы сборки (в вашем случае Fedora) от среды, содержащейся в распакованном tarball, который вы ввели с помощью команды chroot . Это гарантирует, что никакие внешние инструменты сборки, то есть bash , configure , make , не смогут «загрязнить» процесс сборки (см. Мой комментарий выше). Другими словами: Компилятор configure, make и gcc, используемый для сборки системы, будет находиться внутри chroot .

Что касается строки 3, экспорт $PS1 prints (chroot) root@host #/

Это значит, что люди, следуя Справочнику, которые любят переходить через TTY или графические консоли, чтобы прочитать всю документацию, можно узнать, где создаются / обновляются chroot, которые они создают / обновляют …

Чтобы пересадить bash из вашей запущенной Fedora, вам понадобится не только исполняемый файл bash, но и все библиотеки, от которых он зависит. Это будет неудобно и может конфликтовать с файлами Gentoo.

Получите статически связанную оболочку, так что вы можете просто добавить один диск в свой chroot, который будет работать сам по себе. Я не думаю, что Fedora предоставляет любые; вы можете получить один из нескольких из Debian: bash-static , sash (нет версии командной строки, но несколько полезных встроенных функций, таких как cp , rm , mount и т. д.), busybox-static (имеет базовую версию командной строки и множество встроенных функций) , zsh-static (лучше версия командной строки, чем bash, и несколько полезных встроенных zmodload zsh/files которые вы можете активировать с помощью zmodload zsh/files ). Чтобы извлечь файл из пакета .deb , используйте, например,

 ar p zsh-static_5.0.7-5_amd64.deb | tar xJO ./bin/zsh5-static >/path/to/zsh-static 

Дело здесь в том, чтобы иметь некоторые инструменты для отладки для вашего chroot. Конечно, вы должны исправить проблему и правильно установить bash .