apt.conf & ldquo; Acquire :: http: Proxy & rdquo; proxyserver: port ", похоже, не используется (Ubuntu 13.04 в Virtual Box на Win7)

Решение Videonauth является определенным для удара, означая, что при использовании некоторой другой оболочки (такой как оболочка Korn или оболочка c или mksh или tcsh) это не будет работать. Это также устанавливает заголовок через редактирование PS1 подсказка (который по некоторым причинам имеет эффект на заголовок в bash). Здесь является, например, терминальным гномом с mksh:

enter image description here

то, Что я лично использую, является этим:

setTitle() {
    echo -e "\033]0;$@\007" 
}

Эта команда использует escape-последовательности и является агностиком оболочки, означая, что это работает в оболочках кроме удара. Небольшая оборотная сторона - то, что необходимо будет знать escape-последовательности ASCII, если Вы захотите настроить это.

12
задан 12.04.2020, 01:13

3 ответа

Исходя из моего прошлого опыта, в целом Ubuntu (GNOME) не очень хорошо работает с PAC (Automatic Config). Pac (Proxy Auto-config) - это в основном логика JavaScript для определения ближайшего или наиболее подходящего для вас прокси, я настоятельно рекомендую использовать прокси-серверы напрямую (в вашем случае Network - Network Proxy).

Несколько вещей для проверки

Проверьте ваш /etc/apt/apt.conf

Графический интерфейс прокси-Network-Network обновит /etc/apt/apt.conf и установит там информацию прокси.

Узнать информацию прокси-сервера из pac

Подробности можно узнать, прочитав файл proxy.pac в любом случае.

Таким образом, /etc/apt/apt.conf должно выглядеть следующим образом (предположим, что прокси-сервер => proxy.company.com порт 80), НЕ используйте pac URL.

Acquire::http::proxy "http://proxy.company.com:80/";
Acquire::https::proxy "https://proxy.company.com:80/";
Acquire::ftp::proxy "ftp://proxy.company.com:80/";

ПРИМЕЧАНИЕ. Если в файлах конфигурации apt не указан прокси-сервер, apt-get переключится на переменную среды http_proxy.

На странице руководства apt.conf ответьте на комментарий @Braiam

   http
       HTTP URIs; http::Proxy is the default http proxy to use. It is in
       the standard form of http://[[user][:pass]@]host[:port]/. Per host
       proxies can also be specified by using the form http::Proxy::<host>
       with the special keyword DIRECT meaning to use no proxies. If no
       one of the above settings is specified, http_proxy environment
       variable will be used.

Проверьте переменные окружения прокси

Вы можете проверить настройки прокси, выполнив следующие действия в терминал

echo $http_proxy
echo $https_proxy
echo $ftp_proxy

Если вы правильно установите переменные env, вы должны иметь возможность обновляться в CLI.

Предпочитаю IPv4

Я заметил, apt-get пытался подключиться к серверам обновлений, используя их IPv6-адрес. Это может вызвать проблемы (иногда срок действия адресов IPV6 истекает или изменяется).

Вы можете отредактировать /etc/gai.conf и добавить precedence ::ffff:0:0/96 100, чтобы предпочесть ipv4 вместо ipv6.

Подробнее

