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

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


software:linux_server:dfs:dfs

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
software:linux_server:dfs:dfs [2025/03/26 21:17] – внешнее изменение 127.0.0.1software:linux_server:dfs:dfs [2025/03/26 21:55] (текущий) – [Комментарии, предложения, ошибки] vladpolskiy
Строка 73: Строка 73:
  
 [[https://packages.debian.org/jessie/libbz2-1.0|libbz2-1.0]] [[https://packages.debian.org/jessie/libbz2-1.0|libbz2-1.0]]
-[libc6](https://packages.debian.org/jessie/libc6) 
  
-[libgcc1](https://packages.debian.org/jessie/libgcc1)+[[https://packages.debian.org/jessie/libc6|libc6]]
  
-[liblzma5](https://packages.debian.org/jessie/liblzma5)+[[https://packages.debian.org/jessie/libgcc1|libgcc1]]
  
-[libpcre3](https://packages.debian.org/jessie/libpcre3)+[[https://packages.debian.org/jessie/liblzma5|liblzma5]]
  
-[libreadline6](https://packages.debian.org/jessie/libreadline6)+[[https://packages.debian.org/jessie/libpcre3|libpcre3]]
  
-[libselinux1](https://packages.debian.org/jessie/libselinux1)+[[https://packages.debian.org/jessie/libreadline6|libreadline6]]
  
-[libstdc++6](https://packages.debian.org/jessie/libstdc++6)+[[https://packages.debian.org/jessie/libselinux1|libselinux1]]
  
-[libtinfo5](https://packages.debian.org/jessie/libtinfo5)+[[https://packages.debian.org/jessie/libstdc++6|libstdc++6]]
  
-[libusb-0.1-4](https://packages.debian.org/jessie/libusb-0.1-4)+[[https://packages.debian.org/jessie/libtinfo5|libtinfo5]]
  
-[multiarch-support](https://packages.debian.org/jessie/multiarch-support)+[[https://packages.debian.org/jessie/libusb-0.1-4|libusb-0.1-4]]
  
-[readline-common](https://packages.debian.org/jessie/readline-common)+[[https://packages.debian.org/jessie/multiarch-support|multiarch-support]]
  
-[tar](https://packages.debian.org/jessie/tar)+[[https://packages.debian.org/jessie/readline-common|readline-common]]
  
-[zlib1g](https://packages.debian.org/jessie/zlib1g)+[[https://packages.debian.org/jessie/tar|tar]
 + 
 +[[https://packages.debian.org/jessie/zlib1g|zlib1g]]
  
  
Строка 104: Строка 105:
 Все следующие команды необходимо выполнять как пользователь ''root'', то есть стать rootпользователем вашей хост-системы: Все следующие команды необходимо выполнять как пользователь ''root'', то есть стать rootпользователем вашей хост-системы:
  
-''su''+<code bash> 
 +su 
 +</code>
  
 ==== Подготовка точек монтирования файловой системы виртуального ядра ==== ==== Подготовка точек монтирования файловой системы виртуального ядра ====
Строка 156: Строка 159:
 Нам нужно создать ''dpkg'' базу данных , которая представляет собой просто текстовый файл, расположенный в /var/lib/dpkg/status. ''dpkg'' хранит всю информацию о пакете в этом файле, включая версию пакета, архитектуру, зависимости и т. д. В настоящее время он еще не существует. Без этого файла dpkg не будет работать правильно, поэтому важно создать его, прежде чем двигаться дальше. Нам нужно создать ''dpkg'' базу данных , которая представляет собой просто текстовый файл, расположенный в /var/lib/dpkg/status. ''dpkg'' хранит всю информацию о пакете в этом файле, включая версию пакета, архитектуру, зависимости и т. д. В настоящее время он еще не существует. Без этого файла dpkg не будет работать правильно, поэтому важно создать его, прежде чем двигаться дальше.
  
-''touch /var/lib/dpkg/status''+<code bash> 
 +touch /var/lib/dpkg/status 
 +</code>
  
 === Создание временных ссылок, ссылающихся на /tools/bin/bash === === Создание временных ссылок, ссылающихся на /tools/bin/bash ===
Строка 175: Строка 180:
  
 Прежде чем мы сможем установить ''apt'' и использовать его для автоматической установки большей части остального системного программного обеспечения, нам сначала необходимо установить его непосредственные зависимости в нашей целевой системе. Прежде чем мы сможем установить ''apt'' и использовать его для автоматической установки большей части остального системного программного обеспечения, нам сначала необходимо установить его непосредственные зависимости в нашей целевой системе.
-{{ :software:linux_server:dfs:68747470733a2f2f63646e2e7261776769742e636f6d2f73636f747477696c6c69616d626561736c65792f64656269616e2d66726f6d2d736372617463682f6d61737465722f696d616765732f6170742d646570656e64656e636965732e737667.svg |}}+{{:software:linux_server:dfs:68747470733a2f2f63646e2e7261776769742e636f6d2f73636f747477696c6c69616d626561736c65792f64656269616e2d66726f6d2d736372617463682f6d61737465722f696d616765732f6170742d646570656e64656e636965732e737667.svg |}}
 == Рисунок 2. Дерево зависимостей apt, глубина в один уровень == == Рисунок 2. Дерево зависимостей apt, глубина в один уровень ==
  
Строка 193: Строка 198:
 Для начала нам необходимо установить ''gcc-4.9-base'': Для начала нам необходимо установить ''gcc-4.9-base'':
  
-''dpkg -i (location of gcc-4.9-base)''+<code bash> 
 +dpkg -i (location of gcc-4.9-base) 
 +</code>
  
 Затем нам нужно будет сначала установить один пакет частично: Затем нам нужно будет сначала установить один пакет частично:
  
-''dpkg - i (LOCATION_OF_libgcc1)''+<code bash> 
 +dpkg - i (LOCATION_OF_libgcc1) 
 +</code>
  
 ПРИМЕЧАНИЕ: Здесь вы получите сообщение об ошибке, содержащее ошибки, очень похожие на следующие: ПРИМЕЧАНИЕ: Здесь вы получите сообщение об ошибке, содержащее ошибки, очень похожие на следующие:
Строка 217: Строка 226:
 После установки пакета настройте базу данных, чтобы убедиться, что она полностью установлена: После установки пакета настройте базу данных, чтобы убедиться, что она полностью установлена:
  
-''sed -ir 's/not-installed/installed/' /var/lib/dpkg/status''+<code bash> 
 +sed -ir 's/not-installed/installed/' /var/lib/dpkg/status 
 +</code>
  
 Теперь установите два других пакета по порядку: Теперь установите два других пакета по порядку:
  
-''dpkg -i (location_of_multiarch)''+<code bash> 
 +dpkg -i (location_of_multiarch) 
 +</code>
  
-''dpkg -i (location_of_libc6)''+<code bash> 
 +dpkg -i (location_of_libc6) 
 +</code>
  
 И переустановите libgcc1, чтобы скрыть наш маленький некрасивый хак и завершить полную установку каждого пакета: И переустановите libgcc1, чтобы скрыть наш маленький некрасивый хак и завершить полную установку каждого пакета:
  
-''dpkg -i --reinstall (location of libgcc1)''+<code bash> 
 +dpkg -i --reinstall (location of libgcc1) 
 +</code>
  
 ====Установка остальных зависимостей apt==== ====Установка остальных зависимостей apt====
Строка 237: Строка 254:
 Независимо от фактического дерева зависимостей, есть быстрый и грязный способ установить остальную часть всего дерева зависимостей apt. Просто выполните следующую команду и повторяйте ее столько раз, сколько вам нужно, пока dpkg не перестанет жаловаться: Независимо от фактического дерева зависимостей, есть быстрый и грязный способ установить остальную часть всего дерева зависимостей apt. Просто выполните следующую команду и повторяйте ее столько раз, сколько вам нужно, пока dpkg не перестанет жаловаться:
  
-''dpkg -i *''+<code bash> 
 +dpkg -i * 
 +</code>
  
 Здесь происходит следующее: dpkg попытается установить все программные пакеты в каталоге. Это неизбежно приведет к сбою, но не волнуйтесь. Просто повторяйте команду, пока все не будет установлено. Здесь происходит следующее: dpkg попытается установить все программные пакеты в каталоге. Это неизбежно приведет к сбою, но не волнуйтесь. Просто повторяйте команду, пока все не будет установлено.
Строка 253: Строка 272:
 Чтобы быть абсолютно уверенным, вы можете выполнить следующую команду, которая подсчитывает, сколько пакетов dpkg считает установленными в своей базе данных: Чтобы быть абсолютно уверенным, вы можете выполнить следующую команду, которая подсчитывает, сколько пакетов dpkg считает установленными в своей базе данных:
  
-''echo $(($(dpkg -l | wc -l)-5))''+<code bash> 
 +echo $(($(dpkg -l | wc -l)-5)) 
 +</code>
  
 Если возвращается значение 23, то можно с уверенностью предположить, что все установлено так, как задумано. Если возвращается значение 23, то можно с уверенностью предположить, что все установлено так, как задумано.
Строка 339: Строка 360:
 Мы устанавливаем ''base-passwd'', чтобы предоставить стандартный минимальный стандарт ''/etc/passwd'' и ''/etc/group'' файлы, которые одинаковы во всех системах Debian. Это происходит путем запуска ''update-passwd'' двоичного файла при его установке. Мы устанавливаем ''base-passwd'', чтобы предоставить стандартный минимальный стандарт ''/etc/passwd'' и ''/etc/group'' файлы, которые одинаковы во всех системах Debian. Это происходит путем запуска ''update-passwd'' двоичного файла при его установке.
  
-''apt-get install base-passwd''+<code bash> 
 +apt-get install base-passwd 
 +</code>
  
 === Создание /etc/shadow и /etc/gshadow=== === Создание /etc/shadow и /etc/gshadow===
 Нам придется вручную создать ''/etc/shadow'' и ''/etc/gshadow'', так как ''passwd'' пакет не сможет настроиться, если не сможет найти эти файлы: Нам придется вручную создать ''/etc/shadow'' и ''/etc/gshadow'', так как ''passwd'' пакет не сможет настроиться, если не сможет найти эти файлы:
  
-''touch /etc/shadow /etc/gshadow''+<code bash> 
 +touch /etc/shadow /etc/gshadow 
 +</code>
  
 ===авторизоваться=== ===авторизоваться===
 Затем мы устанавливаем ''login'' пакет, который дает нам возможность устанавливать новые сеансы в системе с ''login'', повышение привилегий с ''su'', файлы подключаемого модуля аутентификации Linux (PAM) для обоих указанных двоичных файлов, поддельную оболочку ''/bin/nologin'' и ''/etc/login.defs'' файл, который необходим для создания группы. В этот пакет включено больше функций, но эти наиболее упоминаемые. Затем мы устанавливаем ''login'' пакет, который дает нам возможность устанавливать новые сеансы в системе с ''login'', повышение привилегий с ''su'', файлы подключаемого модуля аутентификации Linux (PAM) для обоих указанных двоичных файлов, поддельную оболочку ''/bin/nologin'' и ''/etc/login.defs'' файл, который необходим для создания группы. В этот пакет включено больше функций, но эти наиболее упоминаемые.
  
-''apt-get install login''+<code bash> 
 +apt-get install login 
 +</code>
    
 === пароль === === пароль ===
 Затем мы устанавливаем ''passwd'' пакет, который предоставляет львиную долю утилит и файлов конфигурации, используемых для создания и управления информацией об учетных записях пользователей и групп. Затем мы устанавливаем ''passwd'' пакет, который предоставляет львиную долю утилит и файлов конфигурации, используемых для создания и управления информацией об учетных записях пользователей и групп.
  
-''apt-get install passwd''+<code bash> 
 +apt-get install passwd 
 +</code>
  
 === adduser === === adduser ===
 Нам также необходимо установить ''adduser'' пакет, поскольку он предоставляет нам ''/etc/adduser.conf'' файл по умолчанию, который понадобится для правильной установки новых пользователей. Нам также необходимо установить ''adduser'' пакет, поскольку он предоставляет нам ''/etc/adduser.conf'' файл по умолчанию, который понадобится для правильной установки новых пользователей.
  
-''apt-get install adduser''+<code bash> 
 +apt-get install adduser 
 +</code>
  
 === Установка пароля root и записей shadowfile=== === Установка пароля root и записей shadowfile===
Строка 366: Строка 397:
 На этом этапе нам следует запустить ''passwd'', чтобы изменить пароль ''root''. На этом этапе нам следует запустить ''passwd'', чтобы изменить пароль ''root''.
  
-''passwd root''+<code bash> 
 +passwd root 
 +</code>
  
-Затем нам следует запустить pwconvпреобразование наших записей ''/etc/passwd'' в теневые записи в ''/etc/shadow'':+Затем нам следует запустить ''pwconv'' преобразование наших записей ''/etc/passwd'' в теневые записи в ''/etc/shadow'':
  
-''pwconv''+<code bash> 
 +pwconv 
 +</code>
  
 ==== Исправление терминала и добавление утилит чтения/редактирования==== ==== Исправление терминала и добавление утилит чтения/редактирования====
Строка 457: Строка 492:
 Большое количество утилит командной строки полагаются на библиотеку ncurses для предоставления текстового интерфейса для взаимодействия пользователя через терминал. К ним относятся простые утилиты, такие как ''less'' и ''nano''. Без этой библиотеки эти утилиты не будут отображаться должным образом. Мы должны установить полный набор библиотеки ncurses, чтобы предотвратить возникновение указанных ошибок: Большое количество утилит командной строки полагаются на библиотеку ncurses для предоставления текстового интерфейса для взаимодействия пользователя через терминал. К ним относятся простые утилиты, такие как ''less'' и ''nano''. Без этой библиотеки эти утилиты не будут отображаться должным образом. Мы должны установить полный набор библиотеки ncurses, чтобы предотвратить возникновение указанных ошибок:
  
-''apt-get install ncurses-base ncurses-bin ncurses-doc''+<code bash> 
 +apt-get install ncurses-base ncurses-bin ncurses-doc 
 +</code>
  
 === dialog=== === dialog===
 Dialog — это модуль ''perl'', который некоторые скрипты пытаются использовать для предоставления текстового интерфейса, используемого во время настройки или установки. Вы могли заметить, что некоторые пакеты предупреждали вас, что эта утилита отсутствует во время установки. Давайте исправим это: Dialog — это модуль ''perl'', который некоторые скрипты пытаются использовать для предоставления текстового интерфейса, используемого во время настройки или установки. Вы могли заметить, что некоторые пакеты предупреждали вас, что эта утилита отсутствует во время установки. Давайте исправим это:
  
-''apt-get install dialog''+<code bash> 
 +apt-get install dialog 
 +</code>
  
 === less, vim and nano=== === less, vim and nano===
 Теперь, когда мы установили большую часть библиотек и утилит, необходимых для терминальных утилит, давайте установим некоторые из самых основных и часто используемых из них: Теперь, когда мы установили большую часть библиотек и утилит, необходимых для терминальных утилит, давайте установим некоторые из самых основных и часто используемых из них:
  
-''apt-get install less vim nano''+<code bash> 
 +apt-get install less vim nano 
 +</code>
  
 ==== Создание стандартной иерархии файловой системы в системе Debian==== ==== Создание стандартной иерархии файловой системы в системе Debian====
Строка 480: Строка 521:
 В любой системе Linux обычно есть база данных, полная страниц руководства, доступ к которой осуществляется с помощью ''man'' команды. Большинство программ, которые мы уже установили, уже добавили свои файлы документации в нужное место. Все, что нам нужно сделать сейчас, это установить их ''man'', чтобы воспользоваться ими, и любыми другими, которые будут добавлены со временем. В любой системе Linux обычно есть база данных, полная страниц руководства, доступ к которой осуществляется с помощью ''man'' команды. Большинство программ, которые мы уже установили, уже добавили свои файлы документации в нужное место. Все, что нам нужно сделать сейчас, это установить их ''man'', чтобы воспользоваться ими, и любыми другими, которые будут добавлены со временем.
  
-''apt-get install man''+<code bash> 
 +apt-get install man 
 +</code>
  
 ==== Установка всех оставшихся необходимых пакетов ==== ==== Установка всех оставшихся необходимых пакетов ====
Строка 487: Строка 530:
 Чтобы соответствовать стандарту Debian, нам необходимо установить все это: Чтобы соответствовать стандарту Debian, нам необходимо установить все это:
  
-''apt-get install bash bsdutils coreutils dash diffutils e2fsprogs findutils grep gzip hostname libc-bin init mount perl-base sed sysvinit-utils tar util-linux''+<code bash> 
 +apt-get install bash bsdutils coreutils dash diffutils e2fsprogs findutils grep gzip hostname libc-bin init mount perl-base sed sysvinit-utils tar util-linux 
 +</code>
  
 Ниже приведено краткое описание каждого установленного пакета: Ниже приведено краткое описание каждого установленного пакета:
  
-| Описание | Что это дает | +| Описание |Что это дает | 
-| **bash**: | Оболочка GNU Bourne-again, которая является стандартной оболочкой Linux. | +| **bash**: |Оболочка GNU Bourne-again, которая является стандартной оболочкой Linux. | 
-| **bsdutils**: Предоставляет несколько двоичных файлов, наиболее важный reniceиз которых необходим для изменения приоритетов процессов и loggerиспользуется для взаимодействия с системным модулем syslog.| +| **bsdutils**: | Предоставляет несколько двоичных файлов, наиболее важный reniceиз которых необходим для изменения приоритетов процессов и loggerиспользуется для взаимодействия с системным модулем syslog.| 
-| **coreutils**: Самая важная группа двоичных файлов, необходимая для того, чтобы сделать любую оболочку полезной. | +| **coreutils**: |Самая важная группа двоичных файлов, необходимая для того, чтобы сделать любую оболочку полезной. | 
-| **dash**: | Оболочка Debian Almquist, которая представляет собой более быструю версию sh и предназначена в основном для использования в скриптах. | +| **dash**: |Оболочка Debian Almquist, которая представляет собой более быструю версию sh и предназначена в основном для использования в скриптах. | 
-| **diffutils**: | Предоставляет утилиты для сравнения содержимого файлов между собой. +| **diffutils**: |Предоставляет утилиты для сравнения содержимого файлов между собой. 
-| **e2fsprogs**: | Предоставляет утилиты для работы с семейством файловых систем ext.  | +| **e2fsprogs**: |Предоставляет утилиты для работы с семейством файловых систем ext.  | 
-| **findutils**: | Предоставляет утилиту find для поиска файлов. +| **findutils**: |Предоставляет утилиту find для поиска файлов. 
-| **grep**: | Предоставляет утилиту grep, используемую для поиска строк в файлах или выводимых в нее данных. | +| **grep**: |Предоставляет утилиту grep, используемую для поиска строк в файлах или выводимых в нее данных. | 
-| **gzip**: | Предоставляет утилиту gzip, используемую для работы с файлами, использующими кодировку LZ77. | +| **gzip**: |Предоставляет утилиту gzip, используемую для работы с файлами, использующими кодировку LZ77. | 
-| **hostname**: | Предоставляет набор утилит для управления именем хоста системы. | +| **hostname**: |Предоставляет набор утилит для управления именем хоста системы. | 
-| **libc-bin**: Предоставляет реализацию GNU стандартной библиотеки C. Необходим для создания и использования программ. | +| **libc-bin**: |Предоставляет реализацию GNU стандартной библиотеки C. Необходим для создания и использования программ. | 
-| **init**: | Предоставляет стандартный набор средств инициализации системы для Debian. | +| **init**: |Предоставляет стандартный набор средств инициализации системы для Debian. | 
-| **mount**: | Предоставляет стандартные системные утилиты для монтирования и размонтирования файловых систем, включая файлы подкачки. +| **mount**: |Предоставляет стандартные системные утилиты для монтирования и размонтирования файловых систем, включая файлы подкачки. 
-| **perl-base**: | Предоставляет язык программирования Perl.  | +| **perl-base**: |Предоставляет язык программирования Perl.  | 
-| **sed**: | Предоставляет язык программирования sed, обычно используемый для редактирования текста. +| **sed**: |Предоставляет язык программирования sed, обычно используемый для редактирования текста. 
-| **sysvinit-utils**: | Предоставляет утилиты типа system-v. | +| **sysvinit-utils**: |Предоставляет утилиты типа system-v. | 
-| **tar**: | Предоставляет программу tar, используемую для хранения и извлечения файлов из архива на ленте. +| **tar**: |Предоставляет программу tar, используемую для хранения и извлечения файлов из архива на ленте. 
-| **util-linux**: | Предоставляет множество жизненно важных системных утилит. |+| **util-linux**: |Предоставляет множество жизненно важных системных утилит. |
  
-==== Installing the kernel ====+==== Установка ядра ====
  
-You have two options hereeither you can install the latest kernel image for your system architecture provided by the Debian projector you can compile your own.+Здесь у вас есть два вариантавы можете либо установить последний образ ядра для архитектуры вашей системы, предоставленный проектом Debian, либо скомпилировать свой собственный.
  
-#### Installing Debian's kernel+=== Установка ядра Debian===
  
-If you want to install Debian's standard kernelyou will want to search for the available images provided for your architectureand then install the approriate image.+Если вы хотите установить стандартное ядро ​​Debian, вам нужно будет найти доступные образысоответствующие вашей архитектуре, а затем установить соответствующий образ.
  
 <code bash> <code bash>
Строка 524: Строка 569:
 </code> </code>
  
-#### Compiling and installing your own custom kernel+=== Компиляция и установка собственного ядра===
  
-You can also compile your own custom kernel if you feel like it+При желании вы также можете скомпилировать свое собственное ядро.
  
-To do this, you will need a tarball of the Linux kernel sourcewhich you probably already have.+Для этого вам понадобится tar-архив исходного кода ядра Linux, который у вас, вероятно, уже есть.
  
-You will also need to install the gcc package (which incidentally installs most other software needed to compile), the libncurses5-dev package (which provides the libraries needed to use the command line configuration utility for the kernel source), the bc package (a language that supports precision numbers)and the make package (the make utility used for compiling the source into binary). +Вам также потребуется установить пакет gcc (который, кстати, устанавливает большую часть другого программного обеспечения, необходимого для компиляции), пакет libncurses5-dev (который предоставляет библиотеки, необходимые для использования утилиты конфигурации командной строки для исходного кода ядра), пакет bc (языкподдерживающий точные числа) и пакет make (утилита make, используемая для компиляции исходного кода в двоичный файл).
  
-`apt-get install gcc libncurses5-dev bc make`+<code bash> 
 +apt-get install gcc libncurses5-dev bc make 
 +</code>
  
-Now open up your extracted kernel sourceEnsure that there are no stale files left behind from the developers in the source tree:+Теперь откройте извлеченный исходный код ядраУбедитесь, что в дереве исходного кода нет устаревших файлов, оставленных разработчиками:
  
-`make mrproper`+<code bash> 
 +make mrproper 
 +</code>
  
-Install the header files for this particular kernelYou will need these in the future if you intend to compile software that will take advantage of this kernel'API in the future:+Установите файлы заголовков для этого конкретного ядраОни вам понадобятся в будущем, если вы собираетесь компилировать программное обеспечение, которое будет использовать API этого ядра в будущем:
  
 <code bash> <code bash>
Строка 545: Строка 594:
 </code> </code>
  
-I recommend that you use the default configuration as the base for your kernel buildas it will at the very least ensure that your system will be able to boot using the image we create later.+Я рекомендую вам использовать конфигурацию по умолчанию в качестве основы для сборки ядратак как это, по крайней мере, гарантирует, что ваша система сможет загрузиться с использованием образа, который мы создадим позже.
  
-`make defconfig`+<code bash> 
 +make defconfig 
 +</code>
  
-Then, customize your kernel according to your heart's desire.+Затем настройте свое ядро ​​по своему вкусу.
  
-`make menuconfig`+<code bash> 
 +make menuconfig 
 +</code>
  
-This book cannot help you figure out what exact modules to add to the kernel - you need determine the exact hardware that exists on your system yourselfand do research as to what modules will make those pieces of hardware functional. Google is your friend+Эта книга не поможет вам разобратьсякакие именно модули следует добавить в ядро ​​— вам нужно самостоятельно определить точное оборудование, которое есть в вашей системе, и провести исследование относительно того, какие модули сделают это оборудование функциональным. Google — ваш друг.
  
-After you've customized your kernel, compile it.+После настройки ядра скомпилируйте его.
  
-`make`+<code bash> 
 +make 
 +</code>
  
-If you've created a modular kernelinstall the compiled modules into it:+Если вы создали модульное ядроустановите в него скомпилированные модули:
  
-`make modules_install`+<code bash> 
 +make modules_install 
 +</code>
  
-Copy the completed kernel into the /boot/ directoryand make sure that it's name starts with 'vmlinuz'It's a good idea to append an identifying string to the name of this fileThe version number of this kernel will doWe also copy the System.map fileand the config for this kernel (so we can easily examine how this kernel was built). We append our identifying string to this toobecause as time passes by we may want to install more kernels.+Скопируйте готовое ядро ​​в каталог /boot/ и убедитесьчто его имя начинается с 'vmlinuz'Хорошей идеей будет добавить идентификационную строку к имени этого файлаНомер версии этого ядра подойдетМы также копируем файл System.map и конфигурацию для этого ядра (чтобы мы могли легко проверитькак было собрано это ядро). Мы также добавляем к этому нашу идентификационную строкупотому что со временем мы можем захотеть установить больше ядер.
  
 <code bash> <code bash>
Строка 571: Строка 628:
 </code> </code>
  
-==== Adding modular functionality to the system====+==== Добавление модульной функциональности в систему====
  
-Regardless of if you installed the standard Debian GNU/Linux kernelor compiled your ownyou are going to need to provide your system with the binaries needed to loadremove and manipulate kernel modules+Независимо от того, установили ли вы стандартное ядро ​​Debian GNU/Linux или скомпилировали свое собственноевам потребуется снабдить свою систему двоичными файламинеобходимыми для загрузкиудаления и управления модулями ядра
  
-`apt-get install kmod `+<code bash> 
 +apt-get install kmod 
 +</code>
  
-The only exception to this case would be if you compiled your own monolithic kernel with no modulesand do not intend on adding any beyond the ones you've already compiled into the kernel (which would generally be the case if you're doing embedded development).+Единственным исключением из этого случая может быть случайкогда вы скомпилировали свое собственное монолитное ядро ​​без модулей и не собираетесь добавлять ничего, кроме тех, которые вы уже скомпилировали в ядро ​​(что обычно и происходит, если вы занимаетесь разработкой встраиваемых систем).
  
-==== Making the system bootable====+==== Делаем систему загрузочной==== 
 +=== Переконфигурирование диска с предустановленным загрузчиком GRUB2=== 
 +Если эта система Debian Linux находится на разделе уже загрузочного диска, все, что нужно сделать, чтобы сделать эту систему загрузочной, — это заменить файл конфигурации загрузчика диска, включив соответствующий раздел этой системы в список загрузочных разделов.
  
 +Если вы используете GRUB2, то использование ''grub2-mkconfig'' утилиты делает это очень простым. Просто укажите ей местоположение уже существующего файла grub.cfg:
  
-#### Reconfiguring a drive with a pre-installed GRUB2 bootloader +<code bash> 
-If this Debian Linux system is on a partition of an already bootable drive, all one needs to do to make this system bootable is to replace the configuration file of the drive's bootloader to include this system's corresponding partition in its list of bootable partitions. +grub2-mkconfig -o /boot/(path to grub.cfg
- +</code>
-If using GRUB2, then using the `grub2-mkconfig` utility makes it very simple to do so. Merely point it to the location of the already existing grub.cfg file:+
  
-`grub2-mkconfig -o /boot/(path to grub.cfg)` +=== Установка GRUB2 на диск без предустановленного загрузчика=== 
- +В случае, если раздел находится на диске, на котором еще нет собственного загрузчикавы должны установить и настроить его самостоятельноЧтобы установить GRUB2, вы должны сначала выйти из chroot.
-#### Installing GRUB2 onto a drive with no pre-installed bootloader +
-In the event that the partition is on a drive that does not yet have its own bootloaderyou must install it and configure it yourselfTo install GRUB2, you must first exit your chroot.+
  
 <code bash> <code bash>
Строка 597: Строка 656:
 </code> </code>
  
-Since this GRUB2 install does not have a configuration file yetlet's create one via template:+Поскольку в этой установке GRUB2 пока нет файла конфигурациидавайте создадим его с помощью шаблона:
  
 <code bash> <code bash>
Строка 614: Строка 673:
 </code> </code>
  
-Thenedit this file to replace the (kernel-location) string in the file with the actual location of said kernel inside the partition.+Затем отредактируйте этот файлзаменив строку (kernel-location) в файле фактическим местоположением указанного ядра внутри раздела.
  
-Afterwards, use the previously aforementioned `chroot` command provided in the 'Entering our chroot' section to return to the chroot.+После этого используйте ранее упомянутую ''chroot'' команду, приведенную в разделе «Вход в chroot», чтобы вернуться в chroot.
  
-==== Creating /etc/fstab====+==== Создание /etc/fstab====
  
-Before you boot into your system, it is absolutely -vital- for you to create and configure your /etc/fstab file+Перед загрузкой системы вам абсолютно необходимо создать и настроить файл /etc/fstab.
  
-If you do -not- have an /etc/fstab file or fail to specify what partition is to be mounted as the root filesystemyou will be stuck within a temporaryread-only filesystem created by the kernellocated only in RAMIt uses this to switch into the supposed root filesystemYou do not want to be stuck here.+Если у вас нет файла /etc/fstab или вы не указаликакой раздел должен быть смонтирован как корневая файловая системавы застрянете во временной файловой системе только для чтениясозданной ядром, расположенной только в оперативной памятиОно использует ее для переключения на предполагаемую корневую файловую системуВы не хотите застрять здесь.
  
-So we create a base /etc/fstab:+Итак, создаем базу /etc/fstab:
  
 <code bash> <code bash>
Строка 640: Строка 699:
 </code> </code>
  
-Modify the first entry with the partition location of this system, and the type of filesystemThe second entry should contain the location of your swap partitionIf you don't intend on using oneremove the line. +Измените первую запись на расположение раздела этой системы и тип файловой системыВторая запись должна содержать расположение вашего раздела подкачкиЕсли вы не собираетесь его использоватьудалите строку.
- +
-==== The End====+
  
-CongratulationsYou've finished building your Debian systemand now have the complete range of functionality expected of a Debian system on top of your regular LFS install.+==== Конец==== 
 +ПоздравляемВы завершили сборку своей системы Debian и теперь имеете полный набор функцийожидаемых от системы Debian, в дополнение к обычной установке LFS.
  
-==== Commentssuggestionsbugs====+==== Комментариипредложенияошибки====
  
-If you found this guide usefulor have suggestions, the author would love to hear from youEmail him at +Если вы нашли это руководство полезным или у вас есть предложенияавтор будет рад услышать от васНапишите ему по адресу
  
-scottwilliambeasley AT gmail .com . Replace the AT with @, and remove spaces.+[[mail>]]scottwilliambeasley@gmail.com
  
-Alsocontributions or additions to this manual are very much welcomedYou may do so by using this repository:+Такжевклады или дополнения к этому руководству очень приветствуютсяВы можете сделать это, используя этот репозиторий:
  
-  * https://github.com/scottwilliambeasley/debian-from-scratch/+  * [[https://github.com/scottwilliambeasley/debian-from-scratch/|Ссылка на оригинальную статью]]
   * https://git.wwoss.ru/lfs/debian-from-scratch   * https://git.wwoss.ru/lfs/debian-from-scratch
 +==== Дополнения и Файлы ====
 +{{ :software:linux_server:dfs:debian-from-scratch-master.zip |}}
software/linux_server/dfs/dfs.1743013052.txt.gz · Последнее изменение: 2025/03/26 21:17 — 127.0.0.1