Як встановити програмне забезпечення за допомогою Git на Linux

| | 0 Comments| 4:07 PM
Categories:

Вам казали «клонувати репо та створити його», і ви не знаєте, що робити далі? Ми покажемо вам, як запустити цю програму на GitHub на Linux, навіть якщо ви новачок.

Інструкції, з яких складається комп’ютерна програма, записуються, редагуються та зберігаються у текстових файлах. Потім програма під назвою компілятор обробляє ці файли. Це створює виконувану версію програми. Текстові файли інструкцій називаються вихідним кодом. Версія програми, яка дійсно може працювати на комп’ютері, називається двійковою або виконуваною.

Це спрощена версія подій, але вона малює правильну — якщо й узагальнена — картину. На практиці ви знайдете всілякі варіації цієї моделі. Іноді інші програми створюють текстові файли. В інших випадках вихідний код запускається всередині перекладача і не потребує компіляції тощо.

Однак єдина універсальна істина для всіх програмних проектів така: файли вихідного коду є такими коштовності корони, і за ними потрібно так само ретельно доглядати.

Програми контролю версій

Усі файли вихідного коду в рамках проекту називаються кодовою базою. Великі проекти часто мають багато розробників, які працюють над кодовою базою. Кожну зміну коду необхідно відстежувати та ідентифікувати. При необхідності зміни мають бути оборотними. Якщо різні розробники вносять зміни в один і той самий файл вихідного коду, їх зміни необхідно об’єднати.

Тому не дивно, що існують програмні програми, які називаються системами контролю версій, щоб полегшити керування змінами в кодовій базі. Системи контролю версій містять усі попередні версії кожного файлу в кодовій базі, і кожна зміна записується, коментується та відстежується.

Маленька річ під назвою Git

Лайнус Торвальдс, творець ядра Linux, розробив програму контролю версій під назвою Git для адміністрування кодової бази ядра Linux. Зараз це найбільш поширене програмне забезпечення для контролю версій у світі. Мільйони людей використовують його — буквально.

За допомогою Git кодова база проекту зберігається в сховищах. На додаток до локальних сховищ, які знаходяться на комп’ютерах розробників і, можливо, на центральному сервері в мережі, доцільно мати зовнішній або віддалений репозиторій.

І ось тут на допомогу приходить GitHub.

GitHub

GitHub був створений в результаті успіху git. Засновники побачили зростаючу потребу в безпечно розміщених віддалених репозиторіях git. Вони запустили бізнес надання хмарної платформи дозволити командам розробників розміщувати віддалені репозиторії. Станом на квітень 2019 року GitHub містить понад 100 мільйонів сховищ.

Якщо програма є проектом з відкритим кодом, велика ймовірність того, що вона буде розміщена на GitHub. Доступні й інші платформи репозиторіїв, наприклад BitBucket і GitLab, але GitHub має левову частку сховищ із відкритим кодом.

  Найкращі альтернативи додаткам Mac для Linux

Анатомія сховища

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

Якщо ви знаєте, як орієнтуватися на одній кухні, ви можете орієнтуватися на будь-якій кухні. Те ж саме зі сховищами. Як тільки ви зрозумієте умовні правила, ви знаєте, куди звернутися, щоб знайти те, що вам потрібно.

Отже, як отримати копію репозиторію на вашому комп’ютері та як побудувати програму у двійковий виконуваний файл?

Файл readme

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

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

GitHub автоматично розміщує вміст файлу readme на першій сторінці сховища. Якщо файл readme має розширення «.md», він буде містити Розмітка уцінки мову. Це дозволяє розробникам використовувати елементи стилю, такі як шрифти, маркери та зображення.

Як правило, файл readme містить розділи, які розповідають, про що йдеться у проекті, який тип ліцензії, хто обслуговує проект, як взяти участь, а також як створити та запустити програму.

Якщо в ньому немає переліку фактичних інструкцій зі створення, він підкаже, де знайти цю інформацію. Інша інформація, корисна для побудови програми, наприклад, необхідні інструменти збірки та інші залежності, може бути перелічена тут, або посилання може привести вас до цієї інформації.

Коробки репозиторій

Наша місія полягає в тому, щоб клонуйте сховище boxes, а потім створіть додаток boxes.

Сховище має такий самий макет, що й Atom. Є список папок і файлів, а нижче – вміст файлу readme. Він відповідає стандартному макету для сховища, але це менший проект, тому там менше папок і файлів.

Файл readme також коротший. У ньому є розділ «Розробка». У цьому розділі є посилання під назвою «побудова з джерела». Якщо ми перейдемо за цим посиланням, ми повинні знайти інформацію нам потрібно.

