본문 바로가기

프로그래밍 놀이터1998

[책 정리] 09.소프트웨어 설치하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 패키지 관리 기초 -리눅스 배포판은 각 소프트웨어 앱 및 라이브러리 설치를 제어할 수 있는 몇 가지 유형의 패키지 관리 시스템(PMS)을 사용한다.PMS 는 이러한 항목들을 추적하기 위해 DB 를 사용한다. 리눅스 시스템에 어떤 소프트웨어 패키지가 설치되어 있는가? 각 패키지마다 어떤 파일이 설치되어 있는가? 설치된 소프트웨어 패키지 버전은 각각 얼마인가? 소프트웨어 패키지는 저장소(레포지토리)라는 서버에 저장되고 인터넷으로 내 리눅스 시스템에서 구동되는 PMS 유틸을 통해 저장소에 접근할 수 있다.새로운 소프트웨어 패키지 또는 이미 시스템에 설치된 소프트웨어 업데이트를 검색하기 위해 PMS 유틸을 사용할 수 있다. PMS 는 의존성을 감지하고 원하는 패키지를 설치하기 전에 추가로 필요한 소프트웨어 패키.. 2020. 4. 29.
[책 정리] 08-2. 파일 시스템 관리하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 논리 볼륨 관리하기 -파티션 확장은 같은 실제 하드 드라이브에 사용 가능한 공간의 범위까지로 제한된다.하드 드라이브에 더 이상 사용할 수 있는 공간이 없다면 더 큰 하드 드라이브를 구해서 수동으로 새 드라이브에 기존의 파일시스템을 옮겨야 한다.이보다 편리한 방법은 다른 하드 드라이브 파티션을 기존의 파일시스템에 추가함으로서 기존의 파일시스템에 동적으로 더 많은 공간을 추가하는 방법이다.리눅스 논리 볼륨 관리자(Linux Logical Volume Manager, LVM) 소프트웨어 패키지가 이런 일을 할 수 있다.LVM 은 전체 파일 시스템을 재구축할 필요 없이 리눅스 시스템의 디스크 공간을 조작할 수 있는 쉬운 방법을 제공한다. * 논리 볼륨 관리 레이아웃 살펴보기 -여러 PV(Physical volu.. 2020. 4. 28.
[책 정리] 08-1. 파일 시스템 관리하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 리눅스 파일시스템 살펴보기 * 기본적인 리눅스 파일시스템 이해하기 ** 파일 시스템 살펴보기 -리눅스 운영체제와 함께 도입된 원래의 파일시스템은 확장 파일시스템(extended filesystem, ext)라고 한다.이 시스템은 물리적 장치를 다루기 위해 가상 디렉토리를 사용하고, 물리적 장치에 고정 길이의 블록을 이용해서 데이터를 저장하는 유닉스와 비슷한 파일시스템이다.ext 파일시스템은 가상 디렉토리에 저장되어 있는 파일에 대한 정보를 추적하기 위해 아이노드(inode)라는 시스템을 사용한다.아이노드 시스템은 각각의 물리적 장치마다 파일 정보를 저장하기 위해 아이노드 테이블이라는 것을 만든다가상 디렉토리에 저장되는 각 파일은 아이노드 테이블에 항목을 가진다. ext 의 extended 는 다음의 항목.. 2020. 4. 27.
[책 정리] 07. 리눅스 파일 사용 권한 이해하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 리눅스 보안 -리눅스 보안 시스템의 핵심은 사용자 계정이다.리눅스 시스템에 접속하는 개별 사용자는 각자 고유한 사용자 계정이 있어야 한다.시스템에 있는 개체에 대한 사용자의 권한은 로그인한 사용자 계정에 따라 달라진다. 사용자 권한은 계정이 만들어질 때 할당되는 사용자 ID 인 UID 로 추적된다.리눅스 시스템은 시스템의 사용자 계정을 추적하고 관리하기 위한 특수한 파일 및 유틸을 사용한다. * /etc/passwd 파일 -리눅스 시스템은 로그인 이름과 그에 해당하는 UID 값을 찾기 위해 특별한 파일을 이용한다.이 파일은 /etc/passwd 파일이다.여기에는 사용자에 대한 여러 정보가 포함되어 있다. -root 사용자 계정은 리눅스 시스템의 관리자이며 항상 UID 0 이 할당된다.리눅스 시스템은 실제.. 2020. 4. 26.
[책 정리] 06. 리눅스 환경 변수 사용하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 환경 변수 살펴보기 -bash 쉘은 쉘 세션과 작업 환경에 대한 정보를 저장하기 위해 환경변수라는 기능을 사용한다.이 기능으로 메모리에 데이터를 저장할 수 있으므로 쉘에서 실행 중인 모든 프로그램이나 스크립트가 쉽게 사용할 수 있다.이는 필요한 데이터를 영구히 저장하는 편리한 방법이기도 하다. bash 쉘에는 두 가지 환경 변수의 유형이 있다.1. 전역 변수2. 지역 변수 * 전역 환경 변수 살펴보기 -전역 환경 변수는 쉘 세션 및 그로부터 파생된 자식 서브쉘에서 볼 수 있다.지역 변수는 이를 만든 쉘에서만 사용할 수 있다.따라서 부모 쉘의 정보가 필요한 자식 서브쉘을 만드는 응용 프로그램에는 전역 환경 변수가 유용하다. -리눅스 시스템은 bash 세션을 시작할 때 여러 가지 전역 환경 변수를 설정한다... 2020. 4. 25.
[책 정리] 05. 쉘을 이해하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 쉘의 유형 알아보기 -시스템이 실행시키는 쉘 프로그램은 사용자 ID 구성에 따라 달라진다./etc/passwd 파일 안에는 사용자 ID 마다 일곱 번째 필드에 어떤 기본 쉘 프로그램을 실행시킬 것인지가 나와 있다.기본 쉘 프로그램은 사용자가 가상 콘솔 터미널에 로그인하거나 GUI 터미널 에뮬레이터를 시작할 때마다 실행된다. 기본인 bash 쉘은 물론 CentOS 의 tcsh, 데비안의 dash 등도 있다.그러나 bash 쉘이 인기가 좋아 다른 쉘을 기본 쉘로 사용하는 사람들이 그리 많지는 않다. -기본 시스템 쉘은 또 다른 쉘인 /bin/sh 이다.시스템 시동과 같은 때에 필요한 시스템 쉘 스크립트에 기본 시스템 쉘이 사용된다./bin/sh 이 bash 를 소프트링크(심볼릭 링크) 하는 경우도 있다. 부.. 2020. 4. 24.
[책 정리] 04. 더 많은 bash 쉘 명령 - 리눅스 커맨드라인 쉘 스크립트 바이블 프로그램 감시하기 * 프로세스 엿보기 -ps 명령은 시스템에서 실행되는 모든 프로그램에 대한 많은 정보를 보여준다.이 녀석은 어마어마하게 많은 옵션을 제공하므로 매우 복잡한 녀석이다.기본 ps 명령은 수많은 정보들을 보여주지 않는다.그리고 ps 명령은 현재 사용자에 속해 있으며 현재 터미널에서 실행시키고 있는 프로세스만을 보여준다.이 경우 bash shell 은 물론 ps 명령도 표시된다. 기본 출력은 PID, TTY(실행된 터미널), 프로세스가 사용한 CPU 시간이다. -리눅스 시스템에서 사용되는 GNU 의 ps 명령은 세 가지 유형의 커맨드라인 옵션을 지원한다.1. 대시가 붙는 유닉스 스타일 옵션2. 대시가 붙지 않는 BSD 스타일 옵션3. 이중 대시가 붙는 GNU 의 긴 옵션 ** 유닉스 스타일 옵.. 2020. 4. 23.
[책 정리] 03. 기본 bash 쉘 명령 - 리눅스 커맨드라인 쉘 스크립트 바이블 쉘 시작하기 -/etc/passwd 파일에는 모든 시스템 사용자 계정의 목록이 각 사용자에 대한 몇 가지 기본 구성 정보와 함께 포함되어 있다. ex)christine:x:501:501:Christine Bresnahan:/home/christine:/bin/bash 각 항목은 일곱 개의 데이터 필드를 가지며, 각 필드는 콜론으로 구분된다.이 중 마지막 필드가 기본 쉘 프로그램을 지정한다.bash 쉘 대신 tcsh, dash 등을 설정할 수도 있다. 쉘 프롬프트 사용하기 bash 설명서와 상호작용하기 -man 명령으로 리눅스 시스템에 저장된 설명서 페이지에 접속할 수 있다.man 명령 다음 특정한 명령 이름을 입력하면 된다. -bash 쉘을 처음 사용하는 경우라면 man 페이지가 처음에는 큰 도움이 되지.. 2020. 4. 22.
[책 정리] 02. 쉘에 접속하기 - 리눅스 커맨드라인 쉘 스크립트 바이블 커맨드 라인에 도달하기 -그래픽 기반 데스크톱 이전에 유닉스 시스템과 상호작용할 수 있는 유일한 방법은 쉘이 제공하는 텍스트 커맨드라인 인터페이스(CLI, command line interface) 뿐이었다. * 콘솔 터미널 -CLI 에 도달하는 방법 중 하나는 리눅스 시스템을 그래픽 데스크톱 모드에서 텍스트 모드로 바꿔 놓는 것이다.리눅스 시스템이 시작되면 자동으로 여러 개의 가상 콘솔이 만들어진다.가상 콘솔은 리눅스 시스템 메모리에서 실행되는 터미널 세션이다. * 그래픽 터미널 -리눅스 그래픽 데스크톱 환경 안에서 터미널 에뮬레이션 패키지를 사용하는 것이다.터미널 에뮬레이션 패키지는 콘솔 터미널처럼 동작하지만 데스크톱의 그래픽 창 안에서 작동된다. 리눅스 콘솔 터미널을 통해 CLI 에 접속하기 -리눅.. 2020. 4. 21.