apt-get 으로 설치를 하고자 하다보면 설치 에러가 나는 경우가 많이 있다. 
주로 dependancy 오류인데. 이경우 dependancy 문제를 일으키는 모듈을 먼저 받으면 된다.
하지만 그냥 받으면 역시 같은 문제로 받아지지 않으므로, 소스로 받도록 하자.

sudo apt-get source xxxxxxxx 

이와같이 하면 해당 모듈의 full 소스를 받게 되므로, 

./configure 
make
make install

하게되면 설치가 된다.
물론, 다른 문제가 생긴다면 그 모듈도 설치하거나, 다운 받아서 설치하고 진행하면 될 수 있다.

하지만.. 버젼등을 잘 보고 맞추어서 받아야 함을 명심하자.


, .
안전모드에서는 이전에 지정해 둔 proxy 서버가 설정되지 않는다. 
따라서 다음과 같이 직접 export 해준다.

export http_proxy=http://168.219.61.250:8080 (3)
export http_proxy=http://165.213.150.40:8080 (4)

이러면 apt-get 등도 잘 수행됨을 볼 수 있다. 
, .

특별할건 없다 =_=;;

그냥 --bind 옵션을 쓰면 될 뿐.

#mount --bind olddir newdir

이리 하면 olddir 이 newdir의 위치에서 보이게 될 것이다.
, .

GIT 사용법

Ubuntu 설정 2009. 3. 17. 15:06
1. GIT을 설치한다.
>$ apt-get install git git-core

2. 환경을 설정한다. (your name 과 email을 저대로 쓰는 사람은 없으리라 믿는다. )
>$ git config --global user.name "YOUR NAME"
>$ git config --global user.email
your@email.dom

3. 다운 받을 폴더를 생성한다.
>$ mkdir /home/source

4. 다운받을 폴더로 이동한다.
>$ cd /home/source

5. 다운받는다.
>$ git clone your_mail_id@download_server:/git/down_folder/down_module
예: >$git clode termis@165.xxx.xxx.001:/git/xxx/module1

이렇게 다운 받으면 된다.
만약 특정 Repository 를 지정해서 그 중 특정한 tag로 받고 싶다면

1. 해당 Respository로 이동한다.
>$ cd /home/source/module1

2. 현재의 태크를 업데이트 한다.
>$ git fetch
>$ git fetch --tags

3. 업데이트된 tag 리스트를 display한다.
>$ git tag -l

4. 리스트중 하나를 선택해서 업데이트 한다.
>$ git checkout [tag]


, .

이는 Target 시스템과 telnet으로 연결 한 후
특정 directory를 서로 mount 해서 마치 두 Directory를 하나처럼 사용하도록 하는 방법이다.
이 방법으로 Local의 파일을 Target 시스템에서 바로 copy 하는등 접근할 수 있게 되며
반대의 경우도 마찬가지로 가능하게 한다.

단. 이경우 현재의 Mount 시점이 어디인지, 실행 주체가 어디인지 명확히 인지하고 있어야 착오가 생기지 않는다.

