linuxk-layouts
MariaDB Archives
Apache Source Code
3
4

configure 란....?

configure 란....?


./configure 는 쉽게 설명을 하면 인스톨을 하기 위한 환경을 설정하는 프로그램입니다..


--prefix=/usr 는 컴파일된 프로그램을 설치하는 위치이구요... 여기에서는 컴파일된 프로그램들을 /usr 디렉토리로 인스톨하라는 의미가 되겠군요...


man configure 를 해보시면 각각의 자세한 의미들이 나옵니다.


아침에 잠시 짬이 생겨서 부연 설명을...


Windog 체제에서는 install이라는 과정이 아주 간단하죠... 인스톨실드 같은 것으로 포장이 잘 된 프로그램이라면 컴파일이 이미 되어서 압축된 프로그램을 자신의 하드디스크 같은 곳에 압축을 풀면서 끝이 납니다.. (물론 내부적으로 보면 약간의 작업이 더 있습니다만...)


Unix(리눅스 포함) 체제에서는 install이라는 작업이 운영 체제에 따라서 약간 다르지만 크게 두 가지로 나눌 수 있습니다... windog의 인스톨실드와 유사한 package나 rpm로 인스톨을 하는 방법이 있고, 소스를 받아서 컴파일을 해서 인스톨을 하는 방법이 있죠... 님은 후자로 인스톨을 하는 중이구요...


소스로 된 프로그램을 인스톨을 하는 방법은 전적으로 프로그램을 만든 사람의 맘에 달렸는데, 그나마 일반화된 방법이 configure -> make -> make install 의 순으로 인스톨을 하는 것입니다...


configure : 현재 OS의 종류나 컴파일러 위치, 종류 등을 파악하고, 사용자가 컴파일이 완료된 프로그램의 위치를 지정하거나, 기타 등등 환경을 맞춰서 자신이 원하는 makefile을 만들어내는 과정


make : configure에 의해서 만들어진 makefile로 프로그램을 컴파일 하는 과정...


make install : 컴파일된 프로그램, 환경화일, 데이터 화일을 지정된 위치에 복사하는 과정...


컨피그의 명령어는 자신의 환경에 적당한 makefile을 작성하기위해서 컴파일 하기 위한 준비 명령어로 이는 컴파일에 필요한 모든 정보를 담는 과정입니다. prefix는 절대 경로를 지정해 주는 의미입니다.


./configure는 설치를 위한 설정을 하는 거라는걸 이제 아실거구요

./configure --prefix=/usr/이라고 하면

기본적으로 /usr/이라는 디렉토리에 설치가 됩니다.


그리고 Xinetd에서 해석을 하자면요....

# cd xinetd-2.1.8.9pre14 --> 이건 디렉토리로 이동하는 명령어입니다.

# # ./configure --prefix=/usr --sysconfdir=/etc --with-loadavg --with-libwrap ---> 이건 /usr라는 디렉토리에 기본적으로 설치를 하고 --sysconfdir=/etc/라는 옵션으로 system configuration파일들, 즉 시스템 설정파일들은 /etc/아래에 설치를 하라는 뜻입니다. 아시겠지만, 리눅스에서 대부분의 설정파일들은 /etc 디렉토리 아래에 있습니다. 그래서 이 명령에서도 설정파일들을 /etc 에 따로 모아두라는 겁니다. 

아! 그리고 위에서 --prefix=/usr이라고 하면 바이너리 파일은 /usr/bin으로 man파일은 /usr/man으로 자동적으로 찾아가서 설치가 됩니다. 그리고 /usr/bin은 path 에 기본적으로 설정되있어서 아무곳에서는 실행이 가능하지요. 그리고 configure에는 많은 --with나 --no 등의 옵션이 있습니다. 짐작하듯이 이 옵션에 적혀있는 기능을 넣거나 혹은 특정라이브러리를 이용해서 컴파일 하겠다는 뜻입니다. 

위에서는 loadavg라는 것을 이용하고, 또한 libwrap이라는 걸 이용해서 컴파일하거나 혹은 이런 라이브러리를 만들어 내겠다고 하는 것입니다.

이런 옵션에 대해서는 configure --help라고 하면 간략하게 설명되어있습니다. 혹은 readme나 install파일을 보면 설명이 되어잇습니다.

아마도 libwrap은 tcp-wrapper라는 보안관련 라이브러리를 말하는 거 같군요


https://m.blog.naver.com/PostView.nhn?blogId=shsoul12&logNo=10125468848&proxyReferer=https%3A%2F%2Fwww.google.com%2F


- Signature

안녕하세요 리눅스 커뮤니티 한국 리눅스 입니다.

linux korea