Детальная информация
Название | Анализ неиспользуемых пакетов Linux: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» |
---|---|
Авторы | Королев Михаил Петрович |
Научный руководитель | Дробинцев Дмитрий Федорович |
Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Выходные сведения | Санкт-Петербург, 2025 |
Коллекция | Выпускные квалификационные работы ; Общая коллекция |
Тематика | linux ; неиспользуемые пакеты ; мониторинг системы ; bpftrace ; unused packages ; system monitoring |
Тип документа | Выпускная квалификационная работа бакалавра |
Тип файла | |
Язык | Русский |
Уровень высшего образования | Бакалавриат |
Код специальности ФГОС | 09.03.04 |
Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/3/2025/vr/vr25-1531 |
Права доступа | Доступ по паролю из сети Интернет (чтение) |
Дополнительно | Новинка |
Ключ записи | ru\spstu\vkr\35848 |
Дата создания записи | 30.07.2025 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Группа | Анонимные пользователи |
---|---|
Сеть | Интернет |
Данная работа посвящена разработке решения, позволяющего выявлять неиспользуемые пакеты на основе динамического мониторинга обращений к ядру на Linux-системе. Данное решение позволит повысить безопасность, производительность и эффективность системы за счет снижения числа ненужных компонентов. В рамках работы проведен анализ подходов для поиска неиспользуемых пакетов и сравнительный анализ существующих решений. Была предложена архитектура предлагаемого программного средства, реализованная в виде прототипа на языке Go. Архитектура основана на модульном подходе, что обеспечивает удобство масштабирования и сопровождения. Особое внимание уделялось минимизации нагрузки прототипа на систему. Для проведения тестирования был написан скрипт, симулирующий работу пакетов на системе. Результаты тестирования показали эффективность предложенного решения в задаче поиска неиспользуемых пакетов, а также низкое потребление ресурсов системы. Разработанный инструмент может использоваться как конечными пользователями, так и в составе крупных серверов.
The given work is devoted to the development of a solution that allows identifying unused packages based on dynamic monitoring of kernel accesses on a Linux system. This solution will improve the security, performance and efficiency of the system by reducing the number of unnecessary components. The work analyzes approaches for finding unused packages and comparative analysis of existing solutions. The architecture of the proposed software tool was proposed and implemented as a prototype in Go language. The architecture is based on a modular approach, which ensures easy scalability and maintenance. Special attention was paid to minimize the load of the prototype on the system. For testing, a script was written to simulate the work of packages on the system. The results of testing showed the effectiveness of the proposed solution in the task of searching for unused packages, as well as low consumption of system resources. The developed tool can be used both by end users and as part of large servers.
Место доступа | Группа пользователей | Действие |
---|---|---|
Локальная сеть ИБК СПбПУ | Все |
|
Интернет | Авторизованные пользователи СПбПУ |
|
Интернет | Анонимные пользователи |
|
- СПИСОК ИЛЛЮСТРАЦИЙ
- ПЕРЕЧЕНЬ ТАБЛИЦ
- ВВЕДЕНИЕ
- ГЛАВА 1. ПРЕДМЕТНАЯ ОБЛАСТЬ
- 1.1. Понятие пакетов в Linux и методы анализа их необходимости
- 1.1.1. Система решения зависимостей APT
- 1.1.2. Система решения зависимостей DNF/Zypper
- 1.1.3. Избыточные компоненты и неиспользуемые пакеты
- 1.1.4. Выявление ненужных пакетов
- 1.1.5. Анализ вручную
- 1.1.6. Статический анализ
- 1.1.7. Динамический мониторинг активности процессов
- 1.1.8. Динамический мониторинг использования файлов
- 1.1.9. Выводы по способам анализа неиспользуемых пакетов
- 1.2. Обзор существующих решений
- 1.2.1. Deborphan
- 1.2.2. Apt autoremove
- 1.2.3. Rpmreaper
- 1.2.4. Nmon
- 1.2.5. Top
- 1.3. Сравнительный анализ
- 1.4. Выводы
- 1.1. Понятие пакетов в Linux и методы анализа их необходимости
- ГЛАВА 2. АРХИТЕКТУРА ПРЕДЛАГАЕМОГО ПРИЛОЖЕНИЯ
- 2.1. Преимущества модульной архитектуры
- 2.2. Общая структура приложения
- 2.3. Взаимодействие компонентов
- 2.4. Используемые технологии и инструменты
- 2.5. Профилирование и минимизация нагрузки
- 2.5.1. Использование bpftrace с ограничением по времени
- 2.5.2. Параллелизация задач в Go
- 2.5.3. Выборочные системные вызовы
- 2.5.4. Запись промежуточных результатов в файлы
- 2.5.5. Предварительная фильтрация данных
- 2.5.6. Анализ всех файлов в конце работы программы
- 2.5.7. Минимизация системных прав
- 2.6. Выводы
- ГЛАВА 3. РЕАЛИЗАЦИЯ ПРОТОТИПА
- 3.1. Модули сбора данных
- 3.2. Модуль последовательного запуска скриптов
- 3.3. Модуль анализа файлов
- 3.4. Модуль работы с конфигурационным файлом и флагами командной строки
- 3.5. Выводы
- ГЛАВА 4. РЕЗУЛЬТАТЫ
- 4.1. Постановка эксперимента
- 4.2. Сбор данных о нагрузке системы
- 4.3. Реализация bash-скрипта для имитации работы пользователя на системе
- 4.4. Конфигурация тестового запуска
- 4.5. Результаты нагрузочного тестирования
- 4.6. Сравнение результата с логом вызванных пакетов
- 4.7. Вывод
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Количество обращений: 0
За последние 30 дней: 0