달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

http://http://suite.tistory.com 2012.09 fs 


스크립트하나로  실행파일이나 디렉토리 전체를 배포하고 싶을때 

자바리눅스 버전 설치시 jdk.bin 처럼 하나만 실행하면 설치가됨~ 

윈로우로 치면 인스톨쉴드 or NSIS?? 


검색좀 해보니 makeself 라는것이 있음 http://www.megastep.org/makeself/   

라인세스는 GNU 오픈소스 ~


1. 설치 http://www.megastep.org/makeself/makeself.run  


makeself.run


wget 등으로  makeself.run 파일을 다운로드 받은후  

$>./makeself.run --target makeself

Creating directory makeself

makeself 디렉토리에  설치파일을 만드는 스크립트 makeself.sh 가 있음


2. 배포 설치용 만들기 

$>makeself.sh --help 해보면 

Usage: ./makeself.sh [params] archive_dir file_name label [startup_script] [args]

 <옵션>  <묶을디렉토리> <설치파일명> <설치파일 수행시노출되는 문장> <설치파일 수행후 실행할 명령어등> 이렇게됨


실제 사용 예로  스크립트를 하나 만들면 


~~~~~~~~~~~~~~~~~~~~~~~~ make_install.sh ~~~~~~~~~~~~~~~~~~~~~~~~

#!/bin/sh

INSTALL_FILE="install.sh"

SOURCE_DIR="/home/admin"

STARTUP_CMD="rm -rf $SOURCE_DIR;mkdir -p $SOURCE_DIR;mv * $SOURCE_DIR/"

rm -f $INSTALL_FILE

makeself/makeself.sh --notemp $SOURCE_DIR $INSTALL_FILE "admin tool home:[$SOURCE_DIR]" $STARTUP_CMD


~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


--notemp 는 실행스크립트(install.sh) 수행후 임시디렉토리에 만들지말고 수행하는 디렉토리에 설치 

--notemp를 안하면  실행스크립트(install.sh) 수행시 --keep 옵션을 주어도됨 


끝!~




 

:
Posted by mastar