Как да инсталирате софтуер с помощта на Git на Linux

Казвали ли са ви да „клонирате репото и да го изградите“ и не знаете какво да правите по-нататък? Ще ви покажем как да накарате тази програма на GitHub да работи на Linux, дори ако сте начинаещ.

Инструкциите, които съставляват компютърна програма, се записват, редактират и записват в текстови файлове. След това програма, наречена компилатор, обработва тези файлове. Това произвежда изпълнима версия на програмата. Текстовите файлове с инструкции се наричат ​​изходен код. Версията на програмата, която действително може да се изпълнява на компютър, се нарича двоичен файл или изпълним файл.

Това е опростена версия на събитията, но рисува правилна, ако е обобщена, картина. На практика ще намерите всякакви вариации на този модел. Понякога други програми генерират текстови файлове. Друг път изходният код се изпълнява вътре в преводач и не е необходимо да се компилира и т.н.

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

Програми за контрол на версиите

Всички файлове с изходен код в рамките на проекта се наричат ​​кодова база. Големите проекти често имат много разработчици, работещи върху кодовата база. Всяка промяна на кода трябва да бъде проследена и разпознаваема. Ако е необходимо, промените трябва да бъдат обратими. Ако различни разработчици правят промени в един и същ файл с изходен код, техните редакции трябва да бъдат обединени.

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

Малко нещо, наречено Git

Линус Торвалдс, създателят на ядрото на Linux, разработи програма за контрол на версиите, наречена Git за администриране на кодовата база на ядрото на Linux. Сега това е най-разпространеният софтуер за контрол на версиите в света. Има милиони хора, които го използват – буквално.

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

И тук идва GitHub.

GitHub

GitHub е създаден в резултат на успеха на git. Основателите видяха възникващата нужда от сигурно хоствани отдалечени git хранилища. Те стартираха бизнес предоставяне на облачна платформа за да позволи на екипите за разработка да хостват отдалечени хранилища. Към април 2019 г. GitHub е домакин на над 100 милиона хранилища.

  Как да настроите Systemd-boot на Arch Linux

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

Анатомия на хранилището

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

Ако знаете как се ориентирате в една кухня, можете да навигирате във всяка кухня. Същото е и с хранилищата. След като разберете конвенциите, знаете къде да отидете, за да намерите това, от което се нуждаете.

И така, как да получите копие на хранилището на вашия компютър и как да изградите програмата в двоичен изпълним файл?

Файлът readme

Традиционно е да се включва файл readme в хранилище. Може да се нарича readme, Readme или README. Може да има разширение „.md“ или изобщо да няма разширение.

Нека да разгледаме GitHub хранилище за редактора Atom. Виждате дълъг списък с папки и файлове. Превъртете надолу и ще видите съдържанието на файла README.md.

GitHub автоматично поставя съдържанието на файла readme на началната страница на хранилището. Ако файлът readme има разширение „.md“, той ще съдържа Маркиране на намаление език. Това позволява на разработчиците да използват стилови елементи, като шрифтове, точки и изображения.

Обикновено файлът readme има секции, които ви казват за какво е проектът, какъв е типът на лиценза, кой поддържа проекта, как да се включите и как да изградите и стартирате приложението.

Ако не изброява действителните инструкции за изграждане, ще ви каже къде да намерите тази информация. Друга информация, полезна за изграждането на приложението, като необходимите инструменти за изграждане и други зависимости, може да бъде изброена тук или връзка може да ви отведе до тази информация.

Кутиите Хранилище

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

Хранилището следва същото оформление като Atom. Има списък с папки и файлове и по-долу е съдържанието на файла readme. Той следва стандартното оформление за хранилище, но е по-малък проект, така че има по-малко папки и файлове.

Файлът readme също е по-кратък. Има раздел, наречен „Развитие“. В този раздел има връзка, озаглавена „изграждане от източник“. Ако последваме тази връзка, трябва да намерим информацията Имаме нужда от.

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

  Как да възстановите загубени данни в Linux

Зависимостите

Страницата „Изграждане от източник“ има раздел, наречен „Изграждане на Linux“ и точно това ни трябва. Пише, че трябва да имаме C компилатор, бизон, и Гъвкав инсталирани.

Инструкциите за изграждане казват да издадем командата 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 клонира отдалеченото хранилище и създава локално на вашия компютър. Той ни казва, че клонира в директория, наречена „кутии“.

Директорията boxes се създава в директорията, от която сте издали командата git. Ако преминем към директорията boxes и погледнем съдържанието, ще видим същия списък с файлове и папки, който видяхме на страницата на GitHub.

Страхотен! Успешно клонирахме изходния код и други файлове на нашия компютър. Сега трябва да изградим приложението.

Изграждане на приложението

За да изградим приложението, трябва да следваме инструкциите в хранилището на GitHub. Понякога ще стартираме конкретен шел файл, а други ще стартираме make. Инструкциите за изграждане, които следваме, ни казаха да изпълним make.

Помощната програма make чете и изпълнява набор от инструкции от make-файл. Тези инструкции казват на make как да компилира програмата и да я свърже. make предава инструкциите на компилатора и други инструменти за изграждане.

Командата, която ни е казано да използваме, ще извика make два пъти. Първото извикване на make изгражда приложението, а второто изпълнява набор от тестове.

  Как да играете Sony PSP игри на Linux с PPSSPP

Командата, която инструкциите за изграждане ни казаха да използваме, е:

make && make test

Много изходни редове се превъртат бързо в прозореца на терминала. След около минута ще бъдете върнати в командния ред.

Разгръщане на кутиите Приложение

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

За някои приложения това може да е всичко, което трябва да направите. В други случаи може да се наложи да копирате допълнителни файлове, като man страници и конфигурационни файлове, на места във файловата система. Последното е това, което трябва да направим с нашето ново приложение, защото беше в инструкциите за изграждане.

Използвайте 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

Тестване на кутиите Приложение

Да видим дали всичко работи! Опитайте да отворите man страницата за командата boxes.

man boxes

Това е обнадеждаващо! Виждате man страница, която ви казва как да използвате командата 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, има своя имейл на страницата „Относно“. уебсайтът на кутиите. Това е щедър жест от негова страна и типичен за по-широката общност с отворен код.