kdesvn Error : SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

사내에서 사용하는 SVN 을 이전해서 새로이 kdesvn 설정을 맞추던 중 아래의 에러가 나타났다.

 SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

Virtual Box 에서 사용하는 Windows 의 TortoiseSVN 은 정상으로 접속이 되는데.. 유독 KDESVN 만 접속이 안되는 것이 마음에 걸려 해결방법을 찾아 보았다.

아래의 사이트에서 해결방법을 찾을 수 있었다.

http://andrewbrobinson.com/2011/11/01/fixing-ssl-handshake-failed-ssl-error-key-usage-violation-in-certificate-has-been-detected-error-on-svn-checkout/

kdesvn 에서 사용하는 SSL/TLS 관련 라이브러리 문제로 발생되는 문제였다.

기존에 사용하던 SSL/TLS 관련 라이브러리를 옮겨주고, 새롭게 설치한 SSL/TLS 라이브러리를 심볼링 링크로 걸어주면 문제는 해결된다.

$ sudo apt-get install libneon27
$ sudo mv /usr/lib/libneon-gnutls.so.27 /usr/lib/libneon-gnutls.so.27.old
$ sudo ln -s /usr/lib/libneon.so.27 /usr/lib/libneon-gnutls.so.27

ps 명령어 Redirect 할 때, 80 바이트만 Redirect 되는 현상..

 

Linux/Unix 에서 ps 명령어를 리다이렉트로 사용하는 경우가 많다.

ps -ef > test.txt

이 명령이 평소에는 잘 먹다가도 특정 시스템에서는 잘 안되는 현상이 있다. 주로 Unix에서 발생하며 오래된 버전의 Linux 에서도 같은 현상이 나타난다. 증상은 명령어 결과 최초 80 바이트만 Redirect 되는 현상이다.

이는 다음의 옵션을 통해 해결할 수 있다.

ps 명령어 입력 때, w 옵션을 추가로 넣어주면 해결된다.

 ps -efw

출처 : http://www.unix.com/unix-advanced-expert-users/33429-who-truncates-output-redirection-tty-bug.html

 

mysql_query() return 1

 

mysql 라이브러리를 이용한 MySQL C 프로그램에서 이상한 로그를 발견했다.

 

mysql_query()  함수 결과를 수행한 결과값이 1이 나왔던 것.
mysql_query() 에 관한 명세는 다음 링크에서 찾을 수 있었다.

http://dev.mysql.com/doc/refman/5.0/en/mysql-query.html

 

이 중, Return Value와 관계있는 항목을 아래에 나타내었다.

Return Values

Zero if the statement was successful. Nonzero if an error occurred.

정상일 경우 0, 실패일 경우 0이 아닌 다른 값이 나온다고 나와있다.
에러가 발생했을 경우의 나타나지는 결과값들을 살펴보았다.

Errors

mysql_query() 함수의 리턴값이 1인 경우에 대한 내용은 찾을 수 없었다.
결국 mysql_error() 와 mysql_errno() 함수를 이용해 에러 메시지를 직접 로그에 찍어보고 나서야 그 원인을 알 수 있었다.

1054  – Unknown column

Ubuntu Virtual Box Start Error

 

Ubuntu 11.04 Kernel Version

Linux localhost.localdomain 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:53:09 EST 2011 i686 i686 i386 GNU/Linux

환경에서 Virtual Box 를 구동하려고 하니 다음과 같은 에러메시지가 나타났다.

“Failed to start the virtual machine WindowsXP.
Failed to open/create the internal network ‘HostInterfaceNetworking-eth0’ (you might need to modprobe vboxnetflt to make it accessible) (VERR_SUPDRV_COMPONENT_NOT_FOUND).
Please install the virtualbox-ose-dkms package and execute ‘modprobe vboxdrv’ as root (VERR_SUPDRV_COMPONENT_NOT_FOUND).”

이유인즉, 두 개의 모듈 vboxnetflt 와 vboxdrv 이 적재 되지 않아서 발생하는 문제였다.

vboxdrv 의 경우,

$ sudo modprobe vboxdrv

의 명령어로 로딩시킬 수 있었지만, vboxnetflt 모듈의 경우에는 다음의 에러 메시지를 내며 로딩되지 않았다.

jonathan@jonathan-laptop:~$ sudo modprobe vboxnetflt
[sudo] password for jonathan:
FATAL: Error inserting vboxnetflt (/lib/modules/2.6.32-33-generic-pae/updates/dkms/vboxnetflt.ko): Invalid module format

한참을 고민하다가 해결책을 찾았는데, 너무도 간단했다.
다음의 명령어로 모듈을 업로드 할 수 있다.

$ modprobe /lib/modules/2.6.32-33-generic-pae/updates/dkms/vboxnetflt.ko

또한, 매 재부팅시 자동으로 모듈 업로드를 설정하기 위해서, /etc/modules 의 파일을 수정해야 한다.

</etc/modules>

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.

lp
vboxdrv
/lib/modules/2.6.32-33-generic-pae/updates/dkms/vboxnetflt.ko