.우선은 Local system에서 접근할 폴더를 지정해야 한다.
이는 이곳에서 NFS 설정하는 방법 ( http://termis.tistory.com/6 ) 을 참조하도록 한다.

. 다음으로 Target과 연결해야 한다.
이 또한 이곳에 있는 minicom 사용법 ( http://termis.tistory.com/9 ) 을 참조한다.
여기까지 진행하면 타겟과 우선 Serial 로 연결된 상태이다.

. 하지만 Mount 를 하기위해선 USB를 사용한 Telnet 연결이 가능해야 한다.
물론 타겟이 USB 연결이 가능한 상태여야 한다. 
minicom 에서 ifconfig 명령을 사용해서 usb0 항목이 있는지, 여기에 ip가 지정되어 있는지 확인한다
# ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:100 (100.0 B)  TX bytes:100 (100.0 B)

 위와 같이 Local 연결만 나온다면 USB가 활성화 되지 않은 상태이다.
먼저 ifconfig -a 명령으로 USB가 사용가능한 상태인지 확인한다.
아래와 같이 usb0 항목이 보인다면 사용 가능한 상태이다.
# ifconfig -a
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:100 (100.0 B)  TX bytes:100 (100.0 B)
usb0      Link encap:Ethernet  HWaddr 92:32:B5:0B:EB:39
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

이렇게 usb0가 보인다면 가능하지만 보이지 않는다면 우선 USB 연결이 가능하도록 한다.
이는 타겟별로 다르므로 특별히 언급하지 않겠다.

이제 usb0 에 ip를 할당하여 외부에서 연결이 가능하도록 설정하자
# ifconfig usb0 192.168.129.3 up 

이로써 타겟 시스템의 telnet을 위한 ip주소는 192.168.129.3이 되었다.

. 이제 Local system 쪽을 설정하자
마찬가지로, Local system도 아직 usb가 사용하도록 활성화 되어 있지 않을 것이다.
root:/home/SO# ifconfig -a
eth1      Link encap:Ethernet  HWaddr 00:0c:29:ae:97:66 
          inet addr:192.168.12.128  Bcast:192.168.12.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feae:9766/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6427 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5816 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:534198 (521.6 KB)  TX bytes:3643259 (3.4 MB)
          Interrupt:16 Base address:0x2024
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:6906 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6906 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:347248 (339.1 KB)  TX bytes:347248 (339.1 KB)
usb0      Link encap:Ethernet  HWaddr 56:fe:d4:37:ff:9f 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


대화 상자가 셋으로 나뉘었지만 하나로 합쳐서 보면 된다.
그나마 방금 Target의 usb를 활성화 하였기에 usb0항목이 보이는 것이다.
하지 않았다면 위의 두개만 보일것이다.
이제 Local의 usb에도 ip를 할당하자.
root:/home/SO# ifconfig usb0 192.168.129.2 up

이로써 Local의 usb0 의 ip는 192.168.129.2 가 되었다.

무슨 의미냐 하면,
Local 에서 Target에 접속하고자 할때는
root:/home/SO# telnet 192.168.129.3
하면 되고, 반대로 Target에서 Local에 접속하고자 할때는
#telnet 192.168.129.2
로 하면 된다.
하지만.. 대부분의 Target system은 아마 telnet 명령을 지원하지 않을 뿐더러.. 할 이유도 없을 것이다.

. 이제 준비는 끝났다. Mount 해보자.

. 우선 Local 에서 Target 으로 연결한다.
root:/home/SO# telnet 192.168.129.3
Trying 192.168.129.3...
Connected to 192.168.129.3.
Escape character is '^]'.

............(중략)
#   <= 접속이 완료되어 프롬프트가 떴다.

. 이제 Target에서 Local의 특정 폴더와 연결될 빈 폴더를 생성한다.
# mkdir /tmp/test

. 이 폴더를 Local 에서 NFS로 오픈해 놓은 폴더와 mount 한다.
# mount -t nfs -o tcp,nolock 192.168.129.2:/home/SO /tmp/test
대략적인 의미를 보자면 nfs를 사용하여 tcp로 연결하며 locking 하지 않는다.
/tmp/test 폴더에 192.168.129.2 시스템의 /home/SO 폴더를 연결한다.
이로써 /tmp/test 폴더는 /home/SO 폴더가 되었다.

이제 Local 시스템에서 /home/SO 폴더에 어떤 파일을 넣고
Target 시스템에서 ls /tmp/test 해 보면 그 파일이 보임을 알 수 있을 것이다.
단 이 연결은 폰이 usb 를 해제하면 사라지므로 (재부팅 전까지는 다시 연결하면 다시 연결된다.)
Target 시스템에서 사용할 file이라면 copy해서 사용하는것이 안전하다
# cp -rf /tmp/test/agent-* .
agent- 로 시작하는 모든 파일을 현재 디렉토리로 copy 한다.

물론 Target에서 특정 파일을 /tmp/test로 카피할 경우
Local 시스템에서 /home/SO 에서 접근 할 수 있다.




, .

제목은 약간... 업무성이 짙고,
포괄적으로 말하자면 com1 포트를 통해 다른 system과 연결하는것을 하고자 한다.

. 우선은 minicom을 설치한다.
># sudo apt-get install minicom

. 이후 minicom -s 로 설정 모드로 실행한다.
># sudo minicom -s

. confituration 창에서 Serial port setup 항목을 선택하고 다음과 같이 지정한다.

A - Serial Device : /dev/ttyS0  (에스 제로)
B - Lockfile Location : /var/lock (default )
E - Bps/Par/Bits : 115200 8n1 (default )
F - Hardware Flow Control : No
G - Software Flow Control : No (default )

각각 맨 앞의 영문을 누르면 각 항목을 edit 할 수 있다.
다 지정하였으면 Enter를 누르면 다시 Configuration 창으로 돌아온다.

. Save setup as dfl 을 눌러서 이후론 이 설정이 default option으로 지정되도록 한다.

. Exit 눌러보면 타겟과 연결됨을 볼 수 있다. (엔터 몇번 눌러보면 더 확실히.. )

 

, .
이는 아래와 같은 3D 데스크탑 환경을 설정하는 방법이다.



이는 간단한 형태로 이 내용을 모두 설정 한 후에는 더욱 여러가지를 해 볼 수 있을 것이다.

. 먼저 그래픽 하드웨어를 사용하도록 지정해야 한다.
> Menu > System(시스템) > Administration(관리) > Hardware Drivers (하드웨어 드라이버)
이곳에서 Enable 에 체크 한다.
그러면 보증되지 않은 (Fully 지원하지 않는) 드라이버 어쩌구 뜰 수도 있지만 그냥 Enable 시킨다.
이후에 드라이버를 설치하고 업데이트 한 후 리붓하는 프로세스가 진행될 것이다.

. 이후 화면 효과를 지정해야 한다.
> Menu > System(시스템) > Preferences (기본 설정) > Apprearance (모양새)
이곳에서 Visual Effects (화면 효과) 를 Extra 로 설정한다.
역시 머라고 창이 뜰테지만 Keep settings 로 그냥 설정하도록 한다.

. 이제 화면 효과를 세세하게 정의할 수 있는 메뉴를 설치한다.
> Menu > Applications (프로그램) > Add/ Remove Applications (추가 /제거)
이곳에서 Show(보여주기) 콤보 박스를 All available applications (이용가능한 모든 프로그램) 으로 지정하고, Search(찾기) 에서 compiz 를 입력한다.
Advanced Desktop Effects Settings 를 선택한다.
커뮤니티에서 관리하는 프로그램.. 어쩌구 하므로 Apply(적용) 을 선택하고 설치한 후 close (닫기) 한다. 이제 이 메뉴 항목을 이용해 효과를 지정해 줄 수 있다.

.먼저 3D 효과를 지정하도록 한다.
방금 설치한 Advanced Desktop Effects Settings를 실행한다.
> Menu > System(시스템) > Preferences (기본설정) > Advanced Desktop Effects Settings
기본적인 효과를 위해
Desktop Cube
Rotate Cube
두 항목을 사용하도록 check 한다.
그러면 이와 상반되는 효과를 제거할건지 물어보므로 사용하지 않도록 지정한다.
이제 Alt + Ctrl + 왼쪽 마우스 로 버튼을 누른 상태로 움직여 보면 화면이 움직임을 알 수 있다.

. 이제 이를 Cube 모양으로 만들어 보자.
기본적으로 설정되어있는 Workspace가 두개 뿐이라 저렇게 두면을 가진 창이 된 것이므로
이를 4개로 만들어 주면 된다.
간단하게는 오른쪽 아래에 있는 2개의 Workspace에서
오른버튼 -> 기본 설정 -> 열 항목을 2개에서 4개로 늘려주면 된다.
또는
Advanced Desktop Effects (컴피즈 설정 관리자) > General Options (일반 > General Options) > Desktop size > Horizontal Virtual Size 항목을 마찬가지로 4로 늘려주면 된다.
이제 처음 보았던것과 같이 4개의 면을 가진 4각형의 Cube가 되어서 돌것이다.

참고로 아래와 같은 단축키를 사용하면 더욱 편리하게 사용할 수 있다.
화면 확대 -> 윈도+마우스휠  , 화면확대 취소 -> 윈도우+1 (숫자)
모든작업공간입체로보기
 -> 윈도+E
창 선택
  ->  Alt+Tab
Alt+Tab의 입체화
 -> 윈도+Tab
작업공간 이동 -> Ctrl+Alt+방향키


 

.이제 남은것은 여러가지 효과를 지정하고, 변경해서 나만의 Desktop 화면을 만들어가면 된다.



, .
.이 내용은 기본적으로 대부분의 Linux 시스템이 비슷하다.
아니 정확히는 bash shell을 사용하는 시스템이 비슷하다.

.먼저 Prompt 내용을 살펴 보면

프롬프트 변수 PS1# echo $PS1[\u@\h \W]\$
    \u 사용자 이름 
    \h 호스트 이름, \H 전체 호스트 이름 
    \$ root이면 #, 일반사용자이면 $ 
    \w 현재 작업 디렉토리의 전체 경로 표시 
    \W 현재 작업 디렉토리 (w와 W가 바뀐 경우도 있는듯)
    \t 현재 시간을 HH:MM:SS\d 현재 날짜를 Tue May 26 
    \s 쉘 이름 
    \# 현재 명령의 명령 번호
    \! 현재 명령의 history 번호


위와 같으므로, 원하는 조합을 사용하면 된다.
예를 들면
># export PS1='[\u \w]\$ ' 로 지정한다면 
 [root /home/sierr]# 이와 같이 표현됨


와 같은 형식이 가능하다.

.우분투의 경우  자신의 계정만 바꾸고 싶다면
>#vi ~/.bashrc
해서 제일 아랫 부분에
>export PS1=...
의 형식으로 추가하면 되고 이를 바로 적용시키기 위해
>#source ~/.bashrc
하면 된다.

.만약 모든 사용자의 프롬프트를 바꾸고 싶다면
>#vi /etc/bashrc
해서 마찬가지로 수정하면 된다.

, .
.먼저 다음 세가지를 설치한다.
>$sudo apt-get install nfs-kernel-server nfs-common portmap

.다음으로 portmap을 설정한다.
이때 loopback을 지정할꺼냐는 질문에는 No를 선택한다.
>$sudo dpkg-reconfigure portmap
>$sudo /etc/init.d/portmap restart


.이제 export시킬 directory를 지정한다. 물론 이 디렉토리는 미리 존재해야 한다.
>$sudo vi /etc/exports
.이곳에 써 넣는 정보는 시스템 마다 다르겠지만. 우리의 경우는 아래와 같이 사용한다.
/home/SO    *(rw, no_root_squash, sync)
.이는 각각 다음과 같은 의미를 지닌다.
/home/SO export 할 디렉토리,
* 모든 곳에서 접근이 가능하다.
rw 읽기와 쓰기가 가능하다.
no_root_squash .... 머더라 =_=a
sync sync상태를 유지한다. (즉각적으로 sync한다 )

.모두 지정했다면 nfs를 restart 한다
>$sudo /etc/init.d/nfs-kernel-server restart

.다음으로 지정해둔 export를 터미널에 적용시킨다. (위에서 이미 적용된 상태이긴 하다. )
>$sudo exportfs -a

이와같이 하면 이후로 /home/SO 폴더를 다른곳에서 마운트해서 사용할 수 있게 된다.
, .

기본적으로 설치시 언어를 한국어로 지정했다면 한글을 사용할 수 있지만
Root로 계정을 바꾼 이후엔 더 이상 한글이 입력되지 않는다.
이를 해결하려면.

1) scim-hangul 설치
$apt-get install scim-hangul 혹은 synaptic package manager 에서 search 후 설치한다.

2) 한글 언어팩 설치
$apt-get install language-pack-ko language-pack-gnome-ko language-pack-gnome-ko-base 혹은 마찬가지로 search 후 설치 
이때 gnome 로 되어 있는 부분은 Kubuntu를 설치했다면 해당 팩을 설치해야 한다.

3) 언어 지원 변경
Menu>System>Administration>Language Support 에서
Supported LanguagesDefault Language 를 Korean으로 지정.

4) Reboot

5) 이후에도 한글이 사용되지 않을 경우 (보통은 안된다. ) 

  >$sudo vi ~/.profile 에서 LANG=C Languagu=C 등으로 되어 있는 부분 삭제.

  > reboot 후 login 창에서 왼쪽 아래 옵션 -> 언어지원 -> Korea 로 변경 후 login

6) 이후에도 한글이 사용 안될 경우 (보통은 이정도면 된다.)
  > SCIM 입력기 설정에서 한글 부분 설정이 제대로 되어 있는지 체크
  > 여러개의 SCIM 이 뜨더라도 다 Uncheck 하고 회색으로 되어있는 Hangle로 선택 사용 .
     - 다른 한글의 경우 입력이 이상하게 된다. 한번 사용해 봐도 무방.

7) 이후에도 한글 입력이 안될경우
     - 모르겠다! . 포스팅 해주시면 해결 방법을 함께 고민해 보겟습니다.

, .