프로그램 수동 설치 (Source Compile)
소프트웨어 컴파일이란, 프로그램을 설치할 때 환경변수를 주면서 설치하는 경우이다.
풀어서 얘기하면 소스파일(Source File)을 직접 컴파일 하여 프로그램을 설치,
일반적으로 패키지 매니저로 프로그램을 설치하게 되면 기본설정(Default)으로 설치가 진행되지만,
환경변수를 주며 설치하면 목적(환경)에 맞는 설치를 진행할 수 있다.
소프트웨어 컴파일을 활용하는 대표적인 예시로
APM(Apache Web Server + PHP Web Programming Language + MySQL Database)을
상호 연동하여 설치한다면 소프트웨어 컴파일로 설치해야 한다.
● 소프트웨어 컴파일의 순서
./Configure(환경설정) → make(사용자 프로그램을 기계어로 변환) → make install(컴퓨터에 프로그램을 설치)
순으로 과정이 진행된다.
● Source Compile 실습
wget http://www.dest-unreach.org/socat/download/Archive/socat-1.4.2.0.tar.gz
### download tarball source
** ~.tar.xx / ~.tar 형식 파일의 경우 TAR(Tape ARchiver) 프로그램으로,
묶여있거나 압축이 된 파일들을 의미한다.
일반적으로 이런 형식의 파일들을 "tarball source" 라고 칭한다.
** 대부분 배포하려는 파일을 압축할 때에는 압축효율이 가장 좋은 '~.gz' 방식을 사용한다.
'unzip'의 경우 디폴트 설치가 되어있지 않은 리눅스 배포판이 존재하니 확인 후 사용할 것
▼ 명령어를 이용하여 tarball source를 압축해제 (해당 소스파일의 경우 tar.gz)
tar xvfz ~.tar.gz # ~.gz 파일의 압축해제 옵션 'z'
tar xvfj ~.tar.bz # ~.bz 파일의 압축해제 옵션 'j'
unzip ~.zip # ~.zip 파일의 압축해제 명령어 'unzip'
어느 프로그램을 다운받은 후(압축을 풀고), 보았을 때 configure 파일이 있으면 컴파일하여 설치하라는 의미이고
해당 파일에 대한 정보나 사용법 등이 궁금하면 해당 파일에 있는 README 파일을 읽어보면 된다.
** configure 시 사용 가능한 옵션 등을 확인하고 싶은 경우에는 ./configure --help 옵션을 활용하여
확인해볼 수 있다.
** 기본 설정값으로 설치를 진행하고자 한다면, 옵션을 사용하지 않고 ./configure 만 실행해주면 된다.
./configure --prefix=/usr/local/apache --enable-ssh --disable-ipv6
● prefix=/usr/local/apache = 연계를 맺을 대상 프로그램을 지정
● --enable-ssh = SSH 접속을 허용할 것
● disable-ipv6 = IPv6는 사용하지 않을 것
등 간략하게 정책을 설정 해주었다.
"기계어로 변환시킨 후에 프로그램을 설치해라" 를 한 줄에 입력하여 다중명령을 사용한 예시인데,
● ; 의 경우 첫 번쨰 명령이 실패해도 두 번째 명령어로 넘어가서 실행되기 때문에
● && 를 사용하는 것을 추천(첫 번째 명령어 실패 시 두 번째 명령어는 실행 X)
'Linux_System' 카테고리의 다른 글
[Linux]Process(2)_top (0) | 2022.11.08 |
---|---|
[Linux]Process(1)_ps (0) | 2022.11.05 |
[Linux]YUM_LocalRepository (0) | 2022.10.26 |
[Linux]Basic_Command(2) (0) | 2022.10.10 |
[Linux]Basic_Command(1) (0) | 2022.10.06 |