'ubuntu'에 해당하는 글 80건

노트북의 터치패드의 좋은 부분중 하나가 가로 스크롤이 편하다는 것이다.

그래서 데스크탑용 터치패드를 사볼까 하는 생각도 한다.

우분투에서 마우스로 가로스크롤이 되도록 설정하고자 한다.

관련정보 : http://askubuntu.com/questions/404737/horizontal-scrolling-in-firefox-to-shiftmouse-scroll-instead-of-back-forward

위 링크에 나와있다.

크롬에서는 기본적으로 되나 보나, 위 링크를 적용하지 않고 해보니 잘 된다.(Shift - scroll )


요약해서 설명하자면,

1) 관련패키지 설치

$ sudo apt-get install xautomation xbindkeys

2) .xbindkeysrc.scm 파일 생성  후 xbindkeys 실행.

; bind shift + vertical scroll to horizontal scroll events
(xbindkey '(shift "b:4") "xte 'mouseclick 6'")
(xbindkey '(shift "b:5") "xte 'mouseclick 7'")

3) firefox - shift scroll 세팅 비활성화(기본 명령은 뒤로가기/앞으로가기 )

주소창에서 about:config 명령을 내려서 아래의 두가지 '사용자 설정' 값을 변경한다.

mousewheel.with_shift.action
mousewheel.with_shift.action.override_x

두값을 각각 0 , 1 으로 변경.


- 위 설정 문제점

파이어폭스에서 shift + scroll 이 되긴하는데, 너무 조금씩 스크롤이 되서 불편하다.

그냥 직접 FF 에서 설정하는 방법이 있다.

관련출처 : https://coderwall.com/p/xnez3g

about:config 에서 설정변경함.

general.autoScroll = true
mousewheel.with_shift.action = 1

위 두값을 변경하고, 스크롤되는 speed 는

mousewheel.with_shift.delta_multiplier_x = 1000

값을 변경한다. 1000 정도가 편한것 같다. (값은 본인 취향에 따라)


브라우저에서만 사용한다면, 위 xbindkeys 는 설정 안해도 된다.




반응형

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

,

간만에 우분투 체제로 다시 돌아왔다. 그동안 주로 윈도우8 을 써왔다.

윈도우8 / 우분투 둘다 괜찮다. 난 어느 한쪽만 지지하자는 주의는 아니다.
어느 한쪽 OS 에 종속되지 않고 쓰자라는 컨셉.

이번에 우분투14.04 가 나오고, 노트북을 새로 장만해서 다시 메인으로 써볼까 해서 당분간 테스트 중이었다.

먼저 13.10 을 설치해서 쓰고 있었다. 그 당시 한글 버그가 있어서 좀 안정화 되면 넘어갈려고 했었다.
그런데, 13.10 의 compiz 세팅이 꼬였는지 설정이 이상하고, 느린감이 있었다.

그냥 화김에 14.04로 올렸는데, compiz 문제가 해결되어 한글버그를 감수하고 쓰게 되었다.
속도도 더 빨라져서 만족하고 있다. 그 사이 한글 버그도 해결이 되었다.

듀얼로 써서 스크린샷이 아래처럼 나온다.

작업용 virtualbox 머신 을 세팅했고, 간단하게 conky 세팅해서 꾸며봤다.

가급적 심플하게 사용하려고 한다.

주요 파일은 dropbox 로 동기화해서 윈도우8 / 우분투 모두 사용가능하게 해놨다.
프로그램 개발을 위해서 sublime text 를 세팅해서 사용한다. 이것도 윈도우8 도 같은 환경.
dropbox + git + ST3 환경으로 세팅하니, OS 에 종속되지 않고 쓸 수 있다.

그러나 우분투에서 해결이 잘 안되는 부분은 가상머신으로 돌린다.(예전 보다는 많이 나아졌다. 진짜 가끔 쓴다)
간혹 OS X 용으로 나오는 프로그램들이 몇가지 있어서, 맥북프로를 마련해볼까 생각중이다.
당장은 아닐 듯 한데, OS X 요세미티가 얼마전에 소개가 되어서, 써보고 싶은 마음이 생긴다.
적응 기간이 필요할테니 맥미니 를 먼저 마련할지도 모르겠다.


반응형

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

,


ubuntu 14.04 에서 freemind 를 우분투소프트웨어 센터로 설치했더니 정상작동하지 않았다.

그냥 콘솔에서 설치
다음 명령으로 설치해준다.

# apt-get install freemind freemind-browser freemind-doc freemind-plugins-svg freemind-plugins-script freemind-plugins-help

java(jre) 가 먼저 설치되어 있어야 한다.


실행하면 다음과 같은 에러가 나온다.

$ freemind

[warning] /usr/bin/freemind: No java runtime was found
[error] /usr/bin/freemind: Unable to find an appropriate java runtime. See java_wrappers(7) for help

java 기반이라 실행에 문제가 있다.


참조 : http://nitinsharma.info/linux/warning-usrbinfreemind-no-java-runtime-was-found/#more-2335

/usr/bin/freemind 소스를 열어서 다음 항목을 주석처리해준다.(아래 진한부분 3줄)

    151 if [ -r /usr/lib/java-wrappers/java-wrappers.sh ]
    152 then # the Debian method
    153 #       . /usr/lib/java-wrappers/java-wrappers.sh
    154 #       require_java_runtime java6
    155 #else
    156         findjava
    157         if [ $? -ne 0 ]
    158         then
    159                 exit 1
    160         fi
    161 fi



ps. 근데 freemind 는 무료이긴 한데, 별루네.
크롬앱인 mindmup 으로 작업한 파일을 보기위해 freemind 를 설치하긴 했는데, 열어보니 화면이 별로다.(내 스타일 아니다)


반응형

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

,


sublime text 3 에서 한글써보기 2번째

  => 지난 글에서는  ibus 를 사용하는 방법이었다.

그러나 미해결 부분도 있고, 뭔가 꼼수같아 보였다.

그러던 차에 unity 쪽의 문제인지 ibus 쪽의 문제인지 모르겠지만, 사용하다가 어떤 이유에 의해 데스크탑환경이 이상해지는 현상때문에 ibus 의 한영전환이 꺼지는(?) 문제가 있었다.

그래서 다른 입력툴을 찾았는데 nabi 와 fcitx 를 테스트 해봤다.

nabi 는 unity 에서 tray 에 넣는 방법이 복잡해보여 일단 패스하고 fcitx 를 사용하는 방법을 정리한다.(추후 nabi 도 테스트 해볼지는 모르겠다)


# sublime text 3 설치

자세한 것은 생략. 아직 베타이긴 하지만, 그냥 써도 될만큼 안정화 된 듯 하다. 2 보다 빠르니 3로 설치하는게 좋을 듯 함.

http://www.sublimetext.com/3 에서 배포판에 맞는 파일을 다운받아 설치(압축해제) 하면 된다.

ubuntu 64bit 버전을 다운받았다.
http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3059_x64.tar.bz2

적당한 곳에 압축을 풀고 PATH 를 지정해주면 된다.

~/bin 폴더에 symbolic link 를 해주면 편하다.

ln -s  {설치폴더}/sublime_text ~/bin/sub

터미널에서  sub file.txt  형태로 바로 열수 있다.


# fcitx 설치

apt-get install fcitx-hangul

만 해주면 추가되는 패키지는 알아서 같이 설치해준다.

기본 패키지가 살짝 버전이 낮아서 다음 저장소의 패키지를 사용한다.
https://launchpad.net/~createsc/+archive/3beol/?field.series_filter=raring

sudo add-apt-repository ppa:createsc/3beol
sudo apt-get update
sudo apt-get install fcitx fcitx-hangul


# sublime text 3 에서 한글입력이 가능하도록 처리 (sublime-text-imfix 사용)

1. https://github.com/lyfeyaj/sublime-text-imfix 에서 소스를 다운 받는다.

git clone https://github.com/lyfeyaj/sublime-text-imfix.git

   다운받은 다음 위치 sublime-text-imfix/src 파일 내에 sublime-imfix.c 를 컴파일 하면 된다.

  - 컴파일 사전 준비

    # sudo apt-get install build-essential  libgtk2.0-dev

 - 컴파일

# gcc -shared -o libsublime-imfix.so sublime-imfix.c  `pkg-config --libs --cflags gtk+-2.0` -fPIC

위 libgtk2.0-dev 를 설치하지 않으면 다음과 같은 에러가 발생한다.

Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
sublime-imfix.c:9:21: fatal error: gtk/gtk.h: 그런 파일이나 디렉터리가 없습니다
#include <gtk/gtk.h>
                     ^
compilation terminated.

2. 컴파일이 어려우면 git clone 위치에 lib 에 컴파일된 버전이 있다. 그것을 사용해도 된다.


위 핵심은 libsublime-imfix.so 를 먼저 로딩후에 sublime text 3 를 실행시키는 것이다.


관련 스크립트를 다음과 같이 만들면 된다.

$ cat sublimetext3fcitx


#!/bin/bash
export LD_PRELOAD=/opt/sublime_text_3/lib/libsublime-imfix.so
exec /opt/sublime_text_3/sublime_text "$@"

sublime text 의 위치는 본인이 설치한 위치로 지정하면 된다.


# unity dock 에 넣는 것은 다음을 참조 (http://blog.1day1.org/486)

파일내용을 다음과 같이 했다. ( $ cat sublime_text.desktop )

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Sublime Text 3
Icon=sublime_text.png
Exec=/opt/sublime_text_3/sublimetext3fcitx
StartupNotify=false
StartupWMClass=Sublime_text
OnlyShowIn=Unity;
X-UnityGenerated=true

위 파일을 unity panel (dock?) 에 넣고 실행시켜보면 ST3 가 뜬다. 한영전환 / 한글입력이 잘 되는지 확인해본다.




반응형

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

,

우분투 13.10 에서 init 스크립트가 자동실행되는 것을 방지하고자 한다.

기존에는 /etc/init.d 에 실행파일이 넣고, /etc/rcX.d 의 각 런레벨(X)에 해당하는 폴더에 S30mysql 이런식으로 symbolic 링크하는 방식이었다. (sys-v 방식인가?)

ln -s /etc/init.d/mysql /etc/rc2.d/S30mysql

또는

update-rc.d mysql defaults
update-rc.d -f mysql remove


그런데, 언제부터인가 ubuntu 에서 /etc/init 폴더에 mysql.conf 파일을 넣고, 해당파일에

start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]

