Install couchdb for Ubuntu 12.04

Posted in 개인/ㄴLinux by

Install couchdb for Ubuntu 12.04

$ sudo add-apt-repository ppa:couchdb/stable

$ sudo apt-get update

$ sudo apt-get install couchdb


Install couchdb for Ubuntu 12.04

http://smilejay.com/2013/11/easy_install-mporterror-entry-point-console_scripts-easy_install-not-found/

Windows7 Ubuntu UEFI방식으로 멀티부팅 설정

Posted in 개인/ㄴLinux by

LG zd360-GK60k를 구매하고 나서 듀얼부팅을 위해 windows7과 ubuntu를 파티션을 각각 나누어 설치하였다. 윈도우를 설치하고, ubuntu를 설치하면 grub로 들어가야 하는데 자동으로 윈도우 부팅만 되는 것이었다. 리눅스 mbr섹터를 복사하기 위해 라이브 우분투모드로 들어가 리눅스 파티션의 512k섹터를 읽어오고 이것을 bcdedit을 사용하여 ubuntu항목을 등록했지만, 부팅하면 커서만 깜빡이는 현상이 발생했다. 알고보니 바이오스가 UEFI방식으로 바뀌면서 이것에 맞게끔 설정을 해줘야 멀티부팅이 가능하다.


## 설정 순서
0. 바이오스 설정 advanced - UEFI Boot : Enabled, Legacy OS Boot : Disabled
1. Ubuntu USB로  Ubuntu 설치(Ubuntu12.04 LTS 지우고 다시 설치 항목 선택)
2. 그러면 UEFI방식으로 드라이버 잡고 gpt테이블로 구성해놓음
3. 다시 Ubuntu USB로 부팅하여 기타항목으로 들어가서 efi영역을 두고 ext4, swap 파티션을 삭제 후 재구성(이 때 사용할 용량으로 설정)
4. 재구성한 ext4파티션에 Ubuntu 재설치, 부트위치는 현재 하디드스크(sdaX가 아닌 sda)
5. Windows7 USB(UEFI방식)으로 생성 - fat32방식으로 해줘야 한다.(그러므로 xDark같은 이미지 파일은 사용할 수 없음)
6. UEFI Windows7 생성 방법은 아래 블로그 참조
7. Windows7 USB로 부팅하여 마지막 파티션에 윈도우를 설치해주자

UEFI방식의 USB로 윈도우를 먼저 설치한 후 우분투를 설치해도 상관없다.


## UEFI 방식으로 USB 디스크 생성
http://sungliky.blogspot.kr/2012/10/ubuntu-thinkpad-e320-1298-rk9-7-1.html


## XCopy 매개변수가 틀립니다 오류 시
xcopy f: h: /s /e     ->      xcopy f:* h: /s /e
위와 같은 식으로 *을 붙여서 해결하였다.


## Ubuntu USB 설치
http://deviantcj.tistory.com/473


## 윈도우 관리자를 이용한 듀얼부팅 설정
http://forlov3u.blog.me/20150375155


## 윈도우7 시스템 예약파티션 제거
http://snoopybox.co.kr/902
http://coolpunch.tistory.com/288



vim vundle 플러그인 및 환경설정

Posted in 개인/ㄴLinux by

## vim-pathogen ##
Reference: https://github.com/tpope/vim-pathogen

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
    https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim

Add this to your vimrc:

execute pathogen#infect()


## Vundle ##
Reference: http://kldp.org/node/125263
                https://github.com/gmarik/vundle

1. Setup Vundle:

 $ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

