-생활코딩 리눅스 강의를 기반으로 정리, 추가 보충 학습 했다.
-리눅스에서 새로운 소프트웨어 등을 설치할 수 있는 패키지 매니저의 개념과 명령어 등에 대해 알아본다.
-가상머신 프로그램인 오라클 버츄얼박스로 우분투(ubuntu) 12.10을 사용하였다.
패키지 매니저란?
리눅스에서 소프트웨어를 다운로드 및 업데이트 받을 때 패키지 매니저를 사용한다. 패키지 간에 서로 필요한 관계를 의존성(dependency)라고 하는데, 패키지 매니저는 이러한 의존성 관계 시스템이라고 볼 수 있다. 일종의 앱스토어라고 볼 수 있다.
리눅스보다 nodejs를 먼저 배웠는데 nodejs의 NPM(Node Package Manager)도 이러한 시스템을 모티브로 만들어진 것 같다.
참고로 mkdir, ls 등의 명령어는 기존에 디폴트로 설치되어 있는 내장프로그램이라서 따로 패키지 매니저로 업데이트할 필요는 없다.
리눅스 패키지매니저 종류는 apt, yum 등이 있는데 apt로 실습한다.
관련 명령어
- sudo apt-get update : 슈퍼유저 권한으로 설치된 패키지 버전들을 최신으로 업데이트한다.
지금은 해결되었지만 처음에 sudo apt-get update를 실행했을 때 404에러가 났었다.
검색해보니 리눅스 설치 버전이 낮아서, 지원하지 않는 소프트웨어들이 old-release 저장소로 이동해서 그런 것이었다.
아래 블로그를 참고하여 해결하였다.
이제 프로세스를 효율적으로 보여주는 htop이라는 패키지를 설치해보려고 한다.
기존에 top라는 명령어를 이용해서 프로세스를 확인할 수 있지만 htop을 이용하면 좀 더 컬러풀하고 유저가 보기 좋게 정리되어 프로세스들을 확인할 수 있다.
일단 설치가능 여부를 확인하기 위해 다음과 같이 명령어를 사용한다.
- sudo apt-cache search 패키지명 : 우분투 서버에서 패키지명을 찾아서 보여준다. 화면에 나타나면 설치가 가능하다.
- sudo apt-get install 패키지명 : 패키지명에 맞는 소프트웨어를 설치한다. 여기서는 sudo apt-get install htop을 입력한다.
respositories, sources.list
apt update나 apt install 등의 명령 실행시 우분투는 해당 소프트웨어를 설치하기 위해 인터넷을 둘러보는데 이때 소프트웨어를 지니고 있는 사이트들을 repositories라고 부른다.
이 사이트들은 /etc/apt/sources.list에서 확인이 가능하다.
nano /etc/apt/sources.list 명령어로 실행해보면 아래와 같은 화면이 나온다.
sources.list에 나오는 인수들에 대한 설명을 간단하게 정리해보자면 다음과 같다.
- deb : 사전에 컴파일된 바이너리 패키지 .deb 파일 저장소를 사용하겠다는 의미이다.
- deb-src : 패키지 원본소스, Debian control(.dsc), 변경사하이 포함된 diff.gz 파일이 존재하는 저장소를 사용하겠다는 의미이다.
그리고 quantal-updates, quantal-backports 등을 suite라고 하는데 정확히는 모르지만 아마 특정 유형 패키지들의 카테고리를 지정하는데에 쓰이는 것 같은데 정확히 검색이 안 되서 자세히는 모르겠다.
보라색 글씨들은 다음과 같다.
- Main : 표준으로 제공된 무료 오픈소스 소프트웨어 의미한다.
- Restricted : 공식적으로 지원되는 사유 소프트웨어를 의미한다.(하드웨어 드라이브 등)
- Universe 커뮤니티들에 의해 유지되고 지원되는 오픈소스 소프트웨어를 의미한다.
- Multiverse : 공식적으로 지원되지 않는 사유 소프트웨어를 의미한다.(Adobe Flash)
'개발자 일지 > Linux' 카테고리의 다른 글
[리눅스 기초]쉘 스크립트(Shell Script) 개념 및 사용법, 컴파일 언어와 인터프리터 언어의 차이점 (0) | 2021.03.14 |
---|---|
[리눅스 기초]I/O Redirection 개념 및 사용법 (1) | 2021.03.12 |
[리눅스 기초]CLI 개념 및 사용 이유, 다중명령어(세미콜론,파이프라인 등) (0) | 2021.03.09 |
[리눅스 기초]다운로드 방법 - wget, git clone (2) | 2021.03.07 |
[리눅스 기초]파일 편집(nano,vi) 이용하기 (0) | 2021.03.02 |
[리눅스 기초]help와 man (0) | 2021.03.01 |
[리눅스 기초]디렉토리, 파일 관련 명령어 (0) | 2021.03.01 |
커널(kernel)과 쉘(shell)에 관하여 (0) | 2021.02.22 |