По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Ядро Linux является основой Unix-подобных операционных систем. Ядро отвечает за связь между оборудованием и программным обеспечением и за распределение доступных ресурсов. Все дистрибутивы Linux основаны на предопределенном ядре. Но если вы хотите отключить несколько параметров и драйверов или попробовать экспериментальные исправления, вам необходимо собрать ядро Linux. В этом пошаговом руководстве вы узнаете, как собрать и скомпилировать ядро Linux с нуля. Сборка ядра Linux Процесс создания ядра Linux состоит из семи простых шагов. Однако процедура требует значительного времени для завершения, в зависимости от скорости системы. Примечание. Если версия на веб-сайте ядра не совпадает с версией из приведенных ниже шагов, используйте эти команды и замените номер версии ядра. Шаг 1. Загрузите исходный код 1. Посетите официальный сайт ядра www.kernel.org и загрузите последнюю версию. Загруженный файл содержит сжатый исходный код. 2. Откройте терминал и используйте команду wget для загрузки исходного кода ядра Linux: wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.6.tar.xz По завершении загрузки в выходных данных отображается сообщение "saved". Шаг 2: извлеките исходный код Когда файл будет готов, запустите команду tar, чтобы извлечь исходный код: tar xvf linux-5.9.6.tar.xz Вывод отображает извлеченный исходный код ядра: Шаг 3: Установите необходимые пакеты Перед сборкой ядра установите дополнительные пакеты. Для этого запустите эту команду: sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison Команда, которую мы использовали выше, устанавливает следующие пакеты: git - отслеживает и записывает все изменения исходного кода во время разработки. Это также позволяет отменить изменения. fakeroot - упаковочный инструмент, создающий фальшивую корневую среду. build-essential - Устанавливает инструменты разработки, такие как C, C++, gcc и g++. ncurses-dev - Библиотека программирования, предоставляющая API для текстовых терминалов. xz-utils - обеспечивает быстрое сжатие и распаковку файлов. libssl-dev - поддерживает SSL и TSL, которые шифруют данные и делают интернет-соединение безопасным. bc (Basic Calculator) - математический язык сценариев, поддерживающий интерактивное выполнение операторов. flex (Fast Lexical Analyzer Generator) - генерирует лексические анализаторы, преобразующие символы в токены. libelf-dev - выдает общую библиотеку для управления файлами ELF (исполняемые файлы, дампы ядра и объектный код) bison - генератор парсера GNU, который преобразует описание грамматики в программу на языке C. Шаг 4: Настройте ядро Исходный код ядра Linux поставляется с конфигурацией по умолчанию. Однако вы можете настроить его под свои нужды. Для этого выполните следующие действия: 1. Перейдите к каталогу linux-5.9.6. с помощью команды cd: cd linux-5.9.6 2. Скопируйте существующий файл конфигурации с помощью команды cp: cp -v /boot/config-$(uname -r) .config 3. Чтобы внести изменения в файл конфигурации, выполните команду make: make menuconfig Команда запускает несколько скриптов, которые затем открывают меню конфигурации: 4. Меню конфигурации включает в себя такие параметры, как прошивка, файловая система, сеть и параметры памяти. Используйте стрелки, чтобы сделать выбор, или выберите HELP, чтобы узнать больше о вариантах. Когда вы закончите вносить изменения, выберите SAVE, а затем выйдите из меню. Примечание. Изменение настроек некоторых параметров может привести к тому, что ядро не будет работать. Если вы не знаете, что изменить, оставьте настройки по умолчанию. Шаг 5: Соберите ядро 1. Начните сборку ядра, выполнив следующую команду: make Процесс сборки и компиляции ядра Linux занимает некоторое время. Терминал перечисляет все компоненты ядра Linux: управление памятью, драйверы оборудования, драйверы файловой системы, сетевые драйверы и управление процессами. 2. Установите необходимые модули с помощью этой команды: sudo make modules_install 3. Наконец, установите ядро, набрав: sudo make install Вывод показывает готово, когда закончено: Шаг 6. Обновите загрузчик (необязательно) Загрузчик GRUB - это первая программа, которая запускается при включении системы. Команда make install выполняет этот процесс автоматически, но вы также можете сделать это вручную. 1. Обновите initramfs до установленной версии ядра: sudo update-initramfs -c -k 5.9.6 2. Обновите загрузчик GRUB с помощью этой команды: sudo update-grub Терминал выведет процесс и подтверждающее сообщение: Шаг 7: перезагрузите и проверьте версию ядра Когда вы выполните описанные выше действия, перезагрузите компьютер. Когда система загрузится, проверьте версию ядра с помощью команды uname: uname -mrs Терминал покажет текущую версию ядра Linux. Итог В этом пошаговом руководстве вы узнали, как собрать ядро Linux с нуля и установить необходимые пакеты.
img
Во всем мире умные города являются неотъемлемой частью устойчивого развитие общества. Основные концепции системы "Умный город": Контроль дорожного движения; Управление муниципальным транспортом; Управление общественным транспортом; Управление парковками. Умные города гарантируют, что их граждане доберутся от точки "А" до точки "Б" максимально безопасно и эффективно. Для достижения этой цели муниципалитеты обращаются к разработке IoT (Internet of Things) и внедрению интеллектуальных транспортных решений. Интеллектуальные дорожные решения используют различные типы датчиков, а также извлекают данные GPS из смартфонов водителей для определения количества, местоположения и скорости транспортных средств. В то же время интеллектуальные светофоры, подключенные к облачной платформе управления, позволяют отслеживать время работы "зеленого света" и автоматически изменять огни в зависимости от текущей дорожной ситуации для предотвращения заторов на дороге. Примеры концепций системы "Умного города": Смарт-паркинг С помощью GPS-данных система автоматически определяет, заняты ли места для парковки или доступны, и создают карту парковки в режиме реального времени. Когда ближайшее парковочное место становится бесплатным, водители получают уведомление и используют карту на своем телефоне, чтобы найти место для парковки быстрее и проще, а не заниматься поиском парковочного места вслепую. Служебные программы Умные города позволяют гражданам экономить деньги, предоставляя им больше контроля над своими домашними коммунальными услугами. IoT обеспечивает различные подходы к использованию интеллектуальных утилит: Смарт-счетчики и выставление счетов; Выявление моделей потребления; Удаленный мониторинг. Искусственный интеллект Искусственный интеллект становится ведущим драйвером в цифровой трансформации экономики и социальной жизни. Социальная организация производства и предоставления услуг меняются. Рутинные операции выполняются роботами. Решения принимаются на основе искусственного интеллекта. С помощью него можно предотвратить управленческие ошибки и облегчить принятие решений во всех сферах городского хозяйства и управления. Преобладание цифровых документов над бумажными Реализация этой концепции позволяет городу в полной мере использовать все преимущества цифровых технологий: Оказание государственных услуг более прозрачное; Оптимизация административных процедур; Наиболее эффективное использование ресурсов. Промышленность Реализация проектов по комплексному онлайн-мониторингу промышленных объектов. Благодаря данной системе, можно контролировать состояние системы, управлять ей, а также получать статистику. Транспорт Данные от датчиков IoT могут помочь выявить закономерности того, как граждане используют транспорт. Чтобы провести более сложный анализ, интеллектуальные решения для общественного транспорта могут объединить несколько источников, таких как продажа билетов и информация о движении. Благодаря реализации данного направления можно осуществлять мониторинг транспортной инфраструктуры и мониторинг транспортных средств. Современные решения способны существенно повысить эффективность грузоперевозок, а также оптимизировать работу железнодорожных путей и дорожного покрытия, следя за температурой и влажностью. Известные уязвимости представленных систем В настоящее время происходит рост технологических возможностей, а также рост разнообразия различных электронных устройств и оборудования, используемых в автоматизированных системах управления, всё это ведет к повышению количества уязвимостей к данным системам. В добавок ко всему, процесс введения в эксплуатацию различных решений не дает стопроцентной гарантии того, что не будут допущены различные ошибки в глобальном проектировании. Это создает вероятность появления дополнительных архитектурных уязвимостей. Злоумышленники могут воспользоваться известными проблемами с безопасностью компонентов жизнеобеспечения в системах автоматизации и предпринять попытку реализации атаки. Такие действия злоумышленников могут прервать нормальную работу такого масштабного объекта, как, например, аэропорт, повлечь за собой вывод из нормальной работы системы жизнеобеспечения, блокируя систему безопасности. И, будучи незамеченными вовремя, способны привести к непоправимым последствиям. Большинство систем не защищено от попыток внедрения. Обычно все решения в области защиты систем реализуются на уровне межсетевого экрана. Но в случае с попытками атаки на столь критичные системы этого оказывается недостаточно. Роль информационной безопасности для экосистем Информационная безопасность связана с внедрением защитных мер от реализации угрозы несанкционированного доступа, что является частью управления информационными рисками и включает предотвращение или уменьшение вероятности несанкционированного доступа. Основной задачей информационной безопасности является защита конфиденциальности, целостности и доступности информации, поддержание продуктивности организации часто является важным фактором. Это привело к тому, что отрасль информационной безопасности предложила рекомендации, политики информационной безопасности и отраслевые стандарты в отношении паролей, антивирусного программного обеспечения, брандмауэров, программного обеспечения для шифрования, юридической ответственности и обеспечения безопасности, чтобы поделиться передовым опытом. Информационная безопасность достигается через структурированный процесс управления рисками, который: Определяет информацию, связанные активы и угрозы, уязвимости и последствия несанкционированного доступа; Оценивает риски; Принимает решения о том, как решать или рассматривать риски, т. е. избегать, смягчать, делиться или принимать; Отслеживает действия и вносит коррективы для решения любых новых проблем, изменений или улучшений. Типы протоколов для системы управления "Умным городом" Протоколы и стандарты связи при организации Интернета вещей можно в широком смысле разделить на две отдельные категории. Сетевые Протоколы Интернета Вещей Сетевые протоколы Интернета вещей используются для подключения устройств по сети. Это набор коммуникационных протоколов, обычно используемых через Интернет. При использовании сетевых протоколов Интернета вещей допускается сквозная передача данных в пределах сети. Рассмотрим различные сетевые протоколы: NBIoT (Narrowband Internet of Things) Узкополосный IoT или NB-IoT это стандарт беспроводной связи для Интернета вещей (IoT). NB-IoT относится к категории сетевых стандартов и протоколов маломощных глобальных сетей (LPWAN low power wide area network), позволяющих подключать устройства, которым требуются небольшие объемы данных, низкая пропускная способность и длительное время автономной работы. LoRaWan (Long Range Wide Area Network) глобальная сеть дальнего радиуса действия Это протокол для работы устройств дальнего действия с низким энергопотреблением, который обеспечивает обнаружение сигнала ниже уровня шума. LoRaWan подключает аккумуляторные устройства по беспроводной сети к интернету, как в частных, так и в глобальных сетях. Этот коммуникационный протокол в основном используется умными городами, где есть миллионы устройств, которые функционируют с малой вычислительной мощностью. Интеллектуальное уличное освещение это практический пример использования протокола LoRaWan IoT. Уличные фонари могут быть подключены к шлюзу LoRa с помощью этого протокола. Шлюз, в свою очередь, подключается к облачному приложению, которое автоматически управляет интенсивностью лампочек на основе окружающего освещения, что помогает снизить потребление энергии в дневное время. Bluetooth Bluetooth один из наиболее широко используемых протоколов для связи на короткие расстояния. Это стандартный протокол IoT для беспроводной передачи данных. Этот протокол связи является безопасным и идеально подходит для передачи данных на короткие расстояния, малой мощности, низкой стоимости и беспроводной связи между электронными устройствами. BLE (Bluetooth Low Energy) это низкоэнергетическая версия протокола Bluetooth, которая снижает энергопотребление и играет важную роль в подключении устройств Интернета вещей. ZigBee ZigBee это протокол Интернета вещей, что позволяет смарт-объекты, чтобы работать вместе. Он широко используется в домашней автоматизации. Более известный для промышленных установок, ZigBee используется с приложениями, которые поддерживают низкоскоростную передачу данных на короткие расстояния. Уличное освещение и электрические счетчики в городских районах, которые обеспечивают низкое энергопотребление, используют коммуникационный протокол ZigBee. Он также используется с системами безопасности и в умных домах и городах. Протоколы передачи данных Интернета Вещей Протоколы передачи данных IoT используются для подключения маломощных устройств Интернета вещей. Эти протоколы обеспечивают связь точка-точка с аппаратным обеспечением на стороне пользователя без какого-либо подключения к интернету. Подключение в протоколах передачи данных IoT осуществляется через проводную или сотовую сеть. К протоколам передачи данных Интернета вещей относятся: MQTT (Message Queuing Telemetry Transport) телеметрический транспорт очереди сообщений Один из наиболее предпочтительных протоколов для устройств Интернета вещей, MQTT собирает данные с различных электронных устройств и поддерживает удаленный мониторинг устройств. Это протокол подписки/публикации, который работает по протоколу TCP, что означает, что он поддерживает событийный обмен сообщениями через беспроводные сети. CoAP (Constrained Application Protocol) CoAP это протокол интернет-утилиты для функционально ограниченных гаджетов. Используя этот протокол, клиент может отправить запрос на сервер, а сервер может отправить ответ обратно клиенту по протоколу HTTP. Для облегченной реализации он использует протокол UDP (User Datagram Protocol) и сокращает использование пространства. AMQP (Advanced Message Queuing Protocol) расширенный протокол очереди сообщений AMQP это протокол уровня программного обеспечения для ориентированной на сообщения среды промежуточного программного обеспечения, обеспечивающий маршрутизацию и постановку в очередь. Он используется для надежного соединения точка-точка и поддерживает безопасный обмен данными между подключенными устройствами и облаком. AMQP состоит из трех отдельных компонентов, а именно: обмена, очереди сообщений и привязки. Все эти три компонента обеспечивают безопасный и успешный обмен сообщениями и их хранение. Это также помогает установить связь одного сообщения с другим. Протокол AMQP в основном используется в банковской отрасли. Всякий раз, когда сообщение отправляется сервером, протокол отслеживает сообщение до тех пор, пока каждое сообщение не будет доставлено предполагаемым пользователям/адресатам без сбоев. M2M (Machine-to-Machine) протокол связи между машинами Это открытый отраслевой протокол, созданный для обеспечения удаленного управления приложениями устройств Интернета вещей. Коммуникационные протоколы М2М являются экономически эффективными и используют общедоступные сети. Он создает среду, в которой две машины взаимодействуют и обмениваются данными. Этот протокол поддерживает самоконтроль машин и позволяет системам адаптироваться к изменяющимся условиям окружающей среды. Коммуникационные протоколы M2M используются для интеллектуальных домов, автоматизированной аутентификации транспортных средств, торговых автоматов и банкоматов. XMPP (eXtensible Messaging and Presence Protocol) расширяемый протокол обмена сообщениями и информацией о присутствии XMPP имеет уникальный дизайн. Он использует механизм для обмена сообщениями в режиме реального времени. XMPP является гибким и может легко интегрироваться с изменениями. XMPP работает как индикатор присутствия, показывающий состояние доступности серверов или устройств, передающих или принимающих сообщения. Помимо приложений для обмена мгновенными сообщениями, таких как Google Talk и WhatsApp, XMPP также используется в онлайн-играх, новостных сайтах и голосовом стандарте (VoIP). Протоколы Интернета вещей предлагают защищенную среду для обмена данными. Очень важно изучить потенциал таких протоколов и стандартов, так как они создают безопасную среду. Используя эти протоколы, локальные шлюзы и другие подключенные устройства могут взаимодействовать и обмениваться данными с облаком.
img
С чего начинается Linux? LPI (Linux Professional Institute) считает, что изучение необходимо начинать с темы “Обнаружение и настройка комплектующих”. Это работа с “железом”, работа с комплектующими, вся аппаратная часть, то что мы видим и настраиваем. На сайте LPI (www.lpi.org) мы можем найти, что должен знать обучающийся Linux. Включение и отключение встроенного “железа” Настройка системы с помощью или без помощи внешних устройств. Разница между устройствами хранения информации Разница между устройствами, поддерживающими “Горячую замену” Выделение аппаратных ресурсов для устройств Инструменты и утилиты для просмотра списка оборудования Инструменты и утилиты для работы с USB Разбор понятий sysfs, udev, dbus. Далее возьмем для простоты Ubuntu 20.04. Директория /sys – тут содержится вся информация о подключенных устройствах. В данную директорию монтируется файловая система sysfs. Sysfs — виртуальная файловая система в операционной системе Linux. Экспортирует в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах. В данной директории есть определенных набор основных папок: devices/ - все устройства ядра bus/ - перечень шин зарегистрированных в ядре. Шина - это общий путь, по которому информация передается от одного компонента к другому drivers/ - каталог драйверов block/ - каталог блочных устройств. В данном случае под устройством понимается совокупность физического устройства и драйвера. То есть, если при подключении USB-драйва некоторое новое устройство в /sys/devices/ появится всегда (можно говорить о наличии физического устройства), то появление каталога /sys/block/sda зависит ещё и от наличия в памяти необходимых драйверов (usb-storage, sd_mod и т.д. - включая все драйвера, необходимые для поддержки usb) class/ - группировка устройств по классам Навигацию по папкам осуществляем с помощью команды cd. Учитывая вложенность папок переход на уровень вверх, т.е в родительскую папку используем cd .., где двоеточие обозначает родительский каталог. А также переход в любую папку, например, cd /sys/bus. Чтобы посмотреть все что находится в каталоге используем команду ls Следующий момент, если мы зайдем в папку с устройствами, то мы можем увидеть, как ОС наша видит устройства. Не очень удобно. Чтобы удобнее было работать с устройствами, используется udev. Это менеджер устройств, который позволяет ОС предоставлять устройства в удобно используемом виде, чтобы было понятно нам. Далее папка /proc - она находится в корне нашей ОС и содержит информацию о всех запущенных процессах. Она создается в оперативной памяти при загрузке ПК. Количество файлов зависит от конфигурации данной системы. Для работы с файлами необходимы права суперпользователя. Внесенные изменения сохраняются только до конца сеанса. Cеанс - это каждая терминальная оболочка, запущенная процессами пользователя В данную папку монтируется виртуальная система procfs. В ней находится информация о состоянии ядра и вообще операционной системе в целом. Термин виртуальная система - это некая абстракция, которая позволяет философии Linux говорить, что “все является файлом”, а вообще если рассматривать понятие файловая система - это иерархическое хранилище данных, которые собраны в соответствии с определенной структурой. Вот так выглядит данная папка. Мы можем посмотреть всю информацию, которая нам известна о процессоре. Данная информация содержится в файле cpuinfo. Для вывода информации содержащейся в файле используем команду cat [имя_файла]. Результат работы команды cat cpuinfo ниже. Есть еще интересный файл mounts. Он показывает все смонтированные файловые системы. Результат вывода будет примерно такой. Можно увидеть, когда мы просматриваем содержимое каталога командой ls, то файлы подсвечиваются белым цветом, а каталоги синим. Переходим немного глубже по дереву каталогов файловой системы cd /prox/sys в данной папке все о настройках и процессах, происходящих с нашей текущей файловой системой. В данной директории есть несколько подпапок. И зайдем в подпапку, относящуюся к файловой системе fs. Посмотрим например file-max в данном файле информация о том сколько файлов одновременно может открыть пользователь. В последней версии число таких фалов увеличилось. До версии 20.04, число файлов было по умолчанию 204394. Можно изменить число или данные, например, с помощью команды echo 10000000000 > file-max Все изменения, которые мы делаем в данной директории они сохраняются только до перезагрузки. Это надо учитывать. Еще одна основная папка в корневой директории папка /dev – она в себе содержит интерфейсы работы с драйверами ядра. /dev/sd [буква] - жесткий диск (в системах на ядре Linux) /dev/sd [буква][номер] – раздел диска /dev/sr [номер] (/dev/scd [номер]) – CD-ROM /dev/eth [номер] – cетевой интерфейс Ethernet /dev/wlan [номер] – cетевой интерфейс Wireless /dev/lp [номер] – принтер /dev/video [номер] - устройство изображений, камеры, фотоаппараты /dev/bus/usb/001/[номер] – устройство номер на шине USB /dev/dsp – звуковой вывод Набор оборудования, команды вывода перечня устройств. Lsmod – информация о модуле ядра Lspci - информация об устройствах PCI Lspcmcia - информация об устройствах PCMCIA Lsusb - информация о шине USB Lshw – детальная информация о комплектующих. Команда Lsmod – утилита которая показывает нам модули ядра. Модуль ядра — это объект, который содержит код позволяющий расширить функционал ядра. Вот так выглядит ее вывод. По сути, если проводить аналогию с ОС Windows это драйвера. Вывод команды lshw Данная команда сканирует все устройства и выводит подробную информацию по ним и достаточно детально. Утилиты для работы с модулем ядра или утилиты управления модулями ядра. Lsmod – информация о модулях ядра Modinfo - информация о конкретном модуле Rmmod - удаление модуля ядра Insmod – установка модуля ядра Modprobe – деликатное удаление или добавление модуля ядра Фактически эти команды используются для добавления и удаления “драйверов” устройств в Linux системе. В большинстве случаев ОС самостоятельно подключит устройство, но бывает такое, что устройство не стандартное и требуется добавить модель, для того чтобы ядро ОС, корректно работало с данным устройством. Rmmod и insmod - команды грубые и не умеют работать с зависимостями, поэтому необходимо использовать Modprobe с различными ключами. Взаимодействие с CPU, основные понятия: IRQ - механизм прерываний IO адреса – обмен информацией между устройствами и CPU DMA – обращение к ОЗУ минуя CPU Выделение ресурсов. IRQ - механизм прерываний это система которая сообщает центральному процессору о наступлении какого либо события, на которое процессор должен отреагировать. Есть определенные адреса прерываний, их можно увидеть в биосе ПК. Есть стандартные номера прерываний. Ранее была необходимость при конфликте устройств назначать в ручном режиме данные прерывания, в настоящее время с появлением технологии Plug and Play, данная потребность исчезла. IO адреса – это область памяти в которой процессор считывает информацию об устройствах и туда же ее записывает. Это выделенный диапазон. Вообще она бывает в памяти и адресация по портам. DMA - технология появилась относительно недавно и позволяет устройствам обращаться к памяти минуя процессор. Существенно повышает быстродействие. Все технологии настраиваются автоматически. Устройства хранения: PATA – параллельный интерфейс SATA - последовательный интерфейс SCSI - стандарт передачи данных SAS – замена SCSI Современные SATA, SAS нужно понимать есть устройства поддерживающие горячую замену и устройства не поддерживающие горячую замену. Устройства, которые можно выдернуть из ПК, безболезненно, и это не обрушит систему, причем ОС не подвиснет, не перезагрузится, это устройства поддерживающие горячую замену, например, USB. Устройство, которое не поддерживает горячую замену, например, оперативная память. Если мы ее выдернем из материнской платы, ОС однозначно обрушится. Команда blkid показывает какие устройства у нас смонтированы. Нужно отметить, что у каждого устройства есть уникальный UUID (универсальный уникальный идентификатор), что udev умеет читать UUID, и он монтирует в понятном виде нам.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59