이런식으로 실행할 runlevel 을 지정해서 자동실행하도록 했다.(upstart 방식? systemd?)

우분투에서 두가지 다 혼용해서 쓰고 있다.

/etc/init/mysql.conf 를 부팅시 자동실행되지 않게 하고자 한다.

echo 'manual' > /etc/init/mysql.override

위 처럼 XXX.override 파일을 만들어주면된다. 내용은 manual 을 넣어준다.


좀 복잡할 수 있지만, 위 사항만 기억하면 된다.


반응형

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

,

mariaDB 가 여러곳에서 칭찬이 자자하다는 소문이 많다.

한마디로 "써본사람은 압니다. 좋은데 말로 설명할 방법이 없네?" 인것 같다.


그러나 이미 난 MySQL 에 익숙해져 있다. 바꾸면 또 배워야 하는거 아니야? 귀찮아!!
등등 나로 하여금 스스로 옮겨가지 못하게 막고 있었다.

그러다가 써야하는 상황이 생겼다. 그래서 소문이 사실인지 확인해봐야 겠다.



1. 설치 방법

https://downloads.mariadb.org/mariadb/repositories/

에서 각 배포판별로 패키지 설치방법이 잘 나와있다. 이거 한방이면 끝이다.

기초작업

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main'

설치

sudo apt-get update sudo apt-get install mariadb-server


여긴 수동 - /etc/apt/sources.list 파일에 내용을 추가하거나, sources.list.d 디렉토리에 파일로 추가하거나 입맛대로.

# MariaDB 5.5 repository list - created 2013-11-07 11:51 UTC # http://mariadb.org/mariadb/repositories/ deb http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main deb-src http://ftp.kaist.ac.kr/mariadb/repo/5.5/ubuntu raring main


2. MariaDB 패키지 설치하는데 기존 MySQL 이 설치되어 있으면.

설치 명령을 내리면 다음처럼 나오게 된다.

# apt-get install mariadb-server

패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
다음 패키지를 더 설치할 것입니다:
  libmariadbclient18 libmysqlclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server-5.5  mariadb-server-core-5.5 mysql-common

제안하는 패키지:
  tinyca mailx mariadb-test

다음 패키지를 지울 것입니다:
  mysql-client-5.5 mysql-client-core-5.5 mysql-server mysql-server-5.5 mysql-server-core-5.5

다음 새 패키지를 설치할 것입니다:
  libmariadbclient18 mariadb-client-5.5 mariadb-client-core-5.5 mariadb-common mariadb-server mariadb-server-5.5  mariadb-server-core-5.5

다음 패키지를 업그레이드할 것입니다:
  libmysqlclient18 mysql-common

2개 업그레이드, 7개 새로 설치, 5개 제거 및 3개 업그레이드 안 함.
31.7 M바이트 아카이브를 받아야 합니다.
이 작업 후 17.6 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]?

위와 같이 패키지를 지울것이라는 무서운 문구.

어떡하지. 무서우면 n 으로 중지. 그러나 우린 용감하잖아요. 과감하게 엔터를 누릅니다.
내 데이터. 또 설정바꿔줘야 하나. ㅠㅠ

그러면 설치하는 화면이 나온다 중간에 기존 mysql 도 지우는 것도 보이고
좀 지나면 mariadb 계정 암호 넣는 화면이 나온다.(mysql 설치할때 나오던 그대로)

그런데, 중간에 좀 이상한 것이 있다.

 * Stopping MariaDB database server mysqld                                                                                   [ OK ]
131108  0:57:51 [Warning] Using unique option prefix myisam_recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
131108  0:57:51 [Note] Plugin 'InnoDB' is disabled.
131108  0:57:51 [Note] Plugin 'FEEDBACK' is disabled.
 * Starting MariaDB database server mysqld                                                                                   [ OK ]
 * Checking for corrupt, not cleanly closed and upgrade needing tables.
어! 뭐지 정상적인건가?


3. 내 데이터. 솨라있네~~
 위까지 하고 다른 설정을 건드리지 않고, 바로 phpMyAdmin 을 살펴봤다.

어. 서버 버전 부분만 mariaDB 로 바뀌고 다른 부분은 똑같다.

신기하다. 너무 똑 같아서.
웹서비스들도 잘 동작한다.(처음에 살짝 느린감이 있었는데, 아마 캐시때문?)

mysql console 도 명령은 동일한것 같다. (아래처럼 바뀌어 있다)

# mysql --version
mysql  Ver 15.1 Distrib 5.5.33a-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1

# mysql -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 115
Server version: 5.5.33a-MariaDB-1~raring-log mariadb.org binary distribution

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>



일단 성능등은 돌려보면서 느껴봐야 겠다.
최소한 설치까지는 정말 쉽게 끝났다.




반응형

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

,

우분투에서 창의 투명도를 조절하면 좀 있어 보인다.^^

암튼 그건 취향이고.

