[Ubuntu] apt 명령어 | apt-get 명령어 사용법과 차이점

공정위 광고 문구 Ver 3.0

Red Hat 계열 리눅스에서는 패키지 관리를 위해 dnf 명령어를 사용하며, Debian 계열에서는 apt 명령어를 사용합니다.

Ubuntu와 같은 Debian 기반 배포판에서는 두 명령어가 모두 사용 가능하지만, 목적과 사용 방식에 따라 약간의 차이가 있습니다.

이 글에서는 apt와 apt-get의 차이를 간단히 비교하고, apt 명령어에서 자주 사용하는 명령어 예제를 함께 정리해보겠습니다.

✅ apt & apt-get 명령어 차이점

apt-get은 “Advanced Package Tool – get”의 줄임말입니다. Debian과 그 파생 배포판에서 패키지를 설치, 업데이트, 삭제하는 명령어로 1998년부터 사용되어 왔습니다.

apt와 apt-get는 사용하는 명령어 옵션도 동일하고 기존 사용하는 방식도 비슷하지만, apt가 좀 더 사용자 친화적으로 개선된 인터페이스를 제공합니다.

Ubuntu 14.04~16.04 시기, apt-get과 apt-cache 같은 명령어가 분리되어 있어 초보자에게 혼란이 있었습니다. 따라서, 개발자들은 사용자 편의성을 높이고, 자주 쓰이는 명령어들을 통합하여 더 간단하고 깔끔한 명령어 인터페이스를 만들고자 했습니다.

그래서 2014년 경부터 apt 명령어가 개발되어 Ubuntu 16.04부터 공식적으로 도입되었습니다.

항목

apt

apt-get

도입 시기

Ubuntu 16.04부터 도입(2016년 4월)

1998년부터 사용

사용자 대상

일반 사용자 중심

고급 사용자 및 스크립트용

기능

apt-get과 apt-cache 기능 통합

명령어별 분리 (apt-get, apt-cache)

출력 형식

깔끔하고 직관적

단순하고 상세

일반 사용자용으로 apt 명령어만으로 충분하지만 apt-get을 사용하는 이유는 고급 사용자가 최소 패키지를 설치해야 한다거나 더 많은 디버깅 정보가 필요할 경우와 셸 스크립트를 써야 하는 등의 이유가 있습니다.

✅ apt 명령어

🔲 패키지 설치

apt install <패키지>
  • apache 설치
apt 명령어_apache2 설치

🔲 패키지 인덱스 업데이트

apt update

APT는 패키지를 설치하거나 업그레이드할 때, 리포지토리(저장소)에 있는 최신 패키지 정보를 참고합니다. 이 정보를 담고 있는 것이 패키지 인덱스입니다. apt update 명령은 이 패키지 인덱스를 갱신합니다.

실제 패키지의 설치 및 업그레이드는 이루어지지 않습니다.

🔲 패키지 업그레이드

apt upgrade

미 설치된 패키지를 최신 상태로 업데이트하지만, 새로운 패키지 설치나 제거는 진행되지 않습니다. 운영 중인 서버에서 실행 시 의존 패키지가 자동으로 실행되어 기존 설치된 패키지의 호환성 문제로 충돌이 발생할 수 있습니다.

apache, nginx, php, mysql 등의 기존 운영 중인 패키지가 재시작 되면서 예상치 못한 문제가 발생할 수 있습니다. 예를 들어 apache의 .conf 파일(apache2.conf, 000-default.conf)이 강제로 덮어쓰기가 되어 apache 실행 오류가 발생할 수 있습니다.

upgrade 명령은 특정 패키지의 업그레이드가 꼭 필요할 때 신중하게 실행해야 합니다.

🔲 update 및 upgrade 비교

구분

apt update

apt upgrade

목적

패키지 인덱스(저장소의 최신 패키지 정보) 갱신

이미 설치된 패키지 최신 버전으로 업그레이드

실제 패키지 변경

없음 (목록만 갱신)

있음 (설치된 패키지 버전 업그레이드)

새로운 패키지 설치

없음

없음 (새 패키지 설치 및 제거는 하지 않음)

의존성 처리

없음

의존성 패키지도 함께 업그레이드되며, 충돌 가능성 있음

운영 중 서버 영향

없음 (안전하게 실행 가능)

서비스(예: apache, nginx, php, mysql) 재시작 가능

위험 요소

없음

설정 파일 덮어쓰기, 호환성 문제, 서비스 오류 가능

설정 파일 영향

없음

패키지 업데이트 시 apache 설정 파일 등이 덮어써질 수 있음

권장 실행 시점

수시, 운영 중에도 안전

유지보수 시간 또는 백업 후 실행 권장

🔲 패키지 삭제

apt remove <패키지>

