Linux에서 패키지를 찾을 수 없습니다” 오류

리눅스에서 “패키지를 찾을 수 없습니다” 오류 해결하기

리눅스는 오류가 발생하기 전까지는 매우 안정적인 운영체제입니다. 하지만 리눅스 자체의 문제가 아니라 사용자가 리눅스를 다루는 방식에서 비롯되는 경우가 많으며, 따라서 꾸준한 학습과 문제 해결 능력이 필요합니다.

리눅스에는 다양한 패키지 관리 도구가 존재합니다. 대부분의 사용자는 가장 널리 사용되는 배포판 중 하나인 우분투를 선택하며, 자연스럽게 APT 패키지 관리자를 사용하게 됩니다.

APT를 사용하다 보면, 특히 우분투 환경에서 “패키지를 찾을 수 없음” 오류 메시지를 마주칠 수 있습니다.

이 가이드에서는 해당 오류를 해결하는 방법을 자세히 살펴볼 것입니다. 설명을 위해 우분투를 기준으로 설명하지만, APT 패키지 관리자를 사용하는 다른 리눅스 배포판에서도 동일한 방법으로 문제를 해결할 수 있습니다.

자, 시작해 봅시다.

“E: 패키지를 찾을 수 없습니다” 오류란?

이 오류는 비교적 명확하게 이해할 수 있습니다. 사용자가 패키지나 애플리케이션을 설치하려 할 때, 시스템에서 “E: package_name을 찾을 수 없습니다.”라는 메시지를 출력하는 경우입니다.

이 메시지는 리눅스 시스템이 설치하려는 특정 패키지를 찾을 수 없다는 것을 의미합니다.

이러한 오류는 우분투 또는 APT를 사용하는 사용자에게 흔히 발생한다는 점을 인지하고 있어야 합니다.

다행히 이러한 문제는 다양한 방법으로 해결할 수 있습니다. 리눅스 초보자든 숙련자든, 이 가이드에 따라 문제를 해결할 수 있을 것입니다.

참고: 리눅스 패키지 관리자 작동 방식: 전체 가이드

“E: 패키지를 찾을 수 없습니다” 오류 발생 원인

오류를 더 잘 이해하려면, 발생 원인에 대해서도 알아야 합니다.

우분투에서 패키지를 설치할 때 주로 APT 패키지 관리자를 사용합니다. `apt-get` 또는 `apt` 명령어를 통해 패키지를 설치할 수 있습니다. 명령 형식은 다음과 같습니다.

$ sudo apt-get install package-name

정상적으로 작동하는 경우, 오류 메시지 없이 패키지가 설치됩니다. 하지만 때로는 “E: package_name 패키지를 찾을 수 없습니다”와 같은 오류 메시지가 표시될 수 있습니다. 아래는 오류 메시지 예시입니다.

#output

Reading package lists... Done

Building dependency tree

Reading state information... Done

E: Unable to locate package package_name

오류가 발생했다는 것은 리눅스 시스템이 해당 패키지를 찾을 수 없다는 의미입니다. 따라서 사용자는 문제를 해결하고 동일한 문제가 다시 발생하지 않도록 해야 합니다.

문제 해결에 앞서, 오류의 원인을 파악해야 합니다. 몇 가지 가능한 원인은 다음과 같습니다.

  • 패키지 이름을 잘못 입력했을 경우 (가장 흔한 원인입니다).
  • 리소스 목록에 문제가 있는 경우.
  • 우분투 저장소 캐시가 최신 패키지를 지원하지 않는 경우.
  • 사용 중인 우분투 버전의 지원 기간이 만료된 경우.
  • 사용 중인 리눅스 버전에서 해당 패키지 버전을 사용할 수 없는 경우.
  • 메인 저장소에서 원하는 패키지를 설치할 수 없는 경우.

“패키지를 찾을 수 없습니다” 오류 해결 방법

이 섹션에서는 오류를 해결하기 위한 다양한 방법을 알아보겠습니다.

#1. 패키지 이름 확인: 올바르게 입력했나요?

리눅스 사용자가 흔히 저지르는 실수 중 하나는 패키지 이름을 정확하게 입력하지 않는 것입니다. 사소한 오타 하나만으로도 우분투에서 오류가 발생할 수 있습니다.

이미지 편집 프로그램인 GIMP를 설치하는 경우를 예시로 살펴보겠습니다. 만약 명령어에 오타를 내서 다음과 같이 입력하면 어떻게 될까요?

$ sudo apt-get install gump
#output

$ sudo apt-get install gump

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

E: Unable to locate package gump

예상대로 “E: 패키지 검프를 찾을 수 없습니다”라는 오류 메시지가 표시됩니다. 왜냐하면 “gump”라는 이름의 패키지는 존재하지 않기 때문입니다.

