LINUX.ORG.RU

для новичков. chroot

 


1

1

просьба не писать пожелания смерти и самозабанивания. тема chroot. не могу понять как работает.

есть usblive диск. есть ssd в пк.
гружусь с usblive.
зрю ssd. 
lsblk 
sda
  sda1

создаю директорию
mkdir vdir
mount /dev/sda1 vdir/
 
что дальше? 
надо чтобы файловые системы тоже совпадали на usblive и на ssd?

Зависит от того, что ты хочешь сделать в chroot. Тебе может понадобиться монтирование /dev, /sys, procfs. А может не понадобиться.

Про файловые системы не понятно. Переформулируй вопрос.

anonymous8 ★★
()
Последнее исправление: anonymous8 (всего исправлений: 1)
Ответ на: комментарий от anonymous8

у него там кали и фат. ну это совсем уж дно такое вопросы задавать, хватит его кормить

anonymous
()

просьба не писать пожелания смерти и самозабанивания.

ок.
чего спросить то хотел ?

Deleted
()

Научись, пожалуйста понимать как именуются команды в Linux и почему.

chroot - change root, смена корня.

chroot может понадобиться в разных случаях. Зачастую он применяется в случае, когда система куда будет делаться chroot не запускается или запустить её невозможно.

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

Помимо монтирования корневой файловой системы установленного Linux, куда будет делаться chroot нужно так же смонтировать все прочие части файловых систем, если они на других разделах, а затем смонтировать в соответствующие поддиректории файловые системы sys, proc, dev.

mount -o bind /dev /mnt/chroot/dev
mount -o bind /proc /mnt/chroot/proc
mount -o bind /sys /mnt/chroot/sys

Вот честно я не понимаю, почему ты не можешь прочитать уже написанные руководства, например вот: https://wiki.gentoo.org/wiki/Chroot/ru

И уже если там тебе что-то не понятно, то придти с конкретным вопросом на форум.

Почитай пожалуйста, а потом приходи с вопросом.

И лучше, если ты придёшь и скажешь: «Мне нужно сделать то-то и то-то, вот в такой ситуации», а не абстрактно.

anonymous
()
Ответ на: комментарий от anonymous8

должны ли совпадать файловые системы дисков с которого чирутишься и на который чирутишься. допустим зашел с usbLive чирутнулся в директорию на ssd. файловые системы usblive и ssd должны совпадать или это не важно?

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

Ты понимаешь что такое «смена корня»?

Понимаешь как работает Linux?

У тебя странные вопросы.

Давай из далека.

У тебя стартует загрузчик, считывает в память ядро, Initramfs, далее передаёт ядру параметры, указанные в загрузчике, в частности параметр root=/dev/что-то_там - это корневая файловая системе, которую должно смонтировать ядро, где собственно и находится система.

И вот загрузчик у тебя передал управление ядру, на этапе старта ядра, если есть и Initramfs, то в начале ядро распакует Initramfs в память, в initramfs находится минимальная система, которая может выполнить подготовительные действия для монтирования файловой системы, указанной в параметре root=.

Так вот в этой минимальной системе находятся утилит, скрипты и модуля ядра, загружая которые ядро получит доступ к драйверу контроллера жёстких дисков и драйверу корневой файловой системы.

Далее после загрузки нужных модулей ядро смонтирует файловую систему, указанную в параметре root= и сделает chroot, точнее не смовсем chroot, немного другую операцию, switchroot, но по сути это всё очень похоже.

Так вот команду chroot осуществляет смену корневой файловой системы в рамках той консоли или эмулятора терминала, где вызвана команду 'chroot /mnt/root'.

Можно даже вызвать конкретную команду из chroot окружения сразу:

chroot /mnt/root "/bin/ls /"

А теперь подумай над своим вопросом и ответь.

А мы тебе поставим зачёт или незачёт :)

anonymous
()
Ответ на: комментарий от anonymous

не знаю. мало что понял. если я сделал chroot /mnt в mnt примонтирован ssd, то посути теперь mnt есть корень? так или нет?

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

то посути теперь mnt есть корень? так или нет?

Я не знаю на кого и где ты учишься, но у тебя большие проблемы.

anonymous

