APT로 패키지를 설치하는 동안“패키지를 찾을 수 없습니다”


209

명령 행을 통해 패키지를 설치하려고하면 오류가 발생합니다.

$ sudo apt-get install <package>
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package <package>

아무도 나를 도울 수 있습니까?


5
18.04 서버에 기본적으로 유니버스, 멀티 버스 및 백 포트가 비활성화되어 있기 때문에 최근에 많이 나옵니다.
wjandrea

1
설치되지 않은 명령을 입력 할 때 제공되는 유용한 힌트를 개선하기위한 런치 패드 문제가 있습니까? (저장되지 않은 저장소에 있다는 것을 암시하는 것이 매우 도움이 될 것입니다)
Thorbjørn Ravn Andersen

이것은 일반적으로 Docker와 Singularity를 ​​모두 사용하여 컨테이너를 만들 때 많은 영향을 미칩니다. 특이점 컨테이너에서 당신은 그들이있는 사이에 다른 부트 스트랩 옵션이 debootstrapdocker. 어떤 이유로 debootstrap기본 우분투 이미지 (예 :)로 시작하면 xenial일부 패키지를 찾을 수없는이 오류가 발생 apt-get합니다. 해결책은 결국 dockerBootStrap 으로 전환 한 다음 다시 작동합니다.
user5359531

이것은 지난 며칠 동안 나의 진전을 멈추고 있으며 wjandrea이 제안한 것처럼 우주, 다중 우주 또는 백 포트가 비활성화 된 것이 아닙니다.
Jackalope

@Jackalope 그러면 패키지 이름이 잘못되었거나 실행해야합니다 sudo apt update. 사용 apt-cache search검색어 다음에 올바른 패키지 이름을 검색합니다.
mchid

답변:


155

먼저 패키지가 실제로 존재하는지 확인하십시오.

  1. 웹 브라우저 를 사용하여 packages.ubuntu.com 으로 이동 하십시오 .
  2. "패키지 디렉토리 검색"으로 스크롤하십시오.
  3. 설치하려는 패키지를 "키워드"필드에 입력하십시오.

    "정확한 일치 만 표시"를 활성화하십시오.

    사용중인 Ubuntu 버전으로 "배포"를 변경하십시오.

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

결과없으면 찾고있는 패키지가 존재하지 않으며 다음 단계가 작동하지 않습니다. 타사 PPA 또는 다른 설치 방법이 필요할 수 있습니다.

경우 결과가 발견 , 패키지가 존재하고 다음 단계를 계속 할 수 있습니다 :

  1. Dash에서 소프트웨어 소스 (또는 13.04+의 소프트웨어 및 업데이트 )를 검색하여 엽니 다 .
  2. "우분투 소프트웨어"탭을여십시오.
  3. 이 탭에서 처음 4 개의 확인란이 활성화되어 있는지 확인하십시오.

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

  4. 패키지 목록을 업데이트 한 후 다음 명령으로 테스트하십시오.

    sudo apt-get 업데이트
    sudo apt-get 설치 <TEST_PACKAGE>
    

44
나는 간단한 sudo apt-get update것이 나를 위해 그것을 고치기에 충분 하다는 것을 알았다 . 귀하의 마일리지가 다를 수 있습니다.
Edward Falk

1
sudo apt-get updateWindows 10의 Ubuntu에서도 저에게 도움이되었습니다 (이 답변의 후반부에 참조 된 UI가 해당 시스템에 없기 때문에 중요합니다).
제임스

1
소프트웨어와 업데이트 스크린 샷이 저를 구했습니다!
Kalpesh Soni

launchpad.net 도 검색하는 것을 잊지 마십시오 !
조나단

1
쉘에서 서버를 실행하고 있으며 GUI를 열 수 없습니다. 커맨드 라인으로 만 해결할 수 있습니까?
율리시스 알베스

81

이 주제에 대한 많은 질문 이 있습니다. 여기에 기본 / 일반 답변이 제공됩니다.

apt-get install패키지를 찾을 수 없습니다, 설치하려는 패키지는 당신이 (이들에 추가 한 저장소에서 찾을 수 없습니다 /etc/apt/sources.list이하 /etc/apt/sources.list.d/).

다음 (일반) 절차는이 문제를 해결하는 데 도움이됩니다.

  1. Ubuntu 리포지토리를 활성화했는지 확인하십시오.

    모든 저장소 (사용하려면 main, universe, restricted,을 multiverse), 다음 명령을 사용합니다 :

    sudo add-apt-repository main
    sudo add-apt-repository universe
    sudo add-apt-repository restricted
    sudo add-apt-repository multiverse
    

    방문 도움말 자세한 내용은.

  2. 더 많은 패키지에 대한 PPA를 찾으려면 다음을 수행하십시오.

  3. PPA 추가 (명령 줄) :

    이 명령을 사용하십시오 :

    sudo add-apt-repository ppa:<repository-name>
    

    자세한 내용 은 Ubuntu 커뮤니티 도움말 을 방문 하십시오.

  4. 업데이트하는 것을 잊지 마십시오 (변경 사항을 적절하게 인식) :

    리포지토리를 변경 한 후이 명령을 실행해야합니다.

    sudo apt-get update
    

    최상의 다운로드 서버를 선택하면 업데이트 속도가 향상 될 수 있습니다.

  5. 마지막으로 패키지를 설치하십시오 :

    sudo apt-get install <package>
    

    명령 행별 패키지 관리를 참조하십시오 .

    추가 / 팁 :을 사용하여 올바른 패키지 이름 (예 : 저장소의 이름)을 찾을 수 있습니다 apt-cache search <package-name>.



