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

0
835
노트북 화면의 코드
MchlSkhrv / 셔터 스톡

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

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

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

그러나 모든 소프트웨어 프로젝트에서 보편적 인 진실은 이것입니다. 소스 코드 파일은 가장 중요한 보석이므로주의 깊게 살펴 봐야합니다.

버전 관리 프로그램

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

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

Git이라고 불리는 작은 것

Linux 커널을 만든 Linus Torvalds는 Linux 커널 코드베이스를 관리하기 위해 Git이라는 버전 제어 프로그램을 개발했습니다. 현재 세계에서 가장 널리 사용되는 버전 제어 소프트웨어입니다. 문자 그대로 그것을 사용하는 수백만의 사람들이 있습니다.

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

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

깃 허브

GitHub의 결과로 생성되었습니다 git성공합니다. 설립자들은 안전하게 호스팅되는 원격 시스템에 대한 새로운 요구를 보았습니다. git 리포지토리. 개발 팀이 원격 리포지토리를 호스팅 할 수 있도록 클라우드 플랫폼을 제공하는 비즈니스를 시작했습니다. 2019 년 4 월 기준으로 GitHub는 1 억 개 이상의 리포지토리를 호스팅합니다.

응용 프로그램이 오픈 소스 프로젝트 인 경우 GitHub에서 호스팅 될 가능성이 매우 높습니다. BitBucket 및 GitLab과 같은 다른 리포지토리 플랫폼이 있지만 GitHub에는 오픈 소스 리포지토리가 있습니다.

리포지토리의 해부학

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

한 부엌을 돌아 보면 어떤 부엌이든 탐색 할 수 있습니다. 리포지토리와 동일합니다. 일단 규칙을 이해하면 필요한 것을 찾기 위해 어디로 가야하는지 알게됩니다.

그렇다면 컴퓨터에 저장소 사본을 어떻게 구할 수 있으며 프로그램을 바이너리 실행 파일로 어떻게 빌드합니까?

readme 파일

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

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

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

github의 atom 편집기에 대한 readme.md 파일 섹션

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

실제 빌드 지시 사항이없는 경우이 정보를 찾을 수있는 위치를 알려줍니다. 필요한 빌드 도구 및 기타 종속성과 같이 응용 프로그램을 빌드하는 데 유용한 기타 정보가 여기에 나열되거나 링크가 해당 정보로 연결될 수 있습니다.

박스 리포지토리

우리의 임무는 박스 저장소를 복제 한 다음 boxes 신청.

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

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

박스 애플리케이션의 빌드 지시 사항에 링크하십시오.

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

의존성

“소스에서 빌드”페이지에는 “리눅스에서 빌드”라는 섹션이 있으며 이것이 바로 우리에게 필요한 것입니다. C 컴파일러, Bison 및 Flex가 설치되어 있어야합니다.

박스 어플리케이션 구축에 필요한 툴 세트

빌드 지침에 따라 make 우리는 또한 필요합니다 make.

이 응용 프로그램을 빌드하는 데 필요한 도구는 C 컴파일러, Bison, Flex, make및 Git (저장소를 컴퓨터에 복제).

이 기사는 Ubuntu, Fedora 및 Manjaro Linux 배포판을 실행하는 컴퓨터에서 연구되었습니다. 배포판에는 이러한 도구가 모두 설치되어 있지 않았으며 각 도구에 무언가를 설치해야했습니다.

도구 세트 설치

우분투에는 Git, Flex, Bison 및 make 설치되었습니다. 명령은 다음과 같습니다.

sudo apt-get install git

터미널 창에서 "sudo apt-get install git".

sudo apt-get install flex

터미널 창에서 "sudo apt-get install flex".

sudo apt-get install bison

터미널 창에서 "sudo apt-get install bison".

sudo apt-get install make

터미널 창에 "sudo apt-get install make"가 있습니다.

Fedora는 Flex, Bison 및 make 설치되었습니다. 명령은 다음과 같습니다.

sudo dnf install flex

터미널 창에서 "sudo dnf install flex"

sudo dnf install bison

터미널 창에서 "sudo dnf install bison".

sudo dnf install make

터미널 창에 "sudo dnf install make"가 있습니다.

Manjaro는 GCC 컴파일러, Flex 및 Bison을 설치해야했습니다. 명령은 다음과 같습니다.

sudo pacman -Syu gcc

터미널 창에서 "sudo pacman -Syu gcc".

sudo pacman -Syu flex

