'알아둘일'에 해당하는 글 201건

우분투 64bit 환경에서 cubrid 를 설치하는 것이 쉽지 않았다.(지난글 : http://blog.1day1.org/311 )

다음은 64bit 환경에서 chroot 를 이용해서 32bit 어플을 실행하는 방법을 설명한다.
이 방법은 다른 어플에 활용해도 된다.
예전에 firefox 32bit flashplayer 문제가 많았을때 사용되던 방법이다.

1. chroot 및 debootstrap 패키지 설치
  # apt-get install schroot  dchroot debootstrap
  schroot , dschroot  둘중에 하나만 선택해도 된다.

 기본 위치를  /var/chroot32/hardy 로 잡았다.(자신이 원하는 위치로 바꿔도 된다)
 hardy 64bit 환경에서  chroot hardy 32bit 환경을 설정하려한다.
 설치하고  schroot 설정 ( /etc/schroot/schroot.conf - 이미 있음. 추가)
[hardy]
description=Ubuntu hardy
priority=3
location=/var/chroot32/hardy
users={Userid}
groups={Userid},root
root-groups=root,{Userid}
personality=linux32
aliases=cubrid,default
{Userid} 는 본인 계정을 적으면 된다.
chroot 전환방법은
# schroot -c hardy   또는  schroot -c cubrid  또는 schroot -c default 
또는 그냥 schroot 를 실행하면 default 가 실행된다.

이게 좀 복잡해 보이면, dchroot 를 사용한다.
  /etc/dchroot.conf 를 만들고, 다음 한줄을 넣는다.
hardy  /var/chroot32/hardy

  나중에 32bit 어플설정시 schroot 는 좀 이상 동작을 해서 dchroot 가 더 나은 듯 하다.
chroot 전환방법은 schroot 와 비슷
# dchroot -c hardy  또는 그냥  dchroot

 여기까지 기본 설정은 완료 실제적인 chroot 32bit 환경을 구축한다.

2. chroot 기본환경 구축, 설정
# debootstrap —variant=buildd —arch i386 hardy /var/chroot32/hardy http://ftp.daum.net/ubuntu
 젠투 사용자는 익숙할 것이다.(chroot 도) 설치시 필요하니... ^^
 명령에서 엿볼 수 있듯이  i386 아키텍쳐(?) 를 구축하기 위한 기본 시스템을 만든다.
 /var/chroot32/hardy 에 시스템 기본 파일이 만들어진것을 볼 수 있다.
 현 시스템(64bit)에서 필요한 파일들을 복사한다.
# cp /etc/resolv.conf /var/chroot32/hardy/etc/
# cp /etc/apt/sources.list /var/chroot32/hardy/etc/apt/

# cp /etc/passwd /var/chroot32/hardy/etc/
# cp /etc/shadow /var/chroot32/hardy/etc/
# cp /etc/group /var/chroot32/hardy/etc/
# cp /etc/sudoers /var/chroot32/hardy/etc/
# cp /etc/hosts /var/chroot32/hardy/etc/
/etc/fstab 에 chroot 에 필요한 설정을 추가한다.
/proc            /var/chroot32/hardy/proc      none rbind 0 0
/dev            /var/chroot32/hardy/dev        none rbind 0 0
/sys             /var/chroot32/hardy/sys       none rbind 0 0
/tmp            /var/chroot32/hardy/tmp        none rbind 0 0

필요하면 다음 항목도 추가한다.
/home                       /var/chroot32/hardy/home                 none rbind 0 0
/var/run/dbus            /var/chroot32/hardy/var/run/dbus      none rbind 0 0

추가한 후에 마운트 한다.
# mount -a


이제는 chroot 상태로 넘어가서 추가적인 패키지들을 설치한다.
# schroot  ( 또는 dchroot )
chroot 된 상태가 된다.( $ 로 표시하겠다)  그 다음에 패키지를 설치한다.
$ apt-get install wget debconf devscripts gnupg nano
$ apt-get update ; apt-get upgrade
필요하면 추가 설치
$ apt-get install vim aptitude
chroot 에서 빠져 나오려면,  exit  를 입력한다.

3. 32bit 어플 실행환경 설정


/usr/local/bin/do_dchroot  파일 생성 후, chmod 755 로 실행권한을 준다.(chroot 빠져나온상태)
#!/bin/sh

for arg; do
        arg=`echo $arg | sed -e 's/ /\\\ /g'`
        args=`echo $args $arg`
done

xhost +
/usr/bin/dchroot -d "`echo $0 | sed 's|^.*/||'` $args"

32bit 어플실행환경 파일이다.  이 파일을 이용해서 32bit 어플을 실행시킬 것이다.

gedit 으로 테스트를 해본다. (chroot 상태에서 , schroot 나 dchroot 로 )
$ apt-get install gedit
$ cd /usr/bin ; ln -s gedit gedit32
$ exit
chroot 를 빠져나와서
# cd /usr/local/bin ; ln -s do_dchroot gedit32
# gedit32
처럼 링크를 걸고 , 실행시키면 chroot 상태로 바뀌면서 gedit32 가 실행된다.
이런식으로 cubrid 도 실행할 것이다.

4. cubrid 어플 설치,실행.

 chroot 상태에서 cubrid 를 설치, 실행한다. (자세한 방법은 생략한다.)
$ sh CUBRID-8.1.4.1032-linux.sh  (설치)
$ . /root/.cubrid.sh
$ cubrid service start
다음 매니저를 실행해본다.
$ cubridmanager
를 실행하면 몇가지 에러가 발생한다.


위에서 한 방식으로 do_dchroot 로 32bit 어플실행 설정을 한다.
/usr/bin/cubridman_start  를 만들었다.  (chroot 상태)
#!/bin/sh
. /root/.cubrid.sh
cubridmanager

실행스크립트를 만들고, chroot 를 벗어나서 다음처럼 링크시킨다.
# cd /usr/local/bin ; ln -s do_dchroot cubridman_start
# cubridman_start
로 실행시킨다.

java , swt 관련 에러가 보이면, 다음  패키지를 설치한다.
$ apt-get install lilbswt3.2-gtk-java sun-java6-jdk    ( 또는 sun-java6-jre )
한글이 깨진다면.
$ apt-get install language-support-ko language-pack-ko language-pack-gnome-ko
$ locale-gen ko_KR.UTF-8

schroot 로 실행환경 설정
schroot 도 dchroot 와 동일한 형태의 스크립트는 안되지만, 비슷하게 처리할 수 있다.
# schroot -c hardy -p cubrid_start
# schroot -c hardy -p cubridman_start
위와 같은 방식으로 실행하면 된다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투에서 팩스머신을 만들고자 한다.

[관련글]
    1) 팩스머신을 만들자 - #1. 팩스모뎀을 장착하라.
    2) 팩스머신을 만들자 - #2. 팩스 프로그램을 설치하자.




스텝 원 : 팩스모뎀을 장착하라

필요한 준비물은 팩스모뎀.
 * lucent 사의 칩셋을 사용하는 모뎀이 우분투에서 호환성이 좋다.

PC 에 장착을 하면 다음과 같은 명칭으로 나온다.

# lspci
Communication controller: Agere Systems 56k WinModem (rev 01)


WinModem 이라고 나온다. (lucent 칩셋을 사용한다)


커널모듈은 다음과 같다.

# lsmod | grep lt
ltserial                 11312  0
ltmodem               557038  1 ltserial

 

커널모듈이 적재되면서 생성되는지, 따로 mknod 로 생성되는지 다음 장치드라이버가 생성된다.

# ls -l /dev/ttySL*
/dev/ttySLTM0