가끔 터미널 작업을 할때 오래걸리는 작업을 뒤에서 돌리고 있고, 그게 끝날때까지 다른일또는 브라우징을 할때
유용(?)하다, 브라우저 창을 투명하게 해놓으면 창 뒤에서 작업하는게 보인다. 브라우징 하다가 끝나면 다시 원래 하전 작업을 하면 된다.


# 방법은.

CCSM 에서 투명,밝기,채도 플러그인을 활성화 시킨다.
그리고, 원하는 메뉴,창타이틀 등에 투명도를 설정해준다.

12.04 에서는 기본으로 깔려있던것 같은데, 12.10 에서는 없다.
그러면 apt-get install compiz-plugins 로 설치해준다.

창띄워져 있는 동안 일시적으로만 투명효과가 나타나게 하고 싶으면 간단하다.
alt 누르고 마우스 스크롤버튼을 위/아래 조절하면 된다.
이는 창을 닫고 다시 띄우면 그 효과는 사라진다


# 창을 다시 띄워도 계속 투명효과를 주려면 - 아래의 특정한 창 설정에 추가해준다.
 ( DropDownMenu|ToolTip|PopupMenu|Menu )


# 창의 타이틀 부분은 별도로 gconf 로 설정해야 하는 듯 하다.  ==> 이 설정은 잘 안 먹는 것 같다.

위처럼 해주면 되는데 좀 이상하다(12.10 에서만 그런지)

metacity_theme_active_opacity 값도 없어서 추가를 해줬다.
0.6 , 0.7 이런식으로 값을 줬는데, 보이는 것 처럼 0.699999 , 0.599999 등 이상하게 나오기도 한다.

 ==> 이 설정은 잘 안 먹는 것 같다.




반응형

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

,

unity 에 대한 평가는 극과 극인것 같다.
그래서 ubuntu 12.04 , 12.10 으로 오면서도 gnome classic 으로 바꿔 쓰거나 하는 경우가 많다.

난 내 작업범위를 크게 벗어나지 않아서 그냥 저냥 적응하면서 쓰고 있다.


unity dock 이라고 해야 하나? 왼쪽에 나오는 어플 서랍에 원하는 어플을 넣고싶다.
설정을 맞춰서.

한예로 rdesktop 원격 접속하는 것을 넣고자 한다.
다음처럼 해당 위치에 넣어준다. (이름등은 알아서)

# cat ./.local/share/applications/rdesktop.desktop

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
StartupNotify=true
Icon[en_US]=/usr/share/icons/hicolor/48x48/apps/remmina.png
Name[en_US]=Remote Desktop
Exec=/usr/bin/rdesktop -u administrator -g 1850x1024 remotehost:3389
Name=Remote Desktop
Icon=/usr/share/icons/hicolor/48x48/apps/remmina.png

설정내용중 icon 도 원하는 것으로 바꾸면 된다.

그리고 nautilus 에서 저 파일을 독에 끌어다 넣으면 된다.
.local 이라 안보일텐데, Ctrl-H 를 눌러 숨김파일을 보이도록 한후 끌어다 넣는다.


반응형

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

,

ubuntu 12.10 - 듀얼모니터 설정시 모니터간의 이동시 끈적임? 설정

듀얼모니터를 쓰는 경우.

우분투의 시스템설정 -> 디스플레이 에 보면  모서리 달라붙기(Sticky edges) 항목이 있다.
그런데, 기본설정이 마음에 들지 않는다.

다른 모니터로 넘어가기 위해서 마우스 커서에 가속도를 붙여야 한다.
한쪽창에서 작업하기는 좋지만, 다른 창을 왔다 갔다 하는 경우 불편하기도 하다.

물론 설정을 꺼버리면 넘어가기 좋다.
이경우는 또 다른 문제가 있다. 한쪽 모니터에 전체화면으로 띄워놓고(브라우저 같은)
스크롤을 위아래 올리고 내리고 하기 위해 모니터 끝으로 이동하려고 보면 그냥 옆 모니터로 훅 넘어가 버린다.
여간 힘든게 아니다.

저 모서리 달라붙기 설정의 강도(가속도?)를 조정할 수 없을까?

물론 있다.

방법1)
컴피즈(compiz) 효과를 편집할때는 CCSM (CompizConfig Settings Manager) 를 설치한다.

실행시켜서 Ubuntu Unity Plugin 의 설정클릭.  Experimental 탭에서 설정값을 바꿔준다.

Launcher Reveal Pressure : 20
Launcher Edge Stop Overcome Pressure : 20
Pressure Decay Rate : 15
Edge Stop Velocity : 5
등의 값을 적절하게 바꿔준다.


방법2)
설정편집기(검색에서 gconf 로 검색) 를 열어서 몇몇 설정값을 바꿔준다 (윈도우의 regist editor? 와 비슷하다)
(설치가 안되어 있는 경우 우분투소프트웨어 센터에서 gconf 로 검색하면  configuration editor 를 설치하면 된다)

위치는 apps/compiz-1/plugins/unityshell/screen0/options 이고 (ubuntu 12.04 기준)

바꿔줄 값은  overcome_pressure , stop_velocity 이다. 각각 20 , 5 로 잡아주었다. 
그외값 reveal_pressure : 20 , decay_rate : 15

ubuntu 12.10 에서는 설정값 위치가 달라진 듯 하다. => gconf 에서는 어딘지 못찾겠다


Stop Velocity 가 기본 65 로 되어 있어 다른 모니터로 넘어가기 힘든데, 그것을 낮춰주면 좋다.
(세부 설정값은 변경해 보면서 자신에 맞는 값으로 바꿔준다)




반응형

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

,

ubuntu 12.10 에서 HDMI 로 연결을 하니 모니터가 약간씩 밀린다.

주로 DVI 나 D-SUB 로 연결했었는데, 본체를 바꾸고, HDMI 로 연결해보았다.
그런데, HDMI 쪽이 몇십 픽셀정도씩 밀려서 보인다. 그리고 약간 뿌연느낌이라고 해야 하나 선명하지 않다.

모니터의 특성인지, 삼성 SyncMaster B2430 이라는 모델이다.


우분투 X 설정 xrandr 설정등 여러가지로 바꿔보고 해도 안된다.

그래서 보다보니 모니터 설정의 문제다.

메뉴 -> 설정및초기화 -> PC/AV 모드  라는 것이 있다. 이게 AV 로 되어 있어서 그랬다.

PC 로 바꿔주면 정상적으로 보인다.(DVI 에서는 별 문제가 없었던 것 같은데, HDMI 에서 그런듯 하다)


별다른 문제는 아니었다.


반응형

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

,

cups 를 실행했는데.

start: Job failed to start 다음과 같은 에러가 나오면서 실행이 되지 않는다.

그래서 apt-get install cups 로 설치시 중간에 멈추게 된다.


# 일단 원인을 알아야 한다.

다음 파일을 /etc/init/cups.conf 에 복사한다. 기존 파일은  cups.conf.org 등으로 바꿔놓는다.

cups.conf

이 파일은 실행시 에러사항을 /tmp/cups.log 에 남긴다.


# 어떤 에러가 나오는 지 확인한다.

내용을 보니.

AppArmor parser error for /etc/apparmor.d/usr.sbin.cupsd in /etc/apparmor.d/tunables/global at line 15: Could not open 'tunables/home'

이런 에러가 보인다. /etc/apparmor.d/tunables/ 를 살펴보니, home 파일은 없고, home.d 라는 디렉토리는 있다.

아마도 home 파일이 빠진 듯 하다.

다른 곳의 정상적으로 설치된 곳에서

home 파일을 복사해왔다.

home

/etc/apparmor.d/tunables/ 에 복사해준다.


그리고 

# service cups start 

실행해주면 에러없이 정상 작동한다.



