Rating@Mail.ru
IPB
Etersoft - from Windows to Linux
Etersoft
решения для перехода
с Windows на Linux
Дружественные сайты: alv.me и Rus-Linux.net

Здравствуйте, гость ( Вход | Регистрация ) Поиск · 

 
Reply to this topic Start new topic
> Как поменять корневую директорию (chroot)
жучара
bookmark
gyfbbdvkffmrljmmmwd
Apr 21 2017, в 14:07
Сообщение #1


Прохожий
Иконка группы

Сообщений: 5

Вставить имя   :   Цитата

Группа: Участники

Автор темы
Друзья! Задача будет считаться выполненной если поменять корневую директорию и запустить какую-нибудь программку.

Меняем вот так:
Код
chroot foo

И вот везде написано, что тут должна запуститься оболочка. И везде, в том громадном объёме информации, который я перелопатил, сказано, что нужно, раз мы меняем корневую директорию, то и пути к оболочке поменять. Чего-то куда-то перенести. В общем всё куда-то скопировать, что, наверное, правильно, ибо если оболчка была, к примеру в /bin/sh, то, раз корень стал другим, то её тоже нужно перенести куда-то и не только её.

В общем, я в детали почему не вникаю- моя задача скромнее- убедиться что chroot работает, поэтому запускать буду ЧТО-НИБУДЬ. Что-нибудь это "Hello,word". "Hello, word!" это a.out. И я очень сильно подозреваю, ибо ему всё равно на все пути, ибо, как я могу судить он просто загружается в память без всяких там путей и начинает работать. Пишу с комментами; в командной сроке их, есессно, нет:

Код
//убедимся, что a.out работает
# ./a.out
Hello, word!
//создадим папку foo и скопируем в неё a.out
# mkdir foo
# cp a.out foo/a.out
//убедимся, что a.out перенёсся нормально
# foo/a.out
Hello, word!
//собственно chroot с вариациями:
# chroot foo ./a.out
# chroot foo a.out
#


В общем, безрезультатно всё, не видно "Hello, word!!" Пытался я запустить исполняемый файл и с вечным циклом внутри себя (while(1)) в надежде, что я увижу как-нибудь работу процесса. Бесполезно. ЧЯДНТ? Спасибо, кто откликнется. Вся раьбота из-под root-а, естесственно.
Go to the top of the page
 
+Quote Post
Bizdelnick
bookmark
gyfbbdvkffmrljmmmwd
Apr 21 2017, в 14:29
Сообщение #2


grammatikführer
Иконка группы

Сообщений: 12293

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: Санкт-Петербург

Группа: Модераторы разделов

Цитата(жучара @ 21st April 2017 - в 14:07) *
если оболчка была, к примеру в /bin/sh, то, раз корень стал другим, то её тоже нужно перенести куда-то и не только её.

В этот новый корень, который foo, и надо перенести, со всеми зависимостями.

Цитата(жучара @ 21st April 2017 - в 14:07) *
Что-нибудь это "Hello,word". "Hello, word!" это a.out. И я очень сильно подозреваю, ибо ему всё равно на все пути, ибо, как я могу судить он просто загружается в память без всяких там путей и начинает работать.

Только в том случае, если слинковать его статически (опция компилятора -static).


--------------------
Пишите правильно:
в консоли
в общем
вообще
в течение (часа)
команда
новичок
пожалуйста
приемлемо
проблема
пробовать
репозиторий
трафик
Go to the top of the page
 
+Quote Post
жучара
bookmark
gyfbbdvkffmrljmmmwd
Apr 21 2017, в 21:09
Сообщение #3


Прохожий
Иконка группы

Сообщений: 5

Вставить имя   :   Цитата

Группа: Участники

Автор темы
Цитата(Bizdelnick @ Apr 21 2017, в 14:29) *
Только в том случае, если слинковать его статически (опция компилятора -static).

Думал об этом вчера. Не очень получается так слинковать
Код
# cc main.c -static
cc: -static: unknown option
Go to the top of the page
 
