Jak zainstalować oprogramowanie za pomocą Git w systemie Linux

Czy powiedziano Ci, aby „sklonować repozytorium i zbudować je” i nie wiesz, co dalej? Pokażemy Ci, jak uruchomić ten program na GitHub w systemie Linux, nawet jeśli jesteś początkującym.

Instrukcje składające się na program komputerowy są zapisywane, edytowane i zapisywane w plikach tekstowych. Następnie program zwany kompilatorem przetwarza te pliki. To tworzy wersję wykonywalną programu. Pliki tekstowe instrukcji nazywane są kodem źródłowym. Wersja programu, która faktycznie może działać na komputerze, nazywana jest binarną lub wykonywalną.

To jest uproszczona wersja wydarzeń, ale tworzy poprawny – jeśli uogólniony – obraz. W praktyce znajdziesz wiele odmian tego modelu. Czasami inne programy generują pliki tekstowe. Innym razem uruchamia się kod źródłowy wewnątrz tłumacza i nie trzeba go kompilować, i tak dalej.

Jednak jedyną uniwersalną prawdą we wszystkich projektach oprogramowania jest to: pliki kodu źródłowego są klejnoty koronne, i należy o nie dbać równie dokładnie.

Programy kontroli wersji

Wszystkie pliki kodu źródłowego w projekcie nazywane są bazą kodu. W przypadku dużych projektów wielu programistów często pracuje nad bazą kodu. Każda zmiana kodu musi być śledzona i możliwa do zidentyfikowania. W razie potrzeby zmiany muszą być odwracalne. Jeśli różni programiści wprowadzają zmiany w tym samym pliku kodu źródłowego, ich edycje muszą zostać scalone.

Nie jest więc zaskakujące, że istnieją programy zwane systemami kontroli wersji, które ułatwiają zarządzanie zmianami w bazie kodu. Systemy kontroli wersji przechowują wszystkie poprzednie wersje każdego pliku w bazie kodu, a każda zmiana jest rejestrowana, komentowana i śledzona.

Mała rzecz zwana Git

Linus Torvalds, twórca jądra Linuksa, opracował program do kontroli wersji o nazwie Git do administrowania bazą kodów jądra Linux. Obecnie jest to najczęściej stosowane oprogramowanie do kontroli wersji na świecie. Używają go miliony ludzi – dosłownie.

W przypadku Git baza kodu projektu jest przechowywana w repozytoriach. Oprócz lokalnych repozytoriów, które znajdują się na komputerach programistów i, być może, na centralnym serwerze w sieci, dobrą praktyką jest posiadanie zewnętrznego lub zdalnego repozytorium.

I tu pojawia się GitHub.

GitHub

GitHub powstał w wyniku sukcesu gita. Założyciele dostrzegli pojawiającą się potrzebę bezpiecznego hostowania zdalnych repozytoriów git. Rozpoczęli biznes udostępnianie platformy chmurowej aby umożliwić zespołom programistów hostowanie zdalnych repozytoriów. Od kwietnia 2019 roku GitHub obsługuje ponad 100 milionów repozytoriów.

Jeśli aplikacja jest projektem typu open source, istnieje duże prawdopodobieństwo, że będzie hostowana w serwisie GitHub. Dostępne są inne platformy repozytoriów, takie jak BitBucket i GitLab, ale GitHub ma lwią część repozytoriów open source.

Anatomia repozytorium

Repozytorium GitHub składa się z folderów zawierających pliki, takie jak wszystkie ważne pliki kodu źródłowego. Zwykle w repozytorium znajduje się wiele innych typów plików. Mogą istnieć pliki dokumentacji, strony podręcznika, pliki licencji oprogramowania, instrukcje kompilacji i pliki skryptów powłoki. Nie ma reguł dotyczących tego, co powinno lub musi zawierać repozytorium, ale są pewne konwencje.

Jeśli znasz sposób poruszania się po jednej kuchni, możesz poruszać się po dowolnej kuchni. Tak samo jest z repozytoriami. Gdy zrozumiesz konwencje, będziesz wiedział, gdzie się udać, aby znaleźć to, czego potrzebujesz.

Jak więc uzyskać kopię repozytorium na swoim komputerze i jak zbudować program w binarnym pliku wykonywalnym?

Plik readme

Tradycyjnie umieszcza się plik readme w repozytorium. Może się nazywać readme, Readme lub README. Może mieć rozszerzenie „.md” lub nie mieć go wcale.

Rzućmy okiem na GitHub repozytorium dla edytora Atom. Zobaczysz długą listę folderów i plików. Przewiń w dół i zobaczysz zawartość pliku README.md.

