패키지 관리자

(패키지 매니저에서 넘어옴)

패키지 관리자리눅스 등의 운영체제에서 패키지를 설치, 삭제 등 관리하는 프로그램이다.

상세[편집 | 원본 편집]

리눅스에서는 윈도우와는 달리 프로그램을 각 회사 홈페이지에서 내려받아 설치하는 방식이 아니라, 패키지를 그 리눅스 배포판의 저장소에서 내려받아 프로그램을 설치하는 방법을 쓴다. 패키지를 사용하지 않는 경우, 개별 저장소에서 소스 파일을 내려받아 환경 변수를 직접 주고 컴파일, 설치하는 번거로운 과정을 거쳐야 하며, 외부 프로그램에 의존성[1]이 있는 경우 직접 찾아다 깔아줘야 한다.

그래서 요 패키지가 뭐냐 하면, 설치할 프로그램의 파일들, 설정 파일, 의존성이 있는 프로그램 패키지의 목록 등지의 것을 합쳐 하나의 파일로 만든 것이다.

목록 및 특징과 사용 방법[편집 | 원본 편집]

리눅스 계열[편집 | 원본 편집]

데비안/우분투 계열[편집 | 원본 편집]

dpkg[편집 | 원본 편집]

deb 형식의 패키지를 설치해 주는 가장 기본적인 패키지 관리자.

패키지 파일 설치

sudo dpkg -i (패키지 파일)
apt[편집 | 원본 편집]

Advanced Packaging Tool

데비안에서 패키지를 설치해주는 패키지 관리자.

프로그램 설치
sudo apt install (패키지 이름)
혹은
sudo apt-get install (패키지 이름)

프로그램 목록 업데이트
sudo apt update

프로그램 업그레이드
sudo apt upgrade

프로그램 삭제
sudo apt remove (패키지 이름)

프로그램 설정 파일까지 삭제
sudo apt purge (패키지 이름)

다른 패키지 의존성 때문에 설치되었지만 지금은 사용되지 않는 패키지 삭제.
이 명령까지 실행해야 삭제되는 몇몇 프로그램이 있다.
sudo apt autoremove

키워드로 관련 패키지 검색하기(관리자 권한은 필요하지 않다)
apt search (키워드)

저장소에 있는 모든 프로그램 목록 보여주기
apt list      모든 목록
apt list --installed     설치된 프로그램 목록
aptitude[편집 | 원본 편집]

apt에 TUI 기능을 추가하고 기능을 좀 더 보완하여 만든 패키지 관리자

스크린샷

RPM 계열[편집 | 원본 편집]

RPM[편집 | 원본 편집]

단순히 RPM 패키지를 관리하는 역할을 하며, 의존성 검사 등은 진행하지 않는다.

YUM[편집 | 원본 편집]

RPM계 2세대 패키지 관리자. apt과 비슷하게 인터넷에서 프레임을 내려받고 자동으로 설치해 준다.

프로그램 설치
yum install 패키지명
패키지 설치
yum localinstall 패키지파일.rpm
업데이트
yum update
패키지 삭제
yum remove 패키지명
DNF[편집 | 원본 편집]

페도라 같은 최신 RPM 계열 리눅스에서 기본으로 사용되는 패키지 매니저

ZYpp[편집 | 원본 편집]

오픈수세에서 사용되는 패키지 매니저.

아치리눅스 계열[편집 | 원본 편집]

pacman[편집 | 원본 편집]

apt와 비슷하게 인터넷에서 프로그램을 내려받아 설치하는 패키지 관리자. 다만 tar.zst 형식의 패키지를 설치해 주는 기능도 통합되어 있다.

패키지 목록 동기화 Sync yes
pacman -Sy

업데이트(동기화도 겸함)
pacman -Syu

패키지 설치 Sync
pacman -S (패키지)

패키지 문자열로 검색 Sync search
pacman -Ss (문자열)

패키지 설치
pacman -U (패키지)

패키지 삭제(의존성 패키지는 그대로 둠) Remove
pacman -R (패키지)

패키지 삭제(의존성까지 모두 삭제)
pacman -Rs (패키지)

패키지 조회 Query
pacman -Q

윈도우에서 GCC나 일부 리눅스 프로그램을 사용할 수 있게 해주는 MSYS2[2]도 pacman을 사용한다.

AUR 헬퍼[편집 | 원본 편집]

인터넷으로 직접 다운받아 설치해야 하는 AUR의 패키지를 pacman처럼 명령어만 입력해서 쉽게 설치할 수 있게 해주는 도우미.

배포판 통합[편집 | 원본 편집]

snap[편집 | 원본 편집]

2014년 4분기 캐노니컬사에서 개발한 패키지 관리 소프트웨어. 배포판 상관없이 쓸 수 있다는 특징을 가지고 있다.

프로그램 설치

sudo snap install (패키지 이름)
flatpak[편집 | 원본 편집]

snap처럼 배포판 상관없이 패키지를 설치할 수 있게 해준다. snap은 명령어로 프로그램 이름을 입력하면 실행할 수 있는데 flatpak은 복잡하다. 예를 들면 크로미엄을 실행할 때 snap에선 chromium을 입력하기만 하면 되지만 flatpak은 flatpak run org.chromium.Chromium처럼 입력하도록 되어있다. 다행히도 데스크톱 환경에서는 실행 아이콘이 나타나서 클릭으로 실행이 가능하다. 성능은 프로그램 별로 snap보다 좋을 수도 있고 나쁠 수도 있다.

