13 марта 2013

add-apt-repository через proxy

Ubuntuapt-add-repository: получение ключей из-за файрволла и прокси

Оригинал
Многие компании и университеты блокируют все неизвестные порты наружу. Обычно блокируется и порт, используемый утилитой apt-add-repository для добавления репозиториев.

Есть простое решение, как получать ключи репозиториев через 80-ый порт, который используется для доступа к web-страницам и чаще всего не блокируется.

Решение - отредактировать 'apt-add-repository' скрипт, чтобы он использовал порт 80:

Жмем Alt+F2 и вводим "gksu gedit /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py".
Ищем линию 88, меняем "keyserver.ubuntu.com" на "hkp://keyserver.ubuntu.com:80".
Сохраняем и закрываем файл.

Теперь apt-add-repository будет получать ключи через порт 80, который открыт.


UPDATE: Чтобы apt-add-repository работал из-за прокси, сделайте следующее:

Редактируем файл /etc/sudoers (лучше использовать команду 'sudo visudo', чтобы синтаксис проверялся автоматически).
После строки "Defaults env_reset" добавим строку:
Defaults env_keep = "HOME USER PATH http_proxy https_proxy"

В консоли, где будем запускать "sudo apt-add-repository ..." прописываем две переменных для прокси (http_proxy и https_proxy):
export http_proxy="http://username:userpass@proxy.domain.ru:8080"
export https_proxy="http://username:userpass@proxy.domain.ru:8080"

где
username - имя пользователя для авторизации на прокси;
userpass - пароль этого пользователя;
proxy.domain.ru - адрес (или IP) прокси;
8080 - порт прокси (у вас может быть другой порт).

В сочетании с исправлением скрипта apt-add-repository (см. выше), это работает за проксёй и файрволлом.


А если ничего не помогает, то можно успокоиться и обратиться к сюда за помощью

06 марта 2013

Ruby gem install ошибка (error)

Если при попытке установить gem вываливается что-то подобное:

ERROR:  Could not find a valid gem 'af' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.org/latest_specs.4.8.gz)
 то необходимо проделать следующее:
1. Скачать сертификат и сохранить его на диске (можно в папку ruby, например,  C:\Ruby200-x64, имя зависит от установленной версии).
2. В командной строке прописать путь до сертификата:
set SSL_CERT_FILE=C:\Ruby200-x64\cacert.pem


Ну а если не помогло, то можно успокоиться, обратиться сюда за помощью и позже попробовать ещё раз.