Linux에서 Git을 사용하여 소프트웨어를 설치하는 방법

“리포지토리를 복제하고 구축”하라는 지시를 받았는데 다음에 무엇을 해야 할지 모르십니까? 초보자라도 Linux에서 실행되는 GitHub에서 해당 프로그램을 얻는 방법을 보여 드리겠습니다.

컴퓨터 프로그램을 구성하는 명령은 텍스트 파일로 작성, 편집 및 저장됩니다. 그런 다음 컴파일러라고 하는 프로그램이 이러한 파일을 처리합니다. 이것 실행 가능한 버전을 생성 프로그램의. 명령어의 텍스트 파일을 소스 코드라고 합니다. 컴퓨터에서 실제로 실행할 수 있는 프로그램의 버전을 바이너리 또는 실행 파일이라고 합니다.

이는 이벤트의 단순화된 버전이지만 일반화된 경우 올바른 그림을 그립니다. 실제로 해당 모델에서 모든 종류의 변형을 찾을 수 있습니다. 때때로 다른 프로그램이 텍스트 파일을 생성합니다. 다른 경우에는 소스 코드가 실행됩니다. 통역사 내부 컴파일할 필요가 없습니다.

그러나 모든 소프트웨어 프로젝트에 대한 한 가지 보편적인 진실은 다음과 같습니다. 소스 코드 파일은 왕관 보석, 그리고 그들은 똑같이 조심스럽게 돌보아야 합니다.

버전 관리 프로그램

프로젝트 내의 모든 소스 코드 파일을 코드베이스라고 합니다. 대규모 프로젝트에는 종종 많은 개발자가 코드베이스에서 작업합니다. 모든 코드 변경을 추적하고 식별할 수 있어야 합니다. 필요한 경우 변경 사항을 되돌릴 수 있어야 합니다. 다른 개발자가 동일한 소스 코드 파일을 변경하는 경우 편집 내용을 병합해야 합니다.

따라서 버전 제어 시스템이라고 하는 소프트웨어 프로그램이 코드베이스의 변경 사항을 더 쉽게 관리할 수 있도록 존재한다는 것은 놀라운 일이 아닙니다. 버전 제어 시스템은 코드베이스에 있는 각 파일의 모든 이전 버전을 보유하고 모든 변경 사항을 기록하고 주석을 달고 추적합니다.

Git이라는 작은 것

리누스 토발즈, 리눅스 커널의 창시자, 라는 버전 관리 프로그램을 개발했습니다. 힘내 Linux 커널 코드베이스를 관리합니다. 이제 세계에서 가장 널리 채택된 버전 제어 소프트웨어입니다. 말 그대로 수백만 명의 사람들이 사용하고 있습니다.

Git을 사용하면 프로젝트의 코드베이스가 리포지토리에 저장됩니다. 개발자의 컴퓨터와 아마도 네트워크의 중앙 서버에 있는 로컬 리포지토리 외에도 오프사이트 또는 원격 리포지토리를 갖는 것이 좋습니다.

그리고 그것이 GitHub가 들어오는 곳입니다.

깃허브

깃허브 git의 성공의 결과로 만들어졌습니다. 설립자는 안전하게 호스팅되는 원격 git 리포지토리에 대한 필요성이 대두되고 있음을 확인했습니다. 그들은 사업을 시작했다 클라우드 플랫폼 제공 개발 팀이 원격 리포지토리를 호스팅할 수 있도록 합니다. 2019년 4월 기준, GitHub는 1억 개 이상의 리포지토리를 호스팅합니다.

  docTrackr로 보낸 Gmail 첨부 파일 추적, 삭제 및 보안

애플리케이션이 오픈 소스 프로젝트인 경우 GitHub에서 호스팅될 가능성이 매우 높습니다. 다음과 같은 다른 저장소 플랫폼을 사용할 수 있습니다. 비트버킷 그리고 GitLab, 그러나 GitHub는 오픈 소스 리포지토리의 가장 큰 몫을 가지고 있습니다.

리포지토리의 구조

