dpkg -i 또는 apt로 deb 파일을 설치하는 방법은 무엇입니까? apt로 설치해야 합니까? 소프트웨어 종속성

설치할 deb 패키지가 있습니다.

dpkg -i my.deb또는 apt로 설치해야 합니까?

소프트웨어 종속성 문제를 모두 잘 처리 할 수 ​​있습니까?

apt가 있다면 apt로 deb에서 어떻게 설치할 수 있습니까?



답변

apt패키지를 설치할 때 사용 하는 패키지 아래에서 dpkg. apt를 사용하여 패키지를 설치하면 먼저 모든 종속성 목록을 작성하고 저장소에서 패키지를 다운로드합니다.

다운로드가 완료되면 dpkg모든 종속성을 만족시키는 모든 파일을 설치 하도록 호출 합니다.

따라서 .deb파일 이 있다면 :

  • 다음을 사용하여 설치할 수 있습니다.

    sudo dpkg -i /path/to/deb/file
    sudo apt-get install -f
    
  • sudo apt install ./name.deb(또는 sudo apt install /path/to/package/name.deb)를 사용하여 설치할 수 있습니다 .

    이전 apt-get버전에서는 먼저 deb 파일을 /var/cache/apt/archives/디렉토리 로 이동해야합니다 . 두 가지 경우 모두이 명령을 실행 한 후 자동으로 해당 종속성을 다운로드합니다.

  • gdebi.deb 파일을 사용하여 설치 하고여십시오 ( 오른쪽 클릭 -> 연결 프로그램 ). 모든 의존성으로 .deb 패키지를 설치합니다.

    ( 참고 : APT는 /etc/apt/sources.list파일과 /etc/apt/sources.list.d디렉토리 에 정의 된 저장소에서 사용 가능한 패키지의 데이터베이스 인 패키지 인덱스를 유지 관리합니다 . deb에 필요한 종속성이 패키지 인덱스에 없으면 이러한 모든 방법이 소프트웨어 종속성을 충족시키지 못합니다. .)


sudo apt-get install -f이후에 사용sudo dpkg -i /path/to/deb/file 합니까 (첫 번째 방법에서 언급)?

보낸 사람 man apt-get:

 -f, --fix-broken
           Fix; attempt to correct a system with broken dependencies in place.

dpkg패키지를 설치하고 패키지 의존성을 만족하지, 그것은 “구성되지 않은”상태에 패키지를 떠나 그 패키지가 깨진 것으로 간주됩니다.

sudo apt-get install -f 명령은 누락 된 종속성을 설치하여이 손상된 패키지를 수정하려고합니다.


답변

foo.deb파일을 설치하십시오 dpkg -i foo.deb. 해결되지 않은 종속성에 오류가 있으면 apt-get install -f나중에 실행하십시오 .


답변

.deb커맨드 라인에서 Ubuntu에 파일 을 설치하는 가장 좋은 방법은 다음과 같습니다 .

sudo gdebi skype.deb

gdebi아직 설치 하지 않은 경우을 사용하여 설치하십시오 sudo apt install gdebi-core.

왜 그 데비?

gdebi.deb파일 의 모든 종속성을 찾아서 파일을 설치하기 전에 설치 .deb합니다. 나는 이것보다 훨씬 바람직하다 sudo dpkg -i skype.deb && sudo apt install -f. 후자는 특정 상황에서 종속성을 제거하기를 너무 열망합니다. 예를 들어, Skype를 설치하려고 할 때 compizand unity! gdebi훨씬 더 명확한 오류 메시지가 나타납니다.

 $ sudo gdebi skype.deb
 Cannot install 'libqtgui:i386'

(그런데 특정 문제에 대한 해결책 은 다음과 같습니다 .)


답변

다음과 같은 방법으로 로컬 .deb 패키지를 설치할 수 있습니다.

sudo apt install ./foo.deb

로컬 상대 또는 절대 경로를 지정해야합니다 ( ./현재 디렉토리에있는 경우). 그렇지 않으면 foo.deb원격 저장소에서 찾아 실패합니다.


답변

종속성 dpkg -I my.debapt-get install이전 종속성을 확인하십시오 dpkg -i my.deb.

할 수 있습니다 당신은 복사 할 수 my.deb있는을 /var/cache/apt/archives하고 직접 설치 apt-get하지만 시도하지 않았다.
작동하지 않습니다, apt-get그리고 dpkg아카이브에 나열된 패키지를 찾고 있습니다.


답변

가장 간단한 대답은을 실행하여 dpkg를 사용하는 것 dpkg -i packagename.deb입니다. 그런 다음를 실행하여 제거 할 수 dpkg -r packagename.deb있습니다.

apt-getdpkg를 기반으로하는 더 높은 수준의 설치 관리자 apt-get install packagename.deb입니다.

apt-get archives 디렉토리 ( /var/cache/apt/archives) 에 추가하면 독립형 .deb 아카이브가 아닌 종속성이있는 패키지로 참조 할 수 있습니다.

또한 apt-get archives 디렉토리에 추가하여을 사용하여 종속성을 사용할 수 있습니다 apt-get install packagename. 이를 통해 dpkg의 독립형 아카이브 기반 시스템 대신 수동으로 추가 된 종속성으로 설치할 수 있습니다.


답변

최신 apt-get을 사용하여 간단히 패키지를 설치할 수 있습니다 apt-get install /path/to/package/name.deb.

(최고의 답변으로 편집해야하지만 거부되었습니다-https://unix.stackexchange.com/posts/159114/edit 참조 )