우분투 패키지는 어디에 설치되나요 ?
* 우분투 패키지 파일(.deb) 다운로드 과정
우분투 소프트웨어 패키지 저장소 서버로 부터 가져온 최신 패키지 정보들 /var/lib/apt/lists/ 기반으로 공식 패키지 저장소 또는 외부 패키지 저장소 서버에게
특정 패키지 파일 다운로드를 요청 할 수 있습니다.
예를 들어서 nginx 웹서버 패키지를 설치하기 위해서
$ sudo apt install -y nginx
위와 같은 명령어를 수행 했을때 /var/lib/apt/lists/ 폴더 안에
패키지 정보가 없다면 패키지 정보가 없어서 저장소 서버에 패키지 파일 다운로드 요청을 할 수 없습니다.
/var/lib/apt/lists/ 폴더안에 최신 패키지 정보를 준비해 두기위해서
apt update 명령어가 선행되어야하고 그 정보를 기반으로 nginx 패키지 파일 다운로드를 요청합니다.
* 우분투 패키지 파일(.deb) 임시 저장폴더와 설치(install)
우분투 소프트웨어 패키지 저장소 서버로 부터 패키지 파일(.deb)을 다운 받게 되면
아래와 같이 /var/cache/apt/archives/ 에 임시 저장되고 우분투 배포판이나 설정에 따라서
해당 패키지 파일(.deb)은 그대로 저장 되어있을 수 도 있고
dpkg 명령어를 통해서 설치(install)가 완료된 후에는 삭제가 될 수 도 있습니다.
만약 패키지 파일(.deb) 임시 저장폴더 비우려면 apt clean 명령어를 통해서 임시파일들을 삭제할 수 있습니다.
# 데비안 페키지 파일(.deb) 임시 저장폴더 확인 $ ls /var/cache/apt/archives/ binutils-common_2.38-4ubuntu2.4_amd64.deb locales_2.35-0ubuntu3.5_all.deb binutils-x86-64-linux-gnu_2.38-4ubuntu2.4_amd64.deb lock binutils_2.38-4ubuntu2.4_amd64.deb openssh-client_1%3a8.9p1-3ubuntu0.5_amd64.deb curl_7.81.0-1ubuntu1.15_amd64.deb partial libbinutils_2.38-4ubuntu2.4_amd64.deb perl-base_5.34.0-3ubuntu1.3_amd64.deb libc-bin_2.35-0ubuntu3.5_amd64.deb perl-modules-5.34_5.34.0-3ubuntu1.3_all.deb libc6_2.35-0ubuntu3.5_amd64.deb perl_5.34.0-3ubuntu1.3_amd64.deb # 데비안 패키지 파일(.deb) 임시 저장폴더 비우기 $ sudo apt-get clean
* 설치된 우분투 패키지 확인과 설치 위치
예를 들어서 apache2 라는 패키지를 apt install 명령어를 통해서 설치한다면 apache2 패키지 파일과 필요한 의존 패키지들을 함께 우분투 패키지 저장소 서버로 부터 내려받게 됩니다. 그리고 내려받은 패키지 파일(.deb) 을 Low-Level 패키지 관리자 도구인 dpkg 통해서 설치(install) 합니다.
# 설치된 패키지(예: apache2) 확인 $ dpkg -l apache2 Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-=================-============-================================= ii apache2 2.4.52-1ubuntu4.7 amd64 Apache HTTP Server # 패키지 (예: apache2) 설치된 파일 위치 확인 $ dpkg -L apache2 /. /etc /etc/apache2 /etc/apache2/apache2.conf /etc/apache2/conf-available /etc/apache2/conf-available/charset.conf ...
위와 같이 설치된 패키지 이름과 버전정보 등을 확인할 수 있고 패키지 파일이 설치되었을때 실제 어떤 경로에 어떤 파일들로 저장이 되어있는지를 dpkg -L 명령어 통해서 확인 할 수 있습니다.
지금까지 우분투 패키지 설치과정과 위치를 알아 봤고 레드햇 계열의 리눅스에서는 어떻게 관리가 되는지 다음글을 통해서 알아 보겠습니다.
자세한 패키지 관련 명령어 실습과 다양한 리눅스 실무사례 패키지 문제해결 실습을 재연하고 해결해보고 싶다면 https://reallinux.co.kr/course/linux_zerobase
리얼리눅스 강의중 "리눅스 Zero 베이스 초보자 트러블 슈팅까지" 를 참고해주세요!