Comment installer un logiciel à l'aide de Git sous Linux
Publié: 2022-01-29On vous a dit de "cloner le dépôt et de le construire" et vous ne savez pas quoi faire ensuite ? Nous allons vous montrer comment faire fonctionner ce programme sur GitHub sous Linux, même si vous êtes débutant.
Les instructions qui composent un programme informatique sont écrites, éditées et enregistrées dans des fichiers texte. Un programme appelé compilateur traite ensuite ces fichiers. Cela produit la version exécutable du programme. Les fichiers texte des instructions sont appelés le code source. La version du programme qui peut réellement s'exécuter sur un ordinateur s'appelle le binaire ou l'exécutable.
C'est une version simplifiée des événements, mais elle brosse un tableau correct, quoique généralisé. En pratique, vous trouverez toutes sortes de variations sur ce modèle. Parfois, d'autres programmes génèrent les fichiers texte. D'autres fois, le code source s'exécute dans un interpréteur et n'a pas besoin d'être compilé, et ainsi de suite.
Cependant, la seule vérité universelle à travers tous les projets logiciels est la suivante : les fichiers de code source sont les joyaux de la couronne, et ils doivent être pris en charge avec autant de soin.
Programmes de contrôle de version
Tous les fichiers de code source d'un projet sont appelés la base de code. Les grands projets ont souvent de nombreux développeurs travaillant sur la base de code. Chaque changement de code doit être suivi et identifiable. Si nécessaire, les modifications doivent être réversibles. Si différents développeurs apportent des modifications au même fichier de code source, leurs modifications doivent être fusionnées.
Il n'est donc pas surprenant que des logiciels appelés systèmes de contrôle de version existent pour faciliter la gestion des modifications apportées à la base de code. Les systèmes de contrôle de version conservent toutes les versions précédentes de chaque fichier dans la base de code, et chaque modification est enregistrée, commentée et suivie.
Une petite chose appelée Git
Linus Torvalds, le créateur du noyau Linux, a développé un programme de contrôle de version appelé Git pour administrer la base de code du noyau Linux. C'est maintenant le logiciel de contrôle de version le plus largement adopté au monde. Il y a des millions de personnes qui l'utilisent, littéralement.
Avec Git, la base de code d'un projet est stockée dans des dépôts . En plus des référentiels locaux qui se trouvent sur les ordinateurs des développeurs et, peut-être, sur un serveur central sur le réseau, il est recommandé d'avoir un référentiel hors site ou distant.
Et c'est là qu'intervient GitHub.
GitHub
GitHub a été créé à la suite du succès de git
. Les fondateurs ont vu le besoin émerger de référentiels git
distants hébergés en toute sécurité. Ils ont lancé une entreprise fournissant une plate-forme cloud pour permettre aux équipes de développement d'héberger des référentiels distants. En avril 2019, GitHub hébergeait plus de 100 millions de référentiels.
Si une application est un projet open source, il y a de fortes chances qu'elle soit hébergée sur GitHub. Il existe d'autres plates-formes de référentiel disponibles, telles que BitBucket et GitLab, mais GitHub a la part du lion des référentiels open source.
Anatomie d'un référentiel
Un référentiel GitHub est composé de dossiers contenant des fichiers tels que les fichiers de code source les plus importants. Généralement, il existe de nombreux autres types de fichiers dans le référentiel. Il peut y avoir des fichiers de documentation, des pages de manuel, des fichiers de licence logicielle, des instructions de construction et des fichiers de script shell. Il n'y a pas de règles concernant ce qu'un référentiel doit ou doit contenir, mais il existe des conventions.
Si vous connaissez bien une cuisine, vous pouvez naviguer dans n'importe quelle cuisine. C'est la même chose avec les dépôts. Une fois que vous comprenez les conventions, vous savez où aller pour trouver ce dont vous avez besoin.
Alors, comment obtenez-vous une copie du référentiel sur votre ordinateur et comment créez-vous le programme dans un exécutable binaire ?
Le fichier Lisez-moi
Il est traditionnel d'inclure un fichier readme dans un référentiel. Il peut s'appeler readme, readme ou README. Il peut avoir une extension ".md" ou pas d'extension du tout.
Jetons un coup d'œil au référentiel GitHub pour l'éditeur Atom. Vous voyez une longue liste de dossiers et de fichiers. Faites défiler vers le bas et vous voyez le contenu du fichier README.md.
GitHub place automatiquement le contenu du fichier readme sur la première page du référentiel. Si le fichier readme a une extension ".md", il contiendra le langage de balisage Markdown. Cela permet aux développeurs d'utiliser des éléments de style, tels que des polices, des puces et des images.
En règle générale, un fichier Lisez-moi contient des sections qui vous indiquent en quoi consiste le projet, quel est le type de licence, qui gère le projet, comment s'impliquer et comment créer et exécuter l'application.
S'il ne répertorie pas les instructions de construction réelles, il vous indiquera où trouver ces informations. D'autres informations utiles à la construction de l'application, telles que les outils de construction requis et d'autres dépendances, peuvent être répertoriées ici ou un lien peut vous rediriger vers ces informations.
Le Référentiel des boîtes
Notre mission est de cloner le référentiel des boîtes, puis de créer l'application des boxes
.
Le référentiel suit la même disposition que celle d'Atom. Il y a une liste de dossiers et de fichiers et en dessous se trouve le contenu du fichier readme. Il suit la disposition standard d'un référentiel, mais c'est un projet plus petit, il y a donc moins de dossiers et de fichiers.
Le fichier readme est également plus bref. Il a une section intitulée "Développement". Dans cette section se trouve un lien intitulé "construire à partir de la source". Si nous suivons ce lien, nous devrions trouver les informations dont nous avons besoin.
Il y a généralement quelques recherches légères nécessaires pour naviguer dans le référentiel et trouver les informations que vous voulez, mais ce n'est pas difficile. Lisez attentivement tout ce qui se trouve sur la page du référentiel. Parfois, les informations sont là mais peuvent ne pas être affichées de manière bien visible.
Les dépendances
La page "Building from Source" a une section intitulée "Building on Linux", et c'est exactement ce dont nous avons besoin. Il dit que nous devons avoir un compilateur C, Bison et Flex installés.
Les instructions de construction indiquent d'émettre la commande make
, nous aurons donc également besoin make
.
Les outils requis pour créer cette application sont un compilateur C, Bison, Flex, make
et Git (pour cloner le référentiel sur votre ordinateur).
Cet article a été recherché sur des ordinateurs exécutant les distributions Ubuntu, Fedora et Manjaro Linux. Aucune des distributions n'avait tous ces outils installés - quelque chose devait être installé sur chacun d'eux.
Installation du jeu d'outils
Ubuntu devait avoir Git, Flex, Bison et make
installés. Voici les commandes :
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
Fedora devait avoir Flex, Bison et make
installés. Voici les commandes :
flex d'installation sudo dnf
sudo dnf installer bison
sudo dnf installer faire
Manjaro devait installer le compilateur GCC, Flex et Bison. Voici les commandes :
sudo pacman -Syu gcc
sudo pacman -Syu flex
sudo pacman -Syu bison
Cloner le référentiel
Chaque référentiel GitHub possède une adresse Web spécifique utilisée avec Git pour cloner le référentiel sur votre ordinateur. Sur la page principale du référentiel de boîtes, il y a un bouton vert intitulé "Cloner ou télécharger".
Cliquez sur le bouton pour voir l'adresse Web. C'est l'adresse que nous devons transmettre à la commande git
lorsque nous clonons le référentiel.
Accédez au répertoire dans lequel nous voulons que le référentiel soit cloné, puis utilisez cette commande. Si votre fenêtre de terminal le prend en charge, vous pouvez copier et coller l'adresse Web dans la commande. Appuyez sur Ctrl + Maj + V pour coller dans une fenêtre de terminal GNOME.
Git clone le référentiel distant et en crée un local sur votre ordinateur. Il nous dit qu'il est en cours de clonage dans un répertoire appelé "boîtes".
Le répertoire boxes est créé dans le répertoire à partir duquel vous avez émis la commande git
. Si nous passons au répertoire des boîtes et regardons le contenu, nous voyons la même liste de fichiers et de dossiers que nous avons vue sur la page GitHub.
Super! Nous avons réussi à cloner le code source et d'autres fichiers sur notre ordinateur. Maintenant, nous devons construire l'application.
Construire l'application
Pour construire l'application, nous devons suivre les instructions sur le référentiel GitHub. Parfois, nous exécuterons un fichier shell particulier, et d'autres nous exécuterons make
. Les instructions de construction que nous suivons nous ont dit d'exécuter make
.
L'utilitaire make
lit et exécute un ensemble d'instructions à partir d'un makefile. Ces instructions indiquent à make
comment compiler le programme et le relier. make
transmet les instructions au compilateur et aux autres outils de construction.
La commande qu'on nous dit d'utiliser appellera make
deux fois. Le premier appel à make
construit l'application et le second exécute une suite de tests.
La commande que les instructions de construction nous ont dit d'utiliser est :
faire && faire tester
De nombreuses lignes de sortie défilent rapidement dans la fenêtre du terminal. Dans une minute environ, vous serez renvoyé à l'invite de commande.
Déploiement des box Application
L'application a été construite, et nous avons un binaire exécutable. Nous devons maintenant copier le binaire dans le répertoire /usr/bin/. Cela permet au shell de le trouver lorsque nous essayons de l'utiliser.
Pour certaines applications, cela peut être tout ce que vous avez à faire. Dans d'autres cas, vous devrez peut-être copier des fichiers supplémentaires, tels que des pages de manuel et des fichiers de configuration, dans des emplacements du système de fichiers. Ce dernier est ce que nous devons faire avec notre nouvelle application car c'était dans les instructions de construction.
Utilisez sudo
pour exécuter ces commandes. La première commande copie une page de manuel dans le répertoire man1 :
sudo cp doc/boxes.1 /usr/share/man/man1
Ensuite, copiez le fichier de configuration global dans un répertoire dans /usr/share/ :
sudo cp boxes-config /usr/share/boxes
Enfin, copiez le binaire dans /usr/bin :
sudo cp src/boxes /usr/bin
Tester les boîtes Application
Voyons si tout fonctionne ! Essayez d'ouvrir la page de manuel de la commande boxes
.
homme boîtes
C'est encourageant ! Vous voyez une page de manuel vous expliquant comment utiliser la commande boxes
.
Appuyez sur « Q » pour quitter le système manuel et essayez d'utiliser la commande des boxes
.
écho How-To Geek | des boites
Et nous obtenons la réponse :
Cela peut sembler un peu décevant compte tenu de tous les efforts que vous avez déployés, mais le but de cet exercice était de vous guider dans la récupération d'un référentiel de GitHub et la création de l'application.
La commande boxes
vous permet d'envelopper le texte qui y est acheminé dans une grande variété de cadres. Certains d'entre eux pourraient être utilisés comme commentaires dans les fichiers de code source. Le format ci-dessus fonctionnerait comme un commentaire dans un fichier de code source C, par exemple. D'autres sont purement décoratifs. L'option -d
(design) vous permet de choisir le style du cadre.
écho How-To Geek | boîtes -d tourbillonnant
écho How-To Geek | boîtes -d c-cmt2
Il existe une longue liste de modèles parmi lesquels vous pouvez choisir. Pour les voir tous, utilisez cette commande :
boîtes -l | moins
Construction terminée
Les étapes pour compiler à partir des sources sont généralement simples :
- Passez en revue les instructions de génération sur le référentiel.
- Vérifiez que les outils requis sont installés et installez ceux qui manquent.
- Clonez le référentiel sur votre ordinateur.
- Suivez les instructions de construction, qui sont souvent aussi simples que de taper
make
. - Copiez le(s) fichier(s) aux emplacements requis.
S'il y a des étapes dans les instructions de construction qui ne sont pas claires, voyez si le projet a un forum ou une communauté auquel vous pouvez envoyer une question. Si l'application a un site Web, elle peut avoir une page "Contactez-nous". Le développeur qui maintient le projet de boîtes a son e-mail sur la page "À propos" du site Web de boîtes. C'est un geste généreux de sa part, et typique de la communauté open source au sens large.
Commandes Linux | ||
Des dossiers | tar · pv · chat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · plier · uniq · journalctl · queue · stat · ls · fstab · echo · moins · chgrp · chown · rev · regarder · chaînes · type · renommer · zip · décompresser · monter · umount · installer · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convertir · rclone · déchiqueter · srm | |
Processus | alias · écran · top · sympa · renice · progrès · strace · systemd · tmux · chsh · historique · at · batch · gratuit · lequel · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · mur · oui · kill · sleep · sudo · su · time · groupadd · usermod · groupes · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg | |
La mise en réseau | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · creuser · doigt · nmap · ftp · curl · wget · qui · whoami · w · iptables · ssh-keygen · ufw |
CONNEXION: Meilleurs ordinateurs portables Linux pour les développeurs et les passionnés