윈도우즈에서 GitHub Client 나 Git Bash 와 같은 Git client 사용중 갑자기 curl_multi_timeout 에러메시지와 함께 libcurl.dll 이 어쩌고 저쩌고 하는 에러가 발생하는 경우가 있다.


 이때에는 일단 사용중인 브라우져들을 전부 닫고, 다음경로의 libcurl.dll 을 삭제한 후 다시 Git client 를 사용하면 잘 동작한다.

  • win 32bit: C:\Windows\System32\libcurl.dll
  • win 64bit: C:\Windows\SysWOW64\libcurl.dll

 만약 그래도 동작하지 않는다면, Git Bash 나 GitHub Client 를 재설치 해보도록 한다.

 

 위의 내용으로 해결이 안되면 다음과 같이 수정해본다.

  • Git 이 설치된 경로에서 libcurl.dll 을 Copy ( C:\Program Files\Git\bin\libcurl.dll )
  • Copy한 libcurl.dll 을 다음경로에 Past ( C:\Program Files\Git\bin\libexec\git-core )

 

Posted by leechwin

 요근래 Windows7 64bit 에서 MS Office 2010 을 사용중에 갑자기 언어팩을 설치할 수 없다는 경고와 함께 무한 리부팅이 되는 사태가 발생 했었다.


 재부팅이 무한정 되는 문제는 윈도우즈가 부팅되자마자 작업관리자의 프로세스에서 Microsoft Office 가 수행중인 프로제스를 강제 종료하여 임시로 해결이 되었다. 하지만 이후 Microsoft Office Uninstall 만 수행하면 위의 재부팅 문제가 발생하였다.


 윈도우익스플러에서 강제로 Office 관련된 부분을 지우고 새로 Office 를 설치하려고 하니 이번엔 다음과 같은 경고창이 뜨면서 이도저도 못하는 상황이 발생되었다.


"이전 Groove 또는 Microsoft Groove Server 소프트웨어가 이 시스템에 설치되어 있습니다. Microsoft Sharepoint Workspace를 설치 또는 업그레이드하기 전에 이전 Groove 및 Microsoft Groove Server 소프트웨어를 모두 제거해야 합니다. 자세한 내용은 Microsoft Shearepoint Workspace 관리자에게 문의하십시오."


 위의 문제를 해결하고 MS Office 를 새로 설치하려면 다음과 같은 방법이 있다.

  1. 제어판의 프로그램 추가제거에서 office 를 제거하는 방법(이방법이 잘되면 여기에 블로깅을 하지도 않았다.) 
  2. Fix It 라는 Uninstall 프로그램을 수행하여 office 를 제거하는 방법
  3. 위의 1,2번으로 해결이 안되면 수동으로 office 관련 파일들과 레지스트리를 삭제해줘야 한다.


Posted by leechwin

 프로그래머생활에 발담근지 꽤 되가지만 

 여태껏 윈도우즈에서 프로그램이 응답이 없거나 뻗었을 경우

 Ctrl + Alt + Delete 키로 Windows 작업 관리자를 띄우고 해당 프로세스나 프로그램을 죽이고는 했다.


 MS 에서 제공하는 Process Explorer 툴을 보고난후 지금까지 얼마나 바보같았는지 깨달았다.

역시 사람을 도구를 쓸줄알아야...


다음의 사이트에서 다운로드 받을 수 있다.


왼쪽이 기본 Windows 작업 관리자 이고, 오른쪽이 Process Explorer 이다.



Process Explorer 에서는 다양한 정보를 보여준다.

  • 실행중인 Process 들의 command line 인자
  • 실행중인 Process Path
  • 실행중인 Process 들과 fork 된 Process 들과의 관계
  • 실행중인 Process Kill, Restart, Suspend
  • 실행중인 Process Dump
  • CPU, Memory, I/O, Disk 사용량


기존 Windows 작업 관리자를 쓴다면 어서 설치하기를 권장한다.



Posted by leechwin

우분투에서 많은 파일중에 원하는 문자열이 들어있는 파일을 검색하고 싶은 경우가 있다.

일일이 검색하거나 툴을 사용하여 검색을 할 수 도 있지만, shell 상에서 간단히 검색하는 방법이 있다.


바로 grep 명령을 사용하면 원하는 문자열이 들어있는 파일을 바로 검색 할 수 있다.

  • Usage: grep [OPTION]... PATTERN [FILE]...
  • Example: grep -i 'hello world' menu.h main.c