2. Configure bundles:

    Sample .vimrc:

 set nocompatible               " be iMproved
 filetype off                   " required!

 set rtp+=~/.vim/bundle/vundle/
 call vundle#rc()

 " let Vundle manage Vundle
 " required! 
 Bundle 'gmarik/vundle'

 " My Bundles here:
 "
 " original repos on github
 Bundle 'tpope/vim-fugitive'
 Bundle 'Lokaltog/vim-easymotion'
 Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
 Bundle 'tpope/vim-rails.git'
 " vim-scripts repos
 Bundle 'L9'
 Bundle 'FuzzyFinder'
 " non github repos
 Bundle 'git://git.wincent.com/command-t.git'
 " git repos on your local machine (ie. when working on your own plugin)
 Bundle 'file:///Users/gmarik/path/to/plugin'
 " ...

 filetype plugin indent on     " required!
 "
 " Brief help
 " :BundleList          - list configured bundles
 " :BundleInstall(!)    - install(update) bundles
 " :BundleSearch(!) foo - search(or refresh cache first) for foo
 " :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
 "
 " see :h vundle for more details or wiki for FAQ
 " NOTE: comments after Bundle command are not allowed..

Source-Explorer-srcexpl.vim -> SrcExpl 변경
trinity.vim -> Trinity 변경


## ctags 자동검색 ##
Reference: http://kldp.org/node/115739

set tags=./tags;/


## cscope 자동검색 ##
Reference: http://vim.wikia.com/wiki/Autoloading_Cscope_Database

function! LoadCscope()
  let db = findfile("cscope.out", ".;")
  if (!empty(db))
    let path = strpart(db, 0, match(db, "/cscope.out$"))
    set nocscopeverbose " suppress 'duplicate connection' error
    exe "cs add " . db . " " . path
    set cscopeverbose
  endif
