Prog Academy

MilTech · за підпискою

Linux для embedded-розробника

Черговий інженер вбудованого Linux: читаємо систему по її текстових слідах

  • 12 модулів
  • 35+ практичних завдань
  • Автоматична перевірка
  • Українською

Отримати доступ до курсу

Курс за підпискою · Навчання у власному темпі

Про курс

Що це за курс?

У дрона аерозйомки зазвичай два «мозки»: мікроконтролер, що тримає апарат у повітрі, і бортовий комп'ютер — невелика плата з Linux, яка пише відео, обробляє знімки, синхронізує логи й обслуговує радіоканал. Такі самі маленькі Linux-системи без монітора стоять у шлюзі наземної станції, у контролері поштомату, у наземному роботі доставки. Коли щось іде не так, у вас є віддалений доступ по SSH (Secure Shell) і текст: /proc/stat, /proc/meminfo, dmesg, журнал systemd, ls -l, df. Цей курс вчить читати ці тексти так, як це робить черговий інженер: швидко, точно і з розумінням, що саме означає кожне число.

Особливість курсу: ми не адмініструємо справжню систему, а пишемо на Python невеликі інструменти, які розбирають знімки її стану. Так ви одночасно розумієте, як влаштований Linux, і отримуєте власні скрипти для моніторингу й діагностики — від розрахунку завантаження CPU до агента стану пристрою.

Аудиторія

Для кого цей курс?

  • Python-розробник без досвіду Linux

    Розберетеся у файловій системі, правах, systemd і журналах, пишучи власні скрипти діагностики.

  • Шлях «QA-інженер у MilTech»

    Навчитеся діагностувати бортовий комп'ютер за /proc, dmesg і журналом systemd — по його текстових слідах.

  • Інженер з безпеки вбудованих систем

    Крок однойменного шляху: аудит прав і umask, правила udev, моніторинг диска і агент стану пристрою.

Спершу потрібна підготовка

Курс спирається на знання, позначені нижче як обов’язкові.

Потрібно знати

  • Python на рівні безкоштовного курсу «Основи програмування на Python» — зокрема уроки про рядки, списки, словники, читання багатьох рядків вводу і sorted з ключем.

    Детальніше
    • Коротка шпаргалка з цих тем є в першому уроці

Не потрібно знати заздалегідь

  • Пояснюємо в курсі

    Усе про Linux — файлову систему, права, ядро, пристрої, служби, журнали.

    Детальніше
    • Досвід з Linux допоможе, але не обов'язковий; регулярні вирази коротко пояснюємо там, де вони знадобляться
  • Встановлювати Linux чи мати плату — код запускається в браузері

Якщо цих знань ще немає — пройдіть курси за порядком:

  1. З нуля
  2. Обов’язково Основи програмування на Python
  3. Цей курс Linux для embedded-розробника

Результат

Що ви навчитеся робити

орієнтуватися в ієрархії файлової системи і безпечно перевіряти шляхи

перекладати права між rwx і вісімковим записом, рахувати umask, проводити аудит прав

рахувати завантаження CPU з /proc/stat і доступну пам'ять з /proc/meminfo

знаходити в dmesg підключення USB і послідовних портів, «мерехтіння» кабелю і проблеми живлення

зіставляти udev-правила з пристроями і розуміти порядок файлів правил

впорядковувати запуск юнітів systemd, фільтрувати журнал за часом і пріоритетом

рахувати наступний запуск cron, аналізувати systemd-analyze blame і критичний шлях завантаження

стежити за диском і ротацією логів і зібрати все в агент стану пристрою з гістерезисом тривог

Формат

Як влаштоване навчання?

12 модулів. У кожному — теорія з прикладом і 2–3 задачі з автоматичною перевіркою: написати з нуля, знайти помилку або розширити наявний інструмент. Кожне рішення перевіряється на прихованих знімках системи. П'ять тестів і три практичні форми-рішення допоможуть закріпити матеріал.

  • Теорія

    13 уроків з прикладами

  • Практика в браузері

    35+ завдань з автоматичною перевіркою

  • Тести

    5 тестів для самоперевірки

  • Власний темп

    Онлайн на my.prog.academy, без встановлення програм

AI-помічник

AI-помічник поруч під час навчання

На сторінках курсу, уроків і завдань є кнопка «Запитати AI». Помічник знає матеріали саме цього курсу й урок, на якому ви зараз, тому відповідає по темі й показує, у яких уроках про це йдеться.

  • Пояснить інакше

    Не зрозуміли урок з першого разу — попросіть пояснити простіше або дати ще один приклад.

  • Допоможе із завданням

    Застрягли — підкаже, з чого почати, і допоможе знайти помилку у вашому рішенні. Готового рішення не дає.

  • Знайде потрібну тему

    Запитайте, де пояснювали поняття, — і отримаєте посилання на потрібні уроки курсу.

  • Продовжить розмову

    Уточнюйте без повторів: помічник пам’ятає розмову, а нещодавні розмови курсу зберігаються.

