diff --git a/101_1.md b/101_1.md deleted file mode 100644 index 9979af8..0000000 --- a/101_1.md +++ /dev/null @@ -1,77 +0,0 @@ -**101.1** Определение и настройка аппаратной части - -Студент должен разбираться в управлении основными комплектующими ПК. - -**Изучаем** : - -- включение и выключение устройств; -- настройку системы без периферийных устройств; -- устройства хранения информации; -- понятие горячей замены; -- определение параметров устройств; -- инструменты просмотра сведений об устройствах; -- инструменты управления USB; -- понятия sysfs, udev, dbus. - -**Термины и утилиты:** - -- /sys/ -- /proc/ -- /dev/ -- modprobe -- lsmod -- lspci -- lsusb - -Аппаратная часть современных компьютерных устройств — это отдельный полноценный курс. В данном уроке поверхностно рассматриваются базовые манипуляции с комплектующими ПК из ОС Linux. - -При работе с устройствами Linux можно столкнуться со следующими понятиями: - -- **HAL** – демон, представляющий слой абстрагирования от конкретной АЧ, благодаря которому ОС может обращаться к устройствам через их абстрактные представления (конкретную инструкцию устройству будет передавать драйвер), на данный момент является устаревшим; -- **Dbus** - шина, через которую ОС общается с HAL; -- **udev** - менеджер устройств, пришедший на смену HAL. - -**Преимущества** **udev** : - -- --работает на уровне пользователя (больше свободы действий); -- --событийно-управляемый (а не опрашивает ядро по расписанию как HAL); -- --удобные файлы конфигурации (а не xml как у HAL); -- --содержит в системе только файлы активных устройств (а не всех устройств как HAL); -- --содержит имена устройств неизменными (в HAL имя зависит от порядка подключения). - -База данных подключенных устройств хранится в директории **/**** sys ****,** где они расположены по каталогам и именуются автоматически согласно идентификаторам, например: - -**/**** sys ****/**** block** - _перечень блочных устройств;_ - -**/**** sys ****/**** bus **** ** _- перечень шин;_ - -Информация о состоянии ОС и всех запущенных процессах находится в директории **/**** proc**, например: - -**/**** proc ****/**** cpuinfo** _- информация о процессоре;_ - -**/**** proc ****/**** mounts**_- подключенные файловые системы;_ - -В директории **/**** dev** находится информация об интерфейсах работы с драйверами ядра, например: - -**/**** dev ****/**** sda **** ** _- первый жесткий диск;_ - -**/**** dev ****/**** sr0 ** _-_ _CD-ROM__;_ - -Примечание: в каталоге /dev, как правило, отсутствует информация о сетевых картах и видеокартах, так как работа с ними немного сложнее чем простые операции чтения-записи. - -Для работы с модулями ядра (драйверами устройств) предназначены следующие команды: - -- **lsmod** – информация о модулях ядра; -- **lspci** – информация об устройствах PCI; -- **lspcmciа** – информация об устройствах PCMCIA; -- **lsusb** – информация о шине USB; -- **lshw** – детальная информация о комплектующих; -- **rmmod ** –удалить модуль; -- **insmod ** –установить модуль; -- **modprobe** – установить модуль и все зависимости. - -Примечание: в Centos для работы lsusb нужно установить пакет usbutils, а для работы lshw пакет lshw. - -Процессор получает информацию от устройств при помощи прерываний (IRQ), номера которых можно увидеть в файле **/**** proc ****/**** interrupts** - -При этом процессор считывает и записывает информацию через адреса устройств ввода-вывода (IO). Адресация IO бывает в оперативной памяти ( **/**** proc ****/**** io ****mem** ) и по портам ( **/**** proc ****/**** ioports**). \ No newline at end of file diff --git a/README.md b/README.md index b3d70f8..316f8dd 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,27 @@ # lpic_1-101 -Материалы по подготовке к экзамену 101 первой ступени сертификации. +### EN +Workbooks for studying Linux by LPIC-1 exam 101 matherials. +**./en** +   **|_ docx/** - syllabuses for those who prefer Word +   **|_ homework/** - tasks for self educating +   **|_\*.md** - syllabuses in markdown -Материалы: это конспект и ДЗ. +I do appreciate all useful сcorrections and additions. Feel free to create merge requests. -Так как мне периодически приходится вносить изменения в текст в связи с обновлением дистрибутивов ОС, да и с достаточным количеством правок, то я переехал на git. -Кроме того, вы сможете добавлять сюда свои комменты и отправлять мне на мерж в мастер-ветку. +To those who are not used to git: +1) Install https://www.gitkraken.com/ +2) In the app do File-Clone Repo +3) Specify what to clone and where to (in this case you clone https://github.com/ksemaev/lpic_1-101) +4) Refresh periodically with Pull to get new fixes. +### RU +Материалы для изучения Linux по плану подготовки к экзамену 101 первой ступени сертификации. +**./ru** +   **|_ docx/** - конспекты для тех, кому удобно в ворде +   **|_ homework/** - задания для самостоятельного изучения +   **|_\*.md** - конспекты в markdown + +Приветствую любые полезные дополнения и исправления. Делайте merge requests. Для тех кто не знаком с гитом: 1) Ставите https://www.gitkraken.com/ diff --git a/ru/101_1.md b/ru/101_1.md new file mode 100644 index 0000000..3388ff7 --- /dev/null +++ b/ru/101_1.md @@ -0,0 +1,66 @@ +##### 101.1 Определение и настройка аппаратной части +Студент должен разбираться в управлении основными комплектующими ПК. +**Изучаем:** +• включение и выключение устройств; +• настройку системы без периферийных устройств; +• устройства хранения информации; +• понятие горячей замены; +• определение параметров устройств; +• инструменты просмотра сведений об устройствах; +• инструменты управления USB; +• понятия sysfs, udev, dbus. + +**Термины и утилиты:** +• /sys/ +• /proc/ +• /dev/ +• modprobe +• lsmod +• lspci +• lsusb + +Аппаратная часть современных компьютерных устройств — это отдельный полноценный курс. В данном уроке поверхностно рассматриваются базовые манипуляции с комплектующими ПК из ОС Linux. + +При работе с устройствами Linux можно столкнуться со следующими понятиями: +• **HAL** – демон, представляющий слой абстрагирования от конкретной АЧ, благодаря которому ОС может обращаться к устройствам через их абстрактные представления (конкретную инструкцию устройству будет передавать драйвер), на данный момент является устаревшим; +• **Dbus** - шина, через которую процессы обмениваются информацией, в частности приложения получают через нее информацию об оборудовании из ядра; +• **udev** - менеджер устройств, пришедший на смену HAL. + +_Преимущества udev:_ +- работает на уровне пользователя (больше свободы действий); +- событийно-управляемый (а не опрашивает ядро по расписанию как HAL); +- удобные файлы конфигурации (а не xml как у HAL); +- содержит в системе только файлы активных устройств (а не всех устройств как HAL); +- содержит имена устройств неизменными (в HAL имя зависит от порядка подключения). + +В директории **/dev** находится информация об интерфейсах работы с драйверами ядра, например: +**/dev/sda** - первый жесткий диск; +**/dev/sr0** - CD-ROM; +_Примечание_: в каталоге /dev, как правило, отсутствует информация о сетевых картах и видеокартах, так как работа с ними немного сложнее чем простые операции чтения-записи. +В /dev лежат специальные файлы устройств, которые можно считать указателями на драйверы. При помощи этих файлов происходит обращение к устройствам. + +База данных подключенных устройств хранится в директории **/sys**, где они расположены по каталогам и именуются автоматически согласно идентификаторам, например: +**/sys/block** - перечень блочных устройств; +**/sys/bus** - перечень шин; +Если /dev содержит файлы устройств для работы с приложениями, то /sys содержит информацию об этих устройствах. **Метафора: /sys это упаковка, а /dev – содержимое.** + +Информация о состоянии ОС и всех запущенных процессах находится в директории **/proc**, например: +**/proc/cpuinfo** - информация о процессоре; +**/proc/mounts** - подключенные файловые системы; +Самая интересная директория - **/proc/sys**, так как она не только содержит информацию о системе, но и позволяет ее редактировать «на лету». + +--- + +Для работы с модулями ядра (драйверами устройств) предназначены следующие команды: +• lsmod – информация о модулях ядра; +• lspci – информация об устройствах PCI; +• lspcmciа – информация об устройствах PCMCIA; +• lsusb – информация о шине USB; +• lshw – детальная информация о комплектующих; +• rmmod – удалить модуль; +• insmod – установить модуль; +• modprobe– установить модуль и все зависимости. +Примечание: в Centos для работы lsusb нужно установить пакет usbutils, а для работы lshw пакет lshw. + +Процессор получает информацию от устройств при помощи прерываний (IRQ), номера которых можно увидеть в файле /proc/interrupts +При этом процессор считывает и записывает информацию через адреса устройств ввода-вывода (IO). Адресация IO бывает в оперативной памяти (/proc/iomem) и по портам (/proc/ioports). diff --git a/101_2.md b/ru/101_2.md similarity index 100% rename from 101_2.md rename to ru/101_2.md diff --git a/101_3.md b/ru/101_3.md similarity index 100% rename from 101_3.md rename to ru/101_3.md diff --git a/102_1.md b/ru/102_1.md similarity index 100% rename from 102_1.md rename to ru/102_1.md diff --git a/102_2.md b/ru/102_2.md similarity index 100% rename from 102_2.md rename to ru/102_2.md diff --git a/102_3.md b/ru/102_3.md similarity index 100% rename from 102_3.md rename to ru/102_3.md diff --git a/102_4.md b/ru/102_4.md similarity index 100% rename from 102_4.md rename to ru/102_4.md diff --git a/102_5.md b/ru/102_5.md similarity index 100% rename from 102_5.md rename to ru/102_5.md diff --git a/103_1.md b/ru/103_1.md similarity index 100% rename from 103_1.md rename to ru/103_1.md diff --git a/103_2.md b/ru/103_2.md similarity index 100% rename from 103_2.md rename to ru/103_2.md diff --git a/103_3.md b/ru/103_3.md similarity index 100% rename from 103_3.md rename to ru/103_3.md diff --git a/103_4.md b/ru/103_4.md similarity index 100% rename from 103_4.md rename to ru/103_4.md diff --git a/103_5.md b/ru/103_5.md similarity index 100% rename from 103_5.md rename to ru/103_5.md diff --git a/103_6.md b/ru/103_6.md similarity index 100% rename from 103_6.md rename to ru/103_6.md diff --git a/103_7.md b/ru/103_7.md similarity index 100% rename from 103_7.md rename to ru/103_7.md diff --git a/103_8.md b/ru/103_8.md similarity index 100% rename from 103_8.md rename to ru/103_8.md diff --git a/104_1.md b/ru/104_1.md similarity index 100% rename from 104_1.md rename to ru/104_1.md diff --git a/104_2.md b/ru/104_2.md similarity index 100% rename from 104_2.md rename to ru/104_2.md diff --git a/104_3.md b/ru/104_3.md similarity index 100% rename from 104_3.md rename to ru/104_3.md diff --git a/104_4.md b/ru/104_4.md similarity index 100% rename from 104_4.md rename to ru/104_4.md diff --git a/104_5.md b/ru/104_5.md similarity index 100% rename from 104_5.md rename to ru/104_5.md diff --git a/104_6.md b/ru/104_6.md similarity index 100% rename from 104_6.md rename to ru/104_6.md diff --git a/104_7.md b/ru/104_7.md similarity index 100% rename from 104_7.md rename to ru/104_7.md diff --git a/docx/101_1.docx b/ru/docx/101_1.docx similarity index 50% rename from docx/101_1.docx rename to ru/docx/101_1.docx index d1069e9..a9df9e5 100644 Binary files a/docx/101_1.docx and b/ru/docx/101_1.docx differ diff --git a/docx/101_2.docx b/ru/docx/101_2.docx similarity index 100% rename from docx/101_2.docx rename to ru/docx/101_2.docx diff --git a/docx/101_3.docx b/ru/docx/101_3.docx similarity index 100% rename from docx/101_3.docx rename to ru/docx/101_3.docx diff --git a/docx/102_1.docx b/ru/docx/102_1.docx similarity index 100% rename from docx/102_1.docx rename to ru/docx/102_1.docx diff --git a/docx/102_2.docx b/ru/docx/102_2.docx similarity index 100% rename from docx/102_2.docx rename to ru/docx/102_2.docx diff --git a/docx/102_3.docx b/ru/docx/102_3.docx similarity index 100% rename from docx/102_3.docx rename to ru/docx/102_3.docx diff --git a/docx/102_4.docx b/ru/docx/102_4.docx similarity index 100% rename from docx/102_4.docx rename to ru/docx/102_4.docx diff --git a/docx/102_5.docx b/ru/docx/102_5.docx similarity index 100% rename from docx/102_5.docx rename to ru/docx/102_5.docx diff --git a/docx/103_1.docx b/ru/docx/103_1.docx similarity index 100% rename from docx/103_1.docx rename to ru/docx/103_1.docx diff --git a/docx/103_2.docx b/ru/docx/103_2.docx similarity index 100% rename from docx/103_2.docx rename to ru/docx/103_2.docx diff --git a/docx/103_3.docx b/ru/docx/103_3.docx similarity index 100% rename from docx/103_3.docx rename to ru/docx/103_3.docx diff --git a/docx/103_4.docx b/ru/docx/103_4.docx similarity index 100% rename from docx/103_4.docx rename to ru/docx/103_4.docx diff --git a/docx/103_5.docx b/ru/docx/103_5.docx similarity index 100% rename from docx/103_5.docx rename to ru/docx/103_5.docx diff --git a/docx/103_6.docx b/ru/docx/103_6.docx similarity index 100% rename from docx/103_6.docx rename to ru/docx/103_6.docx diff --git a/docx/103_7.docx b/ru/docx/103_7.docx similarity index 100% rename from docx/103_7.docx rename to ru/docx/103_7.docx diff --git a/docx/103_8.docx b/ru/docx/103_8.docx similarity index 100% rename from docx/103_8.docx rename to ru/docx/103_8.docx diff --git a/docx/104_1.docx b/ru/docx/104_1.docx similarity index 100% rename from docx/104_1.docx rename to ru/docx/104_1.docx diff --git a/docx/104_2.docx b/ru/docx/104_2.docx similarity index 100% rename from docx/104_2.docx rename to ru/docx/104_2.docx diff --git a/docx/104_3.docx b/ru/docx/104_3.docx similarity index 100% rename from docx/104_3.docx rename to ru/docx/104_3.docx diff --git a/docx/104_4.docx b/ru/docx/104_4.docx similarity index 100% rename from docx/104_4.docx rename to ru/docx/104_4.docx diff --git a/docx/104_5.docx b/ru/docx/104_5.docx similarity index 100% rename from docx/104_5.docx rename to ru/docx/104_5.docx diff --git a/docx/104_6.docx b/ru/docx/104_6.docx similarity index 100% rename from docx/104_6.docx rename to ru/docx/104_6.docx diff --git a/docx/104_7.docx b/ru/docx/104_7.docx similarity index 100% rename from docx/104_7.docx rename to ru/docx/104_7.docx diff --git a/ru/docx/~$101_1.docx b/ru/docx/~$101_1.docx new file mode 100644 index 0000000..2e5eb1b Binary files /dev/null and b/ru/docx/~$101_1.docx differ diff --git a/homework/101_1_dz.txt b/ru/homework/101_1_dz.txt similarity index 100% rename from homework/101_1_dz.txt rename to ru/homework/101_1_dz.txt diff --git a/homework/101_2_dz.txt b/ru/homework/101_2_dz.txt similarity index 100% rename from homework/101_2_dz.txt rename to ru/homework/101_2_dz.txt diff --git a/homework/101_3_dz.txt b/ru/homework/101_3_dz.txt similarity index 100% rename from homework/101_3_dz.txt rename to ru/homework/101_3_dz.txt diff --git a/homework/102_1_dz.txt b/ru/homework/102_1_dz.txt similarity index 100% rename from homework/102_1_dz.txt rename to ru/homework/102_1_dz.txt diff --git a/homework/102_2_dz.txt b/ru/homework/102_2_dz.txt similarity index 100% rename from homework/102_2_dz.txt rename to ru/homework/102_2_dz.txt diff --git a/homework/102_3_dz.txt b/ru/homework/102_3_dz.txt similarity index 100% rename from homework/102_3_dz.txt rename to ru/homework/102_3_dz.txt diff --git a/homework/102_4_dz.txt b/ru/homework/102_4_dz.txt similarity index 100% rename from homework/102_4_dz.txt rename to ru/homework/102_4_dz.txt diff --git a/homework/102_5_dz.txt b/ru/homework/102_5_dz.txt similarity index 100% rename from homework/102_5_dz.txt rename to ru/homework/102_5_dz.txt diff --git a/homework/103_1_dz.txt b/ru/homework/103_1_dz.txt similarity index 100% rename from homework/103_1_dz.txt rename to ru/homework/103_1_dz.txt diff --git a/homework/103_2_dz.txt b/ru/homework/103_2_dz.txt similarity index 100% rename from homework/103_2_dz.txt rename to ru/homework/103_2_dz.txt diff --git a/homework/103_3_dz.txt b/ru/homework/103_3_dz.txt similarity index 100% rename from homework/103_3_dz.txt rename to ru/homework/103_3_dz.txt diff --git a/homework/103_4_dz.txt b/ru/homework/103_4_dz.txt similarity index 100% rename from homework/103_4_dz.txt rename to ru/homework/103_4_dz.txt diff --git a/homework/103_5_dz.txt b/ru/homework/103_5_dz.txt similarity index 100% rename from homework/103_5_dz.txt rename to ru/homework/103_5_dz.txt diff --git a/homework/103_6_dz.txt b/ru/homework/103_6_dz.txt similarity index 100% rename from homework/103_6_dz.txt rename to ru/homework/103_6_dz.txt diff --git a/homework/103_7_dz.txt b/ru/homework/103_7_dz.txt similarity index 100% rename from homework/103_7_dz.txt rename to ru/homework/103_7_dz.txt diff --git a/homework/103_8_dz.txt b/ru/homework/103_8_dz.txt similarity index 100% rename from homework/103_8_dz.txt rename to ru/homework/103_8_dz.txt diff --git a/homework/104_1_dz.txt b/ru/homework/104_1_dz.txt similarity index 100% rename from homework/104_1_dz.txt rename to ru/homework/104_1_dz.txt diff --git a/homework/104_2_dz.txt b/ru/homework/104_2_dz.txt similarity index 100% rename from homework/104_2_dz.txt rename to ru/homework/104_2_dz.txt diff --git a/homework/104_3_dz.txt b/ru/homework/104_3_dz.txt similarity index 100% rename from homework/104_3_dz.txt rename to ru/homework/104_3_dz.txt diff --git a/homework/104_4_dz.txt b/ru/homework/104_4_dz.txt similarity index 100% rename from homework/104_4_dz.txt rename to ru/homework/104_4_dz.txt diff --git a/homework/104_5_dz.txt b/ru/homework/104_5_dz.txt similarity index 100% rename from homework/104_5_dz.txt rename to ru/homework/104_5_dz.txt diff --git a/homework/104_6_dz.txt b/ru/homework/104_6_dz.txt similarity index 100% rename from homework/104_6_dz.txt rename to ru/homework/104_6_dz.txt diff --git a/homework/104_7_dz.txt b/ru/homework/104_7_dz.txt similarity index 100% rename from homework/104_7_dz.txt rename to ru/homework/104_7_dz.txt