본문 바로가기

Technical

CentOS 5.4, MySQL build를 위한 패키지들 (MySQL은 Percona XtraDB 5.1.49 기준) binutils automake libtool bison make termcap libtermcap.x86_64 libtermcap-devel.x86_64 gcc gcc-c++.x86_64 libstdc++.x86_64 ncurses ncurses-devel.x86_64 glibc.x86_64 glibc-common.x86_64 glibc-devel.x86_64 glibc-headers.x86_64 glibc-utils.x86_64 더보기
Excel 2007 - 프로그램으로 명령을 전송하는데 문제가 있습니다 [포스팅AS, 2013년 10월] 3년 전의 문제인데, Windows OS도, 그 위에서 돌아가는 MS Office도 만들 수 있는 기술을 가진 회사에서 왜 이런 사소하다면 사소한 문제를 해결 못하고 일일이 설정을 다시 만져 주어야 하는지 모르겠다. 사용자가 실수를 하거나 몰라서 이런 일이 생긴다거나 할 경우라도, 명확한 예방/해결 방법을 제시하는 것이 참 무던히도 어려운 일인가보다. 이 정도로 하고 넘어가자. Windows 계열의 데스크탑 환경에서 MS Office 2003, 2007, 2010을 쓰다 보면 간혹 만나는 황당한 경우이다. 탐색기 등에서 Xls 파일을 더블클릭하면 파일이 Excel에서 열려야 되는데 어느 날 갑자기 다음과 같은 메시지를 뿌리며 오류창이 떠 버리고 파일이 로딩되지 않는 현상.. 더보기
MySQL replication : Statement-Based vs. Row-Based replication * Reference : http://www.qijoo.com/FAPM/mysql/5.1/MySQL_51_en/ch06s12.html [Statement-based] - MySQL 3.23 부터 존재해 온 검증된 기술이다 - 상대적으로 log 파일 크기가 작다. 특히 다량의 update/delete의 경우에 효과가 크다 log 크기가 작으면 저장공간에 부담이 적고 빠른 백업이 가능하다 - log 파일에 모든 변경 내용이 저장되어 DB audit 에서 사용 가능하다 - log 파일은 replication 용도 뿐 아니라, 적절한 시간과 지점에서의 recovery에 사용될 수 있다 - Slave는 Mater와 다른 더 새로운 버전의, row 구조가 다른 MySQL로도 적용될 수도 있다 - UPDATE문에서의.. 더보기
MySQL replication 수동 복구(Slave 동기화) #2 Full dump 파일이 100MB 이상 되면 slave 에서 로드하다보면 제대로 되는지 확인이 안되서 시간은 급한데 억장이 무너진다면 아래의 방법을 써본다. * Master: 10.10.0.200, Slave: 10.10.0.201 1. Master database read lock # mysql -uroot -prootpass flush logs; flush tables with read lock; 2. Rsync from master to slave(Slave) # mysqladmin -uroot -prootpass shutdown # rm -rf /user/services/mysql/data/* # rsync -r -p -v root@10.10.0.200:/user/service/mysql/dat.. 더보기
MySQL 5.5.5m3 configure bug(Building MySQL 5.5.5m3) * Refer to http://bugs.mysql.com/bug.php?id=55350 * make 시에 아래와 같은 오류 발생 ------------------------------------------------------------------------------------------------------ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../sql -O3 -m32 -march=core2 -fomit-frame-pointer -pipe -fno-exceptions -DUNIV_LINUX @ndbcluster_includes@ -c perror.c gcc: @ndbcluster_includes@: No such fi.. 더보기
Building mongodb r1.4.4 [Getting ready] * Install spidermonkey(js.lib) # curl -O ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz # tar zxvf js-1.7.0.tar.gz # cd js/src # export CFLAGS="-DJS_C_STRINGS_ARE_UTF8" # make -f Makefile.ref # JS_DIST=/usr make -f Makefile.ref export * install scons, pcre-devel # zypper in scons # zypper in pcre-devel * Packages needed for building mongo git, tcsh, scons, gcc-c++, glib.. 더보기
MySQL innotop 설치 & 사용(OpenSUSE 11.2 or Fedora 14, MySQL 5.1.44~5.5.4m3) MySQL InnoDB 사용자를 위한 모니터링 툴( http://code.google.com/p/innotop/ , http://code.google.com/p/innotop/wiki/Screenshots ) 2010/11 에 새 버전이 나와서 update합니다. * Run as superuser # wget http://innotop.googlecode.com/files/innotop-1.7.2.tar.gz # wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz # zypper install perl-DBD-mysql [참고] # yum install perl-TermReadKey (Fedora의 경우, 빠져 있기 쉬운 패키지) # tar xv.. 더보기
iPhone 음악 동기화 tip(itunes), Jailbroken 상태 Jailbreak를 하더라도 음악 동기화는 주로 iTunes 로 하게 되는데 가끔 이 iTunes의 음악 DB가 깨지는 경우가 생긴다. 탈옥이 아닌 순정 상태라면 자주 백업해 두고 백업에서 복원하는 것이 더 속편할 지도 모르겠다. 우리는 탈옥상태이므로 자동동기화는 기본으로 해제하였을테고, (*)IPhone연결하고 iTunes 실행하면 장비의 폴더목록(음악/벨소리 등)은 없고 "이전에 iPhone이 이 컴퓨터와 동기화되었습니다" 라는 메시지와 함께 초기화할래? **일자 백업으로 복원할래? 달랑 2개 옵션만 띄운 채 다음 버튼이 떠 있으면 참 난감하다. 이 상황은 주로 iTunes DB가 깨져 있기 때문인데(본인은 iTunes, CopyTrans로 음악 동기화, iPhone PC suit 2.8,x 로 탈옥.. 더보기
MySQL ndbcluster & Replicator 설정 - help text [Mysql NDB Cluster 설정] - 5.1.44-ndb-7.1.4b 1. 소스 다운로드 http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.1/mysql-cluster-gpl-7.1.4b.tar.gz/from/http://mirror.khlug.org/mysql/ 2. 압축 해제, 설치 (필수 패키지: curses*, termcap, gcc-c++) # ./configure --prefix=/user/service/mysql --with-mysqld-user=mysql --sysconfdir=/user/service/mysql/conf --with-unix-socket-path=/tmp/mysqld/mysql.sock --with-charset=utf8 -.. 더보기
MySQL 5.5.4m3 Source build & Installation on OpenSUSE 11.2 1. Source 다운로드, 압축해제 다운로드 http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.4-m3.tar.gz/from/http://mirror.khlug.org/mysql/ # tar xvzf mysql-5.5.4-m3.tar.gz 2. mysql 사용자 추가 # groupadd mysql # useradd -M -g mysql -s /bin/false mysql 3. Configure Makefile * ForMysqlBaseDir : /usr/local/ or /dev/local/service/, etc... # rm -rf /ForMysqlBaseDir # ./configure --prefix=/ForMysqlBaseDir/mysql --wi.. 더보기
MySQL, Hex와 Conv로 Mac address 계산하기 SET @mac := '00afafafafaf'; -- ==> '00afafafafb0' 로 주소 값을 1증가 시키려고 한다 CONV(@mac, 16, 10) + 1; -- 12자리 mac address string을 BigInt 정수로 변환하여 +1 HEX(정수); -- 정수값을 hexadecimal string으로 변환 LPAD(string, digits, '0'); digits자리수 만큼 왼쪽에 '0'을 채운다 -- 결과 SELECT LPAD(HEX(CONV(@mac, 16, 10)+1), 12, '0'); SELECT INET_ATON( '168.126.63.1') = 2826845953 -- BigInt SELECT INET_NTOA( 2826845953 ) = '168.126.63.1' 더보기
Setting up Xen Dom0 kernel 2.6.31.12 on OpenSuse 11.2 Setting up Xen Dom0 kernel 2.6.31.13 on OpenSuse 11.2 * Installation methods are as follows (1) Binary tarball from xensource.com(xen-3.x.x-install.tgz) (2) RPM download and install (3) Online Package installation by zypper or yast or yast2(software installation) (4) From source - Xen source(make dist-xen,...) / Kernel source+patch(Patch & make modules_install & modifying grub) - Xen source / Cu.. 더보기
OpenSuse 11.2 dom0 - PV domU VM creation from CentOS5.4 DVD & http setup 오랜만에 Posting...^_^;;; Sorry for all these English notations. 1. Get Cent5.4 DVD iso file be prepared in local disk(download it!) # wget http://blahblah/*.iso => save it to /home/vmimg_src/cent54dvd.iso 2. Prepare sparse file for disk image & get filesystem ready(24GB virtual disk image) # dd if=/dev/zero of=/home/vmimg/centvdisk.img bs=6k seek=4096k count=1 # mkfs.ext3 /home/vmimg/centvdisk,img .. 더보기
가상화의 물결 제목은 거창하지만 내용은 그냥 연대기의 나열이다...라고 하지만 그 중 몇 가지는 IT 역사상으로도 의미를 가지지 않을까... Main Frame 시절, 서버 자원 - 하드웨어/소프트웨어/Sub-CPU, OS - 파티셔닝, 리소스 파티셔닝 Open Unix 들이 도입 - 한계성(기술, 고가의 도입 비용) 1999 미 VMware사, VMware Workstation 발표, Windows NT 4.0에서 Windows 95를 복수개 가동 (*) => 저가의 서버 환경에서 Virtual Machine 기술이 일반화 되는 신호탄 2004, MS가 Connectix 인수, MS Virtual Server 2005 출시 - 안정성, 성능 부족 => 2005~2006 Hypervisor 개발 착수 2004, EMC.. 더보기
iPhone 3GS 3.1.3 Jailbreaking iPhone 백업, 연락처는 show메모리에 업로드 Spirit.exe, ordinal 에러시 libeay32.dll -> \windows\system32 실행 후 X 클릭하여 닫을 것 Cydia 실행 -> Repo: http://cydia.hackulo.us, http://sinfuliphonerepo.com 설치 App afc2add, appsync for os 3.1.x, openssh, install0us, mobileterminal(설치후 passwd(alpine); su root; passwd), sbsettings, winterboard, kirikae, categories 더보기
OpenSuse 11.2, Xen Kernel(Dom-0) 상태에서 Nvidia 9800GT 잡기(kernel 2.6.31.12-0.2-xen) OpenSuse Xen Kernel 상태에서는 수동으로 Nvidia driver를 잡아주지 않으면 normal video(vga, vesa)에서 아름답지 못한 Suse Desktop을 써야 한다. 물론 Xen 가상화를 사용하지 않는다면 아래와 같이 간단(?)하게 최신 드라이버를 받아 설치하고 사용할 수 있다. # init 3 ==> text mode로... # mkdir /tmp/nvidia # cd nvidia # wget http://us.download.nvidia.com/XFree86/Linux-x86_64/195.36.15/NVIDIA-Linux-x86_64-195.36.15-pkg2.run # sh ./NVIDIA-Linux-x86_64-195.36.15-pkg2.run -q # sax2 -r.. 더보기
OpenVPN Access Server(1.3.5) 를 적용한 Site-to-Site VPN 접속 환경 구성 이전 글에서는 OpenVPN 패키지를 Linux Server에 설치하고 Server Configuration, 인증키 발급/배포, Client Configuration 및 인증키 복사를 통한 수작업에 의한 VPN 설정과 사용에 대해 정리하였다. 이번 Post에서는 OpenVPN-AS 솔루션을 활용해서 지난 시간에 언급하였던 Site-to-Site 접속까지 구현하고 테스트해 본다. 헷갈리지 말 것은 OpenVPN을 서버에서 운영하는 방법은 크게 - OpenVPN Server - OpenVPN Access Server 의 2가지가 있으며, OpenVPN 환경으로 접속할 수 있는 Client측의 접속방법은 - OpenVPN Community Client(for Windows/Linux) - OpenVPN Ac.. 더보기
Linux에서 부트시 스크립트 자동실행 설정하기 이 부분을 이해 하려면 Unix의 RunLevel에 대해 알아야 한다. 기본적으로 Unix 계열의 OS는 아래의 7개 모드로 구분된 Run level을 가진다 0 - Halt status 1 - Single User 2 - Multi User, No Networking 3 - Multi User, Full Networking 4 - Reserved 5 - 3 & X windows 6 - Restarting status 위 각각의 상태로 시스템이 전환될 때 자동적으로 /etc/rc.d/rc?.d/ 의 스타일로 7개의 서브 dir 이 준비되어 있고 각각의 디렉토리내에는 S??scriptname, K??scriptname 형태의 파일들이 존재하는데 S는 start, K는 kil, ??의 숫자는 해당 모드로 진.. 더보기
CentOS 5.4에서 MySQL 5.1.45 빌드 시스템 설정이 많으므로 root 계정에서 작업(/root/src) dev.mysql.com 에서 소스 다운로드(mysql-5.1.45.tar.gz) 압축해제, make 준비 # tar -xvzf mysql-5.1.45.tar.gz # ./configure --prefix=/user/service/mysql \ --> 주요파일 설치 위치(bin, libexec, lib, ...Default는 /usr/local/mysql) > --localstatedir=/user/service/mysql/data \ --> 데이터, 로그 저장 위치 > --sysconfdir=/user/service/mysql \ --> 기본 설정파일 my.cnf 등 저장 위치 > --with-mysqld-user=mysql \ --> .. 더보기
mongoDB 보안 설정하기(1.2.2 기준) mongo db는 몽고 라는 나라와 전혀 상관이 없다. Humongous 하는 단어에서 만들어진 것. 설치후 아무런 제약 없이 ./mongo 만 치면 db에 접속된다. 개발환경이라면 문제 없지만 개념 없이 쓰다가 큰 일 ㅡ_-? 이 날지도... 우선 mongod를 기동시킬 때 --auth 옵션을 추가해 두자. 다음 글에서 mongod 를 시스템 스타트시에 기동되도록 설정하는 방법을 정리할 것이다. ubuntu, centos, suse 등 거의 모든 linux 머신에서 특정 App을 기동시키는 일반적인 방법이 되겠다. 각설하고, mongo db는 system 영역 내에 admin 이라는 DB 관리를 위한 스키마 영역(database)를 가진다. * 메서드 Name에 대소문자 구분 주의 # ./mongo #.. 더보기
Lightweigh DB - Linux에서 MongoDB c++ 어플리케이션 개발하기 개발도구는 Sun Studio 12.1 로 해 보자(NetBeans 6.8도 가능) 개발을 위한 컴파일러는 gcc 4.1* 이상이어야 한다. 우선 mongoDB 다운로드 & 설치 - www.mongodb.org 에서 mongodb binary 또는 소스를 받아서 설치한다 - 소스 설치시는 의존성에 걸리는 빌드도구들을 여러가지 받아서 설치해야한다. 특히 scons 가 필수인데 Ubuntu, centOS에서는 숫한 삽질을 통해 scons 소스를 컴파일해서 빌드한 기억이 난다. 우여곡절 끝에 mongodb를 다음과 같이 빌드할 수 있다 # scons --prefix /usr/service/mongo install - mongodb 는 rpm 같은 패키징이 없이 tar.gz binary 압축해제/복사 또는 so.. 더보기
CentOS 5.4 Final, MySQL connector c++ 빌드하기 Linux 패키지 종류가 다양하고 Compiler version과 라이브러리 버전이 워낙 다양하므로 MySQL connector c++ 1.0.5 버전 rpm을 설치하면 컴파일시 libstdc++.so.5 버전이 필요한데 libstdc++.so.6 버전이라서 경고가 뜨는 경우가 있다. 대개는 오류가 주루룩 뜨지만, 가끔 경고만 뜨고 컴파일은 되나 실행하면 거의 core가 생긴다. 이 때는 어쩔수 없이 직접 source 로부터 connector c++을 빌드해서 써야한다(아니면 statifier 같은걸 쓸 수도 있지만 편법이라 별로다) 우선 cmake 2.6.2 버전 이상이 필요하다. # wget http://www.cmake.org/files/v2.8/cmake-2.8.0.tar.gz # tar -xvz.. 더보기
깔끔하고 편리한 메모장 Stickies V7.0b 영국의 Tom 이란 guy가 만든 프리웨어 데스크탑 메모장(Global 하게는 Sticky Notes 라고 하더라). 어디 쓸만 한 거 없을까 하고 프리웨어 포럼이나 사이트들을 hopping 하고 다니던 중 우연히 얻어걸린 넘인데 깔끔할 뿐 아니라 안정적이고 풍부한 기능에 탄복하게 된다. 텍스트 입력, 폰트가 적용된 텍스트, 이미지 모두 붙여 넣기 할수 있으며 기본 style을 지정하고 메모장 마다 각각 style을 지정할 수 잇고 윈도우에 설치된 모든 폰트를 다 지정해서 메모장을 꾸밀 수 있다. 네트워크 기능을 enable하면 메모장 자체를 주고 받을 수 있고 smtp 로 메일 연동도 가능하며, 입력 중 undo 기능, 주로 사용하는 폰트와 색상을 메뉴 전면에 배치한 센스. 깔끔한 한글 지원도 돋보이며.. 더보기
Ubuntu 9.10에서 MySQL Connector/C++ 프로그램 개발 NetBeans 6.8 에서 C++을 통하여 MySQL을 다루기 위해 Connector C++을 사용하기로 하였다. 처음부터 쉬운 길을 택한 것에 대한 징벌인가 ㅡ_-;; 샘플 소스 받고 빌드 하니 ld 에서 오류가 떨어진다...엉뚱한 버전의 라이브러리를 찾고 난리도 아니다. Binary 버전(Redhat, SUSE, Max OSX, FreeBSD, Windows 용 다 있는데 Karmic 용은 없네...generic 을 받을 수 밖에...)을 다운로드 받고 tar로 압축 풀고 /usr/include, /usr/lib 에 적당히 복사하고 Library link 정보까지 깔끔하게 업데이트 하기 위해 ldconfig 까지 돌렸는데;;; 안된다. 구글링을 해 보니, MySQL Connector C++ bina.. 더보기
MySQL 사용자 추가 먼저 상태를 확인해 본다. > mysqladmin -u root -p status root로 mysql db로 접속 > mysql -u root -p (또는 mysql -uroot -ppassword) 만약 root 암호를 변경하려면 mysql> update mysql.user set password = password('root-password') where user = 'root'; 를 수행한다 사용자를 추가하려면 > mysql -uroot -ppassword mysql INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'username', password('password')); -- %를 쓰지 않고 localhost를 쓸 경우 remote 접.. 더보기
Windows 7에서 Mac OS X Snow Leopard 설치(Not Hackintosh) 테스트 기종: Sony Vaio Z46/LD 필요조건: VMware 7.0 worksation 설치, System Bios에서 VT를 enable(사전에 최신 VT 지원 bios patch), Internet 연결 사전 다운로드 필요파일들 - h-sl106.iso(약 7.5 G) 더보기
Ubuntu 9.10, eclipse cdt 설치하고 c, c++ 개발하기 CD1장으로 된 Ubuntu desktop 버전은 Linux를 간편하게 사용하게 만들어진 패키지여서 개발툴, 환경, 라이브러리들이 자동으로 설치/설정되지는 않는다. 더구나 Eclipse(Galileo 라는 코드명을 가졌던가...아무튼) cdt는 ubuntu의 synaptic 관리자에서도 더 이상 패키지 설치목록에 뜨지 않게 바뀌어 버렸다. Eclipse cdt(C, C++ Development Toolkit ? ...)을 사용하려면 우선 eclipse 최신 버전을 synaptic 관리자를 통해서 설치한다 (추가로 설치가 필요하다고 마킹된 것들 중에서 pde는 반드시 설치, jde는 java 개발을 하지 않는다면 필요 없을 듯) 다음 eclipse를 실행한 후에 아래의 절차에 따라 설치한다. - Help .. 더보기
Ubuntu 9.10 vmware tools 설치하기 VMware 7에서 Guest OS로 Ubuntu 9.10을 설치하고 난 후 깔끔한 desktop의 동작을 위해 vmware tools를 설치해야 하는데, vmware에서 easy install을 선택하면 vmware내의 메뉴를 통해서는 toos가 설치가 되지 않는군... ㅡ_-;; vmware tools가 설치되기 위한 개발 환경 설정이 필요하다 > sudo apt-get install build-essential linux-headers-`uname -r` psmisc ctrl+alt 하여 이제 VMware 메뉴의 VM>Re-install Vmware tools 메뉴를 선택하면 Ubuntu 바탕화면에 DVD 아이콘이 설치되고 파일찾아보기 팝업창이 뜨게 된다. 여기서 VMwareTools-***.tar.. 더보기
Ubuntu 9.10 한글 문제 - nabi 기본으로 설치되는 iBUS는 문제가 있어서 여러 해결 방법들이 있지만 Simple is the best 라고 했던가... nabi를 설치하고 입력 인터페이스 패키지로 지정하면 된다 nabi 가 설치 되지 않은 경우에 대비해서 다운로드/설치를 수행한다 > sudo apt-get install nabi 성공적으로 설치되었거나 이미 설치되었다고 나오거나 둘 중 하나일 것이다 다음으로 입력 패키지를 지정한다 > sudo im-switch -c System wide default for ko_KR locale is marked with [+]. There are 2 choices for the alternative xinput-ko_KR (providing /etc/X11/xinit/xinput.d/ko_KR)... 더보기
Ubuntu 9.10 에 Tomcat6 설치하기 무지하게 심플하다 (물론, 그 전에 설치, 사용을 위한 환경을 체크해야 하지만...) 더 심플한 방법은 synaptic 패키지관리자로 설치하는 방법이지만 대략 흐름을 파악하는데는 수동으로 설치해 보는 것도 도움이 될 것이다. 패키지 다운로드 받고, 압축풀고, 복사해 넣는 과정이다. 우선 java 버전을 확인한다. tomcat을 원활히 동작시키려면 sun의 jdk가 필요하다. > java -version java version "1.6.0_15" Java(TM) SE Runtime Environment (build 1.6.0_15-b03) Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02, mixed mode) 위와 같은 결과가 나오면 더 준비할 게 없지만 만약 op.. 더보기