2gis сервер обновлений linux

2gis сервер обновлений linux

Здравствуйте, уважаемые читатели! Долгое время сомневался, стоит ли вообще писать данную статью, так как установка локальной версии ДубльГИС на Linux осуществляется достаточно просто, для этого достаточно установить Wine и скачать с официального сайта 2GIS версию, предназначенную для запуска в Linux через Wine.

Однако я решил, что данный материал будет полезен тем, кто только начал осваивать Linux, поэтому данный материал имеет право на жизнь. Так что читайте далее порядок установки 2ГИС на Linux. Используемой мной дистрибутив — это KDE Neon (собрат Kubuntu и Ubuntu), но на других Linux-дистрибутивах установка будет аналогичной.

Установка WineHQ из ppa-репозитория

Итак, вначале необходимо установить Wine. Именно это рекомендует сам разработчик 2GIS. Далее информация для тех, кто впервые слышит слова Wine.

Wine — это программа, которая не является эмулятором компьютера, предназначенная в первую очередь для таких Unix-подобных операционных систем как Linux и MacOS и позволяющая запускать 32 и 64-битные приложения, которые написаны специально для всем известной операционной системы Microft Windows.

Дело в том, что нативной программы 2Gis для Linux не существует (точнее поддержка и разработка прекращена с февраля 2015 года), поэтому разработчики 2Gis рекомендуют использовать Wine. Впрочем, под Wine 2Gis работает отлично.

Для установки Wine HQ из ppa необходимо выполнить несколько простых команд в Терминале.

1. Добавление 32-битной поддержки архитектуры

Сначала добавляем поддержку архитектуры i386 для 64-битных систем. Команда в Терминале:

sudo dpkg —add-architecture i386

2. Добавление ppa-репозитория

Далее всего парой команд добавляем сам репозиторий:

wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add —

sudo apt-add-repository ‘deb http://dl.winehq.org/wine-builds/ubuntu/ bionic main’

3. Непосредственно установка Wine

sudo apt install winehq-stable

На этом установка Wine HQ почти закончена. Если остались еще вопросы по установке, то добро пожаловать на официальную страницу с рекомендациями по установке Wine на различных дистрибутивах Linux, которая расположена тут https://wiki.winehq.org/Download в разделе бинарные пакеты Wine HQ.

Если с английским языком вы на ВЫ (простите за тавтологию), то переводчик Google вам в помощь.

Загрузка 2GIS с официального сайта разработчика

Далее необходимо зайти на официальный сайт 2GIS по адресу local.2gis.ru и, перейдя в раздел Другие варианты загрузки, скачать 2GIS для Linux. Скачать необходимо именно оболочку 2ГИС.

После скачивания архива с установщиком необходимо произвести распаковку архива любым доступным в вашем дистрибутиве архиватором.

Первый запуск 2GIS в Linux

Далее необходимо щелкнуть правой кнопкой мыши по файлу grym.exe и выбрать команду контекстного меню Открыть с помощью Wine — загрузчик программ Windows.

Читайте также:  Как создать диск recovery windows 10

После этого Wine предложит скачать и установить в автоматическом режиме несколько дополнительных пакетов:

1) Wine-mono — для поддержки приложений, использующих .NET Framework;

2) Gecko — для поддержки приложений, использующих язык HTML.

Для автоматической установки Wine-mono и Gecko достаточно нажать кнопку Установить и дождаться окончания процесса установки.

После этого можно снова щелкнуть правой кнопкой мыши по файлу grym.exe и выбрать команду контекстного меню Открыть с помощью Wine — загрузчик программ Windows, после чего произойдет запуск фирменного интерфейса приложения 2GIS.

Первоначально 2GIS проверит наличие доступных новых версий и предложит скачать карту нужного города.

Собственно, на этом все. Можно пользоваться локальной компьютерной версией 2GIS. Немного жаль, что с февраля 2015 года больше нет нативной версии 2GIS для Linux, но под Wine 2GIS работает без каких бы то ни было проблем.

Ну а если по каким-то причинам вы вообще не допускаете использование Wine в Linux, то всегда можно запустить любимый браузер и воспользоваться онлайн-версией ДубльГИСа.

Понравилась статья? Не очень? Тогда возможно, что вы напишите свою гораздо лучше. Просто перейдите по ссылке Размещение статей и ознакомьтесь с правилами публикации статей на сайте MultiBlog67.RU .

Источник

Обновление ДубльГИС консольными средствами Linux

Введение


Очень часто пользователи просят установить ДубльГИС (не сочтите за рекламу) справочник, особенно если пользователь ездит в командировки, общается с людьми из других городов.

И как у любого системного администратора у меня возникла идея автоматически и централизованно обновлять ДубльГИС для всех городов.

По ряду причин решено было сделать это средствами Linux.
Одной из причин являлось отсутствия решения для централизованного обновления под данную операционную систему.
Еще одной — отсутствие файла на сайте со всеми базами и оболочкой в одном архиве для пользователей Linux.

