Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

 

Установка и настройка WGET

 

Wget (CNU Wget) - свободная неинтерактивная консольная программа для загрузки файлов по сети. Поддерживает протоколы: HTTP, HTTPS, FTP, FTPS.

Версия из репозитория Wget (1.19.5-2):

http://bin.entware.net/mipselsf-k3.4/wget_1.19.5-2_mipsel-3.4.ipk

Изменения - здесь.

Подготовка:

1. Создаем раздел EXT4 на жестком диске - Использование файловой системы EXT4 на USB-накопителях.

2. Установка и настройка Entware - в данной теме.

Обновляемся:

/ # opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keendev

Устанавливаем:

/ # opkg install wget
Installing wget (1.19.5-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/wget_1.19.5-2_mipsel-3.4.ipk
Installing zlib (1.2.11-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/zlib_1.2.11-2_mipsel-3.4.ipk
Installing libopenssl (1.0.2p-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libopenssl_1.0.2p-1_mipsel-3.4.ipk
Configuring zlib.
Configuring libopenssl.
Configuring wget.

Пример работы.

1. Записываем файл прошивки Keenetic OS для KN-1010 в нужный нам раздел:

/ # wget -P opt/home/ --no-check-certificate https://help.keenetic.com/hc/article_attachments/360000591459/KN-1010_stable_2.13.C.0.0-3.zip
--2018-11-13 11:33:36--  https://help.keenetic.com/hc/article_attachments/360000591459/KN-1010_stable_2.13.C.0.0-3.zip
Resolving help.keenetic.com... 104.16.55.111, 104.16.51.111, 104.16.52.111, ...
Connecting to help.keenetic.com|104.16.55.111|:443... connected.
WARNING: cannot verify help.keenetic.com's certificate, issued by 'CN=Let\'s Encrypt Authority X3,O=Let\'s Encrypt,C=US':
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 OK
Length: 13821475 (13M) [application/zip]
Saving to: 'opt/home/KN-1010_stable_2.13.C.0.0-3.zip'

KN-1010_stable_2.13.C.0.0-3.zip                      100%[=====================================================================================================================>]  13.18M  4.54MB/s    in 2.9s    

2018-11-13 11:33:40 (4.54 MB/s) - 'opt/home/KN-1010_stable_2.13.C.0.0-3.zip' saved [13821475/13821475]

где:

ключ -P  --directory-prefix=PREFIX  save files to PREFIX/.. - здесь указываем нужную директорию для скачивания.

ключ --no-check-certificate - отключает проверку сертификата протокола HTTPS.

2. Пример копирования скаченного файла из одной директории в другую:

/ # cp opt/home/KN-1010_stable_2.13.C.0.0-3.zip tmp/mnt/MYFILES/KN-1010_stable_2.13.C.0.0-3.zip

где:

opt/home/ - откуда копируем файл; tmp/mnt/MYFILES/ - куда копируем файл.

3. Проверяем директорию, куда был записан файл:

/ # ls tmp/mnt/MYFILES/
Camera Uploads                                                  Keenetic 4G III_revB_2.13.C.0.0-3.txt                           Keenetic_Air_2.13.C.0.0-3.bin
IMAX.Dolphins.2000.2160p.Amazon.WEBRip.DD2.0.x264-TrollUHD.mkv  Keenetic 4G_KN-1210_2.13.C.0.0-3.bin                            components
KN-1010_stable_2.13.C.0.0-3.zip                                 Keenetic 4G_KN-1210_2.13.C.0.0-3.txt
Keenetic 4G III_revB_2.13.C.0.0-3.bin                           Keenetic Air_2.13.C.0.0-3.txt

Как видим, файл записан корректно, в нужную нам директорию.

Описание ключей:

/ # wget --help
GNU Wget 1.19.5, a non-interactive network retriever.
Usage: wget [OPTION]... [URL]...

Mandatory arguments to long options are mandatory for short options too.

Startup:
  -V,  --version                   display the version of Wget and exit
  -h,  --help                      print this help
  -b,  --background                go to background after startup
  -e,  --execute=COMMAND           execute a `.wgetrc'-style command

Logging and input file:
  -o,  --output-file=FILE          log messages to FILE
  -a,  --append-output=FILE        append messages to FILE
  -d,  --debug                     print lots of debugging information
  -q,  --quiet                     quiet (no output)
  -v,  --verbose                   be verbose (this is the default)
  -nv, --no-verbose                turn off verboseness, without being quiet
       --report-speed=TYPE         output bandwidth as TYPE.  TYPE can be bits
  -i,  --input-file=FILE           download URLs found in local or external FILE
  -F,  --force-html                treat input file as HTML
  -B,  --base=URL                  resolves HTML input-file links (-i -F)
                                     relative to URL
       --config=FILE               specify config file to use
       --no-config                 do not read any config file
       --rejected-log=FILE         log reasons for URL rejection to FILE

Download:
  -t,  --tries=NUMBER              set number of retries to NUMBER (0 unlimits)
       --retry-connrefused         retry even if connection is refused
       --retry-on-http-error=ERRORS    comma-separated list of HTTP errors to retry
  -O,  --output-document=FILE      write documents to FILE
  -nc, --no-clobber                skip downloads that would download to
                                     existing files (overwriting them)
       --no-netrc                  don't try to obtain credentials from .netrc
  -c,  --continue                  resume getting a partially-downloaded file
       --start-pos=OFFSET          start downloading from zero-based position OFFSET
       --progress=TYPE             select progress gauge type
       --show-progress             display the progress bar in any verbosity mode
  -N,  --timestamping              don't re-retrieve files unless newer than
                                     local
       --no-if-modified-since      don't use conditional if-modified-since get
                                     requests in timestamping mode
       --no-use-server-timestamps  don't set the local file's timestamp by
                                     the one on the server
  -S,  --server-response           print server response
       --spider                    don't download anything
  -T,  --timeout=SECONDS           set all timeout values to SECONDS
       --dns-timeout=SECS          set the DNS lookup timeout to SECS
       --connect-timeout=SECS      set the connect timeout to SECS
       --read-timeout=SECS         set the read timeout to SECS
  -w,  --wait=SECONDS              wait SECONDS between retrievals
       --waitretry=SECONDS         wait 1..SECONDS between retries of a retrieval
       --random-wait               wait from 0.5*WAIT...1.5*WAIT secs between retrievals
       --no-proxy                  explicitly turn off proxy
  -Q,  --quota=NUMBER              set retrieval quota to NUMBER
       --bind-address=ADDRESS      bind to ADDRESS (hostname or IP) on local host
       --limit-rate=RATE           limit download rate to RATE
       --no-dns-cache              disable caching DNS lookups
       --restrict-file-names=OS    restrict chars in file names to ones OS allows
       --ignore-case               ignore case when matching files/directories
  -4,  --inet4-only                connect only to IPv4 addresses
  -6,  --inet6-only                connect only to IPv6 addresses
       --prefer-family=FAMILY      connect first to addresses of specified family,
                                     one of IPv6, IPv4, or none
       --user=USER                 set both ftp and http user to USER
       --password=PASS             set both ftp and http password to PASS
       --ask-password              prompt for passwords
       --use-askpass=COMMAND       specify credential handler for requesting 
                                     username and password.  If no COMMAND is 
                                     specified the WGET_ASKPASS or the SSH_ASKPASS 
                                     environment variable is used.
       --no-iri                    turn off IRI support
       --local-encoding=ENC        use ENC as the local encoding for IRIs
       --remote-encoding=ENC       use ENC as the default remote encoding
       --unlink                    remove file before clobber
       --no-xattr                  turn off storage of metadata in extended file attributes

Directories:
  -nd, --no-directories            don't create directories
  -x,  --force-directories         force creation of directories
  -nH, --no-host-directories       don't create host directories
       --protocol-directories      use protocol name in directories
  -P,  --directory-prefix=PREFIX   save files to PREFIX/..
       --cut-dirs=NUMBER           ignore NUMBER remote directory components

HTTP options:
       --http-user=USER            set http user to USER
       --http-password=PASS        set http password to PASS
       --no-cache                  disallow server-cached data
       --default-page=NAME         change the default page name (normally
                                     this is 'index.html'.)
  -E,  --adjust-extension          save HTML/CSS documents with proper extensions
       --ignore-length             ignore 'Content-Length' header field
       --header=STRING             insert STRING among the headers
       --compression=TYPE          choose compression, one of auto, gzip and none. (default: none)
       --max-redirect              maximum redirections allowed per page
       --proxy-user=USER           set USER as proxy username
       --proxy-password=PASS       set PASS as proxy password
       --referer=URL               include 'Referer: URL' header in HTTP request
       --save-headers              save the HTTP headers to file
  -U,  --user-agent=AGENT          identify as AGENT instead of Wget/VERSION
       --no-http-keep-alive        disable HTTP keep-alive (persistent connections)
       --no-cookies                don't use cookies
       --load-cookies=FILE         load cookies from FILE before session
       --save-cookies=FILE         save cookies to FILE after session
       --keep-session-cookies      load and save session (non-permanent) cookies
       --post-data=STRING          use the POST method; send STRING as the data
       --post-file=FILE            use the POST method; send contents of FILE
       --method=HTTPMethod         use method "HTTPMethod" in the request
       --body-data=STRING          send STRING as data. --method MUST be set
       --body-file=FILE            send contents of FILE. --method MUST be set
       --content-disposition       honor the Content-Disposition header when
                                     choosing local file names (EXPERIMENTAL)
       --content-on-error          output the received content on server errors
       --auth-no-challenge         send Basic HTTP authentication information
                                     without first waiting for the server's
                                     challenge

HTTPS (SSL/TLS) options:
       --secure-protocol=PR        choose secure protocol, one of auto, SSLv2,
                                     SSLv3, TLSv1, TLSv1_1, TLSv1_2 and PFS
       --https-only                only follow secure HTTPS links
       --no-check-certificate      don't validate the server's certificate
       --certificate=FILE          client certificate file
       --certificate-type=TYPE     client certificate type, PEM or DER
       --private-key=FILE          private key file
       --private-key-type=TYPE     private key type, PEM or DER
       --ca-certificate=FILE       file with the bundle of CAs
       --ca-directory=DIR          directory where hash list of CAs is stored
       --crl-file=FILE             file with bundle of CRLs
       --pinnedpubkey=FILE/HASHES  Public key (PEM/DER) file, or any number
                                   of base64 encoded sha256 hashes preceded by
                                   'sha256//' and separated by ';', to verify
                                   peer against
       --random-file=FILE          file with random data for seeding the SSL PRNG
       --egd-file=FILE             file naming the EGD socket with random data

       --ciphers=STR           Set the priority string (GnuTLS) or cipher list string (OpenSSL) directly.
                                   Use with care. This option overrides --secure-protocol.
                                   The format and syntax of this string depend on the specific SSL/TLS engine.
HSTS options:
       --no-hsts                   disable HSTS
       --hsts-file                 path of HSTS database (will override default)

FTP options:
       --ftp-user=USER             set ftp user to USER
       --ftp-password=PASS         set ftp password to PASS
       --no-remove-listing         don't remove '.listing' files
       --no-glob                   turn off FTP file name globbing
       --no-passive-ftp            disable the "passive" transfer mode
       --preserve-permissions      preserve remote file permissions
       --retr-symlinks             when recursing, get linked-to files (not dir)

FTPS options:
       --ftps-implicit                 use implicit FTPS (default port is 990)
       --ftps-resume-ssl               resume the SSL/TLS session started in the control connection when
                                         opening a data connection
       --ftps-clear-data-connection    cipher the control channel only; all the data will be in plaintext
       --ftps-fallback-to-ftp          fall back to FTP if FTPS is not supported in the target server
WARC options:
       --warc-file=FILENAME        save request/response data to a .warc.gz file
       --warc-header=STRING        insert STRING into the warcinfo record
       --warc-max-size=NUMBER      set maximum size of WARC files to NUMBER
       --warc-cdx                  write CDX index files
       --warc-dedup=FILENAME       do not store records listed in this CDX file
       --no-warc-compression       do not compress WARC files with GZIP
       --no-warc-digests           do not calculate SHA1 digests
       --no-warc-keep-log          do not store the log file in a WARC record
       --warc-tempdir=DIRECTORY    location for temporary files created by the
                                     WARC writer

Recursive download:
  -r,  --recursive                 specify recursive download
  -l,  --level=NUMBER              maximum recursion depth (inf or 0 for infinite)
       --delete-after              delete files locally after downloading them
  -k,  --convert-links             make links in downloaded HTML or CSS point to
                                     local files
       --convert-file-only         convert the file part of the URLs only (usually known as the basename)
       --backups=N                 before writing file X, rotate up to N backup files
  -K,  --backup-converted          before converting file X, back up as X.orig
  -m,  --mirror                    shortcut for -N -r -l inf --no-remove-listing
  -p,  --page-requisites           get all images, etc. needed to display HTML page
       --strict-comments           turn on strict (SGML) handling of HTML comments

Recursive accept/reject:
  -A,  --accept=LIST               comma-separated list of accepted extensions
  -R,  --reject=LIST               comma-separated list of rejected extensions
       --accept-regex=REGEX        regex matching accepted URLs
       --reject-regex=REGEX        regex matching rejected URLs
       --regex-type=TYPE           regex type (posix|pcre)
  -D,  --domains=LIST              comma-separated list of accepted domains
       --exclude-domains=LIST      comma-separated list of rejected domains
       --follow-ftp                follow FTP links from HTML documents
       --follow-tags=LIST          comma-separated list of followed HTML tags
       --ignore-tags=LIST          comma-separated list of ignored HTML tags
  -H,  --span-hosts                go to foreign hosts when recursive
  -L,  --relative                  follow relative links only
  -I,  --include-directories=LIST  list of allowed directories
       --trust-server-names        use the name specified by the redirection
                                     URL's last component
  -X,  --exclude-directories=LIST  list of excluded directories
  -np, --no-parent                 don't ascend to the parent directory

Email bug reports, questions, discussions to <bug-wget@gnu.org>
and/or open issues at https://savannah.gnu.org/bugs/?func=additem&group=wget.

Если возникли проблемы при работе wget:

Читаем посты от TheBB и zyxmon

Дополнительный материл:

КОМАНДА WGET LINUX
Wget Wiki
КОПИРОВАНИЕ ФАЙЛОВ В LINUX
КОМАНДА LS LINUX

Опубликовано

Небольшое, но очень важное дополнение.

Ставить wget отдельным пакетом НЕ РЕКОМЕНДУЕТСЯ!

Дело в том, что

(1) wget зависит от libopenssl;

(2) opkg вызывает wget для установки пакетов.

 

Ситуация (скорее всего скоро так и будет) - при обновлении пакетов обновится libopenssl на версию, не совместимую с wget. wget перестает работать, пакеты ни установить, ни  откатить.... Цугцванг короче.

Как из этой ситуации выходить - известно. Если у кого возникнет - напишем. Но лучше не устанавливать wget. Используйте curl.

 

PS Описанная выше ситуация уже была.....

  • 2 недели спустя...
Опубликовано
29 минут назад, qoob world сказал:

Подскажите пожалуйста, как вернуть все обратно?)

`ln -s /opt/bin/busybox /opt/bin/wget`

Скрытый текст

BusyBox v1.29.2 () built-in shell (ash)

~ # opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keendev

~ # rm /opt/bin/wget 

~ # opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
*** Failed to download the package list from http://bin.entware.net/mipselsf-k3.4/Packages.gz

Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
*** Failed to download the package list from http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz

Collected errors:
 * opkg_download: Failed to download http://bin.entware.net/mipselsf-k3.4/Packages.gz, wget returned 255.
 * opkg_download: Failed to download http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz, wget returned 255.

~ # ln -s /opt/bin/busybox /opt/bin/wget

~ # opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keendev
~ #

 

 

Опубликовано
19 минут назад, TheBB сказал:

`ln -s /opt/bin/busybox /opt/bin/wget`

Чуть лучше сделать ` /opt/lib/opkg/info/busybox.postinst` - это восстановит не только wget, но, возможно, и другие апплеты.

  • 3 месяца спустя...
Опубликовано
В 21.11.2018 в 19:09, zyxmon сказал:

PS Описанная выше ситуация уже была....

Сегодня при обновлении и я столкнулся с этой проблемой. Благодаря помощи разработчиков на канале Entware проблему удалось устранить.

Притом, сломалось у меня все достаточно сильно. И да, у меня был установлен пакет wget, притом особой необходимости в нем у меня не было, я просто не знал, что его наличие может вызвать проблемы при обновлении.

Решением в моем случае была полная переустановка Entware поверх существующей по основной инструкции. То есть скачал установочный пакет, скопировал его в папку install на USB накопителе для Entware. Затем в WEBUI Кинетика на странице OPKG в разделе Накопитель сначала выбрал пункт Не выбран. Сохранил настройки. Затем выбрал уже свой USB накопитель для Entware, после этого запустилась установка.

У моей конкретной ситуации установка слегка усложнилась тем, что единственным DNS резолвером у меня был dnscrypt-proxy2 из того же Entware, поэтому 2 попытки установки Entware завершились ошибкой невозможности разрешения DNS адреса в IP адрес. Но когда dnscrypt-proxy2 поднялся, установка продолжилась успешно.

Правда сразу после того как завершилась установка Entware я не мог подключиться по SSH ни по стандартному после установки порту 222 ни по своему ранее настроенному. Но после перезагрузки роутера успешно подключится по "своему" порту.

Далее уже opkg update && opkg upgrade прошли без проблем - все мои установленные пакеты обновились до актуальных версий и работают нормально.

Надеюсь, этот пост поможет тем, кто так же как и я столкнется с подобной проблемой.

PS Может быть есть смысл владельцам Кинетика при установке wget написать какой-то дисклеймер о возможных проблемах при обновлениях.

 

Опубликовано
В 24.03.2019 в 17:55, ankar84 сказал:

PS Может быть есть смысл владельцам Кинетика при установке wget написать какой-то дисклеймер о возможных проблемах при обновлениях.

В 21.11.2018 в 16:09, zyxmon сказал:

Ставить wget отдельным пакетом НЕ РЕКОМЕНДУЕТСЯ!

 

Уж, простите, куда дисклеймерово то???

Опубликовано
13 минуты назад, Mamay сказал:

Уж, простите, куда дисклеймерово то???

Скажу честно, я эту тему до того как столкнулся с проблемой вообще не видел. А wget в Entware установил, похоже, уже очень давно.

И дисклеймер имел ввиду как раз в момент установки, мол

opkg install wget
It is not recommended to install wget pakage on Keenetic router due to possible incompatibilities. Do you want to continue? (y/n)

Хотя, скорее всего реализовать такое не получится и предупреждать можно только тут, на форуме.

  • 3 года спустя...
Опубликовано

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

--no-check-certificate

выходит ошибка wget: unrecognized option '--no-check-certificate'  

команду ввожу так 

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate

В putty под root в среде OPKG  . 

Опубликовано
6 минут назад, EvgenyAly сказал:

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

--no-check-certificate

выходит ошибка wget: unrecognized option '--no-check-certificate'  

команду ввожу так 

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate

В putty под root в среде OPKG  . 

To support encrypted HTTP (HTTPS) downloads, Wget must be compiled with an external SSL library. ... If Wget is compiled without SSL support, none of these options are available.
 

  • 1 год спустя...
Опубликовано
~ # opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keendev
Downloading https://anonym-tsk.github.io/nfqws-keenetic/all/Packages.gz
wget: not an http or ftp url: https://anonym-tsk.github.io/nfqws-keenetic/all/Packages.gz
*** Failed to download the package list from https://anonym-tsk.github.io/nfqws-keenetic/all/Packages.gz

Collected errors:
 * opkg_download: Failed to download https://anonym-tsk.github.io/nfqws-keenetic/all/Packages.gz, wget returned 1.
~ #

Помогите решить проблему, спотыкается как я понял на https ссылках, выше советы ремонта выполнил - безрезультатно. И такое ощущение что в системе еще где то это wget есть, потомучто этот лог после команды

rm /opt/bin/wget

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.