Так вот команду chroot осуществляет смену корневой файловой системы в рамках той консоли или эмулятора терминала, где вызвана команду 'chroot /mnt/root'.

Можно даже вызвать конкретную команду из chroot окружения сразу:

chroot /mnt/root "/bin/ls /"

Корень теперь в /mnt в рамках той консоли где сдела chroot.

Прочти пожалуйста документацию на chroot, просто 'man chroot', вот даже на русском:https://www.opennet.ru/man.shtml?topic=chroot&category=1&russian=0

СИНТАКСИС
chroot новый_корень [команда [аргументы]...]
chroot опции  

Вот видишь какой синтаксис.

Если будет выполненая команда

chroot /mnt/ /команда
то будет выполена команда в chroot директории (/mnt) в рамках chroot окружения (/mnt) системы.

anonymous
()
Ответ на: комментарий от linuxpc

Да, но только в той консоли, где ты это делаешь. Можешь открыть параллельно другую, и там все будет по прежнему. Оно не меняет корень для всей системы.

P.S. Для всей системы меняет корень команда pivot_root. Она тебе не нужна, just FYI. Эта команда отрабатывает в initramfs, например.

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

Ты ничего не понял, даже грустно :(

Если будет выполненая команда

chroot /mnt/ /команда
то будет выполена команда в chroot директории (/mnt) в рамках chroot окружения (/mnt) системы.

Тебе строчка о чём говорит?

Подумай уже пожалуйста.

Открой любую инструкцию по восстановлению загрузчика grub и открой Gentoo WIki и подумай зачем там делают chroot.

Я уже даже не понимаю, как ты не можешь понять, даже на предложение которое написано в одном сообщении ты задёшь вопрос, ответом на который будет это предложение?

Смотри что я подчеркнул.

Может ну его это Linux? Ну не идёт он в тебя.

Понимаешь, без чтения документации или хотя бы руководств у тебя ничего не получится.

Хотя я даже не знаю, ты всё равно не понимаешь.

anonymous
()
Ответ на: комментарий от anonymous8

а что сразу нельзя было написать так?

linuxpc
() автор топика
Ответ на: комментарий от anonymous

господи, я вот думаю, а если бы вы были преподавателем! это же сразу труба. не ну если бы Вы вели уроки по винде,то думаю,все бы вдруг полюбили Линукс.

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

то будет выполена команда в chroot директории (/mnt) в рамках chroot окружения (/mnt) системы.

это же надо так завернуть. талант!!!

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

Ты удивишься, но я преподаю ;)

Почему ты хочешь сразу получить ответ, не думая? Вот я тебя и подталкиваю, но что-то у тебя голова не работает.

А ответ, который ты хочешь получить есть в документации, а точнее в man chroot:

chroot - run command or interactive shell with special root directory 
chroot - запуск команды или интерактивной оболочки (shell) в указанной root директории.

Если у тебя есть голова, то вывод из этого описания только один, что chroot либо запусает команду с указанным root, либо запускат оболочку из указанной root директории, а основную систему из которой делается chroot, он не трогает.

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

Ленивый студент - тупой студент.

anonymous
()
Ответ на: комментарий от linuxpc

Маунт бинд — это маунт бинд, он делает маунт бинд. Типа символической ссылки.

Просто ядру нужны /дев /прок и т.п., но это уже зависит.

Цашрут — для очень многого предназначен типа. Но делает он только одно — меняет корень.

anonymous
()

что дальше?

Учиться учиться. Потом учиться.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

Ты удивишься, но я преподаю ;)

А вот я не удивился. ТС, анон дело говорит. Без головы тебе никакой препод не поможет.

t184256 ★★★★★
()
mkdir vdir
mount /dev/sda1 vdir
mount --rbind /dev /vdir/dev
mount --rbind /proc /vdir/proc
mount --rbind /sys /vdir/sys
chroot /vdir /bin/bash
exit
anonymous
()
Ответ на: комментарий от linuxpc

Во всяком случае, я понял, что такое chroot, как только увидел это слово (change root же). Чтобы понять, как оно работает наверняка, достаточно было использовать его один раз. И такое, думаю, было со всеми, кто отписался в этом треде.

Так что да, мы умнее тебя.

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