반응형

db2 데이터베이스 삭제 명령어입니다.

db2 drop database [데이터베이스명];



반응형

'Database' 카테고리의 다른 글

db별 jdbc url 및 jdbc driverClass 정리  (0) 2018.03.09
mysql create database  (0) 2018.03.09
db2 character set 확인  (0) 2018.02.13
db2 - SQL1025N The database manager was not stopped because databases are still active.  (0) 2018.02.13
DB2 : SQLCODE=-668, SQLSTATE=57016  (0) 2018.01.25
db2 window client 설치  (3) 2018.01.24
db2 substring  (0) 2018.01.11
DB2 LIKE 검색  (0) 2018.01.07
반응형

apache http server project를 yum이나 rpm 없이 compile을 통해서 install하는 방법을 공유합니다.


아파치를 컴파일 하기위해선 먼저 apr, apr-util, pcre가 설치되어 있어야 합니다.


그리고 pcre를 설치하기 위해선 expat-devel 이 설치되어 있어야합니다. 

(pcre는 정규식사용을 위한 라이브러리입니다.)


아파치 설치를 위해 역순으로 설치합니다.


1. expat-devel 설치는 yum을 통해서 설치합니다. ( 추후에 expat도 컴파일 설치하는 방법을 공유하도록 하겠습니다. )


yum install expat-devel





2. pcre 설치


다운로드 URL : http://www.pcre.org/

URL에 접속하면 아래 화면이 뜨는데, 빨간 박스 부분을 클릭합니다.



그러면, 아래 화면으로 넘어가는데 최신버전은 아래로 가도록 정렬됩니다.

2018년 2월 현재 pcre중에 최신버전인 pcre-8.41.tar.gz를 다운로드 받습니다.



다운받은 파일의 압축을 풉니다.

tar -xvzf pcre-8.41.tar.gz



압축을 푼 디렉토리로 이동해서 configure 명령어를 실행합니다. prefix 옵션을 통해 설치 위치를 지정합니다.

make && make install 을 하면 설치가 완료됩니다.


./configure --prefix=/svc/apache/pcre8.41
make
make install



만약에 pcre 를 설치하기전에 expat-devel 이 설치되어있지 않으면 아래 오류메시지를 만나게 됩니다.

