selinux 제거하는 방법

배움생활/리눅스 | 2010/02/10 06:22
Posted by blueecho
다시 이솝보드를 시작하기 위해서 세팅을 하다가 보니 기존에 사용하던 linux컴퓨터의 경우는 selinux를 써 놓은 것을 알게되어서 제거하는 방법을 찾다가 보니 내용이 있어서 옮겨본다.

/etc/selinux/config 파일 수정 ***추천***
SELINUX=어쩌구~ 써있는 것을 SELINUX=disabled로 수정

사용하던 nabi의 버젼업을 위해서 rpm인가 소스인가를 가져와서 설치를 잘 완료하고 사용하고 있었는데 오늘 새로운 계정을 만들고 다시 세팅하려고 하다가 보니 예전에 설치하고 나서 따로 써놓은게 없어서 기록겸 해서 남겨놓는다.
설치된 nabi를 kde환경에서 자동으로 실행하기 위해서는 사용자의 디렉토리의 .kde 디렉토리에 env라는 디렉토리를 만들고 그곳에 nabi.sh라는 실행 스크립트를 작성한다.
스크립트의 내용은 다음과 같다.

nabi &
export XMODIFIERS="@im=nabi"

이번에 학교 컴퓨터를 교체하면서 기존에 사용하던 Fedora8을 11로 교체하였습니다.
ntfs마운트나 yum의 지원상태에서 꽤 좋다고 느껴지더군요.
문제는 제가 사용하는 synopsys툴들의 세팅에서 문제가 생기더라구요.

현재 Fedora11 x86_64버젼을 설치하였습니다. (코어2듀오라서 64비트를 지원하더군요.)
문제는 installer에 있는 tcshl파일의 ELF헤더부분이 달라서 인것 같더군요.
설치되어있던 tcshell파일로 교체하여주니 실행이 되네요.

ps. 이번 PC는 듀얼부팅으로 했는데 이제는 윈도에서도 ext3가 마운트 되네요.
공용파일들 용량 걱정했는데 다행입니다.

libstdc++.so.5 에러 해결법

배움생활/리눅스 | 2009/06/25 02:31
Posted by blueecho

뭐 아시는 분들은 다 아시겠지만...
libstdc++.so.5의 해결법은 다음과 같습니다.

<Ubuntu>
# aptitude install libstdc++5

<Fedora or CentOS>
# yum install compat-libstdc++-33



 

CD ISO이미지 만들기..

배움생활/리눅스 | 2009/05/08 01:56
Posted by blueecho

VirtualBox에서 사용하는 CD-ROM연결인 /dev/sr0와의 연결이 좋지 않아서 CD이미지로 사용하기로 결정하고 ISO이미지를 만드는 법을 알아봤는데요. --;;
단순히 ISO이미지라는게 binary데이터이므로...

cat /dev/cdrom > image_name.iso

또 다른 방법인 블록복사의 경우는

dd if=/dev/cdrom of=image_name.iso

네요.
생각보다 너무 간단했네요. 너무 복잡하게 생각했었나봐요. ^^;;

요즘들어서 vi를 이용한 편집을 사용하긴 하지만 무식한 방법을 이용한 검색을 하거나, kdevelop같은 IDE툴을 사용할 때가 많다.
오늘 책에서 본 내용은 ctags와 cscope를 이용한 검색 방법에 대해서 읽었다.

1. 특정 문자열을 가진 파일을 검색하는 방법

command> find . -name (filename) -exec grep -Hn (strings) {} \;


현재 폴더 내에서 특정 filename의 파일들 중에서 strings를 포함하고 있는 파일(심볼릭링크 제외 : -H)과 행번호(-n)를 출력한다.

command> grep -RIwHn (strings) *


-R : recursive, -I : skip binary file, -w : whole word
요런 방식으로도 출력은 가능하다.

2. ctags를 이용한 검색 방법

command> ctags -R


색인을 만들어준다. -R 옵션은 역시 하부 디렉토리 모두 검색한다는 뜻(재귀적)

command> vi -t (strings)


vi의 tag옵션으로 해당 문자열을 가진 열을 찾아서 열어준다.  또는 vi의 명령행 모드에서 다음과 같이 입력한다.