В данной статье я расскажу как можно обновить ДубльГИС для всех городов, консольными средствами Linux.

Что понадобится?

  • Linux сервер (у меня работает под Fedora 15)
  • wget
  • sed,grep
  • unzip
  • Ваш любимый текстовый редактор

Пишем скрипт

Вот какой скрипт получился у меня.

Качаем Web страницу со ссылками на города.
wget —no-proxy —html-extension -P/root/2gis ‘http://www.2gis.ru/how-get/linux/’

Выдираем из всех html файлов, что скачались, все строки со ссылками, сортируем, удаляем дубликаты и записываем их во временный файл index.tmp.
cat /root/2gis/*.html | grep http:\/\/ |sort |uniq >/root/2gis/index.tmp

Удаляем web-страницу — она больше не нужна.
rm -f /root/2gis/*.html

Этой жуткой командой мы обработали Index.tmp на предмет вытаскивания всех ссылок со строкой how-get и сразу закачали web-страницы по этим ссылкам.
cat /root/2gis/index.tmp | grep -o [\’\»\ ]*http:\/\/[^\»\’\ \>]*[\’\»\ \>] | sed s/[\»\’\ \>]//g | grep how-get | xargs wget —no-proxy -r -p -np -l1 -P/root/2gis —tries=10 —html-extension —no-directories —span-hosts —dot-style=mega

Читайте также:  Vpn server linux debian

Удалили index.tmp — только мешается.
rm -f /root/2gis/index.tmp

Склеили все файлы с расширением html в один index2.tmp.
cat /root/2gis/*.html >/root/2gis/index2.tmp

Удаляем скаченные Web-страницы.
rm -f /root/2gis/*.html

Теперь самое интересное — нужно выдернуть ссылки на обновления и скачать файлы по ним.

Обрабатываем index2.tmp на предмет ссылок со строкой «/last/linux/», сортируем, удаляем дубликаты и сразу качаем в папку 2gis.arch только новые файлы
cat /root/2gis/index2.tmp | grep -o [\’\»\ ]*http:\/\/[^\»\’\ \>]*[\’\»\ \>] | sed s/[\»\’\ \>]//g | grep «/last/linux/» | sort | uniq | xargs wget —no-proxy -nc -P/root/2gis.arch —tries=3 —html-extension —no-directories —span-hosts —dot-style=mega

Удаляем все временные файлы.
rm -fr /root/2gis/index*

Распаковываем из папки с архивами все zip файлы в нашу целевую папку /root/2gis/
unzip -o /root/2gis.arch/\*.zip -d /root/2gis/
Удаляем архивы старше 20 дней, чтобы не было дубликатов
find /root/2gis.arch/ -name * -mtime +20 |xargs rm -fr

Теперь в папке /root/2gis лежит распакованный ДубльГИС для всех городов, а в папке /root/2gis.arch архивы для пользователей Linux, скачанные с сайта.
Ставим скрипт на выполнение по cron’у.
Я поставил на каждый день, скрипт не скачает лишних файлов.

Заключение

Структура сайта ДубльГИС постоянно меняется, не исключено, что скрипт может не скачать обновления. Рекомендую периодически это контроллировать.

Отредактировал скрипт. Убрал все лишнее.

Новый вариант.
wget -O — ‘http://www.2gis.ru/how-get/linux/’ 2>/dev/null | sed «s/^.*\(http:\/\/[^\»\’\ ]*\/how-get\/linux\/\).*$/\1/g» |\
grep «how-get\/linux»|sort|uniq|xargs wget -p -O — 2>/dev/null |sed «s/^.*\(http:\/\/[^\»\’\ ]*\/last\/linux\/\).*$/\1/g»|grep «last\/linux»| sort|uniq|\
xargs wget -N -P/root/2gis.arch
unzip -o /root/2gis.arch/\*.zip -d /root/2gis/

PS Спасибо kriomant за конструктивную критику.
Всех с новым годом!

Источник

Сервер обновлений 2ГИС для Unix

Системные требования

Сервер обновлений 2ГИС для *nix реализован на базе web-сервера nginx. Если у вас в сети уже есть сервер с nginx, обслуживающий внутренний web-сайт компании, и на этом сервере есть доступ в Интернет — вы можете «подселить» туда Сервер обновлений. Он займёт виртуальный хост 2gis-update, не мешая другим сайтам.

Чтобы пользовательские компьютеры автоматически обнаружили локальный сервер обновлений, машина, на которой установлен Сервер обновлений, должна откликаться на DNS-имя 2gis-update.ваш_домен. Или же вы можете прописать адрес сервера обновлений в настройках каждого пользователя — вручную или с помощью доменных политик.

Также вам понадобится дисковое пространство под кэш. В базовой поставке настроен кэш размером 2ГБ; в зависимости от подмножества баз, используемых вашими пользователями, для эффективного кэширования может понадобиться увеличить размер кэша.

Установка и настройка Сервера обновлений

Установка из репозитория для Debian-подобных систем

Если вы используете Debian, Ubuntu или другой основанный на Debian дистрибутив GNU/Linux, вы можете установить Сервер обновлений из нашего репозитория. Мы выпускаем пакет для Ubuntu; он должен также работать на других дистрибутивах, где работает nginx версии не ниже 0.7.65.

Добавьте в /etc/apt/sources.list следующую строчку:

deb http://deb.2gis.ru/ 2gis main

Импортируйте наш ключ:

Читайте также:  User applications mac os

gpg —keyserver hkp://keyserver.ubuntu.com —recv-keys 69ECCC891636CC92
gpg —armor —export 69ECCC891636CC92 | sudo apt-key add —

Установите пакет 2gis-local-update-server:

sudo apt-get update
sudo apt-get install 2gis-local-update-server

  • Если у вас ещё не установлен nginx, он будет автоматически установлен и настроен для работы с Сервером обновлений.
  • Если nginx уже установлен, но на нём нет сайтов — Сервер обновлений установится как сайт по умолчанию.
  • Если nginx установлен и на нём есть сайты, то Сервер обновлений будет работать только как виртуальный хост (под именем 2gis-update), чтобы не затронуть работу ваших сайтов.

Установка вручную

Если вы пользуетесь другим дистрибутивом Linux или FreeBSD, вы можете установить Сервер обновлений самостоятельно.

  1. Установите nginx версии 0.7.65 или выше. Пакеты есть во всех распространённых GNU/Linux и BSD дистрибутивах.
  2. Найдите файлы конфигурации nginx. Здесь и далее предполагается, что они в /etc/nginx; если у вас по-другому, мысленно подставьте свой путь в дальнейшую инструкцию.
  3. Выкачайте и распакуйте конфигурационные файлы Сервера обновлений:

Скопируйте файлы 2gis-local-update-server-partial.conf, 2gis-local-update-server.key, 2gis-local-update-server.crt в каталог /etc/nginx:

do cp 2gis-local-update-server-partial.conf
2gis-local-update-server.key 2gis-local-update-server.crt /etc/nginx/
Скопируйте файл 2gis-local-update-server.conf в каталог /etc/nginx/conf.d:

Создайте каталоги для кэша:

sudo mkdir -p /var/cache/2gis/nginx/updates
sudo mkdir -p /var/cache/2gis/nginx/temp
sudo mkdir -p /var/cache/2gis/nginx/infolist
sudo touch /var/cache/2gis/nginx/updates/ping

  • Смените владельца каталога кэша на тот аккаунт, под которым в вашей системе работает nginx. Здесь предполагается, что это www-data:
  • Если вы хотите, чтобы Сервер обновлений был сайтом по умолчанию (обрабатывал запросы по всем именам, а не только по 2gis-update), добавьте в директивы listen файла 2gis-local-update-server.conf ключевое слово default_server.

    server <
    listen *:80 default_server;

    >
    server <
    listen *:443 default_server;

    >
    Перезапустите nginx:

    sudo /etc/init.d/nginx restart

    У меня ещё нет каталога conf.d

    sudo mkdir -p /etc/nginx/conf.d
    Замените nginx.conf на следующее (подставив подходящие вам пути):

    user www-data;
    worker_processes 2;
    error_log /var/log/nginx/error.log;
    pid /var/run/nginx.pid;
    events <
    worker_connections 2048;
    >
    http <
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    access_log /var/log/nginx/access.log;
    sendfile on;
    tcp_nodelay on;
    tcp_nopush on;
    gzip off;
    keepalive_timeout 2s;
    include /etc/nginx/conf.d/*.conf;
    >

    Продолжите установку согласно инструкции.

    У меня уже есть тщательно настроенный nginx.conf, я не хочу его реорганизовывать

    Добавьте в секцию http следующую строчку:

    Не забудьте создать все необходимые каталоги, как описано выше.

    Автоматическое обнаружение сервера обновлений

    Центр обновлений 2ГИС автоматически обнаружит ваш сервер обновлений, если он будет отзываться на имя 2gis-update. Если ваш DNS-сервер использует bind, добавьте в файл описания зоны строчку:

    2gis-update IN A kkk.lll.mmm.nnn

    подставив вместо kkk.lll.mmm.nnn IP-адрес вашего сервера.

    Удаление

    Удаление Сервера обновлений, установленного из deb-пакета

    Следующая команда удалит Сервер обновлений, но оставит нетронутым кэш:

    sudo apt-get remove 2gis-local-update-server

    Чтобы удалить Сервер обновлений вместе с кэшем, используйте команду

    sudo apt-get purge 2gis-local-update-server

    Если nginx вам больше не нужен, удалите его тоже:

    sudo apt-get purge nginx

    Удаление Сервера обновлений, установленного вручную

    Источник

  • Оцените статью