GitHub automatycznie umieszcza zawartość pliku readme na pierwszej stronie repozytorium. Jeśli plik readme ma rozszerzenie „.md”, będzie zawierał Znaczniki Markdown język. Pozwala to programistom na używanie elementów stylu, takich jak czcionki, wypunktowania i obrazy.

Sekcja pliku readme.md dla edytora atomów na github.

Zwykle plik readme zawiera sekcje, które informują o tym, o czym jest projekt, jaka jest licencja typu, kto zarządza projektem, jak się zaangażować oraz jak zbudować i uruchomić aplikację.

Jeśli nie zawiera rzeczywistych instrukcji kompilacji, powie ci, gdzie znaleźć te informacje. Inne informacje przydatne przy budowaniu aplikacji, takie jak wymagane narzędzia do kompilacji i inne zależności, mogą być tutaj wymienione lub łącze do tych informacji.

Pudełka Repozytorium

Naszą misją jest sklonuj repozytorium pudełek, a następnie skompiluj aplikację Boxy.

Repozytorium ma ten sam układ, co w przypadku Atom. Jest lista folderów i plików, a poniżej znajduje się zawartość pliku readme. Jest zgodny ze standardowym układem repozytorium, ale jest to mniejszy projekt, więc jest mniej folderów i plików.

Plik readme również jest krótszy. Ma sekcję o nazwie „Rozwój”. W tej sekcji znajduje się link zatytułowany „budowanie ze źródła”. Jeśli skorzystamy z tego linku, powinniśmy znaleźć informacje potrzebujemy.

Link do instrukcji tworzenia aplikacji pudełkowej.

Zwykle do poruszania się po repozytorium i znajdowania potrzebnych informacji potrzebne jest lekkie śledztwo, ale nie jest to trudne. Przeczytaj uważnie wszystko na stronie repozytorium. Czasami informacje są dostępne, ale mogą nie być wyświetlane w widocznym miejscu.

Zależności

Strona „Tworzenie na podstawie źródła” zawiera sekcję „Tworzenie w systemie Linux” i właśnie tego potrzebujemy. Mówi, że musimy mieć Kompilator C., Bizon, i Zgiąć zainstalowany.

Wymagany zestaw narzędzi do budowania aplikacji pudełkowej

Instrukcje budowania mówią, aby wydać polecenie make, więc będziemy również potrzebować make.

Narzędzia wymagane do zbudowania tej aplikacji to kompilator C, Bison, Flex, make i Git (do sklonowania repozytorium na komputer).

Ten artykuł został zbadany na komputerach z dystrybucjami Ubuntu, Fedora i Manjaro Linux. Żadna z dystrybucji nie miała zainstalowanych wszystkich tych narzędzi – coś trzeba było zainstalować na każdym z nich.

Instalowanie zestawu narzędzi

Ubuntu musiał mieć zainstalowane oprogramowanie Git, Flex, Bison i make. Oto polecenia:

sudo apt-get install git

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install make

Fedora musiała mieć zainstalowane oprogramowanie Flex, Bison i make. Oto polecenia:

sudo dnf install flex

sudo dnf install bison

sudo dnf install make

Manjaro musiał mieć zainstalowany kompilator GCC, Flex i Bison. Oto polecenia:

sudo pacman -Syu gcc

sudo pacman -Syu flex

sudo pacman -Syu bison

Klonowanie repozytorium

Każde repozytorium GitHub ma określony adres internetowy używany z Git do sklonowania repozytorium na twój komputer. Na stronie głównej repozytorium pudełek znajduje się zielony przycisk oznaczony „Klonuj lub pobierz”.

Plik

Kliknij przycisk, aby wyświetlić adres internetowy. To jest adres, który musimy przekazać do polecenia git, kiedy klonujemy repozytorium.

Przejdź do katalogu, do którego chcesz sklonować repozytorium, a następnie użyj tego polecenia. Jeśli twoje okno terminala to obsługuje, możesz skopiować i wkleić adres internetowy do polecenia. Naciśnij Ctrl + Shift + V, aby wkleić do okna terminala GNOME.

Git klonuje zdalne repozytorium i tworzy lokalne na twoim komputerze. Mówi nam, że klonuje się do katalogu o nazwie „pudełka”.

Sklonowane repozytorium w oknie terminala.

Katalog box jest tworzony w katalogu, z którego wydałeś polecenie git. Jeśli przejdziemy do katalogu boxów i spojrzymy na zawartość, zobaczymy tę samą listę plików i folderów, którą widzieliśmy na stronie GitHub.

