Рубрики
Сборка
- Make и GCC: флаги для чистой сборки
- CMake и Ninja: быстрая сборка вне дерева
- Сборка deb-пакета с debhelper
- RPM: пишем spec-файл и собираем пакет
Ядро
- Сборка ядра Linux из исходников
- Свой модуль ядра: hello world
- DKMS: модули, которые переживают обновление ядра
- bpftrace: трассировка ядра в одну строку
- kselftest: встроенные тесты ядра
Тестирование
- bats: автотесты для shell-скриптов
- testinfra: проверяем состояние серверов на pytest
- stress-ng: нагрузочное тестирование системы
- fio: измеряем производительность диска
- AddressSanitizer и UBSan: ловим ошибки памяти
- Valgrind: утечки памяти и профилирование
- Фаззинг с AFL++
- Linux Test Project: регрессионные тесты ядра
CI/CD
- GitLab CI: сборка и тесты на каждый коммит
- GitHub Actions для C-проектов
- pre-commit: проверки до коммита
Отладка
- GDB: пошаговая отладка
- strace: что программа делает на самом деле
- perf: профилирование без перекомпиляции
- git bisect: ищем коммит, сломавший сборку
- Core dump и coredumpctl