'내가쓰는리눅스 강좌'에 해당되는 글 35건

  1. 2011.05.17 리눅스 여유 메모리 체크 관련 2
  2. 2010.11.16 리눅스에서 임의의 파일 생성 2
  3. 2010.07.14 리눅스 VNCSERVER 설정 방법 3
  4. 2010.05.31 텍스트 파일을 잘라보자. split
  5. 2010.04.19 리눅스 시스템의 부팅시 파일무결성 체크 강제로 하기
  6. 2010.03.30 리눅스 dmesg 를 통한 eth 포트의 down / up 구분
  7. 2009.12.23 28. CentOS 에서 yum 수행시 repo 사이트 추가
  8. 2009.11.24 27. CentOS 에서의 한글 설정 3
  9. 2009.11.23 26. ethtool 사용하기 spped 와 duplex 변경 6
  10. 2009.11.05 25. sort 명령어 2
  11. 2009.09.15 24. tar 압축파일에 관해서
  12. 2009.04.23 23. man 페이지 내용을 파일로 보자. 2
  13. 2009.01.30 22. lame : mp3 인코더
  14. 2009.01.21 21. 부팅시 실행레벨설정 ( X-window 로 또는 터미널으로) 2
  15. 2009.01.20 20 . SSH 터미널의 프롬프트에서 절대경로 표시법
  16. 2008.11.03 19. 콘솔 모드에서의 해상도 조절 1
  17. 2008.07.03 18. CentOS 에서 Xmanager 를 위한 설정하기 2
  18. 2008.06.16 17.1 네트워크 개념 잡기 IP/NETMASK/DefaultGW/DNS 5
  19. 2008.06.16 17. 명령어 모드에서 네트워크 설정 ifconfig 와 route 2
  20. 2008.05.22 15. 삼바서버 설정하기 ( 초간단) 7
2011. 5. 17. 14:07

리눅스 여유 메모리 체크 관련

리눅스 시스템에서는 top 명령어로 나오는 출력 중에서 free 필드의 값으로 
여유메모리를 판단하는데 그것보다는
free -mt ( Mega 단위로 표시 ) 명령어로 확인하는 것이 더 낫다.

[root@localhost ~]# free -mt

                 total           used      free     shared    buffers     cached

Mem:          1769       1641        128          0        176       1351

-/+ buffers/cache:        113       1656

Swap:         4579          0       4579

Total:        6349       1641       4707

 
여기서 free 항목이 여유메모리이지만

실제로 메모리를 크게 잡아먹지 않는 데몬이 떠 있지 않아도 free 가 매우 적게 보이는 경향이 있다.

하지만 이것은 정상상태이다.

vmstat 1 10 ( 1초마다 10번 통계값을 출력 / 첫번째 출력값은 무시한다 why? 통계이므로 첫번째 값은 무시 ) 

[root@localhost ~]# vmstat 1 10

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 0  0    108 129356 181168 1383480    0    0     4     6    7   11  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0     0 1026  139  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0     0 1012   97  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0     0 1019  126  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0     0 1010  108  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0    28 1027  160  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0     0 1004   87  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0     0 1025  157  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0     0 1010   97  0  0 100  0  0

 0  0    108 129356 181168 1383488    0    0     0     0 1019  124  0  0 100  0  0


 
여기서 보면 실제로 cashe 메모리가 높게 사용되고 잇는 것을 알 수 있다.
하지만 캐시메모리는 실제로는 free 메모리로 보는 것이 옳다.

리눅스에서는 자동적으로 모든 램의 공간을 버퍼 캐쉬로 사용하여 메모리를 효율성을 높이고 있으며

프로그램에서 많은 메모리를 필요로 하는 경우에는 자동으로 캐쉬의 크기를 줄인다.

그렇다면 위에서 실제로 사용가능한 메모리는 free+buffers+cached 이다.

-/+ buffers/cache: 줄이 이러한 내용을 반영하고 있다 

