1. apt가 하는 일
- 리눅스에서 소프트웨어를 설치할 때, 사용자가 일일이 소스 코드를 다운받아 컴파일하거나 컴퓨터 환경을 세팅하려면 매우 복잡하다. apt는 이 과정을 자동화하여 명령어 한 줄로 프로그램을 설치, 업데이트, 삭제할 수 있도록 도와준다.
- 특히 프로그램이 실행되는 데 필요한 다른 하위 프로그램들(이를 '의존성(Dependency)'이라고 합니다)까지 apt가 알아서 판단하고 함께 다운로드해줌.
💡 리눅스 구분 팁 (데비안 vs 레드햇)
리눅스는 커널(뿌리)은 같지만 소프트웨어를 설치하고 관리하는 방식에 따라 크게 두 개로 나뉜다. 따라서 명령어 창에 apt를 쓰고 있다면, 데비안/우분투 계열의 리눅스를 쓰고 있는 것
- 데비안 계열 (우분투 등): apt 프로그램과 .deb 파일 형식을 사용.
- 레드햇 계열 (CentOS, RHEL 등): yum 또는 dnf 프로그램과 .rpm 파일 형식을 사용.
2. apt 관련 주요 명령어의 작동 원리
1) sudo apt update (소프트웨어 목록 최신화)
- 오해하기 쉬운 점: 프로그램을 최신 버전으로 업데이트하는 명령어가 아니다.
- 실제 원리: 리눅스 패키지 정보가 저장된 외부 서버(카이스트, Daum 등의 미러 서버)에 접속하여 현재 다운로드 가능한 최신 프로그램들의 이름과 버전 목록만 내 컴퓨터로 다운로드하여 동기화하는 작업임. (플레이스토어를 켜서 업데이트 가능한 앱 목록을 새로고침하는 것과 같다)
2) sudo apt install <프로그램명> (프로그램 설치)
- 예시: sudo apt install net-tools 또는 sudo apt install -y docker.io
- 원리: 앞서 update로 동기화한 최신 목록을 바탕으로, 해당 프로그램의 설치 파일(.deb)을 원격 서버에서 안전하게 다운로드하여 시스템에 자동으로 압축을 풀고 설치를 완료한다.
3. 문법으로 보는 apt 구조 정리
sudo apt install net-tools를 리눅스 문법 관점에서 뜯어보면 다음과 같다.
- sudo: 일반 사용자(ubuntu) 권한으로는 시스템 영역에 프로그램을 깔 수 없기 때문에, 최고 관리자(root)의 권한을 일회성으로 빌려오는 명령어.
- apt: 패키지 관리 프로그램 자체를 호출한다.
- install: apt 프로그램에게 전달하는 구체적인 명령(수행할 작업). (삭제할 때는 remove를 씀.)
- net-tools: 실제로 설치하고자 하는 소프트웨어 패키지의 이름.
'Tech Stack > Cloud & DevOps' 카테고리의 다른 글
| 💻EC2 인스턴스 생성부터 보안 그룹 설정, Spring Boot S3 연동 실습 (0) | 2026.07.15 |
|---|---|
| 🌐클라우드 개념과 핵심 서비스(EC2/S3/VPC) 요약 (0) | 2026.07.15 |