GitHub 리포지토리는 가장 중요한 소스 코드 파일과 같은 파일이 포함된 폴더로 구성됩니다. 일반적으로 저장소에는 다른 많은 유형의 파일이 있습니다. 문서 파일, 매뉴얼 페이지, 소프트웨어 라이센스 파일, 빌드 지침 및 쉘 스크립트 파일이 있을 수 있습니다. 저장소가 포함해야 하거나 포함해야 하는 항목에 대한 규칙은 없지만 규칙은 있습니다.

하나의 부엌을 돌아다니는 길을 알고 있다면 어떤 부엌이든 탐색할 수 있습니다. 리포지토리도 마찬가지입니다. 규칙을 이해하고 나면 필요한 것을 찾기 위해 어디로 가야 하는지 알게 됩니다.

그렇다면 컴퓨터에서 저장소 복사본을 얻는 방법과 프로그램을 바이너리 실행 파일로 빌드하는 방법은 무엇입니까?

추가 정보 파일

리포지토리에 readme 파일을 포함하는 것이 일반적입니다. readme, Readme 또는 README라고 부를 수 있습니다. 확장자가 “.md”이거나 전혀 없을 수 있습니다.

GitHub를 살펴보자 Atom 편집기용 저장소. 긴 폴더 및 파일 목록이 표시됩니다. 아래로 스크롤하면 README.md 파일의 내용이 표시됩니다.

GitHub는 readme 파일의 내용을 저장소의 첫 페이지에 자동으로 넣습니다. 추가 정보 파일에 “.md” 확장자가 있으면 다음이 포함됩니다. 마크다운 마크업 언어. 이를 통해 개발자는 글꼴, 글머리 기호 및 이미지와 같은 스타일 요소를 사용할 수 있습니다.

일반적으로 readme 파일에는 프로젝트 내용, 라이센스 유형, 프로젝트 유지 관리, 참여 방법, 응용 프로그램 빌드 및 실행 방법을 알려주는 섹션이 있습니다.

실제 빌드 지침이 나열되지 않으면 이 정보를 찾을 수 있는 위치를 알려줍니다. 필요한 빌드 도구 및 기타 종속성과 같이 애플리케이션을 빌드하는 데 유용한 기타 정보가 여기에 나열되거나 해당 정보로 연결되는 링크가 있을 수 있습니다.

상자 저장소

우리의 임무는 상자 저장소 복제, 다음 상자 응용 프로그램을 빌드하십시오.

저장소는 Atom과 동일한 레이아웃을 따릅니다. 폴더와 파일 목록이 있고 그 아래에는 readme 파일의 내용이 있습니다. 저장소의 표준 레이아웃을 따르지만 더 작은 프로젝트이므로 폴더와 파일이 더 적습니다.

readme 파일도 더 짧습니다. “개발”이라는 섹션이 있습니다. 해당 섹션에는 “소스에서 빌드”라는 제목의 링크가 있습니다. 해당 링크를 따라가면, 우리는 정보를 찾아야합니다 우리는 필요합니다.

일반적으로 저장소를 탐색하고 원하는 정보를 찾는 데 필요한 간단한 탐색이 있지만 어렵지 않습니다. 저장소 페이지의 모든 내용을 주의 깊게 읽으십시오. 때때로 정보가 있지만 눈에 띄게 표시되지 않을 수 있습니다.

  Ubuntu에 Clang을 설치하는 방법

종속성

“Building from Source” 페이지에는 “Building on 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은 원격 저장소를 복제하고 컴퓨터에 로컬 저장소를 만듭니다. “box”라는 디렉토리에 복제 중임을 알려줍니다.

boxs 디렉토리는 git 명령을 실행한 디렉토리 내에 생성됩니다. 상자 디렉터리로 전환하여 내용을 보면 GitHub 페이지에서 본 것과 동일한 파일 및 폴더 목록이 표시됩니다.

엄청난! 소스 코드와 기타 파일을 컴퓨터에 성공적으로 복제했습니다. 이제 애플리케이션을 빌드해야 합니다.

애플리케이션 빌드

