데비안 기반 배포판에 tarball 패키지를 설치하는 방법은 무엇입니까?


19

데비안에서 .tar.bz 및 .tar.bz2 패키지를 설치하는 방법을 알고 싶습니다.


2
그것들은 보관소입니다. 포장을 풀고 내부 지침을 참조하십시오. 보통이다 ./configure, make, make install,하지만 난 당신이 실제로 빌드 아무것도 시도하기 전에이 매우 기본적인 것들을 배울 수있는 사람이 링크와 함께, 당신에게 더 나은 해답을 제공 할 것이라 확신합니다
zetah

3
설치하려는 항목에 따라 소프트웨어에서 사용하는 라이브러리의 빌드 필수 패키지 및 -dev 패키지도 설치해야합니다. 접두사 / usr / local / (보통 기본값)에 설치해야합니다. 그렇지 않으면 시스템이 손상 될 수 있습니다. 초보자의 경우 데비안에서 제공하는 패키지로 자신을 제한하는 것이 좋습니다. 다음 단계는 이미 패키지 된 소프트웨어 (.deb 패키지)를 검색 한 후 직접 설치하는 것 dpkg -i ./path/to/package.deb입니다. .tar. {gz, bz2} 패키지를 사용하는 것이 마지막으로 가장 어려운 옵션입니다.
jofel

@jofel 동의하지만 일부 프로그램은 .deb 패키지로 제공되지 않으며 소스 코드 (예 : Firefox)에서만 설치할 수 있습니다.
Zignd

1
Firefox는 저장소에서 가장 확실하게 사용할 수 있으며 소스에서 빌드 할 필요가 거의 없습니다.
카오스 데몬

1
소스에서 직접 설치하려는 경우 가장 어려운 것은 종종 올바른 종속성을 설치하는 것입니다. README 또는 INSTALL에 나열되지 않은 경우 ./configure 스크립트를 직접 실행해야합니다 (autoconf 기반 빌드 시스템의 경우). "xyz 확인 : 아니오", "xyz를 찾을 수 없음"또는 이와 유사한 방법으로 실패하면 libxyz-dev 패키지 (Debian 기반 시스템)를 설치하고 다시 시도하십시오. 패키지가없는 경우 올바른 패키지를 찾거나 필요한 라이브러리를 먼저 설치해야합니다. 때로는 특정 라이브러리 버전을 선택해야합니다.
jofel

답변:


30

먼저 File System Hierarchy Standards 에 따르면 이 설치된 패키지의 위치 /opt는 바이너리 설치이고 /usr/local소스 설치에서 온 패키지 여야합니다 .

순수 바이너리

바이너리를 사용할 준비가되었습니다. 일반적으로 설치하려면 압축을 풀기 만하면됩니다. 바이너리 패키지는 쉬울 것입니다 :

  • sudo tar --directory=/opt -xvf <file>.tar.[bz2|gz]
  • 경로에 디렉토리를 추가하십시오. export PATH=$PATH:/opt/[package_name]/bin

그리고 당신은 끝났습니다.

출처에서

소스 패키지 (훨씬) 더 성가신 될 것이다 그들이 대략 아래의 방법으로 처리 될 수 통해 각 패키지는 다르다 :

  • 패키지를 다운로드 /usr/local/src
  • tar xf <file>.tar.[bz2|gz]
  • cd <package name>
  • README파일을 읽으십시오 (거의 확실하게 존재합니다).
  • 대부분의 오픈 소스 프로젝트는 autoconf / automake를 사용하므로 지침은에 있습니다 README. 아마도이 단계는 다음과 같습니다. ./configure && make && make install(문제가 발생하면 정신을 위해 명령을 별도로 실행하십시오)

설치에 문제가 있으면 특정 질문을해야합니다. 잘못된 버전의 라이브러리 또는 누락 된 종속성 문제가있을 수 있습니다. 데비안이 당신을 위해 모든 것을 포장하는 이유가 있습니다. 그리고 데비안 스 테이블이 오래된 패키지를 실행하는 이유가 있습니다. 12 가지 이상의 다양한 아키텍처와 수많은 하드웨어 / 시스템 구성에 패키지를 설치하는 모든 경우를 찾는 것이 어렵습니다. 직접 설치하면 이러한 문제 중 하나가 발생할 수 있습니다!


