Лекція 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 ми або не включаємо такі дані, або замінюємо їх на узагальнення.
Приклади
Section titled “Приклади”Приклад 1
Section titled “Приклад 1”Питання «чому комп’ютер повільний?» можна почати з free -h, top, вільного місця через df -h та опису того, яка саме програма повільна — але не з випадкового очищення системних файлів.
Приклад 2
Section titled “Приклад 2”Питання «який диск бачить система?» веде до lsblk, а не до rm чи форматування.
Приклад 3
Section titled “Приклад 3”Питання «яка мережева адреса?» веде до ip a, але для публічного звіту достатньо написати, наприклад, private IPv4 detected без самої адреси.
Linux-лабораторія: сім приладів
Section titled “Linux-лабораторія: сім приладів”Виконай по черзі:
cat /etc/os-release | headuname -rlscpu | headfree -hlsblkdf -h /lsusbip aДля кожної команди запиши одне речення: «Я поставив системі питання … і отримав …».
Місія для Марка
Section titled “Місія для Марка”Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.
- створи таблицю «питання → команда → один факт» для щонайменше семи команд
- прибери з таблиці точні IP, username та інші дані, які не потрібні для публічного прикладу
- обери вигадану проблему «USB-миша не з’являється» і склади три безпечні кроки спостереження
- обери проблему «закінчується місце» і назви команду, що підтвердить або спростує її
- поясни, чому діагностика має починатися зі спостереження, а не з руйнівних змін
Перевір себе
Section titled “Перевір себе”- Чому команда — це «прилад», а не мета?
- Яка команда показує RAM?
- Яка команда показує файлові системи та вільне місце?
- Що варто прибирати з публічного system report?
- Який перший крок хорошого troubleshooting?
Терміни однією фразою
Section titled “Терміни однією фразою”- System report — короткий звіт про стан комп’ютера.
- Troubleshooting — пошук причини проблеми від загального до конкретного.
uname— команда, що показує інформацію про ядро ОС.lscpu— інформація про процесор.free -h— показує обсяг RAM.lsblk— список блочних пристроїв (диски, розділи).df -h— вільне місце на файлових системах.lsusb— список USB-пристроїв.
Чек-лист перед наступною лекцією
Section titled “Чек-лист перед наступною лекцією”- Чи можеш ти пояснити підхід до діагностики системних проблем?
- Чи знаєш ти основні інструменти для зневадження у Linux?
- Чи розумієш ти, як систематично шукати та вирішувати проблеми?
Що потрібно винести з лекції
Section titled “Що потрібно винести з лекції”- інженер спочатку формулює питання, а потім обирає команду
- діагностика починається зі збору фактів
- технічний звіт має бути достатнім для задачі, але не розкривати зайві приватні дані
Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.