Почему не работает tsocks с apt-get?

Я использую tsocks для socksify моих соединений. Когда я запускаю следующие команды, apt-get не socksified:

$ . tsocks -on
$ sudo apt-get update

Однако, когда я запускаю всю вещь в одной строке, как показано ниже, она работает.

sudo tsocks apt-get update

Я проверил, что когда я набираю . tsocks -on, моя переменная среды LD_PRELOAD устанавливается на /usr/lib/libtsocks.so.

Почему не работают первые?

1
задан 11 November 2014 в 15:21

2 ответа

Хотя мне уже дан ответ, я хочу поделиться тем, что сработало для меня, используя Ubuntu 14.04: sudo apt-get install tsocks Затем откройте файл /etc/tsocks.conf и добавьте сервер на сервер и порт в server_port, а также добавьте диапазон вашего носового сервера как local, например Example, если ваш IP-адрес равен 90.70.60.5, тогда напишите: local = 90.70.60.0/255.255.255.0 (обратите внимание на .0 как последнюю часть в ip-адресе) Теперь попробуйте: sudo tsocks apt-get update (или любую команду apt-get) Если это не так, t работайте с помощью sudo, войдите в систему напрямую как root: sudo su

Затем повторите попытку: tsocks apt-get update Я был за сервером socks 5 для доступа к ссылке для загрузки у меня не было доступа с моего компьютера, и она работала безупречно.

Примечание: с этим мне не пришлось использовать материал «Acquire» в / etc / apt / apt .conf

1
ответ дан 24 May 2018 в 02:03

Установлен ли LD_PRELOAD в корневой каталог /usr/lib/libtsocks.so? Взгляните на:

Параметр -E (сохранение среды) для sudo. Пример: sudo -E bash -c 'echo $LD_PRELOAD' vs sudo echo $LD_PRELOAD; Файл sudoers: Defaults env_keep;
0
ответ дан 24 May 2018 в 02:03
  • 1
    Когда я запускаю первую команду в первом варианте, я ничего не получаю. Однако запуск второй команды в первом параметре дает мне результат. Я также сделал sudo -i, а затем echo $LD_PRELOAD, и я ничего не получил. Поэтому я предполагаю, что переменная не устанавливается при запуске . tsocks -on. Как я могу настроить его? – Parham Doustdar 8 November 2014 в 19:54
  • 2
    Это верно. Взгляните на man-страницу для sudo (посмотрите на флаг -E для сохранения среды) или man-страницу для sudoers в env_keep). – Criveti Mihai 8 November 2014 в 19:58
  • 3
    Извините, я не совсем уверен, как это сделать. Я добавил Defaults env_keep += "LD_PRELOAD" к обоим /etc/sudoers.d/vagrant (пользователь, с которым я работаю) и /etc/sudoers, чуть ниже Defaults env_reset, но первая команда в вашем первом параметре, а также sudo printenv LD_PRELOAD все еще возвращает ничего. – Parham Doustdar 8 November 2014 в 20:53

Другие вопросы по тегам:

Похожие вопросы: