우분투 · 리눅스 입문 — 11편

우분투 apt 사용법 — 프로그램 설치·삭제·업데이트

3편에서 sudo apt update 두 줄을 외웠죠. 이제 그 apt를 제대로 — 윈도우엔 없던 "앱스토어 + 의존성 자동" 도구의 진짜 쓰임.

2026년 5월 12일 · 약 8분 · 26편 입문 시리즈 11편

터미널에 apt install·update 명령이 보이는 화면 — 우분투 apt 패키지 관리를 상징하는 일러스트

3편에서 우분투를 처음 켰을 때 sudo apt update && sudo apt upgrade 두 줄을 쳐봤고, 그 뒤로도 한글 입력기(apt install ibus-hangul), nano(8편) 등을 깔 때마다 apt를 무심코 썼습니다. 이번엔 그 apt가 정확히 뭐고, 무엇까지 해주는지를 한 번에 정리합니다.

핵심부터 — apt는 우분투의 "앱스토어 + 자동 설치 도우미"입니다. 윈도우에서 프로그램 깔 때처럼 설치파일을 찾아 다운받고 더블클릭하고 "다음 다음" 누를 필요가 없어요. apt install 이름 한 줄이면 — 그 프로그램이 의존하는 다른 라이브러리까지 알아서 같이 깔고, 나중에 한꺼번에 업데이트되고, 지울 때도 깔끔히 지워집니다. 이번 글은 매일 쓰는 4가지 + 찾는 법 + apt가 못 구하는 것 처리법까지. 26편 입문 시리즈 11편이고, 명령어는 다 안전합니다(설치/삭제는 되돌릴 수 있어요).

준비물 — 우분투 + 터미널. 1편(리눅스란)·3편(우분투 첫 설정)을 안 봤다면 먼저 보면 맥락이 잡힙니다. 이 글의 실습은 안전한 작은 프로그램(tree·htop 등)으로 합니다 — 깔았다 지워도 시스템엔 영향 없어요.

apt가 뭐고 왜 좋은가 — "앱스토어 + 의존성 자동"

윈도우 방식과 비교하면 차이가 한눈에 보입니다.

윈도우에서 프로그램 설치우분투 apt 방식
웹사이트 찾아가 → 설치파일 다운 → 실행 → "다음 다음 동의 설치"터미널에 sudo apt install 이름 한 줄. 끝.
이 프로그램이 ".NET 어쩌고가 필요합니다" → 그것도 따로 받아 깔기의존하는 라이브러리·구성요소를 자동으로 같이 깔아줌(의존성 해결).
프로그램마다 따로따로 "업데이트 있음" 알림sudo apt update && sudo apt upgrade 한 방에 설치된 전부를 최신으로.
제거해도 레지스트리·찌꺼기 폴더가 남기 일쑤apt remove(또는 purge)로 깔끔히. 안 쓰는 의존성은 autoremove로 청소.

이게 가능한 이유 — 우분투엔 '저장소(repository)'라는, 캐노니컬과 커뮤니티가 검증해 모아둔 거대한 소프트웨어 창고가 있고, apt는 그 창고에서 .deb 패키지(프로그램 한 덩어리)를 가져와 설치하는 도구예요. apt update가 하는 일이 바로 "그 창고의 목록을 최신으로 새로고침"이고요. 그래서 새 우분투를 켜면 가장 먼저 apt update를 하는 겁니다 — 안 그러면 "오래된 목록"을 들고 있게 되니까.

매일 쓰는 4가지 — update · upgrade · install · remove

이 넷만 손에 익으면 90%는 끝납니다. 전부 시스템을 건드리니 sudo가 붙어요.

$ sudo apt update ← 저장소 '목록'만 새로고침 (실제 설치는 안 함). 뭐든 하기 전 1번 $ sudo apt upgrade ← update 로 알게 된 최신 버전들을 실제로 설치. (y 누르면 진행) $ sudo apt install tree htop ← 'tree'와 'htop' 패키지를 한 번에 설치. 여러 개 띄어쓰기로 나열 가능 $ sudo apt remove htop ← htop 제거 (설정 파일은 남김). 설정까지 싹 지우려면: sudo apt purge htop $ sudo apt autoremove ← 다른 게 안 쓰게 된 '고아 의존성'들 청소. remove 후 가끔 권해줌 — 그때 실행

방금 깐 tree를 한 번 써보세요 — tree ~/linux-practice 하면 그 폴더 구조가 나무 모양으로 쫙 나옵니다(5편에서 본 디렉토리 트리를 진짜로). htophtop 치면 — 화려한 작업관리자가 뜹니다(나가기 q). 둘 다 작고 유용한 도구라 깔아두면 좋아요.

참고: 옛날 문서엔 apt-get install·apt-cache search가 많이 나오는데, 요즘은 그냥 apt 하나로 다 됩니다(apt는 사람이 터미널에서 쓰기 좋게 만든 통합 버전). 스크립트에선 안정성 때문에 apt-get을 쓰기도 하지만, 입문 단계에선 apt만 알면 충분.

찾고 살펴보기 — search · show · list

"그 프로그램 패키지 이름이 뭐더라?" 할 때:

