Como instalar software usando Git no Linux

Código na tela de um laptop
MchlSkhrv / Shutterstock

Disseram a você para “clonar o repo e construí-lo” e não sabe o que fazer a seguir? Mostraremos como fazer com que esse programa no GitHub seja executado no Linux, mesmo se você for um iniciante.

As instruções que constituem um programa de computador são escritas, editadas e salvas em arquivos de texto. Um programa chamado compilador processa esses arquivos. Isso  produz a versão executável do programa. Os arquivos de texto de instruções são chamados de código-fonte. A versão do programa que pode realmente ser executado em um computador é chamada de binária ou executável.

Essa é uma versão simplificada dos eventos, mas pinta uma imagem correta – se generalizada. Na prática, você encontrará todos os tipos de variações desse modelo. Às vezes, outros programas geram os arquivos de texto. Outras vezes, o código-fonte é executado dentro de um interpretador e não precisa ser compilado e assim por diante.

No entanto, a única verdade universal em todos os projetos de software é esta: os arquivos de código-fonte são as joias da coroa  e precisam ser cuidados com o mesmo cuidado.

Programas de controle de versão

Todos os arquivos de código-fonte em um projeto são chamados de base de código. Projetos grandes geralmente têm muitos desenvolvedores trabalhando na base de código. Cada mudança de código deve ser rastreada e identificável. Se necessário, as alterações devem ser reversíveis. Se diferentes desenvolvedores fizerem alterações no mesmo arquivo de código-fonte, suas edições deverão ser mescladas.

Não é surpreendente, então, que programas de software chamados sistemas de controle de versão existam para tornar mais fácil o gerenciamento de alterações na base de código. Os sistemas de controle de versão mantêm todas as versões anteriores de cada arquivo na base de código e cada mudança é registrada, comentada e rastreada.

Uma pequena coisa chamada Git

Linus Torvalds, o criador do kernel Linux , desenvolveu um programa de controle de versão chamado Git para administrar a base de código do kernel Linux. Agora é o software de controle de versão mais amplamente adotado do mundo. Existem milhões de pessoas usando – literalmente.

Com o Git, a base de código de um projeto é armazenada em repositórios . Além dos repositórios locais que ficam nos computadores do desenvolvedor e, talvez, em um servidor central na rede, é uma boa prática ter um repositório externo ou remoto.

E é aí que entra o GitHub.

GitHub

O GitHub foi criado como resultado do gitsucesso de. Os fundadores viram a necessidade emergente de gitrepositórios remotos hospedados com segurança . Eles lançaram um negócio que fornece uma plataforma em nuvem  para permitir que as equipes de desenvolvimento hospedem repositórios remotos. Em abril de 2019, o GitHub hospedava mais de 100 milhões de repositórios.

Recomendado:  Tem um alto-falante inteligente? Use-o para tornar seus alarmes de fumaça inteligentes

Se um aplicativo for um projeto de código aberto, as chances são muito altas de que ele seja hospedado no GitHub. Existem outras plataformas de repositórios disponíveis, tais como BitBucket e gitlab , mas GitHub tem a parte do leão dos repositórios de código aberto.

Anatomia de um Repositório

Um repositório GitHub é composto de pastas contendo arquivos, como os arquivos de código-fonte muito importantes. Normalmente, existem muitos outros tipos de arquivos no repositório. Pode haver arquivos de documentação, páginas de manual, arquivos de licença de software, instruções de construção e arquivos de script de shell. Não existem regras sobre o que um repositório deve ou deve conter, mas existem convenções.

Se você conhece uma cozinha, pode navegar em qualquer cozinha. É o mesmo com repositórios. Depois de entender as convenções, você sabe aonde ir para encontrar o que precisa.

Então, como você obtém uma cópia do repositório em seu computador e como você constrói o programa em um executável binário?

O arquivo leia-me

É tradicional incluir um arquivo leia-me em um repositório. Pode ser chamado de leia-me, Leia-me ou README. Ele pode ter uma extensão “.md” ou nenhuma extensão.

Vamos dar uma olhada no repositório GitHub para o editor Atom . Você vê uma longa lista de pastas e arquivos. Role para baixo e você verá o conteúdo do arquivo README.md.

O GitHub coloca automaticamente o conteúdo do arquivo leia-me na página inicial do repositório. Se o arquivo leia-me tiver uma extensão “.md”, ele conterá a linguagem de marcação Markdown . Isso permite que os desenvolvedores usem elementos de estilo, como fontes, marcadores e imagens.