원하는 위치에서 하위폴더를 포함하여 원하는 문자열을 검색하려면 다음과 같이 수행하면 된다.

  • grep -r  word .
    • -r : 하위폴더까지 검색
    • word : 검색하고자하는 문자열
    • . : 현재폴더를 최상위 폴더로 지정하고 검색시작
  • 예제


Posted by leechwin

Ubuntu 를 설치한 이후 한글을 입력할려고 하면 방법이 없어서 당황하게 된다.


Ubuntu 에서 한글 입력을 가능하게 설정하는 방법에 대해 알아보도록 한다.

메뉴에서 Language Support  설정을 들어가보면 다음과 같이 기본 Keyboard input method system 으로 ibus 가 설정되어 있는데 한글지원이 잘 안된다.




Ubuntu 14.04 Version

1. Text Entry 설정에서 한글을 추가하고, 전환키를 설정한다.

  • 재부팅후 한글 전환 및 동작이 잘 이루어진다.


Ubuntu 12.04 Version

1. 한글을 이용하기위해서 추가적으로  nabi 언어팩 패키지를 설치한다.

  • sudo apt-get install nabi

설치가 완료되면 Language Support 설정에서  Keyboard input method system 으로 nabi 를 설정한다.



이후 재부팅을 하면 다음과 같이 nabi 설정 트레이박스가 나타나게 된다.





2. 부팅시 항상 nabi 설정 트레이박스가 나타나는데 다음과 같은 설정으로 트레이박스를 상단의 패널에 넣을 수 있다.


  • 패널 리스트 조회
    • gsettings get com.canonical.Unity.Panel systray-whitelist
  • 패널 리스트 설정
    • gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Wine', 'Update-notifier', 'Nabi']"
    • 위와 같이 마지막에 'Nabi' 메뉴를 추가한 후 재부팅을 하면 더이상 트레이박스는 따로 나타나지 않는다.


3. 한글과 영어 전환

  • 한/영 전환은 기본으로는 Shift + Space 키로 되어있다.


Posted by leechwin

리눅스에서 *.so 파일에 대해서 심볼 Name 이나 Type 등을 검색할 수 있는 방법에 대해 알아보자.


nm 명령어로 so 파일의 내용에 대해 심볼값, 심볼타입, 심볼이름을 알 수 있다.


예제)

 $ nm -Ca /lib/mylib.so.1

  • C 옵션
    • C++ 같은경우에는 네임맹글으로 제대로된 심볼네임이 나타나지 않을수 있는데 디맹글링을 하여 사람이 알아 볼 수 있는 심볼 이름으로 표현해준다.
  • a 옵션
    • 보통 출력하지 않는 디버거용 심볼을 포함하여 모든 심볼을 출력한다.



Posted by leechwin

Ubuntu 에서 apt-get install {Package} 로 설치가능한 유용한 패키지에 대해 정리

  • PC Recoreder
    • gtk-recordmydesktop
    • xvicap
  • Screen Shot
    • shutter
  • 공유
    • samba
  • Browser
    • chrome
    • firefox
  • Package management
    • rpm
  • Source management
    • git
  • Util
    • synergy
      • 자동시작: Menu > System > Preference > Startup Application > add


Posted by leechwin

[Ubuntu] ulimit 설정

OS/Linux 2013.02.17 17:43

ulimit 은 현재 사용중인 시스템에서 사용가능한 자원의 한계를 조회하고 설정 할 수 있는 명령이다.


  • ulimit [options] value
    • -a: 모든 항목을 보여준다
    • -c: 최대 코어 파일 사이즈
    • -d: 프로세스 데이터 세그먼트의 최대 크기
    • -f: 파일의 최대 크기
    • -n: 오픈파일의 최대수
    • -p: 파이프의 최대크기
    • -s: 스택의 최대크기
    • -u: 프로세스의 최대수
    • -v: 가상메모리의 최대크기
  • ex) 한번에 열 수 있는 linux default file descriptor 의 갯수를 1024 에서 4096 으로 수정
    • ulimit -n 4096



  • 해당 설정은 /etc/security/limites.conf 파일을 직접 수정하여 설정 가능하다.


Posted by leechwin

