소프트웨어의 설치 및 관리는 컴퓨터 시스템 운영에 있어서 결정적인 요소입니다. 이 과정이 제대로 이루어지지 않으면, 시스템의 안정성과 성능에 심각한 영향을 미칠 수 있습니다. 특별히, 리눅스 같은 운영체제에서는 다양한 소프트웨어들이 복잡하게 연결되어 있으므로, 이를 적절하게 관리하지 않으면 전체 시스템의 작동에 문제가 생길 수 있습니다.
대다수의 소프트웨어는 다른 소프트웨어나 라이브러리를 필요로 하며, 이를 '의존성'이라고 합니다. 예를 들면, 웹 서버 애플리케이션인 Nginx는 OpenSSL이라는 보안 라이브러리를 필요로 하여 HTTPS 연결을 가능하게 합니다. OpenSSL 없이 Nginx를 설치하려 한다면 Nginx는 제대로 작동하지 않을 것입니다. 그렇기 때문에 각각의 의존성을 찾아서 설치하는 것은 매우 복잡하고 어려운 일입니다.
여기서 패키지 관리자가 중요한 역할을 합니다. 패키지 관리자는 사용자가 직접 의존성 문제를 해결하는 대신, 자동으로 모든 의존성 문제를 해결해주며 사용자의 부담을 줄여줍니다. 패키지 관리자 더 알아보기
그 중에서도 APT(Advanced Package Tool)은 Debian 기반 Linux 배포판에서 널리 사용되는 패키지 관리 도구입니다. APT 도구를 활용하면 사용자들은 필요한 소프트웨어 패키지를 쉽게 찾아 설치할 수 있으며, 자동으로 의존성 문제도 해결해주므로 많은 시간과 노력을 절약할 수 있습니다.
튜토리얼 환경: Debian 계열 Linux 공통
패키지 검색
시스템에 설치할 수 있는 패키지 중에서 특정 패키지 이름이나 키워드를 포함하는 패키지를 찾고 싶은 경우 search
를 이용해 찾을 수 있습니다. 예를 들어, 만약 text editor
와 관련된 패키지를 찾고자 한다면 apt search text editor
같이 명령을 실행할 수 있습니다.
apt search package-name
apt
: 패키지 관리 시스템인 Advanced Package Tool (APT)를 사용하는 것을 나타냅니다.search
: 패키지 검색을 수행하는 명령입니다.package-name
: 검색하려는 패키지의 이름이나 키워드를 여기에 입력합니다. 이 부분에는 검색하려는 패키지의 일부 이름이나 특정 키워드를 입력할 수 있습니다.
패키지 설치
패키지를 찾았다면 다음 명령으로 대상 패키지를 설치할 수 있습니다.
sudo apt install package-name
sudo
: 슈퍼 유저 권한으로 명령을 실행합니다. Sudo에 대해 알아보기apt
: 패키지 관리 시스템인 Advanced Package Tool을 사용하는 것을 나타냅니다.install
: 패키지를 설치하는 명령입니다.package-name
: 설치하려는 패키지의 이름을 여기에 입력합니다. 이 명령을 실행하면 해당 패키지와 그 종속성이 시스템에 설치됩니다.
패키지 리스트 확인
시스템에 설치된 모든 패키지의 리스트를 확인하고 싶다면 dpkg --get-selections
또는 apt list --installed
명령을 사용합니다.
dpkg --get-selections
dpkg
: Debian 기반 시스템에서 소프트웨어 패키지를 설치, 제거, 정보 조회 등을 위한 도구입니다.--get-selections
: 현재 시스템에 설치된 모든 패키지의 리스트와 그 상태를 출력하는 옵션입니다.
apt list --installed
apt
: Advanced Package Tool로 Debian 계열 리눅스 배포판에서 주로 사용되는 고급 패키지 관리 도구입니다.list
: APT가 관리하는 소프트웨어 목록 중 특정 조건을 만족하는 것들만을 출력하는 명령입니다.--installed
: 이미 시스템에 설치된 소프트웨어만을 대상으로 하는 옵션입니다.
패키지 업데이트 및 업그레이드
패키지 데이터베이스를 업데이트합니다. 이 명령은 시스템에 설치된 패키지 목록과 패키지 버전 정보를 최신 상태로 유지하기 위해 사용됩니다. 패키지 데이터베이스를 업데이트하면 새로운 패키지 업데이트를 확인할 수 있습니다.
sudo apt update
sudo
: 슈퍼 유저 권한으로 명령을 실행합니다. Linux의 권한에 대해 더 알아보기apt
: 패키지 관리 시스템인 Advanced Package Tool (APT)를 사용하는 것을 나타냅니다.update
: 패키지 데이터베이스를 업데이트하는 명령입니다. 이 명령은 시스템에 설치된 패키지 목록과 패키지 버전 정보를 최신 상태로 유지하기 위해 사용됩니다. 패키지 데이터베이스를 업데이트하면 새로운 패키지 업데이트를 확인할 수 있습니다.
시스템에 설치된 패키지들을 최신 버전으로 업그레이드하려면 다음과 같이 명령 합니다. 업데이트 된 패키지를 새로운 버전으로 교체합니다.
sudo apt upgrade
패키지 삭제
불필요한 패키지는 다음 명령으로 삭제할 수 있습니다.
개별 삭제
sudo apt remove package-name
sudo
: 슈퍼 유저 권한으로 명령을 실행합니다.apt
: 패키지 관리 시스템인 Advanced Package Tool (APT)를 사용하는 것을 나타냅니다.remove
: 패키지를 삭제하는 명령입니다.package-name
: 삭제하려는 패키지의 이름을 여기에 입력합니다. 이 명령을 실행하면 해당 패키지와 그 종속성이 시스템에서 제거됩니다.
완전 삭제
apt remove
는 해당 패키지만 제거하며 설정 파일 등은 남겨두게 됩니다. 하지만 완전한 제거가 필요할 경우에는 apt purge
명령어를 사용하여 관련 설정 파일까지 모두 삭제할 수 있습니다.
sudo apt purge package-name
sudo
: 슈퍼 유저 권한으로 명령을 실행합니다.apt
: 패키지 관리 시스템인 Advanced Package Tool (APT)를 사용하는 것을 나타냅니다.purge
: 패키지와 관련된 모든 데이터, 즉 실행 파일과 함께 설정 파일까지도 삭제하는 명령입니다.package-name
: 완전하게 제거하고자 하는 패키지의 이름을 여기에 입력합니다.
자동 삭제
의존성 때문에 설치되었으나 더 이상 필요하지 않은 패키지들은autoremove
명령을 이용해 자동으로 제거할 수 있습니다.
sudo apt autoremove
sudo
: 슈퍼 유저 권한으로 명령을 실행합니다.apt
: 패키지 관리 도구인 Advanced Package Tool (APT)를 사용하는 것을 나타냅니다.autoremove
: 불필요한 의존성 패키지를 자동으로 제거하는 명령입니다.