Как установить программное обеспечение с помощью Git в Linux

Вам сказали «клонировать репо и построить его», и вы не знаете, что делать дальше? Мы покажем вам, как запустить эту программу на GitHub в Linux, даже если вы новичок.

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

Это упрощенная версия событий, но она рисует правильную — если обобщить — картину. На практике вы найдете множество вариантов этой модели. Иногда другие программы создают текстовые файлы. В других случаях исходный код запускается внутри переводчика и не требует компиляции, и так далее.

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

Программы контроля версий

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

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

Маленькая штука под названием Git

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

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

И здесь на помощь приходит GitHub.

GitHub

GitHub был создан в результате успеха git. Основатели увидели растущую потребность в безопасных удаленных репозиториях git. Они начали бизнес предоставление облачной платформы чтобы группы разработчиков могли размещать удаленные репозитории. По состоянию на апрель 2019 года на GitHub размещено более 100 миллионов репозиториев.

Если приложение является проектом с открытым исходным кодом, очень высоки шансы, что оно будет размещено на GitHub. Доступны и другие платформы репозиториев, такие как BitBucket и GitLab, но на GitHub приходится львиная доля репозиториев с открытым исходным кодом.

  Как разместить сервер Xonotic Game на Linux

Анатомия репозитория

Репозиторий GitHub состоит из папок, содержащих файлы, такие как важнейшие файлы исходного кода. Обычно в репозитории есть много других типов файлов. Это могут быть файлы документации, страницы руководства, файлы лицензий на программное обеспечение, инструкции по сборке и файлы сценариев оболочки. Нет никаких правил относительно того, что репозиторий должен или должен содержать, но есть соглашения.

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

Итак, как получить копию репозитория на свой компьютер и как встроить программу в двоичный исполняемый файл?

Файл readme

Традиционно включать файл readme в репозиторий. Его можно назвать readme, Readme или README. Он может иметь расширение «.md» или вообще не иметь расширения.

Посмотрим на GitHub репозиторий для редактора Atom. Вы видите длинный список папок и файлов. Прокрутите вниз, и вы увидите содержимое файла README.md.

GitHub автоматически помещает содержимое файла readme на главную страницу репозитория. Если файл readme имеет расширение «.md», он будет содержать Разметка Markdown язык. Это позволяет разработчикам использовать элементы стиля, такие как шрифты, маркеры и изображения.

Раздел файла readme.md для редактора атомов на github.

Как правило, в файле readme есть разделы, в которых рассказывается, о чем идет речь, о типе лицензии, о том, кто поддерживает проект, как принять участие и как создать и запустить приложение.

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

Репозиторий коробок

Наша миссия — клонировать репозиторий ящиков, а затем создайте приложение ящиков.

Репозиторий имеет ту же структуру, что и Atom. Там список папок и файлов, а ниже — содержимое файла readme. Он следует стандартной схеме репозитория, но это меньший по размеру проект, поэтому в нем меньше папок и файлов.

Файл readme тоже короче. В нем есть раздел под названием «Разработка». В этом разделе есть ссылка под названием «Построение из исходного кода». Если мы перейдем по этой ссылке, мы должны найти информацию нам нужно.

Ссылка на инструкцию по сборке приложения боксов.

Обычно для навигации по репозиторию и поиска нужной информации требуется легкое отслеживание, но это не сложно. Внимательно прочтите все на странице репозитория. Иногда информация присутствует, но может не отображаться на видном месте.

Зависимости

На странице «Сборка из исходного кода» есть раздел «Сборка в Linux», и это как раз то, что нам нужно. Он говорит, что мы должны иметь Компилятор C, Бизон, и Flex установлены.

  Как использовать команду переименования в Linux

Необходимый набор инструментов для создания приложения Box

В инструкциях по сборке сказано, что нужно выполнить команду make, поэтому нам также понадобится make.

Инструменты, необходимые для создания этого приложения, — это компилятор C, Bison, Flex, make и Git (для клонирования репозитория на ваш компьютер).

Эта статья была исследована на компьютерах, работающих под управлением дистрибутивов Ubuntu, Fedora и Manjaro Linux. Ни в одном из дистрибутивов не были установлены все эти инструменты — на каждый из них нужно было что-то установить.

Установка набора инструментов

