dpkg와 aptitude / apt-get의 차이점은 무엇입니까?


125

를 통해 소프트웨어를 설치할 때 dpkg -i packageA.deb필요한 종속성이 packageA자동으로 다운로드되어 설치됩니까? 어떻게 이런 일이 사용하는 것과 다릅니다 apt-getaptitude?


답변:


168

아니, dpkg단지 패키지 설치, 그렇게 dpkg -i packageName.deb만이 뎁 패키지를 설치하며, 설치해야하는 종속성을 통지 할 것입니다, 그러나 그것은 것입니다 하지 를 설치, 그것은 것입니다 하지 구성 packageName.deb음 ... 종속성이 있기 때문에 거기에 없습니다.

apt-getDebian 기반 Linux 배포판 에서 Deb 패키지 설치를 처리 하는 패키지 관리 시스템 입니다 . 패키지 관리 시스템은 패키지를 쉽게 설치, 제거 및 변경하는 데 도움이되는 도구 모음입니다. 그래서 영리한 같다 .apt-getdpkg

나는 타임 라인을 이런 식으로 생각하고 싶다.

  • 응용 프로그램의 파일을 "패키지"에 "저장"하여 쉽게 설치할 수있는 방법을 고안했습니다. 따라서 Deb 패키지 ( .deb확장 파일 )가 탄생했습니다.

    .deb파일은 실행하는 응용 프로그램에 필요한 파일뿐만 아니라 포함 (내가 전화를 좋아한다) 등의 종속 응용 프로그램 요구의 이름이 같은 다른 정보를 가지고 "메타 데이터". .deb파일 의 내용을 보려면 명령을 사용 dpkg -c packageName.deb하고이 "메타 데이터"정보를 보려면 명령을 사용하십시오 dpkg -I pacakgeName.deb(및 종속성 만 보려면 do dpkg -I packageName.deb | grep Depends).

  • 그들은이 .deb파일 들을 설치하는 도구가 필요했기 때문에 도구를 만들었습니다 dpkg. 그러나이 도구는 .deb파일 만 설치 하지만 해당 파일이없고 종속성을 가져 오기 위해 "저장소"에 액세스 할 수 없으므로 종속성을 설치하지 않습니다.

  • 그런 다음 apt-get이전 시점의 문제를 자동화하는 을 제안했습니다 . 후드 아래에는 apt-get기본적으로 dpkg(나는 그것을 apt-get프론트 엔드 라고 생각 dpkg하고 싶지만) 의존성을 찾고 설치하는 영리한 것입니다. 또한 현재 설치된 종속성을보고 다른 패키지에서 사용하지 않는 종속성을 판별하여 제거 할 수 있음을 알려줍니다.

aptitude그때 함께왔다. 그것은 사용하는 라이브러리의 apt-get사용을 실제로 대화 형 UI (사용자 인터페이스)가 있습니다. 이 UI를 보려면 aptitude터미널을 입력 하십시오. 그렇습니다 aptitude . 라이브러리를 활용하여보다 많은 옵션과 특권을 제공합니다 apt-get. 예를 들어, aptitude적합한 패키지를 자동으로 제거하지만 apt-get별도의 명령이 필요합니다. 그러나 결국, 작업 sudo aptitude install packageName.deb적어도 와 동일해야 sudo apt-get install packageName.deb합니다. 여기와 내가 모르는 미묘한 차이가있을 수 있지만, 그들은 의존성을 찾고 그 모든 것을 할 것입니다. 당신이 읽을 수 있습니다 여기에 대한 답을 사이의 차이점에 대한 자세한 내용 aptitudeapt-get.

또한 aptitudeSuper Cow Powers가 없습니다.

편집 : 분명히 그렇습니다. aptitude -v[v[v[v[v]]]] moo.

aptitude기본적으로 설치되지 않을 수 있습니다. 설치하려면 다음을 수행 sudo apt-get install aptitude하거나 클릭하십시오 : aptitude적성 설치 .


특별한

다음 정보는 실제로 " dpkg와 aptitude / apt-get의 차이점은 무엇입니까? "라고 직접 대답하지는 않지만 큰 그림에 기여합니다.


아래 에서 Carlos Campderrós의견 :

