본문 바로가기
컴퓨터/Linux

Linux Mint에서 APT를 이용하여 패키지 업데이트하기

by Spring13 2024. 1. 1.

APT(Advenced Package Tool)란 Debian 계열 Linux에서 사용하는 고급 패키지 도구이다.

이 도구를 이용하여 사용자는 Debian 계열 Linux에서 쉽게 소프트웨어 패키지를 관리할 수 있다.

Ubuntu나 Linux Mint와 같이 사용자에게 널리 사용되는 Linux 배포판의 상당수가 Debian을 기반으로 하므로, 당연히 이러한 배포판에서도 APT를 사용한다.

Debian 계열이 아닌 다른 배포판은 APT를 사용하지는 않지만, 역시 패키지 관리자를 이용한다. 예를 들어, Fedora 계열은 DNF를, Arch Linux 계열은 pacman을 이용한다.


APT와 같은 패키지 관리자가 중요한 이유는 상당수의 리눅스 소프트웨어가 이러한 패키지 관리자를 통해 소프트웨어를 배포하기 때문이다.

당장 대표적으로, 이전에 살펴본 Wine의 예가 있다.

 

Wine을 이용하여 Linux에서 Windows 소프트웨어 실행

Linux란 컴퓨터 오픈소스 운영체제의 분류 중 하나로, 리누스 토르발스가 개발한 리눅스 커널에 그 기반을 두고 있다. 오픈 소스 운영체제이기 때문에 매우 다양한 배포판이 있어, 사용자의 취향

sprout13.tistory.com

공식 홈페이지에서의 안내. 이미지에서 볼 수 있듯이, APT와 DNF와 같은 패키지 관리자를 이용하여 설치를 하라고 안내하고 있다.

 

이러한 소프트웨어들은 패키지 관리자나, 소스 코드 배포 외에는 설치 방법을 제공하지 않는 경우가 많으므로, 당연히 이와 같은 소프트웨어를 사용하기 위해서는 패키지 관리자에 대한 정보가 어느 정도 있어야 한다.


거기에 더해, 의존성 문제도 있다.

의존성 패키지(dependency package)라는 개념이란, 프로그램 구동에 요구되는 부가적인 소프트웨어나 라이브러리들을 말한다.

잘 이해가 되지 않는다면 파일 탐색기를 열어, "Program Files" 디렉터리 아래에 설치된 프로그램을 보면 된다.

VirtualBox 설치 폴더 아래에 포함되어 있는 각종 파일들. 프로그램을 구동하기 위한 각종 프로그램과 라이브러리가 포함되어있다.

위 이미지에서 볼 수 있듯이, VirtualBox라는 프로그램을 정상적으로 구동하기 위한 각종 응용 프로그램들과 라이브러리들이 포함되어 있는 것을 확인할 수 있다. 응용 프로그램이 구동하기 위해서는 이 파일들에 의존하기 때문에, 이들을 의존성 또는 의존성 패키지라 부른다.

 

이는 Linux에서도 마찬가지인데, 응용 프로그램 구동에는 부가 프로그램과 라이브러리들이 필요한 경우가 많다.

 

단, 차이점이 있는데, Windows의 경우, MSI 기술은 의존성 패키지 체계를 지원하지만, 수많은 설치 프로그램(주로 EXE 형식의 설치 파일)들은 이를 이용하지 않고, 자체적으로 프로그램 구동에 필요한 파일들을 한데 묶어 배치하여 각각의 프로그램들이 독립적으로 이 패키지 묶음을 사용하는 경우가 많지만, Linux의 경우 의존성 체계가 잘 구축되어 있어, 수많은 응용 프로그램들이 서로 의존성을 공유하는 경우가 많다.

 

이들도 일종의 프로그램 패키지이니만큼 당연히 업그레이드가 가능한데, 문제는 수많은 프로그램이 의존성 패키지에 엮여 있다는 것이다. 이 때문에 의존성 패키지 업데이트를 하거나, 사용하고자 하는 응용 프로그램이 요구하는 의존성 패키지의 버전을 맞춰주지 않으면 이전까지 잘 구동되던 프로그램이 구동되지 않는 현상이 발생할 수 있다.

 

현재 지원이 이루어지고 있는 대부분의 프로그램은 최신 버전의 의존성에 맞추어 업데이트하므로, 의존성 패키지를 꾸준히 업데이트하면 대부분의 경우 문제가 없다.


APT를 이용하다 보면 주기적으로 나오는 명령줄이 있는데, APT updateAPT upgrade가 바로 그것이다.

Wine을 설치하는 방법을 안내하는 과정 중 하나.

 

먼저 apt update는 패키지 목록을 갱신하는 명령어이다.

이 명령은 시스템의 패키지 목록을 최신 정보로 업데이트하는데, 이를 통해 새로운 패키지를 설치학 전, 시스템이 사용 가능한 최신 소프트웨어 목록을 얻을 수 있다.

 