레드헷 계열에서 dnf remove를 사용하면 의존성 패키지가 함께 삭제됩니다. apt remove 명령어는 기본적으로 지정한 패키지만 삭제하고, 그 패키지에 의존하는 다른 패키지는 삭제하지 않습니다.

예를 들어 apache2를 의존성 패키지를 함께 삭제할 경우

apt remove apache2 
apt autoremove

apt autoremove 명령어를 함께 사용함으로써 남아 있는 폴더 및 .conf 파일 등의 설정과 사용하지 않는 고아 패키지를 삭제 해 줍니다.

서버 환경을 고려 해 어떠 패키지를 삭제할 지 미리 테스트를 해 볼 수 있습니다.

 Ubuntu ~]# apt autoremove --dry-run
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 Ubuntu ~]#

to remove 항목에서 미리 확인 후 작업을 진행할 수 있습니다.(테스트 서버에서 apache2 삭제 후 apt autoremove –dry-run 진행하였으나 제거해야 할 대상은 0으로 나와 실제 작업 시 apt autoremove로 완전 삭제를 진행함)

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

Similar Posts

  • [Linux] lsof 명령어: 실행 중 파일 정보 출력

    lsof 명령어는 lisf open files의 약자로 리눅스 시스템에서 열려 있는 파일의 정보를 출력해 주는 명령어입니다. lsof 명령어는 파일을 포함하여 디렉터리, 네트워크 소켓, 파이프 등 프로세스가 사용 중인 다양한 리소스도 조회할 수 있습니다. ✅ lsof 명령어 기본 구문 명령어만 입력 했을 때는 현재 시스템에서 열린 모든 파일과 관련된 프로세스 정보를 출력합니다. ✅ lsof 명령어…

  • SSH 명령어: 옵션 및 사용 방법

    리눅스에서 SSH(Secure Shell)는 네트워크를 통해 다른 시스템에 안전하게 접속할 수 있도록 해주는 프로토콜입니다. SSH는 원격 서버와 클라이언트 간의 통신을 암호화하여 보안성을 높이며, 주로 원격 접속, 파일 전송, 그리고 터널링 기능을 제공합니다. SSH 명령어를 사용하여 사용자는 원격 서버에 안전하게 접속한 뒤 다양한 작업을 수행할 수 있습니다. 터널링 기능: 한 네트워크에서 다른 네트워크로 데이터를 안전하게…

  • Apache 시작, 중지, 재시작 명령어 | 서비스 상태 확인

    리눅스에서 Apache를 설치하고 레드헷 계열과 우분투에서의 시작, 중지, 재시작 명령어를 자주 사용하게 됩니다. Apache 시작, 중지, 재시작 등의 명령어는 다음과 같습니다. ✅ Apache 시작 및 중지, 재시작: Red Hat 계열 ✅ Apache 시작 및 중지, 재시작: Debian 계열 (Ubuntu, Debian 등) 우분투 시작, 재시작 등의 기본 명령어입니다. ✅ restart 및 graceful 차이 Apache…

  • 리눅스 blkid 명령어 | UUID와 GUID 차이

    리눅스 blkid 명령어는 블록 디바이스의 파일 시스템 유형 or 속성을 출력하는 명령어입니다. 주 목적은 리눅스 서버를 다시 시작하는 경우 /etc/fstab 파일에 자동 마운트 정보를 설정할 때 UUID를 확인하기 위해 사용되는 명령어입니다. ✅ blkid 명령어 사용 예시 명령어만 입력했을 경우 전체 파티션의 UUID를 확인할 수 있습니다. ✅ UUID와 GUID 차이 리눅스에서 파티션 작업에 대해…

  • 리눅스 tee 명령어

    리눅스 tee 명령어는 배관시설에 비유해서 이름이 붙여진 명령어입니다. 파이프 모양과 똑같은 “T”에서 본따 tee 명령어이며 표준 출력으로 하나 이상의 다른 파일을 동시에 출력합니다. tee 명령어의 목적은 작업 진행 중 파이프라인(I)의 중간 내용을 알고 싶을 때 유용하게 사용할 수 있습니다. ✅ 리눅스 tee 명령어 사용법 ✅ tee 명령어 옵션 옵션 long 설명 -a -append…

  • 리눅스 YUM 개념과 기본 명령어

    YUM(Yellow dog Updater, Modified)은 레드햇(RPM) 계열 리눅스 배포판에서 사용되는 패키지 설치 및 관리 도구입니다. 기존의 RPM 방식은 패키지 설치 시 의존성 문제로 사용자가 필요한 도구를 일일이 설치해야 하는 번거로움이 있었습니다. YUM은 이러한 의존성 문제를 자동으로 해결해 주며, 필요한 패키지와 관련된 의존 패키지를 함께 설치하여 오류를 최소화합니다. 의존성이 존재할 때 관련된 다른 패키지들을 자동으로…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 7   +   5   =