Post

오토에버 클라우드 2기 15일차

오토에버 클라우드 2기 15일차

우분투 패키지

리눅스 우분투에서는 소프트웨어가 소스코드 형식 또는 바로 설치하여 사용할 수 있는 패키지 형태로 제공

소스코드로 배포할 때 는 대부분 하나의 아카이브 파일(압축 파일로 묶은 후 배포)

리눅스에서 사용하는 패키지는 주로 RPM과 deb(우분투는 deb, RPM은 레드헷 계열에서 사용)

우분투는 16버전 이후로 snap도입(deb기존 의존성 문제 해결)

 

특징

  • 바이너리 파일로 되어 있어서 컴파일 할 필요 없음
  • 패키지의 파일이 관련 디렉토리로 바로 설치
  • 패키지를 삭제할 때 관련 파일을 일괄적으로 삭제 할 수 있음
  • 기존에 설치한 패키지를 삭제하지 않고 바로 업그레이드 가능

 

우분투 패키지의 카테고리

  • main: 우분투에 의해 공식적으로 지원되며 자유롭게 배포 가능
  • restricted: 우분투에 의해 지원되나 완전한 자유 라이선스 sw는 아님
  • universe: 리눅스에서 사용할 수 있는 대부분의 소프트웨어로 자유 sw일 수도 있고 아닐 수도 있으며 기술적 지원을 보장하지 않음
  • multiverse: 자유 소프트웨어가 아닌 소프트웨어가 포함되어 있으며 개인이 직접 라이선스를 확인해야 함

 

우분투 패키지의 이름 구성

패키지명_버전_데비안리비전ubuntu리비전_아키텍쳐.deb

 

apt-get 명령어

명령어설명
sudo apt-get update패키지 목록 업데이트 (새로운 버전 확인용)
sudo apt-get upgrade설치된 패키지들을 최신 버전으로 업그레이드
sudo apt-get dist-upgrade업그레이드 + 의존성 변경도 함께 처리
sudo apt-get install [패키지명]패키지 설치
sudo apt-get remove [패키지명]패키지 제거 (설정 파일은 유지)
sudo apt-get purge [패키지명]패키지와 설정 파일까지 모두 제거
sudo apt-get autoremove더 이상 필요 없는 의존성 패키지 자동 제거
sudo apt-get autoclean다운로드된 오래된 패키지 파일 제거
sudo apt-get clean패키지 캐시 완전히 삭제

 

apt-cache 명령어

명령어설명
apt-cache search [키워드]키워드로 관련 패키지 검색
apt-cache show [패키지명]패키지의 상세 정보 출력
apt-cache showpkg [패키지명]패키지 정보 + 역의존성 정보 출력
apt-cache pkgnames사용 가능한 모든 패키지 이름 출력
apt-cache stats캐시 통계 정보 출력
apt-cache dump현재 설치된 패키지와 관련된 캐시 정보 덤프 출력
apt-cache -f search [키워드]전체 기록 포함하여 검색 결과 출력 (-f 옵션 사용 시)
apt-cache -h도움말 출력

 

dpkg

dpkg는 Debian 기반의 시스템에서 패키지를 관리하는 데 사용되는 명령어 dpkg [옵션] [패키지명]

옵션설명예시
-i, --install.deb 패키지를 설치dpkg -i package.deb
-r, --remove패키지를 제거하지만 설정 파일 유지dpkg -r package-name
-P, --purge패키지 및 설정 파일 완전 삭제dpkg -P package-name
-l, --list설치된 패키지 목록 조회dpkg -l
-s, --status특정 패키지의 상태 정보 확인dpkg -s package-name
-L, --listfiles특정 패키지가 설치한 파일 목록 조회dpkg -L package-name
-S, --search파일이 어떤 패키지에 속해 있는지 검색dpkg -S /path/to/file
--configure설정이 완료되지 않은 패키지 설정dpkg --configure package-name
-R, --recursive디렉토리 내 모든 .deb 패키지 설치dpkg -R /path/to/direct

 

Snap

snap은 Ubuntu 및 기타 일부 Linux 배포판에서 Snap 패키지를 설치, 관리하는 명령어 Snap은 독립적인 패키지 포맷으로, 라이브러리 의존성을 포함한 애플리케이션을 컨테이너 형태로 배포할 수 있어 설치가 간편하고 충돌이 적다

  • Snap은 Canonical(우분투 개발사)에서 개발한 범용 패키지 시스템

  • 각 패키지는 sandbox 안에서 동작하며, 다른 앱과 격리됨

  • APT(기존 우분투 패키지 매니저)와 달리 최신 버전을 제공하는 경우가 많음

snap <command> [options]

명령어설명
sudo snap install code --classicVSCode 설치 (classic 권한 필요)
snap list설치된 snap 패키지 목록
snap info postmanPostman 패키지 정보
sudo snap remove vlcVLC 제거
sudo snap refresh모든 snap 앱 최신 버전으로 갱신

 

아카이브

아카이브는 tar, zip 같은 압축 형식으로 묶여 있는 파일 집합을 의미

명령어설명
tar -cvf archive.tar folder/폴더를 .tar 아카이브로 묶기
tar -xvf archive.tar.tar 아카이브 풀기
tar -czvf archive.tar.gz folder/.tar.gz로 압축
unzip file.zip.zip 파일 압축 해제
zip -r archive.zip folder/폴더를 .zip으로 압축

 

This post is licensed under CC BY 4.0 by the author.