( 원문 : http://tunelinux.pe.kr/tune/tunning-pse/tunning.html )  
2010. 11. 16. 17:32

리눅스에서 임의의 파일 생성

용량없는 파일을 생성하는 것은 touch 명령어를 사용하여 생성한다.

[root@localhost ~]# touch a
[root@localhost ~]# ls -l a
-rw-r--r-- 1 root root 0 11월 16 17:31 a


특정한 용량을 지정하여 파일을 생성하는 것은 다음과 같이 한다. 

# dd if=/dev/zero of=/home/tongseob/100M.dd bs=100M count=1
1+0개의 레코드를 입력하였습니다
1+0개의 레코드를 출력하였습니다
# ls -l 100M.dd
-rw-r--r--    1 root     root     104857600  1월 17 18:55 100M.dd



2010. 7. 14. 15:27

리눅스 VNCSERVER 설정 방법

VNCSERVER 는 외부에서 원격으로  GUI 환경으로 접속이 가능하도록 만들어주는 프로그램으로
리눅스에서는 서버가 운영되고 외부의 PC 에서는 vncviewer 라는 클라이언트를 통해서
접속이 가능하게 된다.

1. CentOS 에서는 rpm 으로 설치가 가능하다.

yum -y install vncserver


2. 최초 시작시에는 다음과 같이 터미널에 입력해준다.

이때에 사용자의 VNC 로 접속할 때 사용될 패스워드를 넣어주어야 하고
나중에 vncpasswd 라는 명령어로 패스워드 변경할 수 있다.
아래는 root 에서 수행했으니 root 의 vncpasswd 가 생성되는 것이다.
만약 다른 계정으로 했다면 그 계정의 vncpasswd 가 실행되게 된다.

[root@localhost ~]# vncserver :1

You will require a password to access your desktops.

Password:
Verify:
xauth:  creating new authority file /home/bjh/.Xauthority

New 'localhost:3 (bjh)' desktop is localhost:1

Creating default startup script /home/bjh/.vnc/xstartup
Starting applications specified in /home/bjh/.vnc/xstartup
Log file is /home/bjh/.vnc/localhost:1.log


3.  각 계정 사용자의 홈디렉토리에 숨김 디렉토리가 생성된다.  ( .vnc )
그 안의 xstartup 이라는 파일을 vi 로 열어서 수정해야 한다.

[root@localhost .vnc]# cat xstartup
#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

파일을 열어서 위의 빨간색 두 라인을 주석해제 ( 맨 앞에 # 을 삭제 ) 해서
적용이 되도록 만들어준다.

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

만약 이 과정을 빼먹으면 나중에 vnc viewer 로 접속햇을 때 원하지 않는 이상한 화면(아무것도 없는 화면)을 볼 지도 모른다.

4. 원격접속시 사용될 해상도와  어느 유저로 접속할 것인지를 결정해야 한다.
root 로 로그인한 상태에서 /etc/sysconfig/vncservers 라는 파일을 열어서 편집해야 한다.

[root@localhost sysconfig]# cat  vncservers
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that. 
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see
# <URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-nohttpd" to prevent web-based VNC clients connecting.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

여기서 맨 마지막 두 라인이 바로 예제이다.
이것을 그대로 복사해서 라인을 추가하고
VNCSERVERS 라는 라인에서는 사용하고자하는 포트와 유저를 지정하게 된다.
또한 두번째 라인의 VNCSERVERARGS 라인은 vncviewer 를 통해서 접속했을 때 사용하고자 하는 해상도를 지정하게 된다.
물론 새로 추가하는 라인들은 앞의 # 을 제거해서 주석해제 처리 해주어야 한다.

위에서는 root 에서 만들었지만 이것을 다른 특정 유저에서 사용하게 할려면
특정 사용자 아이디로 로그인하고 나서 위의 과정을 반복해준 다음에
예를 들어 test 라는 계정이 이미 있고 그 계정으로 VNCSERVER 를 운영할려면 아래와 같이 수정해서 넣어준다.

VNCSERVERS="1:test"
VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp -nohttpd -localhost"

5. 복수의 사용자별로 VNC 서버를 설정하는 법
만약 여러 계정에서 사용하고자 한다면 VNCSERVERS 라인에 추가를 해주어야 한다.
VNCSERVERS="1:test  2:test2  3:root"
VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp -nohttpd -localhost"

설정이 완료되었다면 VNCSERVER 를 재시작해야 한다.

이렇게 되면 test 라는 계정과 test2 라는 계정 그리고 root 라는 계정으로 각각 따로 VNC 서버가 구동하게 되어서 각각 다른 화면으로 접속하여 다른 작업이 가능하게 된다.

즉 윈도우PC 에서 리눅스로 접속할 때에는 다음과 같은 화면처럼 3가지 접속이 가능하다.
즉 3개의 사용자별로 따로 VNC 서버가 구동되게 되는 것이다. 

아이피 뒤의 숫자는 포트번호인데  위의 /etc/sysconfig/vncservers 파일에서 계정적어준 앞의 숫자를 바꾸고 VNC 재기동을 하면 설정한 포트번호로 접속이 가능하다.






6. VNCSERVER 재시작
리눅스에서는 두가지 방법을 통해서 서비스 재시작이 가능하다.
service vncserver restart

/etc/init.d/vncserver restart

두가지 모두 결과는 같다.

만약  VNCSERVER 를 전체적으로 중단하고 싶다면 맨 뒤쪽의 restart 대신에 stop 을 넣고
시작을 원하면 start 를 넣으면 된다.

만약 특정 유저들 중에서 하나만 중지하고자 할 때에는
그 유저로 로그인 한뒤에 display 번호까지 지정해서 KILL 하면 된다.
vncserver -kill :3


6. 원격PC(윈도우) 에서 vncviewer 를 설치해서 접속
VNCVIEWER 프로그램은 프리웨어로 윈도우PC 에 설치해서 접속이 가능하다.

REALVNC 를 사용하든지 TightVNC 를 사용하든지 마찬가지 이다.
어느것을 선택해도 좋다.

아래와 같이 입력해서 접속한다.
이때 아이피의 뒤에 적어주는 것은 위의 4번 과정에서 설정했던 포트번호이다.
다른 포트번호도 설정했다면 해당 포트번호를 적어주면 설정한 유저로 접속되는 것을 확인할 수 있을 것이다.

XXX.XXX.XXX.XXX:1


참고로 display 번호가 바로 내가 말한 포트번호이다.
VNC서버는 TCP포트를  5900 부터 시작하는데 display 번호가 1 이면 5901 포트를 사용해서 리눅스는 LISTEN 상태로 대기하고 있게 된다.

이것은 CentOS 터미널 상에서 netstat -na | grep 590* 을 쳐보면 LISTEN 상태인 것을 직접 확인할 수 있다.

** 추가 : VNC 서버 접속시 해상도 조절이 되지 않을 때.

추가적으로 VNC 의 해상도 조절이 잘 안되는 경우에는 /etc/init.d/vncserver 라는 스크립트를 직접 수정해서
VNC서버 실행되는 조건을 직접 수정해 버리는 방법도 있다.

centos 기준으로 원래는 "${VNCSERVERARGS[${DISP}]}" 의 변수가 들어가 있는 부분을
아래처럼 -geometry 1280x800 로 바꿔버리니 VNC서버가 시작될 때 해상도를 아래 해상도로 지정해서 띄우게 됨.ㅋ
runuser -l ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver :${DISP} -geometry 1280x800"


2010. 5. 31. 11:07

텍스트 파일을 잘라보자. split

리눅스 명령어 중의 split 는 큰 용량의 텍스트 파일을 여러개로 분리하는 명령어이다.

[si@localhost test]$ split --help
사용법: split [<옵션>] [<입력> [<접두어>]]
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default
size is 1000 lines, and default PREFIX is `x'.  With no INPUT, or when INPUT
is -, read standard input.

긴 옵션에서 꼭 필요한 인수는 짧은 옵션에도 꼭 필요합니다.
  -a, --suffix-length=N   use suffixes of length N (default 2)
  -b, --bytes=SIZE        put SIZE bytes per output file
  -C, --line-bytes=SIZE   put at most SIZE bytes of lines per output file
  -d, --numeric-suffixes  use numeric suffixes instead of alphabetic
  -l, --lines=NUMBER      put NUMBER lines per output file
      --verbose           진단 내용을 각 출력 파일을 열기 직전에 표준 오류로
                            출력합니다
      --help     이 도움말을 표시하고 끝냅니다
      --version  버전 정보를 출력하고 끝냅니다

<크기>에 접미어로 그 단위를 나타낼 수 있습니다; b는 512, k는 1킬로, m은 1메가입니다.

<bug-coreutils@gnu.org>(으)로 버그를 알려 주십시오.

기억해야 되는 옵션은 -l  옵션이다. 이것은 텍스트 파일을 라인 단위로 자르는 것이다.

 split -l test.txt 라고 넣으면 기본 1000 라인씩 잘라서 파일을 생성하는데 
생성되는 파일의 이름은 순차적으로 xaa, xab ~ 이런식으로 생성된다.

[si@localhost test]$ split -l 10 test.txt
[si@localhost test]$ ls -l
합계 12
-rw-rw-r-- 1 si si 28  5월 31 10:34 test.txt
-rw-rw-r-- 1 si si 21  5월 31 10:35 xaa
-rw-rw-r-- 1 si si  7  5월 31 10:35 xab
[si@localhost test]$ cat xaa
1
2
3
4
5
6
7
8
9
10
[si@localhost test]$ cat xab
11
12

만약 용량단위로 자르고 싶다면 -b 옵션을 이용하자

split -b 10K test.txt 라고 넣으면 10K ( 10240 ) 만큼씩 잘라지게 된다.

2010. 4. 19. 15:27

리눅스 시스템의 부팅시 파일무결성 체크 강제로 하기

리눅스 서버를 강제로 전원버튼을 눌러서 셧다운 시킨후
다시 부팅시키거나 할 때에는

리눅스 부팅시 파일 무결성 체크를 할 것인지 물어보게 되어 있습니다.

위의 경우처럼 강제로 서버를 리부팅했을때에는 root 디렉토리 밑에
(1) 숨김파일로 .autofsck 라는 파일 생성되고 이것은 다음 부팅시에 아래의 메시를 보이면서 5초안에 Y 를 누르면 파일 무결성 체크를 진행하게 됩니다.
-rw-r--r--    1 root root          0 Apr  1 17:33 .autofsck

Press Y within 3 seconds to force file system integrity check
(2) 또는 강제로 root 디렉토리 밑에 forcefsck 라는 파일을 만들어두면 다음 부팅시에 자동으로 파일무결성 체크를 진행하게 됩니다.
[root@localhost /]# cd /
[root@localhost /]# ls -l f*
-rw-r--r-- 1 root root 0  4월 19 15:17 forcefsck

reboot 명령어를 했을 때 다음 부팅시 강제체크한다는 메시지를 볼 수 있을 겁니다.


여기서 팁은 강제로 파일 무결성을 체크하도록 하는 것입니다.
실제로 리눅스가 부팅되는 과정에서 /etc/rc.d 밑의 rc.sysinit 파일이 수행되게 되는데
이 스크립트 안에 관련된 내용이 있습니다.
이것을 수정해야 하고 /forcefsck 파일을 touch /forcefsck 명령어로 파일만 생성시켜 주면됩니다.

[root@localhost rc.d]# cd /etc/rc.d
[root@localhost rc.d]# ls -l rc.sy*
-rwxr-xr-x 1 root root 27420  3월  6  2009 rc.sysinit

서버가 리부팅되고 나서는 rc.sysinit 스크립트안에 /.autofsck 와 /forcefsck 파일 두개를 지우는 내용이 포함되어 있으므로, 서버가 리부팅될때마다 무조건 체크하기 위해서는 /forcefsck 파일을 지우는 부분을 rc.sysinit 스크립트안에서 지워줘야 합니다.

/etc/rc.sysinit 파일 내용중

# Clean out /.
rm -f /fastboot /fsckoptions /forcefsck /.autofsck /forcequotacheck /halt \
        /poweroff &> /dev/null

위 부분을 아래와 같이 수정

# Clean out /.
rm -f /fastboot /fsckoptions /.autofsck /forcequotacheck /halt \
        /poweroff &> /dev/null

이렇게 되면 다음 리눅스 서버가 부팅 될 때마다 무조건 파일무결성 체크를 진행하게 됩니다. ^^

※ 참고적으로 fsck 라는 명령어는 파일시스템을 unmount 한 상태에서 진행해야 됩니다. !!
만약 마운트 되어 있는 상태의 파티션에다가 fsck (파일시스템체크) 명령어를 내리게 되면
그 파티션은 날라갑니다 !! 정말 주의 해야 합니다.





2010. 3. 30. 14:33

리눅스 dmesg 를 통한 eth 포트의 down / up 구분

리눅스 dmesg 를 통해서
서버에 연결된 랜포트들을 구분할 수 있다.

서버쪽의 랜포트를 뽑고 나면 eth 포트의 링크가 down 된게 되고
이것은 리눅스 서버에서 dmesg | grep eth 명령으로
맨 아래쪽에 업데이트가 된다.

즉 랜포트를 뽑고 서버에서 dmesg | grep eth 명령으로 확인하면
아래쪽에 링크 UP 과 DOWN 을 확인할 수 있다.

[root@mbuIVR1:~ ] dmesg | grep eth
divert: not allocating divert_blk for non-ethernet device lo
divert: allocating divert_blk for eth0
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
divert: allocating divert_blk for eth1
e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection
divert: allocating divert_blk for eth2
e1000: eth2: e1000_probe: Intel(R) PRO/1000 Network Connection
divert: allocating divert_blk for eth3
e1000: eth3: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000: eth0: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex
e1000: eth0: e1000_watchdog_task: NIC Link is Down
e1000: eth0: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex
e1000: eth1: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex
e1000: eth1: e1000_watchdog_task: NIC Link is Down
e1000: eth1: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex
e1000: eth2: e1000_watchdog_task: NIC Link is Up 100 Mbps Half Duplex
e1000: eth2: e1000_watchdog_task: NIC Link is Down
e1000: eth2: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
e1000: eth3: e1000_watchdog_task: NIC Link is Up 100 Mbps Half Duplex
e1000: eth3: e1000_watchdog_task: NIC Link is Down
e1000: eth3: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
divert: not allocating divert_blk for non-ethernet device sit0
eth2: no IPv6 routers present
eth3: no IPv6 routers present
eth1: no IPv6 routers present
eth0: no IPv6 routers present
e1000: eth2: e1000_watchdog_task: NIC Link is Down
eth2: no IPv6 routers present
e1000: eth2: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
e1000: eth2: e1000_watchdog_task: NIC Link is Down
eth2: no IPv6 routers present
e1000: eth2: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
e1000: eth2: e1000_watchdog_task: NIC Link is Down
e1000: eth0: e1000_watchdog_task: NIC Link is Down
e1000: eth2: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
eth2: no IPv6 routers present
eth0: no IPv6 routers present
e1000: eth1: e1000_watchdog_task: NIC Link is Down
e1000: eth0: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex
eth1: no IPv6 routers present
e1000: eth1: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex
e1000: eth3: e1000_watchdog_task: NIC Link is Down
eth3: no IPv6 routers present
e1000: eth3: e1000_watchdog_task: NIC Link is Up 100 Mbps Full Duplex
[root@mbuIVR1:~ ]

2009. 12. 23. 22:37

28. CentOS 에서 yum 수행시 repo 사이트 추가

CentOS 에서는 yum 이라는 명령어로 rpm 을 관리해준다.

연관성이 있는 rpm 들을 체크해서 같이 설치를 해주기 때문에
rpm 이 설치되고 나서 실행이 안되는 경우를 방지해준다.

수행 방법은 rpm 의 이름으로 yum 명령어를 치면 된다.

예를 들어 ethereal 을 설치할려고 한다면

리눅스 터미널상에서 다음과 같이 입력한다 .

yum -y install ethereal*

그러면 ethereal 로 시작하는 rpm 들을 연관성 체크해서 같이 설치를 진행하게 된다.

여기서 문제는 잘 사용하지 않거나 rpmforge 에 있는 rpm 들도 같이 yum 을 통해서 설치 가능하도록 하려면

repo  파일을 수정하거나 추가로 설치해야 한다.
아래는 기본적인 repo 의 정보가 들어있는 파일들이다.
[root@localhost yum.repos.d]# ls -l
total 20
-rw-r--r-- 1 root root 2389 Dec 23 22:29 CentOS-Base.repo
-rw-r--r-- 1 root root  626 Mar 17  2009 CentOS-Media.repo

CentOS wiki 사이트에서 자세한 방법을 설명하고 있으니 다음 링크 클릭해서 그대로 따라 하면 되겠다.

http://wiki.centos.org/AdditionalResources/Repositories/RPMForge

쉽게 CentOS 설치하고 나서 터미널에서 다음과 같이 치면 된다.
(1) yum install yum-priorities


(2) vi /etc/yum/pluginconf.d/priorities.conf
여기서

[main]
enabled=1
라고 되어 있는지 확인

(3) cd
/etc/yum.repos.d/

두개 파일에서 CentOS-Base.repo 과 CentOS-Media.repo 을 열어서 마지막 라인에

다음과 같이 추가

priority=1

(4) wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm

(5) rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

(6) rpm -K rpmforge-release-0.5.1-1.el5.rf.*.rpm

(7) yum check-update

하고 나서 테스트로 mplayer 를 한번 설치 전 단계까지 해본다.

yum install mplayer

그럼 중간에 설치할 것인지 말 것인지 [y/n] 를 물어보고 n 를 입력하면 설치 취소가 된다.


2009. 11. 24. 13:21

27. CentOS 에서의 한글 설정

일단 기본적으로 CentOS 를 설치하게 되면
기본 언어를 영어로 설정했다면 쉘 역시 영어로 설정이 된다.

이것을 아예 한글로 변경하거나 또는 로그인쉘에서만 따로 한글로 사용하도록 설정하는 방법이 있다.

1. 시스템 전체의 언어를 한글로 변경

root 로 로그인 이후  /etc/sysconfig/i18n 파일을 아래와 같이 수정한다.
만약을 위해 다른 이름으로 백업을 해둔다음에 진행하자.

[root@localhost ~]# more /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="en_US.UTF-8:en_US.en:ko_KR.UTF-8:ko_KR.eucKR:ko_KR:ko"


2. 로그인쉘 상에서의 특정 유저만 한글로 표현 ( 나머지 유저는 영어로 그대로 )

일단 그 유저의 특정유저로 로그인하고 나서 hidden file ( 숨김파일은 파일이름 앞에 점하나가 붙는다 ) 인
.bash_profile 안에 다음과 같은 라인을 추가시킨다.
( 숨김파일의 리스트를 보기 위해서는 ls -al 로 확인한다 )

그러면 그 유저로 로그인했을 때는 터미널 상에서 한글이 제대로 표현된다.
파일명이 한글인 경우 잘 표현되는지 확인하면 되겠다.

export LANG=ko_KR.eucKR


3. 파일질라 ( Filezilla ) 로 접속시 한글이 보이지 않거나 깨지는 현상

사이트관리자에서 <문자셋> 탭에서
<사용자정의문자셋 사용>을 클릭하고
아래 칸에 CP949 로 설정을 하고 다시 접속하면 한글이 잘 보이게 된다.

참고 : 파일질라 다운받는 곳은 www.filezilla-project.org
2009. 11. 23. 00:17

26. ethtool 사용하기 spped 와 duplex 변경


ethtool 을 사용해서 네트워크 포트의 speed duplex autonego 를 조정할 수 있다.

[root@localhost ~]# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: No
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: no

[root@localhost ~]# ethtool -s eth1 speed 10 duplex full autoneg on
[root@localhost ~]# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: no

여기서 ethtool 은 해당되는 네트워크 포트가 리눅스 커널에서 어떻게 인식되어서 동작하는지를 확인할 수 있다.

위의 방법은 임시로 적용이 된 것이고 OS가 리부팅되면 다시 초기화되어버리므로

아예 /etc/sysconfig/network-scripts 밑에 있는 ifcfg-eth0 파일에 아래 라인을 넣어줘서 

OS가 리부팅되도 계속 적용이 되도록 할 수 있다.



DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes

TYPE=Ethernet

ETHTOOL_OPTS="speed 100 duplex full autoneg off"


ETHTOOL_OPTS 의 안의 필드를 보면
speed 뒤의 숫자는 100 이면 100M 를 지정하고
1000 이면 1000M 즉 1G 를 정해준다.

네트워크 인터페이스 드라이버에 따라 저 옵션이 적용될 수도, 안 될 수도 있다.
그럴땐 mii-tool 이란 명령어로 되는지 확인 필요.

Duplex 값은 half 와 full 이 있는데 한국말로는 반이중 / 전이중 이런 어려운 용어가 있다.
하지만 Full 이 좋은 것은 당연지사.

마지막의 autoneg 는  auto-nego 를 스위치와 하지 않도록 off 한다는 의미이다.
보통 저렇게 리눅스 서버에서 자동협상 기능을 끈다면 스위치쪽에서도 동일한 speed 와 duplex 를 맞쳐서 사용하는 것이 정석이다.

저 서버에 연결된 상위의 스위치 ( 시스코이든 3COM 이든 ) 에서도 해당 포트에 static 으로 고정되게 speed 와 duplex 를 서버에 설정해준것과 동일하게 맞춰야 한다.


2009. 11. 5. 21:55

25. sort 명령어


sort 는 파일을 정렬하거나 중복을 제거 할 수도 있는 강력한 명령어이다.

1. sort  a.txt

2. sort -r a.txt
역순(오름차순) 으로 정렬

3. sort -k 2 a.txt
두번째 필드를 기준으로 내림차순으로 정렬

4. sort -u a.txt
내림차순으로 정렬하면서 중복된 라인을 제거

응용

5. sort -u -k 2 a.txt
두번째 필드 기준으로 내림차순 정렬하면서 중복라인 제거

6. sort -u -r -k 2 a.txt
두번째 필드 기준으로 오름차순 정렬하면서 중복라인 제거


2009. 9. 15. 14:57

24. tar 압축파일에 관해서


자 이젠 tar 파일을 보게 되는 순간 당황해하지 말고
단순히 (?) 압축파일이라고 생각하자.  윈도우에서 흔히 보던 zip 이라는 압축형식이 tar 로 달려졋을 뿐이다.

우선 tar 압축파일은 형식이 여러종류이며 그 때마다 푸는 방법도 달라져야 한다.
파일의 확장자를 우선 잘 보도록 하자

tar / tar.Z / tar.gz  등등 여러 파일이 있다.

구분을 해보면 tar 란 단순히 여러파일을 하나의 파일로 합치기만 했을 뿐이고,
그 외의 것들은 합친 하나의 tar 파일을  압축을 해놓은 것이다.
그런 파일들의 경우에는 우선 압축해제를 하고 나서 tar 를 풀어서 원래의 원본파일 여러개로 되돌리는 순서가 필요하다 .

예를 들어 tar 파일의 내용을 압축을 풀지 않고 보려면
tar -tvf TEST.tar

압축을 해제 하지 않고도 미리 tar 안의 어떤 파일들이 압축되어 있는지 확인이 가능하다.

첫번째로 tar 압축  그다음에 묶고 나서 풀어보자
만약 a.txt , b.txt, c.txt 라는 파일이 있다면
ls
a.txt  b.txt  c.txt
[bjh@localhost test2]$ tar cvf TEST.tar ./*.txt
./a.txt
./b.txt
./c.txt
[bjh@localhost test2]$ ls -ltr
합계 40
-rw-r--r-- 1 bjh users     3 12월  3 10:20 a.txt
-rw-r--r-- 1 bjh users     3 12월  3 10:21 b.txt
-rw-r--r-- 1 bjh users     4 12월  3 10:21 c.txt
-rw-r--r-- 1 bjh users 10240 12월  3 10:21 TEST.tar
[bjh@localhost test2]$ tar cvfz TEST.tar.gz ./*.txt
./a.txt
./b.txt
./c.txt
[bjh@localhost test2]$ ls -ltr
합계 48
-rw-r--r-- 1 bjh users     3 12월  3 10:20 a.txt
-rw-r--r-- 1 bjh users     3 12월  3 10:21 b.txt
-rw-r--r-- 1 bjh users     4 12월  3 10:21 c.txt
-rw-r--r-- 1 bjh users 10240 12월  3 10:21 TEST.tar
-rw-r--r-- 1 bjh users   161 12월  3 10:21 TEST.tar.gz


세개의 텍스트파일이 하나의 tar 파일로 묶어진 것을 볼 수 있다. 
( 압축이란 말은 잘 어울리지 않는다 ! 왜냐면 세개 파일의 크기를 더한 것이 tar 파일의 크기가 되기 때문에
실제로 압축이 일어난 것은 아니다. 그래서 묶는다란 표현을 난 더 좋아한다 )

그럼 압축을 해보도록 하자
압축하는 방식은 여러가지를 선택할 수 있다.
위에서 내렸던 명령어 중에 tar -cvfz  라는 명령어는 tar 로 우선 묶고 나서 gzip 으로 압축을 진행하는 것이다.

따로 따로 명령어를 두번 내려도 된다!
tar cvf TEST.tar ./*.txt
gzip TEST.tar

[root@localhost test4]# ls -l
total 0
-rw-r--r-- 1 root root 0 Dec 18 12:33 1.txt
-rw-r--r-- 1 root root 0 Dec 18 12:33 2.txt
-rw-r--r-- 1 root root 0 Dec 18 12:33 3.txt
[root@localhost test4]#
[root@localhost test4]# tar cvf TEST.tar ./*.txt
./1.txt
./2.txt
./3.txt
[root@localhost test4]#
[root@localhost test4]# ls -l
total 12
-rw-r--r-- 1 root root     0 Dec 18 12:33 1.txt
-rw-r--r-- 1 root root     0 Dec 18 12:33 2.txt
-rw-r--r-- 1 root root     0 Dec 18 12:33 3.txt
-rw-r--r-- 1 root root 10240 Dec 18 12:33 TEST.tar
[root@localhost test4]#
[root@localhost test4]# gzip TEST.tar
[root@localhost test4]#
[root@localhost test4]# ls -l
total 4
-rw-r--r-- 1 root root   0 Dec 18 12:33 1.txt
-rw-r--r-- 1 root root   0 Dec 18 12:33 2.txt
-rw-r--r-- 1 root root   0 Dec 18 12:33 3.txt
-rw-r--r-- 1 root root 142 Dec 18 12:33 TEST.tar.gz

위와 같이 tar 로 묶고 나서 gzip 으로 압축을 한 것을 볼 수 있다.
이렇게 압축된 것을 풀기 위해서는
tar xvf TEST.tar.gz 라고 입력한다.

[root@localhost test4]# tar -xvf TEST.tar.gz
./1.txt
./2.txt
./3.txt
[root@localhost test4]#
[root@localhost test4]# ls -l
total 4
-rw-r--r-- 1 root root   0 Dec 18 12:33 1.txt
-rw-r--r-- 1 root root   0 Dec 18 12:33 2.txt
-rw-r--r-- 1 root root   0 Dec 18 12:33 3.txt
-rw-r--r-- 1 root root 142 Dec 18 12:33 TEST.tar.gz



위에서 tar cvfz 라는 옵션을 사용해서 tar로 묶고 다시 gunzip 으로 압축을 한것이 TEST.tar.gz 파일이다.

파일 크기를 비교해보면 tar.gz 파일이 훨씬 작다는 것을 알 수 있다.


### 이미 존재하는 tar 파일에 추가로 파일을 넣기 
tar uvf test.tar ./A

test.tar 라는 파일에 추가로 A 라는 파일을 넣는 옵션은 -u  즉 update 옵션이다.



※ 유닉스에서 사용되는 tar.Z 파일 형식

아래는 유닉스에서 사용되는 압축으로 확장자 명은 tar.Z 파일이다.
이것은 tar 로 묶은뒤에 compress 라는 유틸을 사용해서 압축을 한 파일이다.
이것을 푸는 것은 유닉스에서 uncompress 라는 명령어로 풀수있다.

compress TEST.tar.Z TEST.tar


 
2009. 4. 23. 12:49

23. man 페이지 내용을 파일로 보자.

솔직히 수많은 man 페이지 내용을 일일이 읽어보지는 않으나
필요할때가 가끔 있어서 읽어야 하는데 막상 터미널 창에서는 읽기가 왠지 짜증이난다.

그럼 파일로 저장해보면 어떨가? 리다이렉트를 이용한다면 쉽지만
또 막상 해보면 많은 이상한 문자들이 나오게 되는 경우를 보게 된다.

man top > top.txt

그러면 이럴 땐 어떻게 해야 할까?

여러가지 meta 문자나 그런 것을 읽기 편하게 하도록 하기 위해선 다음과 같이 해야 한다.

man top | col -b > top.txt


col 이 무엇일까?
NAME
     col - 입력으로부터 줄 바꿈문자(line feed)를 바꾸는 필터

SYNOPSIS
     col [-bfx] [-l num]

DESCRIPTION
     Col 필터는 "\n\r" 문자를 "\n" 문자로 바꾸어 주는 필터이다.     또한 공백문자
     를 탭문자로 바꾸고, 백스페이스 문자를 없애는 기능을한다. 이 필터는
     nroff(1) 와 tbl(1) 출력물의 처리에 아주 유용하게 쓰인다.  (이 두 풀그림에
     의해서 만들어지는 대표적인 출력이 man의 cat 파일이다.  즉, cat 파일을 단
     순 텍스트 파일로 바꾸는데 아주 유용하게 쓰인다.)

     Col 필터는 표준 입력으로 받아서 표준 출력으로 보낸다. (즉, 파일로 저장하
     려면, 파이프와 방향전환이 필요하다.)

     여기서 사용되는 옵션은 다음과 같다:

     -b        어떠한 백스페이스 문자도 출력하지 않는다.  이것은 팩스페이스 문자
        와 연결되는 마지막 문자만 출력한다.

     -f        밑줄 속성을 가진 문자열을(Forward half line feed) 변환하지않는다.
        일반적으로 밑줄 속성을 가진 문자열들은 다음줄에서밑줄(-)이 나타난
        다.(그런데, 실질적으로 colcrt(1) 필터를사용하지 않고는 제대로 이
        기능이 나타나지 않더군요. - 옮긴이 말)

     -h        여러 공백문자를 탭문자로 바꾼다.

     -x        여러 공백문자들을 그대로 둔다.

     -lnum  메모리에 한번에 둘수 있는 최대 줄수를 num 줄로 한다.  초기값은 128
        줄이다.

     다음은 col 명령에서 변환대상이 되는 각종 문자들이다:

     ESC-7          reverse line feed (escape then 7)
     ESC-8          half reverse line feed (escape then 8)
     ESC-9          half forward line feed (escape then 9)
     backspace          moves back one column (8); ignored in the first column
     carriage return  (13)
     newline          forward line feed (10); also does carriage return
     shift in          shift to normal character set (15)
     shift out          shift to alternate character set (14)
     space          moves forward one column (32)
     tab          moves forward to next tab stop (9)
     vertical tab     reverse line feed (11)

     윗 문자들과 영문, 숫자, 글쇠판에 있는 각종 기호를 제외한나머지 문자들은
     모두 무시되어버린다.  (즉 한글은 완전 무시되어버린다. - 옮긴이 말)

관련 항목
     expand(1), nroff(1), tbl(1)

HISTORY
     col 명령은 Version 6 AT&T UNIX에서 처음 사용되었다.




2009. 1. 30. 14:08

22. lame : mp3 인코더

lame  은 wav 파일을 mp3 형식으로 인코딩 하는 프로그램이다.


리눅스 상에서 변경할 수 잇으며 윈도우 용으로도 이미 프로그램이 나와 있다.

리눅스 상에서는 우선  rpm 이 설치되어있는지 확인하고, 없다면  soureforge  에서 다운 받아 설치하면 된다.

사용법은 다음과 같다.

lame -h -b 128  original.wav original.mp3

여기서 옵션 값은 -h  : higher quality  로
-b : 비트레이트를 선택한다  비트레이트는 1초당 재생하는데 필요한 데이타의 크기를 정해준다.
      이 값을 작게하면  mp3 로 변환시에 좀 더 적은 용량으로 mp3 를 만들 수 있다.

자세한 다른 옵션 값이 궁금하다면 man 을 읽어보자!!

man lame


비트레이트에 대해 궁금하다면 다음의 링크 확인 .

http://k.daum.net/qna/openknowledge/view.html?qid=3Fgez&l_cid=


lame --help
LAME 32bits version 3.98.2 (http://www.mp3dev.org/)

usage: lame [options] <infile> [outfile]

    <infile> and/or <outfile> can be "-", which means stdin/stdout.

RECOMMENDED:
    lame -V2 input.wav output.mp3

OPTIONS:
    -b bitrate      set the bitrate, default 128 kbps
    -h              higher quality, but a little slower.  Recommended.
    -f              fast mode (lower quality)
    -V n            quality setting for VBR.  default n=4
                    0=high quality,bigger files. 9=smaller files
    --preset type   type must be "medium", "standard", "extreme", "insane",
                    or a value for an average desired bitrate and depending
                    on the value specified, appropriate quality settings will
                    be used.
                    "--preset help" gives more info on these

    --longhelp      full list of options

    --license       print License information



-b n   For MPEG1 (sampling frequencies of 32, 44.1 and 48 kHz)
              n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

              For MPEG2 (sampling frequencies of 16, 22.05 and 24 kHz)
              n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160

              Default is 128 for MPEG1 and 64 for MPEG2.



첨부파일은 CENTOS 에서의 lame 설치용 rpm 이다.
2009. 1. 21. 12:32

21. 부팅시 실행레벨설정 ( X-window 로 또는 터미널으로)


리눅스는 /etc/inittab 파일의 실행레벨 설정으로 처음 부팅할때

X-window GUI( Graphic User Interface) 환경으로 부팅할 것인지

Terminal CLI(Command Line Interface) 환경으로 부팅할 것인지 결정이 가능하다 .


[root@localhost ~]# more /etc/inittab
#
# inittab       This file describes how the INIT process should set up
#               the system in a certain run-level.
#
# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
#               Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:



여기에서 설치를 GUI 환경으로 햇다면 id : 5 라고 써 있을 것이고
이것을 3으로 고치면
CLI 환경으로 부팅이 가능하다 .


참고로 시스템 종료시에  shutdown -h now 라는 복잡한 명령보단

init 0

이라고 치면 된다. !! ㅋ

2009. 1. 20. 16:23

20 . SSH 터미널의 프롬프트에서 절대경로 표시법

리눅스의 기본 bash 프롬프트 상태는 [사용자@호스트이름 ~]# 의 형태를 가진다.

초보자가 아닌 사람에게는 괜찮을지 몰라도
초보자에게는 늘 경로를 보여주는 것으로 수정을 해도 좋을 듯 하다 .

[root@localhost ~]# cd /home
[root@localhost ~]# pwd
/home

다음과 같이 하게 되면

[root@localhost ~]#SAVE=$PS1
[root@localhost ~]#PS1="[\u@\h \w]# "
[root@localhost ~]# cd /home/
[root@localhost /home]# ls

이렇게 절대 경로가 프롬프트 상에 띠워져 좀 더 자신의 경로를 확인하기 쉽게 된다.

물론 여기에 여러가지 넣는 것이 가능하다 .
아래를 참고

\a  ASCII 종소리문자 (07)
\d  "요일 달 날짜" 형식의 날짜표시 (예 "Tue May 26" )
\e  ASCII 의 escape 문자
\h  첫 번째 "." 까지의 hostname
\H  hostname
\n  새로운 줄 바꾸기
\r  carrage return
\s  쉘의 이름, $0 의 basename
\t   24-시간으로 현재 시각 HH:MM:SS 형식
\T   12-시간으로 현재시각  HH:MM:SS 형식
\@   12-t시간으로 현재 시각 , 오전 /오후 형식
\u     현재사용자의 username
\v    bash 의 버전
\V    base 의 배포, 버전 + 패치수준
\w   현재 작업 디렉토리
\W   현재 작업 디렉토리의 basename
\!    현재 명령어의 history 번호
\#   현재 명령어의 command 번호
\$   유효한 UID 가 0 이면 # 을 , 그렇지 않으면 $ 을 표시
\nnn   8진수 nnn 에 해당하는 문자
\\     backslash
\[      터미널조정 sequence 를 프롬프트에 끼워넣기 위해 사용될수 있는 non-printing 문자의 시작
\]      non-printing 문자의 끝

2008. 11. 3. 16:49

19. 콘솔 모드에서의 해상도 조절


리눅스 박스의 부팅시에 보이는 여러 데몬의 실패 여부를 알아보기에는 기본 해상도 640x480 은 너무나 적고
금방 지나가 버린다.
따라서 다음과 같이 설정해준다.

grub.conf 에서

부팅되는 커널을 적어주는 가장 긴 줄에서 맨 마지막에 vga=791 이라고 추가해주고 저장한다

다음 부팅중간에 보이는 콘솔 화면의 해상도가 1024x768 로 변경되어 보인다.

물론 CTL+ALT+F1 부터 F6 까지의 콘솔 모드의 해상도 역시 같이 변경되어진다.

 color

640 x 480 

 800 x 600

1024 x 768 

1280 x 1024 

256

0x301=769

0x303=771

0x305=773 

0x307=775

32k

0x310=784

0x313=787

0x316=790

0x319=793

64k

0x311=785

0x314=788

0x317=791

0x31A=794

16m

0x312=786

0x315=789

0x318=792

0x31B=795


이렇게 하고 저장하면 된다.

2008. 7. 3. 11:53

18. CentOS 에서 Xmanager 를 위한 설정하기

리눅스의 X 윈도우를 반드시 리눅스 시스템 앞에 앉아서 사용해야만 하는 불편을 덜어 주는 프로그램들이 있습니다. 쉽게 말하자면, 리눅스의 X 윈도우를 MS windows 운영체제에서도 사용할 수 있는 것이지요. 이처럼, 외부에서 X윈도우를 사용할 수 있도록 도와 주는 대표적인 프로그램은 허밍버드사에서 나온 Exceed(엑시드), 국내 업체인 넷사랑에서 나온 Xmanager 라는 프로그램이 있습니다.

[출처] Xmanager를 이용하여 리눅스 연결하기 |작성자 메저리그

실제로 CentOS 5 version 을 설치한 PC 로 의 설정을 해보도록 하자


우선 GDM 이라는 rpm 이 설치되어 있는지 확인

rpm -qa | grep gdm

GDM version 확인

gdm --version
GDM setup 을 실행
gdmsetup

나오는 창에서 보안(Security)탭에서
원격 관리자 로그인 허용 탭에 체크 Allow remote system administrator login
사용자 삽입 이미지


만약 활성화가 되어 있지 않다면 <원격> 탭에서 Style 부분에서 Same as local 을 선택해주면 선택할 수 있게 활성화가 된다.
사용자 삽입 이미지

원격으로 Xmanager 를 사용해서 접속해보자.


2008. 6. 16. 14:28

17.1 네트워크 개념 잡기 IP/NETMASK/DefaultGW/DNS

네트워크

흔히 말하는 네트워크주소 흔히들 IP 주소라고 하지요
과연 여러분이 사용하는 인터넷은 어떻게 구성이 되어 있을 까요?

가장 흔항 예를 들어 공유기를 설치해서 사용하고 있다고 합시다.

공유기는 두 종류의 포트를 가지고 있습니다.

WAN : 외부의 공인 아이피를 가지는 포트이죠 ( ISP 인터넷제공업체로부터 들어오는 라인을 여기에 연결)
LAN : 공유기 밑에 붙이는 컴퓨터들을 주로 연결합니다..

WAN 은 복잡하니까 간단히 LAN 을 예로 들어서 살펴봅니다.

공유기의 설정화면을 들어가보면 보통 다음과 같이 LAN 네트워크가 구성되어 있습니다.


공유기의 IP 주소 : 192.168.0.1
LAN 에 사용가능한 아이피 : 192.168.0.2 ~ 192.168.0.254
NETMASK : 255.255.255.0

공유기가 중요한게 아니라 LAN 밑의 컴퓨터 구성이 중요하겠죠

그럼 PC 1 이라 가정하고 아이피는 192.168.0.2 를 가지도록 설정해서 설명하죠

아이피 : 192.168.0.2
서브넷마스크 : 255.255.255.0
디폴트게이트웨이 : 192.168.0.1
DNS : 168.126.63.1


이렇게 고정아이피로 설정을 한 경우에 설명들어갑니다.

(1) 서브넷 마스크 란 ?  이건 머 커다란 네트워크를 조그만한 여러개의 작은 네트워크로 구분해서 사용하기 위해서 필요한 값이라고 생각하면 됩니다. 그러면 왜 커다란 네트워크 한개로 사용하지 굳이 작은 여러개로 나눠서 사용하느냐? 그건 바로 뒤에 설명할 브로드캐스팅 이나 아니면 상업적 용도로 나눠서 팔기 위해서 입니다.

(2) 브로드캐스팅 이란 ? 브로드캐스팅은 하나의 네트워크 망 안에서 그 안에 연결된 모든 PC 에게 메세지를 뿌리는 것이라고 간단히 생각할 수 있습니다. 예를 들어 PC 의 이름이 test 라는 PC 를 찾고 싶다면 192.168.0.255 라는 브로드캐스팅 주소로 < test 란 PC 는 응답하라 !! > 라는 메세지를 네트워크 전체로 뿌리는 거죠.
즉 방송(broadcast) 한다고 생각 하심 쉬울 겁니다. 물론 test 가 아닌 다른 PC 들은 메세지를 무시하게 되고
정작 당사자인 test 라는 PC 는 이 메세지에 다시 반응해서 < 나(test)는 192.168.0.2 라는 아이피를 가지고 잇으니 이 아이피로 메세지를 보내라 !! > 라고 다시 응답하게 되죠 . 그 뒤로 아이피로 찾아가기 때문에 브로드캐스팅은 사용하지 않지요

앞에서 서브넷을 나누지 않고 사용하는 커다란 네트워크가 있따고 가정하면
이것은 브로드캐스팅 메세지들이 차지하는 대역폭 때문에 실제로 데이터가 왔다갔다 하는 메세지들이 가지를 못하는 상황이 벌어질 수도 있는 것이죠.

(3) 디폴트게이트웨이 란 ? 서브넷이 나눠져 있는 네트워크 이므로 다른 네트워크로 가기 위해서는
거쳐가는 관문이 필요합니다. 그게 바로 디폴트게이트웨이 라고 생각하시면 됩니다.
예를 들어서 지금 공유기 밑의 PC 에서 외부의 포탈 사이트로 웹접속을 하기 위해서는
다음의 순서로 패킷이 진행됩니다.
( 이런 것을 보시려면 CMD 창에서 tracert 라는 명령어로 확인이 가능합니다 )

- pc 의 주소 : 192.168.0.2
- 공유기의 주소 : 192.168.0.1
- 중간의 네트워크 망들의 라우터 ( 여러개를 거치게 됩니다 )
- 최종목적지 : 포탈의 웹서버

그러면 LAN 밑의 PC 입장에서는 공유기의 아이피주소가 바로 디폴트게이트웨이가 되는 것이죠.

(4) DNS 란 ? 간단히 말해서 도메인네임서버의 준말이고 이것은 영문(또는한글)주소를 아이피주소로 바꿔서 PC에 알려주는 역할을 합니다.

익스플로러 주소창에 www.tistory.com 를 주소창에 쓰고 엔터를 눌렀을때
컴퓨터는 이것이 어느 아이피로 가야 할지 모릅니다. 그래서 DNS (도메인네임서버) 에 물어보죠.
< 이런 주소는 어느 아이피로 가야하느냐?  >
그럼 DNS 가 바로 응답을 보내주죠
< 아이피는 xxx.xxx.xxx.xxx 이다 >
그러면 PC 는 영어가 아닌 숫자로 된 아이피 주소로 접속을 하게 되고
포탈의 웹서버가 웹페이지를 띄워줘서 여러분이 볼 수 있게 됩니다.

DNS는 공유기 주소로 하거나 아니면 KT 또는 하나로 등등에서 제공하는 DNS 주소를 적어주셔도 무방합니다.


머 간략한 설명이므로 이해 안가면 책을 보세요 .ㅋㅋ




2008. 6. 16. 09:22

17. 명령어 모드에서 네트워크 설정 ifconfig 와 route

물록 GUI ( graphic user interface ) 에서 네트워크의 설정이 훨씬 쉽다.
마우스 클릭으로 하면 되니까.

하지만 원격 시스템의 경우 VNC 접속조차 되지 않으면 명령어로 해야 한다.
SSH 콘솔 상에서의 설정을 살펴보자

우선 기본적으로 다음의 위치에 ifcfg-eth0 과 ifcfg-eth1 을 살펴보도록 하자 .
랜이 1 개라면 eth0 파일만 존재한다 .

/etc/sysconfig/network-script/

윈도우의 ipconfig 와 비슷한 명령이 바로 ifconfig 이다 .

ifconfig 로는 단순히 모든 eth 디바이스의 아이피 정보를 확인할 수 있지만 ifconfig 명령어로 직접
아이피를 설정할 수 있다.
예를 들어 다음의 네트워크 정보를 가진 리눅스를 ifconfig 명령어와 route 명령어로 설정하자

ip address : 192.168.0.150
subnet mask : 255.255.255.0
default gateway : 192.168.0.1
broadcast : 192.168.0.255

ifconfig eth0 192.168.0.150 netmask 255.255.255.0 broadcast 192.168.0.255 up
route add default gw 192.168.0.1 dev eth0

위에서 첫번재 줄은 아이피와 서브넷을 설정한 것이고
아래 route 명령어는 디폴트GW 를 설정한 것이다 .


2008. 5. 22. 16:49

15. 삼바서버 설정하기 ( 초간단)

REDHAT 기준으로 설명

일단 X-window 의 메뉴에서 System Settings >> Server Settings >> Samba
사용자 삽입 이미지

나타나는 화면에서

Add 를 눌러 디렉토리를 설정

Edit Samba Share 의 Access 탭에서 Allow access to everyone 선택

다시 Samba Server Configuration 에서
Perferences 를 눌러 나타나는 Server Settings 에서

(1) Base 탭에서
Workgroup 란에 WORKGROUP ( 이것은 보통 윈도우의 디폴트 값과 같이 설정하기 위해 )
(2) Security 탭에서
Authentication Mode 를 User 로 설정
사용자 삽입 이미지

그런다음 사용하고자 하는 유저를 리눅스 유저에 추가

adduser test
<< test 라는 유저를 생성
passwd test
<< test 란 유저의 패스워드 설정

smbpasswd -a test
<< 삼바를 test 라는 유저가 사용하기 위한 패스워드 설정

그런 다음 service smb restart 하고

윈도우에서 \\서버의아이피
하면

아이디 패스워드를 물어보게 된다.

만약 접속자체가 안된다면 smb.conf 파일을 찾아서 ( /etc/samba/smb.conf )
거기의 hosts.allow 란에 자신의 네트워크 아이피 대역을 적어줌