2
tar 명령을 더 쉽게 만들었습니다! cd / opt를하지 않아도됩니다. 대신 tarball이있는 곳으로 가서 tar -C또는 --directory옵션을 사용하십시오 .
Jess

1
아, 잊지 마라 sudo: D
Jess

10

파일의 압축을 푼 다음 생성 된 디렉토리 에서 패키지를 설치하기 위해 알아야 할 사항 (예 : 종속성, 구성 옵션, 실행할 명령 등)을 알려주 는 README또는 INSTALL파일을 찾습니다 .

보통은 아래로 비등 ./configure, make다음 make install.


3
빌드에서 구성이 실패 할 가능성이 높습니다. 왜? 다운로드 한 소스에 설치하지 않은 빌드 시간 종속성이있을 수 있습니다. 데비안 / 우분투에서 apt와 함께 패키지를 사용할 수 있다면 다음과 같이 설치할 수 있습니다 : sudo apt-get build-dep package-name
anonfunc

7

이를 수행하는 표준 방법은 다음과 같습니다.

  1. tar zxvf file.tar.gz 또는 tar xvjpf file.tar.bz2
  2. 실행 ./configure ( ./configure --help일반적으로 사용자 정의 옵션 제공)
  3. 운영 make
  4. 운영 make install

일반적으로 지침을 제공하는 README 또는 INSTALL 파일이 있습니다.


5

일반적으로 tar.gz / tgz / tar / bz2를 설치할 때 (이것은 압축 된 패키지 파일이라는 것을 기억하십시오) tar 파일 ( tar xvfz/ tar xvfj)을 연 다음 cd디렉토리를 열고 실행해야 ./configure합니다.

일부 시스템에서는 기본값 (예 : / usr / local / {lib, bin 등)을 기본 설치 위치로 사용하거나 / opt / local / {lib, bin, 기타}.

그래서 당신은 할 것이다 ./configure --prefix=/usr/local다음과 make, make install.

패키지를 설치하려는 곳은 귀하에게 달려 있습니다. 어디에서 결정하든 PATH 쉘 변수에 경로를 추가하여 패키지를 쉽게 실행할 수 있습니다. (종종 export PATH=$PATH:/opt/local/bin:/usr/local/bin).


2

예를 들어 이것을 설명하겠습니다 abc. 패키지를 설치하길 원합니다 . 패키지의 종속성은 abc설명서를 읽고 식별 할 수 있습니다. 원활한 경험을 위해서는 설치 전에 종속성 (필수 라이브러리 등)을 해결해야합니다.

g 전 gcc 4.7.2을 빌드 g++, m4, gawk, gcc-multilib, gmp, mpfr, 및 mpc구축해야합니다.

그런 다음 첫 번째 단계는 항상 추출 인 소스 부분에서 건물을 가져옵니다. tar명령 을 사용 하거나 간단한 GUI 방식 으로 수행 할 수 있습니다 . 폴더에 추출 된 파일이 cd있으면 명령을 사용하여 해당 폴더를 찾아야합니다 ( 예 : 컨텐츠가 다운로드에있는 경우).

$cd Downloads/abc

이제 실행해야합니다 ./configure. --prefix=옵션을 사용하여 설치 디렉토리를 지정하십시오 configure.

먼저, 파일 시스템 계층 표준에 따라이 설치된 패키지의 위치는 바이너리 설치 인 경우 / opt이고 소스 설치 인 경우 / usr / local이어야합니다.

따라서 /usr/abc디렉토리에 설치하는 경우 옵션 --prefix=/usr/abc과 함께 ./configure지시 사항을 제공합니다.

$./configure --prefix=/usr/abc

--prefix=그러나 시스템 유형과 같은 성공적인 컴파일 --build=x86_64-linux-gnu및 64 비트 시스템에 대한 다른 정보를 제공하고자 할 수 있습니다 --build=i386-linux-gnu. 추출 된 파일에서 README를 읽는 것이 좋습니다 ./configure. 명령 으로 지정할 옵션에 대한 정보가 들어있을 수 있습니다 .

명령을 ./configure실행 한 후 . 설치 후 명령을 사용하여 라이브러리 경로, 쉘 / 환경 변수를 지정해야합니다 .makemake installexport

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