애플리케이션을 빌드하려면 GitHub 리포지토리의 지침을 따라야 합니다. 때로는 특정 셸 파일을 실행하고 다른 파일은 make를 실행합니다. 우리가 따르고 있는 빌드 지침은 make를 실행하라고 지시했습니다.

make 유틸리티는 makefile에서 일련의 명령을 읽고 수행합니다. 이 지침은 make에게 프로그램을 컴파일하고 함께 연결하는 방법을 알려줍니다. make는 명령을 컴파일러 및 기타 빌드 도구에 전달합니다.

우리가 사용하라는 명령은 make를 두 번 호출합니다. make에 대한 첫 번째 호출은 애플리케이션을 빌드하고 두 번째 호출은 일련의 테스트를 실행합니다.

  Coursera 및 무료 온라인 비디오 강의 라이브러리가 Android로 제공됨

빌드 지침에서 사용하도록 지시한 명령은 다음과 같습니다.

make && make test

터미널 창에서 많은 출력 줄이 빠르게 스크롤됩니다. 1분 정도 지나면 명령 프롬프트로 돌아갑니다.

상자 응용 프로그램 배포

응용 프로그램이 빌드되었으며 실행 가능한 바이너리가 있습니다. 이제 바이너리를 /usr/bin/ 디렉토리에 복사해야 합니다. 이렇게 하면 쉘을 사용하려고 할 때 쉘이 찾을 수 있습니다.

일부 응용 프로그램의 경우 이 작업만 수행하면 됩니다. 다른 경우에는 매뉴얼 페이지 및 구성 파일과 같은 추가 파일을 파일 시스템의 위치로 복사해야 할 수도 있습니다. 후자는 빌드 지침에 있었기 때문에 새 응용 프로그램과 함께 해야 하는 작업입니다.

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

상자 응용 프로그램 테스트

모두 작동하는지 봅시다! boxs 명령에 대한 매뉴얼 페이지를 열어보십시오.

man boxes

그것은 고무적입니다! 상자 명령을 사용하는 방법을 알려주는 매뉴얼 페이지가 있습니다.

“Q”를 눌러 man 시스템을 종료하고 boxs 명령을 사용해 보십시오.

echo How-To Geek | boxes

그리고 우리는 응답을 얻습니다:

당신이 들인 모든 노력을 고려할 때 이것은 약간 실망스러울 수 있지만 이 연습의 요점은 GitHub에서 리포지토리를 다시 가져오고 애플리케이션을 빌드하는 방법을 안내하는 것입니다.

boxs 명령을 사용하면 파이프로 연결된 텍스트를 다양한 프레임으로 줄 바꿈할 수 있습니다. 그들 중 일부는 소스 코드 파일의 주석으로 사용될 수 있습니다. 위의 형식은 예를 들어 C 소스 코드 파일에서 주석으로 작동합니다. 다른 것들은 순전히 장식적입니다. -d(디자인) 옵션을 사용하면 프레임 스타일을 선택할 수 있습니다.

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

선택할 수 있는 디자인의 긴 목록이 있습니다. 모두 보려면 다음 명령을 사용하십시오.

boxes -l | less

빌드 완료

소스에서 빌드하는 단계는 일반적으로 간단합니다.

리포지토리에서 빌드 지침을 검토합니다.
필요한 도구가 설치되어 있는지 확인하고 누락된 도구를 설치하십시오.
저장소를 컴퓨터에 복제합니다.
make를 입력하는 것만큼 간단한 빌드 지침을 따르십시오.
파일을 필요한 위치에 복사합니다.

빌드 지침에 명확하지 않은 단계가 있는 경우 프로젝트에 질문을 보낼 수 있는 포럼이나 커뮤니티가 있는지 확인하세요. 응용 프로그램에 웹 사이트가 있는 경우 “문의하기” 페이지가 있을 수 있습니다. 상자 프로젝트를 유지 관리하는 개발자는 의 “정보” 페이지에 자신의 이메일이 있습니다. 상자 웹 사이트. 이는 그의 관대한 제스처이며 더 넓은 오픈 소스 커뮤니티의 전형입니다.