리눅스나 유닉스용 java 배포파일을 보면 *.bin 형식으로 배포되는데 해당 파일은 어떻게 작성되어 지는걸까요? InstallAnyWhere 같이 전문적 저작툴도 판매되고 있으나 금전적 여유가 없다면 손이 좀 고달프면 되겠지요?
리눅스 환경에서 배포되는 bin 형태의 자동 압축풀림 파일을 만들어 보도록 하겠습니다.
1. 설치파일 압축하기
[root@svr ~]# tar cvfz mypkg.tar.gz mypkg/*
2. 헤더파일 만들기
---------------------------------------------------------------------------
[root@svr ~]# cat > sfx-header << EOF
#!/bin/sh
while true
do
DEFAULTDIR="/opt/mypkg"
echo ""
echo "In which directory do you want to install the binary files?"
echo "ENTER an absolute path, or press <ENTER> to accept the default."
echo -n "[/opt/mypkg]: "
read RDEFAULTDIR; clear
case $RDEFAULTDIR in
"")
DEFAULTDIR=$DEFAULTDIR;
;;
*)
DEFAULTDIR=$RDEFAULTDIR
CHKABS=${DEFAULTDIR:0:1}
if [ $CHKABS != "/" ]; then
echo ""
echo "The path \"$DEFAULTDIR\" is a relative path."
echo "Please enter an absolute path."
continue
fi
;;
esac
if test -d $DEFAULTDIR; then
break
else
echo ""
echo "The path \"$DEFAULTDIR\" does not exist currently. This program is"
echo "going to create it, including needed parent directories."
echo -n "Is this what you want? [yes]: "
read YESORNO; clear
case $YESORNO in
"")
break
;;
[Yy]|[Yy][Ee][Ss])
break
;;
[Nn]|[Nn][Oo])
;;
*)
;;
esac
fi
done
tail -n +60 $0 | tar xz -C $DEFAULTDIR
exit 0
EOF
---------------------------------------------------------------------------
중요 내용은 tail 명령인데 tail -n +60은 60번째 줄 부터 출력을 하라는 명령 입니다. 즉 60번째 줄 부터 출력하여 tar로 압축을 해제하는 명령이 됩니다. 60번째 줄은 cat으로 넘긴 mypkg.tar.gz이 있으니, 최종적으로 입력받은 $DEFAULTDIR에 mypkg.tar.gz의 압축을 해제하게 됩니다.
3. bin 파일 생성
[root@svr ~]# cat sfx-header mypkg.tar.gz > mypkg-install.bin
4. bin 파일 실행하기
[root@svr ~]# chmod 755 mypkg-install.bin
[root@svr ~]# ./mypkg-install.bin
In which directory do you want to install the binary files?
ENTER an absolute path, or press <ENTER> to accept the default.
[/opt/mypkg]:
<ENTER>를 누르게 되면 /opt/mypkg 디렉토리에서
압축해제된 파일을 확인 하실 수 있겠습니다.
"기타 유용한 기술정보" 카테고리의 다른 글
- 메일서버 오픈 릴레이(Relay) 체크하기 (댓글 0개 / 트랙백 0개) 2008/10/06
- EUC-KR 환경에서 PuTTY 한글입력 (댓글 0개 / 트랙백 0개) 2008/07/23
- 리눅스/유닉스용 자동 압축풀림(Self Extra) 파일 만들기 (댓글 0개 / 트랙백 0개) 2008/07/23
- 한대의 PC에서 IE 버전별로 테스트 (댓글 0개 / 트랙백 0개) 2008/07/23
- UTF-8 환경에서 임시적으로 EUC-KR 환경 구성하기 (댓글 0개 / 트랙백 0개) 2008/07/23
- Apache 웹서버에서 이미지(사진) 무단링크 방지 방법 (댓글 0개 / 트랙백 0개) 2008/07/23
- 리눅스 tail 보다 편리한 윈도우즈 mTAIL (댓글 0개 / 트랙백 0개) 2008/07/23
- 유니코드 편집의 최강 에디터 EmEditor 무료버전 (댓글 0개 / 트랙백 0개) 2008/07/23
- AIX와 리눅스 성능 분석을 위한 무료 툴 (댓글 0개 / 트랙백 0개) 2008/07/23
- FastCGI 구동환경 구성하기 (댓글 0개 / 트랙백 0개) 2008/07/23


Prev

Rss Feed