* 우분투 최신 패키지 정보는 어디에서 가져와서 업데이트 할까 ?
Ubuntu 배포판 소프트웨어 패키지 저장소 (Repository) 서버로 부터 최신 패키지 정보들을 업데이트 할 수 있습니다. 이때 해당 패키지 저장소 서버의 URL 주소는 /etc/apt/sources.list 파일에 적혀있고 해당 주소를 통해서 서버에 최신 패키지 정보를 받아오게됩니다.
아래와 같이 패키지 저장소 서버 URL 주소값이 적혀있는
/etc/apt/sources.list 파일을 확인한다면 다양한 서버 URL 들을 볼 수 있습니다.
공식 패키지 저장소 이외에 외부 패키지 저장소 URL은 /etc/apt/sources.list.d 폴더 내부에 개별 .list 파일로 저장되어 관리 될 수 있고 대표적으로 docker 패키지 저장소를 예로 들 수 있습니다.
# Ubuntu 배포판 소프트웨어 패키지 저장소 (Repository) URL 확인 $ cat /etc/apt/sources.list # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://archive.ubuntu.com/ubuntu/ jammy main restricted # deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted # deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted ...
특히 외부 패키지 저장소의 경우에는 동작에 문제없었던 서버 URL 주소가 만료되거나 수정이 되면서 동작이 안되는경우가 있을 수 있고 이는 apt update 명령어 도중에 오류로 발견될 수 있습니다.
이때는 /etc/apt/sources.list.d 폴더 내부에서 문제가 되는 .list 파일을 확인하고 해당 파일 내용을 수정하거나 파일을 삭제하여 apt update 명령어가 정상 수행되도록 할 수 있습니다.
* 우분투 배포판 소프트웨어 패키지 저장소 (Repository) 웹 페이지로 확인
우분투 소프트웨어 패키지 저장소 서버의 역할은 우분투 운영 체제 및 응용 프로그램의 소프트웨어 패키지를 호스팅하고 배포하는 것입니다. 이를 통해 사용자는 쉽게 소프트웨어를 설치하고 업데이트할 수 있습니다. 구체적으로, http://archive.ubuntu.com/ubuntu/는 다음과 같은 기능을 합니다.
(1) 소프트웨어 패키지 배포: 우분투 및 관련 소프트웨어의 최신 버전과 안정된 버전을 사용자에게 제공합니다.
(2) 패키지 업데이트: 사용자들이 최신 보안 업데이트 및 버그 수정 사항을 받을 수 있도록 최신 패키지 버전을 제공합니다.
(3) 다양한 버전 지원: 여러 우분투 버전에 대한 패키지를 유지하며, 특정 릴리스의 지원 종료 후에도 여전히 사용 가능하도록 합니다.
(4) 의존성 관리: 소프트웨어 패키지 간의 의존성을 관리하여 사용자들이 특정 소프트웨어를 설치할 때 필요한 모든 구성 요소가 자동으로 설치되도록 합니다.
* 우분투 패키지 정보가 저장되는 위치
우분투 배포판 소프트웨어 패키지 저장소 (Repository) 서버로 부터 가져온 최신 패키지 정보는 아래와 같이 /var/lib/apt/lists/ 폴더 안에 저장됩니다.
# Ubuntu 소프트웨어 패키지 저장소(Repository) 로 부터 최신 패키지 정보 업데이트 $ sudo apt update # Debian 계열 배포판 패키지 정보 저장 폴더 확인 $ ls /var/lib/apt/lists/ archive.ubuntu.com_ubuntu_dists_jammy-backports_InRelease archive.ubuntu.com_ubuntu_dists_jammy_multiverse_binary-amd64_Packages archive.ubuntu.com_ubuntu_dists_jammy-backports_main_binary-amd64_Packages archive.ubuntu.com_ubuntu_dists_jammy_multiverse_cnf_Commands-amd64 archive.ubuntu.com_ubuntu_dists_jammy-backports_main_cnf_Commands-ad64 archive.ubuntu.com_ubuntu_dists_jammy_multiverse_i18n_Translation-en ...
/var/lib/apt/lists/ 폴더 안에 있는 파일들은 결국 캐시(미리 읽어 놓은 데이터) 이기 때문에 삭제를 하더라도 다시 apt update 명령어를 통해서 채워넣을 수 있습니다.
경우에 따라서 패키지 정보가 손상이 되었거나 문제가 발생했을때 /var/lib/apt/lists/ 폴더 안에 있는 파일들을 삭제하고 apt update 명령어를 통해서 새롭게 최신 패키지 정보를 업데이트 할 수 있습니다.
이상 우분투에서 소프트웨어 패키지 정보를 업데이트 하는 과정을 알아봤고 해당 정보를 기반으로 패키지 파일을 다운받고 설치(install) 하는 과정은 다음 글에서 알아보겠습니다.
자세한 패키지 관련 명령어 실습과 다양한 리눅스 실무사례 패키지 문제해결 실습을 재연하고 해결해보고 싶다면 https://reallinux.co.kr/course/linux_zerobase
리얼리눅스 강의중 "리눅스 Zero 베이스 초보자 트러블 슈팅까지" 를 참고해주세요!