터미널 창에서 "sudo pacman -Syu flex".

sudo pacman -Syu bison

터미널 창에서 "sudo pacman -Syu bison".

리포지토리 복제

각 GitHub 리포지토리에는 리포지토리를 컴퓨터에 복제하기 위해 Git과 함께 사용되는 특정 웹 주소가 있습니다. 박스 리포지토리의 메인 페이지에는 “복제 또는 다운로드”라는 녹색 버튼이 있습니다.

GitHub의 "복제 또는 다운로드"버튼.

웹 주소를 보려면 버튼을 클릭하십시오. 이것은 우리가 전달해야 할 주소입니다 git 리포지토리를 복제 할 때

저장소를 복제하려는 디렉토리로 변경 한 후이 명령을 사용하십시오. 터미널 창에서 지원하는 경우 웹 주소를 복사하여 명령에 붙여 넣을 수 있습니다. 그놈 터미널 창에 붙여 넣으려면 Ctrl + Shift + V를 누르십시오.

터미널 창에서 "git clone https://github.com/ascii-boxes/boxes.git"

힘내 원격 저장소를 복제하고 컴퓨터에 로컬을 만듭니다. “boxes”라는 디렉토리로 복제되고 있음을 알려줍니다.

터미널 창에 복제 된 저장소.

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

상자는 터미널 창에 내용을 저장합니다.

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

응용 프로그램 구축

응용 프로그램을 빌드하려면 GitHub 리포지토리의 지침을 따라야합니다. 때때로, 우리는 특정 쉘 파일을 실행할 것이고, 다른 것들을 실행할 것입니다 make. 우리가 따르는 빌드 지침은 우리에게 실행하도록 지시했습니다. make.

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

우리에게 사용하라는 명령은 make 두번. 첫 번째 전화 make 응용 프로그램을 빌드하고 두 번째는 일련의 테스트를 실행합니다.

빌드 지시 사항에 따라 사용 된 명령은 다음과 같습니다.

make && make test

터미널 창에서 "make && make test"를 실행하십시오.

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

박스 응용 프로그램 배포

응용 프로그램이 작성되었으며 실행 가능한 바이너리가 있습니다. 바이너리를 / usr / bin / 디렉토리에 복사해야합니다. 이것은 우리가 그것을 사용할 때 쉘이 그것을 찾을 수있게합니다.

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

GitHub의 파일 복사 명령

사용하다 sudo 이 명령을 실행하십시오. 첫 번째 명령은 man 페이지를 man1 디렉토리에 복사합니다.

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

터미널 창에서 "sudo cp doc / boxes.1 / usr / share / man / man1".

다음으로, 전역 설정 파일을 / usr / share /의 디렉토리에 복사하십시오 :

sudo cp boxes-config /usr/share/boxes

터미널 창에서 "sudo cp boxes-config / usr / share / boxes".

마지막으로 바이너리를 / usr / bin에 복사하십시오.

sudo cp src/boxes /usr/bin

터미널 창에서 "sudo cp src / boxes / usr / bin".

박스 테스트

모두 작동하는지 봅시다! 의 맨 페이지를 열어보십시오 boxes 명령.

man boxes

터미널 창에서 "맨 박스".

고무적입니다! 사용 방법을 알려주는 매뉴얼 페이지가 표시됩니다. boxes 명령.

터미널 창에 "boxes man"페이지가 있습니다.

“Q”를 눌러 수동 시스템을 종료하고 boxes 명령.

echo How-To Geek | boxes

터미널 창에 "boxes How-To Geek"가 있습니다.

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

터미널 창에 출력되는 상자.

모든 노력을 고려하면 약간 어려워 보일 수 있지만이 연습의 요점은 GitHub에서 저장소를 가져 와서 응용 프로그램을 작성하는 과정을 안내하는 것입니다.

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

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

터미널 창에서 "echo How-To Geek | boxes -d whirly"

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

boxes -l | less

빌드 완료

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

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

빌드 지침에 명확하지 않은 단계가있는 경우 프로젝트에 포럼 또는 커뮤니티가 있는지 확인하여 질문을 보내십시오. 응용 프로그램에 웹 사이트가 있으면“문의하기”페이지가있을 수 있습니다. 박스 프로젝트를 관리하는 개발자는 박스 웹 사이트의 “정보”페이지에 이메일이 있습니다. 그것은 그의 입장에서 관대하고 광범위한 오픈 소스 커뮤니티의 전형적인 제스처입니다.