"빌드 필수"및 "빌드 깊이"란 무엇입니까?


64

Xubuntu 10.04에서 Ruby 1.9.1을 설치하는 방법을 연구 중이며 build-essentialbuild-dep 명령을 여러 번 발견했습니다. 때로는 패키지가 뒤 따르고 때로는 패키지가 선행 및 후행됩니다.

내가보고있는 두 가지 예는 다음과 같습니다.

sudo apt-get install 빌드 필수 zlib1g zlib1g-dev zlibc libruby1.9 libxml2 libxml2-dev libxslt-dev

sudo apt-get 빌드-뎁 루비

sudo apt-get install 루비 irb ri rdoc 루비 1.8-dev libzlib-ruby libyaml-ruby libreadline-ruby libncurses-ruby libcurses-ruby libruby libruby-extras libfcgi-ruby1.8 빌드 필수 libopenssl-ruby libdbm-ruby libdbi-ruby libdbd-sqlite3-ruby sqlite3 libsqlite3-dev libsqlite3-ruby libxml-ruby libxml2-dev


3
이 명령은 명령이 아니라 데비안 패키지 시스템 (APT)의 패키지입니다. GUI 도구를 사용하여 패키지를 얻을 수도 있습니다.

감사. 그래도 루비와 어떤 관련이 있습니까? 나는 루비가 그것을 실행하는 데 필요하다고 생각하지만 어쩌면 내가 틀렸다.
classer

답변:


49

build-essentials 패키지는 데비안 패키지를 컴파일하는 데 필요한 모든 패키지에 대한 참조입니다. 일반적으로 GCC / g ++ 컴파일러와 라이브러리 및 기타 유틸리티가 포함됩니다. 설명서를 확인하십시오 : 여기!


2
그래도 여전히 내 질문에 완전히 대답하지는 않습니다. 'build-essential'에는 데비안 패키지를 만드는 데 필요한 정보 패키지 목록이 포함되어 있음을 이해합니다. 그러나 데비안 패키지는 무엇입니까? 루비? gcc / g ++ 컴파일러? 그리고 데비안 패키지와 '빌드 필수'는 루비와 어떤 관련이 있습니까? 루비는 데비안 패키지 위에 빌드 되었습니까? 다른 방법으로, 루비는 빌드 필수 패키지를 실행해야합니까? 이 모든 부분들 간의 관계
classer

3
간단히 말해서 (또는 설치하려는 다른 패키지)에 C / C ++ 컴파일러가 필요한 경우에는 빌드 필수를 설치해야합니다. 일반적으로 새 우분투 설치에서 가장 먼저 설치하는 것은 :-)

4
@Adam Ruby는 인터프리터 언어이므로 인터프리터는 컴퓨터에서 실행되도록 C 또는 C ++ 컴파일러가 필요합니다. build-essential메타 패키지 (g ++ 및 gcc와 같은 다른 많은 패키지를 설치하는 패키지 : GNU C & C ++ 컴파일러)입니다. 소스에서 무엇이든 컴파일하고 거의 모든 프로그래밍 언어로 작업하려는 경우에 필요합니다. HTH!
squircle

6
이 답변은 잘못되었습니다. 아래 답변이 맞습니다. build-depapt-get 명령이며 build-essential패키지입니다.
David

2
이것은 정답이 아닙니다. 제공된 링크는 빌드 필수 패키지의 내용에 대한 통찰력이나 설명을 제공하지 않습니다.
andDevW

54

이 명령 sudo apt-get build-dep packagename은 "루트로서 빌드 할 수 있도록 'packagename'에 대한 모든 종속성을 설치하십시오"를 의미합니다. 따라서 build-dep는 설치, 제거, 업데이트 등과 같은 apt-get 명령입니다.

build-essential 일반적으로 소프트웨어를 빌드하는 데 필요한 수많은 패키지에 대한 참조를 포함하는 패키지입니다.


1
'build-dep'명령을 설명해 주셔서 감사합니다. 내가 이해하는 것처럼,이 경우 Ruby1.9에는 Linux가 'To Do / Build List'로 보이는 종속성 목록이 첨부되어 있으며 각 항목을 하나씩 빌드합니다. 빌드 된 최종 인프라를 통해 Ruby1.9가 올바르게 작동합니다. 내가 이해하지 못하는 것은 왜 'build-essential'이나 최상위 라인의 다른 모든 패키지 (zlib1g zlib1g-dev zlibc libruby1.9 등)가 'To Do / Build List에 포함되지 않는 이유입니다. '는 Ruby1.9에 첨부되었습니다. 하나의 명령 만 있으면 더 간단하지 않습니까?
classer

5

build-essential하나 개의 마법 특성했다 : 그것은 필요하지 않습니다는 아래의 빌드 종속성으로 나열하는 Build-Depends제어 필드 ( debian-packages에 설명 된대로 소스 패키지의) https://www.debian.org/doc/debian-policy/ch-source.html# s-pkg 관계

빌드 필수 패키지 목록은 다음에서 얻을 수 있습니다.

cat /usr/share/doc/build-essential/list

패키지가 다음의 일부인지 확인할 수도 있습니다 build-essential.

apt-get show gcc

그것은 말합니다 :

Build-Essential: yes

4

"build-essential"에는 소스에서 소프트웨어를 컴파일 / 빌드하기위한 툴 (gcc 컴파일러, make 툴 등)이 포함되어 있습니다. 따라서 (보통 C) 소스 파일로 시작하여 그로부터 실행 파일을 만듭니다.

루비를 설치하려고한다면 RVM (Ruby Version Manager)을 사용하는 것이 좋습니다 .

"Github 리포지토리 (권장)"의 지침을 따르십시오.

Git 버전 제어 소프트웨어가 먼저 설치되어 있어야합니다. apt-get install git-core아직없는 경우 사용하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.