LinuxКак сделать

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

Код на экране ноутбука
MchlSkhrv / Shutterstock

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

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

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

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

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

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

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

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

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

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

И вот тут-то и вступает GitHub.

GitHub

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

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

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

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

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

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

Файл readme

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

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

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

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

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

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

Хранилище ящиков

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

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

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

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

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

Зависимости

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

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

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

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

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

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

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

  sudo apt-get установить git 

"sudo apt-get install git" в окне терминала.

  sudo apt-get install flex 

"sudo apt-get install flex" в окне терминала.

  sudo apt-get устанавливает бизонов 

"sudo apt-get install bison" в окне терминала.

  sudo apt-get install make 

"sudo apt-get install make" в окне терминала.

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

  sudo dnf install flex 

"sudo dnf install flex" в окне терминала

  sudo dnf установить бизона 

"sudo dnf install bison" в окне терминала.

  sudo dnf установить make 

"sudo dnf install make" в окне терминала.

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

  sudo pacman -сю gcc 

"sudo pacman -Syu gcc" в окне терминала.

  судо пакман -сю флекс 

«sudo pacman -Syu flex» в окне терминала.

  Судо Пакман -Сю Бизон 

"sudo pacman -Syu Bison" в окне терминала.

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

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

Кнопка «Клонировать или скачать» в GitHub.

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

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

"git clone https://github.com/ascii-boxes/boxes.git" в окне терминала.

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

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

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

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

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

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

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

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

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

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

  сделать && сделать тест 

"make && make test" в окне терминала.

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

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

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

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

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

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

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

"sudo cp doc / boxes.1 / usr / share / man / man1" в окне терминала.

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

  sudo cp boxes-config / usr / share / boxes 

«sudo cp boxes-config / usr / share / boxes» в окне терминала.

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

  sudo cp src / boxes / usr / bin 

"sudo cp src / boxes / usr / bin" в окне терминала.

Тестирование приложения

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

  человек коробки 

«коробки человека» в окне терминала.

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

Страница "Человек коробки" в окне терминала.

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

  эхо How-To Geek |  ящики 

«Коробки How-To Geek» в окне терминала.

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

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

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

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

  эхо How-To Geek |  коробки -d Whirly 
  эхо How-To Geek |  коробки -d c-cmt2 

"echo How-To Geek | boxes -d whirly" в окне терминала.

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

  коробки -l |  Меньше 

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

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

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

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

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone