как получить полную информацию о сервисе apt-mirror-web.service:
1. Получить полную информацию о сервисе
bash
# Получить статус сервиса (покажет есть ли он сейчас запущен) sudo systemctl status apt-mirror-web.service # Посмотреть полный конфиг юнита sudo systemctl cat apt-mirror-web.service # Показать все свойства юнита sudo systemctl show apt-mirror-web.service # Показать зависимости юнита sudo systemctl list-dependencies apt-mirror-web.service
2. Узнать, откуда загружается конфигурация
bash
# Найти путь к файлу юнита sudo systemctl status apt-mirror-web.service | grep "Loaded:" # Или напрямую systemctl show apt-mirror-web.service --property=FragmentPath # Или найти файл вручную find /etc/systemd/system /lib/systemd/system /usr/lib/systemd/system -name "apt-mirror-web.service" 2>/dev/null
3. Посмотреть параметры запуска
bash
# Показать полный юнит файл с комментариями sudo cat $(systemctl show apt-mirror-web.service --property=FragmentPath --value) # Ключевые параметры для анализа: sudo systemctl show apt-mirror-web.service --property=ExecStart,ExecReload,ExecStop,User,Group,WorkingDirectory,Environment,EnvironmentFile
4. Если сервис запущен — узнать его процесс
bash
# Узнать PID процесса
sudo systemctl show apt-mirror-web.service --property=MainPID
# Или через status
sudo systemctl status apt-mirror-web.service | grep "PID:"
# Затем проанализировать процесс (если PID > 0)
PID=$(sudo systemctl show apt-mirror-web.service --property=MainPID --value)
if [ $PID -gt 0 ]; then
echo "=== Информация о процессе $PID ==="
# Что запущено
cat /proc/$PID/cmdline | tr '\0' ' '; echo
# Какие файлы открыты
sudo lsof -p $PID | head -20
# Откуда запущен исполняемый файл
sudo readlink /proc/$PID/exe
fi
5. Посмотреть журналы сервиса
bash
# Показать логи сервиса sudo journalctl -u apt-mirror-web.service # Показать последние записи sudo journalctl -u apt-mirror-web.service -n 50 # Показать логи в реальном времени sudo journalctl -u apt-mirror-web.service -f # С указанием временного интервала sudo journalctl -u apt-mirror-web.service --since "today"
6. Полный анализ одной командой
bash
# Создайте скрипт для полного анализа cat > analyze_service.sh << 'EOF' #!/bin/bash SERVICE="apt-mirror-web.service" echo "=== 1. ОСНОВНАЯ ИНФОРМАЦИЯ ===" sudo systemctl status $SERVICE echo -e "\n=== 2. КОНФИГУРАЦИОННЫЙ ФАЙЛ ===" UNIT_PATH=$(sudo systemctl show $SERVICE --property=FragmentPath --value) echo "Путь: $UNIT_PATH" echo "Содержимое:" sudo cat "$UNIT_PATH" echo -e "\n=== 3. ПАРАМЕТРЫ ЗАПУСКА ===" sudo systemctl show $SERVICE --property=ExecStart,ExecReload,ExecStop,User,Group,WorkingDirectory echo -e "\n=== 4. ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ ===" sudo systemctl show $SERVICE --property=Environment,EnvironmentFile echo -e "\n=== 5. ЗАВИСИМОСТИ ===" sudo systemctl list-dependencies $SERVICE echo -e "\n=== 6. ПОСЛЕДНИЕ ЛОГИ ===" sudo journalctl -u $SERVICE -n 20 --no-pager EOF chmod +x analyze_service.sh sudo ./analyze_service.sh
7. Дополнительные команды для глубокого анализа
bash
# Проверить, какие таймеры связаны с сервисом systemctl list-timers | grep -i apt-mirror # Посмотреть, какие сокеты использует сервис systemctl list-sockets | grep -i apt-mirror # Проверить маскировки (overrides) systemctl cat apt-mirror-web.service | grep -A5 -B5 "\[Service\]" # Посмотреть drop-in файлы конфигурации sudo ls -la /etc/systemd/system/apt-mirror-web.service.d/ 2>/dev/null
Пример вывода, который вы можете получить:
bash
# Пример команды и вывода: sudo systemctl cat apt-mirror-web.service [Unit] Description=Apt Mirror Web Interface After=network.target [Service] Type=simple User=www-data Group=www-data WorkingDirectory=/var/www/apt-mirror-web ExecStart=/usr/bin/python3 /var/www/apt-mirror-web/app.py --port 8080 Restart=always Environment=PYTHONPATH=/var/www/apt-mirror-web [Install] WantedBy=multi-user.target
Если хотите узнать конкретный процесс:
bash
# Если сервис запущен, найти его PID и детали
if sudo systemctl is-active apt-mirror-web.service >/dev/null; then
PID=$(sudo systemctl show apt-mirror-web.service --property=MainPID --value)
echo "Процесс запущен с PID: $PID"
echo "Команда:"
sudo ps -p $PID -o pid,user,cmd
echo -e "\nОткрытые файлы:"
sudo lsof -p $PID | grep -E "\.(py|conf|cfg|ini)$"
fi
Эти команды дадут вам полное представление о том, как настроен и запускается сервис apt-mirror-web.service, с какими параметрами он запущен и какие файлы использует.