Seção do arquivo readme.md para o editor atom no github.

Normalmente, um arquivo leia-me tem seções que informam sobre o que é o projeto, qual é a licença de tipo, quem mantém o projeto, como se envolver e como construir e executar o aplicativo.

Se não listar as instruções de construção reais, ele dirá onde encontrar essas informações. Outras informações úteis para construir o aplicativo, como as ferramentas de construção necessárias e outras dependências, podem ser listadas aqui ou um link pode levá-lo a essas informações.

Repositório de caixas

Nossa missão é clonar o repositório de caixas e, em seguida, construir o boxesaplicativo.

O repositório segue o mesmo layout do Atom. Há uma lista de pastas e arquivos e abaixo dela está o conteúdo do arquivo leia-me. Ele segue o layout padrão de um repositório, mas é um projeto menor, portanto, há menos pastas e arquivos.

O arquivo leia-me também é mais breve. Ele tem uma seção chamada “Desenvolvimento”. Nessa seção, há um link intitulado “construir a partir da fonte”. Se seguirmos esse link,  devemos encontrar as informações de que precisamos.

Link para as instruções de construção para o aplicativo de caixas.

Geralmente, é necessário fazer algumas investigações leves para navegar no repositório e encontrar as informações que você deseja, mas não é difícil. Leia tudo na página do repositório com atenção. Às vezes, as informações estão lá, mas podem não ser exibidas com destaque.

Recomendado:  Como desligar automaticamente a luz de fundo de um teclado Mac após inatividade

As dependências

A página “Construindo a partir do código-fonte” possui uma seção chamada “Construindo no Linux”, e é exatamente isso que precisamos. Ele diz que devemos ter um compilador C , Bison e Flex instalados.

Conjunto de ferramentas necessário para construir o aplicativo de caixas

As instruções de construção dizem para emitir o makecomando, então também precisaremos make.

As ferramentas necessárias para construir este aplicativo são um compilador C, Bison, Flex  makee Git (para clonar o repositório para o seu computador).

Este artigo foi pesquisado em computadores que executam as distribuições Ubuntu, Fedora e Manjaro Linux. Nenhuma distribuição tinha todas essas ferramentas instaladas – algo precisava ser instalado em cada uma delas.

Instalando o Conjunto de Ferramentas

O Ubuntu precisava ter Git, Flex, Bison e makeinstalado. Aqui estão os comandos:

sudo apt-get install git

"sudo apt-get install git" em uma janela de terminal.

sudo apt-get install flex

"sudo apt-get install flex" em uma janela de terminal.

sudo apt-get install bison

"sudo apt-get install bison" em uma janela de terminal.

sudo apt-get install make

"sudo apt-get install make" em uma janela de terminal.

O Fedora precisava ter Flex, Bison e makeinstalado. Aqui estão os comandos:

sudo dnf install flex

"sudo dnf install flex" em uma janela de terminal

sudo dnf install bison

"sudo dnf install bison" em uma janela de terminal.

sudo dnf install make

"sudo dnf install make" em uma janela de terminal.

Manjaro precisava ter o compilador GCC, Flex e Bison instalados. Aqui estão os comandos:

sudo pacman -Syu gcc

"sudo pacman -Syu gcc" em uma janela de terminal.

sudo pacman -Syu flex

"sudo pacman -Syu flex" em uma janela de terminal.

sudo pacman -Syu bison

"sudo pacman -Syu bison" em uma janela de terminal.

Clonando o Repositório

Cada repositório GitHub tem um endereço da web específico usado com Git para clonar o repositório em seu computador. Na página principal do repositório de caixas, há um botão verde denominado “Clonar ou baixar”.

O botão "Clonar ou baixar" no GitHub.

Clique no botão para ver o endereço da web. Este é o endereço que devemos passar ao git comando quando clonamos o repositório.

Mude para o diretório em que queremos que o repositório seja clonado e, em seguida, use este comando. Se a janela do seu terminal suportar, você pode copiar e colar o endereço da web no comando. Pressione Ctrl + Shift + V para colar em uma janela de terminal do GNOME.

"git clone https://github.com/ascii-boxes/boxes.git" em uma janela de terminal.

Git clona o repositório remoto e cria um local em seu computador. Ele nos diz que está sendo clonado em um diretório chamado “caixas”.

Repositório clonado em uma janela de terminal.

