如何在Linux上使用Git安装软件

时间:2020-01-09 10:39:26  来源:igfitidea点击:

版本控制程序

项目中的所有源代码文件都称为代码库。大型项目通常有许多开发人员在代码库上工作。每个代码更改都必须得到跟踪和识别。如果需要,更改必须是可逆的。如果不同的开发人员对同一源代码文件进行更改,则必须合并他们的编辑。

因此,毫不奇怪的是,存在称为版本控制系统的软件程序,可以简化对代码库的更改的管理。版本控制系统在代码库中保存每个文件的所有先前版本,并且记录,注释和跟踪每个更改。

一个叫做Git的小东西

Linux内核的创建者Linus Torvalds开发了一个名为Git的版本控制程序来管理Linux内核代码库。它现在是世界上使用最广泛的版本控制软件。有数以百万计的人在使用它。

使用Git,项目的代码库存储在存储库中。除了位于开发人员计算机上的本地存储库,或者也许位于网络中央服务器上的本地存储库,还有一个不错的做法是拥有一个异地或者远程存储库。

这就是GitHub出现的地方。

GitHub

GitHub是git成功的结果。创始人看到了对安全托管的远程git存储库的新兴需求。他们启动了提供云平台的业务,以允许开发团队托管远程存储库。截至2019年4月,GitHub托管了超过1亿个存储库。

如果应用程序是一个开源项目,那么将其托管在GitHub上的可能性很高。还有其他可用的存储库平台,例如BitBucket和GitLab,但是GitHub在开源存储库中占有最大份额。

仓库的剖析

GitHub存储库由包含所有重要源代码文件之类的文件的文件夹组成。通常,存储库中还有许多其他类型的文件。可能有文档文件,手册页,软件许可证文件,构建说明和Shell脚本文件。关于存储库应包含或者必须包含的内容没有任何规则,但是有约定。

如果我们知道在一个厨房周围走的路,则可以在任何一个厨房中导航。存储库也是如此。一旦了解了约定,就知道去其中可以找到所需的内容。

因此,如何在计算机上获取存储库的副本,以及如何将程序构建为二进制可执行文件?

自述文件

传统上是在存储库中包含自述文件。它可能称为自述文件,自述文件或者自述文件。它的扩展名可能是.md或者根本没有扩展名。

让我们看一下Atom编辑器的GitHub存储库。我们会看到一长串的文件夹和文件。向下滚动,我们会看到README.md文件的内容。

GitHub自动将自述文件的内容放在存储库的首页上。如果自述文件具有.md扩展名,则它将包含Markdown标记语言。这使开发人员可以使用样式元素,例如字体,项目符号和图像。

通常,自述文件的各个部分将告诉我们项目的内容,类型许可证的类型,维护项目的人员,如何参与以及如何构建和运行应用程序。

如果未列出实际的构建说明,它将告诉我们其中可以找到此信息。其他可能对构建应用程序有用的信息,例如所需的构建工具和其他依赖项,可能会在此处列出,或者链接可能会将我们带到该信息。

盒子仓库

我们的任务是克隆box存储库,然后构建boxes应用程序。

该存储库遵循与Atom相同的布局。有一个文件夹和文件列表,下面是自述文件的内容。它遵循存储库的标准布局,但是它是一个较小的项目,因此文件夹和文件更少。

自述文件也更简短。它有一个称为开发的部分。在该部分中,有一个标题为从源代码构建的链接。如果我们点击该链接,我们应该找到所需的信息。

通常,导航存储库并找到所需信息需要一些轻量级的侦查,但这并不困难。仔细阅读存储库页面上的所有内容。有时,信息在那里,但可能不会突出显示。

依赖关系

从源代码构建页面有一个名为Linux上的构建的部分,这正是我们所需要的。它说我们必须安装C编译器,Bison和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存储库都有一个特定的Web地址,该地址与Git一起用于将存储库克隆到计算机。在box资料库的主页上,有一个绿色的按钮,标记为"克隆或者下载"。

点击按钮查看网址。这是克隆存储库时必须传递给git命令的地址。

切换到我们想要将存储库克隆到的目录,然后使用此命令。如果终端窗口支持它,则可以将网址复制并粘贴到命令中。按Ctrl + Shift + V粘贴到GNOME终端窗口。


Git会克隆远程存储库并在计算机上创建一个localone,告诉我们它正在克隆到一个名为boxs的目录中。

在发出git命令的目录中创建了boxs目录。如果切换到boxs目录并查看内容,则会看到与GitHub页面上相同的文件和文件夹列表。


大!我们已成功将源代码和其他文件克隆到我们的计算机中。现在,我们需要构建应用程序。

构建应用程序

要构建该应用程序,我们必须遵循GitHub存储库上的指示。有时,我们将运行特定的shell文件,而其他人将运行make。我们遵循的构建说明告诉我们运行make

make实用程序从makefile读取并执行一组指令。这些指令告诉make如何编译程序并将其链接在一起。 make将指令传递给编译器和其他构建工具。

我们被告知要使用的命令将调用两次make。第一个对make的调用将构建应用程序,第二个将运行一系列测试。

构建说明告诉我们使用的命令是:

make && make test

在终端窗口中,许多行的输出快速滚动。大约一分钟后,我们将返回到命令提示符。

部署盒子应用程序

该应用程序已构建,并且我们有一个可执行的二进制文件。现在,我们必须将二进制文件复制到/ usr / bin /目录。这样,当我们尝试使用shell程序时,它就可以找到它。

对于某些应用程序,这可能就是我们要做的。在其他情况下,可能需要将其他文件(例如手册页和配置文件)复制到文件系统中的位置。后者是我们与新应用程序必须要做的事情,因为它在构建说明中。

使用sudo运行这些命令。第一个命令将手册页复制到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退出人工系统,然后尝试使用boxes命令。

echo iGiftIdea | boxes

我们得到了响应:

考虑到我们已付出的所有努力,这似乎有些不足,但是此练习的重点是引导我们完成从GitHub撤回存储库并构建应用程序的过程。

"框"命令允许我们将通过管道传递给它的文本包装在各种框架中。其中一些可以用作源代码文件中的注释。例如,以上格式将用作C源代码文件中的注释。其他人纯粹是装饰性的。 -d(设计)选项允许我们选择框架的样式。

echo iGiftIdea | boxes -d whirly
echo iGiftIdea | boxes -d c-cmt2

有很多种设计可供选择。要查看所有内容,请使用以下命令:

boxes -l | less

构建完成

从源代码构建的步骤通常很简单:

  • 查看存储库上的构建说明。

  • 检查我们是否已安装必需的工具并安装所有缺少的工具。

  • 将存储库克隆到计算机。

  • 按照构建说明进行操作,这些操作通常只需键入" make"即可。

  • 将文件复制到所需位置。