Monthly Archives: June 2012

Ubuntu12.04 Thrift.apache.org 0.8 설치

라이브러리 시키는거 다 설치하고
./configure
그러면… 몇가지는 제대로 처리되지 않고 no가 뜬다.

C (Glib) Library
Go Library

Go Library해결
http://maketecheasier.com/install-google-go-in-ubuntu/2010/04/15

sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang

C 는 모르겠다. 뭘 깔아야되는거지? gcc도 깔았고 뭐 깔라는거 다 깔았는데 저런다.
그냥 무시…하려다가…보니 gtk를 설치하란다.
libgtk친구들 설치

D language
dlang.org
sudo apt-get install gdc

아직도 안되는건 과감히….
./configure –without-Go

Ubuntu12.04 시스템 백업

초기상태에서 한번쯤 백업을 해놓는게 좋을 것 같아서 백업에 관심을 갖게되고…
검색

이 방법이 가장 무난한 것 같다. exclude로 필요없다고 판단되는 폴더의 백업을 제외시킨다.

proc는 시스템 커널파일인것같다. 무지막지한 용량을 가진 파일들이 많다.
lost+found는 시스템 파일이 아닌 윈도우에도있는… 하드뻑났을때 파일들
backup는 백업파일이 들어갈 폴더니까 제외
mnt 디스크 폴더니까 제외
sys 여기도 시스템 폴더니까 제외

이렇게 제외하고 나머지 백업해놓으면… 나중에 같은 버전 재설치한다음에 그냥 압축풀면 복원이 될것만같다. (아직 안해봤음)

복원하기

 

exclude 살생부에 포함되었던 디렉토리는 수동으로 직접 생성해줘야한다

sh스크립트를 이용하는것도 좋은 방법인 것 같다. 그러나 나는 수동으로 해야지….
tar을 이용하는방법이니까 다른 우분투 배포판에서도 사용할 수 있는 좋은 방법인 것 같다.
주의 – 용량이 크면 한참 걸린다.
cron에 넣을 때 시간 잘못맞추면 다운될지도 모르겠다.
테스트 서버는 자주 재설치를 해야되는데 이 방법이 도움이 되길… 젭알

Java ‘겟셋기’를 제거해주는 lombok

자바를 처음 배우는 사람은 보통 이런 의문을 갖게된다.
‘겟셋’기 이 ㄳ끼들 왜 매번 써 줘야되는거야
C#처럼 간략화된 문법을 쓸 수 있는것도 아니고…

정말 불편한 반복작업이다. 현대 프로그래밍의 원칙.
반복작업은 과감하게 없애라!

그래서 이걸 직접 어노테이션 기반으로 한번 만들어볼까? 라는 생각을 해 본 적이 있었다. 그리고 프로젝트를 생성하고 혹시나 하고 구글검색을 찍어보니 나온 녀석!
project-lombok
이클립스 플러그인까지 제공되서 빨간불도 안 뜨고 처리를 해 준다.

이제는 lombok도 자바 개발 그룹에서 차차 자리를 잡아가는 듯 하다.
내년이나 그 후쯤되면 이클립스의 기본 프로젝트로 자리잡을지도 모르겠다.
jdk8정도에는 이게 기본으로 적용될지도…

http://projectlombok.org/

정말 쉬운 사용법이 홈페이지에 소개되어있다.

jar파일을 다운받아 설치 – 보통 더블클릭으로 실행이 된다.
라이브러리 목록에 jar을 포함시킨다.

이런 라이브러리가 있어야 하는 상황이 웃긴다. 자바의 구조상의 문제라고 생각된다. 자바 넥스트라던가 하는식으로 자바의 개정판같은 언어가 나왔으면 좋겠다. 아니면 인기없는 7을 과감하게 건너뛰고 jdk8로 직행한다던가?

[Ubuntu]12.04 hdd mount

1회용(리부팅시 초기화)

 

자동으로 마운트되는거

/dev/sdb1을 /datadir 마운트 하려는 경우

/etc/fstab을 열어서 맨 밑에 이렇게 넣어주면 끝.

 

참고
http://serverfault.com/questions/3132/how-do-i-find-the-uuid-of-a-filesystem

https://help.ubuntu.com/community/Fstab

 

GPT인 경우-

http://www.psychocats.net/ubuntu/mountlinux

GPT인 경우 오류가 좀 발생했던 것 같은데…
이 부분은 더 찾아봐야겠다.

 

밑에는 퍼온거.

