APT(Advenced Package Tool)란 Debian 계열 Linux에서 사용하는 고급 패키지 도구이다.
이 도구를 이용하여 사용자는 Debian 계열 Linux에서 쉽게 소프트웨어 패키지를 관리할 수 있다.
Ubuntu나 Linux Mint와 같이 사용자에게 널리 사용되는 Linux 배포판의 상당수가 Debian을 기반으로 하므로, 당연히 이러한 배포판에서도 APT를 사용한다.
Debian 계열이 아닌 다른 배포판은 APT를 사용하지는 않지만, 역시 패키지 관리자를 이용한다. 예를 들어, Fedora 계열은 DNF를, Arch Linux 계열은 pacman을 이용한다.
APT와 같은 패키지 관리자가 중요한 이유는 상당수의 리눅스 소프트웨어가 이러한 패키지 관리자를 통해 소프트웨어를 배포하기 때문이다.
당장 대표적으로, 이전에 살펴본 Wine의 예가 있다.
이러한 소프트웨어들은 패키지 관리자나, 소스 코드 배포 외에는 설치 방법을 제공하지 않는 경우가 많으므로, 당연히 이와 같은 소프트웨어를 사용하기 위해서는 패키지 관리자에 대한 정보가 어느 정도 있어야 한다.
거기에 더해, 의존성 문제도 있다.
의존성 패키지(dependency package)라는 개념이란, 프로그램 구동에 요구되는 부가적인 소프트웨어나 라이브러리들을 말한다.
잘 이해가 되지 않는다면 파일 탐색기를 열어, "Program Files" 디렉터리 아래에 설치된 프로그램을 보면 된다.
위 이미지에서 볼 수 있듯이, VirtualBox라는 프로그램을 정상적으로 구동하기 위한 각종 응용 프로그램들과 라이브러리들이 포함되어 있는 것을 확인할 수 있다. 응용 프로그램이 구동하기 위해서는 이 파일들에 의존하기 때문에, 이들을 의존성 또는 의존성 패키지라 부른다.
이는 Linux에서도 마찬가지인데, 응용 프로그램 구동에는 부가 프로그램과 라이브러리들이 필요한 경우가 많다.
단, 차이점이 있는데, Windows의 경우, MSI 기술은 의존성 패키지 체계를 지원하지만, 수많은 설치 프로그램(주로 EXE 형식의 설치 파일)들은 이를 이용하지 않고, 자체적으로 프로그램 구동에 필요한 파일들을 한데 묶어 배치하여 각각의 프로그램들이 독립적으로 이 패키지 묶음을 사용하는 경우가 많지만, Linux의 경우 의존성 체계가 잘 구축되어 있어, 수많은 응용 프로그램들이 서로 의존성을 공유하는 경우가 많다.
이들도 일종의 프로그램 패키지이니만큼 당연히 업그레이드가 가능한데, 문제는 수많은 프로그램이 의존성 패키지에 엮여 있다는 것이다. 이 때문에 의존성 패키지 업데이트를 하거나, 사용하고자 하는 응용 프로그램이 요구하는 의존성 패키지의 버전을 맞춰주지 않으면 이전까지 잘 구동되던 프로그램이 구동되지 않는 현상이 발생할 수 있다.
현재 지원이 이루어지고 있는 대부분의 프로그램은 최신 버전의 의존성에 맞추어 업데이트하므로, 의존성 패키지를 꾸준히 업데이트하면 대부분의 경우 문제가 없다.
APT를 이용하다 보면 주기적으로 나오는 명령줄이 있는데, APT update와 APT upgrade가 바로 그것이다.
먼저 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 update와 apt upgrade가 아닌 apt-get update와 apt-get upgrade를 사용하는 경우가 많다.
이 때문에 둘 사이의 차이점에 대해 궁금해하는 경우가 많으며, 구글 검색을 해보면 이에 대해 설명해 놓은 글들이 많다.
간단히 설명하자면, apt는 apt-get를 대체하는 새로운 명령어이다.
또한 apt의 경우 apt-get보다 더 사용자 친화적인 출력 방식을 사용해 정보를 제공한다.
거기에 추가적으로, 최신 Debian 계열의 배포판에서는 apt-get보다 apt를 더 권장하니, 이에 맞추어 사용하는 것이 더 좋을 것이다.
참고 자료
'컴퓨터 > Linux' 카테고리의 다른 글
Linux Mint에서 스왑 파티션을 이용하여 디스크 스왑 사용하기 (1) | 2023.12.16 |
---|---|
Linux Mint 업데이트 오류 (0) | 2023.12.01 |
Linux Mint에서 스왑 파일을 이용하여 디스크 스왑 사용하기 (1) | 2023.11.30 |
GRUB 테마 수정 (0) | 2023.09.24 |
Linux Mint에서 Timeshift를 이용하여 디스크 백업 및 복사하는 방법 (0) | 2023.08.06 |
댓글