-c |
지정한 파일이나 디렉터리를 하나로 묶어 새로운 tar 파일을 생성한다. |
-x |
생성된 tar파일을 푼다. |
-v |
어떤 명령을 실행할 때 대상이 되고 있는 파일들을 보여준다. |
-f 파일명 |
작업 대상이 되는 tar파일의 이름을 지정한다. |
-r |
기존의 tar파일 뒤에 파일을 추가한다. |
-t |
tar 파일 안에 묶여 있는 파일의 목록을 출력한다. |
-h |
심볼릭 링크가 가리키고 있는 원본 파일을 저장한다. |
-C |
디렉터리를 변경할 때 사용한다. |
-p |
파일의 생성되었을 때의 권한을 그대로 유지하게 해준다. |
-Z |
compress관련 옵션으로 예전 UNIX계열 표준 압축파일인 tar.Z에 사용한다. |
-z |
gzip관련 옵션으로 압축 파일인 tar.gz에 사용한다. |
-j |
bzip2관련 옵션으로 압축 파일인 tar.bz2에 사용한다. |
-J |
xz관련 옵션으로 압축 파일인 tar.xz에 사용한다. |
전통적인 소스 설치법
리눅스에서 소스프로그램을 설치하기 위해서는 압축풀기 > 디렉터리이동 > configure > make > make install 5단계를 거친다 따라서 tar를 비롯한 압축도구, gnu c 컴파일러인 gcc, 의존성 검사도구인 make 등의 응용프로그램이 필요하다.
Configure는 소스프로그램 환경 설정을 하는 스크립트로, 사용자들이 자신의 환경에 맞도록 손쉽게 수정하도록 제공되는 스크립트다.
컴파일을 하기 위해 필요한 컴파일러, 라이브러리, 유틸리티, 기타 정보를 시스템에서 찾아낸 정보를 이용해 사용자 시스템에 적당한 소프트웨어 패키지가 생성되도록 makefile을 만든다.
Make 소프트웨어를 컴파일하는 유틸리티 configured에 의해 변경된 내용을 반영하고 타겟과 의존성 관련 작업을 하고 실행파일을 만든다.
Make install 컴파일된 실행 파일을 지정한 속성으로 지정된 디렉터리에 설치한다.
Cmake 설치법
Cmake는 소스 컴파일 시 사용되는 make의 대체 프로그램으로 make 과정을 수행하지 않고, 지정한 운영체제에 맞는 make파일의 생성을 목적으로 하고 있다. 압축풀기 > 디렉터리이동 > cmake > make install 으로 진행된다.
리눅스 패키지 설치법과 소스설치법의 차이
소스설치는 압축풀기 > 디렉터리 이동 > configure > make > make install의 작업을 거치며 특히 configure작업은 방법을 모르는 경우에는 설치조차 힘든 경우가 있기 때문에 리눅스 배포판에서는 쉬운 프로그램 설치, 삭제, 관리 등을 위해 각 계열에 따라 독자적인 패키지 관리 기법을 만들었다.
웹서버
웹 서버(Web Server, HTTP Client)
웹 서버는 웹 브라우저와 같은 클라이언트로부터 HTTP 프로토콜 이용 요청을 받아 정보제공자가 작성한 정적인 컨텐츠 웹 페이지(HTML, css)나 웹 문서를 전달하는 역할을 수행한다.
웹서버 중 Apache는 전 세계 적으로 가장 많이 사용되는 웹 서버 이며 리눅스의 대표적인 웹 서버이다. 가벼움과 높은 성능을 목표로 하는 웹 서버 프로그램 NGINX 등이 있다.
Html 문서 기본구조
<html>
<head> // 웹브라우저의 타이틀바 제목 메타 정보들이 기록되는 영역
<title> 문서의 제목 </title>
</head>
<body> 웹브라우저 표시되는 본문내용
</body>
</html> 생성된 문서 파일은 .html 또는 htm으로 저장된다.
Mysql 의 역할
데이터베이스에 저장된 데이터를 클라이언트와 서버간 전송하는 역할을 하며 다중 스레드, 사용자, 구조질의어 형식을 지원하는 관계형 데이터베이스 시스템이다 TCP/IP socket port 3306번사용
Php역할 *7점
PHP는 웹 서버측에서 동작하는 스크립트 이며, 실행하기 위한 모듈은 웹 서버에 있고, 이를 스크립트 명령으로 실행해 데이터베이스 내용을 가져와 html형식으로 웹서버에 전달하는 역할
Dns
도메인 네임 시스템은 호스트의 도메인 이름을 IP주소로 바꾸거나 그 반대의 변환을 위해 개발되었다. IP주소 기반의 인터넷 체계에서 도메인명 기반으로 이용하려면 필수적으로 구성해야 하는 것이 DNS서버이며, DNS 서버는 보유한 도메인을 관리해주는 역할을 수행하지만, 클라이언트에서 도메인명에 대한 IP주소의 조회를 요청했을 경우 반환해주는 역할도 수행한다. *7점
Primary Name Server(1차 네임서버) *8점
사용하는 도메인을 관리하기 위해 필수적으로 구성하는 서버로 보통 Master DNS라고 부른다. 도메인이 등록할 때 이 서버의 IP 주소를 등록하고, 자체 도메인에 대한 정보를 관리하게 된다.
Secondary Name Server(2차 네임서버) *9점
Primary Name Server의 zone 파일을 백업하는 역할을 수행하여 Slave DNS라고도 부른다. 외부 클라이언트에서 이 서버를 2차 DNS 서버로 설정하면 Master DNS가 다운된 상태라도 정상적으로 해당 도메인에 대해 리졸빙(reslolving) 정보를 제공한다.
Caching Name Server(캐시 네임서버) *10점
관리하는 도메인 없이 리졸빙만을 제공하기 위해 구성하는 서버이다. 도메인에 대한 리졸빙 결과를 저장하고 서버에 기록된 정보에 대한 요청이 들어올 경우에 직접 조회하지 않고 바로 응답해주는 역할을 수행한다. 인터넷 사용 속도를 높이기 위해 사용되기도 한다.
메일
SMTP(Simple Mail Transfer Protocol, Port : 25)
인터넷에서 E-Mail을 보낼 때 사용되는 프로토콜로 메일 서버간의 송수신뿐만 아니라 메일 클라이언트에서 메일 서버로 메일을 보낼 때 사용된다.
POP3(Post Office Protocol Version 3, Port : 110)
서버에 도착한 메일을 클라이언트에서 직접 내려 받아 읽도록 해주는 프로토콜로 메일을 확인하면 서버로부터 메일을 클라이언트로 가지고 온 후 서버에서 해당 메일을 삭제한다. 따라서 다른 곳에서 다시 메일을 확인하려면 남아 있지 않아 확인할 수 없게 되는 단점이 있다.
IMAP(Internet Mail Access Protocol, Port : 143)
POP3와 마찬가지로 클라이언트 사용자가 메일 서버에 도착한 메일을 확인할 때 사용하는 프로토콜로 메일을 확인 후 에도 서버에 해당 메일이 계속적으로 존재하여 다른 곳에서 메일 확인이 가능하다는 장점이 있으나, 메일이 계속 존재하기 때문에 메일서버 통신 트래픽을 높이는 단점이 있다.
MTA 이메일을 SMTP 프로토콜을 이용해 다른 메일 서버로 전달하는 프로그램 (메일 서버 프로그램)
MUA 사용자가 메일을 읽고 보낼 때 사용하는 프로그램을 의미한다.
MDA 일종의 대리인 역할을 수행하는 프로그램으로 메일박스에 도착한 메일을 대행해서 가져오거나 전달하는 역할
메일서비스를 이용하기 위한 프로그램은 sendmail, qmail, postfix 등이 있다
Ftp
FTP는 TCP/IP 프로토콜 기반으로 서버와 클라이언트 사이에 파일을 주고 받기 위한 프로토콜이다.
FTP를 사용하기 위해서는 FTP 서버를 구축해야 하고, 서버에 접속하기 위한 계정이 필요하다.
일반적인 FTP서버는 서버에 등록된 계정만 이용가능하나, 공개 소프트웨어를 공유하는 서버인 경우에는 익명의 계정을 이용해서 파일을 다운로드할 수 있다. 리눅스에서 사용하는 대표적인 FTP 서버 프로그램에는 Wu-ftpd, proftpd, vsftpd 등이 있다.