Как игнорировать прокси-сервер, если он недоступен?

Несмотря на пессимизм очень тщательного ответа Родриго, я подозреваю, что большинство из этих случаев просто связано с поведением по умолчанию для usbmount или эквивалентных обработчиков hotplug, чтобы заставить писать на диск вместо кэширования. Вы должны проверить, включено ли sync для устройства, например, ища соответствующую строку из cat /proc/mounts. Это может выглядеть примерно так:

/dev/sdb1 /media/usb0 fuseblk,sync,rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0

Обратите внимание на флаг sync. Вам нужно предотвратить это. Если вы устанавливаете вручную, вы должны изменить запись fstab, как в этом ответе. Если он автомонтирован, посмотрите на выход из tail /var/log/syslog сразу после подключения и найдите строку типа:

Jul 21 19:28:51 my-machine usbmount[3823]: executing command: mount -tntfs -sync,onoexec,nodev,noatime,nodiratime /dev/sdb1 /media/usb0

Если она монтируется с помощью usbmount, вы можете следовать моему совету в другом [d2 ] этот ответ и измените строку MOUNTOPTIONS в /etc/usbmount/usbmount.conf на:

MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"

на

MOUNTOPTIONS="noexec,nodev,noatime,nodiratime"
1
задан 13 April 2017 в 15:23

1 ответ

Теперь есть официально поддерживаемый способ сделать это - с помощью опции - Acquire::http::Proxy-Auto-Detect (см. страницу apt.conf man]. Поведение похоже на старое недокументированное Acquire::http::ProxyAutoDetect (наличие / отсутствие дефисов в новых / старых настройках конфигурации), оно в значительной степени совместимо с обратной связью, но было расширено ...

Я в процессе предоставил патч для поддерживающих разработчиков, чтобы улучшить документацию, но так как это вряд ли превратит его в версию apt, которая долгое время поставляется с дистрибутивом дистрибутива, я включу текст предлагаемого патча здесь: [ ! d1]

Acquire::http::Proxy-Auto-Detect может использоваться для указания внешней команды для обнаружения используемого http-прокси. APT может вызывать команду несколько раз и передает URI команде в качестве ее первого и единственного параметра. APT ожидает, что команда выведет прокси-сервер, который будет использоваться для контакта с рассматриваемым URI на его stdout в виде одной строки в стиле http://proxy:port/ или в слове DIRECT, если прокси-сервер не должен использоваться. Отсутствие вывода указывает на то, что должны использоваться общие настройки прокси.

Обратите внимание, что автоматическое обнаружение не будет использоваться для хоста, если настройка прокси-сервера для конкретного хоста уже установлена ​​через Acquire::http::Proxy::HOST.

Чтобы диагностировать взаимодействия с внешней командой, установите Debug::Acquire::http=yes и / или Debug::Acquire::https=yes, например, используя параметр командной строки -o.

Обратите внимание, что используется предварительная версия apt, версии 1.3 ~ exp2 до 1.3, то есть ошибка (вероятно, зафиксированная на 1.3.1), которая заставляет apt анализировать stderr внешней команды вместе с stdout.

2
ответ дан 25 May 2018 в 19:47

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

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