<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_chroot</id>
	<title>Что такое chroot - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_chroot"/>
	<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_chroot&amp;action=history"/>
	<updated>2026-10-12T23:42:07Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_chroot&amp;diff=407&amp;oldid=prev</id>
		<title>Admin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_chroot&amp;diff=407&amp;oldid=prev"/>
		<updated>2023-02-27T18:39:19Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 21:39, 27 февраля 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_chroot&amp;diff=406&amp;oldid=prev</id>
		<title>lor&gt;MaxSvet в 17:25, 27 июля 2018</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A7%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5_chroot&amp;diff=406&amp;oldid=prev"/>
		<updated>2018-07-27T17:25:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;chroot — команда для смены корневой директории (&amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt;) на любую доступную в этой ОС. Смена корневой директории происходит с выполнением программы (по умолчанию &amp;lt;tt&amp;gt;/bin/sh&amp;lt;/tt&amp;gt;). Для выполнения chroot вы должны быть [[Root|суперпользователем]] &amp;lt;br&amp;gt;&lt;br /&gt;
SYNOPSIS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chroot	[-g group[,group[,...]]] [-u user] newroot [command]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Опции ==&lt;br /&gt;
* &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; — устанавливает группы, первую указанную устанавливает в качестве основной (должна найтись в &amp;lt;tt&amp;gt;/etc/groups&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;-u&amp;lt;/tt&amp;gt; — устанавливает пользователя (по умолчанию [[root]]) (должен найтись в базе данных пользователей).&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;newroot&amp;lt;/tt&amp;gt; — новая корневая директория.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;command&amp;lt;/tt&amp;gt; — команда, которую надо выполнить.&lt;br /&gt;
&lt;br /&gt;
== Пример использования ==&lt;br /&gt;
Из статьи «[[Восстановление GRUB]]»:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=sh&amp;gt;&lt;br /&gt;
for f in proc sys dev; do mount -o bind /$f /mnt/$f; done&lt;br /&gt;
chroot /mnt /usr/sbin/grub-install /dev/sdX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Системный вызов chroot ==&lt;br /&gt;
Программа chroot использует системный вызов chroot(2) для смены корневой директории. &amp;lt;br&amp;gt;&lt;br /&gt;
SYNOPSIS:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c&amp;gt;&lt;br /&gt;
#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
int &lt;br /&gt;
chroot(const char *dirname);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Параметры:&lt;br /&gt;
* &amp;lt;tt&amp;gt;dirname&amp;lt;/tt&amp;gt; — директория, которую необходимо сделать корневой.&lt;br /&gt;
&lt;br /&gt;
Возвращаемые значения:&lt;br /&gt;
* «0» — директория успешно сделана корневой.&lt;br /&gt;
* «-1» — произошла ошибка (какая именно — смотрим код в глобальной переменной &amp;lt;tt&amp;gt;errno&amp;lt;/tt&amp;gt;) и корневая директория не изменена.&lt;br /&gt;
Ошибки в &amp;lt;tt&amp;gt;errno&amp;lt;/tt&amp;gt;:&lt;br /&gt;
* &amp;lt;tt&amp;gt;ENOTDIR&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;dirname&amp;lt;/tt&amp;gt; не является директорией.&lt;br /&gt;
* &amp;lt;tt&amp;gt;ENAMETOOLONG&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;dirname&amp;lt;/tt&amp;gt; является слишком длинным путем (длина больше &amp;lt;tt&amp;gt;PATH_MAX&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* &amp;lt;tt&amp;gt;ENOTENT&amp;lt;/tt&amp;gt; — директории &amp;lt;tt&amp;gt;dirname&amp;lt;/tt&amp;gt; не существует.&lt;br /&gt;
* &amp;lt;tt&amp;gt;EACCES&amp;lt;/tt&amp;gt; — в праве поиска для какого-либо компонента пути отказано.&lt;br /&gt;
* &amp;lt;tt&amp;gt;ELOOP&amp;lt;/tt&amp;gt; — слишком много символьных ссылок встречается в каком-либо компоненте пути.&lt;br /&gt;
* &amp;lt;tt&amp;gt;EFAULT&amp;lt;/tt&amp;gt; — &amp;lt;tt&amp;gt;dirname&amp;lt;/tt&amp;gt; находится вне адресного пространства процесса.&lt;br /&gt;
* &amp;lt;tt&amp;gt;EIO&amp;lt;/tt&amp;gt; — ошибка ввода-вывода при чтении или записи ФС.&lt;br /&gt;
* &amp;lt;tt&amp;gt;EPERM&amp;lt;/tt&amp;gt; — вызов был произведен процессом не от имени [[root]] (нужно запускать программу от имени суперпользователя).&lt;br /&gt;
&lt;br /&gt;
После успешного завершения вызова &amp;lt;tt&amp;gt;chroot&amp;lt;/tt&amp;gt; можно выполнять программу в новой корневой директории с помощью одной из функций семейства &amp;lt;tt&amp;gt;exec&amp;lt;/tt&amp;gt; или выполнить другие действия.&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [https://man.openbsd.org/man8/chroot.8 Руководство от OpenBSD по chroot(8)]&lt;br /&gt;
* [https://man.openbsd.org/man2/chroot.2 Системный вызов chroot(2) в OpenBSD]&lt;br /&gt;
* [https://github.com/openbsd/src/blob/master/usr.sbin/chroot/chroot.c Исходный код программы chroot(8) в OpenBSD — пример использования системного вызова chroot]&lt;/div&gt;</summary>
		<author><name>lor&gt;MaxSvet</name></author>
	</entry>
</feed>