참고 : 패키지를 저장소에서 사용할 수없는 경우 패키지를 사용할 수있을 때까지 기다리거나 (새 버전 / 업데이트 된 버전의 경우) apt-get소스에서 컴파일, 실행 가능한 바이너리 다운로드 등과 같은 다른 설치 프로세스를 사용해야하는 것보다


3
또한 데비안 / 우분투에 libname있을 때 사용자가 검색하고있을 수도 있습니다 libname2.
saiarcot895 2016 년

3
첫째, 패키지에 따라 다르며 많은 가정을하고 있습니다. 먼저, saiarcot895가 지적한 것처럼 OP가 올바른 패키지 이름을 식별했다고 가정합니다. 둘째, 패키지를 사용할 수 있다고 가정합니다. 일반적으로 문제를 먼저 식별하는 것이 가장 좋습니다. 그런 다음 가능한 경우 리포지토리에서 설치하십시오. 특정한 요구가 없다면, ppa가 두 번째 선택입니다. 패키지가 저장소 또는 ppa에 없으면 소스에서 컴파일해야 할 수도 있습니다. 정보가 충분하지 않습니다.
Panther

@ saiarcot895 @ bodhi.zazen : apt-cache search리포지토리에서 올바른 패키지 이름을 찾도록 제공 하여 답변을 수정했습니다 .
Pandya

멋진 답변 남자, 당신이 승자가되어야 할 사람
sdream

9

xbmc 는 Ubuntu 12.04 (precise) 이후에만 유니버스 리포지토리 에서만 사용할 수 있습니다 . Ubuntu의 이전 릴리스가있는 경우 다른 위치에서 xbmc를 업그레이드하거나 구해야합니다.

Ubuntu 12.04 가있는 경우 유니버스 리포지토리를 설정했는지 확인하십시오 . 파일 /etc/apt/sources.list및 디렉토리의 파일에서 활성화 한 리포지토리를 확인할 수 있습니다 /etc/apt/sources.list.d. 이 파일에 다음과 같은 줄이 포함되어 있는지 확인하십시오

deb http://al.archive.ubuntu.com/ubuntu/ precise universe

또는

deb http://zw.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

같은 줄만 찾으면

deb http://mn.archive.ubuntu.com/ubuntu/ precise main restricted

그리고 아무런 라인 universe을 추가하지 universe그 선 또는 함께 한 줄의 끝에 precise universe상기 예시 한 바와 같은.

을 수정해야하는 경우 나중에 /etc/apt/sources.list실행 sudo apt-get update한 다음 다시 설치하십시오. 패키지를 여전히 찾을 수 없으면의 전체 내용 /etc/apt/sources.list과 출력을 게시하십시오 sudo apt-get update.


@ EliahKagan 나는 내 대답이 그렇게 해석 될 수 있다고 생각하지 않았으므로 명확하게하려고했습니다. 왜 alzw? (단서가 실마리를 줄 때 OP에 적합한 미러를 선택하려고하지만 여기서는 모릅니다.)
Gilles

5

우분투를 처음 접했지만이 "패키지를 찾을 수 없습니다"오류를 피하기위한 몇 가지 솔루션을 발견하면서이 글을 쓰고 있습니다. 충격이 발생할 수있는 세 가지 상황이 있습니다.

  1. Ubuntu를 설치 한 후 업그레이드하지 않은 경우 업그레이드 후이 문제가 발생할 수 있습니다.
  2. 앞으로 많은 소프트웨어 업데이트가 발생할 경우 + 를 누르면 " Update Manager "를 입력하여 모든 중요 보안 업데이트 / 권장 업데이트가 해제되어 있는지 확인하십시오 .AltF2
  3. 문제 1과 2는 모든 업데이트를 업데이트하거나 지운 후에도 발생할 수 있습니다. 그러나 영원한 해결책은 : 1 & 2 지점을 시도한 다음을 입력하십시오 . sudo apt-get killmanager문제가 없으면을 입력하고을 sudo apt-get update입력하십시오 sudo apt-get upgrade.

이제 터미널을 통해 모든 소프트웨어를 설치할 수 있습니다.


"sudo apt-get update"행에 여전히 오류가 발생하면 "sudo apt-get upgrade"을 사용해보십시오. 이 작동합니다. 얘들 아! Linux는 대소 문자를 구분하므로 "Sudo"대신 "sudo"와 같은 작은 문자로 모든 명령을 사용해야합니다.
Shaan Sundar

5

파일을 설치하려고 시도한 경우 :

sudo apt-get install libstdc++.so.6

패키지 대신. 오류 메시지가 나타납니다.

E: Unable to locate package libstdc++.so.6
E: Couldn't find any package by regex 'libstdc++.so.6'

libstdc++.so.6데비안 패키지에 있기 때문에 설치할 수없는 파일을 설치하려고 했기 때문입니다.

apt-file해당 파일이 포함 된 패키지를 검색 하는 데 사용할 수 있습니다 . 설치하려면 다음을 입력하십시오.

sudo apt-get install apt-file

그런 다음 색인을 업데이트해야합니다.

sudo apt-file update

그런 다음 파일이 포함 된 패키지를 검색 할 수 있습니다 libstdc++.so.6.

sudo apt-file find libstdc++.so.6

그런 다음 검색된 파일이 포함 된 많은 패키지를 찾습니다. 이 예에서는 검색 결과를 하나만 붙여 넣습니다.

libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

그런 다음 필요한 패키지를 설치할 수 있습니다 libstdc++6.

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