실제로 apt-get install을 통해 패키지를 어떻게 설치합니까?


29

apt-get install방법을 사용하여 패키지를 우분투에 설치하는 경우 해당 패키지의 소스 코드를 얻는 것과 처음부터 빌드하는 것 사이에 근본적인 차이가 있습니까? 이 apt-get install기능은 단순히 소스를 다운로드하여 컴퓨터에서 지정된 디렉토리로 빌드 합니까, 아니면 더 많은 장면이 있습니까?

마지막으로 (아마 대답이 없을 수도 있습니다) 한 방법이 다른 방법보다 낫습니까? 내가 여기에서 앵글 링하는 것은 소스 코드에서 직접 빌드하는 것이 어떤 이점이 있거나 apt-get그 일 을하도록 하는 것이 낫다 는 것입니까?

답변:


25

apt, yum, pacman, emerge 등과 같은 패키지 관리 시스템의 장점은 다음과 같습니다.

  • 어떤 버전의 패키지가 설치 또는 사용 가능한지 쉽게 쿼리 할 수 ​​있습니다.
  • 패키지를 완전히 제거하기 쉽고 모든 파일이 없어 졌는지 확인합니다.
  • 패키지 파일의 무결성을 쉽게 확인할 수 있으므로 손상되었거나 변조되었는지 확인할 수 있습니다.
  • 새 버전을 설치하고 이전 버전 파일을 모두 제거하면 패키지를 쉽게 업그레이드 할 수 있습니다. 이렇게하면 기존 패키지에 남아있는 파일을 혼동하거나 깨뜨리지 않도록해야합니다.
  • 어떤 패키지가 필요한지 또는 다른 패키지가 제공하거나 요구하는 것을 쉽게 알 수 있으므로 패키지가 올바르게 작동하는 데 필요한 항목을 가질 수 있습니다.
  • 패키지 그룹을 쉽게 설치하거나 제거 할 수 있습니다.
  • 대부분의 경우 새 버전에 버그가있는 경우와 같이 이전 버전의 패키지로 다시 다운 그레이드 할 수 있습니다.

Fedora 용이지만 다음도 참조하십시오.

https://fedoraproject.org/wiki/Package_management_system

소스에서 설치하면 이점이있을 수 있습니다

  • 바이너리를 사용자 정의 할 수 있습니다 (활성화 / 비활성화 옵션)
  • 리포지토리에서 최신 패키지를 사용할 수 있습니다.
  • 때때로 버그 수정에 필요

그러나 단점은 새 버전을 사용할 수있을 때 패키지를 수동으로 업데이트해야하고 종종 지원을 잃게된다는 것입니다.

IMO 패키지 전체 또는 대부분을 컴파일하려면 젠투에게 조언합니다.


1
이 훌륭한 답변을 명확히하기 위해 직접 컴파일하면 Update Manager가 인식되지 않고 업데이트가 릴리스 될 때 응용 프로그램을 업데이트하지 않습니다. 또한 apt (우분투가 선택한 패키지 관리자)는 컴파일되지 않습니다. 기성품 컴파일 된 바이너리를 다운로드합니다. 마지막으로, apt는 프로그램을 설치하거나 제거 할 때 메뉴 시스템을 자동으로 유지합니다. 수동으로 컴파일 할 때는 직접해야합니다.
Paddy Landau

1
일반적으로 패키지를 직접 컴파일 할 때 얻을 수있는 또 하나의 작은 장점은 정확한 하드웨어에 대한 자세한 지식으로 컴파일되어 더 빠르게 실행될 수 있다는 것입니다. 이 경로로 이동하면 checkinstall 사용을 고려하십시오. asic-linux.com.mx/~izto/checkinstall 설치된 내용을 추적하고 필요한 경우 나중에 깨끗하게 제거하는 데 도움이됩니다.
Joe

나는 더 빠른 달리기에 대해 올바르게 서있다.
Joe

18

Apt-get 은 APT 패키지 처리 유틸리티 (CLI)이며 시냅틱적성에 백엔드 입니다.

시스템에서 트리거 하는 apt-get 메소드 는 파일에 나열된 공식 소스 또는 저장소를 확인 합니다.

etc/apt/sources.list

예를 들어. 실행 중 (내가 사용하는) , 같은 것을 실행sudo apt-get update && sudo apt-get upgrade

여기에 이미지 설명을 입력하십시오

여기서 링크 앞의 Ign (무시)은 해당 리포지토리를 마지막으로 방문한 이후에는 변경 사항이 없음을 나타내고 Get 은 해당 리포지토리에서 새로 사용 가능한 패키지의 변경 사항을 나타내는 소스 파일 검색을 나타냅니다.

아니요, apt-get 유틸리티는 소스 파일을 다운로드하지 않고 시스템과의 안정성 및 통합 을 테스트 한 공식 Ubuntu Packager 에서 패키지 및 릴리스 한 .deb 패키지를 다운로드합니다 .

apt-get은 패키지를 다운로드 에서 찾아 볼 수있다

/var/cache/apt

당신은 어디에서 볼 수있는 모든 Updates같은 뎁 패키지 , 그리고 당신도이 방문하여 자신의 버전을 교차 확인에 비교할 수 있습니다 정확한-업데이트 패키지를 .

지금까지로 컴파일 우려 소스 패키지에서, 그것은 바람직하지하고 그것을 LTS 출시, 당신은 여기에 이유를 볼 수도 우분투 12.04 사용하지 않는 것이 좋습니다

소스에서 컴파일하거나 .deb 패키지에서 설치하는 것이 더 낫습니까?

소스에서 프로그램을 컴파일하면 운영 체제 속도가 빨라 집니까?

소스 코드에서 설치의 장점 / 단점

: 더 참고를 들어 apt-get을 , 의 sources.list .


실제로 3 개의 프로그램, apt-get, aptitude 및 synaptic은 백엔드입니다.dpkg
Javier López

1
적성dpkg의 프론트 엔드입니다 . dpkg는 dpkg-debdpkg-query
atenz

2

소스에서 빌드하는 경우 포함 된 항목에 더 많은 옵션이 있습니다. 에서 설치 apt-get만하면 미리 만들어진 패키지를 설치합니다.

어느 쪽이 더 좋은지, 그것은 당신이 그것을 위해 필요한 것에 달려 있습니다. 소스에서 컴파일 할 필요는 없었지만 우분투 랩톱에서 매우 광범위한 작업을 수행하지는 않습니다.


apt-get은 아무것도 빌드하지 않습니다-바이너리를 본질적으로 다운로드합니까?
수학자

3
정확하게. 아키텍처 (amd64, i386, armel 등) 용 사전 빌드 바이너리를 다운로드 중입니다.
tgm4883

2

apt-get을 사용하여 패키지 소스를 설치할 수 있다고 생각합니다.

  1. 소스 코드 리포지토리를 활성화해야합니다

    /etc/apt/sources.list 파일을 열면 "source"가있는 주석 처리 된 행 (#으로 시작)이 표시됩니다.

    주석 해제

  2. 원하는 프로그램의 종속성을 설치하십시오.

    sudo apt-get build-dep "program"

  3. 프로그램을 다운로드하고 컴파일하십시오 :

    sudo apt-get -b source "program"

그 후에 홈 디렉토리에 .deb 패키지가 생깁니다.

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