반응형

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

,

ubuntu 12.04 를 호스팅사에 설치의뢰를 했는데 영문판을 깔아주셨네요. ㅜㅜ

아무리 서버라도 그렇지 한글을 보고 싶어요.


# apt-get install localepurge

명령으로 한글 ko_KR.EUC-KR  , ko_KR.UTF-8  , 둘다 또는 맘에 드는 놈으로 선택 / 확인

# locale-gen --purge

하면 ko_KR ... 이 나와야 하는데, 왜 안나오지..

일단 다음. 예전에 이렇게 안했는데. ...


그래, 저렇게 하지 말고, 이렇게..

# locale-gen ko_KR.EUC-KR ko_KR.UTF-8
# dpkg-reconfigure locales


그리고, /etc/default/locale 을 바꿔준다.

LANG="en_US.UTF-8"  를 LANG="ko_KR.UTF-8"  으로 바꿔준다.

그리고 터미널 다시 접속해서
# env    명령을 해보면 바뀐것을 볼 수 있다.



비록 명령은 없지만...

# 안녕하세요
안녕하세요: command not found



반응형

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

,

ubuntu 12.04 의 resolv.conf 가 비었어요.

설치하고 나니 서버 내부에서 밖으로 연결이 안된다.
외부에서 서버로 되는게 이상하다.

암튼. 찾아보니 /etc/resolv.conf 가 비어있다.
친절한 메시지와 함께.

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

요약하면, resolvconf 가 먼저 접수했다. 만지지마!!
암튼. resolv.conf 를 건드리는 패키지가 dhcp client 였나 그게 그랬던것 같다.


직접 수정해도 되지만, 재부팅하면 다시 비워져 있을 것이다.

/run/resolvconf/resolv.conf  에 심볼릭 링크되어 있다.
resolvconf 패키지가 부팅하면서 저 파일을 생성하고, symlink 시킨다.

부팅해도 설정 안 바뀌게 하려면.

/etc/resolvconf/ 이 폴더에 뭐가 있지 않을까?

cat /etc/resolvconf/resolv.conf.d/head
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

어! 여기에 같은 내용이 들어 있네.

저기에 넣으면 부팅할때 그대로 있지 않을까? 해보자.

nameserver 8.8.8.8
nameserver 164.124.101.2

등 넣고 싶은 네임서버를 넣어준다.

그리고 재부팅해볼까?
싫어 명색이 서버인데, 재부팅은

그냥

# service resolvconf restart

또는 /etc/init.d/resolvconf restart


역시 예상대로 /etc/resolv.conf 가 head 에 넣은대로 되었다.

다른파일도 있는데, head , base 이렇게 있다.
말뜻이 뭔가 구분을 한것 같은데, head 가 아니라 base 에 넣어야 할 것 같아서 바꿔서 넣었다.

좀더 찾아보니.
http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

대충 읽어보니 head 에 넣는게 맞는 것 같다. 제일 먼저 찾게 만들려면.



언제 부터 바뀌었는지 모르겠지만, ubuntu 12.04 는 저렇게 되어 있군.
뭔가 심오한 뜻이 있는 것인가?

보통 저 패키지를 지우는 방법을 쓰기는 한다.(마치 centos/redhat 쪽의 selinux 를 끄는 것 처럼)

그래도 배포판이 지지하는 방법을 따라주는 것이 좋지 않을까?
(근데 좀 이유좀 알려줘 - 링크 정도는 하나 던져줘도 되잖아?)


반응형

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

,
얼마전 우분투 11.04 가 출시되었다.
그런데, 개인적으로 바로 업그레이드 하지 않고 있다.(좀 말이 많은 버전이다. unity 등)
좀더 상황을 지켜보기로 했다.


ubuntu 버전에서 firefox 4 를 설치하고자 한다. (우분투 공식? 버전은 3.5 또는 3.6 일 것이다)

PPA 저장소를 추가해서 설치한다.

# add-apt-repository ppa:mozillateam/firefox-stable
명령으로 저장소를 추가한다.
# apt-get update
# apt-get upgrade
로 업그레이드 한다.

반응형

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

,
웹카메라를 가지고 놀다 보니. 어떤 캠에서는 LED 가 계속 켜져 있는 상태가 되기도 한다. 볼륨조절하듯 조절가능한 것도 있기는 한데, 안되는 황당한 놈들이 있다.

생각으로는 usb port 별로 전원컨트롤 할 수 있는 방법이 있지 않을까 찾아보았다.
비슷한 것들이 있기는 한데, 완전히 차단시키지는 못하는 듯 하다.
root@ubuntu:/sys/bus/usb# lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0ac8:3332 Z-Star Microelectronics Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@ubuntu:/sys/bus/usb# echo suspend > devices/2-2/power/level
root@ubuntu:/sys/bus/usb# lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@ubuntu:/sys/bus/usb# echo on > devices/2-2/power/level
root@ubuntu:/sys/bus/usb# lsusb
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0ac8:3332 Z-Star Microelectronics Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@ubuntu:/sys/bus/usb#
위와 같이
echo suspend > /sys/bus/usb/devices/{device usb port}/power/level

처럼 값을 주면 usb 장치가 사라졌다 on 하면 다시 보인다.
 
그런데, 그것이 완전히 전원을 차단하는 것은 아니다. 작동상태정도만 조절하는 듯 하다.(메인 보드 마다 다를 수 있을지는 모르겠다)

또 다른 방법도 있다고 하는데.
echo "0" > /sys/bus/usb/devices/{device usb port}/power/state
다음과 같은 에러가 난다.
bash: devices/2-2/power/state: No such file or directory
가상장치같은 개념이라 없는 파일(state)을 만들 수는 없나 보다.


망할LED 계속 켜져있는 웹캠은 쓰지 말아야 겠다. 다른곳에서나 써야겠다.

반응형

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

,
php 는 보통 APM 으로 웹프로그래밍에 주로 쓰인다.

그런데, 꼭 웹프로그래밍에만 쓴다는 것은 아니다. php 를 CLI (Command Line Interface) 로 써서 서버관리용으로 쓰기에도 편하다.
보통 shell 프로그래밍이라고도 하는데, perl , python 등도 주로 사용된다.

cron 으로 등록해놓고 사용하는데, ubuntu 에서는 주의할 부분이 있다.
centos 등 다른 배포판은 어떤지 모르겠다.(다를것이다)

우분투는 /etc/php5/apache2 , /etc/php5/cli  라는 다른 디렉토리에 php.ini 을 사용한다.
php.ini 을 수정해서 쓰고, CLI 모드로 사용하는 경우 cli/php.ini 도 수정해 준다.
그렇게 사용하지 않는 다면 프로그램내에 ini_set 함수를 써서 옵션을 변경해서 사용해도 된다.
ini_set("memory_limit", "32M");
이런식으로 사용한다.

php 를 cron 으로 등록해서 메일을 보내는 메일링시스템에 적용중이다.
그런데, 메일을 보낼때 첨부파일이 커지는 경우 memory_limit 에러가 난다.
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 17623691 bytes)
위와 같은 에러가 난다. 진한부분의 값에 맞게 memory_limit 값을 조정한다.


postfix 를 쓰는 경우
postfix/sendmail[26637]: fatal: root(0): message file too big
이런식의 에러가 날 수도 있다. postfix 는 기본으로 10M 이하로 제한하고 있는 듯 하다.
이것을 늘려주려면, /etc/postfix/main.cf 에 다음을 추가해준다.
message_size_limit = 20480000
대략 20M 정도를 잡아줬다.
기본값 "default: 10240000 bytes" 라고 한다.(byte 계산을 저렇게 하는게 아니었던 것 같은데?)

반응형

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

