Инструменты пользователя

Инструменты сайта


igor:gentoo_installation

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
igor:gentoo_installation [2019/10/18 20:17]
igor [Выбор профиля установки системы]
igor:gentoo_installation [2019/12/28 18:01] (текущий)
igor [Установка базовой системы]
Строка 467: Строка 467:
 LiveCD # __mount --rbind /sys /​mnt/​gentoo/​sys__ \\ LiveCD # __mount --rbind /sys /​mnt/​gentoo/​sys__ \\
 LiveCD # __mount --rbind /dev /​mnt/​gentoo/​dev__ \\ LiveCD # __mount --rbind /dev /​mnt/​gentoo/​dev__ \\
 +LiveCD # __mount --rbind /dev/pts /​mnt/​gentoo/​dev/​pts__ \\
 LiveCD # __chroot /mnt/gentoo /bin/bash__ \\ LiveCD # __chroot /mnt/gentoo /bin/bash__ \\
 +LiveCD # __env-update__ \\
 LiveCD # __source /​etc/​profile__ \\ LiveCD # __source /​etc/​profile__ \\
 LiveCD # __export PS1="​(chroot) $PS1"​__''​ \\ \\ LiveCD # __export PS1="​(chroot) $PS1"​__''​ \\ \\
 И объясняю смысл. \\ И объясняю смысл. \\
 Если совсем коротко,​ то нужно передать "​эмбриональной"​ системе некоторые органы управления,​ которые имеются у "​материнской"​ системы. Когда у "​эмбриона"​ вырастет собственное ядро, с этим проблем не будет, а пока приходится обеспечивать его жизнеспособность вот таким образом. \\ Если совсем коротко,​ то нужно передать "​эмбриональной"​ системе некоторые органы управления,​ которые имеются у "​материнской"​ системы. Когда у "​эмбриона"​ вырастет собственное ядро, с этим проблем не будет, а пока приходится обеспечивать его жизнеспособность вот таким образом. \\