gdebiapt-get와 사이에 혼합 된 다른 도구입니다 aptitude. 이 .deb패키지 를 사용하여 패키지 ( gdebi packageName.deb) 를 설치 하면 누락 된 종속성을 식별하고을 사용하여 apt-get설치 한 다음을 사용하여 패키지를 설치 및 구성합니다 dpkg. 그것은 심지어이 당신에게 정보를 제공 간단하고 깔끔한 GUI [정보 .deb패키지를, 파일은 패키지에 포함, 어떤 종속성을 설치해야합니다. 이 GUI를 보려면을 수행하십시오 gdebi-gtk packageName.deb. gdebigdebi 와 함께 설치 sudo apt-get install gdebi하거나 클릭 하여 사용해 볼 수 있습니다 .gdebi 설치


나는 누군가를 혼동하고 싶지 않지만 그림의 또 다른 부분을 제공하기 위해 RPM이라는 또 다른 인기있는 Linux 패키지 형식이 있으며 파일의 .rpm확장자가 있습니다. 이 패키지 형식은 RPM 기반 Linux 배포판 (예 : Red Hat, CentOS 및 Fedora)에서 사용됩니다. 그들은 명령 rpm을 사용하여 패키지를 설치하고 패키지 yum의 프론트 엔드이며 영리한 패키지 입니다. 그들의 그래서 .rpm파일이 우리의있는 .deb파일을 자신의 rpm도구는 우리의 것입니다 dpkg도구, 그들의 yum우리입니다 apt-get.

에서 벼 랜도아래 코멘트 :

alien.rpm.deb패키지 간을 변환하는 도구입니다 . 따라서 .rpm패키지 가있는 상황에서 우분투 (또는 다른 데비안 기반 배포판)에 설치하려면 명령 alien rpm_packageName.rpm을 사용하여 패키지 를로 변환 .deb한 다음을 사용하여 설치할 수 dpkg있습니다. 을 사용하여 반전 (로 변환) .deb을 수행 할 수 있습니다 ..rpmalien -r packageName.deb


5
그것은 매우 유용하고 정확하게 내가 찾던 것입니다. Tx!
Aniket Thakur

4
또한 / 와 혼합 된 gdebi( apt-get install gdebi-core)를 사용할 수 있습니다 . 당신은 그것을 호출 하고 그것의 의존성을 분석하고 , 누락 된 것들을 설치하기 위해 호출 하고 , 모든 의존성이 충족되면 호출 하여 최종적으로 패키지를 설치합니다. apt-getaptitudedpkggdebi some_package.debapt-getdpkg
Carlos Campderrós 2016 년

2
@Alaa Extra 아래에서 와 alien사이에서 패키지 를 변환 한다고 언급 할 수도 있습니다 . 이것은 RPM에 사용 가능한 패키지에는 유용하지만 DEB (또는 그 반대)에는 유용하지 않습니다. 예를 들어, 우분투에서 사용할 수 있도록합니다. .rpm.debalien packagename.rpm
Paddy Landau

1
@AlaaAli aptitude는 님의 프론트 엔드가 아닙니다 apt-get. 두 프로그램 모두 libapt-pkg라이브러리의 프론트 엔드입니다 .
Eliah Kagan

1
@edwardtorvalds AskUbuntu는 질문 및 답변 사이트입니다. 수천 개의 오래된 질문에서 사이트에 대한 귀하의 답변을 검색하십시오. 찾지 못한 경우 자신의 질문을하십시오.
Alaa Ali

5

적절한

파일을 통한 apt-get실행을 통한 패키지 관리/etc/apt/sources.list

apt-get install <package_name> 컴퓨터에 새 패키지를 설치합니다.

apt-get build-dep <package_name> 이 명령은 리포지토리를 검색하고에 대한 빌드 종속성을 설치합니다. 패키지가 리포지토리에 없으면 오류가 반환됩니다.

apt-get install <package1_name> <package2_name> <package3_name> apt-get은 다중 패키지 설치를 허용합니다. 공백으로 패키지를 분리하십시오.

auto-apt run <command_string> auto-apt 명령이 호출되면 누락 된 파일 액세스시 패키지를 자동으로 설치합니다. 프로그램이 제거 된 패키지에 속하는 것으로 알려진 파일에 액세스하려고하면 auto-apt는을 사용하여 해당 패키지를 설치합니다 apt-get. 이 기능을 사용하려면 apt 및 sudo가 필요합니다.

apt-get 명령 페이지를 방문하십시오

적성

aptitude의 기능 제공 dselectapt-get뿐만 아니라 두 프로그램에서 찾을 수없는 많은 추가 기능을.

aptitude 키보드 또는 마우스로 활성화되고 터미널 창에서 실행되는 자체 쉘

aptitude build-dep <package> -패키지의 빌드 종속성을 설치합니다. 즉, 소스 패키지 를 컴파일 (또는 빌드 )하는 데 필요한 패키지를 의미합니다 . 예를 들어, 많은 패키지가 필요 debhelper하거나 autotools빌드되어야하지만 실행할 필요는 없습니다.

적성지도 페이지를 방문하십시오

dpkg

데비안 패키지를 설치, 빌드, 제거 및 관리하는 도구입니다. 링크

dpkg -i <package.deb>컴퓨터에 데비안 패키지를 설치합니다. 도움말 파일에서 찾을 수있는 한 종속성을 설치하지 않습니다.

자세한 내용 dpkg --help은 터미널 창에 입력하십시오 .

가이드

파일 관리 가이드는 여기 에서 찾을 수 있습니다


0

가장 중요한 점과 차이점은 apt-get패키지를 설치 하기 위해 도구를 사용해야한다는 것 입니다. ( apt또는 aptitude괜찮습니다).

dpkg종속 패키지를 설치하지 않고 패키지를 설치 하기 때문 입니다. 로 패키지를 설치하는 것만 dpkg으로도 종속성 해결으로 인해 시스템이 손상 될 수있는 나중에 문제가 발생할 수 있습니다.

패키지를 설치하려면 명령 행 apt-get또는 apt(14.04 이후) 도구를 사용해야 합니다. 이러한 도구는 사용자를 dpkg위해 사용 되며 동시에 종속성 해결 메커니즘이 있습니다.

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