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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

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

  • yum 명령어 | 사용법 | 옵션 | yum-utils | 패키지 관리와 저장소 관리🔝

    레드햇 계열의 리눅스 배포판에서 사용하는 YUM 명령어는 패키지 관리(설치, 업데이트, 제거)를 하는데 사용하는 명령어입니다. yum은 기존 패키지 시스템인 RPM의 의존성 문제를 해결하기 위해 제공되는 도구이며, RPM에서 수행할 수 있는 많은 작업을 수행할 수 있습니다. ✅ YUM 명령어 yum 명령어의 기본 사용 방법은 다음과 같습니다. ✅ YUM 명령어 옵션 ✅ YUM 패키지 관리: 확인 및…

  • 스왑 메모리(Swap Memory) 설정: 파티션&파일 2가지 방식 | swapon, mkswap 명령어

    리눅스 스왑 메모리(Swap Memory)는 실제 디스크 공간을 메모리처럼 사용하는 개념이기 때문에 물리 메모리인 RAM보다 처리 속도가 느리지만 물리 메모리가 가득 찬 경우를 대비해 디스크 공간에서 할당 된 스왑 메모리를 생성해서 관리할 수 있어 한정된 리소스를 효율적으로 사용할 수 있습니다. ✅ Swap 파일 시스템 Swap 파일 시스템은 리눅스의 가상 메모리를 사용하기 위한 파일 시스템이며,…

  • 로그 파일 삭제 쉘 스크립트 만들기(날짜 20xx, 용량)

    httpd.conf 파일에 access_log 및 error_log를 설정 했을 때 logrotate 설정이 아닌 경우 로그 파일 삭제 쉘 스크립트가 필요할 때가 있습니다. ✅ 로그 파일 삭제 쉘 스크립트 ✅ crontab 설정하기 크론탭 설정을 진행 해 줍니다. 리눅스 스크립트는 리눅스 운영 체제에서 해석하는 스크립트 언어로 작성된 명령 또는 명령 집합입니다. 리눅스 시스템에서 반복 작업을 자동화 할 때…

  • 리눅스 which whereis locate: 3가지 위치(경로) 확인 명령어

    리눅스 which와 whereis 명령어 명령어의 위치를 알 수 있는 명령어는 find 명령어를 이용해서 파일을 찾을 수 있지만 find 명령어는 시간이 소요되는 단점도 존재합니다. locate 명령어는 파일명을 빠르게 검색할 때 사용할 수 있습니다. 리눅스 기본 명령어 3가지에 대해 알아 보겠습니다. ✅ 리눅스 which 명령어 ‘어느’, ‘어떤’, ‘어느 쪽’의 영어 뜻을 가진 which 명령어는 명령어의…

  • 리눅스 tee 명령어

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

  • 록키 리눅스(Rocky Linux)

    록키 리눅스(Rocky Linux)는  레드햇 엔터프라이즈 리눅스(RHEL) 운영 체제 소스 코드를 사용한 리눅스로 RHEL과 100% 버그 간 호환이 가능하도록 설계 되었습니다. OS가 커뮤니티에서 집중적으로 개발 중이며, 정기적인 업데이트와 뛰어난 안정성으로 2023년 최신 버전은 9.0입니다. 릴리스의 수명 주기는 10년입니다. 록키 리눅스 시작과 배경 CentOS는 2000년대 초반에 안정적인 포인트 릴리스 시스템을 갖춘 RHEL과의 바이너리 호환성을 제공하며…

답글 남기기

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

Prove your humanity: 1   +   8   =