В Ubuntu должны были быть установлены Git, Flex, Bison и make. Вот команды:

sudo apt-get install git

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install make

В Fedora должны были быть установлены Flex, Bison и make. Вот команды:

sudo dnf install flex

sudo dnf install bison

sudo dnf install make

На Manjaro должны были быть установлены компилятор GCC, Flex и Bison. Вот команды:

sudo pacman -Syu gcc

sudo pacman -Syu flex

sudo pacman -Syu bison

Клонирование репозитория

Каждый репозиторий GitHub имеет определенный веб-адрес, используемый Git для клонирования репозитория на ваш компьютер. На главной странице репозитория ящиков есть зеленая кнопка с надписью «Клонировать или скачать».

В

Нажмите кнопку, чтобы увидеть веб-адрес. Это адрес, который мы должны передать команде git при клонировании репозитория.

Перейдите в каталог, в который мы хотим клонировать репозиторий, и затем используйте эту команду. Если ваше окно терминала поддерживает это, вы можете скопировать и вставить веб-адрес в команду. Нажмите Ctrl + Shift + V, чтобы вставить в окно терминала GNOME.

Git клонирует удаленный репозиторий и создает на вашем компьютере локальный. Он сообщает нам, что клонируется в каталог под названием «ящики».

Клонированный репозиторий в окне терминала.

Каталог боксов создается в каталоге, из которого вы запустили команду git. Если мы переключимся в каталог box и посмотрим на его содержимое, мы увидим тот же список файлов и папок, который мы видели на странице GitHub.

Содержимое репозитория ящиков в окне терминала.

Большой! Мы успешно клонировали исходный код и другие файлы на наш компьютер. Теперь нам нужно создать приложение.

Сборка приложения

Чтобы собрать приложение, мы должны следовать инструкциям в репозитории GitHub. Иногда мы запускаем определенный файл оболочки, а другие — make. Инструкции по сборке, которым мы следуем, говорят нам запустить make.

Утилита make читает и выполняет набор инструкций из make-файла. Эти инструкции говорят make, как скомпилировать программу и связать ее вместе. make передает инструкции компилятору и другим инструментам сборки.

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

  Как установить настольное приложение WordPress в Linux

Команда, которую нам сказали использовать инструкции по сборке:

make && make test

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

Развертывание приложения боксов

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

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

Команды копирования файлов с GitHub.

Используйте sudo для запуска этих команд. Первая команда копирует справочную страницу в каталог man1:

sudo cp doc/boxes.1 /usr/share/man/man1

Затем скопируйте глобальный файл конфигурации в каталог в / usr / share /:

sudo cp boxes-config /usr/share/boxes

Наконец, скопируйте двоичный файл в / usr / bin:

sudo cp src/boxes /usr/bin

Тестирование приложений коробок

Посмотрим, все ли работает! Попытайтесь открыть страницу руководства для команды боксов.

man boxes

Это воодушевляет! Вы видите страницу руководства, в которой рассказывается, как использовать команду боксов.

Нажмите «Q», чтобы выйти из системы man, и попробуйте использовать команду box.

echo toadmin.ru | boxes

И получаем ответ:

коробки выводят в окно терминала.

Это может показаться немного разочаровывающим, учитывая все усилия, которые вы приложили, но суть этого упражнения заключалась в том, чтобы помочь вам вытащить репозиторий из GitHub и построить приложение.

Команда боксов позволяет вам заключать текст, который передается в него, в самые разные фреймы. Некоторые из них можно использовать в качестве комментариев в файлах исходного кода. Приведенный выше формат будет работать, например, как комментарий в файле исходного кода C. Остальные чисто декоративные. Параметр -d (дизайн) позволяет выбрать стиль рамки.

echo toadmin.ru | boxes -d whirly
echo toadmin.ru | boxes -d c-cmt2

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

boxes -l | less

Сборка завершена

Шаги по сборке из исходного кода обычно просты:

Ознакомьтесь с инструкциями по сборке в репозитории.
Убедитесь, что у вас установлены необходимые инструменты, и установите все, что отсутствует.
Клонируйте репозиторий на свой компьютер.
Следуйте инструкциям по сборке, которые зачастую так же просты, как ввод make.
Скопируйте файл (ы) в нужные места.

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