,
그동안 주로 8.04 LTS 를 써왔다. 얼마전부터 10.04 LTS 로 업그레이드 하고 있다.
그렇다보니, 설정이 바뀐것이 꽤 된다.
8.10,9.04,9.10 등 3단계를 뛰어 넘어서 언제 바뀌었는지는 정확하지 않다.
(https://wiki.ubuntu.com/LucidLynx/ReleaseNotes 여기를 참조)

1. /etc/inittab 이 어디로 갔지?
  inittab 에서 runlevel 설정을 하게 된다. 그런데 없어졌다. 어리둥절.

  부팅설정등이 init 이라는 디렉토리로 바뀌었다.
 /etc/init/rc-sysinit.conf 에서 기본런레벨을 설정한다.
env DEFAULT_RUNLEVE=2
라는 항목이다. (이놈은 9.04, 9.10 부터 바뀐것 같다)

2. 키보드, 모니터 를 빼면 부팅이 안되요.
http://ubuntuforums.org/showthread.php?t=1452600

grub 을 콘솔로 부팅하는 것이 좋다.
/etc/default/grub

GRUB_TERMINAL=console
GRUB_CMDLINE_LINUX="nomodeset"

gdm 은 모니터,키보드 kvm 체크를 하지 않는다.
http://ubuntuforums.org/showthread.php?t=1452600&page=3
echo options nouveau modeset=0 > /etc/modprobe.d/nouveau-kms.conf
xorg.conf 설정 변경( http://ubuntuforums.org/showthread.php?t=1297815)
Section "Device"
  Identifier "VNC Device"
  Driver "vesa"
EndSection

Section "Screen"
  Identifier "VNC Screen"
  Device "VNC Device"
  Monitor "VNC Monitor"
  SubSection "Display"
    Modes "1024x768"
  EndSubSection
EndSection

Section "Monitor"
  Identifier "VNC Monitor"
  HorizSync 30-70
  VertRefresh 50-75
EndSection

BIOS 도 손봐야 하나?
Halt On 이라는 옵션을 No errors 로 해도 별 차이가 없어 보인다.
[All , But keyboard]
[All errors]
[No errors]
키보드/모니터 어댑터를 연결한다.(하드웨어적 해결방법 - 이건 좀.)


3. gdm 은 자동으로 실행이 안되나?
  위 2번의 xorg.conf 설정을 바꿔서 해결한다. /etc/init/gdm 으로 설정이 바뀌었다.

4. fsck 검사가 민감해 졌나?
보통 /etc/fstab 에서 하드디스크를 마운트 시킨다.
마운트 옵션에서 파일시스템을 체크하도록 하는데, 이게 좀 민감해졌나?
계속 하드디스크에 에러가 있다면서 부팅이 멈춘다.

UUID=0685beb5-ac3f-4308-8cb1-bc1a70a05a42 /user  ext3 defaults 0 0
(정확한 원인을 아직 찾지 못했다.)
일단 뒤의 맨 숫자를 0 으로 해서 파일시스템을 체크하지 않도록 했다.(수동으로 해줘야 겠다)

5. php , ereg 함수는 사용하지 않아.
php 새 버전은 ereg 함수등 deprecate 된 함수들이 있다. 소스를 수정하는 것이 좋다.
그렇지만 임시적으로
/etc/php5/apache2/php.ini  에서
mbstring.func_overload = 4
로 임시조치한다.



ps. 사용하면서 이상한 부분을 클린설치한 시스템과 비교해 보면서 추가 작성할 예정이다.


반응형

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

,
우분투가 벌써 10.10 버전이 나오는구나.
아직 베타버전이지만, 곧 나올겠구나.

virtualbox 에서 테스트로 설치해봤다.
virtualbox 를 기본적으로 지원하나 보다.

게스트확장(guest additions) 설치도 패키지로 제공한다.

apt-get install virtualbox-ose-guest-x11
으로 바로 적용된다.

아직 10.04 와의 차이점은 모르겠다. (좀더 써보면서...)

ps. 혹시 설치가 안된다면 다음 명령을 해본다.
apt-get install build-essential linux-headers-$(uname -r)



반응형

'잡다한일' 카테고리의 다른 글

우분투, 프린터 hp laserjet 1100 세팅하기  (0) 2011.01.03
모토로이 - 프로요 루팅방법  (0) 2010.12.29
아이폰4 예약가입  (0) 2010.08.17
모토로이는 괴물폰?  (0) 2010.08.08
텍스트큐브 닷컴을 버리다.  (0) 2010.05.21

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

,
현재 모토로이를 우분투와 윈도우7 에 세팅해서 개발중에 있다.
윈도우7 은 모토로이 드라이버가 있어서 설치하면 된다.

우분투는 따로 모토로라에서 드라이버를 제공하지 않는다.
우분투의 usb 장치를 인식시키는 방법을 사용한다. 이때 udev 를 이용한다.
테스트는 우분투 8.04 hardy 버전과 9.10 karmic 버전에서 테스트했다.

먼저 안드로이드 SDK 를 설치한다.

$ adb devices

를 해보면.. (sdk 의 tools 디렉토리에  adb 명령이 있다.)

List of devices attached
???????????? no permissions


처럼 나온다.
디바이스가 인식되지 않아서 그렇다. udev 를 이용해 인식시켜보자.
(정확히 말하면 권한이 없다고 해야 겠다. lsusb 로는 이미 인식은 되어 있다)

모토로이를 연결하고 lsusb 명령을 내려보면.
$ lsusb

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 005: ID 22b8:41db Motorola PCS
Bus 001 Device 002: ID 148f:2573 Ralink Technology, Corp. RT2501USB Wireless Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 05af:0802 Jing-Mold Enterprise Co., Ltd
Bus 004 Device 002: ID 045e:0040 Microsoft Corp. Wheel Mouse Optical
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub



이런식으로 나온다. 모토로이가 어떤 것인지 딱 감이 올 것이다.

Bus 001 Device 005: ID 22b8:41db Motorola PCS


adb 에서 인식할 수 있도록, 장치를 등록한다.(진한 부분이 핵심이다)

관리자 권한으로 udev rules 를 만들어 준다.

# vi /etc/udev/rules.d/99-android.rules


위와 같이 파일을 만들어서 내용은 다음과 같이 넣어준다.(vi 등의 편집기)

SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", SYMLINK+="android_adb", MODE="0666"


한줄로 위 내용을 적어주고, 저장한다.

$ ls /etc/udev/rules.d/ -al
합계 24
drwxr-xr-x 2 root root 4096 2010-02-14 01:54 .
drwxr-xr-x 3 root root 4096 2009-12-06 02:15 ..
-rw-r--r-- 1 root root 1405 2009-12-21 20:25 70-persistent-cd.rules
-rw-r--r-- 1 root root  787 2009-12-11 00:51 70-persistent-net.rules
-rw-r--r-- 1 root root   91 2010-02-14 01:54 99-android.rules
-rw-r--r-- 1 root root 1157 2009-10-16 15:01 README


위처럼 rules 파일을 만들어 주면 된다.

udev 를 다시 실행시켜주면 정상적으로 사용할 수 있게 된다.(관리자권한 필요)


/etc/init.d/udev restart
또는
restart udev


이때 모토로이의 usb 저장소(외장형 SD)도 같이 인식되는 것을 볼 수 있다.


adb 명령을 다시 해보면.(처음과 다른것을 볼 수 있다)

$ adb devices
List of devices attached
04031826748580332373    device


위 처럼 인식된 장치가 보이게 된다.(보이는 숫자는 다를 것이다.)

이클립스에서 빌드명령을 내려보면, 타겟이 모토로이로 지정되어 뜨게 된다.


반응형

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

,
2010년에는 안드로이드폰이 많이 나올것이다. 그러나 국내에서는 과연 나올까?
나온다고 본다. 다만 그 시기가 언제일지는 모르겠다.
빠르면 2월정도, 상반기에는 꼭 출시되었으면 한다.(구글코리아야! 도와줘!!  전파인증)

안드로이드 개발환경을 구축하기로 했다. 플랫폼은 우분투.
조합은 이렇다.
우분투 9.10 + eclipse 3.5 (galileo) + android eclair (2.01)
가능한 쉽고, 빠른 개발환경 구축을 목표로 한다.
핵심은 어플개발이기 때문에 개발환경에서 삽질은 최소로 줄여야 겠지.

일단 eclipe 까지는 한방에(우분투는 먼저 깔려있어야죠.)
apt-get install eclipse eclipse-jdt
를 하면 관련 패키지를 알아서 설치해준다.


그다음은 developer.android.com 에서 관련 정보를 찾는다.

기본 Quick Start 문서 : http://developer.android.com/sdk/index.html

1. Android SDK 설치.
  링크를 찾아 설치 : linux 를 찾아서 설치해야 겠죠.
  실행할 수 있도록 패스를 설정한다.(PATH=andriod-sdk/tools:$PATH)

2. eclipse 플러그인 설치 (ADT)

 http://developer.android.com/sdk/eclipse-adt.html
 이클립스를 잘 안다면  이 주소만 알려주면 알아서 깔겠죠.
https://dl-ssl.google.com/android/eclipse/
install/update 로 설치하면 됨.

이부분은 eclipse / eclipse-pde 패키지를 설치하면 되는 듯.

3. android SDK 컴포넌트 추가
http://developer.android.com/sdk/adding-components.html
SDK 를 설치하고 AVD Manager 를 실행한다.
왼쪽메뉴의 Avaliable Packages 를 선택하고, 필요한 패키지(컴포넌트)를 설치한다.
혹시 에러가 난다면.

난 2.0 버전 이상의 패키지를 설치했다.(목표는 eclair 이기 때문에...)

4. 안녕! 빵꾸똥꾸야!
자! 여기까지는 준비운동은 끝났다. 본격적인 어플개발을 시작.
제대로 되나. 확인할 겸.
http://developer.android.com/resources/tutorials/hello-world.html
안녕! 세상아를 찍어봐야지.

이클립스에서 android 프로젝트를 생성한다.
이때 이런 메세지가 나올 것이다.
The location of the Android SDK has not been setup. Please go to Preferences > Android and set it up
처음 실행시 기본 SDK 의 위치를 찾지 못하는 것이다. 메뉴의 Window > Preference > Android 탭으로 가서
설치한 SDK 위치를 지정해준다.  (andriod-sdk 까지 지정해주면 된다. 풀패스로.)

그리고, 소스를 알맞게 수정을 하고, Run 해주면 나온다.
이렇게! (에뮬실행이 오래걸리는구나! vbox 에서 실행해서 그런가?)

좀더 개발환경에 적응을 하고, 어플을 만들어 봐야 겠다.
뭘 만들지...

아이폰어플에 비해 참 쉽다. 물론 맥북사면 비슷하려나? ^^


[참조]
# avd 디바이스 설정.(Android Virtual Devices)
android list targets
android 타겟지정 avd 생성

 android create avd -n my_avd -t 1

 
반응형

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

,
우분투 9.10 을 설치하고, 파이어폭스를 띄우면 자동으로 플래시플레이어 플러그인을 설치한다.
그런데, 이상하게 플레이는 되는데, 컨트롤을 할 수 없다.
그래서 혹시나 해서 64bit 버전으로 수동설치해봤다.


지난번. 우분투 9.04 의 방법과 크게 다르지않다. ( http://blog.1day1.org/262 )

다운로드 주소가 바뀐것 같다.
http://labs.adobe.com/technologies/flashplayer10/64bit.html

다운로드주소
http://labs.adobe.com/downloads/flashplayer10_64bit.html

압축풀고. 해당위치에 복사.


flashplugin-installer 라는 패키지로 설치한 듯 하다.
이상하게 동작하는 것 같아. 그냥 예전방식으로 처리했다.
위 방법도 상관없는 듯. (방법은 알아서 )


반응형

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

,
우분투(리눅스) 시스템을 운영중에 있다.
얼마전 하드디스크 에러가 생겨  시스템을 이전하려 한다.
이런 하드에러도 있고, 하드디스크를 큰 용량으로 바꾸려고 할 경우도 있다.

rsync, tar 등을 이용하는 방법도 있지만, 간단하게 cp -a 를 이용하려고 한다.
/var , /usr  등이 별도의 파티션으로 나뉘어져 있는 경우  해당 디렉토리를 뺀 / (루트) 를 복사해야 한다.
별도파티션으로 나뉘어 있던 디렉토리는 나중에 옮겨도 된다.

일단 새 하드디스크를 연결한다.
기존 시스템 하드는 /dev/sda 이고,  연결한 새 하드디스크는 /dev/sdb 라고 가정한다.
/ 는 sda1 ,  /usr 는 sda2 , /var 는 sda3  이라고 한다면,  우선 sda1 을 먼저 옮겨도 되고 다 같이 옮겨도 된다.

sda1 은 sdb1 으로 옮길것이다. 데이터를 이동한다.
현재 시스템이 가동한 상태에서 옮겨도 되긴 하지만, 고려할 사항이 많다.
dev , proc 등 시스템 관련 디렉토리를 주의해야 한다.

별도로 마운트 하고 옮긴다.
mount /dev/sda1 /mnt/sda1
mount /dev/sdb1 /mnt/sdb1
이런식으로 마운트 시키고 데이터를 옮긴다.
cp -a /mnt/sda1/* /mnt/sdb1/
이렇게 하면 따로 dev , proc , var/run , var/lock 등을 신경쓰지 않아도 된다.

새하드디스크로 부팅하려면 어떤값을 바꿔야 하나?
fstab 을 새하드디스크의 설정값으로 변경한다.
이때 복사한 fstab 의 값을 변경한다. 즉 /mnt/sdb1/etc/fstab 을 바꿔준다.
fstab 은 UUID 로 설정해 놓는 것이 편하다.

blkid 명령을 내리면
/dev/sdb1: UUID="{새하드UUID값}" SEC_TYPE="ext2" TYPE="ext3"
새로운 하드의 UUID 값을 얻을 수 있다.
fstab 의 해당 값을 바꿔준다.
UUID={기존UUID값}  / ext3 defaults,errors=remount-ro 0 1
이 설정만 바꾸면 되는가?

새 하드디스크에 grub 을 인스톨한다.
grub-install  /dev/sdb
이런식으로 되면 편하겠는데, 아마 안될 것이다.
grub 쉘로 들어가서 직접 바꿔준다.
grub 명령을 내리면  grub >  이렇게 grub 쉘을 사용할 수 있다.
grub >  find /boot/grub/stage1
stage1 은 하드디스크의 MBR 영역에 설치된다.
find /boot/grub/stage1
 (hd0,0)
 (hd1,0)
이런식으로 나오게 된다. 기존 하드는 hd0 , 새 하드디스크는 hd1  이다.
다음처럼 새 하드디스크에 grub 을 설치한다.
grub >  root (hd0,0)
grub >  setup (hd0)
특별히 에러메세지가 없으면 정상적으로 설치가 되었을 것이다.

이제 grub 의 menu.lst 를 변경한다. 여기서도 fstab 처럼 UUID 를 변경해준다.
/boot/grub/menu.lst 

# kopt=root=UUID={새하드UUID값} ro console=tty0
이 부분과
title           Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic Default
root            (hd0,0)
kernel          /boot/vmlinuz root=UUID={새하드UUID값} ro console=tty0 quiet splash
initrd          /boot/initrd.img
이 부분의 UUID 값을 바꿔준다.


이제 새 하드디스크로 부팅순서를 바꾸고 부팅한다.

재부팅후에 BIOS 설정에서 새 하드디스크로 부팅순서를 바꿔서 부팅해 본다.
정상적으로 부팅되는지 확인해본다. 이상이 있으면 기존의 하드로 다시 바꾸면 된다.
하드디스크 위치나 바이오스 설정 등의 차이로 인해 부팅에 이상이 있는 경우가 있으니 설정을 다르게 바꿔가면서 테스트 해본다.

내 경우는  보드의 SATA (sda) , SCSI 컨트롤러, SATA 컨트롤러(sdb)  이렇게 되어 있었다.
바이오스에서 각각의 부팅순서를 바꾸지 못하고, PCI 인터페이스인  SCSI , SATA 가 묶여서 바뀌게 되었다. 그래서 PCI 인터페이스의 맨 처음으로 바꿔야 했다.
SATA 에서는 primary 로 변경하고,  SCSI 는 보드에서 SATA 를 보드의 안쪽으로 바꿔서 SATA -> SCSI 컨트롤러 순으로 변경하고 서야 제대로 부팅할 수 있었다.



반응형

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

,
우분투 hardy 로 업그레이드 한 후에 이런 에러가 뜨기 시작했다.
현상은 아래와 같은 메세지가 나온다. 별다른 문제는 없지만, 종료하려고 하면 한참후(20~30초)에 종료팝업(재시작,종료,로그아웃 등의 메세지창)이 뜬다.
Internal error failed to initialize HAL
내부 오류.
HAL  기반(?) 으로 동작되는 프로그램에 이상이 있는 듯 하다.

https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/81670
hardy 의 버그인듯 싶다.

/etc/rc2.d 의 부트스크립트들을 살펴보면.
S12dbus
S13gdm
S24hal
의 순서로 되어 있다. gdm 이 뜨기 전에 hal 이 먼저 실행되어야 하는데, 잘못되어 있다.

위 순서를 바꿔준다.  S13gdm 을 S30gdm 으로 바꿔준다.




반응형

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

,
큐브리드를 사용해보려고 테스트 중이다.

지난 8월에 2008 R2.0 버전이 새로 나왔다. 64bit 지원과 SRPM 지원이 눈에 띈다.
기존버전은 64bit 환경에 쓰기에는 애매한 부분이 있었다.
그래서 편법(?)으로 쓰기도 했다.(http://blog.1day1.org/312)

Centos(redhat 계열-rpm) 에서 빌드하는 것과 뭐가 다르지?

Centos 에서 cubrid SRPM 빌드를 해봤는데, 별다른 문제없이 빌드가 되었다.

우분투는 기본 패키지는 .deb 이지만,  rpm 도 설치가 가능하다.(특이한 설정이 아니라면)
rpm 을 사용하기 위한 패키지를 설치한다. ( 우분투 hardy 버전에서 테스트 했다)
apt-get install rpm

큐브리드도 SRPM 을 제공하기 때문에 우분투에서 빌드해보았다.

rpmbuild --rebuild 를 해보면 사전에 필요한 패키지들이 있다.
elfutils-libelf-devel
ncurses-devel
libstdc++-devel
glibc-devel
위 패키지 들에 해당하는 우분투 패키지는
apt-get install  libelf-dev libncurses-dev libstdc++6-dev libc6-dev
등에 해당한다.

rpm 방식은 체크하는 방식이 차이가 있어서 해당 패키지를 설치해도 계속 에러가 난다.
그래서 SRPM 의 spec 을 수정해서 다시 SRPM 을 만들기로 했다.

SRPM 패키지 우분투용으로 다시 만들자

먼저 srpm 을 설치한다
rpm -ivh CUBRID-8.2.0.1150-el5.src.rpm
우분투에서는  /usr/src/rpm 에 rpmbuild 관련 파일,디렉토리가 있다.
SRPM을 설치하면  rpm/SOURCES 에 관련소스가 생기고, rpm/SPECS 에 설정파일이 생긴다.

rpm/SPECS/cubrid.spec 을 열어서 
Requires:      ncurses
Requires:      libstdc++
BuildRequires: elfutils-libelf-devel
BuildRequires: ncurses-devel
BuildRequires: libstdc++-devel
BuildRequires: glibc-devel
위 부분을 주석처리한다.  각 줄의 앞에  # 을 붙여준다.

우분투에서는 rpmbuild 시 _sysconfdir 의 위치가 약간 다르게 나타난다.
rpm --eval %{_sysconfdir}
해보면  Centos 에서는 /etc 로 나오는데, 우분투는  /usr/etc  로 나온다.
SRPM 빌드 마지막 부분에 이 부분때문에 관련 파일을 찾을 수 없다는 에러가 나온다.
/usr/lib/rpm/x86_64-linux/macros  부분의
%_sysconfdir            %{_prefix}/etc
를 다음처럼 바꿔준다.
%_sysconfdir            /etc
SPEC 을 고친후에 SRPM 을 다시 만들어 준다.
rpmbuild -bs rpm/SPECS/cubrid.spec
rpm/SRPMS/ 에 다시 만든 SRPM 패키지가 생성된다.


이제 SRPM 빌드해도 되나?
준비가 끝났으니 본격적으로 우분투에서 SRPM 빌드를 한다.
rpmbuild --rebuild rpm/SRPMS/CUBRID-8.2.0.1150-el5.src.rpm
Centos 와 마찬가지로 JAVA_HOME 설정, ant 등의 빌드시 필요한 패키지를 설치한다.
apt-get install sun-java6-jdk ant

JAVA_HOME=/usr/lib/jvm/java-6-sun
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin


export JAVA_HOME
export PATH
make , gcc 등의 개발에 필요한 패키지도 설치되어 있어야한다.(대부분 이미 설치되어 있을듯)
apt-get install build-essential

최종적으로 rpm 을 만들었는데, 이런에러가.
rpm -Uvh CUBRID-8.2.0.1150-el5.x86_64.rpm
아! 나를 반기는 의존성 오류.
오류: Failed dependencies:
        /bin/bash is needed by CUBRID-8.2.0.1150-el5.x86_64
        /bin/csh is needed by CUBRID-8.2.0.1150-el5.x86_64
        /bin/sh is needed by CUBRID-8.2.0.1150-el5.x86_64
이미 bash , sh 등이 설치되어 있지만, rpm 에서 체크하는 방식이 달라서 그런듯 하다.
즉, 우분투에서는 설치된 패키지 정보가 rpm 에서 알 수 없어서 그런듯 하다.

일단 의존성 체크 없이 설치한다.
rpm -Uvh --nodeps CUBRID-8.2.0.1150-el5.x86_64.rpm


반응형

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

,
centos 쪽에 네임서버를 설치하려 한다.
우분투와 차이점이 있어 정리한다.

우분투는 /etc/bind/ 에 설정파일이 있다.
/etc/bind/named.conf.local 에 도메인 설정을 한다.
zone 파일은 /var/cache/bind 에 위치한다.


Centos 는 뭐가 다르지?
그런데, centos 는 조금 다르다.
가장 큰 차이점은 chroot 로 네임서버를 구동한다.
우분투쪽도 그런방식이 가능할 것으로 생각한다.(최신 배포판은 그런방식을 쓸지도,현 hardy)
그래서 chroot 의 root path 는 /var/named/chroot 가 된다.
네임서버 실행시 저 위치가 root 가 된다. 설정파일도 그 안에 위치한다.
/var/named/chroot/etc/named.caching-nameserver.conf
/var/named/chroot/etc/named.rfc1912.zone
도메인 설정은 named.rfc1912.zone 에 설정하면 된다.

그럼 zone 파일은 어디에 위치하나!
바로 /var/named 인데, chroot 상의 /var/named 이다.
/var/named/chroot/var/named
가 된다.

/etc/named.conf 등의 파일은 뭐지?
그냥 관리자가 관리하기 편하게 링크를 걸어준것 뿐이다.
해당 파일들을 삭제하고 재시작 해봐도 정상적으로 작동하는 것을 볼 수 있다.

ps 로 네임서버 프로세스를 확인해보면.
/usr/sbin/named -u named -c /etc/named.caching-nameserver.conf -t /var/named/chroot
chroot 로 시작하고 chroot 의 /etc/named.caching-nameserver.conf  설정을 불러들이는 것을 볼 수 있다.


기존 우분투 설정을 그대로 쓰고 싶어
우분투의 설정을 그대로 가져가 쓴다고 할때.
우분투의 named.conf.local 설정을
/var/named/chroot/etc/ 에 복사한후
/etc/named.conf.local 로 심볼릭 링크를 한다.
ln -s /var/named/chroot/etc/named.conf.local /etc/named.conf.local
/var/named/chroot/etc/named.caching-nameserver.conf  ( /etc/named.conf )
의 마지막 줄에. named.conf.local  설정을 불러오도록 다음 줄을 추가한다.
include "/etc/named.conf.local";

그리고 기존의 zone 파일들은
/var/named/chroot/var/named 에 복사해 주면 된다.

그리고 재시작하고, nslookup , dig 등으로 확인한다.



외부에서 도메인 질의가 안된다면
로컬에서는 되는데, 외부에서는 안된다면 다음의 사항을 체크한다.

1. 방화벽
iptable 로 53 번 포트를 열러줘야 한다.
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

2. 설정
설정파일의 기본이 localhost 를 기준으로 되어 있다.( named.caching-nameserver.conf )
    allow-query     { any; };

    match-clients      { any; };
    match-destinations { any; };
위처럼 localhost 를 any 로 바꿔준다.


nslookup 으로 질의확인
nslooup 으로 질의를 해서 네임서버 설정이 잘 되어 있는지 확인할 수 있다.
nslookup my.domain.com  localhost
처럼 질의를 했을때.
Non-authoritative answer:
Name:   my.domain.com
Address: 111.222.333.444
Non-authoritative  라는 메세지가 나오면 안된다.
해당 메세지가 없어야 일단 로컬설정이 제대로 된 것이다.


슬레이브 설정시 필요한 마스터 설정.
options 의 설정중에
allow-query 는  nslookup, dig 등을 이용한 일반 쿼리를 말한다.
슬레이브에서 마스터의 설정을 가져가려 하면
allow-transfer { slave-server_ip; };
의 설정을 해준다. (기본설정이 모두 허용인 듯 싶다. 필요한 서버만 허가를 하려면 필요하다)


ps. Centos 에서 bind-chroot 패키지를 설치하면 chroot 가 적용된다.

반응형

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

,
오래된 윈도우용 웹캠이 있다. 윈도우XP 까지만 지원된다.(3개정도 있던가.)
더군다나 제조회사는 이미 망해버린 상태이다.(웹캠 회사는 온전한 곳이 별로 없다)
대기업표 웹캠도 오래된 것들은 윈XP 이상의 드라이버는 제공하지 않는다.
윈도우 비스타, 윈도우7 을 사용하고 있는 상황에서 쓸모없는 물건이 되버렸다.
아직 윈XP 가 많이 쓰이지만, 왠지 시한부 인생을 사는 것 같이 씁쓸하다.

혹시나 하는 마음에 리눅스(우분투)에 연결했다.
3개중 2개는 그냥 인식되네, 나머지 하나도 테스트해봐야 겠다.
치즈(cheese)를 실행시켜보니 잘 되는구나.

웹캠 감시 시스템을 적용해 볼까?
몇가지 찾아보니, motion 과 zoneminder 라는 것이 있다.

우선 zoneminder 를 해보기로 한다.
참조 : http://www.linuxscrew.com/2007/11/05/howto-home-video-security-with-zoneminder-and-ubuntu/


설치하기
설치는 우분투 패키지를 제공하기 때문에 쉽다.
apt-get install zoneminder apache2 php5-mysql libapache2-mod-php5 mysql-server ffmpeg
카메라 영상을 웹에서 보기위해 apache2 가 필요하다.
mysql-server 는  zoneminder 의 설정등을 저장하기 위해 mysql 을 사용하기 때문에 필요하다.
웹기반으로 카메라 영상 감시를 하기위한 어플이 php 로 제작되어 있다.(php5, mod-php5 필요)
ffmpeg 는 카메라 영상을 동영상으로 저장하기 위해 필요한 패키지 이다.

http://localhost/zm 으로 접속하기 위해 apache 설정을 한다.
ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
아파치를 재시작한다.


옵셥설정하기
http://localhost/zm   으로 접속해서 기본 옵션을 설정한다.(오른쪽 윗 부분에 있다.)
옵션중에 다른 부분은 바꿀 것은 없고. image 부분에서
두번째 항목  ZM_STREAM_METHOD  를  mpeg 에서  jpeg 로 바꾼다.(save 를 꼭 해준다)

그리고 zoneminder 를 재시작해준다.
/etc/init.d/zoneminder restart
여기까지 한후, 감시설정을 해준다.(웹캠이 여러개가 있다면, 여러개의 감시설정을 할 수 있다.)

감시설정하기
"Add New Monitor" 를 눌러 설정을 한다.

아무 이름이나 쓰고, Local 로 해준다. Function 은  원하는 것으로 선택한다.
잘못 이해했는지 모르겠지만, Modect 로 설정하면 Event 가 발생할 듯 싶은데, 잘 안된다.
그래서 Mocord 를 하니 제대로 Event 를 잡아내는 듯 하다.(Record 를 해야 하나?)
그리고 저장한다.

소스(Source) 부분에서  웹캠 디바이스를 지정한다.(보통 /dev/video0)
여러개 있다면,  video1 , video2  등의 디바이스가 생겼을 것이다.
capture width , height 는 320x240 이 적당할 듯 하다.
640x480 등은  커널 공유메모리를 늘려줘야 하나보다.(shmall , shmmax 관련)

감시화면보기
모니터 설정후에  설정한 이름을 클릭하면

다음처럼 웹캠 화면이 나온다.(지금은 어두워서, 밝은 것은 프라이버시 문제로...)

이벤트도 기록되는 것을 볼 수 있다.(어떤 상황에 이벤트가 생성되는지 정확한 기준은 아직 모르겠다)

주의사항 : /var/cache/zoneminder 에 영상이 저장된다. 충분한 공간을 확보해야 한다.


영상이 잘 안보인다면
감시화면을 띄웠을때 카메라 영상이 제대로 나오지 않는다면,
/var/log/messages 를 확인해본다.  퍼미션 에러가 나온다면.
아래처럼 권한을 조정해 본다.(zoneminder 재시작)
chmod 4755 /usr/bin/zmfix
그래도 안된다면, 아래처럼 video0 의 other 권한을 rwx 로 바꿔준다. (또는 666 ,777 )
chmod o+rwx /dev/video0


ps. 테스트에 사용된 웹캠이  Z-Star Microelectronics Corp. ZC0301 WebCam 이다.(lsusb)
저게  LED 조명이 있는데 꺼져있다. 켜는 방법을 아직 못찾겠다.(없나?)
그러고보니 윈도우에서도 조절을 못했던 것 같다.

반응형

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

,
우분투 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
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

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

윈도우, 우분투 에 각각 설치를 해봤다.
윈도우는 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
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,