Входить у кожен тариф оплаченої підписки — Basic і Premium. У Premium ліміти використання AI-помічника вищі — ним можна користуватися активніше. Це помічник у навчанні, а не генератор готових відповідей: він пояснює й підказує, а завдання ви розв’язуєте самі.

Програма

Програма курсу

12 модулів, 35+ практичних завдань з автоматичною перевіркою і 5 тестів. Відкрийте модуль, щоб побачити всі теми.

Модуль 1 — Ієрархія файлової системи 2 уроки · 3 практики · 1 тест

Де що лежить у Linux, як класифікувати шлях за найдовшим префіксом і як не випустити скрипт очищення за межі каталогу

  • Теорія Вступ: Linux на борту — де він стоїть і як ми його вивчатимемо
  • Теорія Карта файлової системи вбудованого Linux
  • Практика До якої частини системи належить шлях
  • Практика Знайдіть помилку — скрипт очищення вийшов за межі /var/log
  • Практика Хто займає місце на SD-карті
  • Тест Файлова система
Модуль 2 — Права доступу: rwx і вісімковий запис 1 урок · 4 практики

Читаємо рядок ls -l, рахуємо umask і шукаємо небезпечні права в образі

  • Теорія Дев'ять біт і ще три
  • Практика Ls -l → вісімковий запис
  • Практика Права нових файлів за umask
  • Практика Знайдіть помилку — аудит не бачить файлів із записом для всіх
  • Практика Аудит прав образу
Модуль 3 — /proc/stat: завантаження процесора 1 урок · 3 практики

Лічильники тіків, різниця двох знімків, iowait, steal і guest

  • Теорія Звідки top бере відсотки
  • Практика Завантаження кожного ядра
  • Практика Знайдіть помилку — CPU «завжди 20 %»
  • Практика Вердикт — процесор, диск чи сусіди
Модуль 4 — /proc/meminfo: скільки пам'яті насправді 1 урок · 3 практики · 1 тест

MemAvailable проти MemFree, KiB і MiB, старі ядра і процеси, що займають пам'ять

  • Теорія Вільна пам'ять — не та, що free
  • Практика Звіт про пам'ять
  • Практика Старий шлюз без MemAvailable
  • Практика Знайдіть помилку — хто з'їв пам'ять
  • Тест Права, CPU і пам'ять
Модуль 5 — dmesg: USB і послідовні порти 1 урок · 3 практики

Хто підключився до якого порту, що отримало ttyUSB і ttyACM, і чи винен кабель чи живлення

  • Теорія Кільцевий буфер ядра
  • Практика Інвентар USB-пристроїв
  • Практика Знайдіть помилку — «сім різних пристроїв» на трьох портах
  • Практика Кабель чи живлення
Модуль 6 — Правила udev 1 урок · 3 практики

Стабільні імена для пристроїв: зіставлення атрибутів, glob-шаблони, порядок файлів правил і оператор !=

  • Теорія Як /dev/ttyUSB0 стає /dev/gps0
  • Практика Зіставлення правил із пристроями
  • Практика Знайдіть помилку — локальні правила не діють
  • Практика Оператор !=
Модуль 7 — systemd: юніти і порядок запуску 1 урок · 3 практики · 1 тест

After=/Before= як граф, топологічне сортування, Requires= і Wants=, що буде, коли юніт не стартував

  • Теорія Порядок і залежності — різні речі
  • Практика Порядок запуску юнітів
  • Практика Що запустить systemctl start
  • Практика Знайдіть помилку — один збій зупинив пів системи
  • Тест USB, udev і systemd
Модуль 8 — Журнал: час і пріоритет 1 урок · 4 практики

Фільтр --since/--until і -p, порівняння часу як часу, а не тексту, і цикли перезапуску

  • Теорія Journalctl без магії
  • Практика Фільтр журналу
  • Практика Знайдіть помилку — фільтр за часом нічого не знаходить
  • Практика Цикли перезапуску
  • Практика Пріоритети журналу
Модуль 9 — cron: коли запуститься завдання 1 урок · 3 практики

Поля розкладу, кроки і діапазони, правило дня місяця і дня тижня, неділя = 0

  • Теорія П'ять полів розкладу
  • Практика Розгорнути поля розкладу
  • Практика Наступний запуск (три файли)
  • Практика Знайдіть помилку — вихідні зсунулися
Модуль 10 — Завантаження: systemd-analyze 1 урок · 3 практики · 1 тест

Розбір тривалостей blame, критичний шлях паралельного запуску і регресії після оновлення

  • Теорія Чому бортовий комп'ютер вантажиться 40 секунд
  • Практика Розбір systemd-analyze blame
  • Практика Критичний шлях завантаження
  • Практика Знайдіть помилку — регресія завантаження
  • Тест Журнал, cron і завантаження
Модуль 11 — Диск і ротація логів 1 урок · 3 практики

Use% як у df, симуляція logrotate і прогноз заповнення диска

  • Теорія Місце на диску закінчується тихо
  • Практика Звіт df
  • Практика Симуляція logrotate
  • Практика Знайдіть помилку — диск заповниться «за годину»
Модуль 12 — Фінал: агент стану пристрою 1 урок · 3 практики · 1 тест

