리눅스 서버를 처음 만들면 가장 많이 보게 되는 명령어가 있다. 바로 sudo apt update와 sudo apt upgrade다. 무료 클라우드 서버를 만들거나 Ubuntu Server를 처음 설치했을 때도, 거의 모든 설명에서 이 두 명령어를 먼저 입력하라고 말한다.
그런데 처음에는 두 명령어가 너무 비슷하게 생겨서 헷갈리기 쉽다. 나도 처음에는 둘 다 “업데이트”라고만 생각해서 아무 생각 없이 입력했다. 그런데 알고 보니 update와 upgrade는 역할이 완전히 다르다.
쉽게 말하면 update는 “업데이트할 목록을 가져오는 것”이고, upgrade는 “실제로 업데이트를 설치하는 것”이다.

sudo apt update는 무엇을 할까
sudo apt update는 서버 안에 설치된 프로그램 목록을 새로 확인하는 명령어다.
예를 들어 리눅스 서버는 “현재 어떤 프로그램의 최신 버전이 있는지”를 인터넷에서 확인할 수 있다. 그런데 처음 서버를 만들면, 그 정보가 오래된 상태일 수 있다.
이때 아래 명령어를 입력한다.
sudo apt update
그러면 Ubuntu는 인터넷에 연결해서, “지금 설치 가능한 최신 프로그램이 무엇인지”를 새로 가져온다.
쉽게 비유하면, 마트에 가기 전에 오늘 할인하는 상품 목록을 새로 받아오는 것과 비슷하다. 아직 실제로 물건을 사는 것은 아니고, 무엇이 바뀌었는지만 확인하는 단계다.
그래서 sudo apt update만 입력하면 서버 안의 프로그램은 실제로 바뀌지 않는다. 단지 “업데이트 가능한 프로그램이 몇 개 있다”는 정보만 새로 가져온다.
sudo apt upgrade는 무엇을 할까
반면 sudo apt upgrade는 실제로 프로그램을 업데이트하는 명령어다.
예를 들어 update를 먼저 입력한 뒤, 아래 명령어를 입력한다.
sudo apt upgrade
그러면 서버는 조금 전에 확인한 최신 목록을 기준으로, 실제 프로그램을 새 버전으로 바꾼다.
즉, update가 “무엇을 업데이트할지 확인”하는 단계라면, upgrade는 “진짜로 업데이트 설치”를 하는 단계다.
다시 마트 비유로 생각하면:
- update = 오늘 할인 상품 목록 보기
- upgrade = 실제로 물건 사기
나도 처음에는 update만 입력하고 끝냈다가, 왜 서버가 그대로인지 의아했던 적이 있다. 알고 보니 실제 업데이트는 upgrade까지 해야 적용되는 것이었다.
보통은 update와 upgrade를 함께 사용한다
리눅스 서버에서는 보통 아래처럼 두 명령어를 연달아 사용한다.
sudo apt update
sudo apt upgrade
먼저 최신 목록을 가져오고, 그다음 실제 업데이트를 설치하는 것이다.
특히 무료 클라우드 서버를 처음 만들었다면, 가장 먼저 이 두 명령어를 입력하는 경우가 많다. 그래야 오래된 프로그램이나 보안 문제를 최신 상태로 바꿀 수 있기 때문이다.
예를 들어 Ubuntu Server를 처음 설치한 뒤, 바로 Apache나 Nginx를 설치하면 오류가 나는 경우도 있다. 그런데 먼저 update와 upgrade를 해두면, 훨씬 안정적으로 설치되는 경우가 많다.
왜 sudo가 앞에 붙을까
앞에 붙는 sudo도 초보자가 많이 헷갈리는 부분이다.
sudo는 “관리자 권한으로 실행한다”는 뜻이다. 프로그램을 업데이트하는 것은 서버 전체에 영향을 주기 때문에, 일반 사용자 권한으로는 할 수 없다.
그래서 아래처럼 sudo를 붙여야 한다.
sudo apt update
sudo apt upgrade
만약 sudo 없이 입력하면, 권한이 없다는 오류가 뜨는 경우가 많다.
나도 처음에는 왜 꼭 sudo를 붙여야 하는지 몰랐다. 그런데 서버를 수정하는 중요한 작업은 대부분 관리자만 할 수 있기 때문에, update나 upgrade에도 sudo가 필요한 것이었다.
업데이트할 것이 없으면 어떻게 될까
가끔은 이미 최신 상태라서 업데이트할 것이 없는 경우도 있다. 이때는 아래처럼 표시된다.
0 upgraded, 0 newly installed
이 뜻은 지금 서버가 이미 최신 상태라는 의미다.
처음에는 아무 변화가 없어서 “명령어가 안 된 건가?”라고 생각할 수 있다. 하지만 실제로는 이미 최신이라서 더 바꿀 것이 없는 상태다.
upgrade를 할 때 Y를 눌러야 하는 이유
sudo apt upgrade를 입력하면, 아래처럼 물어보는 경우가 많다.
Do you want to continue? [Y/n]
이때는 Y를 입력하고 Enter를 누르면 된다.
왜냐하면 업데이트를 실제로 설치하려면 시간이 걸리고, 서버의 프로그램이 바뀌기 때문이다. 그래서 Ubuntu가 마지막으로 한 번 더 확인하는 것이다.
처음에는 이 문장이 영어라서 무슨 뜻인지 몰라서 멈추는 사람이 많다. 나도 처음에는 잘못 누르면 서버가 망가질까 봐 겁이 났다. 그런데 그냥 “계속할까요?”라는 뜻이라서, 보통은 Y를 누르면 된다.
가끔은 apt full-upgrade도 볼 수 있다
블로그나 강의에서 sudo apt full-upgrade라는 명령어를 보는 경우도 있다.
이 명령어는 일반 upgrade보다 더 강하게 업데이트를 하는 방식이다. 필요하다면 오래된 프로그램을 삭제하면서까지 최신 버전으로 바꾼다.
하지만 처음 서버를 배우는 사람이라면, 보통은 아래 두 개만 알면 충분하다.
sudo apt update
sudo apt upgrade
full-upgrade는 나중에 서버를 더 오래 사용하게 되었을 때 알아봐도 늦지 않다.
서버를 처음 만들었다면 가장 먼저 해야 하는 명령어다
리눅스 서버를 처음 만들었다면, 가장 먼저 해야 하는 일 중 하나가 update와 upgrade다.
sudo apt update는 최신 목록을 가져오고, sudo apt upgrade는 실제로 프로그램을 업데이트한다. 둘 중 하나만 하는 것이 아니라, 보통은 함께 사용해야 한다.
처음에는 둘의 차이가 헷갈릴 수 있다. 하지만 “update는 확인, upgrade는 설치”라고 생각하면 훨씬 이해하기 쉽다.
나도 처음 무료 서버를 만들었을 때 가장 먼저 입력한 명령어가 바로 이 두 개였다. 그리고 그 뒤부터 서버가 훨씬 안정적으로 작동했다. 그래서 서버를 처음 공부한다면, 이 두 명령어부터 꼭 익혀두는 것을 추천한다.