LINUX.ORG.RU

как правильно сделать chroot


0

1

Подскажите пожалуйста как правильно сделать chroot
У меня на диске была папка в которой было дерево каталогов и файлы,
как бы мини система. Я делал в неё chroot двумя способами
Первый:
просто chroot путь к папке

Второй:
chroot путь к папке env -i HOME=/root TERM=«$TERM» PS1='\u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login

В обоих случая при работе использовались библиотеки, файлы и программы
из основной системы, то есть полноценного chroot не было.

Как сделать полностью chroot так что бы использовались файлы только из папки куда был сделан chroot

★★
Ответ на: комментарий от Nao

Врёте вы всё. Наверное make install не в чруте сделали или ещё чего намудрили.


Честно не вру make install делал в chroot!!!

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

Собирал LFS по книге, так вот когда уже собирал окончательную систему
сделал chroot туда вторым вариантом, как в книге написано и компилил проги там, всё было прекрасно. Когда всё сделал и отсоединил винт установив его на другое железо всё работало, но когда попытался на этом другом компьютере установить прогу из исходников то ничего не получилось. Команда ./configure просто как бы зависала ничего при этом не выводив. В общем после 4 дней копания нашёл причину она была в библиотеке /usr/lib/libgmp.so.3.6.0

Сейчас расскажу каким образом.

Эту библиотеку использует команда expr, в основной системе версия expr
была не такая как в LFS. В основной системе она не использовала эту библиотеку но библиотека эта есть только другой версии 3.4.4
Версита 3.6.0 оказалась не рабочая
Так вот когда я на компе попытался откомпилить прогу, скрипт ./configure дошёл до места где использовалась команда expr она сработала с ошибкой в результате чего стала выполняться часть скрипта которая наверное никогда при конфигурировании не выполняется он просто стал вызывать сам себя и попал при этом в цикл, получалось что он какбы завис. А когда я компилил в chroot то библиотека использовалась не LFS системы версии 3.6.0 а основной системы версии 3.4.4 которая была рабочей и скрипт ./configure работал нормально.
Получается что chroot я сделал а библиотеки всё равно из основной системы используются.

v4567 ★★
() автор топика
Ответ на: комментарий от Nao

> Врёте вы всё. Наверное make install не в чруте сделали или ещё чего намудрили.
Может он в / чрутнулся? Всё честно. :D

Lumi ★★★★★
()
Ответ на: комментарий от v4567

> Получается что chroot я сделал а библиотеки всё равно из основной системы используются.

Нет, не получается. Наверняка дело было в другом.

Lumi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.