보통 hylafax 같은 팩스 프로그램은 /dev/modem 을 사용한다.
설정을 바꿔도 되지만  심볼릭 링크를 해준다.


ln -s /dev/ttySLTM0 /dev/modem


제대로 인식이 되어 있는지 확인하려면 minicom 등을 실행시켜본다.



ps. 예전(dapper)에는 따로 컴파일해서 사용했었다.
http://ubuntuforums.org/showthread.php?t=198730

언제부터인지, 배포판 자체 커널에서 지원해주는 듯 싶다.(좋아졌군)
64bit 도 지원하나 다른 머신에서도 테스트 해봐야 겠다.

 

[추가]

1. dapper 는 2006년 릴리즈
  - 이후 08.04 (hardy) / 10.04 ( lucid ) / 12.04 ( precise ) 정도 까지 테스트
  - 어느 시점 부터 다시 배포판에서 빠진듯 하다.(정확하지는 않음)
  - 10.04 설정 참고 : https://blog.1day1.org/431

2. 64 비트 는 드라이버가 제공되지 않는다. 

# lspci
Communication controller: LSI Corporation LT WinModem (rev 01)

3. 12.04 이후는 테스트 못 해봄. (언제 부터인가 64bit 로만 써서, 테스트 못 해봄)

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
큐브리드를 설치하면서, 몇가지 겪었던 어려움을 정리한다.

윈도우, 우분투 에 각각 설치를 해봤다.
윈도우는 64bit 가 지원되지 않는다.  우분투는 64bit 환경에서 가능은 하지만 원활하지 않는다.
쓸데없는 고민을 하지 않기 위해 32bit 환경에 설치하는 것이 좋다.(추후 64bit 를 공식지원한다고 한다)

1. 윈도우 설치.
  설치시 별문제 없었음.
  다만  php 모듈 설치할때, dll 파일이 제대로 등록이 되지 않을때, 재부팅을 해보면 제대로 등록이 됨.
  윈도우쪽은 황당한(재부팅 신공) 해결책이 자주 나온다.

2. 우분투 32 bit 설치.
  이것도 별 문제 없음.
  다만 다운로드에 올라와 있는 php 모듈이 64bit 로 올라와 있음.
  (좀 혼동됨 - 32bit 도 올려놓으면 좋을 듯)

3. 우분투 64 bit 설치.
  여기서 많은 난관이 기다리고 있었음.
  일단은  cubrid 설치, 실행은 큰 이상이 없음.


 cubrid 서버만 실행하여 사용한다면 다음 과정은 필요없을지 모른다.
 따로 cubridmanager 는 다른 곳에 설치해서 사용해도 될 것이다.
 실제로 서버용에서 cubridmanager 까지 설치해 놓지 않는 경우가 많을 듯 하다.


 그러나, 동일한 서버에서 사용하려한다면, 이야기는 달라진다.
 테스트를 해보니, cubridmanager 실행시 자바 에러를 만나게 된다.
 이런 메세지.
JVM terminated. Exit code=13
/usr/bin/java
-Xmx512m
-jar /system/cubrid/cubridmanager/cmclient/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar
-os linux
-ws gtk
-arch x86
-showsplash
-launcher /system/cubrid/cubridmanager/cmclient/cubridmanager
-name Cubridmanager
—launcher.library /system/cubrid/cubridmanager/cmclient/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.0.3.R33x_v20080118/eclipse_1023.so
-startup /system/cubrid/cubridmanager/cmclient/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar
-exitdata 370013
-vm /usr/bin/java
-vmargs
-Xmx512m
-jar /system/cubrid/cubridmanager/cmclient/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118.jar
정확한 이유는 모르겠지만, 32bit 로 컴파일된 큐브리드를 64bit 에서 실행하려고 했을때 문제인듯.
cubridmanager 쪽이 그런것으로 보아 java 와 관련이 있어 보임.

우회적인 해결책으로  chroot 로 32bit 환경을 만들고, chroot 상에서 실행하는 방법으로 처리하였음.
좀 복잡한 과정을 거치긴 하지만, 64bit 환경인 상태에서는 최선의 선택이 아닐까 생각됨.

chroot 로 32bit 환경을 만들어서 실행하는 방법은 다음 글에서 다루기로 한다.(좀 길다)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
dapper 에서 hardy 로 업그레이드 하면서, 설정이 조금씩 바뀌는 부분이 있었다.
그 중에 crontab 의 설정이다.
설정 자체가 바뀐 것은 아니고, rule 의 체크가 깐깐해 졌다고 해야하나?

dapper 에 쓰던 설정을 그대로 적용하니, cron 이 작동하지 않는 문제가 있었다.
왜 그런가 한참을 봐도 모르겠다.

syslog 를 살펴보니 다음과 같은 메세지가 나왔다.
Error: bad username; while reading /etc/crontab
왜 틀렸다고 하지? 이상하네..

그런데 cron 설정한 것을 하나하나 살펴보니.
36 * * * *    /etc/cron.myset/get_ip.cron.sh
이런식으로 되어 있었다.
36 * * * *  root  /etc/cron.myset/get_ip.cron.sh
이렇게 root 로 되어 있어야 하는데 말이다.

어! 그런데, dapper 에서 그냥 저렇게 없어도 작동했던 것 같은데, 그 때도 작동을 안했나?
cron 이 새버전(hardy  버전)으로 바뀌면서 룰을 바꿨나?

여러개중에 하나의 설정 때문에 cron 전체가 작동하지 않았다.
깐깐한 체크가 좋기는 하지만, 한참 헤맸다.


ps. 예전 로그를 살펴보니, 잘못된 설정의 cron 은 실행이 안 된 듯 하다.
  별로 중요한 설정이 아니라, 미처 발견을 못 했나 보다.

  저런경우 /etc/cron.d/  에  cron 설정을 분리해서 넣어두면 좋을 듯 하다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
ubuntu 의 프린터를 네트워크 프린터로 사용하려한다.
cupsd 를 사용하면 쉽게 설정할 수 있다.

보통 네트워크 프린터 를 사용할 때,

http://192.168.0.167:631/printers/MyPrinter   이런식으로 설정하게 된다.

그런데, cupsd 는 기본설정이 localhost 만 열려있다.
/etc/cups/cupsd.conf   를 수정한다.
#Listen localhost:631
Listen *:631
위처럼 localhost 로 된 부분을  *:631 로 처리한다.
<Location />
  Order allow,deny
  Allow From 192.168.0.*
</Location>
Allow From 192.168.0.*
부분을 추가해서, 네트웍크 프린터를 사용할 내부 네트웍의 IP대역을 허용한다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
ubuntu hardy 로 업그레이드 하면서 kdm 의 설정이 바뀌어 자동로그인이 해제되었다.

터미널에서 바꾸는 방법은 다음과 같다.

