One place for hosting & domains

      Установка Git на Debian 9


      Введение

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

      Git — одна из наиболее популярных систем управления версиями из доступных сегодня. Многие проектные файлы хранятся в репозитории Git, а такие сайты, как GitHub, GitLab и Bitbucket, упрощают работу над проектами разработки программного обеспечения и совместную работу.

      В этом обучающем модуле мы научимся устанавливать и настраивать Git на сервере Debian 9. Мы расскажем, как выполнить установку программного обеспечения двумя различными способами, каждый из которых имеет свои преимущества в зависимости от ваших конкретных потребностей.

      Предварительные требования

      Для выполнения этого обучающего руководства у вас должен быть пользователь без прав root с привилегиями sudo на сервере Debian 9. Данная настройка описывается в нашем руководстве по начальной настройке сервера Debian 9.

      После настройки сервера и пользователя вы можете продолжить.

      Установка Git с пакетами по умолчанию

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

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

      • sudo apt update
      • sudo apt install git

      Вы можете убедиться, что установка Git выполнена корректно, запустив следующую команду:

      Output

      git version 2.11.0

      После успешной установки Git вы можете переходить Настройка Git данного обучающего руководства и выполнению настройки.

      Установка Git из файла с исходным кодом

      Более гибкий метод установки Git — это компиляция программного обеспечения из исходного кода. Это метод требует больше времени, а полученный результат не будет сохранен в менеджере пакетов, но он позволяет загрузить последнюю версию и дает определенный контроль над параметрами, которые вы включаете в ПО при необходимости индивидуальной настройки.

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

      • sudo apt update
      • sudo apt install make libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip

      После установки необходимых зависимостей вы можете продолжить работу и получить нужную вас версию Git, посетив зеркало проекта Git на GitHub, доступное по следующему URL-адресу:

      https://github.com/git/git
      

      Перейдя по ссылке, убедитесь, что вы находитесь в ветке master. Нажмите ссылку Tags и выберите желаемую версию Git. Если у вас нет оснований для загрузки версии-кандидата (помеченная rc), постарайтесь избежать этого, поскольку такие версии могут быть нестабильными.

      git change branch select tags

      Затем нажмите кнопку Clone or download​​​ на правой стороне страницы, потом нажмите правой кнопкой мыши Download ZIP и скопируйте адрес ссылки, заканчивающийся на .zip.

      right-click on download zip to copy url

      Вернитесь на сервер Debian 9 и перейдите в директорию tmp, чтобы загрузить временные файлы.

      Здесь вы можете использовать команду wget для установки скопированной ссылки на файл с архивом. Мы укажем новое имя для файла: git.zip.

      • wget https://github.com/git/git/archive/v2.18.0.zip -O git.zip

      Разархивируйте файл, который вы загрузили, и переместите в полученную директорию:

      Теперь вы можете создать пакет и установить его, введя эти две команды:

      • make prefix=/usr/local all
      • sudo make prefix=/usr/local install

      Чтобы убедиться, что установка прошла успешно, вы можете ввести git --version, после чего вы должны получить соответствующий вывод, указывающий текущую установленную версию Git.

      Теперь, когда вы установили Git, если вы захотите обновиться до более поздней версии, вы можете клонировать репозиторий, а потом выполнить сборку и установку. Чтобы найти URL-адрес для использования при клонировании, перейдите к нужной ветке или тегу на странице проекта в GitHub и скопируйте клонируемый URL-адрес с правой стороны:

      git copy URL

      На момент написания соответствующий URL должен выглядеть следующим образом:

      https://github.com/git/git.git
      

      Измените домашнюю директорию и используйте git clone для URL-адреса, который вы только что скопировали:

      • cd ~
      • git clone https://github.com/git/git.git

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

      • cd git
      • make prefix=/usr/local all
      • sudo make prefix=/usr/local install

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

      Настройка Git

      Теперь, когда вы установили Git, вам нужно настроить его, чтобы сгенерированные сообщения о внесении содержали корректную информацию.

      Это можно сделать с помощью команды git config. В частности, нам нужно указать наше имя и адрес электронной почты, поскольку Git вставляет эту информацию в каждое внесение. Мы можем двигаться дальше и добавить эту информацию с помощью следующей команды:

      • git config --global user.name "Sammy"
      • git config --global user.email "[email protected]"

      Мы можем просмотреть все пункты конфигурации, которые были настроены, введя следующую команду:

      Output

      user.name=Sammy user.email=[email protected] ...

      Информация, которую вы вводите, сохраняется в файле конфигурации Git, и вы можете при желании изменить ее вручную с помощью текстового редактора:

      ~/.gitconfig contents

      [user]
        name = Sammy
        email = [email protected]
      

      Существует множество других вариантов настроек, но эти две опции устанавливаются в обязательном порядке. Если вы пропустите этот шаг, вы, скорее всего, будете видеть предупреждения при внесении изменений в Git. Это будет требовать дополнительной работы, поскольку вам нужно будет исправлять вносимые изменения, которые вы делали, вводя корректную информацию.

      Заключение

      Вы установили Git и готовы к его использованию в системе.

      Чтобы узнать больше об использовании Git, прочитайте эти статьи и разделы:



      Source link

      Установка, запуск и подключение к Jupyter Notebook на удаленном сервере


      Автор выбрал Apache Software Foundation для получения пожертвования в размере $100 в рамках программы Write for DOnations.

      Введение

      Jupyter Notebook — интерактивное веб-приложение с открытым исходным кодом, позвоялющее писать и запускать программный код более чем на 40 языках программирования, включая Python, R, Julia и Scala. Jupyter Notebook — это продукт Project Jupyter, очень полезный для итеративного программирования, поскольку он позволяет написать небольшой фрагмент кода, запустить его и вывести результат.

      Jupyter Notebook позволяет создавать документы в форме блокнота, обычно называемые «блокнотами». Блокноты, создаваемые Jupyter Notebook, представляют собой доступные для публикации и воспроизведения исследовательские документы, содержащие элементы расширенного текста, уравнения, код и результаты исполнения (рисунки, таблицы, интерактивные графики). Блокноты можно экспортировать в файлы кода, документы HTML или PDF, а также использовать для создания интерактивных слайд-шоу или веб-страниц.

      Эта статья расскажет вам о том, как установить и настроить приложение Jupyter Notebook на веб-сервере Ubuntu 18.04 и подключиться к нему с локального компьютера. Также мы покажем, как использовать Jupyter Notebook для запуска примера кода на Python.

      Предварительные требования

      Для данного обучающего руководства вам потребуется следующее:

      Кроме того, если на вашем локальном компьютере используется Windows, вам нужно будет установить PuTTY для создания туннеля SSH для подключения к серверу. Для загрузки и установки PuTTY следуйте указаниям обучающего модуля Создание ключей SSH с помощью PuTTY в Windows.

      Шаг 1 — Установка Jupyter Notebook

      Поскольку блокноты используются для записи, запуска и просмотра результатов выполнения небольших фрагментов программного кода, предварительно нужно настроить поддержку языка программирования. Jupyter Notebook использует ядро с привязкой к языкам, компьютерную программу, которая запускает и проводит внутренний анализ кода. В Jupyter Notebook имеется много ядер для разных языков, по умолчанию используется IPython. В этом обучающем модуле вы научитесь настраивать Jupyter Notebook для запуска кода Python через ядро IPython.

      Если вы выполнили обучающие модули, указанные в разделе «Предварительные требования», у вас должны быть установлены Python 3, pip и виртуальная среда. Приведенные в этом руководстве примеры следуют указаниям по конвенции обучающего модуля Python 3, где виртуальной среде присваивается имя my_env, но вы можете использовать любое другое имя.

      Начнем с активации виртуальной среды:

      • source my_env/bin/activate

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

      Теперь вы находитесь в виртуальной среде и можете начать установку Jupyter Notebook:

      • python3 -m pip install jupyter

      Если установка выполнена успешна, вы увидите примерно следующий результат:

      Output

      . . . Successfully installed MarkupSafe-1.0 Send2Trash-1.5.0 backcall-0.1.0 bleach-2.1.3 decorator-4.3.0 entrypoints-0.2.3 html5lib-1.0.1 ipykernel-4.8.2 ipython-6.4.0 ipython-genutils-0.2.0 ipywidgets-7.2.1 jedi-0.12.0 jinja2-2.10 jsonschema-2.6.0 jupyter-1.0.0 jupyter-client-5.2.3 jupyter-console-5.2.0 jupyter-core-4.4.0 mistune-0.8.3 nbconvert-5.3.1 nbformat-4.4.0 notebook-5.5.0 pandocfilters-1.4.2 parso-0.2.0 pexpect-4.5.0 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 python-dateutil-2.7.3 pyzmq-17.0.0 qtconsole-4.3.1 simplegeneric-0.8.1 six-1.11.0 terminado-0.8.1 testpath-0.3.1 tornado-5.0.2

      Установка Jupyter Notebook на ваш сервер завершена. Теперь мы перейдем к запуску приложения.

      Шаг 2 — Запуск Jupyter Notebook

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

      Чтобы запустить сервер Jupyter Notebook, введите следующую команду:

      После запуска команды вы увидите примерно следующий результат:

      Output

      [I 19:46:22.031 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret [I 19:46:22.365 NotebookApp] Serving notebooks from local directory: /home/sammy/environments [I 19:46:22.365 NotebookApp] 0 active kernels [I 19:46:22.366 NotebookApp] The Jupyter Notebook is running at: [I 19:46:22.366 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675 [I 19:46:22.366 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 19:46:22.366 NotebookApp] No web browser found: could not locate runnable browser. [C 19:46:22.367 NotebookApp] Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675&tokenExample_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675

      Возможно вы заметили в результатах предупреждение No web browser found. Это можно ожидать, поскольку приложение запущено на сервере, а вы вряд ли установили на него браузер. В следующем разделе этого обучающего модуля вы узнаете, как подключиться к Notebook на сервере, используя туннель SSH.

      Сейчас закройте Jupyter Notebook. Для этого нажмите CTRL+C, затем y, а затем ENTER для подтверждения:

      Output

      Shutdown this notebook server (y/[n])? y [C 20:05:47.654 NotebookApp] Shutdown confirmed [I 20:05:47.654 NotebookApp] Shutting down 0 kernels

      Затем выйдите из сервера, используя команду exit:

      Вы только что запустили Jupyter Notebook на своем сервере. Чтобы получить доступ к приложению и начать работать с блокнотами, вам потребуется подключиться к приложению через туннель SSH и браузер на локальном компьютере.

      Шаг 3 — Подключение к приложению Jupyter Notebook через туннель SSH

      Туннель SSH — простой и быстрый способ подключиться к приложению Jupyter Notebook, запущенному на вашем сервере. Secure Shell (обычно SSH) — это сетевой протокол, позволяющий выполнить защищенное подключение к удаленному серверу по незащищенной сети.

      Протокол SSH включает механизм переадресации портов, позволяющий подключаться через туннель к определенным приложениям на определенном порту сервера с определенного порта на локальном компьютере. Мы научимся выполнять безопасную «переадресацию» приложения Jupyter Notebook на вашем сервере (по умолчанию использует порт 8888) на порт вашего локального компьютера.

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

      Примечание. Приложение Jupyter Notebook можно установить через веб-консоль DigitalOcean, однако подключение к приложению через туннель SSH следует выполнять с помощью терминала или PuTTY.

      Создание туннелей SSH в macOS или Linux

      Если на вашем локальном компьютере используется Linux или macOS, туннель SSH можно создать, запустив всего одну команду.

      ssh — стандартная команда для создания соединения SSH. Когда она используется с директивой -L, вы можете указать перенаправление определенного порта локального хоста (т.е. локального компьютера) на указанный хост и порт удаленного хоста (в данном случае, на ваш сервер). Это означает, что все запускаемое на заданном порту удаленного сервера (8888, порт Jupyter Notebook по умолчанию) будет появляться на заданном порту локального компьютера (8000 в данном примере команды).

      Чтобы создать собственный туннель SSH, запустите следующую команду. Вы можете изменить порт 8000 на любой предпочитаемый порт (например, если порт 8000 используется другим процессом). Рекомендуется использовать порт с номером не меньше 8000, поскольку такие номера портов вряд ли используются другими процессами. Обязательно укажите IP-адрес вашего собственного сервера и имя пользователя сервера без привилегий root:

      • ssh -L 8000:localhost:8888 sammy@your_server_ip

      Если эта команда не выдаст никаких ошибок, вы войдете на удаленный сервер. Там вы должны активировать виртуальную среду:

      • source ~/environments/my_env/bin/activate

      Затем запустите приложение Jupyter Notebook:

      Для подключения к Jupyter Notebook откройте в своем предпочитаемом браузере локальный порт на локальном хосте: http://localhost:8000. После подключения к Jupyter Notebook переходите к шагу 4, чтобы научиться его использовать.

      Создание туннелей SSH с использованием Windows и PuTTY

      PuTTY — клиент SSH с открытым исходным кодом для Windows, который можно использовать для подключения к вашему серверу. После загрузки и установки PuTTY на ваш компьютер Windows (как описано в обучающем модуле из предварительных требований) откройте программу и введите URL или IP-адрес вашего сервера, как показано здесь:

      Введите URL или IP-адрес сервера в Putty

      Затем нажмите + SSH внизу левой панели и нажмите Tunnels (Туннели). В этом окне введите порт, который хотите использовать для доступа к Jupyter на локальном компьютере (8000). Рекомендуется использовать порт с номером не меньше 8000, поскольку такие номера портов вряд ли используются другими процессами. Если порт 8000 используется другим процессом, выберите другой неиспользуемый номер порта. Установите адрес назначения localhost:8888, поскольку порт 8888 — это тот порт, на котором работает Jupyter Notebook. Затем нажмите кнопку Add (Добавить), после чего порты должны появиться в поле Forwarded ports (Перенаправляемые порты):

      Настройте туннель SSH в Putty

      Затем нажмите кнопку Open (Открыть). Ваш компьютер подключится к серверу через SSH и соединит желаемые порты туннелем. Если никаких ошибок не появится, вы можете активировать свою виртуальную среду:

      • source ~/environments/my_env/bin/activate

      Затем запустите Jupyter Notebook:

      Затем откройте в предпочитаемом браузере локальный порт, например http://localhost:8000 (или любой выбранный номер порта), чтобы подключиться к экземпляру Jupyter Notebook, запущенному на сервере. После подключения к Jupyter Notebook переходите к шагу 4, чтобы научиться его использовать.

      Шаг 4 — Использование Jupyter Notebook

      При доступе через браузер Jupyter Notebook предоставляет информационную панель Notebook, которая выступает как обозреватель файлов и дает интерфейс для создания, редактирования и просмотра блокнотов. Эти блокноты следует рассматривать как документы (сохраненные с расширением файла .ipynb), в которых вы заполняете любое количество отдельных ячеек. Каждая ячейка содержит интерактивный текстовый редактор, который можно использовать для запуска кода или записи сгенерированного текста. Кроме того, блокноты позволяют записывать и запускать уравнения, использовать графические элементы (такие как изображения или интерактивные графики), а также их можно экспортировать и публиковать в различных форматах (.ipyb, .pdf, .py). Чтобы проиллюстрировать некоторые из этих функций, мы создадим файл ноутбука из информационной панели Notebook, напишем простую текстовую панель с уравнением и запустим простой код Python 3.

      К этому моменту вы должны были подключиться к серверу через туннель SSH и запустить на сервере приложение Jupyter Notebook. После перехода на адрес http://localhost:8000 вы увидите страницу входа в систему:

      Экран входа в систему Jupyter Notebook

      В поле Password (Пароль) или поле токена сверху введите токен, показываемый в результатах после запуска jupyter notebook на сервере:

      Output

      [I 20:35:17.004 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret [I 20:35:17.314 NotebookApp] Serving notebooks from local directory: /home/sammy [I 20:35:17.314 NotebookApp] 0 active kernels [I 20:35:17.315 NotebookApp] The Jupyter Notebook is running at: [I 20:35:17.315 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675 [I 20:35:17.315 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 20:35:17.315 NotebookApp] No web browser found: could not locate runnable browser. [C 20:35:17.316 NotebookApp] . . .

      Также вы можете скопировать URL с экрана терминала и вставить его в адресную строку браузера.

      Jupyter Notebook автоматически покажет все файлы и папки, хранящиеся в каталоге, откуда выполняется запуск. Создайте новый файл блокнота, нажав New (Создать) и выбрав Python 3 в правом верхнем углу информационной панели Notebook:

      Создайте новый блокнот Python3

      В новом блокноте измените первую ячейку так, чтобы она принимала синтаксис разметки. Для этого нажмите Cell > Cell Type > Markdown (Ячейка > Тип ячейки > Разметка) на панели навигации сверху. Помимо разметки этот тип ячейки также позволяет записывать уравнения в LaTeX. Например, введите в ячейку следующее после ее переключения на разметку:

      # Simple Equation
      
      Let us now implement the following equation in Python:
      $$ y = x^2$$
      
      where $x = 2$
      

      Чтобы преобразовать разметку в расширенный текстовый формат, нажмите CTRL + ENTER, и получите следующий результат:

      Превратите образец уравнения в расширенный текст

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

      Теперь выполним простое уравнение и распечатаем результат. Нажмите Insert > Insert Cell Below (Вставка > Вставить ячейку снизу), чтобы вставить ячейку. Введите в новую ячейку следующий код:

      x = 2
      y = x*x
      print(y)
      

      Для запуска кода нажмите CTRL + ENTER и получите следующий результат:

      Решение примера уравнения

      Это довольно простые примеры того, что можно сделать с Jupyter Notebook. Однако это очень мощное приложение, которое можно использовать для самых разных целей. Отсюда вы можете добавить некоторые библиотеки Python и использовать блокнот, как и в любой другой среде разработки Python.

      Заключение

      Теперь вы можете писать воспроизводимый код Python и текст, используя приложение Jupyter Notebook на удаленном сервере. Чтобы пройти быстрый обзор Jupyter Notebook, нажмите Help (Справка) в верхней панели навигации и выберите пункт User Interface Tour (Обзор пользовательского интерфейса), как показано здесь:

      Поиск обзора Jupyter Notebook

      Если вы заинтересовались, вы можете узнать больше о Jupyter Notebook из документации Project Jupyter. Также вы можете использовать полученные в этом обучающем модуле знания, чтобы научиться программировать на Python 3.



      Source link