Как получить какие параметрами грузится процесс имя apt-mirror-web.service

как получить полную информацию о сервисе 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, с какими параметрами он запущен и какие файлы использует.

Оставьте комментарий