/etc/kde3/kdm/kdmrc  를 연다.
AutoLogin 으로 검색해서
다음과 같은 항목의 주석을 해제한다.
[X-:0-Core]
AutoLoginEnable=true
AutoLoginUser=username
username 은 로그인할 유저ID 를 넣는다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
예전 글은 dapper 버전에서 처리한 것이다(http://blog.1day1.org/86)

그 사이에 관련 오픈소스 프로젝트도 생겼다(http://rt2x00.serialmonkey.com - 원래 있었나? )
2009년 버전으로 새 드라이버가 올라왔다.( 예전 방식대로 해도 상관없을 듯 )


이번에 dapper 에서 hardy 로 업그레이드 되면서 무선랜카드 에 대한 설정을 정리한다.
한마디로 더 쉬워졌다. 기본제공되어 설정만 하면 된다(따로 컴파일할 필요없음)

hardy 에서는 rt61pci 라고 기본으로 드라이버를 지원하고 있다.
WEP 방식은 설정도 간단하다.

udev 에서 wlan0 로 드라이버를 잡는다.
iface wlan0 inet dhcp
        pre-up ifconfig wlan0 up
        pre-up iwconfig wlan0 essid {ESSID}
        pre-up iwconfig wlan0 Key {key ascii or hex}
auto wlan0
위와 같이 설정하면 끝이다.
WEP key 값은  s:acsii_text  , hex_key_val  형식으로 넣으면 된다.(s: 여부)

또는
iface wlan0 inet dhcp
        pre-up ifconfig wlan0 up
        wireless-essid {ESSID}
       wireless-key {key ascii or hex}
auto wlan0
위 처럼 iwconfig 부분을 바꿔준다. ( pre-up iwconfig 는 직접 설정하는 방법)

그외 기타옵션
 pre-up iwconfig wlan0 mode Managed
 pre-up iwconfig wlan0 channel 9

참조 자료 :
https://help.ubuntu.com/community/WifiDocs/Driver/RalinkRT2500
https://help.ubuntu.com/community/WifiDocs/Driver/RalinkRT61

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
파일질라 인코딩 옵션 추가하는 작업중이다.
http://blog.1day1.org/292

기본 빌드방법을 알아내고 소스를 살펴보았다.(한동안 살펴볼 짬이 나지 않았다)
kdevelop 을 쓰니 편하게 처리할 수 있었다.


빌드환경을 만들고 마지막 Filezilla 컴파일 하기 부분부터 정리.

파일질라 빌드하기

cd FileZilla3 
./autogen.sh
mkdir compile
cd compile
../configure --prefix=/opt/FileZilla3
make
strip src/interface/.libs/filezilla.exe
strip src/putty/.libs/fzsftp.exe
strip src/putty/.libs/fzputtygen.exe

cat COPYING | iconv -f utf-8 -t utf-16 > COPYING~
mv COPYING~ COPYING




컴파일 완료후에
NSIS 로 배포파일 만들기
compile/data  폴더에  install.nsi  를 오른쪽마우스로 클릭하면 아래처럼.


배포파일을 만들면 된다.



빌드한 파일.
다운로드 :

FileZilla_3_encoding-setup.zip


실행 방법은

filezilla -e UTF-8 ftp://ftp.daum.net
filezilla -e EUC-KR ftp://ftp.daum.net


등으로 하면 된다.

잠깐 테스트 해봤는데, 별 이상없다.
좀더 테스트 해보고, 소스 patch 파일만 따로 올릴예정.
파일질라 개발팀에도 보낼예정인데, 어찌될지.


수정된 파일 (3.2.6.1 기준)

filezilla_encoding_changed.zip


패치파일 :

filezilla.encoding.patch




반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
며칠전(14일) 우분투 dapper 의 데스크탑 버전이 지원중단 되었다.
뭐 그 날짜로 못쓰는것이 아닌, 패키지 업그레이드 등에 대한 중단이다.
그리고 서버버전은 2011년 까지 지원한다.

http://blog.1day1.org/211 그동안 쓰던 서버겸 데스크탑이 바로 dapper 버전이었다.(무려 64bit)

겸사겸사 해서 업그레이드 하기로 했다.(지금하고 있다.)
사실은 cubrid 를 설치,테스트 하는데, dapper 버전을 지원하지 않는다.
마침 잘 됐다 생각에 업그레이드 한다(주말에 할 까 하다가, 그냥 주중에.)
이거 문제 생기면 안되는데, 개발서버용 vm 이 동작하니 아무이상 없어야 하는데...

# dapper 2 hardy

업그레이드 방법은 간단하다.(Thanks Ubuntu, Thanks Debian)
https://help.ubuntu.com/community/HardyUpgrades
sudo apt-get install update-manager-core
sudo do-release-upgrade
일단 업그레이드 하고, 부팅 . 이상없기를.

# 사전준비

APM (apache2 , php , mysql) 을 사용한다면, 미리 업그레이드를 해주는 것이 좋다.
apache 2.x , php 5.x , mysql 5.x  버전으로 먼저 업그레이드 하는 것이 나중에 문제가 생기지 않는다. 특히 mysql 4.0.x 는 꼭 mysql 5.x 로 업그레이드 한다.

혹시 모르니 /etc  도 따로 백업받아 놓는다.


# 업그레이드 후 부팅.

두손을 꼭 모으고, 제대로 부팅되길...  ( 특별한 일이 없으면 거의 이상없다 )

자동로그인을 하고 싶다.
http://www.watchingthenet.com/how-to-enable-automati-logon-in-ubuntu-or-kubuntu.html
http://ubuntu.or.kr/viewtopic.php?p=13177
위 처럼 하면 된다.

근데 말이야. 원격이라서 X윈도 화면에 접속이 안되거든.
ssh 는 열려 있으니, 터미널 창에서 설정할 수 없나?
/etc/gdm/gdm.conf 를 찾아서 [daemon] 탭을 본다.
[daemon]
AutomaticLoginEnable=true  # false 를 true 로
AutomaticLogin=1day1  # <-- 사용자ID
위 처럼 바꿔준다.

기타 설정이 바뀐부분을 조정한다.(특히 설정파일을 새 파일로 교체한 경우)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
파일질라 는 FTP 어플로 아주 유용하게 쓰고 있다.

그런데, 파일질라의 몇가지 수정사항을 적용하려 빌드하는 방법을 찾아보고 있다.
http://wiki.filezilla-project.org/Compiling_FileZilla_3_under_Windows

한동안 위 문서를 가지고 놀아야 겠다.

아! 왜 파일질라를 빌드하나?
파일질라의 실행옵션이 아주 기본적인것만 있어서, 추가할 수 있나 알아보고 있다.
예를 들어 filezilla ftp://userid:userpw@ftp.mydomain.com  이런식으로 접속할 수 있다.
그런데 접속을 하면 charset 이 utf-8 으로 설정된다. 그러다 보니 한글이 깨져보이곤 한다.
아! 물론 서버측이 utf-8 로 설정되어 있으면 괜찮은데, euc-kr 환경이면 그런현상이 발생한다.

그래서 접속시에 filezilla ftp://userid:userpw@ftp.mydomain.com --charset=euc-kr  이런식으로 옵션을 바꾸어 접속하면 좋을 듯 해서 알아보고 있다.

위키문서를 따라서 빌드,컴파일,패키징 을 해본다.

1. mingw , msys
  GNU unix 시스템을 윈도우에서 사용할 수 있다. (음 상당히 좋은데.)
  빌드 시스템을 만드는데, 꽤 시간이 걸린다.(한번 만들어 놓으면 계속 쓸 수 있겠지)

  msys 를 띄우면 아래와 같은 화면이다(노란바탕)
  빌드시스템은 바로 저 msys 에서 명령을 내리게 된다.

2. wxWidget
  윈도우 위젯 wrapper 라고 봐야 하나? wxWidget 의 성능이 괜찮은가?
  윈도우 어플을 하나 만들어야 하는데, 이놈을 사용해 볼까?

3. nsis
  인스톨러, 예전 winamp(nullsoft) 의 인스톨러를 오픈소스화 한 것으로 알고 있다.

4. Filezilla 3
소스를 svn 으로 checkout 한다.
svn 을 따로 깔기 뭐해서, 깔려있는 시스템에서 checkout 하고 옮겨오는 명령.
tar cvzf FileZilla3.tgz --exclude=.svn FileZilla3/
tar cvzf FileZilla3.tgz FileZilla3/ --exclude=.svn
파일질라 컴파일.

5. 마무리 패키징
컴파일후, nsis 로 패키지를 만든다.

모두 자동 스크립트를 만들어 놔서, configure , make , make install  등의 명령으로 끝난다.


일단 여기까지 테스트 해보고, 소스를 살펴봐야 겠다.
관련 옵션 처리가 쉽게 되어 있으면 좋겠는데, 가능은 하겠지?


추가 : kdevelop 으로 소스를 살펴보고 있다. kdevelop 괜찮군.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
리눅스에서 가상머신을 띄워 작업을 한다. 이제는 거의 필수가 되었다.

윈도우의 특성상, 재설치의 위험으로부터 벗어날 수 있기도 하다.
그동안 사무실에서 리눅스 데탑을 사용했다. 필요한 것은 가상머신을 이용했다.
그러다가, 윈도우7 을 테스트하기 위해 깔아 볼 생각이다.
윈도우7 RC 버전이기 때문에 내년까지밖에 사용할 수 없다.

그렇다보니, 풀세팅을 하기가 뭐해서 가상머신을 이용할 예정이다.
윈도우7 용을 따로 가상머신을 만드는 것은 낭비일 듯 싶어, 기존 리눅스에 쓰던 것을 활용할 예정이다.

일단 파일공유를 어떻게 할 것인가?

리눅스 파일시스템을 쓸 것인가? 윈도우7 의 파일시스템을 쓸 것인가?
윈도우파일시스템을 쓰는 것이 나을 듯 하다. 그런데, FAT 시스템은 미심쩍어서 못쓰겠다.
NTFS 는 쓰기성능이 심증적으로 검증이 안되었다.(요즘 많이 좋아졌다고 하던데...)

네트웍공유를 이용할까? 그런데, 가상머신에서 지원하는가?
리눅스에서는 NFS 로 공유해서 써봤는데, 윈도우에서도 가능할까?

1. NTFS 로 파일시스템 공유 - vm 파일 공유
2. NFS 으로 네트웍 공유

일단 윈도우7 설치부터.
지난번 삽질한 (http://blog.1day1.org/283) usb 를 이용할 예정.
시스템에서 usb HDD 로 잡힌다.(그래서 하드디스크의 순서를 바꿔서 부팅)

윈도우7 을 설치하고 나면, grub 이 망가질테니, grub 다시 설치해야 할 듯
하드디스크를 분리하면  grub 재설치 안해도 될 듯 하니, 분리해서 설치하는 것이 좋겠다.

sda (SATA) , hda(IDE) , sdb(SCSI) 의 하드가 있다.(종류별로 다 있군.)
hda 에 리눅스시스템이 깔려 있으니, sda 나 sdb 에 설치해야 할텐데. 어디가 좋을까?

윈도우7 설치시 삽질이 없기를...  (다음 포스팅은 설치후에...)

추가1. 역시나 순조로울리가 없지.
 윈도우7 을 설치하려면 16G 정도가 필요하군. 뭐가 그렇게 많아?
 10G 정도 할당하려고 하니, 안되는군. (데이터 옮기고 나서 다시 시도...)

추가2. 일단 용량을 확보하고 재시도.
 그런데, 다음과 같은 메세지와 함께 설치불가.
 "Setup was unable to create a new system partition or locate an existing system partition. .... "
 정확한 원인은 모르겠지만, 다른 하드의 파티션이 NTFS 로 인식하고, 시스템 파티션을 만들수 없다고 인식하는지, 설치하려는 하드의 파티션에 설치를 하지 못한다. 다른 하드를 빼고 시도해보니 정상설치된다. 일단 설치까지는 완료. 음 오디오 드라이버가 자동인식이 안되는듯.(이런.)

추가3. 설치까지는 무리없이 진행. 한글팩을 깔려니, 설치마지막 부분에서 실패.
 산넘어 산이라더니.
 7229, 64bit 를 설치했는데(7229 한글팩이 이상인가? 내PC 만 그런가?)
 다시깔기는 그렇고, 그냥 영문판으로...

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
우분투 9.04 를 64bit 버전으로 설치했다.

64bit 버전 다운로드 : http://labs.adobe.com/downloads/flashplayer10.html

설치방법은 다운받은 파일을 압축을 풀면, libflashplayer.so  파일 하나가 나온다.
tar xvzf libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz
그 파일을 /usr/lib/mozilla/plugins/  에 복사.
cp libflashplayer.so /usr/lib/mozilla/plugins/
/usr/lib/firefox-addons/plugins/  , /usr/lib/xulrunner-addons/plugins/  에는 심볼릭 링크
ln -sf /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/firefox-addons/plugins/
ln -sf /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/xulrunner-addons/plugins/
root 권한또는 sudo 명령으로 복사/링크 한다.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
리눅스에서 프로그래밍 개발이 즐거운 것 중에 하나가 바로 diff / patch 조합일 듯 싶다.
편집기에서도 vi 와 emacs 가 또한 즐거움을 준다.

그런데, 윈도우에 친숙한 사람들은 텍스트환경에 약간의 알러지가 있는 듯 하다.
나도 윈도우와 리눅스를 둘다쓰고 있다. 둘중 어느하나가 뛰어나다 말하기 곤란하다.
윈도우에서 편한 작업이 있고, 리눅스에서 편한 작업이 있기 때문이다.

윈도우에서 작업하다 보면 리눅스의 diff 가 그리울 때가 있다.
간혹 쓰기 때문에 어찌보면 별 효용성을 못 느꼈지만, 많이 쓸일이 있을 때는 리눅스 diff 를 쓰곤했다.

물론 윈도우에서도 Diff 툴(파일비교)이 있다는 이야기를 들었지만, 딱히 써보지 않았다.

구글링 해서 찾아낸, 추천하는 몇가지 diff 툴을 써봤다.

1. AcroDiff
  http://www.acrosoft.co.kr
  윈도우텍스트 편집기인 아크로에디터(AcroEdit) 에 포함되어 있는 AcroDiff 프로그램이다. 편집기는 쓰지 않고, Diff 프로그램만 가져다 쓰고 있다(그래도 되나?) 편집기 설치후에 설치폴더에서 AcroDiff.exe 파일과 Languages/ae_kor.dll 파일을 원하는 위치에 복사하고 사용하면 된다.

2. Compare It
  http://www.grigsoft.com/wincmp3.htm
  쉐어웨어이지만, 쓰는데 지장은 없다.

3. WinMerge
  http://winmerge.org
   * http://sourceforge.net/projects/winmerge/
  오픈소스이며, 다양한 기능이 있다.

4. WinDiff
  http://www.grigsoft.com/download-windiff.htm
  아주 간단한 형태의 windiff 파일이다. (MS 프로그램이라고 하던데 맞나?)


개인적으로는 AcroDiff 와 Compare It 이 좋아보인다. 하나만 고른다면, AcroDiff 가 짱.

현재 EditPlus 의 외부프로그램 형태로 등록해 쓰고 있다. 4가지 모두 실행에 지장없다.
각 각을 써보면서, 순위가 달라질 수 있을 듯 하다.(지금은 잠깐 써본 느낌)
1,2,3 번에서 순위 변동가능(4번 windiff 는 쓰기좀 그럴듯-보기가 힘든면이 있다)
써보면서 추가적인 느낌, 기능등을 추후 넣을 예정.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
윈도우에서 리눅스의 ext2/ext3 파티션을 읽을 수 없다.
난 윈도우와 리눅스를 듀얼부팅해서 사용하는데, 잠깐 리눅스에 접근할 일이 있을때 재부팅을 해야 하는 불편함이 있다. 리눅스쪽에서는 ntfs-3g 로 윈도우의 NTFS 파일시스템에 접근할 수 있다.


1. Linux Reader
http://www.diskinternals.com/linux-reader
linux reader  공식적으로 Vista/2008 까지 지원한다. 윈도우7 도 가능할 듯 하다.

역시 리눅스 파티션을 잘 읽어낸다.

그런데, 한글파일은 깨져서 보인다.


2. Ext2 IFS
http://www.fs-driver.org
Linux Reader 처럼 Vista/2008 까지 지원하긴 하지만, 윈도우7 은 설치하지 못하게 해놨다.
OS 의 커널 모듈(드라이버)형태로 설치가 되는 것이라 버전을 엄격하게 체크하는 듯 싶다.
(비스타까지 지원하니 곧 윈도우7도 지원할 것이다.)


3. Explore2fs
http://www.chrysocome.net/explore2fs
explore2fs 는 윈도우XP(윈2003) 까지만 지원되는 듯 하다.
그렇지만, 윈도우7에서 시도를 해보니, ext3 파티션을 찾는 듯 하지만, 내용을 볼 수 없다.



결론?
 아직 윈도우7 이 정식으로 나오지 않아서, 공식지원하는 것은 없다. 공식지원은 아니지만, Linux Reader 는 접근가능했다. 그러나 오동작의 위험이 있으니 읽기전용(Read Only) 으로만 사용하는 것이 좋을 듯 하다.

추후 정식출시되고, 공식지원되면 다시 내용을 추가해야 겠다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
윈도우7 64bit 를 설치하고, 기존 윈도우비스타 32bit 의 데이터를 하나씩 옮겨가고 있다.
우선 파이어폭스 의 북마크를 백업하고, 윈도우7 에서 복원하기로 불러오려 한다.

나처럼 시스템을 옮기는 경우나, 윈도우를 다시 재설치한 경우등 기존의 설정을 가져오고 싶을때 유용하다. 정확하진 않지만, 윈도우 <--> 리눅스 , 윈도우 <--> 맥OS  의 경우등도 가능할 것이다.


북마크 백업하기
백업하기를 선택하니, json 파일형식으로 백업된다.

북마크 복원하기
복원하기에서 '파일선택' 으로 백업시 저장한 json 파일을 선택한다.
선택하면 위와 같은 메세지가 나온다. 확인을 누르면 백업한 북마크가 복원된다.


암호기억하기 도 백업/복원 가능한가?

그리고, 암호 도 백업/복원하고 싶다.
이건 좀 복잡(?)한 방법으로 해야 한다.

우선 윈도우폴더옵션에서 '숨김파일 및 폴더 표시' 를 체크한다.
(체크해야 원하는 폴더로 이동할 수 있다.)

암호기억하기 관련 파일 백업하기
윈도우설치폴더 > 사용자 폴더
                      > AppData > Roaming > Mozilla > Firefox > Profiles > xxx.default  폴더에서 
signons3.txt (또는 signons.txt ) 파일과 key3.db 을 백업한다.

윈도우7 의 파이어폭스에 '암호기억하기' 정보 복구하기
윈도우7 도 마찬가지로 '폴더 및 검색 옵션' 으로 들어가서 '숨김파일을 표시' 를 체크한다.

백업한 파일 복사/붙여넣기 하면 OK
복사했던 파일을 해당위치에 붙여넣기를 한다.(비스타의 위치와 비슷하다. 끝부분만 차이남)

다시 파이어폭스를 실행시키면 암호기억하기 가 복원된 것을 볼 수 있다.


ps. key3.db 파일은 FF 의 자체암호화를 위한 키인듯 싶다.
signons3.txt 이외의 파일에도 적용되는지는 좀더 살펴봐야 겠다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
윈도우7 , 쓰면 쓸 수록 마음에 든다.

키보드의 전원단추를 눌렀을때 '시스템종료' 가 기본으로 설정되어 있다.
난 최대절전모드로 놓는 것을 선호한다.

제어판의 전원옵션을 보면
'전원단추를 사용할 작업 선택' 항목을 누르면 다음과 같이 나온다.
최대절전모드 를 선택한다.

그리고, '절전 모드 해제시 암호 보호' 는 최대절전모드 로 들어갔다가 다시 켜질때(절전모드해제)
암호를 입력하고 사용할것인가, 그냥 바로 사용할 수 있게 할 것이냐를 선택할 수 있다.

'현재 사용할 수 없는 설정 변경' 을 클릭해서  암호 사용여부를 선택한다.
난 바로 사용할 수 있게 암호 보호를 사용하지 않음 을 선택했다.
선택후 당연히 '변경 내용 저장' 을 누른다.

PC 가 책상밑의 구석에 있어 전원버튼 누르기가 힘들다. (엄지발가락 켜기 신공을 할 수 있지만, 이것도 쉽지 않다. ^^ )
키보드로 최대절전모드 로 끄고, 다시 키보드 아무키나 누르면 다시 켜지기 때문에 꽤 편리하다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
자동로그온 설정을 하는 방법.

1. 콘솔창(cmd.exe) 에서 control userpasswords2  입력
2. '사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음(E)'  의 체크 해제
3. 자동로그인할 사용자계정 암호입력.  끝.

그림 하나로 설명.


ps. 윈도우7 : 이거 쓰면쓸수록 이거 물건이네. 당장 옮겨도 될 듯.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
지난 화요일에 한 세미나인데, 이제야 여유가 생겨. 자료를 정리한다.
자세한 사항은 다른분들이 많이 남겨주셨고. 링크하나로 대신한다.
http://lovesera.com/tt/387


강의 슬라이드 : http://talks.php.net/show/korea09

첫세션 (슬라이드 1~22까지)

둘째세션(슬라이드 24부터)

지난번 처럼 이번에도 녹음을 해봤는데, 녹음환경이 좋지 않았다.(일찍가서 스피커앞에 두면 좋았을듯) 뭐 전문적으로 녹음하겠다는 것이 아니었으니, 들을 수 있을 정도면 되겠지.


세미나를 듣고, 고민이 생겼다.
php 와 성능, 퍼포먼스.
그리고 프레임워크. 과연 프레임워크를 쓰지 않는 것이 좋을까?
물론 결론은 프로젝트에 따라 다르겠지.

php 언어의 특성상. 프레임워크가 맞지 않은 측면이 많은 것 같다.
이 논란은 한동안 계속될 듯 싶다.


ps. 슬라이드 보면서 다시 들어봐야겠다.
  녹음상태가 안좋아서 그렇지, 영어라서 못 알아듣는 것이 아니야(정말?) =3=3=3

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
언제부터 AppArmor 가 사용되었지? (ubuntu 7.04 버전인듯)
https://help.ubuntu.com/community/AppArmor

기본 mysqld 의 설정이  /var/lib/mysql 을 기준으로 하는데.
DB 저장소 위치를 바꾸어서 사용하고 있었다.

8.04 버전부터, mysqld 가 좀 까다로운 설정을 하나보다. (enforcing)
/var/lib/mysql 이외의 위치를 사용하면 프로파일에 넣어줘야 한다.

/etc/apparmor.d/usr.sbin.mysqld  를 열어서.
/새로운위치/mysql r ,
/새로운위치/mysql/** rwk ,
처럼 추가를 해주어야 한다.

보안관련 설정이니, 나름 규칙을 지켜줘야 겠다.

/var/log 의 kern.log , messages 등에 다음과 같은 메시지가 남는다.
Apr 23 11:05:19 yourhost kernel: [47939.567241] audit(1240416319.933:116023): type=1502 operation="inode_permission" requested_mask="r::" denied_mask="r::" name="/database/mysql/db_name/" pid=9475 profile="/usr/sbin/mysqld" namespace="default"
정상적인 메시지는 다음과 같다.
Apr 23 11:07:01 yourhost kernel: [48040.807284] audit(1240416421.333:116024): type=1502 operation="capable" name="sys_resource" pid=9652 profile="/usr/sbin/mysqld" namespace="default"

ps. 위 문제는 7.10(Gutsy) 에서 8.04(Hardy) 로 버전업그레이드 하다가 mysql 이 실행되지 않아 살펴보다가 알게되었다.
반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
코어호스팅을 신청했다.
서버운영체제로 많이 쓰는 Centos 가 설치되어 있었다.

그런데, root 를 열어놓다니(ssh) 헐! (centos 가 원래 그런가?)
호스팅업체가 관리편의를 위해 그런 듯.

일단 개인 계정을 만들고, 우선 ssh 로 root 접속을 막았다.
ssh 의 기본포트인 22 번도 다른 포트번호로 할당했다.

방화벽을 사용한다면, 다르게 지정한 ssh 포트번호를 방화벽에서 허용해준다.

일단 접속시의 보안설정은 이정도로...
FTP 는 sftp 로 사용한다. vsftpd 가 깔려있는데, sftp 만 사용할 것이므로, 서비스 중지시킨다.
# chkconfig vsftpd --del  ( --list 로 현재 서비스상태를 확인한다)

가상호스팅이라서 그런지(관리 편의상?), vnc 를 열어놓았는데(5901 포트)
일단 방화벽으로 막아놓았다.(정확히는 열어놓지 않았다)

이제 웹서버 설정을 하자.


ps. centos 커널  2.6.18-128.1.6.el5  으로 4월1일자 업데이트 되었나 보다.
 kernel panic 이 나길래, 재설치 ( yum remove .. , yum install ) 한 후 이상없이 재가동 되었다.
 커널이미지가 깨진 것일까?

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
Xpress Engine 이 점점 안정화 되고 있는 듯 하다.
물론 이미 바로 쓸 수 있을 정도로 완성도가 있다.

얼마전 1.2.x 버전을 발표했다.
http://www.xpressengine.com/zbxe_download

engine 이라는 말처럼 XE 는 Core 부분과 주요기능을 모듈형태로 나뉜다.
다른 개발자가 쉽게(?) 모듈을 만들 수 있게 한다는 것이다.
블로그XE , 카페XE 등이 그런 형태이다.

메타블로그 모듈인 LiveXE 도 http://www.xpressengine.com/17921668 나오게 되었다.
메타블로그 관련 어플을 찾고 있었는데, 테스트 1순위로 놔야 겠다.

어찌보면 메타블로그가 개인에게 무슨 소용인가 라는 생각을 할 것이다.
그런데, 올블로그, 블로거뉴스 등을 보면 자신의 입맞에 맞는 메타블로그가 되기는 어렵다.
자신만의 관심RSS 를 모아놓으면 최적의 메타블로그가 될 가능성이 많을 것이다.
그래서 개인적으로 그렇게 모아서 활용하시는 분들도 있다.

RSS 리더 와 비슷한 측면이 있지만, 메타블로그 만의 장점도 있다.
어느 정도의 방문자가 있다면, 인기글 등을 따로 추출할 수 있게 된다.
개인 메타블로그 는 바로 저게 최대의 난점이긴 하다.(어느정도의 방문자.)

일단 테스트 모드로...
반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
버철박스가 업그레이드 되었다. 2.2.0 버전. (지난 버전은 2.1.4 버전.)
http://www.virtualbox.org/wiki/Downloads : 4월 8일에 나왔다.
변경사항은 http://www.virtualbox.org/wiki/Changelog 를 참조.

예전(처음) 방식의 HOST interface 가 다시 추가되었다.
이전 방식은 브리지 네트워크 형태로 따로 추가되었다.
별로 쓰지 않아 필요성을 느끼지 못했는데(난, 브리지 네트워크로 사용한다), 다시 추가된 것을 보니 요구하는 사람이 많았나 보다.
네트워크 연결 을 보면 위와 같이 호스트 전용 네트워크 어댑터가 생긴다.


호스트네트워크가 변경되다 보니, 기존 브리지 네트워크 설정하던 것이 문제가 되기도 했다.(나만 그런지 모르겠다)
위처럼 브리지 네트워크 를 선택했을때 '어댑터' 부분에 지정 랜카드가 나오지 않는 경우가 있다. 일종의 설치시 버그인데, 다시 설치파일을 실행해 Repair 를 해준다.
아래처럼 정상적으로 브리지 네트워크 어댑터를 선택할 수 있게 된다.
(설치후 문제 없으면 그냥 넘어가면 된다)


설치하고 나서 또 다른 문제는  가상머신 의 설명을 적어놨는데, 한글이 깨지는지 아래처럼 나와 버린다. 지우고 다시 적어줬다.


그외 변경사항은 http://www.virtualbox.org/wiki/Changelog 를 참조.
  • OVF (Open Virtualization Format) appliance import and export (see chapter 3.8, Importing and exporting virtual machines, User Manual page 55)
  • Host-only networking mode (see chapter 6.7, Host-only networking, User Manual page 88)
  • Hypervisor optimizations with significant performance gains for high context switching rates
  • Raised the memory limit for VMs on 64-bit hosts to 16GB
  • VT-x/AMD-V are enabled by default for newly created virtual machines
  • USB (OHCI & EHCI) is enabled by default for newly created virtual machines (Qt GUI only)
  • Experimental USB support for OpenSolaris hosts
  • Shared folders for Solaris and OpenSolaris guests
  • OpenGL 3D acceleration for Linux and Solaris guests (see chapter 4.8, Hardware 3D acceleration (OpenGL), User Manual page 70)
  • Added C API in addition to C++, Java, Python and Web Services

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
항상 설치할때 마다 까먹는다.(맛있나봐!)
둘다 MBR 을 좋아해서 서로 차지하려고 난리도 아니다.

윈도우 재설치를 한 후 grub 을 재설정 하는 방법이다.
라이브CD 로 부팅해서 재설정하는 방법.

부팅후(설치 파티션이 /dev/hda4 라고 할때)
# mkdir /mnt/hda4
# mount /dev/hda4 /mnt/hda4
해당 파티션을 적당한 위치에 마운트 시킨다.
# mount -t proc /proc /mnt/hda4/proc
# mount -o bind /dev /mnt/hda4/dev
chroot 전에 필요한 시스템을 마운트한다.
# chroot /mnt/hda4 /bin/bash
chroot 한 후 grub 설정을 한다.
# grub
다음은 grub 명령이다.(grub> 은 grub 명령 프롬프트)
에러가 나면, 디바이스 장치들이 제대로 잡히지 않은 것이다.
grub> root (hd0,3)
grub> setup (hd0)
grub> quit
hda4 는 (hd0,3) 을 나타낸다.
"(hd0,"  까지 입력하고 TAB 키를 눌러보면 원하는 파티션을 볼 수 있다.

root (hd0,3) 은 /boot/grub/stage1 이 위치한 곳을 지정하면 된다.
setup (hd0) 는 MBR 에 해당한다.

다시 재부팅하면 OK.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
euc-kr 을 utf-8 으로 변환하는 스크립트를 이용한다.
http://kldp.net/forum/forum.php?thread_id=48670&forum_id=712

해당 스크립트에서 변환할 부분이 있다.
모니위키 블로그 형식이  blog/2009-03  일때,
데이터가 blog_2f2009_2d03  이렇게 저장이 되는데, 위 스크립트는 _2d 가 사라져 버린다.

위 링크의 변환 스크립트 를 다운받고(http://moniwiki.kldp.org/dev/pds/2utf.pl)
한줄을 수정한다.
91         $pagename=~ s/_([a-f0-9]{2})/hex($1)>127?chr(hex($1)):$&/eg;
92         #$pagename=~ s/_([a-f0-9]{2})/chr(hex($1))/eg;
원래 92 라인인데, 주석처리하고, 91 라인처럼 수정한다.
그러면  blog_2f2009_2d03   형식도 제대로 변환된다.(꼭 테스트는 하시길...)


moniwiki 설치 디렉토리의 data / text , cache 의 데이터를 변환한다.
text 만 변환하면, 간혹 깨진 데이터가 보일 수 있다.
BlogChanges 등에서 깨져 보일 수 있다.(cache 데이터를 이용하는 듯)

변환 후 이런 문제.
깨지는 부분이 있다. (이 부분은 RecentChanges 부분인 듯 하다.)
이 부분의 데이터는  data / editlog 파일을 변환하면 된다.

즉, 과정은.
1. 스크립트 변환 ( data 디렉토리의 text , cache )
2. data / editlog 변환


일단 여기까지 변환하면 별다른 문제는 발견하지 못했다.
아직 테스트 중이고 별 이상이 없으면 실제로 적용할 예정이다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
ubuntu 및 리눅스 에서 root ( / ) 와 var 가 같은 파티션으로 운영중이다가,
var 를 다른 파티션으로 분리할 때 주의할 점이 있다.
(경우에 따라서 네트웍 인터페이스가 안 올라오기도 한다)

/var/lock 과 /var/run  은  root (/) 와 같은 파티션에 있어야 한다는 것이다.

shell 에서 df 명령을 내려보면.
varrun     517888  224   517664   1%   /var/run
varlock    517888     0   517888   0%   /var/lock
이런식으로 나올것이다.

예를 들어
sda1  에 root (/) 와 /var  가 운영되다가.
sda2  로  /var 를 분리한다고 한다면.

sda1 /
sda2 /var

sda2 /var --> var/run , var/lock  이 위치하는 것이 아닌.
sda1 / var/run , var/lock 을 만들고,  /var  를 sda2 로 마운트 시킨다.

그래야 varrun , varlock 이 정상적으로 마운트된다.


ps. varrun , varlock 은 아마도 프로세스 관리에 필요한 듯 하다.
리눅스 커널 어느 버전부터 적용된 것인지는 모르겠다.
최소 dapper 부터는 봤으니, 꽤 된 듯.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
파란호스팅을 써보려고 테스트 하고 있다.
zend framework 를 테스트 중이다.
실제 웹어플,서비스를 하기에는 아직 젠드프레임웍에 익숙하지 않아서 당분간 공부모드.


파란호스팅은 PDO 를 지원하라! 지원하라!

zend 에서는 DB 아답터(라이브러리?)를 PDO 를 밀고 있는 듯 하다.
예제도 그것을 기준으로 되어 있는게 많다.(뭐! 2개밖에 확인을 안했지만... =3=3=3)

근데, 파란호스팅에서는 PDO 를 공식 지원하지 않는다.
pdo_sqlite 는 되는데(공식지원은 아님), pdo_mysql 는 php 확장이 설치되어 있지 않다.

그래도, zend 의 mysqli 아답터를 사용할 수 있다.
db adapter 를 pdo_mysql(pdo_sqlite) 를 mysqli 로 바꾸면 끝.


DB 캐릭터 셋도 utf8 으로 바꾸자.

파란호스팅의 mysql 은 euckr 으로 설정되어 있다.
utf8 을 쓰기 위해서는 'set names utf8' 쿼리를 DB connection 후에 날려준다.

내 경우에는 bootstrap.php 에 다음을 추가했다.
$dbAdapter = Zend_Db::factory($configuration->database);

$dbAdapter->query('SET NAMES utf8');  // 라인 추가

이상없이 utf8 을 쓸 수 있다.


직접 pdo_mysql 을 올려볼까?
http://www.buggy.id.au/2007/02/19/installing-pdo-on-ubuntu/
다른곳에서 컴파일하고 pdo_mysql.so 를 올리고, php 소스상에서 올린다는 거지.

근데, 안되는군.
disable_functions    dl,mysql_pconnect
dl 함수를 막아놨네.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
FF(파이어폭스) 나 기타 브라우저에서는 아이디/암호 넣을때 암호를 저장할 것인가를 물어본다. PC 방 같은 공동으로 쓰는 곳이 아니면, 상당히 편하다. 매번 입력할 필요가 없으니까!

그런데, 이 기능을 쓰다보면, 내가 무슨 암호를 썼었던가?  기억이 안 날때가 있다.
요즘은 개인정보 유출 사고 때문에 사이트에서 암호를 주기적으로 바꾸도록 권장을 한다.
그래서 바꾸다 보면 예전에 주로 쓰던 암호와 다른경우가 생겨 정말 기억이 안 날때가 있다. 따로 어디다 적어두지 않는 이상. 결국에는 '아이디/암호 찾기' 를 눌러야 한다.

그런데, 브라우저의 암호 자동입력(암호기억하기) 하기 기능을 쓴다면, 알아낼 수 있다.

아래 파란메일의 로그인 화면이다. 자동으로 암호가 입력된 상태인데, 저 암호를 알아내려면 주소창에 아래와 같이 입력하면 된다.
사이트 마다 다른 로그인 폼의 이름(fmLogin)과 암호 입력폼 이름(wbPasswd) 등을 찾아내야 한다.(소스보기로 해당 값을 알아내면 된다)
그러면 경고창이 뜨면서 암호를 알려준다.
FF 만 테스트를 해봤지만, 다른 것도 마찬가지 일 것이다.
기능의 구조상 암호화 된 값을 넣을 수 없으니, 암호화 되지 않은 평문값이 입력될 수밖에 없다.

결국에는 아주 개인적으로 쓰는 경우가 아니면 암호기억하기는 쓰지 않는 것이 좋다.
쓰더라도 주기적으로 바꾸는 것이 좋을 것이다.
혹은 노트북에서 암호기억하기를 사용한다가 도난당했다면, 모든 사이트 암호를 바로 바꾸는 것이 상책이다. (사용하지 않았다고 해도 위험하지만...)

브라우저 기능이외에 프로그램을 쓰는 경우도 크게 다르지 않을 것이다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
FTP 를 운영할때 이런 경우가 있다.

Data / userA / dirA / fileA , fileB
                     dirB / fileC , fileD
         userB / dirC / ...
         userC /
위 처럼 구성되어 있다고 할때.

다운로드는 심볼링링크로 처리한다고 해보자.
(각 파일은 DownA -> userA 의 파일들이 링크된다-지정된 몇몇 파일들)
DownA / data / dirA / fileA -> symbolic link (/Data/userA/dirA/fileA)
                       dirB ..
DownB / data / dirC ..
이렇게 외부로 빼서 하는 경우 FTP 의 chroot 상태에서는 링크가 깨져 다운로드 할 수 없다.
(userA 의 경우 접속시 DownA 가 chroot 되어 /data/ ... 부분만 접속이 가능하기 때문이다)

그럼 어떻게 해결하는가?

1. chroot 를 풀어버린다.
  chroot 를 사용하지 않고, 그냥 절대경로로 사용한다.

 proftpd
DefaultRoot                    ~
의 옵션을 해제한다.
 vsftpd
chroot_local_user=YES
를 YES -> No 로 바꿔준다.

 그런데, 저렇게 바꿔버리면 사용자가 상위디렉토리로 접근할 수 있게 되어 보안 위험에 노출 된다. 물론 퍼미션을 잘 조정하면 괜찮지만, 아무래도 꺼림직하다.

2. mount bind 를 이용한다.

접근하려는 사용자 디렉토리를 mount -o bind 옵션으로 마운트해서 사용한다.
위와 같은 경우 (userA)
mount -o bind  /Data/userA  /DownA/UserData

이런식으로 마운트한후에 링크는
/UserData/dirA/fileA
으로 해주면 된다.  여기서
/DownA/UserData/dirA/fileA
가 아닌 이유는 chroot 시에 /DownA 가 / 로 바뀌기 때문이다.

이 경우 사용자가 늘어나면 매번 mount bind 명령을 해줘야 한다.
소수의 사용자야 그냥 하면 되지만, 늘어나는 경우 정말 귀찮아 진다.
cron 으로 자동처리하면 되기는 하는데, 좀 깔끔하게 처리하는 방법이 없을까?


위 방법이 한계가 있다면, FTP 이외에 다른 방법을 찾아야 할지도 모르겠다.
서버, 클라이언트의 부담이 가장 적은 방법에 무엇이 있을까?

# 관련자료
http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Chroot.html

http://www.proftpd.org/docs/howto/Chroot.html
반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
국내 이동통신사는  사용자를 위한 서비스를 하고 있을까?

난 나를 비교적 나이가 적다는 축에 속한다고 보지만, 휴대폰으로는 음성전화,SMS 이외에는 사용하지 않는다.
첫번째 이유는 2가지 기능 이외에는 도저히 불편해서 못 쓰겠다는 것이다.
두번째는 다른 기능을 사용하기 위해서는 상당한 비용을 지불해야 한다는 것이다.

아마도 두번째 이유가 크겠다.

그 중 하나의 예를 들어볼까 한다.
바로 MMS , LGT 쪽에서는 shot 메일 이라고 하는 듯 하다.
(SKT 는 컬러메일, KTF 는 멀티메일 이라고 부른다)

MMS 이게 뭔가?  간단히 설명하면 SMS 는 80자로 제한되어 있다.
그 제한을 벗어난 문자수나 또는 첨부파일을 보낼 수 있도록 하는 기능이다.
아마도 주로 사진을 보낼때 많이 사용할 것이다.

나 또는 친구가 사진을 찍어서 그 사진을 가족이나 다른 친구에게 보내고 싶을때 바로 이 MMS 를 쓰게 될 것이다.
MMS 를 받은 사람은 첨부파일(사진)을  첨부파일 보관함에 저장을 할 수 있다.

그런데, 요놈이 좀 이상하다.

본인이 찍은 사진은 USB 연결선(?)을 가지고 PC 로 전송이 가능하다.
그런데, 첨부파일보관함에 있는 사진을 PC 로 전송을 할 수가 없다.
(첨부파일보관함 -> 사진보관함 으로 전송이 되지 않는다)

SKT, LGT, KTF 의 모든 기종(anycall , cyon, ktf, sky 등 모든기종)이 다 그런지는 모르겠다.
내가 확인해 본 LGT 는 그렇다.(SKT, KTF 는 추후 확인되면 추가작성하겠음, 제보환영)
핸드폰에 들어가는 기본프로그램은 비슷하기 때문에 크게 차이는 없을 것이다.

저 기능이 없다보니, 타인에게서 받은 사진을 저장하려면, 자신의 메일로 보내서 받아야 하는 어이없는 상황이 연출된다.(보내는 비용이 발생한다.)

용량에 따라 차이가 있지만, 보통 200원에서 4~500원정도의 비용이 발생한다.
자신의 핸드폰에 저장된 파일을 PC로 전송할 수 없게 만들어서 추가 비용이 발생하도록 만든다.

MMS 가 대용량(?)메세지를 보낼 수 있어서 요금이 발생하는 것을 딴지 걸고 싶지는 않다.
(물론 난 비싸다고 생각하지만, SMS 도 비싸다)
그러나, 당연히 사용자를 위한 서비스로 제공할 법도 한 위와 같은 것들까지도 장삿속으로 요금을 부과하는 것은 정말 구역질이 난다.

국내 이동통신사들이 다 그런지는 확인후에 추가로 첨부하겠음.


ps. 기종에 따라 가능한 것들이 있을 듯 싶은데.
카메라가 달린 비교적 신형(?)의 핸드폰이 이런 상황이다.(1~2년 이내)
요즘 나오는 스마트폰 들은 기능이 풀려(?)있는지 모르겠다.
(스마트폰들 마저 그렇다면, 정말. 막장.)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
노트북 LCD 를 수리한적이 있다.
노트북 화면이 제대로 보이다가, 화면에 줄이가고 이상해졌다. 그러다가 잘 나오기도 하고.
암튼 일단 가장 부품값이 많이 가는 LCD 자체는 이상없는 것 같고, 접촉불량 비슷한 것 같았다. 노트북 LCD 에 대해 잘 모르니, 일단 A/S 를 찾았다. 역시나 통채로 갈아야 한다. LCD패널교체로 20만원정도가 든다고 한다. 헐! 이건뭐 노트북 중고값보다 더 나오잖아!

노트북이 많이 쓰이면서, 노트북 수리 관련 A/S 를 많이 받게 된다.
노트북의 특성상 부품이 근접해 있기 때문에 일반 데스크탑 보다 고장률이 많다고 한다.
일반 데스크탑은 부품교체/수리가 용이한 면도 있지만, 교체방법등에 대한 자료가 많다.
(위 글에서도 정식A/S 센터에서는 전체교체만 해준다는군. 특별한 이유가 있을까?)
아무튼 사용자 편의는 별로 생각지 않는 것 같다.

다시 내 이야기로 돌아와서, 정식A/S센터에 수리받는 것은 포기했다.
그래서 LCD 수리하는 곳을 찾았다. 가격을 알아보니, LCD 교체건이라면 A/S 센터와 비슷한 비용이 들었다. 다만, 확인해봐서 간단한 수리라면 10만원정도로 가능하다고 한다. 그나마 비용이 줄었다. 그러나 그래도 비싸다. LCD 수리하는 곳에서는 최소 10만원부터라고 한다. 다른곳을 수소문하면 더 싼곳이 있겠지만, 크게 다르지 않을 듯 싶어서 그냥 수리를 맡겼다.

그런데 좀 찜찜한 구석은 여전히 남아있다. 분명 LCD 상태가 최악(?)의 상황이 아니라는 것을 보면 알 수 있는데, 그 것에 비해 비용이 많이 나온 것 같다는 찜찜함. 화장실 가서 뒤 안닦고 나온 듯 한 찜찜함. 물론 그냥 느낌뿐이다.
확인을 할 수 없으니 말이다. 모르면 바가지 쓴다고 해야하나. 모르면 부르는게 값이다 라고 말하면 끝일까?

앞으로 노트북 수리에 대한 정보가 많아지면, 그런일이 줄어들테고, 직접하는 사람들도 많아지겠지만, 지금은 사람들이 잘 모른다고, 바가지 씌우는 듯한 수리정책이 좋아보이지 않는다. 수리를 맡긴 사람이 '다음에 고장나면 또 와야지!' 라는 마음이 드는 것이 아니라, '이거 다음에는 직접고쳐야지!' 라는 생각이 들게 만들면 잘 못 된것 아니냔 말이다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,