Невозможно использовать команду wget

Я использую Ubuntu 13.10 с прокси-серверами, для которых требуется идентификатор пользователя и пароль.

Я не могу запустить команду wget. Он возвращает:

Resolving sourceforge.net (sourceforge.net)... failed: Name or service not known.
wget: unable to resolve host address ‘sourceforge.net’

Что можно сделать, чтобы решить эту проблему?

5
задан 4 August 2016 в 05:35

3 ответа

Отредактируйте свое использование Resolv conf

# sudo vim /etc/resolv.conf

Затем войдите ниже

nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 4.4.4.4

Замените 192.168.1.1 своим IP Маршрутизатора

Отредактируйте этот файл также, если не Ваш DNS переопределит его

# sudo vim /etc/resolvconf/resolv.conf.d/base

Затем войдите ниже

nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 4.4.4.4

Затем Перезапуск Ваш Сервер Используя

# sudo /etc/init.d/networking restart
1
ответ дан 4 August 2016 в 05:35

Для меня проблемой был avahi-deamon, который портил ответы DNS для определенных имен узлов. Я должен был удалить avahi, и все работало:

sudo apt remove avahi-daemon
0
ответ дан 4 August 2016 в 05:35

Существует два способа работать wget позади прокси. Любой набор соответствующие переменные среды и wget будет действовать согласно им или настраивать wget конфигурационный файл - wgetrc.

Установите переменную среды

Прежде, чем установить переменные среды, позволяет, увидели в первый раз, если существуют какие-либо предварительно установленные существующие переменные прокси. Мы можем получить ту информацию с помощью следующей команды.

env | grep proxy

http_proxy=http://foo.bar:3128
no_proxy=localhost,127.0.0.1

Если никакая переменная среды прокси не будет установлена, то это пойдет для прямых подключений. Давайте возьмем пример моего колледжа. Мы используем сервер Прокси HTTP. Выполнение wget не устанавливая http_proxy переменная среды просто перестала работать. Так, позволяет, устанавливает этот ENV (переменная среды). переменная сначала

export http_proxy="http://foo.bar:8080"

Теперь, выполненный wget и это должно работать как очарование. Если Ваш прокси также требует аутентификации, т.е. имя пользователя и пароль затем используют этот формат для установки ENV:

export http_proxy="http://username:password@foo.bar:8080"

Точно так же для другого типа прокси, набор соответствующий ENV - ftp_proxy, https_proxy и т.д.

Обратите внимание на то, что вышеупомянутые команды будут в действительности только, пока сеанс пользователя не истекает, т.е. путем выполнения вышеупомянутых команд, мы просто устанавливаем ENV прокси для сессии, не постоянно. И обычно мы не хотели бы выполнять команду каждый раз, мы входим в систему. Так, для создания этого постоянным мы можем или установить значение в конфигурации wget - wgetrc файл или набор среда в ~/.bashrc файл.

echo "export http_proxy=http://foo.bar:8080/" | tee -a ~/.bashrc

Нужно отметить, что, этот способ, которым мы могли бы влиять на настройки пользователя прокси. Лучший путь состоит в том, чтобы установить настройки постоянно в конфигурационном файле wget, этот путь никакое другое приложение. затронут.

Конфигурирование wgetrc файл

Как большинство приложений wget имеет конфигурационный файл также - wgetrc:

  • /etc/wgetrc, или
  • ~/.wgetrc.

Первый для глобальных изменений, и последний - для локальных настроек (конкретный пользователь). Мы будем вдаваться в подробности позже, позволяет, просто видят, как применить настройки прокси. Ее подобное установке переменной среды прокси, просто исключите команду экспорта. Откройте файл ~/.wgetrc файл. Если Вы не существуете, то создайте его.

vim ~/.wgetrc

Теперь, добавьте соответствующий оператор в файле. Считайте раздел "Set the environment variable" для нахождения этого.

Как отключить/выключить настройки прокси

После того как Вы настроили настройки прокси в wgetrc файл, каждый раз Вы работаете wget, это автоматически соединится с прокси-сервером. Иногда для локальных / основанных на LAN загрузок, Вам, возможно, не понадобится прокси-сервер. В таких случаях мы можем выключить настройки прокси с помощью --no-proxy аргумент в команде:

wget --no-proxy http://10.0.0.1/file.tgz

Если прокси требует аутентификации - Имя пользователя и Пароль

Мы уже знаем формат для установки переменной среды с именем пользователя и паролем. Wget предоставляет Вам два метода для упоминания имени пользователя и пароля для прокси-сервера.

  • Упомяните это в команде в форме аргументов.
  • Установите значения в конфигурационном файле, /etc/wgetrc или ~/.wgetrc

Если аутентификация, которую Вы используете, статична, то лучше набор это в конфигурационном файле. Если его всего одна вещь времени или если Вы хотите перезаписать настройки в конфигурационном файле затем, можно использовать --proxy-user и --proxy-password опции.

wget --proxy-user=username --proxy-password=password http://foo.bar/file.tgz

Для постоянных изменений, его всегда рекомендуемый для изменения конфигурационного файла.

Еще раз, для глобальных изменений изменяют /etc/wgetrc файл иначе идет для ~/.wgetrc файл. Откройте любой файл и добавьте/добавьте следующие строки в нем.

proxy_user=username
proxy_password=password

Источник

1
ответ дан 4 August 2016 в 05:35

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

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