우분투에서 소프트웨어를 컴파일하는 동안 종속성을 해결하는 방법

Linux에서 소프트웨어를 컴파일하는 가장 어려운 부분은 종속성을 찾고 설치하는 것입니다. 우분투에는 의존성을 자동으로 감지, 탐지 및 설치하는 명령이 있습니다.

우리는 최근 Ubuntu의 소스에서 소프트웨어를 컴파일하는 기본 사항을 다루었습니다. 이제 시작하기 만하면 원래 기사를 확인하십시오.

Auto-apt는 ./configure 명령을 실행할 때까지 기다리고 기다립니다. ./configure가 존재하지 않는 파일에 액세스하려고하면 auto-apt는 ./configure 프로세스를 보류하고 적절한 패키지를 설치하고 ./configure 프로세스가 계속되도록합니다.

먼저 다음 명령으로 auto-apt를 설치하십시오.

sudo apt-get auto-apt 설치

설치가 완료되면 다음 명령을 실행하여 자동 응답에 필요한 파일 목록을 다운로드하십시오. 이 과정은 몇 분이 걸릴 것입니다.

sudo 자동 업데이트

첫 번째 명령이 완료되면 다음 명령을 실행하여 데이터베이스를 업데이트하십시오. 이 명령은 몇 분이 걸립니다.

sudo auto-apt updatedb & sudo auto-apt update-local

auto-apt의 데이터베이스를 빌드 한 후에는 다음 명령으로 ./configure 프로세스를 시작할 수 있습니다.

sudo auto-apt run./configure

특정 파일이 없다는 오류 메시지가 표시되면 파일을 가져 오기 위해 설치해야하는 패키지를 알지 못할 수 있습니다. Apt 파일을 사용하면 단일 명령으로 특정 파일을 포함하는 패키지를 찾을 수 있습니다.

먼저 apt-file 자체를 설치해야합니다.

sudo apt-get apt-file 설치

설치가 끝나면 다음 명령을 실행하여 구성된 apt 저장소에서 파일 목록을 다운로드하십시오. 이것들은 큰 목록이므로 다운로드하는 데는 몇 분이 걸릴 것입니다.

sudo apt-file 업데이트

“example.pc”를 파일 이름으로 바꾸어 다음 명령을 실행하면 명령을 통해 정확히 어떤 패키지를 설치해야하는지 알려줍니다

apt-file 검색 파일 example.pc

표준 apt-get install 명령을 사용하여 패키지를 설치하십시오.

sudo apt-get install 패키지

Ubuntu Package Search 웹 사이트에서 파일 검색을 수행 할 수도 있습니다. 특정 파일을 검색하려면 페이지의 “패키지 내용 검색”섹션을 사용하십시오.

apt-file과 동일한 결과를 얻을 수 있으며 파일 목록을 다운로드 할 필요가 없습니다.

초기 게시물에서 apt-get build-dep를 다루었습니다. 설치하려는 프로그램의 이전 버전이 이미 우분투의 패키지 저장소에 있다면, 우분투는 이미 필요한 의존성을 알고 있습니다.

다음 명령을 입력하여 “package”를 packge의 이름으로 바꾸십시오. apt-get은 필요한 종속성을 설치합니다

sudo apt-get build-dep 패키지

Apt-get은 필요한 모든 의존성을 설치하라는 메시지를 표시합니다.

최신 버전의 프로그램에 서로 다른 종속성이 필요한 경우 일부 추가 종속성을 수동으로 설치해야 할 수 있습니다.

이 모든 명령은 apt-get을 사용하므로 데비안, Linux Mint 및 apt-get 및 de.deb 패키지를 사용하는 다른 모든 Linux 배포판에서도 사용할 수 있습니다.

무엇? … ??

apt-apt-auto-apt를 sudo 할 때 설치가 시작되고 터미널 창에 Postfix 구성 프롬프트가 나타납니다. 이제 postfix 설정 창은 사라지지 않을 것입니다.

@ 제이슨

그거 이상 하네. Postfix를 설치하기로 결정한 것 같습니다. 그건 자동 apt의 의존성해서는 안됩니다 …

음 … 다른 시스템에서 두 번 더 후위 프롬프트를 재현했습니다. Ubuntu 10.04를 즉시 사용할 수 있습니다. 10.10에 대한 업데이트 중 하나에서 누락 된 것일 수 있습니다.

“E”는 1930 년대에 미국 학교에서 단계적으로 사라지고 “F”로 바뀌어 학생들이 E를 우수와 혼동하지 않게되었습니다.