http://kjhfull.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-LVM-%EB%A7%88%EC%9A%B4%ED%8A%B8-%ED%95%98%EA%B8%B0
CentOS4.7이 디폴트로 설치된 하드를 백업받기 위해 새로운 시스템(centos5)에
꽂고 마운트 시켰는데 마운트가 안되는 현상이 있습니다.
원인은 LVM볼륨으로 작성되어서 그렇더군요!!
FDISK 상에서도 확인가능합니다.
====================================================================
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 13 104391 83 Linux
/dev/sdb2 14 2222 17743792+ 8e Linux LVM
=====================================================================
sdb1은 바로 마운트 가능하지만 LVM시스템은 마운트가 되지 않습니다.
아래 절차에 따라 하면 마운트 되네요…

pvdisplay /dev/sdb2 =>물리적 볼륨명 확인
— Physical volume —
PV Name /dev/sdb2
VG Name VolGroup00
PV Size 16.92 GB / not usable 15.92 MB
Allocatable yes
PE Size (KByte) 32768
Total PE 541
Free PE 1
Allocated PE 540
PV UUID 3oTLIk-mvTW-50qN-BTop-i5yY-32A1-a8wlWY

vgchange -a y VolGroup00 /물리적 볼륨그룹 액티브 시키기
2 logical volume(s) in volume group “VolGroup00” now active

lvdisplay -v VolGroup00 /로지칼 볼륨 확인 (2개가 있다.)
Using logical volume(s) on command line
Fixing up missing size (16.92 GB) for PV /dev/sdb2
— Logical volume —
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID oFRCUd-Pzhp-L0YE-yLG1-Tgr8-SH38-lJ1ymJ
LV Write Access read/write
LV Status available
# open 0
LV Size 16.38 GB
Current LE 524
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:0

— Logical volume —
LV Name /dev/VolGroup00/LogVol01
VG Name VolGroup00
LV UUID hDDcZ3-WjMx-0OPq-W3Kk-W1ue-pN9b-5ngyIV
LV Write Access read/write
LV Status available
# open 0
LV Size 512.00 MB
Current LE 16
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:1

mount -t ext3 /dev/VolGroup00/LogVol00 /sdb

하면 sdb2파티셔이 /sdb로 마운트가 된다.

centos 수동 마운트

# fdisk -l
# mkdir /filedir
# yum install ntfs-3g
# mount -t ntfs-3g /dev/sdb1 /filedir

인스톨 하려면 패키지가 필요하다.

centos 자동마운트
#gedit / etc / fstab

/dev/sda2 /windows ntfs defaults 0 0

centos마운트 설명
1. yum-priorities package install for rpmforge add to yum
[root@localhost ~]# yum install yum-priorities -y
2. “priority=N” add to /etc/yum/pluginconf.d/priorities.conf

[root@localhost ~]# vi /etc/yum/pluginconf.d/priorities.conf
[main]
enabled = 1
check_obsoletes = 1
priority=2

3. Install rpmforge

[root@localhost ~]# rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

4. update yum

[root@localhost ~]# yum check-update

5. install “fuse”, “fuse-ntfs-3g”, “dkms”, “dkms-fuse”

[root@localhost ~]# yum install fuse fuse-ntfs-3g dkms dkms-fuse -y

6. make directory “windows” for mount ntfs

[root@localhost ~]# mkdir /windows

7. mount ntfs filesystem to “/windows” , type is ntfs-3g

[root@localhost ~]# mount -t ntfs-3g /dev/sda1 /windows

lvm mount 2번째
sudo apt-get install lvm2

sudo lvdisplay

나뉘어진 logical volume의 이름은 lvdisplay로 확인하였고,
volume group활성화 이후에 mount에 성공하였습니다.

volume group확인: pvdisplay /dev/hdd2
volume group활성화: vgchange -a y VolGroup00
logical volume확인: lvdisplay -v /dev/VolGroup00
logical volume mount: mount -t ext3 /dev/VolGroup00/LogVol00 /mnt/hdd

Ubuntu12.04 Trac설치

아파치와 기타등등이 설치되어 잇는 상태에서 시작
sudo apt-get install libapache2-mod-wsgi trac trac-….필요해보이는것추가

sudo trac-admin /home/tracaccount/trac initenv
시키는대로 엔터몇번 처주고나면 끝난다.

그럼 다시
sudo trac-admin /home/tracaccount/trac
를 입력해주고
그 안에서 이거 실행
deploy /home/tracaccount/trac
이렇게 하면 trac안에 cgi-bin디렉터리가 생성된다.

이걸 추가해줬으면…남은건

아파치 설정

sudo cp default polypia.net-trac
이런식으로 설정파일을 복사후

버추어호스트를 기록해준다.

ServerName trac.polypia.net

WSGIScriptAlias / /home/tracaccount/trac/cgi-bin/trac.wsgi

WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all