$ apt search 한글 폰트 ← 이름·설명에 그 단어가 든 패키지들을 검색 (sudo 불필요 — 그냥 보기만) $ apt show tree ← tree 패키지의 설명·버전·크기·의존성 등 상세 정보 $ apt list --installed ← 지금 깔려 있는 패키지 전부 (엄청 많음 — 보통 | grep 으로 거름. 7편 참고) $ apt list --installed | grep nano ← 그중 'nano' 들어간 것만. 7편에서 배운 파이프(|)와 grep 의 실전 예 $ apt list --upgradable ← 업데이트 가능한(아직 안 한) 패키지 목록. upgrade 전에 뭐가 바뀌는지 미리보기

요령 하나 — 깔고 싶은 게 있으면 먼저 apt search로 정확한 패키지 이름을 확인하고, apt show 이름으로 "이게 맞나" 본 다음 apt install. 이름을 잘못 치면 "그런 패키지 없음"이라 그러는데, 대소문자나 하이픈 위치가 다른 경우가 많아요(예: vlc는 그냥 vlc지만 어떤 건 libreoffice-calc처럼 길죠).

apt가 못 구하는 건 — .deb 직접 설치 · PPA · snap/flatpak

가끔 원하는 프로그램이 우분투 기본 저장소에 없습니다(또는 너무 옛날 버전만 있음). 그럴 때 세 갈래:

① 제공처가 .deb 파일을 줄 때 — 그대로 설치

$ sudo apt install ./받은파일.deb ← .deb 더블클릭으로도 되지만, 터미널이 의존성까지 더 잘 챙김. './' 빼먹지 말 것

(예: 어떤 앱 공식 사이트에서 "Ubuntu/Debian용 .deb 다운로드" 버튼을 누르면 받아지는 그 파일.)

② PPA / 외부 저장소 추가 — 그 창고를 apt 목록에 등록

$ sudo add-apt-repository ppa:어쩌고/저쩌고 $ sudo apt update $ sudo apt install 그패키지 ← PPA(개인용 저장소)를 등록하면 그 안의 패키지를 apt 로 평소처럼 설치/업데이트
주의: PPA·외부 저장소는 믿을 만한 곳만 추가하세요 — 그 창고에 시스템 깊숙이 접근하는 패키지를 넣을 수 있습니다. 공식 프로젝트가 직접 운영하는 PPA(설치 안내 페이지에 적힌 것)면 대체로 안전하고, 출처 불명의 "이거 추가하면 해결됨" 류는 피하는 게 좋습니다. 너무 많은 PPA를 쌓으면 나중에 업그레이드가 꼬일 수도 있고요.

③ snap / flatpak — 배포판 안 가리는 다른 포장 방식

3편에서 짧게 봤죠. snap install 이름(우분투 기본 탑재), 또는 Flathub를 설정한 뒤 flatpak install 이름. 최신 버전을 빨리 받거나, 우분투 저장소에 없는 데스크탑 앱(특정 메신저·에디터 등)을 구할 때 유용합니다. apt 와 공존하니, "apt 에 없으면 snap 에 있나" 정도로 기억해두면 돼요.

오늘의 정리: sudo apt update(목록 새로고침) → sudo apt upgrade(최신화) → sudo apt install 이름(설치) → sudo apt remove/purge(제거) → sudo apt autoremove(찌꺼기 청소). 찾기: apt search·apt show·apt list --installed | grep …. 저장소 밖: .debsudo apt install ./파일.deb, 신뢰되는 PPA는 add-apt-repository+apt update, 그 외엔 snap/flatpak. 옛날 문서의 apt-get/apt-cache는 거의 apt 하나로 대체.

시리즈 흐름

  1. 1~5편 입문 묶음 ✔   6편 파일 명령어 ✔   7편 텍스트 명령어 ✔   8편 nano ✔   9편 권한·chmod ✔   10편 사용자·그룹 ✔
  2. 11편 — apt 패키지 관리 (이 글) ✔
  3. 12편 — 파이프와 리다이렉션 (| · > · >> · 2> — 명령들을 조립하기. "기초" 묶음 마무리)
  4. 13편~ — vim 기초 / 프로세스 관리 / 디스크 / 네트워크 / ufw / SSH / systemd / cron …

오늘 할 일: sudo apt update && sudo apt upgrade 한 번 돌리고(어차피 자주 해야 함), sudo apt install tree htop으로 둘 깔고, tree ~·htop 한 번씩 써보세요. 그리고 sudo apt remove htop으로 지워보면 — 깔고 지우는 게 이렇게 가볍구나, 가 손에 들어옵니다. 12편에서 만나요. (apt 옵션 전체는 man apt 또는 우분투 공식 패키지 관리 문서에.)

우분투·리눅스 입문 시리즈

이제 원하는 프로그램을 마음대로 깝니다. 12편 "파이프와 리다이렉션"으로 "기초" 묶음을 마무리합니다.

다음 편은 JUNAI 블로그에서 이어 보세요.

© 2026 JUNAI · 우분투·리눅스 입문 시리즈 11편 · 본 글은 2026년 5월 12일 기준으로 작성되었습니다.

© 2026 주나이테크(주) @JUNAITECH