-Команда cp с ключом -L копирует __настоящее содержимое__ файла (/​etc/​resolv.conf - символическая ссылка). Этот файл содержит IP-адреса DNS-серверов,​ без которых нам не удастся выходить в интернет. Сейчас они находятся в /​etc/​resolv.conf ("​материнская"​ файловая система),​ но после выполнения chroot этот файл не будет виден, а процедура разрешения URL-адресов в IP-адреса будет пытаться искать адреса DNS-серверов в одноименном файле "​эмбриональной"​ файловой системы... а там ничего нет... значит надо заранее скопировать. Аналогичная ситуация с proc, sys и dev. Напомню,​ что proc, sys и dev - это псевдофайловые системы,​ которые не хранятся ни на каких устройствах. ​Но, как и настоящие файловые системы,​ они должны быть надлежащим образом смонтированы. Команда mount с ключом --rbind позволяет примонтировать ​файловую ​систему (рекурсивно, те. вместе со всем, ​что смонтировано внутри нее) во вторую точку монтирования, не теряя первую. То есть файловые системы sys и dev теперь будут доступны как "​материнской"​ ОС, так и "​эмбриону"​. Команда chroot позволяет запустить некоторую программу (в нашем случае диалоговую оболочку /bin/bash) так, чтобы эта программа видела не всю файловую систему,​ которая имеется на компьютере,​ а некоторую ее ветвь - в данном случае наш винчестер со всеми файлами и каталогами,​ которые мы на нем создали. ​За командой source /​etc/​profile стоит скрипт,​ формирующий переменные окружения для ​запускаемого баша. Если командой env просмотреть переменные окружения баша до и после команды source /​etc/​profile,​ разница будет видна невооруженным глазом. Ну и последняя команда меняет вид системного приглашения (переменная PS1): теперь оно каждый раз будет нам напоминать,​ что мы работаем в chroot-режиме. Кстати чтобы вернуться в среду с полной файловой системой,​ нам нужно просто завершить работу той программы,​ для которой делали chroot. То есть просто дать команду exit - и мы снова увидим системное приглашение без (chroot). \\ \\+Команда cp с ключом -L копирует __настоящее содержимое__ файла (/​etc/​resolv.conf - символическая ссылка). Этот файл содержит IP-адреса DNS-серверов,​ без которых нам не удастся выходить в интернет. Сейчас они находятся в /​etc/​resolv.conf ("​материнская"​ файловая система),​ но после выполнения chroot этот файл не будет виден, а процедура разрешения URL-адресов в IP-адреса будет пытаться искать адреса DNS-серверов в одноименном файле "​эмбриональной"​ файловой системы... а там ничего нет... значит надо заранее скопировать. Аналогичная ситуация с proc, sys и dev. Напомню,​ что proc, sys и dev - это псевдофайловые системы,​ которые не хранятся ни на каких устройствах. ​Как и настоящие файловые системы,​ они должны быть надлежащим образом смонтированы, но поскольку они все-таки ненастоящие (или по-какой-то иной причине?), примонтировать ​их во вторую точку, не теряя первуюобычным путем ​не получится - приходится указывать  ключ --rbind (в некоторых ​руководствах пишут -o bind - в данной ситуации это ​равнозначно). То есть файловые системы sys и dev теперь будут доступны как "​материнской"​ ОС, так и "​эмбриону"​. Команда chroot позволяет запустить некоторую программу (в нашем случае диалоговую оболочку /bin/bash) так, чтобы эта программа видела не всю файловую систему,​ которая имеется на компьютере,​ а некоторую ее ветвь - в данном случае наш винчестер со всеми файлами и каталогами,​ которые мы на нем создали. ​Однако, когда мы запускаем баш ​командой ​chroot, он не читает файлы с переменными окружения,​ которые находятся в каталоге /etc/env.d - значит придется это сделать принудительно командой env-update. Команда ​source /​etc/​profile ​здесь - самая ​трудная для понимания. Гуглить по слову source бесперспективно,​ и мануала по ней тоже нет, потому что это встроенная команда нашей диалоговой оболочки. В принципе,​ мы могли бы сейчас сказать,​ что это совершенно отдельная тема, "​просто так надо",​ но я все же скажу пару слов. Etc/profile представляет собой скрипт на языке баш, только он не имеет шебанга и поэтому не может выполняться как самостоятельная программа. По команде source баш - __тот самый__ баш, который сейчас с нами работает в качестве диалоговой оболочки,​ - выполняет этот скрипт,​ формирующий переменные окружения для ​баша, и по окончании выполнения ​скрипта эти переменные ​остаются в нашем распоряжении (чего не было бы, если бы мы запустили /​etc/​profile как самостоятельный скрипт). Если командой env просмотреть переменные окружения баша до и после команды source /​etc/​profile,​ разница будет видна невооруженным глазом. Ну и последняя команда меняет вид системного приглашения (переменная PS1): теперь оно каждый раз будет нам напоминать,​ что мы работаем в chroot-режиме. Кстати чтобы вернуться в среду с полной файловой системой,​ нам нужно просто завершить работу той программы,​ для которой делали chroot. То есть просто дать команду exit - и мы снова увидим системное приглашение без (chroot). \\ \\
 ==== Установка пароля администратора ==== ==== Установка пароля администратора ====
 Совсем простая операция. Даем команду ''​__passwd__''​ - нас попросят ввести новый пароль администратора (рута, суперпользователя) - вводим. Попросят повторить - повторяем. \\ \\ Совсем простая операция. Даем команду ''​__passwd__''​ - нас попросят ввести новый пароль администратора (рута, суперпользователя) - вводим. Попросят повторить - повторяем. \\ \\
igor/gentoo_installation.1571429862.txt.bz2 · Последние изменения: 2019/10/18 20:17 — igor