가장 많이 사용되고 거의 표준인 리포지토리는 flathub이다.

여기서 배포판 별로 flatpak을 설치하는 법을 소개하고 있다.

우분투에서 크롬 설치하기 예시

sudo apt install flatpak # flatpak 설정

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo # flathub 리포지토리 추가

flatpak install flathub com.google.Chrome -y # 크롬 설치

flatpak run com.google.Chrome # 크롬 실행

flatpak uninstall com.google.Chrome # 크롬 삭제

소프트웨어 탐색기에서 뜨게 하기 위해선 플러그인을 설치하면 된다.

sudo apt install gnome-software-plugin-flatpak # gnome 환경
sudo apt install plasma-discover-backend-flatpak # kde 환경
Homebrew[편집 | 원본 편집]

#Homebrew_2 참고

기타[편집 | 원본 편집]

apk[편집 | 원본 편집]

apk-tools. 알파인 리눅스에서 사용되는 패키지 매니저.

macOS 계열[편집 | 원본 편집]

본디 클래식 계열의 운영 체제에는 별도의 패키지 관리자가 없었으나, BSD의 일종인 NeXTStep 기반으로 만들어진 Mac OS X부터는 BSD와 유사한 형태의 패키지 관리자를 사용할 수 있다. 지금도 매킨토시 executable은 스탠드얼론 패키지로 배포되거나, App Store를 통해서 관리된다.

Homebrew[편집 | 원본 편집]

홈브루(Homebrew)는 맥오에스(macOS)와 리눅스(Linux) 운영 체제를 위한 오픈 소스 소프트웨어 패키지 관리 시스템이다. 홈브루는 맥스 하월(Max Howell)에 의해 구축되었다.

홈브루의 설치 방법, 지원 패키지 목록, 설명 문서(documentation) 등은 홈브루 공식 홈페이지를 통해 확인할 수 있다.

홈브루의 기본 명령어는 패키지 설치를 위한 install 명령어, 패키지 삭제를 위한 unintall 명령어, 설치된 패키지 목록을 확인하기 위한 list, 홈브루가 지원하는 패키지를 검색하기 위한 search의 네 가지이다.

맥오에스에서 홈브루는 단말 에뮬레이터인 터미널(Terminal)에서 명령행 인터페이스를 통해 사용한다. 예를 들어, 홈브루의 install 명령어를 사용해 텍스트 편집기 vim을 설치하고자 하는 경우, 터미널에 아래와 같은 명령어를 입력한다.

brew install vim

홈브루의 패키지 정의 파일은 formula와 cask로 구분된다. 일반적으로 formula는 명령행 소프트웨어 패키지를 정의하며, cask는 GUI를 가진 애플리케이션 패키지를 정의한다. 패키지 정의 파일에 따라 패키지를 설치하기 위한 명령어도 달라진다. 예를 들어, 통계 분석을 위한 프로그래밍 언어인 R을 설치하는 홈브루 명령어와 GUI 애플리케이션이 제외된 R을 설치하는 홈브루 명령어는 아래와 같이 다르다.

brew install --cask r
brew install r

패키지 정의 파일에 따라 설치 명령어가 달라지기 때문에 프로그래밍에 친숙하지 않은 홈브루 사용자는 홈브루 공식 홈페이지에서 설치하고자 하는 패키지를 검색한 후, 해당 패키지 페이지에서 설치 명령어를 복사하고, 단말 에뮬레이터에 해당 패키지 설치 명령어를 붙여 넣는 식으로 홈브루는 사용하는 방법이 권장된다.

MacPorts[편집 | 원본 편집]

Fink[편집 | 원본 편집]

윈도우[편집 | 원본 편집]

윈도우는 원래 리눅스와 작동 방식이 동일한 패키지 관리자가 없는데 최근에 들어서야 나오기 시작했다.

winget[편집 | 원본 편집]

마이크로소프트가 2020년 5월 13일부터 배포를 시작한 윈도우용 패키지 관리자이다. 아래 Chocolatey에는 있는데 winget에는 없는 패키지도 있다.

# 패키지 설치
winget install (패키지)
# 패키지 검색
winget search (키워드)

wikipedia:Windows Package Manager

Chocolatey[편집 | 원본 편집]

Chocolatey라는 윈도우용 패키지 관리자는 NuGet을 기반으로 만들어졌고 리눅스 프로그램의 윈도우 포팅 버전, 윈도우 전용 프로그램까지 설치가 가능하다. 리눅스 프로그램 중에 자주 쓰이는 것들은 설치가 가능한데 불가능한 것도 많다.

Chocolatey 설치/사용법

업데이트
choco upgrade all
설치
choco install (패키지)

리눅스와는 다르게 패키지를 설치할 때 패키지 자체를 설치하거나 패키지 설치기(installer)를 따로 내려받아서 설치되는 경우도 있다. 예를 들어 유니티를 설치하면 유니티가 설치되는게 아니라 유니티 인스툴러가 설치되고 인스툴러가 실행된다.[3]

윈도우에 엣지나 스팀, vim을 명령어로 설치할 수 있다.

각주

  1. 그 프로그램을 실행하는 데 꼭 필요한 프로그램. 예를 들어 게임이라면 DirectX가 있을 것이다.
  2. Mingw64, Mingw32, Ucrt64
  3. 유니티가 설치기였나 기억이 안난다.