apt-get을 사용하여 로컬 .deb 패키지를 설치하는 방법


144

apt-get과 같이 HD에 패키지 저장소를 설치하는 방법이 apt-get install ./package.deb있습니까?

그렇지 않은 경우 종속성을 매우 쉽게 처리하는 방법은 무엇입니까?


이것은 지금 작동합니다. 여전히 수퍼 유저를 사용하는 경우 허용 된 답변을 업데이트 할 수 있습니까? 아래를 참조하십시오.
mikemaccana

답변:


121

일반적으로 나는 dpkg -i <deb file>의존성을 필요로한다고 말하지 않을 것입니다. 그 후에는 apt-get update"종속성을 설치할 준비가되었습니다"와 같은 말을 할 것 apt-get install -f입니다.

완료되면 dpkg -i다시 사용 합니다.

지난 몇 년 동안 나를 위해 잘 작동했습니다.

편집 : 조금 더 살펴보면 분명히 도구라고 gdebi할 수 있습니다 gdebi [deb file].


1
감사합니다. "오류"dpkg로 동일한 작업을 수행 한 다음 apt-get install -f를 수행하면 효과가 있습니다.
Louis

2
gdebi나를 위해 일했으며 지금까지 본 것 중 가장 간단합니다.
ctrl-alt-delor

55

사이 렉스는 다소 정확하지만 그의 대답은 명확하지 않다. 방금 이것을 해결 했으므로 여기에 내가 한 일이 있습니다.

sudo dpkg -i /path/to/filename.deb

설치되지 않은 것에 따라 패키지에 대한 메시지와 함께 이것이 실패하면 실행하면 수정 할 수 있습니다.

sudo apt-get -f install

이것은 의존성을 설치합니다 (시스템이 알고있는 repos에서 사용 가능하다고 가정). 그리고 원래 설치를 요청했던 패키지 ( 'f'는 'fix'옵션이고 'y'는 '예'라고 가정합니다 ') 또는 '괜찮 으면 묻지 말고 이미 설치하십시오'옵션 (스크립트 자동 설치에 매우 유용). 내가 켜져있는 시스템에서 dpkg를 다시 실행할 필요가 없었습니다 (Ubuntu lucid 10.04).

내가 실행할 때 -f를 떠나면 sudo apt-get install해결되지 않은 종속성으로 인해 패키지가 구성되지 않은 것으로 표시되고 도움이 된다는 것이 흥미로 웠습니다 .Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

편집하다:

모든 질문에 'y'로 답하지 않고 설치하려면 y원래 포함 된대로 수정자를 추가 할 수 있습니다 sudo apt-get -fy install. 그러나 어떤 제안자는 apt가 때로는 전체 데스크탑 환경을 제거하도록 제안한다고 지적했습니다. 나는 VM 에서이 작업을 수행하고 있었지만 그 우려는 없었지만이 게시물은 조금 더 조심스럽게 반영되도록 업데이트되었습니다.


디렉토리에 이미 모든 패키지 파일이 있다면 이것이 새로운 저장소임을 apt에게 알려주는 방법이 있습니까? 따라서 종속성없이 아무것도 설치하지 않아도됩니다.
Berry Tsakala

2
죄송하지만 모르겠습니다. 다른 최상위 질문으로 제안하는 것이 좋습니다.
Akrikos

이것이 필요하다는 것이 이상합니다. raspian의 경우 sudo (dpkg 및 apt-get 모두) : sudo dpkg -i mypackages.deb등 이 필요합니다 .
Brent Faust

@Rubistro 루트 액세스는 모든 시스템에 필요합니다. 대답은 명령이 루트에 의해 실행되는 것으로 가정합니다 (예 : 대화 형 루트 쉘 또는 루트로 실행되는 스크립트).
Amos Shapira

2
자신의 이익을 위해 옵션을 추가 하지 마십시오-y . 예를 들어, 잘못된 패키지 (적어도 데비안에서는)에서 잘못된 패키지로이 작업을 시도하면 전체 데스크탑 환경을 제거하는 것이 좋습니다.
oseiskar

45

gdebi를 사용하여 .deb 파일을 설치할 수도 있습니다. 아래 명령을 실행하여 gdebi를 설치하십시오.

sudo apt-get install gdebi-core

gdebi와 함께 .deb 패키지 설치

sudo gdebi /path/to/filename.deb

또한 종속성을 수정합니다.


4
gdebi는 단일 인수 만 취하고 나머지는 자동으로 바닥에 떨어 뜨립니다. 이것은 여러 개의 deb를 동시에 설치하는 경우 (아마도 서로 의존하기 때문에) gdebi설치할 수있는 명령 을 신중하게 작성해야한다는 것을 의미합니다. imo이 절반이 gdebi의 목적을 무너 뜨 렸지만 여전히 단일 파일에 유용 할 수 있습니다.
Anthony Sottile

@Anthony 그때find -name *.deb -exec gdebi {} \;
jjmontes

3
@jjmontes는 상호 의존성이 알파벳 순서로되어있는 경우에만 작동합니다. 베팅이 매우 드문 경우
Anthony Sottile

나는이 freesoftwaremagazine.com/articles/… (버그는 로컬 저장소가 / var / www / html / debs에 있어야 함)를 따랐고 시냅틱은 인터넷없이 원격에서 다운로드하려고 시도했기 때문에 gdebi는 로컬 저장소와 훌륭하게 작동했습니다. ! 또한 .deb 파일은 다음과 같아야합니다.chmod +r *.deb
Aquarius Power

34

예, 제안한 명령이 맞습니다.

sudo apt-get install ./package.deb

또는

sudo apt install ./package.deb

APT 이외의 다른 소스에서 가져온 패키지를 설치하고 동시에 APT 기능을 사용하여 종속성을 자동으로 해결합니다. 불행히도이 apt-get기능은 매뉴얼 페이지에 설명되어 있지 않습니다 .

자세한 내용은 https://askubuntu.com/a/769542/250300https://askubuntu.com/a/795048/250300 을 참조하십시오.


8
이것은 받아 들여진 대답이어야합니다.
Peter

어떤 버전의 apt-get이이 기능을 추가 했습니까?
커트 피츠너

@KurtFitzner 출시 발표 당 APT 1.1에 추가되었습니다 ( askubuntu.com/a/795048/250300 통해 확인 ).
Melebius
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.