endfunction
au BufEnter /* call LoadCscope()


## cscope 명령어 ##
Reference: http://kldp.org/node/115739

:cs find c 함수명 => 함수를 호출하는 곳을 찾을 때
:cs find g 함수명 => 함수가 정의된 곳을 찾을 때
:cs find s 함수명 => 함수명과 일치하는 심볼을 모두 찾아낼 때
:cs find d 함수명 => 지정된 함수가 그 안에서 부르는 함수 찾기
:cs find e 정규표현식 => 정규표현식 패턴으로 찾기
:cs find f 파일명 => 파일 찾기
:cs find i 헤더파일 => 헤더파일 찾기

vim용 키맵 플러그인: http://cscope.sourceforge.net/cscope_maps.vim


## 현재 사용중인 .vimrc ##


"-----------------------------------------------------------------------"
" Vundle 환경설정
"-----------------------------------------------------------------------"
set nocompatible               " be iMproved
filetype off                   " required!

	set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

	" let Vundle manage Vundle
	" required! 
	Bundle 'gmarik/vundle'

	" My Bundles here:
	Bundle 'The-NERD-tree'
	Bundle 'The-NERD-Commenter'
	"Bundle 'Source-Explorer-srcexpl.vim'
	Bundle 'SrcExpl'
	Bundle 'cscope.vim'
	Bundle 'taglist-plus'
	"Bundle 'trinity.vim'
	Bundle 'Trinity'

	" original repos on github
	Bundle 'tpope/vim-fugitive'
	Bundle 'Lokaltog/vim-easymotion'
	Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
	Bundle 'tpope/vim-rails.git'
	" vim-scripts repos
	Bundle 'L9'
	Bundle 'FuzzyFinder'
	" non github repos
	Bundle 'git://git.wincent.com/command-t.git'
	" ...

	filetype plugin indent on     " required!
	"
	" Brief help
	" :BundleList          - list configured bundles
	" :BundleInstall(!)    - install(update) bundles
	" :BundleSearch(!) foo - search(or refresh cache first) for foo
	" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
	"
	" see :h vundle for more details or wiki for FAQ
	" NOTE: comments after Bundle command are not allowed..

"-----------------------------------------------------------------------"
"vim 환경설정
"-----------------------------------------------------------------------"
	scripte utf-8
	" vim:set fenc=utf-8 tw=0:
	" Vim setting for sirini

	" Vim 전용 기능 사용
	set nocp

	" 옵션 복원
	set all&

	" 명령어 기록 갯수
	set hi=100

	" 백스페이스 사용
	set bs=indent,eol,start

	" 인코딩 설정
	"let &tenc=&enc
	"set enc=utf-8
	set fenc=utf-8
	set fencs=utf-8,cp949,cp932,euc-jp,shift-jis,big5,ucs-2le,latin1

	" 커서 위치 항상 보이기
	set ru

	" 완성중인 명령을 표시
	set sc

	" 줄번호 표시
	set nu

	" 줄 번호 표시 너비 설정
	set nuw=5

	" 탭 크기 설정
	set ts=2
	set sw=2

	" 탭 >> 공백 변환 사용안함
	set noet
	set sts=0

	" 자동 줄바꿈 안함
	set nowrap

	" 자동 들여쓰기
	set autoindent

	" C프로그래밍 자동 들여쓰기
	set cindent

	" magic 기능 사용
	set magic

	" 이동 동작시 줄의 시작으로 자동 이동
	set sol

	" 비쥬얼 모드 동작 설정
	set sel=exclusive

	" 괄호짝 찾기에서 <> 도 찾도록 추가
	set mps+=<:>

	" 새로 추가된 괄호 짝 보여주기
	"set sm

	" 검색어 강조
	set hls

	" 검색시 파일 끝에서 되돌리기 안함
	set nows

	" 검색시 대소문자 구별 안함
	set ic

	" 스마트한 대소문자 구별 기능 사용
	set scs

	" 항상 status 라인을 표시
	set ls=2

	" 커스텀 확장자들에게 파일 형식 설정
	"au BufRead,BufNewFile *.dic setl ft=php

	"파일 형식에 따른 신택스 하이라이팅 켜기
	sy enable

"-----------------------------------------------------------------------"
" ctags database path 설정 
"-----------------------------------------------------------------------"
	set tag=./tags;/

"-----------------------------------------------------------------------"
" cscope database path 설정 
"-----------------------------------------------------------------------"
	function! LoadCscope()
		let db = findfile("cscope.out", ".;")
		if (!empty(db))
			let path = strpart(db, 0, match(db, "/cscope.out$"))
			set nocscopeverbose " suppress 'duplicate connection' error
			exe "cs add " . db . " " . path
			set cscopeverbose
		endif
	endfunction
	au BufEnter /* call LoadCscope()

"-----------------------------------------------------------------------"
" Tag List 환경설정 
"-----------------------------------------------------------------------"
	filetype on				" vim filetype on
	nmap  :TlistToggle			" F7 key = Tag List Toggle
	let Tlist_Ctags_Cmd = "/usr/bin/ctags"	" ctags 프로그램 위치
	let Tlist_Inc_Winwidth = 0		" window width change off
	let Tlist_Exit_OnlyWindow = 0		" tag/file 선택 완료 시 taglist
						" window close = off
	let Tlist_Auto_Open = 0			" vim 시작 시 window open
	let Tlist_Use_Right_Window = 1		" vim 시작 시 window open

"-----------------------------------------------------------------------"
" Source Explorer 환경설정
"-----------------------------------------------------------------------"
	nmap  :SrcExplToggle			" F8 key = SrcExpl TOggle
	nmap  h					" 왼쪽 창으로 이동
	nmap  j					" 하단(preview) 창으로 이동
	nmap  k					" 상단 창으로 이동
	nmap  l					" 오른쪽 창으로 이동

	let g:SrcExpl_winHeight = 8		" SrcExpl 윈도우 높이 지정
	let g:SrcExpl_refreshTime = 100		" refreshing time = 100ms
	let g:SrcExpl_jumpKey = ""		" 해당 definition으로 jump
	let g:SrcExpl_gobackKey = ""		" back
	let g:SrcExpl_isUpdateTags = 0		" tag file update = off

"-----------------------------------------------------------------------"
" NERD Tree 환경설정
"-----------------------------------------------------------------------"
	let NERDTreeWinPos = "left"		" NERD Tree위치 = 왼쪽
	nmap  :NERDTreeToggle			" F9 Key = NERD Tree Toggle

"-----------------------------------------------------------------------"
" Runtime Path Manipulation
"-----------------------------------------------------------------------"
	execute pathogen#infect()


Install groc for Ubuntu

Posted in 개인/ㄴLinux by

우분투에서 소스코드 문서화 도구인 groc를 설치해보자


# 필요 : Node.js, Pygments


1. Node.js 설치

  A. http://www.nodejs.org/ 에서 다운로드 후 압축해제

  B. $ ./configure

  C. $ make

  D. $ sudo make install


2. Pygments 설치

  $ sudo apt-get install python-pygments


3. groc 설치

  $ npm install -g groc


참고사이트 : 

http://mobicon.tistory.com/231

http://blog.outsider.ne.kr/907

리눅스 하드 추가하기

Posted in 개인/ㄴLinux by

# 새로 추가된 하드가 sdb라고 가정


1. 새로운 하드가 올바르게 추가 되었는지 확인

  $ sudo fdisk -l


2. 파티션 할당하기

  $ sudo fdisk /dev/sdb

  Command (m for help) : n <새 파티션 추가>

  Partition number (1-4): 1 <1번 파티션>

  First sylinder, List cylinder : ENTER를 두번 눌러준다 <둘다 DEFAULT로 설정>

  Command (m for help) : w <파티션 테이블 저장>


3. 파티션 포맷

  $ sudo mkfs.ext4 /dev/sdb1


4. 자동 마운트 설정

 UUID 확인 : $ - ls -l /dev/disk/by-uuid/

  $ sudo vi /etc/fstab

  입력 : UUID=[위 하드의 UUID입력] [마운트 할 폴더] ext4 defaults 0 0


5. REBOOT


6. 새로추가된 하드에 일반계정 쓰기권한을 추가

  $ sudo chown -R [계정] [마운트 한 폴더]

  $ chmod +w [마운트 한 폴더]

Ubuntu 12.04 마이크 설정

Posted in 개인/ㄴLinux by

Microphone not working on ubuntu (tested on 12.04)

If on UBUNTU microphone is not working; on skype or on gtalk: follow these simple steps:

1. Open terminal
2. Hit the following command, you may need sudo
        gksudo gedit /etc/modprobe.d/alsa-
base.conf 
3. Add following lines at the end of the open file:
        alias snd-card-0 snd-hda-intel
        options snd-hda-intel model=auto
4. Hit the following command on terminal, which will open Alsamixer levels:
        alsamixer
5. Press f4 to see 'capture' Alsamixer levels
6. Maximize all levels
7. Use following command to save it:
        sudo alsactl -f /var/lib/alsa/asound.state store
8. Restart.

Use recorder to see the device is working or not, :) 
If any problem post comment here.

우분투 커널 컴파일과 교체

Posted in 개인/ㄴLinux by

www.kernel.org에서 교체할 커널 버전 다운로드


/usr/src/에 복사 및 압축해제


패키지설치

sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev

sudo apt-get install build-essential bin86 kernel-package wget libncurses5 libncurses5-dev


$cd /usr/src/linux-3.0(version)

make menuconfig
make
make modules_install install
update-initramfs -c -k 3.0(컴파일한 버전)


Grub Customizer 설치 (/etc/default/grub 수정이 안될 경우)

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer


$ grub-customizer

getneral-settings에서 show menu체크


GCC 다운그레이드 - How to install older gcc version

Posted in 개인/ㄴLinux by

특정 gcc 버전으로 gcc를 다운그레이드 하고 싶을 때 apt-get install로써 내가 원하는 gcc버전이 안나올 경우가 있다.

이럴때는 http://packages.ubuntu.com/ 에 모든 패키지 파일이 있으므로 검색을 통하여 특정 버전의 gcc를 설치한다.

이 때 주의할 것은 내가 원하는 gcc 버전의 deb 패키지 파일만 받지 말고 검색된 패키지의 depends 패키지들을 모두 설치해준 후

마지막에 gcc의 deb패키지를 설치해줘야한다.

나는 12.04에서 gcc 4.2를 설치하기 위해 cpp-4.2, gcc-4.2-base설치 후 gcc-4.2를 설치해주었다.

설치 후에 

$sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.2 50

Or

$sudo update-alternatives --config gcc 로 내가 원하는 gcc버전으로 링크를 연결해준다


How to use APT

Posted in 개인/ㄴLinux by

APT 쓰는 법

APT(Advanced Packaging Tool)는 원래 데비안 GNU/리눅스에서 소프트웨어 설치 또는 제거 작업(윈도우즈의 '프로그램 추가/제거'를 생각하면 됩니다)을 할 때 쓰는 소프트웨어이며 데비안 GNU/리눅스에서 갈라져 나온 우분투도 이 APT로 소프트웨어 설치 또는 제거 작업을 합니다. 글이 깨져서 나온다면 export LANG=en_US.UTF-8라고 입력한 다음 다시 써 보세요.

패키지 설치하거나 제거하기

우분투에서는 '패키지(package)'라는 단위로 소프트웨어를 관리합니다. 여러분이 원하는 소프트웨어는 하나의 패키지에 담겨 있는 여러 소프트웨어들 가운데 하나일 수도 있고, 반대로 여러분이 원하는 소프트웨어 하나가 여러 개의 패키지로 분리되어 있을 수도 있습니다. 이제 apt로 원하는 소프트웨어를 찾고, 설치하거나 제거하는 방법을 알아봅시다. 여기서는 한글 입력 소프트웨어인 '나비'를 예로 들겠습니다. 우분투에서 나비의 패키지 이름은 nabi입니다. 참고로 패키지를 설치하거나 제거하려면 root의 권한이 있어야 되기 때문에 root 암호를 기억하고 있어야 됩니다.

  • 패키지 찾기
apt-cache search <패키지 이름>
apt-cache search nabi
  • 패키지 설치하기
apt-get install <패키지 이름>
apt-get install nabi
  • 패키지 제거하기
apt-get remove <패키지 이름>
apt-get remove nabi
  • 패키지 다시 설치하기(주로 소프트웨어가 잘못되어 있을 때 쓰입니다)
apt-get reinstall <패키지 이름>
apt-get reinstall nabi

:!:참고) apt-get install 명령어로 받은 deb 파일의 저장 위치

/var/cache/apt/archive/
위 폴더에 .deb 패키지 파일로 저장됩니다.
  • /var/cache/apt/archive/ 비우기
apt-get clean

패키지 관리

apt는 최신 패키지를 다운로드 하여 설치하게 되는데 upgrade 하기전에 update 해서 source.list 를 갱신

  • 패키지 정보보기
apt-cache show <패키지명>
(예: nabi) apt-cache show nabi
  • 소스리스트 업데이트
apt-get update
  • 설치된 패키지들 업데이트
apt-get upgrade
  • 의존성 검사 수행하면서 업그레이드
apt-get -s dist-upgrade
  • CD-ROM 목록 추가
apt-cdrom add
  • 삭제하는 패키지의 설정화일들가지 모두 삭제시
apt-get --purge remove <패키지명>
  • dselect에서 선택한 패키지의 설치 및 삭제
apt-get dselect-upgrade

dpkg를 이용한 프로그램 설치와 제거

  • deb파일 설치
dpkg -i nabi_0.15-2_i386.deb
  • 제거하기
dpkg -P <패키지명>
(예: nabi) dpkg -P nabi
  • 설치 deb파일들의 리스트
dpkg -l
  • 설치된 패키지에 포함된 파일들 보기
dpkg -L nabi
  • deb파일 패키지에 포함된 파일들 보기
dpkg -c nabi_0.15-2_i386.deb
  • deb파일의 정보보기
dpkg -I nabi_0.15-2_i386.deb
  • 파일이 포함된 패키지 이름 알아내기
dpkg -S /usr/bin/nabi
  • 설치된 패키지를 볼때
dpkg -l 패키지명


출처 - 우분투 한국 사용자 모임

http://ubuntu.or.kr/wiki/doku.php?id=%EB%AA%A9%EC%B0%A8:apt_%EC%82%AC%EC%9A%A9%EB%B2%95

Install JDK6 for Ubuntu 12.04 (32bit & 64bit)

Posted in 개인/ㄴLinux by

Install Oracle JDK 6 for Ubuntu 12.04 (32bit & 64bit)

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

$ sudo apt-get install oracle-java6-installer (oracle-java7-installer)


Config Setting

$ sudo update-alternatives --config java