RPM(Redhat Package Manager) 명령어 사용법에 대해 간단한 정리


  • 조회
    • rpm -qa
      • 전체 패키지조회
    • rpm -q [패키지이름]
      • 해당 패키지 설치여부 조회
    • rpm -qi [패키지이름]
      • 설치된 패키지의 정보


  • 설치
    • rpm -ivh [패키지파일.rpm]
      • --force
        • 기존 패키지가 존재하더라도 강제설치
      • --force-debian
        • 기존 데비안 패키지가 존재하더라도 강제설치
      • --nodeps
        • 패키지 의존성무시
    • ex) sudo rpm -ivh --force-debian --nodeps test.rpm 


  • 업그레이드
    • rpm -Uvh [패키지 이름]


  • 삭제
    • rpm -evh [패키지 이름]


Posted by leechwin

Ubuntu 환경에서 JAVA 를 개발하거나 JRE 가 필요한 환경이 종종 발생한다.


Ubuntu 에서 제공하는 Open Source 인 Open JDK 도 있지만, 아직은 불안정하여 Oracle jdk 를 많이 설치한다.


다음에서는 Ubuntu 버전별로 Oracle JDK 설치법을 알아본다.



1. Ubuntu 공통

  • 일단 기본적으로 apt-get 으로 인스톨을 시도해본다.
    •  $ sudo apt-get install sun-java6-jdk

  • 패키지가 존재하지 않아 설치가 안된다면 다음과 같이 버전별로 다른 방법을 시도해 보자.


2. Ubuntu 10.04 이후 버전

  • apt-get 설치시 관련패키지가 존재하지 않을 경우 /etc/apt/sources.list 파일을 열어 아래부분의 주석을 해제하고 저장한다.
    • "#" 문자를 삭제.
    • #deb http://archive.canonical.com/ubuntu lucid partner 
      #deb-src http://archive.canonical.com/ubuntu lucid partner

  • 콘솔에서 아래와 같이 패키지를 업데트를 한다.
    •  sudo apt-get update && sudo apt-get dist-upgrade

  • 업데이트 끝난 이후 다시 설치를 시도한다.
    •  $ sudo apt-get install sun-java6-jdk



3. Ubuntu 11.04 이후 버전

  • apt-get 설치시 관련패키지가 존재하지 않을 경우 다음과 같이 콘솔에서 명령어로 저장소를 추가해준다.
    • $ sudo add-apt-repository ppa:ferramroberto/java $ sudo apt-get update $ sudo apt-get install sun-java6-jdk sun-java6-plugin

  • 콘솔에서 아래와 같이 패키지를 업데트를 한다.
    •  sudo apt-get update && sudo apt-get dist-upgrade

  • 업데이트 끝난 이후 다시 설치를 시도한다.
    •  $ sudo apt-get install sun-java6-jdk


4. Ubuntu 12.04 이후 버전

  • Oracle JDK 를 Download 한다.
    • 참고로 JDK 와 JRE 와의 관계는 JDK 를 설치하면 JRE 는 깔려있다.
      • JRE 는 Java Application 을 구동하기위한 최소한의 Runtime Environment 이고, JDK 는 Java Application 을 개발하기 위한 JRE 를 포함한 Development Kit 이다.
  • JDK 를 다운받은 폴더로 이동하여 실행 권한을 준다.
    •  $ sudo chmod +x jdk-6u38-linux-i586.bin

  • JDK 파일을 실행하여 압축을 푼다.
    •  $ ./jdk-6u38-linux-i586.bin

  • JDK 압축이 끝나면 다음과 같이 JDK 압축이 풀린 jdk1.6.0_38 이란 폴더가 생긴다.
  • 생성된 폴더를 /usr/lib/jvm 폴더로 이동시킨다.
    •  $ sudo mv jdk1.6.0_38/ /usr/lib/jvm/

  • 시스템내에서 자바를 설치한다.
    •  sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_38/bin/javac 1

    •  sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_38/bin/java 1

    •  sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.6.0_38/bin/javaws 1

  • 설치한 자바가 Default 설정이 되도록 다음과 같이 설정한다.
    •  sudo update-alternatives --config javac

    •  sudo update-alternatives --config java

    •  sudo update-alternatives --config javaws

  • 설치된 자바의 버전을 확인한다.
    •  $ java -version

  • Java Path 를 설정하기 위해서 home 에 있는 .bashrc 파일을 수정한다.
    •  $ vi .bashrc

  • 다음 구문을 추가.
    •  export JAVA_HOME=/path/your/jdk

       export PATH=$JAVA_HOME/bin:$PATH


    Posted by leechwin