+Quote Post
Bizdelnick
bookmark
gyfbbdvkffmrljmmmwd
Apr 21 2017, в 21:23
Сообщение #4


grammatikführer
Иконка группы

Сообщений: 12293

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: Санкт-Петербург

Группа: Модераторы разделов

А что за компилятор? И что вообще за система?


--------------------
Пишите правильно:
в консоли
в общем
вообще
в течение (часа)
команда
новичок
пожалуйста
приемлемо
проблема
пробовать
репозиторий
трафик
Go to the top of the page
 
+Quote Post
жучара
bookmark
gyfbbdvkffmrljmmmwd
Apr 21 2017, в 21:31
Сообщение #5


Прохожий
Иконка группы

Сообщений: 5

Вставить имя   :   Цитата

Группа: Участники

Автор темы
Bizdelnick, minix 3.1.0 у меня
А компилятор cc не понять какой версии:
Код
# cc -version
Usage: cc -v<n> -vn<n> -name <name> -descr <descr> -T <dir> ...
Go to the top of the page
 
+Quote Post
Bizdelnick
bookmark
gyfbbdvkffmrljmmmwd
Вчера, в 14:27
Сообщение #6


grammatikführer
Иконка группы

Сообщений: 12293

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: Санкт-Петербург

Группа: Модераторы разделов

Ох ты ж... Интересно, он хотя бы ELF делает, или a.out? Что говорит file a.out?


--------------------
Пишите правильно:
в консоли
в общем
вообще
в течение (часа)
команда
новичок
пожалуйста
приемлемо
проблема
пробовать
репозиторий
трафик
Go to the top of the page
 
+Quote Post
жучара
bookmark
gyfbbdvkffmrljmmmwd
Вчера, в 18:52
Сообщение #7


Прохожий
Иконка группы

Сообщений: 5

Вставить имя   :   Цитата

Группа: Участники

Автор темы
Bizdelnick, да это я просто на русском языке книжку Танненбаума "Операционные системы. Разработка и реализация_Таненбаум Э., Вудхалл А_2007" нашёл и пояснения к исходникам тоже на русском.
Код
# file a.out
a.out: MINIX-PC 32-bit execuatable, sep I&D not stripped
Go to the top of the page
 
+Quote Post
Bizdelnick
bookmark
gyfbbdvkffmrljmmmwd
Вчера, в 20:09
Сообщение #8


grammatikführer
Иконка группы

Сообщений: 12293

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: Санкт-Петербург

Группа: Модераторы разделов

Блин, там даже file свой собственный... Если верить википедии, на ELF они перешли только в версии 3.2, а как линкуются a.out — у меня весьма смутные представления.


--------------------
Пишите правильно:
в консоли
в общем
вообще
в течение (часа)
команда
новичок
пожалуйста
приемлемо
проблема
пробовать
репозиторий
трафик
Go to the top of the page
 
+Quote Post
жучара
bookmark
gyfbbdvkffmrljmmmwd
Вчера, в 20:36
Сообщение #9


Прохожий
Иконка группы

Сообщений: 5

Вставить имя   :   Цитата

Группа: Участники

Автор темы
Bizdelnick ну это ладно. Если не распыляться- есть какой-нибудь другой простой способ убедиться в работоспособности команды chroot? Без переноса ВСЕГО в другую папку?
Go to the top of the page
 
+Quote Post
Bizdelnick
bookmark
gyfbbdvkffmrljmmmwd
Вчера, в 20:40
Сообщение #10


grammatikführer
Иконка группы

Сообщений: 12293

Вставить имя   :   Цитата

ОС: Debian GNU/Linux
Город: Санкт-Петербург

Группа: Модераторы разделов

Если не удаётся определить необходимый минимум, проще таки перенести всё, тем более что этого всего в MINIX не так уж много.


--------------------
Пишите правильно:
в консоли
в общем
вообще
в течение (часа)
команда
новичок
пожалуйста
приемлемо
проблема
пробовать
репозиторий
трафик
Go to the top of the page
 
+Quote Post

 Reply to this topic Start new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 23rd April 2017 - в 11:03




Rating@Mail.ru