Правила WARN/CRIT для CPU, пам'яті, диска і журналу, загальний стан і тривоги без мерехтіння

  • Теорія Від метрик до рішення
  • Практика Правила агента (три файли)
  • Практика Тривоги з гістерезисом
  • Практика Виліт через хвилину
  • Тест Підсумковий тест курсу

Стек

Які технології використовуються?

  • Python

Код пишете й запускаєте в браузері на платформі — встановлювати нічого не потрібно.

Застосування

Де застосовуються ці знання?

  1. Діагностика бортових комп'ютерів і шлюзів
  2. Моніторинг стану пристроїв
  3. Аналіз завантаження системи і журналів

Доступ

Як отримати доступ?

  1. Залиште заявку

    Заповніть коротку форму на цій сторінці.

  2. Завершіть реєстрацію в боті

    Після заявки оберіть Telegram або Viber — бот надішле подальші інструкції щодо доступу.

  3. Навчайтеся на платформі

    Уроки, практика й тести — на my.prog.academy, у зручному для вас темпі.

Контакт

Почніть навчання на платформі

Залиште контакти — надішлемо деталі доступу до курсу «Linux для embedded-розробника».

Наступні й суміжні курси

Python

Тестування автономних систем

Як довести, що автономний робот поводиться безпечно: сценарії, інваріанти, інжекція відмов і статистика прогонів.

12 модулів · 25+ практичних завдань

C++

C++ для embedded і MilTech

Прошивка мікроконтролерів на C++17: регістри, драйвери, переривання, CRC, ШІМ і watchdog на віртуальних платах.

20 модулів · 45+ практичних завдань

Часті питання про курс

Що це за курс?

«Linux для embedded-розробника» — онлайн-курс за підпискою на навчальній платформі Prog Academy. Черговий інженер вбудованого Linux: читаємо систему по її текстових слідах. У дрона аерозйомки зазвичай два «мозки»: мікроконтролер, що тримає апарат у повітрі, і бортовий комп'ютер — невелика плата з Linux, яка пише відео, обробляє знімки, синхронізує логи й обслуговує радіоканал. Такі самі маленькі Linux-системи без монітора стоять у шлюзі наземної станції, у контролері поштомату, у наземному роботі доставки. Коли щось іде не так, у вас є віддалений доступ по SSH (Secure Shell) і текст: /proc/stat, /proc/meminfo, dmesg, журнал systemd, ls -l, df. Цей курс вчить читати ці тексти так, як це робить черговий інженер: швидко, точно і з розумінням, що саме означає кожне число.

Для кого цей курс?

Розробникам з Python, які працюють з бортовими комп'ютерами, шлюзами наземних станцій та іншими Linux-пристроями без монітора.

Які знання потрібні перед стартом?

Обов'язково: Python на рівні безкоштовного курсу «Основи програмування на Python» — зокрема уроки про рядки, списки, словники, читання багатьох рядків вводу і sorted з ключем. Коротка шпаргалка з цих тем є в першому уроці Пояснюємо в курсі: усе про Linux — файлову систему, права, ядро, пристрої, служби, журнали. Досвід з Linux допоможе, але не обов'язковий; регулярні вирази коротко пояснюємо там, де вони знадобляться Не потрібно: встановлювати Linux чи мати плату — код запускається в браузері

Які практичні завдання будуть?

12 модулів. У кожному — теорія з прикладом і 2–3 задачі з автоматичною перевіркою: написати з нуля, знайти помилку або розширити наявний інструмент. Кожне рішення перевіряється на прихованих знімках системи. П'ять тестів і три практичні форми-рішення допоможуть закріпити матеріал.

Які технології використовуються?

Python. Код пишете й запускаєте прямо в браузері на платформі — встановлювати нічого не потрібно.

Скільки модулів містить курс?

12 модулів: Ієрархія файлової системи; Права доступу: rwx і вісімковий запис; /proc/stat: завантаження процесора; /proc/meminfo: скільки пам'яті насправді; dmesg: USB і послідовні порти; Правила udev; systemd: юніти і порядок запуску; Журнал: час і пріоритет; cron: коли запуститься завдання; Завантаження: systemd-analyze; Диск і ротація логів; Фінал: агент стану пристрою. Практичних завдань з автоматичною перевіркою — 35+, тестів — 5.

Як отримати доступ?

Залиште заявку на цій сторінці й завершіть реєстрацію в Telegram- або Viber-боті Prog Academy — там ви отримаєте подальші інструкції щодо доступу. Навчання проходить на платформі my.prog.academy у власному темпі.

Чи входить курс у підписку?

Так. Курс входить у підписку на платформі Prog Academy: доступ до всіх курсів за підпискою; ai-помічник з навчання в кожному курсі; усі уроки, домашні завдання та автоматична перевірка; нові курси за підпискою додаються автоматично.

Які сценарії й дані використовуються в курсі?

Усі знімки системи в курсі синтетичні й згенеровані для навчання; вони моделюють бортовий комп'ютер цивільного дрона аерозйомки та його наземний шлюз.

Не знайшли відповідь?

Залиште запитання — підкажемо, чи підходить вам курс і з чого краще почати.