xml/apr_xml.c:35:19: error: expat.h: No such file or directory
xml/apr_xml.c:66: error: expected specifier-qualifier-list before ‘XML_Parser’
xml/apr_xml.c: In function ‘cleanup_parser’:
xml/apr_xml.c:364: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:365: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c: At top level:
xml/apr_xml.c:384: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
xml/apr_xml.c: In function ‘apr_xml_parser_create’:
xml/apr_xml.c:401: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:402: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:410: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:411: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:412: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:424: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:424: error: ‘default_handler’ undeclared (first use in this function)
xml/apr_xml.c:424: error: (Each undeclared identifier is reported only once
xml/apr_xml.c:424: error: for each function it appears in.)
xml/apr_xml.c: In function ‘do_parse’:
xml/apr_xml.c:434: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:438: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:442: error: ‘apr_xml_parser’ has no member named ‘xp_err’
xml/apr_xml.c:442: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c: In function ‘apr_xml_parser_geterror’:
xml/apr_xml.c:500: error: ‘apr_xml_parser’ has no member named ‘xp_err’
xml/apr_xml.c:500: error: ‘apr_xml_parser’ has no member named ‘xp_err’
make[1]: *** [xml/apr_xml.lo] Error 1
make[1]: Leaving directory `/home/goni9071/apr-util-1.6.1'
make: *** [all-recursive] Error 1




3. apr, apr-util 설치


다운로드 URL : https://apr.apache.org/


URL로 이동하면 아래 화면이 나오는데 빨간박스 부분을 클릭합니다. (위,아래 모두 동일한 링크입니다.)


위의 링크를 클릭하면 아래화면이 나옵니다.

APR과 APR-util을 각각 최신버전으로 다운로드 받습니다.


모두 다운로드 받았으면 pcre와 동일하게 다음 절차를 진행합니다.

prefix를 통해 설치 위치를 지정하고  --with-apr을 통해 apr이 설치된 위치를 알려줍니다.


tar -xvzf  apr-1.6.3.tar.gz
cd apr-1.6.3
./configure --prefix=/svc/apache/apr1.6
make
make install
 
tar -xvzf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --with-apr=/svc/apache/apr1.6 --prefix=/svc/apache/aprutil1.6
make
make install




4. 마지막으로 apache를 설치합니다.

다운로드 URL : http://httpd.apache.org/download.cgi


URL로 이동해서 아래화면의 빨간박스를 클릭합니다.


마찬가지로 다운롤드 받은 파일의 압추을 풀고 다음 절차대로 진행합니다.

prefix를 통해 설치위치를 지정하고 with-apr을 통해 apr 설치위치를 알려줍니다.

with-apr-util을 통해 apr-util 설치 위치를 with-pcre를 통해 pcre 설치위치를 알려줍니다.

enable-proxy 는 ProxyPass 기능이 필요해서 추가하였습니다.

enable-rewrite  역시 RewriteRule 기능이 필요해서 추가하였습니다.

tar -xvzf httpd-2.4.29.tar.gz
 
cd httpd-2.4.29
 
./configure --prefix=/svc/apache/httpd2.4 --with-apr=/svc/apache/apr1.6 --with-apr-util=/svc/apache/aprutil1.6 --with-pcre=/svc/apache/pcre8.41 --enable-proxy --enable-so --enable-rewrite
 
make
 
make install
cs



다음 명령어를 통해 아파치를 시작할 수 있습니다.

/svc/apache/httpd2.4/bin/httpd -k start





다음은 apr을 설치하지 않고 아파치 configure를 진행했을 때 발생하는 오류입니다.

checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... no
configure: error: APR not found.  Please read the documentation.



반응형
반응형

qwerty 키보드를 기준으로 한글<-->영어 를 변환하는 스크립트입니다.

한가지 주의하실점은 영어->한글은 100% 의도한대로 되지 않을 수 있습니다.

예를 들어 tjdnf 의 경우 '서울' 혹은 '성ㅜㄹ' 이 두가지 모두 이론적으로 가능합니다. 이 스크립트는 '서울'로 변환되도록 되어있습니다.

 

[테스트]

 

 

 

 

 

[테스트코드]

 

 

 

[전체 스크립트]

 

 

반응형
반응형

말줄임 표시를 위한 class 입니다.

적용될 element에 width 가 필수적으로 지정되어야 합니다.

stringcut class는 공용으로 쓰기 위해서 width를 넣지 않았습니다.

 

 

 

 

 

반응형

'스크립트' 카테고리의 다른 글

java compile script 자바 컴파일 스크립트  (0) 2018.04.05
javascript jquery each break  (0) 2018.04.03
자바스크립트 javascript uuid  (0) 2018.03.21
자바스크립트 한영변환 한영전환  (0) 2018.02.07
javascript long to date  (0) 2018.01.15
bootstrap datepicker range  (0) 2018.01.12
javascript isArray  (0) 2018.01.12
javascript 한글 초성, 중성, 종성  (2) 2018.01.10
반응형

리눅스에서 마운트 해제를 명령어를 실행했는데 device is busy 오류가 발생했을 때 처리방법입니다.


[root@goni] umount /disk
 
 
umount: /disk: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
 




fuser 는 특정 파일시스템에 대해서 누가(사용자,프로세스 등) 사용하고 있는지 확인하거나 해당 프로세스를 죽이는 업무 등을 실행할 수 있습니다.

-ck 옵션을 통해 마운트 해제하려는 파일시스템을 사용하고 있는 프로세스를 죽인 후에 다시 umount 명령어를 실행하면 잘 됩니다.


fuser -ck /disk



반응형
반응형

KT 에그 단말기 비교를 해보았습니다.
저는 개인적으로 올데이 에그를 선택했습니다.

가장 오래 사용할 수 있고 디자인도 나쁘지 않습니다.

가볍고 예쁜거 좋아하시는 분들은 슬림 에그나 여긴 없지만 와이파이 쏙 슬림(IML-c5000w)를 추천드립니다.

 

슬림 에그

올데이 에그

LTE EGG+C

LTE EGG+I

글로벌 원 에그

통신사

KT

KT

KT

KT

KT

제조사

인포마크

㈜넥스프링

인포마크

모다컴

화웨이

모델명

IML500

NP40K

IML460

KMR200

HW-E5885

단말기출고가

132,000

132,000

132,000

143,000

148,000 

무게

73g

132g

90g

84g

195g(배터리 포함)

크기

109 x 62 x 8.5mm

43 x 99 x 23mm

103 x 61 x 11.7mm

113.6 × 24.7 × 27.5mm

112.0 x 69.2 x 23mm

배터리

 2,400mAh(내장형)

6,000mAh(탈착형)

 2,420mAh (탈착형)

3,100mAh(내장형)

6,400mAh (내장형)

연속사용시간

16

32

8

12

30

대기시간

600

48

14

24

1600

최대접속

 

 

7대

10대

32대

기타

 

보조배터리로사용가능

보조배터리로사용가능

보조배터리로사용가능

보조배터리로사용가능

 

무선외장하드가능

무선외장하드가능

분실알림기능

무선외장하드가능

 

 

 

파우치기본제공

 


반응형
반응형

서비스를 리눅스에서 운영하다보면 하염없이 로그가 쌓여만 가는 경우가 발생합니다. (디스크 팡팡)

어플리케이션에서 로그를 알아서 정리해주는 경우면 좋겠지만 그렇지 않은 경우도 있기 때문에 전체적으로 로그를 정리해주는게 필요합니다.


쉘 스크립트를 작성해서 정리해주는 방법도 있지만 이번엔 apache의 logrotate 을 이용해 로그를 정리하는 방법을 공유합니다.


전제 조건으로는 apache가 설치되어 있어야합니다.


그리고 다음과 같이 /etc/crontab 파일에 corn.시리즈들이 등록되어있어야 주기적으로 logrotate가 실행됩니다.

(/etc/cron.daily 아래에 logrotate 파일이 있어야 합니다.)


vi /etc/crontab


1
2
3
4
5
6
7
8
9
10
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly




아래 위치로 이동해 봅니다.

1
cd /etc/logrotate.d/



여러 파일이 보일텐데 여기에 우리가 정리하고자 하는 로그들과 정책을 정의하는 파일을 생성합니다.


tomcat을 예를 들어보겠습니다.

/etc/logrotate.d에 tomcat 파일을 만듭니다.


1
vi tomcat



내용은 아래처럼 설정합니다.


1
2
3
4
5
6
7
8
9
10
11
/svc/tomcat/tomcat7/*/logs/*.out {
 copytruncate
 maxsize 500M
 daily
 rotate 30
 compress
 missingok
 notifempty
 dateext
}



copytruncate : 기존 파일을 백업해서 다른 파일로 이동하고 기존 파일은 지워버리는 옵션

(이옵션을 넣지 않으면 현재 사용중인 로그를 다른이름으로 move하고 새로운 파일을 생성한다.)

(이옵션을 활용하면 postrotate를 통한 서비스 재시작 없이 무중단 로깅이 가능하다.)

maxsize : 파일 최대크기로 최대크기가 넘으면 로테이션하고 최대크기가 넘지 않으면 daily로 로테이션

daily : 로그파일을 날짜별로 변환

compress : 지나간 로그파일들을 gzip으로 압축

dateext : 순환된 로그파일의 날짜확장자

missingok : 로그파일이 없더라도 오류를 발생시키지 않음

rotate 30 : 로그 파일은 30개만큼 저장된 다음 제거되거나 메일로 보내짐

notifempty : 파일의 내용이 없으면 새로운 로그 파일을 생성 안함

maxage 30(숫자) : 30일 이산된 로그 파일 삭제


테스트는 다음 명령어를 이용해서 하면됩니다.

1
2
3
4
5
#디버그 모드 실행 (실제로 실행되지 않는다.)
/usr/sbin/logrotate -/etc/logrotate.conf
 
#강제 실행
/usr/sbin/logrotate -f/etc/logrotate.conf



반응형
반응형

리눅스에서 파일의 날짜를 변경하는 방법입니다.


#빈 파일 생성
touch 파일명
 
#현재시간으로 변경
touch -c 파일명
 
#특정시간으로 변경
touch -t yyyyMMddHHmm 파일명
 
#다른 파일의 수정시간 복사
touch -r 복사원본파일명 복사대사파일명



반응형
반응형

아파치 시작시 다음 오류가 발생하는 경우 처리 방법입니다.

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message



httpd.conf 파일에서


ServerName 을 찾아서 주석을 해제하고 다음과 같이 설정합니다.

ServerName 127.0.0.1



반응형
반응형

아파치를 시작 할 때 아래 오류가 뜨는 경우 처리 방법입니다.

AH00557: httpd: apr_sockaddr_info_get() failed for [호스트명]


vi /etc/hosts



127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 [호스트명]



반응형

+ Recent posts