AuthType Basic
AuthName “trac”
AuthUserFile /home/tracaccount/trac/passwd #이건 htpasswd이용해서 생성해놔야됨
Require valid-user

루씬 좋은 샘플~

http://www.lucenetutorial.com/lucene-in-5-minutes.html

정말 잘돼있다.
처음 접하는사람들 따라해보면 좋을 것 같은 샘플이다.
거의 최신버전인… 3.5
아파치 루씬 공식 홈페이지에도 엉망으로 써있고..
스프링처럼 깔끔한 설명이 돼 있는 사이트가 잘 없다.

메모리 인덱스로 예제가 만들어져있지만 FS로 쉽게 변경해서 사용할 수 있다.

Ubuntu12.04 Mysql5 Tomcat 한글처리문제 한글깨짐

Tomcat의 경우
http와 ajp프로토콜 처리하는 부분에만 이걸 추가해준다.
이걸 해주면 URI가 인코딩된다. GET방식으로 보낼 때 주소줄이 깨지지 않는다는 소리…
프로그라마티컬리 해결하는게 좋다고 생각하지만… 설정에서 해야만 하는 일이 있는건 별 수 없다.
톰캣 8 에서는 이런 문제가 해결되었으면한다.

#>mysql -u root -p

mysql>

show variables like ‘c%’;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| completion_type | NO_CHAIN |
| concurrent_insert | AUTO |
| connect_timeout | 10 |
+————————–+—————————-+

set character_set_client utf8
set collation_server=latin1
뭐 이런식으로 필요한 부분만 바꿔서 입력해주면된다.

mysql> select charset(‘한글’);
+——————-+
| charset(‘한글’) |
+——————-+
| utf8 |
+——————-+
1 row in set (0.00 sec)

mysql> show global variables like ‘character_set_%’;
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+

이 방법은 데몬을 재시작하면 날라간다고 한다.
결국 my.cnf파일에 설정을 추가해야할 것 같다.
관련 내용은 검색하면 수백개씩 나온다.

————위으 설정은 실패————–

MySQL 한글 설정
mysql> status
(((((서버 정보 출력.. latin1이 보인다))))
mysql>use Database명;
mysql>set character_set_client=utf8;
mysql>set character_set_results=utf8;
mysql>set character_set_connection=utf8;
mysql>set character_set_server=utf8;
mysql>alter database DB명 default character set utf8;
mysql>commit;

set names euckr 은
set character_set_client euckr
set character_set_connection euckr
set character_set_results euckr
이거세가지 따로따로 한 효과를 한꺼번에 추가

———–설정 파일은 최대한 건드리지 않는게 좋다고 생각했는데… 그냥 건드렸다.—
[client]
default_character_set=utf8
[mysqld]
#default_character_set=utf8
character_set_server=utf8
[mysqldump]
default_character_set=utf8
[mysql]
default_character_set=utf8

다른사이트에 나온거 아무거나 따라하면 에러가 날 것이니라
우분투는 – 대쉬가 아니라 _언더바를 써야하니까
주석을 쳐놓은 부분은…. 안먹혀서 주석을 쳐놨다.
버전이 달라져서 그런건지 윈도우와 리눅스버전의 차이인지는 잘 모르겠지만 안먹혔다.

Ubuntu 자동실행 설정 프로그램 chkconfig VS sysv-rc-conf 뭐가 더 좋을까

chkconfig는 익숙한 사람이야 쓰겠지만…
불편한게 사실이다.
나정도 되는 이런거 자주 안 쓰는 사람들은…. 명령어도 매번 다시 찾아봐야된다.

chkconfig가 dir이라면..
sysv-rc-conf는 mdir이다.

획기적으로 편하다. 화살표와 스페이스로 해결한다.
복잡한 부분 설정할 일이 없다면 이걸 쓰는게 편할듯하다.

사용방법은…chkconfig -help였나 이런식으로 해서 찾아보면서 하면된다.

issue,bug: SpringSecurity Redirect to favicon.ico When after login action.

http://blog.naver.com/PostView.nhn?blogId=jadin1&logNo=70127130610

이유는 위 블로그에 영문,한글 다 잘 설명되어 있다.
제목을 영어로 쓴 것은 영어를 잘 해서가 아니라… 어차피 이런 종류 문서 검색은 다 영어로 할테니까…

내 경우에는 시큐리티 설정을 이런식으로 해놧었다.

/user/login 으로 로그인 주소를 잡아놓은 경우에는 /user/resources/…/favico.ico으로 redirect된다.
/~~~check 기본주소로 로그인 주소를 잡아놓고 돌리면 /favicon.ico 로 redirect된다.

키워드:
리다이렉트,스프링시큐리티,버그