Я использую tsocks
к socksify мои соединения. Когда я выполняю следующие команды, apt-get
не socksified:
$ . tsocks -on
$ sudo apt-get update
Однако, когда я выполняю все это в одной строке как следующее, она работает.
sudo tsocks apt-get update
Я проверил это, когда я ввожу . tsocks -on
, мой LD_PRELOAD
переменная среды установлена на /usr/lib/libtsocks.so
.
Почему первый не работает?
На ответ, данный @creveti-mihai, я посмотрел sudoers
страница справочника. К сожалению, как в странице справочника говорится, не возможно сохранить LD_*
переменные. Вот то, что говорит страница справочника:
Note that the dynamic linker on most operating systems will remove variables that can control dynamic linking from the environment of setuid executables, including sudo. Depending on the operating system this may include _RLD*, DYLD_*, LD_*, LDR_*, LIBPATH, SHLIB_PATH, and others. These type of variables are removed from the environment before sudo even begins execution and, as such, it is not possible for sudo to preserve them.
Так, я должен буду посмотреть на определение прокси в собственных конфигурационных файлах apt с помощью Acquire::http::proxy
и Acquire::https::proxy
.
Хотя это уже дало ответ, я хочу совместно использовать то, что работало на меня, с помощью Ubuntu 14.04:
sudo apt-get install tsocks
Затем откройте/etc/tsocks.conf и добавьте Ваш сервер к серверу и порт к server_port, также добавьте свой диапазон сервера носков как локальный, как
Пример, если Ваш IP-адрес 90.70.60.5 затем запись:
local = 90.70.60.0/255.255.255.0
(Отметьте.0 как последнюю часть в IP-адресе),
Теперь попытка:
sudo tsocks apt-get update
(или безотносительно Кв. - получают команду),
Если это не работает с помощью sudo, входит в систему непосредственно как корень как:
sudo su
Затем попробуйте еще раз:
tsocks apt-get update
Я был позади носки 5 серверов для достижения ссылки на загрузку, у меня не было доступа от моего собственного компьютера, и это работало безупречно.
Примечание: С этим я не должен был использовать, "Получают" материал в/etc/apt/apt.conf
Корень LD_PRELOAD
также установлен на /usr/lib/libtsocks.so
? Смотрите на:
-E
(сохраняют среду), опция для sudo
. Исключая: sudo -E bash -c 'echo $LD_PRELOAD'
по сравнению с sudo echo $LD_PRELOAD
; sudoers
файл: Defaults env_keep
;