Настройка рабочей станции Linux (Ubuntu) в качестве среды разработки. Часть первая. Общая настройка
Emil GaripovСтатья представляет собой пошаговое руководство по установке и начальной настройке рабочей станции Linux c версией Ubuntu Desktop 19.04. в качестве среды разработки.
Все это описано на сайте Cisco Devnet. В данной статье решил немного дополнить и расширить некоторые настройки.
Статьи
- Часть первая. Общая настройка
- Часть вторая. Установка и настройка Doсker
Оглавление статьи:
- Настройка репозитория
- Установка и настройка Git
- Проверка работы терминала bash
- Установка Python
- Установка виртуального окружения Python
- Установка Nodejs
- Установка текстового редактора и IDE Conda
- Установка Postman
- Установка Ngrok
- Установка Google Chrome
- Установка клиента OpenConnect
Настройка репозитория
Для начала необходимо настроить репозиторий. Воспользуемся документацией:
- Обновляем индекс пакета apt:
$ sudo apt-get update

2. Устанавливаем необходимые пакеты для того, чтобы разрешить apt использовать репозиторий через HTTPS:
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
После того, как ввели эти команды, он поинтересуется, готовы ли продолжить установку пакетов:

Набираем Y, если хотим продолжить или n, если хотим прервать. Так как я хочу пойти дальше, я набираю Y и нажимаю Enter.
3. Проверяем установку пакета libssl-dev, который содержит библиотеки разработки, заголовочные файлы и страницы для libssl и libcrypto.
$ sudo apt-get install libssl-dev

Судя по строке:
$ libssl-dev is already the newest version (1.1.1b-1ubuntu2.1).
у нас установлена новая версия и ничего делать не нужно.
4. Далее устанавливаем пакет build-essentials, который является справочным для всех пакетов, необходимых для компиляции пакета Debian. Обычно она включает компиляторы и библиотеки GCC/g++ и некоторые другие утилиты.
$ sudo apt-get install build-essential

Установка и настройка Git
Git это распределённая система контроля версий (Version Control System, VCS). Воспользуемся руководством из книги Наташи Самойленко:
- Устновка git:
$ sudo apt-get install git

Судя по строке:
$ git is already the newest version (1:2.20.1-2ubuntu1)
установлена новая версия Git
2.Первичная настройка Git:
Для начала работы с Git, необходимо указать имя и e-mail пользователя, которые будут использоваться для синхронизации локального репозитория с репозиторием на GitHub:
$ git config --global user.name "username" $ git config --global user.email "username.user@example.com"

Проверяем настройки Git:
$ git config --list

3. Пробуем клонировать репозиторий из GitHub:
$ git clone https://github.com/CiscoDevNet/hello_network

Все скопировалось удачно.
Еще очень полезно установить утилиту отображение статуса репозитория в приглашении. Как это сделать смотрите в соответствующей части книги у Наташи.
Проверка работы терминала bash
По умолчанию "терминалом" для Ubuntu является оболочка bash. Давайте проверим, что он работает правильно.
- Переходим в каталог Hello_network, клонированный из репозитория Git:
$ cd hello_network

2. В репозиторий включен скрипт bash shell под названием hello_network.sh, запускаем его, чтобы убедиться, что у нас работает bash shell:
$ ./hello_network.sh

Все работает, идем дальше.
Установка Python
Перед началом работы надо проверить установлен ли у нас Python:
$ python

Из вывода на экране видно, что у нас установлен Python версии 2.7
Проверяем, установлен ли Python версии 3:
$ python3

Из вывода на экране видно, что у нас установлен Python версии 3.7
Если у вас не установлен Python, то можете воспользоваться инструкцией и, следуя ей, установить.
Установка виртуального окружения Python
Прежде чем закончить установку Python, мы посмотрим, как создавать виртуальное окружение для каждой версии Python. Виртуальное окружение - это метод создания изолированных "сред", где могут быть установлены специальные версии Python, а также независимые наборы библиотек и зависимостей.
Использование виртуальной среды является очень распространенной и рекомендуемой практикой при работе в Python, и большинство других тестов на DevNet поощряют создание и работу в виртуальных средах.
- Сначала загрузим и установим пакет виртуального окружения Python 3.
$ sudo apt-get install python3-virtualenv

При установке вас спросят хотите ли вы продолжить, если согласны, то прописываете Y и нажимаете Enter. После установки, переходим к шагу 2
2. Создайте виртуальную среду Python 3 с помощью модуля virtualenv.
$ python3.7 -m venv py3-venv
P.S. надо учесть, что после команды python вам нужно прописать именно ту версию, которая установлена у вас на машине. Для проверки 3 версии Python набираем команду:
$ python3 -V
Для проверки 2 версии Python набираем команду:
$ python -V

3. Теперь активируем виртуальное окружение. Ищем имя виртуального окружения, которая будет заключена в круглые скобки после активации:
$ source py3-venv/bin/activate

4. Проверяем версию Python, установленную в виртуальном окружении:
$ python -V

5. Для деактивации виртуального окружения используем команду:
$ deactivate

Установка Nodejs
Node или Node.js(как говорит Википедия) — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Другими словами это серверная платформа для работы с JavaScript через движок V8. JavaScript выполняет действие на стороне клиента, а Node — на сервере.
При установке есть две различные опции Node.js. Можно использовать стабильный пакет с APT, или развернуть и использовать специальные версии Node.js, используя NVM, диспетчер версий узлов.
Для тестовых целей DevNet подойдет версия со стабильным дистрибутивом версии 8.x.
- Установка Nodejs:
$ sudo apt-get install nodejs

