DAY 08: 소프트웨어 관리자

LinuxBeginner
지금 연습하기

소개

소프트웨어 관리자님, 환영합니다! 여러분은 급성장 중인 기술 스타트업의 첫 번째 전담 시스템 관리자로 합류하게 되었습니다. 첫 번째 임무는 그동안 개발팀이 공동으로 관리하며 다소 무질서해진 핵심 개발 서버를 맡는 것입니다. 현재 서버는 불필요한 파일로 가득 차 있고 소프트웨어 버전도 오래되었을 가능성이 커서 전문가의 세심한 관리가 절실한 상황입니다.

여러분의 목표는 서버의 질서를 바로잡는 것입니다. 시스템의 소프트웨어 소스를 업데이트하고, 팀에서 요청한 필수 도구들을 설치하며, 모든 것이 올바르게 설치되었는지 확인해야 합니다. 또한 더 이상 사용하지 않는 소프트웨어를 제거하고 전반적인 시스템 정리 작업을 수행하게 됩니다. 이번 기회를 통해 여러분의 역량을 증명하고, 회사의 인프라에 전문가 수준의 안정성과 효율성을 불어넣어 주세요. 팀원 모두가 여러분을 믿고 있습니다. 자, 서버를 멋지게 정비해 봅시다!

주의 사항
이번 챌린지는 Quick Start with Linux 과정의 범위를 벗어나는 내용을 포함할 수 있습니다.
챌린지 수행 중 어려움을 겪는다면:
  1. 해당 챌린지를 잠시 건너뛰고 Linux 학습 경로의 다음 가이드 실습을 계속 진행하세요.
  2. Labby 와 상담하거나 모범 답안을 확인하세요.

시스템 패키지 리포지토리 업데이트

소프트웨어 관리자로서의 첫 번째 작업은 서버의 패키지 관리자가 최신 소프트웨어 정보를 가지고 있는지 확인하는 것입니다. 패키지 목록이 오래되면 설치 오류가 발생하거나 보안 취약점에 노출될 수 있습니다. 로컬 패키지 인덱스를 중앙 리포지토리와 동기화해야 합니다.

과제

  • 설정된 모든 소스로부터 사용 가능한 패키지 목록을 업데이트하세요.

요구 사항

  • 업데이트를 수행하기 위해 Advanced Package Tool (apt) 을 사용하세요.
  • 반드시 관리자 권한으로 명령어를 실행해야 합니다.

예시

패키지 리포지토리를 성공적으로 업데이트하면 패키지 목록이 갱신되었다는 출력이 나타납니다. 일반적으로 업그레이드 가능한 패키지에 대한 정보가 표시되며 업데이트 성공 여부를 확인할 수 있습니다.

힌트

  • 패키지 소스 업데이트와 같은 시스템 전반의 변경 사항은 승인된 권한이 필요하다는 점을 기억하세요.
  • apt 명령어에는 로컬 패키지 인덱스를 새로 고치는 전용 서브 명령어가 있습니다.

필수 소프트웨어 패키지 설치

패키지 목록을 업데이트했으니 이제 개발팀의 요청을 들어줄 차례입니다. 팀원들은 시스템 정보를 시각적으로 보기 좋게 출력해 주는 유용한 명령줄 도구인 neofetch를 필요로 합니다. 여러분의 작업은 이 도구를 설치하는 것입니다.

과제

  • neofetch 소프트웨어 패키지를 설치하세요.

요구 사항

  • 패키지 설치를 위해 apt 명령어를 사용하세요.
  • 패키지 이름은 neofetch입니다.
  • 설치 명령어는 관리자 권한으로 실행해야 합니다.

예시

설치가 성공적으로 완료되면 터미널에서 neofetch 명령어를 사용할 수 있게 됩니다. 명령어를 실행하면 운영 체제, 커널 버전, 하드웨어 정보 등이 포함된 화려한 시스템 정보 화면을 볼 수 있습니다.

힌트

  • 패키지를 설치하는 apt 명령어는 매우 자주 사용됩니다. 수행하려는 동작인 "install"을 떠올려 보세요.
  • sudo를 사용하는 것을 잊지 마세요.

설치된 패키지 버전 확인

좋습니다, neofetch가 설치되었습니다. 팀에 보고하기 전에 설치 상태를 확인하고 버전 번호를 기록해 두는 것이 좋습니다. 이는 작업이 완료되었음을 확신할 수 있게 하며, 문서화나 문제 해결 시 유용한 정보가 됩니다.