오타는 생각보다 자주 발생할 수 있습니다. 리눅스는 대소문자를 구분하기 때문에, 패키지 이름을 정확하게 입력했더라도 대문자로 인해 오류가 발생할 수 있습니다. 예를 들어, “Gimp”로 입력하여 “gimp”를 설치하려 하면 실패합니다.

$ sudo apt-get install Gimp
Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

E: Unable to locate package Gimp

따라서 GIMP를 설치하려면 패키지 이름을 정확하게 입력해야 합니다.

$ sudo apt-get install gimp

만약 패키지 이름을 정확하게 모른다면 어떻게 해야 할까요? 이 경우, `apt search` 명령어를 사용하여 찾아볼 수 있습니다. 예를 들어, 이름에 “monkey”가 포함된 패키지를 찾고 싶지만 정확한 이름을 모른다면, 다음 명령어를 실행하여 사용 가능한 패키지 이름을 확인할 수 있습니다.

$ apt search monkey

p   graphmonkey                     - a GTK#-based graphing calculator

p   libex-monkeypatched-perl       - experimental API for safe monkey-patching

p   libmonkey-patch-action-perl     - module to monkey-patching subs from other

p   libmonkey-patch-perl            - scoped monkey-patching Perl module

p   libtwelvemonkeys-java           - collection of plugins and extensions for J

p   libtwelvemonkeys-java-doc       - Documentation for libtwelvemonkeys-java

p   monkeysphere                    - leverage the OpenPGP web of trust for SSH

v   monkeysphere-validation-agent   -

v   node-fs-monkey                  -

p   searchmonkey                    - search files using regular expressions aim

#2. 패키지 목록/저장소 캐시 업데이트

우분투는 저장소와 직접 상호 작용하는 것이 아니라 로컬 캐시를 사용합니다. 로컬 캐시에는 사용 가능한 패키지 목록이 포함되어 있습니다.

`sudo apt update` 명령을 실행하면 우분투는 로컬 캐시를 최신 상태로 업데이트합니다.

$ sudo apt update

`apt-get install` 명령을 실행하면 APT 패키지 관리자는 캐시에서 패키지를 검색합니다. 인터넷을 통해 온라인 저장소에서 패키지를 다운로드하기 전에 버전과 같은 정보를 확인하는 것입니다.

따라서 패키지가 캐시에 목록에 없다면, 우분투는 오류를 발생시켜 사용자에게 이를 알립니다.

이러한 상황은 우분투 또는 데비안 기반 리눅스 배포판(예: 리눅스 민트)을 처음 설치할 때 발생할 수 있습니다. 최신 정보로 캐시가 구축되지 않았기 때문에 표준 패키지를 설치하려 해도 오류가 발생할 수 있습니다. 우분투를 새로 설치했다면, `sudo apt update` 명령을 한 번 이상 실행하여 로컬 캐시를 생성해야 합니다.

경우에 따라 캐시를 업데이트해야 할 수도 있습니다. 이 때는 `apt update` 명령을 사용해야 합니다.

또한, 업데이트하기 전에 캐시를 정리해야 할 수도 있습니다. 다음 명령어를 실행하면 됩니다.

$ sudo apt clean && sudo apt update

#3. 사용 가능한 패키지 확인

올바른 패키지 이름을 입력하고 저장소 캐시를 최신 상태로 유지했음에도 불구하고, 여전히 “패키지를 찾을 수 없습니다” 오류가 발생할 수 있습니다. 이는 해당 패키지가 실제로 사용할 수 없기 때문에 발생하며, 아무리 노력해도 설치할 수 없습니다.

그렇다면 어떻게 해야 할까요?

가능한 옵션을 이해하려면 유니버스 저장소에 대해 알아야 합니다. 일반적으로 리눅스 시스템에서는 기본적으로 이 저장소가 활성화되어 있지 않아 오류가 발생할 수 있습니다. 또는 사용 중인 우분투 버전이 다운로드 및 설치하려는 패키지에 접근 권한이 없을 수도 있습니다.

우분투가 최신 버전인지 확인하려면 먼저 해당 버전을 확인해야 합니다. 다음 명령어를 실행하면 확인할 수 있습니다.

nitt@logan99:~$ lsb_release -a
#output
No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 22.04.3 LTS

Release: 22.04

Codename: jammy

예시에서는 코드명이 Jammy인 안정적인 최신 22.04 LTS 버전을 사용하고 있습니다. 이제 우분투 패키지 웹사이트로 이동합니다.

해당 웹사이트에서 패키지를 직접 검색할 수 있습니다. 키워드를 입력하여 검색할 수 있는 검색 기능을 제공합니다. 키워드는 패키지 이름이거나, 패키지를 정확히 찾는데 도움이 될 수 있는 모든 것이 될 수 있습니다.