Зазвичай для навігації по сховищу та пошуку потрібної інформації необхідна легка розвідка, але це не складно. Уважно прочитайте все на сторінці сховища. Іноді інформація є, але вона може не відображатися на видноті.

  5 найкращих дистрибутивів Linux для тестування безпеки

Залежності

На сторінці «Побудова з джерела» є розділ «Побудова на Linux», і це якраз те, що нам потрібно. Там сказано, що ми повинні мати a Компілятор C, бізон, і Flex встановлено.

В інструкціях по збірці сказано, що потрібно виконати команду 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 для клонування сховища на вашому комп’ютері. На головній сторінці сховища boxes є зелена кнопка з написом «Клонувати або завантажити».

The

Натисніть кнопку, щоб побачити веб-адресу. Це адреса, яку ми повинні передати команді git, коли ми клонуємо сховище.

Перейдіть до каталогу, в який ми хочемо клонувати репозиторій, а потім скористайтеся цією командою. Якщо вікно терміналу підтримує це, ви можете скопіювати та вставити веб-адресу в команду. Натисніть Ctrl+Shift+V, щоб вставити у вікно терміналу GNOME.

Git клонує віддалений репозиторій і створює локальне на вашому комп’ютері. Він повідомляє нам, що клонується в каталог під назвою “boxes”.

Каталог boxes створюється в каталозі, з якого ви ввели команду git. Якщо ми перейдемо до каталогу boxes і подивимося на вміст, ми побачимо той самий список файлів і папок, який ми бачили на сторінці GitHub.

Чудово! Ми успішно клонували вихідний код та інші файли на наш комп’ютер. Тепер нам потрібно створити додаток.

Створення програми

Щоб створити програму, ми повинні дотримуватися інструкцій у репозиторії GitHub. Іноді ми запускаємо певний файл оболонки, а інші ми запускаємо make. Інструкції зі збірки, яким ми дотримуємося, вказують нам запустити make.

Утиліта make читає та виконує набір інструкцій з make-файлу. Ці інструкції розповідають make, як зібрати програму та зв’язати її разом. make передає інструкції компілятору та іншим інструментам збірки.

Команда, яку ми використовуємо, викличе make двічі. Перший виклик make створює програму, а другий запускає набір тестів.

  Як зашифрувати домашню папку в Linux

Команда, яку нам сказали використовувати інструкції зі збірки:

make && make test

Багато рядків виводу швидко прокручуються у вікні терміналу. Через хвилину або близько того ви повернетеся до командного рядка.

Розгортання боксів програми

Додаток створено, і ми маємо виконуваний двійковий файл. Тепер ми повинні скопіювати двійковий файл у каталог /usr/bin/. Це дозволяє оболонці знайти його, коли ми намагаємося ним скористатися.

Для деяких програм це може бути все, що вам потрібно зробити. В інших випадках вам може знадобитися скопіювати додаткові файли, такі як сторінки керівництва та файли конфігурації, у розташування у файловій системі. Останнє – це те, що ми маємо робити з нашим новим додатком, оскільки це було в інструкціях зі створення.

Використовуйте sudo для виконання цих команд. Перша команда копіює сторінку man в каталог 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

Тестування коробок Застосування

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

man boxes

Це надихає! Ви побачите сторінку керівництва, яка розповідає, як використовувати команду boxes.

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

echo How-To Geek | boxes

І отримуємо відповідь:

Це може здатися трохи пригніченим, враховуючи всі зусилля, які ви доклали, але суть цієї вправи полягала в тому, щоб витягнути сховище з GitHub і створити програму.

Команда boxes дозволяє переносити текст, який передається до неї, у широкий спектр фреймів. Деякі з них можна використовувати як коментарі до файлів вихідного коду. Наведений вище формат буде працювати як коментар у файлі вихідного коду C, наприклад. Інші суто декоративні. Параметр -d (дизайн) дозволяє вибрати стиль рамки.

echo How-To Geek | boxes -d whirly
echo How-To Geek | boxes -d c-cmt2

Існує довгий список дизайнів, з яких ви можете вибрати. Щоб побачити їх усі, скористайтеся цією командою:

boxes -l | less

Побудова завершена

Кроки створення з джерела зазвичай прості:

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

Якщо в інструкціях зі створення є незрозумілі кроки, подивіться, чи є у проекту форум чи спільнота, до якої можна надіслати запитання. Якщо програма має веб-сайт, у них може бути сторінка «Зв’язатися з нами». Розробник, який підтримує проект boxes, має свою електронну пошту на сторінці «Про програму». веб-сайт коробок. Це щедрий жест з його боку, типовий для широкої спільноти з відкритим кодом.