Соглашаемся с условиями и продолжаем установку.
2. Устанавливаем NPM. NPM (node package manager) — это стандартный менеджер пакетов. Он используется для скачивания пакетов из облачного сервера NPM, либо для загрузки пакетов на эти сервера:
$ sudo apt install npm
3. После установки проверяем версию:
$ nodejs -v

Установка текстового редактора и IDE Conda
Поскольку у всех разные вкусы по использованию текстовых редакторов, я решил не изменять своему вкусу и использовать Сonda.
- Для установки текстового редактора используем snap. Snap это система управления и распределения пакетов, предоставляемая компанией Canonical. Для начала надо установить snap:
$ sudo apt install snapd

2. Устанавливаем Conda. Так как нет возможности установить стабильную версию, устанавливаем бета:
$ sudo snap install conda --beta

3. Проверяем:
$ conda --version

Установка Postman
Postman - это полная среда разработки API, которая помогает вам управлять API на каждом этапе разработки, от проектирования и тестирования до публикации документации API и мониторинга. Postman изначально использовался как расширение браузера Chrome и быстро стал одним из самых используемых инструментов API разработчиками во всем мире. Более подробно можно почитать здесь
- Для установки Postman опять воспользуемся snap.
$ sudo snap install postman

2. Запускаем Postman:

3. Postman откроется и позволит вам зарегистрироваться или войти в систему. Вам НЕ нужно входить в систему, чтобы пользоваться Postman, вы можете просто нажать кнопку "Take me straight to the app. I'll create an account another time.".
4. Проверим можем ли мы совершать REST API вызовы с Postman при помощи API "Dad Joke". Введем https://icanhazdadjoke.com/ в адресную строку:

5. Перед нажатием на кнопку Send, необходимо настроить параметры. Переходим на вкладку Headers, в поле KEY вбиваем Accept, а в поле VALUE вбиваем application/json:

6. Получаем результат:

Установка Ngrok
Ngrok — это платформа, которая предоставляет сделать доступ к локальным серверам, находящимися за NAT и брандмауэрами с помощью защищенных туннелей через публичный Интернет.
- В терминале переходим в директорию /opt:
$ cd /opt

2. Используем wget для загрузки приложения ngrok:
$ sudo wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip

При этом может возникнуть ошибка, как у меня. Причин может быть несколько
Поэтому я использовал curl для загрузки приложения:
$ sudo curl -LO https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip

3. Извлекаем загруженный файл:
$ sudo unzip ngrok-stable-linux-amd64.zip

4. Перемещаем файл в каталог /usr/local/bin, чтобы его было легко запустить.
$ sudo mv ngrok /usr/local/bin
5. Запускаем ngrok tunnel:
$ ngrok http 5000

6. Ура! Туннель завелся:

7. Нажимаем Ctrl+C для выхода.
Установка Google Chrome
В Ubuntu не существует готового apt - пакета для Chrome. В связи с этим нам понадобятся дополнительные шаги для его установки.
- Сначала вам нужно создать source list файл для браузера. Выполняем следующую команду для создания source list файла для chrome:
$ sudo nano /etc/apt/sources.list.d/google-chrome.list
2. В открывшийся файл добавляем строку ниже:
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
3. Нажимаем Control-X, сохраняем изменения в файле.
4. Выполняем следующую команду, чтобы вы можно было загрузить ключ подписи Google.
$ sudo wget https://dl.google.com/linux/linux_signing_key.pub

5. Добавим ключ для проверки пакета deb Google Chrome:
$ sudo apt-key add linux_signing_key.pub

6. Обновляем списки пакетов:
$ sudo apt update
7. Устанавливаем Chrome:
$ sudo apt install google-chrome-stable

8. Проверяем, что Chrome установлен:

9. Смотрим на наличие Developer tools:

10. Теперь мы видим инструменты разработчика, открытые в окне:

Установка клиента OpenConnect
Мы устанавливаем OpenConnect VPN клиент с открытым исходным кодом, который будет использоваться для подключения к DevNet Sandboxes.
- Устанавливаем OpenConnect VPN клиент:
$ sudo apt-get install openconnect

Соглашаемся с условиями и продолжаем установку.
2. Для полной проверки установки OpenConnect вам понадобится VPN сервер для подключения. Если у вас нет ни одного удобного инструмента, зайдите в DevNet Sandbox Catalog и зарезервируйте одну из наших возможных песочниц. Как это сделать описано в документации.

3.Как только вы зарезервировали Sandbox, вам будут отправлены учетные данные на почту, c которыми вы сможете подключиться.

4. Из терминала запускаем команду, по адресу, указанному в письме выше:
$ sudo openconnect -b devnetsandbox-us-sjc.cisco.com:20109

При запросе указываем имя пользователя и пароль.
5. Теперь у нас должно быть активное VPN соединение с песочницей, и мы должны иметь возможность доступа к ресурсам песочницы.
6. Проверяем запущен ли процесс:
$ sudo ps -ax | grep openconnect

7. При необходимости убиваем процесс:
$ sudo kill 2019

Осталось установить и настроить Docker. Но так как эта статья получилась довольно большая, решил, что Docker требует написания отдельной статьи. Что я в скором времени и сделаю.