В данном материале рассматривается назначение директории /sys в Linux дистрибутивах. Рассматриваются также отличия директории /sys от /proc и /dev
*Прямая ссылка на видео https://www.youtube.com/watch?v=XKquD3YbwF8
**Пересказ видео https://300.ya.ru/
Пересказ видео
Управление ядром Linux на ходу
- Ядро Linux можно глубоко настроить на стадии сборки.
- Linux также поддерживает настройку на ходу.
- Настройка осуществляется через директорию /sys.
Роль директории /sys
- /sys позволяет настраивать возможности ядра после сборки.
- Используется различными утилитами и менеджерами настроек.
- Ядро передаёт данные в эту директорию.
Сравнение с другими директориями
- /sys отличается от /proc и /dev.
- /proc предоставляет информацию о процессах.
- /dev содержит файлы устройств.
Содержимое директории /sys
- Включает директории для устройств и настройки ядра.
- Позволяет настраивать планировщик задач и другие центральные компоненты.
- Предоставляет как статическую, так и динамическую информацию.
Примеры команд
- Команды, такие как lsusb, используют данные из /sys.
- Ядро динамически обновляет информацию о подключённых устройствах.
- /sys требует осторожности при ручном редактировании, так как изменения могут сломать систему.
Информация о температуре
- Команда показывает текущую температуру.
- Утилита берёт информацию из определённой директории.
- Btop также берёт информацию из этой директории.
- Температура в директории делится на 1000 для получения реального значения.
Настройки Power Supply
- Команда показывает режим работы СПУ.
- Автор не знает, почему его СПУ в режиме Power Save.
- В директориях может быть более точная информация.
- Настройки Power Supply могут варьироваться в зависимости от оборудования.
Информация о звуковых картах
- Команда показывает звуковые карты в системе Pipewire.
- Встроенная звуковая карта и звуковая карта веб-камеры.
- Большое количество устройств и возможностей для работы с embedded девайсами.
Настройка одноплатных компьютеров
- Возможность настройки GPO через директорию.
- Необходимость в директории при подключении кастомных устройств.
- Большое количество различных шин и сценариев использования Linux.
Сложность и многообразие
- Сложность и многообразие устройств отражают сложность сценариев использования Linux.
- Спасибо за внимание, до свидания.
Расшифровка видео
0:00
Друзья, всем привет. Сегодня будем
0:02
говорить об управлении ядром Linux на
0:06
ходу. Мы все с вами знаем, что можно
0:10
глубоко отконфигурировать Linux на
0:12
стадии его сборки через определение, с
0:17
какими модулями он будет работать. Но
0:19
дело в том, что любая система, она имеет
0:24
возможность настройки, и в том числе
0:25
Linux тоже имеет возможность настройки.
0:29
И в данном случае мы будем говорить не о
0:31
конфигурировании
0:35
ядра
0:37
через составление этого ядра как набора
0:41
тех или иных элементов, а уже настройку
0:43
на ходу тех возможностей, которые есть.
0:47
И
0:48
поговорим о
0:49
сердце этой системы специальной
0:52
директории Сис, которая позволяет
0:56
подобную настройку осуществлять.
0:58
Безусловно,
1:00
эту директорию, как правило, используют
1:03
различные утилиты. В частности, в любом
1:06
дистрибутиве Linux есть некий менеджер
1:09
настроек, где можно менять яркость
1:11
экрана, где можно управлять питанием,
1:13
где можно
1:15
менять самые различные параметры.
1:19
И вот это
1:22
делается в большинстве случаев этими
1:25
программами невидимо для нас через
1:27
директорию Сис. Но не только директория
1:31
м не только вот
1:33
менеджеры настроек занимаются этим,
1:36
также этим занимаются утилиты наподобие,
1:40
например, которые создают экосистему для
1:43
работы устройства после того, как оно,
1:46
да, обнаружено системой. То есть ядро
1:48
передаёт нам данные именно в эту
1:52
директорию. И кроме эй, да, вот фонового
1:58
процесса UDF, есть ещё множество
1:59
процессов, которые так или иначе
2:01
взаимодействуют с этой м директорией. И
2:05
о том, что она из себя представляет,
2:07
какое у неё содержимое, какие
2:08
возможности, чем она отличается от
2:11
другой специальной директории, такой как
2:13
прок, другой специальной директории,
2:15
такой как деф. Вот мы с вами сегодня
2:18
будем сегодня мы с вами об этом будем
2:30
говорить. Посмотрим содержимое сейчас
2:33
этой
2:42
директории. Давайте зайдём вот в эту
2:44
директорию.
2:47
Сис. Этой директории, кстати, не было в
2:50
классическом
2:52
Юниксе. И это уже, ну, насколько я
2:56
помню, это 2,6 ядро, и это где-то начало
3:00
нулевых появлений этой директории. А её
3:03
важно не путать по функционалу с вот
3:05
этой директорией
3:08
прок и с другой специальной директорией
3:11
деф. И зачастую вот многие фоновые
3:15
процессы, которые интенсивно работают
3:20
с управлением системы, они могут всеми
3:23
тремя пользоваться, да, но в основном
3:26
для тех или иных фоновых процессов, да,
3:28
в
3:30
приоритете какая-то одна из этих
3:32
директорий. Чем они все, что между этими
3:35
директориями общими? Ну, если вот мы с
3:37
вами пройдём в корень, если мы с вами с
3:39
вами пройдём в
3:43
корень, то мы увидим следующее. У нас
3:47
есть,
3:49
э, наша директория Home, где
3:51
непосредственно содержится один или
3:54
несколько пользователей. И у нас есть
3:57
там директории для монтирования
3:59
устройств, у нас есть для опциональных
4:01
пакетов, у нас есть директория root, где
4:04
всё то же самое, что обычно для обычных
4:06
пользователей, только для рута. Но у нас
4:09
есть некоторые специфические директории
4:11
помимо ЭТК, где у нас конфиги, помимо
4:14
директорий, где у нас непосредственно
4:16
содержатся наши программы, которые
4:19
используются в нашей системе, у нас есть
4:21
специфическая директория boot.
4:26
где содержится непосредственно наше само
4:28
ядро и связанные с ней адреса функций,
4:33
которые необходимы для работы ядра. А
4:36
содержится Инитрд, который при
4:40
загрузке системы позволяет, да, вот
4:44
будстрапинг системы сделать, то
4:47
есть
4:49
выполнить непосредственно загрузку идра
4:51
и помочь ему в начале работы. И есть вот
4:56
эти директории. Ну, деф директория — это
5:01
директория, давайте в неё пройдём. Эта
5:04
директория представляет из себя файлы
5:07
различных устройств. То есть в Юниксе
5:09
всё файл. И, соответственно, когда мы
5:12
заходим в такую директорию, мы с вами
5:15
видим отображение этих устройств. Ну и
5:18
зачастую редко, когда вручную здесь
5:21
кто-то что-то делает. В основном опять
5:23
различные системные утилиты. Здесь могут
5:26
создавать файлы устройств, настраивать
5:28
на них права, кто может ими
5:29
пользоваться. И эти устройства, эти
5:32
файлы устройств — это скорее нереальные,
5:36
да, файлы. Это не те же самые там
5:38
текстовые файлы. Это скорее речь идёт о
5:41
файлах,
5:42
которые там само же ядро пишет в в эти
5:46
же файлы и передаёт данные
5:48
непосредственно в структуры. Но для нас
5:50
они всё равно видны, поскольку на
5:52
пользовательском пространстве тоже
5:54
некоторые манипуляции с ними можно
5:56
осуществлять.
5:59
И это вот, повторюсь, файлы
6:03
устройств. Когда мы говорим о директории
6:07
прок, то мы говорим о директории,
6:10
которая в основном в
6:12
основном а предоставляет информацию о
6:15
процессах. То есть вот мы здесь видим
6:17
различные процессы, номера. И если мы
6:20
зайдём, ну вот, например, вот в такой
6:22
процесс, то мы здесь увидим аэ данные
6:26
по memory, мы увидим здесь данные там
6:30
Skedler, мы увидим данные Mounts и так
6:32
далее, и так далее. То есть это уже
6:35
отражение тех структур, которые есть в
6:38
ядре, в памяти ядра, вот в
6:39
пользовательское пространство, чтобы с
6:41
этим можно было работать. И здесь уже
6:44
для прока, ну, самая такая наглядная,
6:47
наверное, программа для
6:54
работы с этой директорией,
6:57
это, да, или BП, любые утилиты они
7:01
активно используют, но не только они. И
7:05
то есть это скорее для сбора информации,
7:07
хотя некоторые команды туда тоже можно
7:10
прописывать в прок, но это уже скорее
7:13
исключение. То есть в основном это для
7:15
активного такого забора и для забора,
7:17
как правило, динамической информации,
7:19
хотя не только динамической. То есть
7:21
Linux система развивалась постепенно,
7:23
поэтому здесь нету вот такой эталонной
7:25
академичности, где вот что.
7:28
То есть это все информации, которые
7:31
мониторятся автоматически, то есть и
7:33
SIS, и DEF, и прок — это такие окна в
7:38
ядро. То есть это специфические, то есть
7:40
это файлы, но это специфические
7:43
файлы. И теперь главный герой наш Сис.
7:46
Какое он место занимает среди всех этих
7:48
директорий? А это по сути возможность
7:52
настроить нам ядро. То есть, когда уже
7:54
на стадии сборки за нас, например,
7:56
авторы дистрибутива определили как там
8:00
конфигурацию нашего ядра или там через
8:04
какие-то специальные механизмы, там ядро
8:06
было
8:07
собрано, то эти модули, да, которые
8:11
зачастую являются драйверами, мы можем
8:15
настраивать. Но не только драйверы, то
8:17
есть не только мы можем настраивать там
8:19
параметры там мышки или клавиатуры или
8:21
ещё какие-то а
8:24
базовые вещи, связанные
8:27
с
8:29
работой сердца операционной системы, да,
8:32
там планировщика задач, ээ того же
8:34
самого. Также на это можно влиять через
8:37
эту директорию. В данном
8:41
случае опять мы говорим о том, что в
8:45
большинстве случаев этим занимаются
8:47
процессы, да, специальные, но в
8:51
определённых сценариях, специфичных
8:52
сценариях, когда Linux настраивается под
8:55
свои какие-то определённые цели, то либо
8:57
какие-то автоматические скрипты могут
8:59
делать какие-то настройки, либо, может
9:01
быть, даже человек вручную это делает.
9:03
Но это такая вещь уже ээ нишевая. То
9:07
есть в
9:08
основном
9:11
большинству людей не нужно туда идти. И
9:14
тем более, что заходя в эту директорию,
9:16
там всё под рутом. И, естественно, любое
9:18
неловкое движение может сломать систему.
9:22
И что здесь присутствует? Здесь
9:25
присутствуют, э, различные устройства,
9:29
да, директории, которые предоставляют
9:31
нам доступ к различным устройствам. и
9:35
присутствуют, более того, возможности
9:40
настраивать то, что является центральной
9:44
частью в ядре. Ну вот, как мы сказали,
9:45
тот же самый планировщик задач, но не
9:48
только о настройках идёт речь. Считывать
9:51
отсюда информацию тоже можно. И в этом
9:54
смысле несколько
9:57
делится здесь уже ниша это с директорией
10:00
прок. Но прок — это больше на
10:02
динамическое, да, некую некая
10:04
информация. Здесь больше уже какая-то
10:06
статическая информация
10:11
предоставляется. Так, давайте глянем
10:13
некоторые команды, которые хотелось бы
10:16
здесь показать. Ну вот. А что здесь
10:19
содержится? Ну, например, здесь
10:21
содержится, если мы вот выполним вот
10:24
такую команду, то вот вы же знаете, да,
10:27
там команду, например, вот такую, то
10:28
есть которая показывает, какие у нас
10:30
есть э интерфейсы, да, то есть lowback,
10:34
Wi-Fi и проводное соединение, да, то
10:37
есть это вот то, что показывают нам вот
10:39
эти. Но и так как, повторюсь, в Unix всё
10:43
является файлом, то такие вещи здесь
10:47
тоже представлены, да, то есть они
10:49
находятся здесь. А более интересная
10:53
директория, например, здесь вот
10:56
в категории devices, да? Ну вот, если мы
10:59
вот так сюда попробуем пройти,
11:05
посмотреть, то мы здесь увидим различные
11:08
категории девайсов, шины. И, в
11:11
частности,
11:14
это этот файл, он предоставляет
11:17
информацию о том, какие девайсы у нас,
11:20
э, подключаются, подключены к системе,
11:23
да? То есть ядро динамически говорит,
11:24
что ага, просто когда грузится драйвер,
11:26
он регистрируется в списке, э, ну,
11:29
скажем так, драйверов, которые есть у
11:32
системы, и система нам выдаёт
11:35
соответствующую
11:37
информацию. И после, соответственно,
11:39
такие вещи, как UDF, могут это
11:42
мониторить. Ну и вот команды наподобие
11:44
там ls USB, да, которая показывает,
11:47
какие подключены мм USB девайсы. Также
11:51
здесь эта команда работает
11:56
забирают данные
11:58
отсюда. То есть я не говорю конкретно из
12:00
этого файла, да? Здесь показывается
12:02
конкретно по PCI и то, что подключается.
12:04
Я имею в виду из этой
12:06
директории в целом, да, SIS
12:11
директории. То есть здесь конкретно
12:13
показывается PCI устройство.
12:17
А, возможно, вы когда-то обращали
12:20
внимание, что есть вот такая команда,
12:22
например, там,
12:25
да, которая показывает нам текущие
12:29
температуру. Это, э, утилита также берёт
12:33
информацию из, а, вот этой директории.
12:36
Ну и, соответственно, Bтоп, да, который
12:39
показывает, в том числе и температуру, в
12:41
отличие от обычного там айштопа.
12:45
также берёт информацию
12:53
оттуда. Здесь
12:55
если кому-то интересно, где это
12:57
конкретно вот находится, ну вот можно в
12:59
классе Thmalл, да, найти такую
13:02
информацию. Но здесь нужно понимать, что
13:05
запутаться в этих во всех директориях
13:07
легко, потому что, а, большое количество
13:12
существует самого разного оборудования,
13:14
и мы даже о нём не задумываемся. Мы
13:16
думаем, там, ну, вот есть процессор,
13:18
есть там веб-камера, есть
13:22
видеокарта, но на самом деле самые
13:25
различные устройства у нас также
13:27
представляются в виде файлов. Ну вот
13:30
здесь, насколько я понимаю, температура
13:33
она, ну, нужно здесь делить на 1.000, и
13:36
тогда мы уже поймём, какая здесь
13:40
температура.
13:43
Следующее, можно даже вот такую
13:46
здесь команду
13:49
посмотреть. Power Save, да? То есть это
13:52
в каком режиме работает СПУ. Я, если
13:54
честно, не знаю, почему он у меня в
13:56
режиме Power Save. Или, может быть, даже
13:59
я не потому что у меня компьютер
14:01
работает от розетки, но и у меня
14:05
десктоп, но тем не
14:07
менее вот я здесь вижу такую
14:10
характеристику. Может быть, где-то
14:12
здесь, здесь, повторюсь, запутаться
14:14
легко, может быть, где-то здесь, в этих
14:18
директориях находится более некая
14:20
правильная
14:21
информация. То есть здесь нужно
14:24
присматриваться к этому по всему. Ну,
14:26
тут надо понимать, да, что все эти
14:27
директории,
14:29
они автоматические и, в общем-то, они не
14:34
вот что называется user friendendly. То
14:36
есть они не, по сути, они не
14:39
предполагают, что кто-то вручную там
14:40
будет ходить, разбираться. То есть это
14:42
скорее уже специальные утилиты знают,
14:44
где где что там.
14:47
Потом вот эти все настройки Power
14:50
Supply, да, то есть можно тоже искать
14:52
здесь, но вот здесь вот у меня ничего
14:54
нету, но в другие может быть было бы у
14:56
меня другое оборудование, да, здесь бы
14:58
что-то показывалось. Такую вот команду
15:00
можно ещё
15:05
выполнить. Это, а, скорее для вот э
15:10
какого-нибудь пайпвайера.
15:17
для системы Pipewire
15:20
информации, то есть какие звуковые карты
15:26
содержатся, то есть или там для пульса
15:29
аудио. То есть вот это, насколько я
15:33
понимаю, это встроенная звуковая карта в
15:36
мою материнскую плату, а это, видимо,
15:39
звуковая карта, обнаружена от моей
15:41
веб-камеры. Это моё предположение.
15:45
То есть устройств здесь гигантское
15:48
количество. И,
15:50
э, особенно здесь богатые такие
15:54
возможности для тех,
15:58
кто работает, например, с какими-то
16:00
embeded девайсами,
16:03
поскольку здесь присутствует возможность
16:11
настройки, да? То есть, если мы берём
16:14
какой-то одноплатный компьютер и у него
16:17
есть
16:20
GPO, то, соответственно, например,
16:26
через такую вот директорию, да, можно
16:30
нам здесь делать, устанавливать пины в
16:33
те или иные состояния. опять, возможно,
16:37
какие-то библиотеки или какой-то софт
16:39
возьмёт, да, за вас эта вещь, но если
16:41
вы, например, что-то кастомное
16:43
присоединяете, то может быть
16:46
необходимость вот именно в такой
16:48
директории. То есть здесь, э, в
16:52
принципе, очень большое количество
16:54
различных шин, но нужно понимать, что
16:57
сценариев использования Linux их
16:59
гигантское количество. И по сути вот эта
17:02
сложность, э, и многообразие всех этих
17:05
девайсов, оно отображает сложность
17:09
сценария, в котором Linux может
17:17
использоваться. Друзья, это всё. Это
17:23
всё. Вам спасибо за внимание. До
17:27
свидания.


