Как использовать `curl` в старой OSX? - PullRequest
0 голосов
/ 15 сентября 2018

У меня старый Mac mini 2006 со следующими характеристиками:

  System Version: Mac OS X 10.5.8 (9L31a)
  Kernel Version: Darwin 9.8.0
  Boot Volume: Macintosh HD

, на который мне нужно установить некоторые инструменты.

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

Мне нужно установить старую версию инструментов openCV и NodeJS, таких как nvm npm nodeExpress и несколько других.

Однако wget не распознается как команда, а curl возвращает ошибку, предлагающую использовать curl --insecure.

Команда curl --insecure возвращает ошибку

curl: (35) error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

Хотя для openCV я мог загрузить исходный код на другой компьютер, а затем скопировать его туда, я не могу придумать никакого обходного пути для установки других инструментов (напрямую или с brew, поскольку установка выполняется с curl).

Итак, мой вопрос: как заставить curl работать на этой версии OSX или хотя бы как ее обновить?

EDIT1 : при попытке установить homebrew я сначала скачал команду, скопировал файл в минимак и попытался выполнить его. Ошибка:

We (and Apple) do not provide support for this old version.
This installation may not succeed.
After installation, you will encounter build failures and other breakages.
Please create pull-requests instead of asking for help on Homebrew's
GitHub, Discourse, Twitter or IRC. As you are running this old version,
you are responsible for resolving any issues you experience.

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew

Press RETURN to continue or any other key to abort
==> Downloading and installing Homebrew...
curl: (35) error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

gzip: stdin: unexpected end of file
/usr/bin/tar: Child returned status 1
/usr/bin/tar: Error exit delayed from previous errors
Failed during: /bin/bash -o pipefail -c '/usr/bin/curl -fsSLk https://github.com/Homebrew/brew/tarball/master | /usr/bin/tar xz -m --strip 1'

1 Ответ

0 голосов
/ 15 сентября 2018

Я не проверял это, но вы могли бы запустить веб-прокси, который будет принимать соединения TLS (https) старой версии (например, curl в 10.5 знает, как это сделать), а затем сделать новые Версия TLS подключена к веб-серверу. См. Вопрос Можно ли использовать Squid для обновления клиентских TLS-соединений? для получения информации о том, как настроить параметры squid для этого. Squidman доступен для загрузки с обычным http и включает в себя готовую копию squid (вместе с приложением для настройки / упаковки GUI). Squidman v3.1 был последним, кто поддерживал OS X v10.5, и я не знаю, какие версии TLS будут поддерживать.

В OS X существует два разных способа настройки клиентского программного обеспечения для использования прокси. Для приложений с графическим интерфейсом (браузеры и т. Д.) Вы устанавливаете соответствующие настройки в Системных настройках -> Панель сети -> выберите соответствующую услугу / интерфейс -> Кнопка «Дополнительно» -> вкладка «Прокси». Для таких инструментов CLI, как curl, вы можете либо передать им явные параметры (вероятно, здесь не сработают), либо установить переменные среды, например, export HTTPS_PROXY=https://127.0.0.1:8080.

Если вы можете обновить OS X до версии 10.6, встроенная версия curl все еще довольно ограничена, но вы сможете запустить более новую версию Squidman (хотя и не обязательно самую последнюю - она ​​поддерживает v10). 6, но только 64-битные процессоры Intel). Apple, очевидно, все еще продает OS X v10.6 на DVD через их интернет-магазин . Обратите внимание, что они также перечисляют более новые версии, но все, что они получают, это код загрузки для использования в App Store ... который не был добавлен до v10.6.6.

...