apt upgrade는 시스템 업그레이드 명령어로, 현재 컴퓨터에 설치된 모든 패키지를 최신 버전으로 업그레이드한다.

이 명령어를 실행함으로써, 설치된 패키지들을 최신 버전으로 유지할 수 있다.


sudo apt update && sudo apt upgrade


이들을 사용하는 법은 간단하다.

 

먼저, 패키지 리스트를 갱신하기 위해 sudo apt update를 입력한다.

sudo apt update

명령문을 실행하면 패키지 저장소에서 패키지 목록을 받아온다.

 

그다음으로 sudo apt upgrade를 입력한다.

sudo apt upgrade
sudo apt upgrade package_name

이 명령어를 단독으로 실행하면 설치된 패키지 모두를 업그레이드한다.

"sudo apt upgrade package_name"와 같이 뒤에 특정 패키지 이름을 입력하면 해당 패키지와 그에 종속된 의존성만 업그레이드한다.

업그레이드될 패키지의 목록이 뜨며, 이들을 업그레이드할 것이냐고 묻는다.

Y를 누르면 업그레이드가 진행된다.

 

업그레이드 완료

 

 


기타 유용한 명령어


sudo apt --upgradeable

업그레이드 가능한 패키지의 목록을 보여준다.


sudo apt autoremove

더 이상 사용하지 않는 패키지 및 의존성을 제거한다.


APT와 APT-GET


Linux 관련 기술 문서들을 보면 apt updateapt upgrade가 아닌 apt-get updateapt-get upgrade를 사용하는 경우가 많다.

이 때문에 둘 사이의 차이점에 대해 궁금해하는 경우가 많으며, 구글 검색을 해보면 이에 대해 설명해 놓은 글들이 많다.

간단히 설명하자면, aptapt-get를 대체하는 새로운 명령어이다.

또한 apt의 경우 apt-get보다 더 사용자 친화적인 출력 방식을 사용해 정보를 제공한다.

거기에 추가적으로, 최신 Debian 계열의 배포판에서는 apt-get보다 apt를 더 권장하니, 이에 맞추어 사용하는 것이 더 좋을 것이다.


참고 자료


더보기

https://help.ubuntu.com/kubuntu/desktopguide/ko/apt-get.html

 

APT

APT (Advanced Packaging Tool)은 프로그램 추가/제거와 Adept가 기반을 두고 있는 강력한 패키지 관리 시스템입니다. APT는 의존성을 자동으로 해결해주며 시스템 패키지를 조작하여 사용자가 원하는 패

help.ubuntu.com

 

https://ko.wikipedia.org/wiki/%EC%96%B4%EB%93%9C%EB%B0%B4%EC%8A%A4%ED%8A%B8_%ED%8C%A8%ED%82%A4%EC%A7%95_%ED%88%B4

 

어드밴스트 패키징 툴 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

 

apt와 apt-get 중 무엇을 사용해야 할까? | apt와 apt-get의 차이점 (tistory.com)

 

apt와 apt-get 중 무엇을 사용 해야 할까? | apt와 apt-get의 차이점

apt와 apt-get의 차이점 [ Linux ] ( Linux Command apt vs apt-get) apt 및 apt-get은 Ubuntu와 같은 Debian 기반 Linux 배포판에서 사용되는 패키지 관리 도구입니다. 소프트웨어 패키지를 설치, 제거, 업데이트 및 관

dragontory.tistory.com

 

https://ko.wikipedia.org/wiki/DNF_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)

 

DNF (소프트웨어) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. DNF(Dandified Yum)는 RPM 기반 리눅스 배포판을 위한 패키지 관리도구이다. 페도라 18에 처음 도입되었고,[4] 페도라 22와 레드햇 엔터프라이즈 리눅스 8부터 기존의 Yu

ko.wikipedia.org

https://wiki.archlinux.org/title/pacman

 

pacman - ArchWiki

The pacman package manager is one of the major distinguishing features of Arch Linux. It combines a simple binary package format with an easy-to-use build system. The goal of pacman is to make it possible to easily manage packages, whether they are from th

wiki.archlinux.org

 

https://namu.wiki/w/Linux#s-12.2

 

Linux - 나무위키

Linux의 GUI 환경을 구성하는 요소로 디스플레이 서버, 디스플레이 매니저, Windows 매니저, 데스크톱 환경 등이 있다. 커널: 하드웨어와의 통신을 담당한다.디스플레이 서버[20]: 클라이언트와의 입

namu.wiki

 

https://namu.wiki/w/APT#s-5

 

APT - 나무위키

  은(는) 여기로 연결됩니다. 특정 부류의 해킹 공격에 대한 내용은 APT(해킹) 문서 를 , 에 대한 내용은 문서 를 , 에 대한 내용은 문서 를 , 에 대한 내용은 문서 를 , 에 대한 내용은 문서 를 , 에

namu.wiki

 

728x90
반응형

댓글