과제

  • 버전 번호를 포함하여 neofetch 패키지의 상세 정보를 표시하세요.

요구 사항

  • 패키지 데이터베이스에서 설치된 패키지의 상세 정보를 조회할 수 있는 명령어를 사용하세요.

예시

패키지 정보를 조회하면 패키지 이름, 현재 버전, 설치 상태 및 기타 메타데이터가 포함된 상세 출력이 나타나야 합니다. 이 정보를 통해 패키지가 올바르게 설치되었음을 확인하고 팀에 보고할 버전 번호를 얻을 수 있습니다.

힌트

  • apt 도구에는 패키지에 대한 정보를 보여주는 (show) 서브 명령어가 있습니다.
  • 또는 dpkg 명령어에 -s 플래그를 사용하여 패키지 상태를 확인할 수도 있습니다.

불필요한 소프트웨어 패키지 제거

서버를 점검하던 중, 과거 일회성 프로젝트에서 사용되었으나 더 이상 필요하지 않은 figlet이라는 패키지를 발견했습니다. 시스템을 깨끗하고 안전하게 유지하려면 사용하지 않는 소프트웨어는 제거해야 합니다.

과제

  • 시스템에서 figlet 패키지를 삭제하세요.

요구 사항

  • 패키지 제거를 위해 apt 명령어를 사용하세요.
  • 제거할 패키지 이름은 figlet입니다.
  • 소프트웨어를 삭제할 때는 관리자 권한을 사용해야 합니다.

예시

패키지가 성공적으로 제거되면 시스템에서 figlet 명령어를 더 이상 사용할 수 없게 됩니다. 명령어를 실행하거나 상태를 확인하려고 하면 패키지가 설치되어 있지 않다는 메시지가 나타나야 합니다.

힌트

  • 패키지를 제거하는 apt 서브 명령어는 매우 직관적입니다. "install"의 반대말을 생각해 보세요.
  • sudo를 사용하는 것을 잊지 마세요.

패키지 의존성 관리

소프트웨어를 제거한 후, 해당 소프트웨어의 의존성 때문에 함께 설치되었던 일부 패키지들이 더 이상 어떤 프로그램에서도 필요하지 않게 될 수 있습니다. 이를 "고립된 (orphaned)" 의존성이라고 하며, 불필요하게 디스크 공간을 차지합니다. 훌륭한 관리자는 항상 뒷정리까지 완벽해야 합니다.

과제

  • 시스템의 어떤 패키지에서도 더 이상 필요로 하지 않는, 자동으로 설치된 모든 의존성 패키지를 제거하세요.

요구 사항

  • 사용하지 않는 의존성을 정리하기 위해 설계된 특정 apt 명령어를 사용하세요.
  • 이 작업은 관리자 권한이 필요합니다.

예시

정리 명령어를 실행하면 시스템을 스캔하여 의존성으로 자동 설치되었지만 더 이상 필요 없는 패키지를 찾습니다. 고립된 패키지가 발견되면 목록에 표시되고 제거되어 시스템을 깨끗하고 효율적으로 유지해 줍니다.

힌트

  • apt에는 사용하지 않는 패키지를 "자동으로 제거"해 주는 유용한 명령어가 있습니다.
  • 여느 때와 마찬가지로, 시스템 전반에 영향을 주는 이 작업에는 sudo가 필요합니다.

요약

축하합니다, 소프트웨어 관리자님! 개발 서버를 성공적으로 정비하셨습니다. 이번 챌린지에서 여러분은 데비안 계열 리눅스 시스템의 소프트웨어 관리 라이프사이클 전체를 실습해 보았습니다:

  • apt update로 패키지 리포지토리를 업데이트했습니다.
  • apt install을 사용하여 새 소프트웨어를 설치했습니다.
  • apt show로 설치 상태와 정보를 확인했습니다.
  • apt remove로 더 이상 사용하지 않는 패키지를 제거했습니다.
  • apt autoremove로 불필요한 의존성 패키지까지 정리했습니다.

이러한 기술은 리눅스 관리자나 파워 유저가 매일 사용하는 핵심 역량입니다. 이를 숙달함으로써 시스템을 항상 최신 상태로 안전하고 깔끔하게 유지할 수 있습니다. 여러분은 자신의 능력을 증명했으며, 잘 관리된 인프라를 위한 토대를 마련했습니다.

✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습