이제 패키지 이름을 입력하고 검색 버튼을 누르기만 하면 됩니다.

GIMP는 잘 알려진 패키지이므로, 정확한 검색 결과를 얻을 수 있습니다.

자세히 살펴보면 유니버스 저장소에서 사용할 수 있음을 알 수 있습니다. 패키지를 다운로드하고 설치하려면 Jammy 22.04 LTS 버전의 유니버스 저장소에 접근해야 합니다.

이제 우분투 버전에서 패키지를 사용할 수 있음을 확인했으므로, 다음으로 저장소를 활성화해야 합니다. 저장소를 활성화하려면 다음 명령어를 실행하십시오.

$ sudo apt-add-repository universe multiverse

위 명령어는 유니버스 및 멀티버스 저장소를 활성화합니다.

완료되면 캐시를 다시 빌드합니다.

$ sudo apt update

기본 저장소 및 제한된 저장소와 같은 다른 저장소를 설치할 수도 있습니다. 이렇게 하려면 다음 명령어를 실행하십시오.

$ sudo apt-get-repository main

$ sudo apt-get-repository restricted

만약 사용 중인 우분투 버전에서 패키지를 사용할 수 없다면 어떻게 해야 할까요? 이 경우, PPA와 같은 타사 저장소를 사용해야 할 수도 있습니다. 이에 대한 자세한 내용은 우분투 PPA란 무엇이며 설치 방법은 무엇입니까?에서 확인할 수 있습니다.

#4. 활성 우분투 릴리스 실행 확인

우분투는 3년 또는 5년 동안 장기 지원되는 LTS 버전을 제공합니다. 이로 인해 많은 사용자가 지원되는 버전으로 업데이트하지 않아 시스템이 새 업데이트를 받을 수 없게 되는 경우가 있습니다. 우분투 버전의 지원 기간이 종료되면, 새로운 패키지를 설치할 수 없게 되며, “패키지를 찾을 수 없습니다” 오류가 발생합니다.

우분투가 여전히 지원되는지 확인하려면 다음 명령어를 실행하십시오.

$ hwe-support-status --verbose 
#output

nitt@logan99:~$ hwe-support-status --verbose

You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2027.

nitt@logan99:~$

예시에서는 우분투 버전이 2027년 4월까지 지원됨을 확인할 수 있습니다. Hardware Enablement Stack은 이 문제와는 무관하므로 무시해도 됩니다.

만약 우분투 버전이 지원되지 않는다면 최신 LTS 버전으로 업그레이드해야 합니다.

#5. 저장소 수정

“패키지를 찾을 수 없습니다” 오류가 계속된다면, 우분투의 저장소 소스 목록 파일 (`sources.list`)을 확인해야 합니다.

해당 파일에는 모든 저장소 관련 데이터가 포함되어 있습니다. `/etc/apt/sources.list` 파일에 접근해야 합니다.

일반적으로 저장소 링크가 활성화되어 있고 공식 목록과 일치하는지 확인해야 합니다. 이를 확인하려면 공식 배포판 사이트를 방문하여 정보를 찾아보세요.

결론: 아무것도 작동하지 않는 경우

한 시간 동안 문제를 해결했음에도 불구하고 여전히 동일한 “E: 패키지를 찾을 수 없습니다” 오류가 발생하는 경우가 있습니다.

이런 경우, 실망하여 패키지 설치를 포기하고 다른 대안을 찾거나 우분투를 다시 설치하려는 마음이 들 수 있습니다.

하지만 그러기 전에 모든 가능성을 시도해보는 것이 좋습니다. 예를 들어, 우분투 버전에서 지원하는 이전 버전의 패키지를 찾아볼 수 있습니다. 타사 개인 저장소 (PPA)를 통해 찾을 수 있는 경우도 있습니다.

패키지를 포함하는 PPA를 찾을 수 없는 경우, 공식 웹사이트에서 원하는 소프트웨어를 확인해 보세요. 일반적으로 패키지 파일을 다운로드하는 방법을 제공하는 경우가 많습니다.

만약 이 모든 방법이 실패한다면, 다른 대체 앱을 찾는 것이 최선의 방법일 수 있습니다.

이로써 “패키지를 찾을 수 없습니다” 오류를 해결하는 다양한 방법을 알아본 가이드를 마무리합니다. 이제 우분투가 캐시를 통해 저장소와 상호 작용하여 패키지를 검색하고, 다운로드 및 설치하는 방식을 이해했기를 바랍니다.

다음으로는 리눅스에서 `find` 명령어의 유용한 예시들을 살펴보세요.