Страница man для yum.conf описывает несколько переменных, связанных с прокси:
proxy URL to the proxy server that yum should use. proxy_username username to use for proxy proxy_password password for this proxy
Но как указать SOCKS прокси?
Я предполагаю, что выше только для обычных HTTP прокси ...
dante
вместо этого. Его командаsocksify app args
похожа на tsocks. (и так же, как tsocks.conf для команды tsocks, вам также нужен socks.conf для команды socksify). Однако для соксификацииyum
я рекомендую ответ @Klaus. Измените /etc/yum.conf лучше.Добавьте эту строку в
/etc/yum.conf
(получил идею из поста DaPillow)proxy=socks5://ip:port
В случае, если разрешение имени хоста через прокси необходимо, благодаря Дэнни из комментариев это будет сделано:
proxy=socks5h://ip:port
У меня это работало с использованием yum 3.4.3 на Fedora 21.
источник
Как указывает enzitib,
tsocks
может использоваться для использования прокси-сервера SOCKSyum
.Чтобы быть более подробным, можно использовать это так:
По умолчанию tsocks использует SOCKS версии 4, но вы можете настроить 5 с помощью директивы server_type. Для параметров пользователя / пароля существуют директивы default_user / default_pass и переменные среды TSOCKS_USERNAME / TSOCKS_PASSWORD.
источник
Я использую CentOS6.x с yum-3.2.29-81, curl / libcurl 7.19.7-53 и имею такую же проблему. У меня есть серверы yum за брандмауэром, и я хочу использовать yum поверх настройки прокси-сервера SOCKS5, используя ssh. В идеале я хочу сделать это, не требуя tsocks, proxychains или каких-либо других утилит socksification.
Я устанавливаю соединение SOCKS5, используя:
Я покопался в источниках Python yum и увидел, что они используют pycurl, который оборачивает libcurl (также обратите внимание, что все переменные окружения прокси-сервера - http_proxy, HTTP_PROXY, all_proxy, ALL_PROXY и т. Д. Изначально не были определены). Кроме того, я проверил, что ~ / .curlrc был пуст, поэтому он не испортил мои результаты теста.
Я хотел посмотреть, смогу ли я заставить curl говорить через прокси socks5:
успешно вернул удаленную веб-страницу, так что это хороший признак - показ libcurl может использовать прокси SOCKS5. Тем не менее, определение переменной среды
не хватило
не удалось.
На этом этапе я переключился на использование тестовой программы Python test.py :
Сейчас работает
не сможет получить, но работает
успешно извлечет http: // some-server / some-url . Поэтому мне кажется, что эта (по общему признанию) древняя комбинация yum / libcurl, которая поставляется с CentOS6, неправильно устанавливает тип прокси в libcurl. Я думаю, что происходит то, что PROXYTYPE по умолчанию использует стандартный HTTP-прокси вместо идентификации схемы socks5: // в URL-адресе, указанном в переменной среды http_proxy .
В любом случае следующий патч для /usr/lib/python2.6/site-packages/urlgrabber/grabber.py работал, чтобы позволить мне получить доступ к репозиториям http: // yum через прокси SOCKS5. В PyCurlFileObject # _set_opts (self, opts = {}) добавьте:
вокруг линии 1205, прямо перед
С этим изменением
успешно подключается ко всем моим http: // yum репозиториям на другой стороне брандмауэра через ssh-прокси SOCKS5.
Конечно, можно экспортировать переменную среды http_proxy в своей оболочке, чтобы избежать ее указания перед каждым вызовом yum .
источник
Proxychaines
также является хорошим вариантом для вас!сначала загрузите его и установите информацию о ваших носках в
proxychains.conf
файл и введитеproxyxhanes
перед любой командой, которую вы хотите использовать прокси socks!источник
Добавьте эту строку
/etc/yum.conf
и убедитесь, что вы используете ожидаемый протокол (не http):источник
Options Error: Error parsing "proxy = "socks5h://abc.mnl.xyz.com:9999/ # "": URL must be http, ftp or https not "socks5h"