:tag (strings)


또 다른 방법으로는 찾는 문자가 있는 행에서 ctrl+]키를 눌러서 이동이 가능 돌아올때는 ctrl+T이다. 이 명령은 중첩(nested)되어서 사용가능하다.

tj명령을 이용하여서 리스트로 나열된 부분에서 찾을 수 있다. 또한, sta명령을 사용하면 수평창분할을 하여서 보여주기도 한다. ptn의 경우는 다음 태그로 ptp의 경우는 이전 태그로 점프한다.

:tj (strings)
:sts (strings)
:ptn
:ptp

3. scope를 이용한 검색

command> cscope -R


키 용법이 일반적인 것과는 다르니 확인할 것 ?명령으로 확인해야 한다.

command> find . \(-name '*.c' -o -name '*.cpp' ....... -o -name '*.S' \) -print > cscope.files
command> cscope -i cscope.files


원하는 파일들에서 색인을 만들수 있도록 만들어준다. 요 명령의 경우는 쉘스크립트로 만들어서 사용하는 것이 편하다.

vi에서 cscope를 사용하려면 다음과 같은 내용을 vi의 환경설정파일에 첨가해 주어야 한다.

[ ~/.vimrc ]
set  csprg = /usr/bin/cscope
set csto = 0
set cst
set nocsverb

if filereadable("./cscope.out")
    cs add cscope.out
else
    cs add (cscope.out의 주소)
endif
set csverb


이후로는 vi의 cs명령을 사용하여서 검색이 가능하다.

:cs find (질의종류) (심볼)

4. vi팁

1) 파일 탐색기능 활용하여 현재 디렉토리 내에 파일 검색을 하도록 해줌. 단, exploer 플러그인이 설치되어야 함

:20vs ./


위의 예의 경우는 20라인짜리 수직선을 나누고 현재 디렉토리를 검색

2) 괄호탐색의 경우는 { 또는 }에 커서를 놓고 %키를 누르면 쌍이 되는 부분으로 이동

3) 함수를 접기 위해서는 { 문자에 커서를 놓고 v]}zf 명령을 눌러주면 함수가 폴딩된다. v]}는 블록을 형성하고 zf를 누르면 폴딩이 된다. 폴딩을 해제 할 경우는 -> 키를 누르거나 zo명령으로 폴딩을 해제해 준다.
쉽게 하기 위해서 환경파일에 다음과 같이 정의해 주면 편하다.

map <F1> v]}zf


4) 여러행에 탭을 넣을 때는 v 를 이용하거나 V를 이용해서 정리하거나 (수정할 행수)>> 명령 또는 <<를  통해서 조정이 가능하다.

7>>


위의 경우는 아래 7행을 탭하나 만큼 옮겨준다.

5) 복사로인해서 흐트러진 소스의 경우 v를 이용하여 블록을 잡아주고 =키를 눌러주면 정렬된다.

6) 파일을 바로 읽어오기 위해서는 파일명이 있는 위치에 커서를 놓고 ctrl+wf를 누르면 수평분할창에 파일이 열린다. 헤더파일 같은 경우 편하다.

7) 자동완성기능 ctrl+p (앞쪽에서 찾음) ctrl+n (뒤쪽에서 찾음)

  열씨미와 게을러의 리눅스 개발 노하우 탐험기 - Blog2Book 시리즈 02  박재호 지음
'열씨미'와 '게을러'라는 가상인물의 대화를 통해 리눅스로 개발하면서 겪는 개발현장 사례를 14개의 짧은 이야기를 통해 실감나게 그려낸다. 각 이야기는 리눅스 신참인 '열씨미'와 리눅스 해커인 '게을러'의 해결방안을 동시에 수록하고 있어 다 나은 해결방안을 모색할 수 있는 계기를 마련해준다.
  유닉스.리눅스 프로그래밍 필수 유틸리티 - vi, make, gcc, gdb, cvs, rpm  백창우 지음