O diretório boxes é criado dentro do diretório a partir do qual você emitiu o gitcomando. Se mudarmos para o diretório boxes e olharmos o conteúdo, veremos a mesma lista de arquivos e pastas que vimos na página do GitHub.

As caixas armazenam o conteúdo em uma janela de terminal.

Ótimo! Clonamos com sucesso o código-fonte e outros arquivos em nosso computador. Agora, precisamos construir o aplicativo.

Construindo o aplicativo

Para construir o aplicativo, devemos seguir as instruções no repositório GitHub. Às vezes, executamos um arquivo shell específico e outros executamos  make. As instruções de compilação que estamos seguindo nos disseram para executar make.

O make utilitário lê e executa um conjunto de instruções de um makefile. Estas instruções mostram makecomo compilar o programa e vinculá-lo. makepassa as instruções para o compilador e outras ferramentas de construção.

O comando que devemos usar chamará makeduas vezes. A primeira chamada para make construir o aplicativo e a segunda executa um conjunto de testes.

Recomendado:  Como visualizar uma lista de links simbólicos no Windows 11

O comando que as instruções de compilação nos disseram para usar é:

fazer && fazer teste

"make && make test" em uma janela de terminal.

Muitas linhas de saída rolam rapidamente na janela do terminal. Em um minuto ou mais, você retornará ao prompt de comando.

Implantando o aplicativo de caixas

O aplicativo foi construído e temos um binário executável. Devemos agora copiar o binário para o diretório / usr / bin /. Isso permite que o shell o encontre quando tentarmos usá-lo.

Para alguns aplicativos, isso pode ser tudo que você precisa fazer. Em outros casos, você pode precisar copiar arquivos adicionais, como páginas de manual e arquivos de configuração, para locais no sistema de arquivos. O último é o que temos que fazer com nosso novo aplicativo, porque estava nas instruções de construção.

Comandos de cópia de arquivo do GitHub.

Use sudopara executar esses comandos. O primeiro comando copia uma página de manual para o diretório man1:

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

"sudo cp doc / boxes.1 / usr / share / man / man1" em uma janela de terminal.

Em seguida, copie o arquivo de configuração global para um diretório em / usr / share /:

sudo cp boxes-config / usr / share / boxes

"sudo cp boxes-config / usr / share / boxes" em uma janela de terminal.

Por fim, copie o binário para / usr / bin:

sudo cp src / boxes / usr / bin

"sudo cp src / boxes / usr / bin" em uma janela de terminal.

Testando o aplicativo de caixas

Vamos ver se tudo funciona! Tente abrir a página de manual do boxescomando.

caixas de homem

"caixas de homem" em uma janela de terminal.

Isso é encorajador! Você verá uma página de manual informando como usar o boxescomando.

página "boxes man" em uma janela de terminal.

Pressione “Q” para sair do sistema man e tente usar o boxescomando.

echo How-To Geek | caixas

"caixas How-To Geek" em uma janela de terminal.

E recebemos a resposta:

caixas de saída em uma janela de terminal.

Isso pode parecer um pouco desanimador, considerando todo o esforço que você fez, mas o objetivo deste exercício foi orientá-lo na retirada de um repositório do GitHub e na construção do aplicativo.

O boxescomando permite que você envolva o texto direcionado a ele em uma ampla variedade de quadros. Alguns deles podem ser usados ​​como comentários em arquivos de código-fonte. O formato acima funcionaria como um comentário em um arquivo de código-fonte C, por exemplo. Outros são puramente decorativos. A -dopção (design) permite que você escolha o estilo da moldura.

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

"echo How-To Geek | boxes -d whirly" em uma janela de terminal.

Existe uma longa lista de designs à sua escolha. Para ver todos eles, use este comando:

caixas -l | Menos

Build Complete

As etapas para criar a partir do código-fonte geralmente são simples:

  • Revise as instruções de construção no repositório.
  • Verifique se você tem as ferramentas necessárias instaladas e instale as que estiverem faltando.
  • Clone o repositório para o seu computador.
  • Siga as instruções de construção, que geralmente são tão simples quanto digitar make.
  • Copie o (s) arquivo (s) para os locais necessários.

Se houver etapas nas instruções de construção que não estão claras, veja se o projeto tem um fórum ou comunidade para o qual você pode enviar uma pergunta. Se o aplicativo tiver um site, ele pode ter uma página “Fale conosco”. O desenvolvedor que mantém o projeto das caixas tem seu e-mail na página “Sobre” do site das caixas . É um gesto generoso de sua parte, típico da comunidade de código aberto mais ampla.