17
ответ дан 12.04.2020, 01:13
  • 1
    Спасибо за ответ. Значение я вставил "/etc/apt/apt.conf" фактический URI, и снабдите сокетом, который прибывает из .pac файла, не URI самого .pac файла (that' s, что я вставил " системные настройки/сети/сеть proxy". – Kiril 12.04.2020, 01:14
  • 2
    Я вошел в " Системные Настройки/Сети/сеть proxy" и используемая ручная конфигурация; это действительно обновляло "/etc/apt/apt.conf". я также отключил IPv4 путем редактирования "/etc/sysctl.conf". это, кажется, добилось цели.Спасибо за помощь. – Kendall Frey 12.04.2020, 01:14
  • 3
    Не верный, склонный - никогда получают использование http_proxy, ни любые переменные среды. – Rémi 12.04.2020, 01:14
  • 4
    Кроме того, проведите исследование себя! Выполненный sudo apt-get -o Debug::Acquire::http=true update и проверка самостоятельно, если [только 112] установка переменной среды использует прокси. И если Вы использовали прокси в течение года, вовлекаете себя , обновил . – Ben Voigt 12.04.2020, 01:15
  • 5
    @Braiam делают man apt.conf и видят http::Proxy. Я также обновил ответ. Также I' ve, с помощью http_proxy и https_proxy переменные среды для использования с apt-get в течение многих лет. Проведите некоторое исследование перед проваливанием. – Kendall Frey 12.04.2020, 01:15

Я считаю, что у меня была эта проблема, и ответ прост. Синтаксис имеет решающее значение. Это должно выглядеть так:

Acquire::http::Proxy "http://x.y.z.251:9090";

(есть дополнительные «:» и завершающий «;»)

5
ответ дан 12.04.2020, 01:14

@Braiam

Я думаю, что лучше начать отдельный ответ, чтобы прояснить ситуацию.

Я провел быстрый тест с использованием Vagrant и виртуальной машины Ubuntu 13.04 Raring x86_64 за брандмауэром.

apt-get версия: 0.9.7.7ubuntu4

root@raring:~# apt-get --version 
apt 0.9.7.7ubuntu4 for amd64 compiled on Apr 12 2013 23:49:05
Supported modules:
*Ver: Standard .deb
*Pkg:  Debian dpkg interface (Priority 30)
 Pkg:  Debian APT solver interface (Priority -1000)
 S.L: 'deb' Standard Debian binary tree
 S.L: 'deb-src' Standard Debian source tree
 Idx: Debian Source Index
 Idx: Debian Package Index
 Idx: Debian Translation Index
 Idx: Debian dpkg status file
 Idx: EDSP scenario file

Обновление: работает точно так же на Precise 12.04.3

root@support:/etc/apt# uname -a
Linux support 3.8.0-30-generic #44~precise1-Ubuntu SMP Fri Aug 23 17:33:45 UTC 2013 i686 i686 i386 GNU/Linux
root@support:/etc/apt# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:        12.04
Codename:       precise
root@support:/etc/apt# apt-get --version
apt 0.8.16~exp12ubuntu10.14 for i386 compiled on Sep  8 2013 03:26:42

1-й - очистить конфигурационные файлы apt

Я очистил настройки прокси в /etc/apt/apt.conf. Я также выполнил ack и ag сканирование всех файлов и подкаталогов /etc/apt, чтобы убедиться, что в файлах конфигурации apt не установлен прокси-сервер.

По умолчанию {http_proxy,https_proxy,ftp_proxy} переменные env не установлены.

apt-get не смог подключиться к серверам обновлений.

root@raring:~# apt-get -o Debug::Acquire::http=true update
0% [Connecting to au.archive.ubuntu.com (202.158.214.106)] [Connecting to security.ubuntu.com (91.189.91.13)] [Connecting to ppa.launchpad.net (91.189.95.83)]

2nd - установить переменные окружения

Просто установить прокси-переменные

export {http_proxy,https_proxy,ftp_proxy}="http://10.xxx.xxx.231:80"

apt-get теперь может подключаться!

Смотрите выходные данные отладки. (это то, что я никогда не пробовал).

root@raring:~# apt-get -o Debug::Acquire::http=true update
0% [Working]GET http://security.ubuntu.com/ubuntu/dists/raring-security/Release.gpg HTTP/1.1
Host: security.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


GET http://au.archive.ubuntu.com/ubuntu/dists/raring/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


GET http://ppa.launchpad.net/git-core/ppa/ubuntu/dists/raring/Release.gpg HTTP/1.1
Host: ppa.launchpad.net
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


HTTP/1.1 200 OK
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "16e20bb4-3a5-4db2e154a1dc0"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Thu, 25 Apr 2013 11:54:39 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:1 http://au.archive.ubuntu.com raring Release.gpg [933 B]
0% [1 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]GET http://au.archive.ubuntu.com/ubuntu/dists/raring-updates/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


99% [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK             
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "16e20ee7-3a5-4e7594ace9200"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Fri, 27 Sep 2013 08:30:00 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:2 http://au.archive.ubuntu.com raring-updates Release.gpg [933 B]
50% [2 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]GET http://au.archive.ubuntu.com/ubuntu/dists/raring-backports/Release.gpg HTTP/1.1
Host: au.archive.ubuntu.com
Cache-Control: max-age=0
User-Agent: Debian APT-HTTP/1.3 (0.9.7.7ubuntu4)


100% [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK             
Date: Fri, 27 Sep 2013 12:12:21 GMT
ETag: "16e0083d-3a5-4e6844f477fc0"
Server: Apache/2.2.3 (Red Hat)
Content-Type: text/plain; charset=UTF-8
Accept-Ranges: bytes
Last-Modified: Mon, 16 Sep 2013 18:24:07 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

Get:3 http://au.archive.ubuntu.com raring-backports Release.gpg [933 B]
67% [3 Release.gpg 0 B/933 B 0%] [Waiting for headers] [Waiting for headers]HTTP/1.1 200 OK
Date: Fri, 27 Sep 2013 12:12:20 GMT
ETag: "3a5-4e75c5d969600"
Server: Apache/2.2.22 (Ubuntu)
Expires: Fri, 27 Sep 2013 13:05:00 GMT
Accept-Ranges: bytes
Cache-Control: max-age=3159, s-maxage=3300, proxy-revalidate
Last-Modified: Fri, 27 Sep 2013 12:10:00 GMT
Content-Length: 933
Proxy-Connection: Keep-Alive

......

3-й - сбросить переменные окружения

unset env vars => unset {http_proxy,https_proxy,ftp_proxy}

Теперь apt-get не удалось подключиться.

Заключение

Точно так же, как сказано в man apt.conf, если http :: Proxy НЕ установлен, будет использоваться переменная окружения http_proxy.

КСТАТИ : Я также пользователь Arch Linux. Pacman работает аналогичным образом, если я не использую wget или curl с прокси в pacman.conf, он будет использовать переменные окружения `{http_proxy, https_proxy, ftp_proxy} '.

Обновление sudo НЕ сохраняет переменные окружения. Вот почему sudo apt-get update не удается. Чтобы обойти проблему (сохранить переменные окружения прокси), используйте sudo -E apt-get update.

1
ответ дан 12.04.2020, 01:15
  • 1
    @Braiam я сделал еще некоторый тест. sudo НЕ сохраняет переменные среды, that' s проблема! Но Вы можете обходное решение это при помощи sudo -E apt-get update && apt-get dist-upgrade;-) – AMissico 12.04.2020, 01:15
  • 2
    Мне нравится, как Вы разъяснили ответ. Решением моей проблемы был " sudo-E" подсказка. Я don' t не забывают когда-либо должными быть использовать-E опцию в прошлом. – Lii 12.04.2020, 01:15
  • 3
    Btw, я не становлюсь уведомленным относительно ping в ответах. Кроме того, см. мой комментарий, попытайтесь использовать sudo вместо этого вход в систему как корень и видеть, почему я сказал что это didn' t работа. – Ben Voigt 12.04.2020, 01:16
  • 4
    Я отчасти сказал то же в мой другой комментарий : S – AMissico 12.04.2020, 01:16

Теги

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