vi, make, gcc, gdb, cvs, rpm 등 유닉스, 리눅스 개발 환경에서 자주 사용하게 되는 필수 유틸리티의 활용법을 알려준다. 많은 그림과 도식, 구체적인 예제들을 통해 기능과 원리를 설명하고 있어 초중급 개발자도 쉽게 익힐 수 있다.

간만에 시간이 남는 지라 이번에 사용하게 된 Virtualbox의 USB인식문제를 해결하기 위해서 웹검색을 시도해보았다.
스크립트를 만드는 방법도 있고 /etc/fstab을 수정하는 방법등 대체적으로 몇가지 방법이 있지만 현재 사용하고 있는 FC8에서 사용할 수 있는 방법이 없어서 몇번 시도하는 중 하나의 방법을 시도해 보고 성공하여서 올려보도록 한다.

/etc/rc.sysinit 파일에 다음과 같이 첨가해 준다.

if [ ! -d /proc/bus/usb ]; then
        modprobe usbcore >/dev/null 2>&1 && mount -n -t usbfs /proc/bus/usb /proc/bus/usb -o devgid=501,devmode=664
else
        mount -n -t usbfs /proc/bus/usb /proc/bus/usb -o devgid=501,devmode=664
fi

대략 usb장치를 인식했을때 처음부터 인식 또는 새로 마운트 된경우 각각의 gid를 vboxuser로 연결해주고 권한을 664로 지정해 주는 것 같다. gid=501의 경우는 제 시스템의 경우 vboxuser가 501이기 때문에 써준 내용이다.

꽤나 찾고 시험해 보느라 고생했지만 방법을 찾아서 다행이다. ^^

ps. 찾는 문서중에 FC9 또는 FC10의 경우는 script를 작성해서 하는 방법인것 같은데, FC8에서는 적용이 되지 않았을 뿐더러 위의 방식이 좀 더 쉽게 고칠 수 있었다.

diff 와 patch 사용법

배움생활/리눅스 | 2009/03/23 20:31
Posted by blueecho
그동안 많이 사용하고 있던 diff에 대해서 여러가지 이야기가 있길래 옮겨본다. ^^

  1. diff명령을 사용할때 문맥형식보다는 통합형식(-u 옵션)으로 사용하자. alias diff="diff-u" 로 정해놓는 것도 좋다.
  2. 파일 패치 배포를 위해서는 diff명령에 -urN 옵션을 준다. -u는 통합형식 -r 재귀적인 탐색, -N은 없는 파일의 경우는 비어있다고 판단하게 하는 것이다.
  3. patch 명령의 경우 -p? 의 옵션의 경우는 ?에 나온 숫자대로 내부의 디렉토리 부분을 생략하도록 한다. /usr/bin/blueecho/test/module의 경우 -p2라고 하면 /usr/bin이 생략되어 최종적으로는 blueecho/test/module의 형태가 된다. -R 옵션인 경우는 거꾸로 diff명령을 통해서 나온 파일을 가지고 원 파일로 복원시키는 작용을 한다.

또한 find라는 명령에 대해서 활용 방법도 있다.

  1. -newer옵션을 사용하여서 -newer 뒤에 나오는 파일보다 새로 만들어진 것만 찾는다.
  2. 파일이 변경된 것을 찾으려면 checksum을 이용한다.
    1. find ~~~~~~ -newer (filename) -exec md5sum {} >> changed.md5 \;
    2. md5sum -c changed.md5 2 > &1 | grep ":FAILED" | awk -F: '{ print $1 }'

awk명령은 패턴 스캐닝 과 언어처리를 하는 것이라고 하는데 아직은 잘 모르겠다. 좀 더 알아봐야 할 듯.... diff와 patch의 경우는 사용하기에 따라 엄청 강력할 것 같다. ^^
요런 방법으로 찾아준다.

아 diff의 KDE용 버젼으로 Kdiff3가 있다. 여러파일을 볼 수 있는게 장점 이랄까?
점점 acroedit와 ultraedit보다 vi가 편해져 가는 것 같은 느낌이.. ^^



  열씨미와 게을러의 리눅스 개발 노하우 탐험기 - Blog2Book 시리즈 02  박재호 지음
