소개
이 실습에서는 Ubuntu 리눅스 시스템에서 소프트웨어를 설치하는 기초적인 방법을 소개합니다. 패키지 관리 도구인 apt와 dpkg를 사용하여 소프트웨어 패키지를 설치, 업데이트 및 삭제하는 방법을 배우게 됩니다. 이러한 지식은 리눅스 시스템에서 소프트웨어를 효율적으로 관리하는 데 필수적입니다.
이 실습에서는 Ubuntu 리눅스 시스템에서 소프트웨어를 설치하는 기초적인 방법을 소개합니다. 패키지 관리 도구인 apt와 dpkg를 사용하여 소프트웨어 패키지를 설치, 업데이트 및 삭제하는 방법을 배우게 됩니다. 이러한 지식은 리눅스 시스템에서 소프트웨어를 효율적으로 관리하는 데 필수적입니다.
새로운 소프트웨어를 설치하기 전에 패키지 목록을 업데이트하는 것이 매우 중요합니다. 이를 통해 사용 가능한 패키지와 해당 버전의 최신 정보를 확보할 수 있습니다.
터미널을 엽니다. 기본적으로 /home/labex/project 디렉토리에 위치하게 됩니다. 만약 다른 곳에 있더라도 걱정하지 마세요. 우리가 사용할 명령어는 어느 디렉토리에서나 작동합니다.
다음 명령어를 실행하여 패키지 목록을 업데이트합니다:
sudo apt update
명령어의 의미는 다음과 같습니다:
sudo: 일시적으로 관리자 (슈퍼유저) 권한을 부여합니다.apt: 우리가 사용하는 패키지 관리 명령어입니다.update: 패키지 목록을 최신 상태로 갱신하도록 apt에 지시합니다.비밀번호 입력을 요청받을 수 있습니다. 비밀번호를 입력하고 Enter 를 누르세요. 입력하는 동안 화면에 아무런 표시가 되지 않는 것은 보안을 위한 정상적인 동작입니다.
화면에 많은 텍스트가 지나가는 것을 볼 수 있습니다. 이는 시스템이 다양한 저장소 (온라인 소프트웨어 소스) 에서 업데이트 사항을 확인하는 정상적인 과정입니다.
작업이 완료되면 "Reading package lists... Done"과 같은 메시지가 표시됩니다. 이는 업데이트가 성공적으로 완료되었음을 의미합니다.
패키지 목록을 업데이트했으므로, 이제 apt 명령어를 사용하여 패키지를 설치해 보겠습니다.
텍스트 기반 웹 브라우저인 w3m 패키지를 설치하겠습니다. 다음 명령어를 실행하세요:
sudo apt install w3m -y
이 명령어의 역할은 다음과 같습니다:
sudo: 소프트웨어 설치를 위해 관리자 권한이 필요합니다.apt install: 특정 패키지를 설치하겠다는 의미입니다.w3m: 설치하고자 하는 패키지의 이름입니다.-y: 설치 과정 중에 나타나는 모든 확인 질문에 자동으로 "yes"라고 응답하도록 설정하는 플래그입니다.설치 진행 상황이 출력됩니다. w3m 작동에 필요한 추가 패키지 (의존성 패키지) 들이 함께 설치된다는 메시지가 나와도 당황하지 마세요.
설치가 완료되면 다음 명령어를 실행하여 w3m이 제대로 설치되었는지 확인할 수 있습니다:
w3m -version
w3m 의 버전 정보가 표시된다면 성공입니다! 첫 번째 패키지 설치를 무사히 마쳤습니다.
설치하려는 패키지의 정확한 이름을 모를 때가 있습니다. 이럴 때는 apt-cache search를 사용하여 패키지를 검색할 수 있습니다.
"text editor"와 관련된 패키지를 검색해 보겠습니다. 다음 명령어를 실행하세요:
apt-cache search "text editor"
이 명령어는 패키지 설명에서 "text"와 "editor"라는 단어가 포함된 항목을 찾습니다.
검색어와 일치하는 패키지 목록이 표시됩니다. 각 줄에는 패키지 이름과 간단한 설명이 나타납니다.
결과가 매우 많을 수 있습니다. 리눅스에는 수많은 텍스트 에디터가 존재하기 때문에 이는 정상입니다. 예를 들어 다음과 같은 항목을 볼 수 있습니다:
nano - small, friendly text editor inspired by Pico
vim - Vi IMproved - enhanced vi editor
검색 결과를 좁히고 싶다면 grep을 함께 사용할 수 있습니다. 예를 들어, 그래픽 사용자 인터페이스 (GUI) 기반의 텍스트 에디터만 찾으려면 다음과 같이 입력합니다:
apt-cache search "text editor" | grep -i gui
| grep -i gui 부분은 결과 중에서 대소문자 구분 없이 "gui"가 포함된 줄만 필터링하여 보여줍니다.
더 이상 필요하지 않은 패키지는 apt remove를 사용하여 삭제할 수 있습니다.
이전에 설치한 w3m 패키지를 삭제해 보겠습니다. 다음 명령어를 실행하세요:
sudo apt remove w3m -y
이 명령어는 w3m 패키지를 삭제하지만, 설정 파일은 시스템에 남겨둡니다.
설정 파일까지 모두 삭제하고 싶다면 apt purge를 사용합니다:
sudo apt purge w3m -y
purge를 사용할 때는 주의해야 합니다. 나중에 패키지를 다시 설치할 때 사용하고 싶을 수 있는 설정 파일을 포함하여 패키지의 모든 흔적을 완전히 제거하기 때문입니다.
패키지를 삭제한 후, 더 이상 필요하지 않게 된 잔여 의존성 패키지들을 정리하는 것이 좋습니다:
sudo apt autoremove -y
이 명령어는 다른 패키지의 의존성을 충족하기 위해 자동으로 설치되었지만, 이제는 어떤 패키지도 사용하지 않는 항목들을 찾아 삭제합니다.
이번 단계에서는 .deb 파일을 사용하여 tree 패키지를 설치해 보겠습니다. 이 과정은 표준 패키지 저장소에서 제공되지 않는 소프트웨어를 설치하는 방법을 보여줍니다.
먼저, 기존에 설치되어 있을지 모를 tree 패키지를 제거합니다:
cd /home/labex/project
sudo apt remove tree -y
sudo apt autoremove -y
깨끗한 상태에서 시작하기 위한 작업입니다.
이제 tree의 .deb 파일을 다운로드합니다:
팁: 무료 사용자는 외부 인터넷 접속이 제한될 수 있습니다.
tree_2.0.2-1_amd64.deb파일이 이미/home/labex/project디렉토리에 준비되어 있으므로 이 단계는 건너뛰어도 됩니다.
wget http://archive.ubuntu.com/ubuntu/pool/universe/t/tree/tree_2.0.2-1_amd64.deb
이 명령어는 현재 디렉토리에 .deb 파일을 다운로드합니다.
설치하기 전에 패키지 정보를 확인해 보겠습니다:
dpkg -I tree_2.0.2-1_amd64.deb
이 명령은 의존성 정보를 포함한 패키지의 상세 내용을 보여줍니다.
이제 dpkg를 사용하여 패키지를 설치합니다:
sudo dpkg -i tree_2.0.2-1_amd64.deb
의존성 문제가 없다면 설치가 성공적으로 완료됩니다.
만약 충족되지 않은 의존성 (unmet dependencies) 에 대한 오류 메시지가 나타나면 다음 명령어로 해결할 수 있습니다:
sudo apt -f install
이 명령어는 누락된 의존성 패키지들을 자동으로 찾아 설치해 줍니다.
설치를 확인합니다:
tree --version
tree 의 버전 정보가 출력되어야 합니다.
tree 명령어가 어떻게 작동하는지 확인하기 위해 간단한 디렉토리 구조를 만들고 실행해 보겠습니다:
mkdir -p test/dir1/subdir test/dir2
touch test/file1.txt test/dir1/file2.txt test/dir2/file3.txt
tree test
방금 생성한 디렉토리와 파일들이 나무 모양의 구조로 시각화되어 나타납니다.
tree 명령어의 더 많은 옵션을 확인하고 싶다면 매뉴얼 페이지를 참조하세요:
man tree
매뉴얼 페이지에서 나가려면 'q'를 누르세요.
이 과정을 통해 .deb 파일로부터 패키지를 설치하고, 잠재적인 의존성 문제를 해결하며, 설치 결과를 확인하는 방법을 익혔습니다. tree 명령어는 터미널에서 디렉토리 구조를 한눈에 파악할 때 매우 유용한 도구입니다.
이 실습을 통해 Ubuntu 리눅스에서 소프트웨어를 설치하는 핵심적인 방법들을 배웠습니다. apt를 사용하여 패키지 목록을 업데이트하고, 설치 및 삭제하며, 원하는 패키지를 검색하는 방법을 익혔습니다. 또한 dpkg를 사용하여 .deb 패키지 파일을 직접 설치하는 방법도 알아보았습니다.
학습한 주요 명령어들을 다시 한번 정리해 보겠습니다:
sudo apt update: 패키지 목록 업데이트sudo apt install <package>: 패키지 설치apt-cache search <term>: 패키지 검색sudo apt remove <package>: 패키지 삭제sudo apt purge <package>: 패키지 및 설정 파일 완전 삭제sudo apt autoremove: 불필요한 의존성 패키지 정리sudo dpkg -i <file.deb>: .deb 파일 설치이러한 기술은 리눅스 시스템을 다루는 데 있어 가장 기본이 되며, 소프트웨어를 효과적으로 관리할 수 있게 해줍니다. 실습에서는 w3m이나 tree 같은 간단한 패키지를 다루었지만, 복잡한 소프트웨어를 설치할 때도 동일한 원리가 적용됩니다. 항상 시스템을 최신 상태로 유지하고, 출처가 불분명한 패키지를 설치할 때는 주의를 기울이시기 바랍니다.