Автор Тема: Управление прокси-сервером через терминал  (Прочитано 140 раз)

Оффлайн j-Key

  • Участник
  • *
  • Сообщений: 88
Как я понимаю, параметры прокси из файла /etc/sysconfig/network распространяются на всю систему (от apt-get до браузера). Туда же пишет свои данные графический модуль прокси-сервера из состава Альтератора. Обо всём этом сказано здесь: https://www.altlinux.org/Прокси-сервер.

Проблема в том, что ручная правка вышеуказанного файла требует перезагрузки, тогда как графическая тулза управляет прокси на лету.

Можно как-то так же на лету управлять прокси-сервером из терминала? Хотя бы просто включать и выключать его. Но только чтобы аналогично для всей системы сразу.

Оффлайн Александр Ерещенко

  • Участник
  • *
  • Сообщений: 1 242
Как я понимаю, параметры прокси из файла /etc/sysconfig/network распространяются на всю систему (от apt-get до браузера). Туда же пишет свои данные графический модуль прокси-сервера из состава Альтератора. Обо всём этом сказано здесь: https://www.altlinux.org/Прокси-сервер.

Проблема в том, что ручная правка вышеуказанного файла требует перезагрузки, тогда как графическая тулза управляет прокси на лету.

Можно как-то так же на лету управлять прокси-сервером из терминала? Хотя бы просто включать и выключать его. Но только чтобы аналогично для всей системы сразу.
Запустите скрипт /etc/profile.d/proxy.sh
Он как раз и запускается при инициализации профиля и весьма простой по содержанию:
# /etc/profile.d/proxy.sh - export proxy settings

if [ -s /etc/sysconfig/network ]; then
    eval `grep -E '^(HTTP_PROXY|HTTPS_PROXY|FTP_PROXY|NO_PROXY)=' /etc/sysconfig/network`
fi

if [ -n "$HTTP_PROXY" ]; then
    http_proxy="$HTTP_PROXY"
    export http_proxy HTTP_PROXY
fi

if [ -n "$HTTPS_PROXY" ]; then
    https_proxy="$HTTPS_PROXY"
    export https_proxy HTTPS_PROXY
fi

if [ -n "$FTP_PROXY" ]; then
    ftp_proxy="$FTP_PROXY"
    export ftp_proxy FTP_PROXY
fi

if [ -n "$NO_PROXY" ]; then
    no_proxy="$NO_PROXY"
    export no_proxy NO_PROXY
fi

ЗЫ. Тема чуть некорректна по формулировке. Я подумал вначале, что речь про управление прокси-сервером squid

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 151
    • Домашняя страница
Как я понимаю, параметры прокси из файла /etc/sysconfig/network распространяются на всю систему (от apt-get до браузера). Туда же пишет свои данные графический модуль прокси-сервера из состава Альтератора. Обо всём этом сказано здесь: https://www.altlinux.org/Прокси-сервер.

Проблема в том, что ручная правка вышеуказанного файла требует перезагрузки, тогда как графическая тулза управляет прокси на лету.

Можно как-то так же на лету управлять прокси-сервером из терминала? Хотя бы просто включать и выключать его. Но только чтобы аналогично для всей системы сразу.
Нельзя.
Андрей Черепанов (cas@)

Оффлайн rits

  • Участник
  • *
  • Сообщений: 1 225
  • ITS
Вот перепроверь информацию и некоторые идеи от "структурированного праха"  DeepSeek )
вместо sudo -> su -l,
Да, в Alt Linux (как и в других Linux-системах) можно управлять прокси на лету без перезагрузки,
даже если настройки хранятся в /etc/sysconfig/network.
Вот несколько способов:
1. Через sysconfig и экспорт переменных

Файл /etc/sysconfig/network используется для глобальных настроек сети,
включая прокси (HTTP_PROXY, HTTPS_PROXY, NO_PROXY и т. д.).
Чтобы изменения применились без перезагрузки, нужно:

    Обновить переменные окружения для текущей сессии.
    Перезапустить зависящие от них сервисы (например, демон apt, браузеры и т. д.).

Пример включения прокси:
bash

# Записываем настройки в файл (если нужно)
sudo sed -i '/^HTTP_PROXY=/d;/^HTTPS_PROXY=/d;/^NO_PROXY=/d' /etc/sysconfig/network
echo 'HTTP_PROXY="http://proxy.example.com:8080"' | sudo tee -a /etc/sysconfig/network
echo 'HTTPS_PROXY="http://proxy.example.com:8080"' | sudo tee -a /etc/sysconfig/network
echo 'NO_PROXY="localhost,127.0.0.1"' | sudo tee -a /etc/sysconfig/network

# Применяем настройки без перезагрузки
source /etc/sysconfig/network
export HTTP_PROXY HTTPS_PROXY NO_PROXY

# Для apt-get (если используется)
sudo systemctl restart apt-cacher-ng  # или другой прокси-сервис

Отключение прокси:
bash

# Удаляем настройки из файла
sudo sed -i '/^HTTP_PROXY=/d;/^HTTPS_PROXY=/d;/^NO_PROXY=/d' /etc/sysconfig/network

# Убираем переменные из текущей сессии
unset HTTP_PROXY HTTPS_PROXY NO_PROXY

# Перезапускаем сервисы
sudo systemctl restart apt-cacher-ng

2. Через gsettings (если используется GNOME)

Графический инструмент Альтератора, скорее всего, меняет настройки через D-Bus или GSettings. В терминале это можно сделать так:
bash

# Включить прокси (пример для GNOME)
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host 'proxy.example.com'
gsettings set org.gnome.system.proxy.http port 8080

# Выключить прокси
gsettings set org.gnome.system.proxy mode 'none'

Это повлияет на все приложения, использующие GSettings (браузеры, GUI-приложения).
3. Через update-alternatives или скрипты

Если Альтератор использует какие-то свои скрипты, можно найти их в системе
(например, в /usr/lib/alterator/) и вызывать их из терминала.
Например:
bash

sudo /usr/lib/alterator/alterator-proxy-config --enable --host=proxy.example.com --port=8080

4. Через environment.d (современные системы)

Если система использует systemd-environmentd, можно поместить настройки в /etc/environment.d/10-proxy.conf:
ini

HTTP_PROXY=http://proxy.example.com:8080
HTTPS_PROXY=http://proxy.example.com:8080
NO_PROXY=localhost,127.0.0.1

После этого выполнить:
bash

sudo systemctl daemon-reload
sudo systemctl restart user@$(id -u).service  # для пользовательских сервисов

Важно:

    Некоторые приложения (например, apt-get) могут кэшировать настройки прокси — может потребоваться их перезапуск.

    Браузеры иногда игнорируют системные настройки и используют свои.
Для них может потребоваться отдельная конфигурация.

Если нужно полное системное применение (как в Альтераторе), лучше всего изучить скрипты,
которые вызывает графический инструмент (например, через strace или ps aux при его работе).

Оффлайн j-Key

  • Участник
  • *
  • Сообщений: 88
Нельзя.
Но почему? Или это ко всем Линуксам относится?

В общем...
Всё проверялось при работе с браузером.
Ни один из способов не работает.
export и unset добавляют и удаляют переменные, но фактически это ни на что не влияет.
Перезапуск браузера бесполезен.

И самое главное: оказалось, что и через GUI Альтератора настройки прокси на лету применяются только визуально, а по факту они всё те же, что и были в /etc/sysconfig/network на момент загрузки системы.

Да что это такое вообще??? Вот в Винде...