'열씨미'와 '게을러'라는 가상인물의 대화를 통해 리눅스로 개발하면서 겪는 개발현장 사례를 14개의 짧은 이야기를 통해 실감나게 그려낸다. 각 이야기는 리눅스 신참인 '열씨미'와 리눅스 해커인 '게을러'의 해결방안을 동시에 수록하고 있어 다 나은 해결방안을 모색할 수 있는 계기를 마련해준다.


아무래도 MS office류를 많이 사용하다가 보니 만들어진 파워포인트 자료를 볼때 리눅스용 폰트로 대체되는 것을 보면서 좀 아쉽다는 생각을 하고 있었는데... 방법이 있었네.. ^^

사용할 수 있는 폰트는 true type font만 가능한거 같긴 한데 다른 부분은 시험해 보지 못했다.

우선, 리눅스에서 사용하는 폰트 디렉토리인 /usr/share/fonts/에 msfont라는 디렉토리를 생성하고 생성된 디렉토리에 ttf파일을 복사를 한 후에 다음 명령을 수행한다.

command> cd /usr/share/fonts/msfont
command> mkfontscale
command> ttmkfdir
command> fc-cache
command> chmod -R a+r /usr/share/fonts/msfont

뭐.. 대략 봐서는 폰트 캐쉬에 해당 폰트를 등록하는 방식인거 같은데, 그렇다면 리눅스나 윈도우나 같은 폰트 체계를 사용할 수 있다는 것이니 다른 폰트를 사용하고 싶을때도 등록해 보는것도 괜찮을 것 같다.

윈도우에서는 케이블만 연결하고 포멧해주면 끝나는 게 리눅스에서는 생각보다 많은 작업을 해야 하더군요.(뭐... 처음해봐서 그런건지는 모르겠습니다만.. ^^)
하여간, 이번에 VirtualBox를 설치하게 되어서 윈도우PC를 퇴출시키는 김에 윈도우PC에 붙어있던 320G짜리 하드를 리눅스에 달기로 하고 작업에 착수했습니다.

[목적]
윈도우에서 가장 많은 영역을 차지하고 있는 개인계정상의 영역을 최대한도로 늘리기

[방법]
1. 하드디스크를 설치한다.
2. 부팅후 su를 이용해서 root권한확보(레드헷계열입니다. ^^)
3. fdisk(/sbin에 위치)를 이용하여서 파티션 분할 (제 경우는 /dev/sdb로 인식하였습니다. 인식확인은 dmesg를 이용하시면 하드디스크 연결정보가 나옵니다.
command> fdisk /dev/sdb
4. m 명령을 이용해서 명령어를 확인하면서 n 명령을 이용해서 파티션을 새로생성한다. 리눅스에서 사용할 것이므로 ext3를 이용하며 p 명령을 이용해서 확인하고 w명령을 이용해서 기록한다.
5. 파일시스템을 만들어준다. (포멧과 비슷) : 생성된 파티션을 /dev/sdb1이라고 할때
command> mke2fs /dev/sdb1
6. 새로 만들어진 sdb1을 연결하고 현재 생성하고자하는 디렉토리(/home) 부분을 카피해준다.
command> mkdir /home2
command> mount -t ext3 /dev/sdb1 /home2
command> cp -cruv /home /home2
command> mv /home /home_bak
command> umount /dev/sdb1
command> mkdir /home
command> mount -t ext3 /dev/sdb1 /home
7. 정상적으로 마운트 되는지 확인하고 /etc/fstab에 기록하여서 부팅시마다 자동 마운트 되게 해준다. (/etc/fstab의 마지막에 다음과 같이 써준다.)
/dev/sdb1          /home      ext3      defaults    1 1


-- 각 부분의 명칭은 다음과 같다.

more..

8. 리부트후 연결확인하고 /home_bak를 삭제해준다.
다들 아시는 내용이겠지만 까먹을까봐 한번 적어놔 봅니다. ^^

블로그 이미지

blueecho

누군가에게 "당신은 무엇을 잘하십니까?"라는 질문을 들었을때 바로 대답할것을 만들어보자~!!

카테고리

분류 전체보기 (488)
NeWs (20)
배움생활 (97)
취미생활 (116)
끄적끄적 (239)
인생설계 (12)
Wish list (4)