Zawartość repozytorium boxów w oknie terminala.

Świetny! Pomyślnie sklonowaliśmy kod źródłowy i inne pliki na naszym komputerze. Teraz musimy zbudować aplikację.

Budowanie aplikacji

Aby zbudować aplikację, musimy postępować zgodnie z instrukcjami w repozytorium GitHub. Czasami uruchamiamy określony plik powłoki, a inne – make. Instrukcje budowania, które przestrzegamy, nakazały nam uruchomić make.

Narzędzie make czyta i wykonuje zestaw instrukcji z pliku makefile. Te instrukcje mówią make, jak skompilować program i połączyć go razem. make przekazuje instrukcje do kompilatora i innych narzędzi do budowania.

Polecenie, którego mamy użyć, wywoła dwukrotnie make. Pierwsze wywołanie make tworzy aplikację, a drugie uruchamia zestaw testów.

Polecenie, które poleciły nam instrukcje kompilacji, to:

make && make test

Wiele wierszy danych wyjściowych przewija się szybko w oknie terminala. Za około minutę wrócisz do wiersza poleceń.

Wdrażanie pudełek Aplikacja

Aplikacja została zbudowana i mamy wykonywalny plik binarny. Musimy teraz skopiować plik binarny do katalogu / usr / bin /. Dzięki temu powłoka może go znaleźć, gdy spróbujemy go użyć.

W przypadku niektórych aplikacji może to być wszystko, co musisz zrobić. W innych przypadkach może być konieczne skopiowanie dodatkowych plików, takich jak strony podręcznika i pliki konfiguracyjne, do lokalizacji w systemie plików. To ostatnie jest tym, co musimy zrobić z naszą nową aplikacją, ponieważ było to w instrukcjach kompilacji.

Polecenia kopiowania plików z GitHub.

Użyj sudo, aby uruchomić te polecenia. Pierwsze polecenie kopiuje stronę podręcznika do katalogu man1:

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

Następnie skopiuj globalny plik konfiguracyjny do katalogu w / usr / share /:

sudo cp boxes-config /usr/share/boxes

Na koniec skopiuj plik binarny do / usr / bin:

sudo cp src/boxes /usr/bin

Testowanie aplikacji pudełek

Zobaczmy, czy to wszystko działa! Spróbuj otworzyć stronę podręcznika dla polecenia box.

man boxes

To zachęcające! Widzisz stronę podręcznika systemowego, która mówi, jak używać polecenia box.

Naciśnij „Q”, aby opuścić system man i spróbować użyć polecenia pól.

echo newsblog.pl | boxes

Otrzymujemy odpowiedź:

pola są wyświetlane w oknie terminala.

Może się to wydawać nieco rozczarowujące, biorąc pod uwagę cały wysiłek, który wykonałeś, ale celem tego ćwiczenia było przeprowadzenie cię przez wycofywanie repozytorium z GitHub i budowanie aplikacji.

Polecenie pól umożliwia zawijanie tekstu przesyłanego potokiem do wielu różnych ramek. Niektóre z nich można wykorzystać jako komentarze w plikach kodu źródłowego. Powyższy format działałby na przykład jako komentarz w pliku kodu źródłowego C. Inne są czysto dekoracyjne. Opcja -d (design) pozwala wybrać styl ramy.

echo newsblog.pl | boxes -d whirly
echo newsblog.pl | boxes -d c-cmt2

Istnieje długa lista projektów, z których możesz wybierać. Aby zobaczyć je wszystkie, użyj tego polecenia:

boxes -l | less

Budowa zakończona

Kroki budowania ze źródła są zwykle proste:

Przejrzyj instrukcje kompilacji w repozytorium.
Sprawdź, czy masz zainstalowane wymagane narzędzia i zainstaluj brakujące.
Sklonuj repozytorium na swój komputer.
Postępuj zgodnie z instrukcjami kompilacji, które często są tak proste, jak wpisanie make.
Skopiuj plik (i) do wymaganych lokalizacji.

Jeśli instrukcje kompilacji zawierają niejasne kroki, sprawdź, czy projekt ma forum lub społeczność, do której możesz wysłać pytanie. Jeśli aplikacja ma witrynę internetową, może mieć stronę „Skontaktuj się z nami”. Deweloper, który zajmuje się projektem pudełek, ma swój e-mail na stronie „Informacje” w witrynie strona internetowa boxów. To hojny gest z jego strony i typowy dla szerszej społeczności open source.