Skip to content

Лекція 48. Досліджуємо систему як інженер

Лекція 48. Досліджуємо систему як інженер

Section titled “Лекція 48. Досліджуємо систему як інженер”

Рівень 9: Linux-інженер лабораторії

Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.

Що ми сьогодні розкриємо

Section titled “Що ми сьогодні розкриємо”
  • об’єднати команди з попередніх модулів в одну діагностичну карту
  • навчитися не просто запускати команду, а формулювати питання до системи
  • створити власний короткий system report без приватних даних

Зв’язок з попередніми лекціями

Section titled “Зв’язок з попередніми лекціями”

У цій лекції ми зберемо всі команди Linux із попередніх лекцій, щоб навчитися складати з них повну діагностику системи.

Справжня сила — не в кількості команд

Section titled “Справжня сила — не в кількості команд”

Марко, тепер ти вже знаєш багато Linux-команд. Але системний інженер відрізняється від людини, яка просто пам’ятає команди, тим, що спочатку ставить питання.

Наприклад:

  • «Яка в мене ОС?» → /etc/os-release, uname.
  • «Який CPU?» → lscpu.
  • «Скільки RAM?» → free -h.
  • «Які накопичувачі?» → lsblk.
  • «Скільки вільного місця?» → df -h.
  • «Які USB-пристрої?» → lsusb.
  • «Які IP-адреси?» → ip a.

Тобто команда — це вимірювальний прилад, а не заклинання.

Діагностика йде від загального до конкретного

Section titled “Діагностика йде від загального до конкретного”

Якщо «щось не працює», не потрібно одразу змінювати систему. Спочатку збирають факти. Хороший порядок часто виглядає так:

1. Що саме очікували?
2. Що сталося насправді?
3. Який компонент бере участь?
4. Якою безпечною командою це можна перевірити?
5. Лише потім — зміни.

Це універсальна інженерна звичка.

Звіт має бути корисним і безпечним

Section titled “Звіт має бути корисним і безпечним”

System report може допомогти попросити про технічну підтримку. Але не все треба публікувати: повний hostname, IP-адреси, серійні номери, username, токени та інші ідентифікатори можуть бути приватними.

Тому для публічного README ми або не включаємо такі дані, або замінюємо їх на узагальнення.

Питання «чому комп’ютер повільний?» можна почати з free -h, top, вільного місця через df -h та опису того, яка саме програма повільна — але не з випадкового очищення системних файлів.

Питання «який диск бачить система?» веде до lsblk, а не до rm чи форматування.

Питання «яка мережева адреса?» веде до ip a, але для публічного звіту достатньо написати, наприклад, private IPv4 detected без самої адреси.

Linux-лабораторія: сім приладів

Section titled “Linux-лабораторія: сім приладів”

Виконай по черзі:

Terminal window
cat /etc/os-release | head
uname -r
lscpu | head
free -h
lsblk
df -h /
lsusb
ip a

Для кожної команди запиши одне речення: «Я поставив системі питання … і отримав …».

Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.

  1. створи таблицю «питання → команда → один факт» для щонайменше семи команд
  2. прибери з таблиці точні IP, username та інші дані, які не потрібні для публічного прикладу
  3. обери вигадану проблему «USB-миша не з’являється» і склади три безпечні кроки спостереження
  4. обери проблему «закінчується місце» і назви команду, що підтвердить або спростує її
  5. поясни, чому діагностика має починатися зі спостереження, а не з руйнівних змін
  • Чому команда — це «прилад», а не мета?
  • Яка команда показує RAM?
  • Яка команда показує файлові системи та вільне місце?
  • Що варто прибирати з публічного system report?
  • Який перший крок хорошого troubleshooting?
  • System report — короткий звіт про стан комп’ютера.
  • Troubleshooting — пошук причини проблеми від загального до конкретного.
  • uname — команда, що показує інформацію про ядро ОС.
  • lscpu — інформація про процесор.
  • free -h — показує обсяг RAM.
  • lsblk — список блочних пристроїв (диски, розділи).
  • df -h — вільне місце на файлових системах.
  • lsusb — список USB-пристроїв.

Чек-лист перед наступною лекцією

Section titled “Чек-лист перед наступною лекцією”
  • Чи можеш ти пояснити підхід до діагностики системних проблем?
  • Чи знаєш ти основні інструменти для зневадження у Linux?
  • Чи розумієш ти, як систематично шукати та вирішувати проблеми?

Що потрібно винести з лекції

Section titled “Що потрібно винести з лекції”
  • інженер спочатку формулює питання, а потім обирає команду
  • діагностика починається зі збору фактів
  • технічний звіт має бути достатнім для задачі, але не розкривати зайві приватні дані

Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.