| ||||||||||||
'ORACLE' 카테고리의 다른 글
Oracle Shared Server 튜닝 (0) | 2011.12.13 |
---|---|
쿼리문이 제대로 Index를 타는지 확인하는 방법 (0) | 2008.03.27 |
Oracle ERP에서 사용하는 DB관련 작업 (0) | 2007.10.22 |
Oracle Database 학습법 (0) | 2007.09.12 |
오라클 관계형 데이터베이스 소개 (0) | 2006.05.03 |
| ||||||||||||
Oracle Shared Server 튜닝 (0) | 2011.12.13 |
---|---|
쿼리문이 제대로 Index를 타는지 확인하는 방법 (0) | 2008.03.27 |
Oracle ERP에서 사용하는 DB관련 작업 (0) | 2007.10.22 |
Oracle Database 학습법 (0) | 2007.09.12 |
오라클 관계형 데이터베이스 소개 (0) | 2006.05.03 |
SVM(솔라리스 볼륨메니져) - 미러링 (0) | 2007.07.19 |
---|---|
x86/x64 플랫폼의 솔라리스10에서 점프스타트 사용하기 (0) | 2007.03.29 |
솔라리스 백업관련 (0) | 2006.10.09 |
시스템 디스크 교체 후 E3500 부팅 절차 (0) | 2006.08.07 |
Solaris의 무장화(Armoring Solaris) (0) | 2006.08.02 |
서버를 운영하다보면 불가피하게 HOSTNAME을 변경해야하는 경우가 있다.
win95/98/NT/2000의 경우에는 네트웍설정의 등록정보를 통해서 간단해 해결할 수 있지만, 리눅스의 경우에는 윈도우쪽 보다는 좀 까다로운 것이 사실이다.
먼저, HOSTNAME을 변경하는 방법은 다음과 같이 몇가지가 있다.
위의 3가지 방법중 방법1, 방법2는 각각 netcfg, setup파트에서 설명이 되어있으므로 해당파트에서 사용법을 확인하기 바라며, 여기에서는 방법3번으로 HOSTNAME을 변경하는 방법에 대해서 설명할 것이다.
어떤방법이 가장 올바른 방법이라는 것을 판단한다는 것은 매우 어리석은 것이라 생각되며, 단지 서버관리자로서 일을하다보면 유틸리티보다는 직접 명령어를 통해서 작업하는 경우가 많으며 가장 빠른 방법이라고 할 수 있다.
HOSTNAME 변경시에 수정해주어야하는 작업관 확인하는 명령어를 먼저 소개하고 넘어가겠다.
hostname이란 명령은 현재의 호스트명을 보여주느 명령어이며, 아래의 예는 현재의 호스트명을 보여준 것이다. |
호스트명을 변경하는 파일은 "IP Address변경하기"강좌편에서 말씀드린 바와같이 /etc/sysconfig/network에서 변경만 해주고 네트웍환경을 적용하는 스크립트(/etc/rc.d/init.d/network)를 재실행 해주면 끝이다. www.bsidc.co.kr이던 호스트명을 www.abcd.co.kr로 변경하였다. 그리고, /etc/HOSTNAME 파일을 열어서 또한 변경을 해주었는데, 이 파일은 굳이 변경할필요하가 없다. 왜냐하면, 리눅스가 부팅이 될 때에는 /etc/sysconfig/network 파일에서 HOSTNAME을 읽어와서 이 파일에 저장하기 때문이다. |
이제 변경된 HOSTNAME을 적용하기 위해서는 네트웍 재실행 스크립트(/etc/rc.d/init.d/network)를 restart 하든가, 아니면 아래의 예와 같이 시스템을 재부팅하면 된다. |
crontab 명령 (0) | 2007.02.15 |
---|---|
LINUX usb 인식해서 사용하기 (0) | 2007.02.10 |
아이피 변경 (0) | 2006.10.11 |
2개의 랜카드 묶어서 2배의 대역폭:Bonding (0) | 2006.10.11 |
원격접속시 한글이 깨질때 | centos (0) | 2006.10.10 |
서버를 운영하다보면 불가피하게 IP Address를 변경해야하는 경우가 있다.
네트웍의 확장이나 서버이전등으로 인하여 서버관리자라면 한번쯤은 IP를 변경했던 경험이 있을 것이다.
win95/98/NT/2000의 경우에는 네트웍설정의 등록정보를 통해서 간단해 해결할 수 있지만, 리눅스의 경우에는 윈도우쪽 보다는 좀 까다로운 것이 사실이다.
먼저, IP Address를 변경하는 방법은 다음과 같이 몇가지가 있다.
위의 4가지 방법중 방법1, 방법2, 방법3은 각각 netcfg, netconfig, setup파트에서 설명이 되어있으므로 해당파트에서 사용법을 확인하기 바라며, 여기에서는 방법4번으로 IP Address를 변경하는 방법에 대해서 설명할 것이다.
어떤방법이 가장 올바른 방법이라는 것을 판단한다는 것은 매우 어리석은 것이라 생각되며, 단지 서버관리자로서 일을하다보면 유틸리티보다는 직접 명령어를 통해서 작업하는 경우가 많으며 가장 빠른 방법이라고 할 수 있다.
필자또한 IP Address변경하는 작업뿐 아니라 거의 모든 작업을 직접 command를 수행하여 직접하고 있다.
작업에 들어가기전에 한가지 더 알아야하는 것이있다 .
IP Address 변경시에 수정해주어야하는 작업관 확인하는 명령어를 먼저 소개하고 넘어가겠다.
자, 그럼 서론은 이쯤에서 끝내고 명령어를 통한 수작업으로 IP Address를 변경하는 작업을 해보도록 하자.
먼저 아래예와 같이 ifconfig 명령어를 통하여 현재의 네트웍설정을 확인토록하자. 보는 바와같이 현재의 네트웍설정은 다음과 같다.
현재 IP Address를 211.220.193.158에서 211.220.193.149로 변경하려한다.
참고로 ifconfig 명령어와 함께 네트웍관련 설정을 확인할 때에 자주사용하는 명령어가 netstat이라는 명령어이다. netstat은 서버의 라우팅(routing)경로를 확인할 때에 자주 사용된다. 참고로 알아두면 좋을 것이며, 자세한 설명은 수퍼유저코리아의 해당파트를 참조바란다. |
현재의 IP Address를 수정하였으므로 이제 본격적으로 IP Address를 변경토록 해보자. 먼저, 앞서 설명드린 바와 같이 /etc/sysconfig/network 파일을 열어서 수정하도록 한다.
수정할 때에는 주로 vi 명령어로 해당파일(/etc/sysconfig/network)을 열어서 확인한다. /etc/sysconfig/network 파일에는 위의 예를 보는 바와 같이 다음과 같은 설정을 할 수 있다.
여기서는 동일네트웍에서 IP Address만 변경하는 경우이므로 /etc/sysconfig/network 파일에서 변경할 것은 없다. 하지만, 만약 서버이전등으로 인해 네트웍자체가 변경될 경우에는 GATEWAY정보도 수정해 줘야한다. 또한 서버용도변경등으로 인한 호스트네임이 변경될 경우에도 이 파일의 HOSTNAME을 수정해 줘야한다. |
다음으로 변경해줘야하는 것은 해당 ethernet interface의 장치파일이다 . 이들 ethernet inferface 장치파일들이 존재하는 위치는 /etc/sysconfig/network-scripts/ 디렉토리이며, 이 디렉토리내에서 변경코자하는 ethernet에 해당하는 장치파일을 수정해주면 된다.
앞에서 살펴본대로 현재 IP Address의 변경예로든 리눅스서버는 한 개의 ethernet을 가지고 있으며 당연히 장치명이 eth0가 된다. 따라서 여기서 변경해줘야하는 파일또한 ifcfg-eth0가 된다. 이제 이 파일을 열어서 수정해준후에 뒤에서 설명될 /etc/rc.d/init.d/network restart를 해주거나 시스템을 리부팅하면 된다.
아래의 예는 직접 ifcfg-eth0 파일을 열어서 수정해준 예이다. 자세히 살펴보면 IP Address가 211.220.193.158에서 211.220.193.149로 변경해둔 것을 볼 수 있다. 앞서 설명드린 바와같이 만약 서버이전드으로 인해 네트웍전체가 변경될 경우에는 BROADCAST, NETWORK, NETMASK등이 변경될 수 있으므로 유의하기 바란다. 어쨌든 현재 예로든 경우는 동일 네트웍에서 IP Address만 변경되는 경우이므로 단지 호스트(서버)의 IP Address만을 변경하면 그뿐이다. |
자, 이제 변경된 네트웍설정을 적용하기 위해서 아래 예와 같이 "/etc/rc.d/init.d/network restart"를 수행하여 새로운 IP Address로 사용토록해보자. 이 방법이 싫은 분들이라면 다음과 같은 명령어로 시스템 자체를 리부팅해도 무방하다.
단지 시스템을 리부팅하기전에 "sync"를통해서 디스크동기화를 시켜주는 것이 안전할 것이다. 참고로, IP Address가 변경이 되면 현재 접속되거나 서비스되던 것들은 모두 중단이 된다는 것쯤은 상식으로 알고 있을 것이다. |
앞서 했던 방법대로 변경된 정보를 확인해보자. ifconfig 명령을 통해서 변경된 IP Address를 확인한 것이다. 변경되기 전에는 eth0의 IP Address가 211.220.193.158 이였던 것이 변경후에는 211.220.193.149가 되었음을 확인할 수 있다.
라우팅에 관한 정보는 변경하질 않았지만, 습관적으로 네트웍정보를 변경후에는 netstat을 통해서 라우팅정보를 확인하는 것이 좋다.
|
자, 이제 마지막으로 변경된 IP Address가 다른 네트웍으로 패킷을 잘 주고받는지를 테스트 해보도록 하자. 아래의 예는 먼저 gateway까지 네트웍이 되는가를 테스트 한후에 다른 네트웍에 IP Address가 아닌 도메인으로 ping 테스트를 한 것이다. 변경된 IP Address로 통신이 잘 이루어짐을 확인하였으므로 이 강좌를 마무리 한다. 관련 질문은 해당 게시판을 통해서 받을 것이며,,이만,.. ~~~ 꾸벅 ~~~
출처:슈퍼유저코리아 |
LINUX usb 인식해서 사용하기 (0) | 2007.02.10 |
---|---|
호스트네임 변경 (0) | 2006.10.11 |
2개의 랜카드 묶어서 2배의 대역폭:Bonding (0) | 2006.10.11 |
원격접속시 한글이 깨질때 | centos (0) | 2006.10.10 |
var/log/audit.d/ full 문제 (0) | 2006.10.09 |
IP aliasing이란 한개의 인터페이스에 두개 이상의 어드레스를 지정하는걸 말한다. 예를들어 eth0란 랜카드에 두개의 IP 어드레스를 지정하므로서 둘중 어느 어드레스로도 접근을 허용하는걸 말한다. 이때 두개의 주소가 같은 네트워크에 속하면 IP Aliasing이고 다른 네트워크에 속하면 Network Aliasing이다.
웹서버를 운영하는데는 꿰 많은 비용이 든다. 피시로 구축하더라도 하드웨어 비용만 약 500만원에 인터넷 전용선 사용료가 월 50-60만원 든다. 거기에 운영인력도 필요하다. 따라서 단순히 홈페이지만 구축하고자하면 ISP들이 제공하는 웹호스팅을 이용하면된다. 웹호스팅을 이용하면 월 몇만원 정도의 비용만 지불하면 홈페이지를 운영할수 있다.(제작비는 별도) 즉 ISP들이 자신의 호스트에 업체의 웹서버를 운영해주고 월 사용료를 받는걸 웹호스팅이라한다.
웹 호스팅을 할때 필요한게 바로 버츄얼웹 기법으로서 www.abc.co.kr 과 www.def.co.kr 두개의 홈페이지가 한대의 컴퓨터에서 운영되는걸 말한다. 두 홈페이지는 서로 독립적으로 구성되며 도메인네임도 다르므로 외부에서는 두 홈페이지가 같은 컴퓨터에 있다는걸 알수가 없다. (두개만 가능한게 아니라 다수가 가능하다)
버츄얼웹을 만들때 필요한게 network aliasing 또는 ip aliasing이다. 물론 여기에 서로 다른 도메인 네임에서 서로 다른 홈페이지가 뜨도록 해주는 웹서버 프로그램의 지원도 필요하다. Apache 웹서버 프로그램의 httpd.conf에보면 virtual web을 설정하는 부분이 있다.
아래가 그 예이다.
<VirtualHost kil.nungkul.co.kr> ServerAdmin nungkul7@nungkul.co.kr DocumentRoot /home/kil/web ServerName kil.nungkul.co.kr ErrorLog logs-kil/error_log TransferLog logs-kil/access_log </VirtualHost>
하나의 물리적 랜에 두개의 논리적 랜이 존재하는걸 버츄얼랜이라부른다. 즉 랜은 하나지만 네트웍 어드레스가 서로 다른 두 그룹의 컴퓨터들이 동시에 연결돼 있을 경우 두 컴퓨터 그룹은 별개의 랜을 이루고 있으므로 서로 독립한 네트웍으로 작동한다. 물론 라우터가 있거나 어느 한 컴퓨터에 랜카드가 두개 꼽혀 있어 두개의 랜을 연결해 주고 있다면 이는 두개의 물리적 랜이지 한개의 랜이 아니다.
예를들어 회사의 랜이 라우터를 통해 인터넷과 연결돼 있고 인터넷 어드레스가 203.234.216.XXX라고 하자. 이때 회사 랜에 연결된 리눅스 피시 어드레스를 192.168.1.1로 지정하면 회사 랜에 있는 다른 피시들은 네트웍어드레스(203.234.234.0)가 리눅스의 네트웍 어드레스(192.168.1.0)와 다르므로 리눅스로 login할수 없다. 만약 어느 피시가 리눅스로 login 하려면 그 피시의 주소를 192.168.1.X로 바꾸어야한다.
이 경우 회사의 물리적 랜 한개에 두개의 논리적 랜(203.234.216.0 과 192.168.1.0)이 존재한다. 이를 버츄얼 랜이라 부른다. 만약 이 랜에 연결된 리눅스에 두 그룹에 있는 피시가 모두 login할수 있도록 해주려면 이때 바로 IP aliasing을 리눅스의 랜카드에 적용하면 된다. 즉 리눅스 랜카드에 192.168.1.1 외에 203.234.216.1 어드레스를 IP aliasing을 이용해 부여하면 두 논리적 랜에 속한 모든 피시들은 리눅스에 login할수 있다.
이기법은 회사의 보안용으로도 응용이 가능하다. 즉 회사 내부랜 전용 호스트를 인터넷에서 접근이 불가능하게 만드는데 이 기법이 사용될수 있다.
192.168.1.0 네트웍 주소는 RFC(Request For Comment)에서 내부 랜 전용으로 할당한 주소이다. 따라서 라우터에는 이 주소를 외부로 라우팅하면 안된다.
아래는 본인의 리눅스 피시에 IP aliasing을 구현한 예이다. 이 피시에는 랜카드를 두개 꼽았고 두번째 랜카드(eth1)에 IP aliasing을 구현하였다.
eth0의 IP 주소는 192.168.1.1
eth1은 150.1.254.1
eth1:0은 150.1.254.254 이다.
여기서 eth1:0이 바로 IP aliasing으로 부여한 주소이다. 이 경우는 eth1에 부여한 두개의 주소가 같은 네트웍에 속하므로 network aliasing이 아니고 IP aliasing이다. 아래에 IP aliasing을 구현하기위한 ifconfig와 route 명령 예이다.
(본인은 debian을 사용하므로 /etc/init.d/network 파일임)
*. ifconfig 명령 전에 커널을 컴파일해서 network aliasing과 ip aliasing을 넣어야한다.
#! /bin/sh # localhost ifconfig lo 127.0.0.1 route add -net 127.0.0.0 # # ethernet 1 # IPADDR=150.1.254.1 NETMASK=255.255.0.0 NETWORK=150.1.0.0 BROADCAST=255.255.255.255 GATEWAY=150.1.1.1 ifconfig eth1 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST} route add -net ${NETWORK} route add default gw ${GATEWAY} metric 1 # # ethernet 0 # ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 route add -net 192.168.1.0 # # ethernet-1 ip alias # ifconfig eth1:0 150.1.254.254 netmask 255.255.0.0 broadcast 150.1.255.255 route add -host 150.1.254.254 dev eth1:0 #
아래는 이 명령으로 ip aliasing을 구현했을때의 ifconfig와 netstat -nr 명령 출력 결과이다
churlsu:~> ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 eth0 Link encap:10Mbps Ethernet HWaddr 00:60:8C:EC:78:1B inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 Interrupt:10 Base address:0x300 eth1 Link encap:10Mbps Ethernet HWaddr 00:A0:24:EA:95:B2 inet addr:150.1.254.1 Bcast:150.1.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:804 errors:0 dropped:0 overruns:0 TX packets:82 errors:0 dropped:0 overruns:0 Interrupt:5 Base address:0x210 eth1:0 Link encap:10Mbps Ethernet HWaddr 00:A0:24:EA:95:B2 inet addr:150.1.254.254 Bcast:150.1.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0 churlsu:~> netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 150.1.254.254 0.0.0.0 255.255.255.255 UH 1500 0 0 eth1:0 192.168.1.0 0.0.0.0 255.255.255.0 U 1500 0 0 eth0 150.1.0.0 0.0.0.0 255.255.0.0 U 1500 0 0 eth1 127.0.0.0 0.0.0.0 255.0.0.0 U 3584 0 0 lo 0.0.0.0 150.1.1.1 0.0.0.0 UG 1500 0 0 eth1 churlsu:~>
배철수<bae@www.linuxlab.co.kr>
리눅스 시스템 시간동기화 하기 ( rdate, ntp ) (0) | 2007.11.11 |
---|---|
아파치 +톰캣설정 (0) | 2006.04.26 |
리눅스 톰캣 아파치 설치 (0) | 2006.04.26 |
솔라리스5.6 에서 톰캣 5.0 설치 하기.. (0) | 2006.04.26 |
Tomcat이란 (0) | 2006.04.25 |
이번에는 랜카드 2개를 묶어 하나의 ip를 부여한 다음, 대역폭을 2배로 사용하는 방법에 대해서 강좌를 쓰겠습니다. 요즘 UTP케이블을 사용한 Giga(1000MB/Sec) 랜카드가 많이 나왔습니다. 테스트 결과 150M/Sec 의 성능정도밖에 내지 못했습니다. 그러나 본 강좌에서 사용되는 bonding는 대역폭의 2배 200M/Sec 가 나왔습니다. 물론 Giga bit 에 맞는 케이블을 사용하지 않았는지는 모르지만, 사용된 케이블은 카테고리 6 이였습니다. 현재는 스위치및 허브가 100M 이고, giga bit은 고가입니다. 많은 분들께 도움이 되었으면 좋겠다는 마음으로 이렇게 강좌를 써 내려갑니다.
1. Bonding 이란?
여러장의 이더넷 카드를 묶어 하나의 ip를 부여하여 그만큼 대역폭을 확보하는 방법 입니다. 물론 케이블 불량을 대비한 고장대비 방법이라고도 볼 수 있습니다.
2. 준비운동.
랜카드 2장 (난 100M 짜리 2장을 준비했습니다.. )
커널에서 : Network device support 에서 Bonding driver support 가 채크되어야 합니다..(RedHat은 기본)
3. /etc/sysconfig/network 파일
echo 'NETWORKING=yes
HOSTNAME=fileserver
GATEWAY=192.168.0.1
GATEDEV=bond0
'>/etc/sysconfig/network
위와같이 그대로 입력하면 설정이 바뀝니다. 물론. 중간에"HOSTNAME=호스트이름" 으로 변경하시기 바랍니다. 그리고 "GATEWAY=게이트웨이아이피" 로설정하시기 바랍니다.
4.bond0 설정
echo 'DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
' > /etc/sysconfig/network-scripts/bond0
이 부분은 서버의 ip를 셋팅합니다. "IPADDR=서버아이피"를 설정하시고, "NETWORK=네트웍아이피"를 설정하시기 바랍니다.
5. ifcfg-ethXX 설정
echo 'DEVICE=eth0
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
'> /etc/sysconfig/network-scripts/ifcfg-eth0
이 부분은 묶일 물리적 장치를 정합니다. eth0 는 첫번째 랜카드입니다. 위와같이 설정합니다.
echo 'DEVICE=eth1
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
'> /etc/sysconfig/network-scripts/ifcfg-eth1
eth1번 은 2번째 랜카드이며 위와같이 설정합니다.
강좌에서 사용된 이더넷카드는 2개 입니다. 하지만, 그 이상을 사용하시려면, 계속 추가 한 다음, eth2, eth3 계속 설정해 주면 끝납니다. 위와같이.
6. 모듈로 binding driver 을 올렸다면, eth0와 eth1 전에 모듈을 올려야 합니다..
alias bond0 bonding
alias eth0 8139too
alias eth1 8139too
커널 2.4.XX 에서
/etc/modules.conf
- 그런다음 insmod 로 모듈을 올려 준다.
insmod bonding
커널 2.6.XX
/etc/modprobe.conf
modprobe bonding
## 위와같이 모듈을 인식시켜 줍니다.
ifconfig eth0 up 0.0.0.0
ifconfig eth1 up 0.0.0.0
## 위 방법은 안될때 하는 방법입니다. (생략했을때 문제 생기면 하시기 바랍니다.)
ifenslave bond0 eth0
ifenslave bond0 eth1
위왁같은 명령으로 bond0에 eth0와 eth1을 슬레이브로 등록시킵니다.
7. network 스크립트 재 시작.(꼭 로컬에서 하시기 바랍니다.~~)
8. 삽질의 결론
1. 단점 :
- 같은 스위치에 꽂혀야 한다.
- 서버가 못따라 주면 생각만큼 성능이 나오지 않는다.
2. 장점 :
- 이론상 속도 2배 (또는 그 이상~~)
- 둘 중에 선 하나 뽑아두 통신 ~~ 잘한다. (리던던시 기능)
이렇게 강좌를 마칩니다. 물론 하나의 간단한 팁이며.. 알고계시면 많은 되리라 생각하고 강좌를 마무리합니다.
혹시 본 강좌에 개선점이 있으면 아래의 메일 주소로 메일 한통 부탁드립니다.
2005.10.28 : 전현규님의 개선사항으로 아래 내용 추가합니다.
혹시 부팅할 때 잘 올라오지 않는다면, 아래와 같이 수정해 보시기 바랍니다.
RedHat의 경우, /etc/init.d/network 파일에서,
# Bring up xDSL and CIPE interfaces 이 라인 바로 이전에,
echo "Bringing up eth0 and eth1..."
/etc/sysconfig/network-scripts/ifup eth0
/etc/sysconfig/network-scripts/ifup eth1
fi
호스트네임 변경 (0) | 2006.10.11 |
---|---|
아이피 변경 (0) | 2006.10.11 |
원격접속시 한글이 깨질때 | centos (0) | 2006.10.10 |
var/log/audit.d/ full 문제 (0) | 2006.10.09 |
리눅스 텔넷 설정 (0) | 2006.08.08 |
원격접속시 한글이 깨질때 | centos
#vi /etc/sysconfig/i18n
LANG="ko_KR.eucKR"
SUPPORTED="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
/*------------------------------man의 한글 깨짐 추가--------------------------------*/
#vi /etc/man.config
PAGER /usr/bin/less -iRs 의 옵션 중에서 대문자 R을 아래와 같이
PAGER /usr/bin/less -irs 로
소문자로 바꿔주면 된다. 두 옵션의 차이는 아래의 설명으로 대신한다.
-r or --raw-control-chars
Causes "raw" control characters to be displayed. The default is to dis-
play control characters using the caret notation; for example, a control-
A (octal 001) is displayed as "^A". Warning: when the -r option is used,
less cannot keep track of the actual appearance of the screen (since this
depends on how the screen responds to each type of control character).
Thus, various display problems may result, such as long lines being split
in the wrong place.
-R or --RAW-CONTROL-CHARS
Like -r, but tries to keep track of the screen appearance where possible.
This works only if the input consists of normal text and possibly some
ANSI "color" escape sequences, which are sequences of the form:
ESC [ ... m
where the "..." is zero or more characters other than "m". For the pur-
pose of keeping track of screen appearance, all control characters and
all ANSI color escape sequences are assumed to not move the cursor. You
can make less think that characters other than "m" can end ANSI color
escape sequences by setting the environment variable LESSANSIENDCHARS to
the list of characters which can end a color escape sequence.
아이피 변경 (0) | 2006.10.11 |
---|---|
2개의 랜카드 묶어서 2배의 대역폭:Bonding (0) | 2006.10.11 |
var/log/audit.d/ full 문제 (0) | 2006.10.09 |
리눅스 텔넷 설정 (0) | 2006.08.08 |
CentOS 한글 에러 수정 (0) | 2006.03.30 |
명령어 | cpio |
명령어 설명 |
아카이브 파일을 복사하여 입출력 |
사용법 |
cpio -o [acBvV] [-C bufsize] [-O file] [-M message] cpio -i [BcdmrtuvVfsSb6k][-C bufsize][-I file][-M message][pattern. ] cpio -p [ adlmuvV ] directory |
Functions:
cpio -o |
(복사출력)은 표준 입력으로부터 경로명의 목록을 읽어 들여 그파일을 경로명, 상태 정보와 함께 표준 출력으로 복사한다 |
cpio -i |
(복사입력) cpio -o의 결과를 표준 입력 으로 하여 pattens이 일치하는 파일만을 추출 한다 |
cpio -p |
(패스)는 표준 입력으로부터 경로명을 목록을 읽어 들여 지정한 directory에 조건부로 파일들을 생성하고 복사 |
Options:
-l
-a |
파일의 복사후 입력 파일의 최종 액세스 시각을 현재로 재설정 |
-B |
입출력은 5120바이트의 레코드로 블록화된다(이 항목이 지정되지 않은 경우는 512 bytes 를 사용한다.) |
-c |
ASCII문자로 파일의 헤더 정보를 작성한다 |
-C bufsize |
입출력은 bufsize바이트로 레코드를 블록화한다 |
-d |
디렉토리가 필요하면 자동적으로 생성한다 |
-f |
patterns과 일치하는 것을 제외한 모든 파일을 복사 |
-k |
파일의 헤더가 망가졌거나 입출력오류시 작업을 종료 하지 않고 다음 현재 파일은skip하고 다음 파일을 읽는다. ( -i 에서만 사용) |
가능하면 파일을 복사하지않고 링크 시킨다 (-p 에서만 사용) | |
-m |
파일의 최종 수정 시간을 현재 파일이 가지고 있는 시간을 그대로 유지한다. |
-M message |
백업 미디어 매체 교환이 필요할 때 사용자가 그 메시지 를 정의 하여 사용할 수 있도록 한다 |
-O file |
cpio의 출력을 file에 지정한다 (-o 에서만 사용) |
-r |
대화식으로 파일명을 변경 한다(-p 에서는 사용불가능) |
-b |
각 단어 내의 바이트 순서를 바꾼다(-i에서만 사용) |
-s |
각half word의 두바이트를 서로 교환한다(-i에서만 사용) |
-S |
각 word의 두half word를 서로교환한다(-i에서만 사용) |
-t |
입력파일 목록을 출력하고 파일은 생성하지 않는다 |
-u |
restore시에 기존의 디렉토리에 그파일이 존재하더라도 무조건 복사한다. 이 값을 설정하지 않으면 두개의 수정 날자를 비교하여 더최근의 파일을 보존한다. |
-v |
현재 작업이 진행되고 있는 파일 목록을 표준 출력으로 출력 한다 |
-V |
현재 작업이 진행되고 있는 각 파일을 한 개의'.'으로 출력 한다. |
Examples:
$ ls | cpio -ocv >/dev/rmt/0m
$ find . -print | cpio -ovcB >/dev/tape1
$ find . -print | cpio -ovcB -O /tmp/testcpio
$ find /home -print | cpio -ovc >/dev/tape1
$ find $HOME -name "*.c" -print | cpio -ov >/dev/fd0
cpio 에 파일 목록을 파이프에 전달하기 위해 ls cat echo find와 같은 명령들을 사용하고, 출력은 -I, -O 옵션 또는 쉘의 입출력 방향 변경기능인 > , <을 이용하여 일반 파일 또는 device special file로 지정할 수 있다.
$ cpio -ivmucdB </dev/rmt/0m
/dev/rmt/0m 장치에 저장되어 있는 cpio 아카이브 파일을 읽어 들여서 현재 디렉토리에 저장한다.
$ cat newfile | cpio -icd "/memo/al" "/memo/b*"
아카이브 파일 newfile의 내용을 입력 받아서 /memo/a1, /memo/b* 패턴과 일치하는 파일들을 현재 디렉토리에 저장한다. 서브디렉토리가 필요한 경우 생성하돌고 지시하였다.
$ find . -depth -print | cpio -pdlmv new_direc
현재 디렉토리에 있는 모든 파일 리스트를 cpio 의 입력으로 받아서 new_direc 디렉토리에 하드링크 하도록 한다. -m은 수정 시각을 그대로 유지 하게 하며, -d는 필요에 따라 새로운 디렉토리가 만들어진다. cpio시 경로명을 생성하기 위한 find명령의 -depth 옵션은 디렉토리에 쓰기 모드가 허용되어 있지 않은경우에도 디렉토리에 쓰기를 할수 있도록 하기위해 사용된다.
명령어 | tar |
명령어 설명 |
테이프 파일 아카이버(archiver) 파일을 자기테이프에 저장하며 그기능은 키문자인수(c,r,t,u,v)로 제어 할 수 있다. 출력 방향은 디폴트로 mt0로 지정되어있다. (/etc/default/tar 에 정의 되어 있다) |
사용법 |
tar c [ vwfb [ #s ] ] device block files.. tar r [ vwfb [ #s ] ] device block [files..] tar t [ vf [ #s ] device tar u [ vwb [ #s ] ] device block [ files ] tar x [ lmovwf [ #s ] ] device [ files.. ] |
키문자기능:
c |
생성. 테이프의 처음부터 기록한다. 이기능은 r의 기능을 포함 하고 있다. |
r |
대체. 지정된 파일을 테이프의 마지막부터 기록된다. |
t |
테이블. 지정된 파일이 테이프상에서 검출될 때마다 파일명 및 그밖의 정보가 리스트된다. 파일 인수를 지정하지 않으면 테이프에 기록된 모든 정보에 대해 리스트 된다. |
u |
갱신. 지정된 파일이 테이프에 없을 경우 추가하거나 그 테이프에 기록된 최후의 것으로 갱신하다 |
x |
추출. 지정된 파일을 테이프에서 읽어낸다. 지정된 파일이 디렉토리이고 내용이 테이프에 있는 경우, 이 디렉토리의 내용을 재귀적으로 모두 읽어낸다. |
Options:
v |
verbose. 보통 tar실행중에 아무런 메세지도 출력하지 않는 다. 이 항목을 사용하면 기능을 나타내는 문자와 처리한 파일명이 출력된다. t기능과 사용하면 명칭 뿐만 아니라 테이프 항목에 관한 정보도 출력된다. |
w |
확인. 준비된 처리와 파일명을 출력하고 사용자의 확인을 기다린다. y로 시작되는 글자를 입력하면 처리를 수행한다. |
f |
파일. 다음에 지정된 device인수를 디폴트 출력방향인 /dev/mt/0m 또는 /dev/mt0 대신에 지정한 아카이브명(디바 이스 명칭이나 화일명)으로 사용 한다. 지정한 파일명이 - 인 경우에는 표준 출력으로 출력하거나 표준 입력으로 부터 읽어 들인다. |
b |
블로킹계수. 지정된 block 인수를 테이프 레코드의 블로킹 계수로 사용한다. 디폴트는 1로 최대 20블록까지 지정할 수 있다. |
m |
수정을 기존의 파일이 가지고 있는 시간으로 유지하게 한다. |
o |
소유권. 읽어들인 파일의 사용자, 그룹ID가 테이프 상에 기록 되는것이 아니라 이 명령을 실행하고 있는 사용자의 것으로 변경한다. |
Examples:
$ tar cv /home/kys/src
tar가 지정하는 디폴트 장치로 /home/kys/src 디렉토리의 모든 화일과 디렉토리의 내용을 저장한다
$ tar cvf /dev/rmt/0m .
현재의 디렉토리의 모든 화일들을 /dev/rmt/0m 디바이스로 back-up
$ tar xvf /dev/rmt/0m
/dev/rmt/0m 디바이스로 부터 현재 디렉토리로 restore
$ tar tvf /dev/rmt/0m
/dev/rmt/0m 디바이스에 back-up된 내용을 display
$ tar uvf /dev/mt0 /home/src/file1
/home/src/file1을 /dev/mt0에 update한다
$ tar rvf /dev/mt0 /home/src/file1
/home/src/file1을 /dev/mt0에 append 한다
$ tar cvf /dev/mt0 `tar tvf /dev/mt0 | grep file1`
file1이라는 화일만 /dev/mt0로 부터 restore한다
명령어 | dd |
명령어 설명 |
화일의 변환과 복사 지정한 입력 화일을 적절한 변환을 거쳐 지정한 출력에 복사한다. 입출력 화일을 생략 하는 경우에는 표준 입,출력이 사용된다. |
사용법 |
dd [ options = value ].. |
Options:
if=file |
입력화일명 |
of=file |
출력화일명 |
ibs=n |
입력블록의 크기를 n bytes(default 512)로 지정 |
obs=n |
출력블록의 크기를 n bytes(default 512)로 지정 |
bs=n |
ibs와 obs를 모두취소하고 입력및 출력블록의 크기를 모두 n바이트로 한다 |
cbs=n |
변환을 위한 버퍼크기 지정 cbs는 conv=ascii또는 conv=ebcidic을 지정하는 경우에만 사용한다. |
skip=n |
복사시작전 n개의 입력블록을 무시 |
seek=n |
복사전에 출력화일의 선두로부터 n 블록 검색 |
count=n |
n개의 입력블록만 복사 |
conv=ascii |
EBCDIC을 ASCII로 변환ebcdic ASCII를 EBCDIC으로변환 |
ibm |
ASCII를 EBCDIC으로변환(표준방식과 다소다르게) |
lcase |
알파벳을 소문자로 변환 |
ucase |
알파벳을 대문자로 변환 |
swab |
두개의 바이트를 서로 교환 |
noerror |
오류가 발생해도 처리를 중지하지 않는다 |
sync |
각입력블록을ibs로 padding |
...,... | 쉼표로 구분한 복수개의 변환 |
Examples:
# dd if=sample of=/dev/rmt/0m
300+0 blocks in
300+0 blocks out
$ dd if=sample of=/dev/rmt/0m ibs=1024 obs=1024
150+0 blocks in
150+0 blocks out
$ dd if=/dev/rmt/0m of=rest_in cbs=1024 conv=ascii
300+0 blocks in
300+0 blocks out
디스크 통째로 복사 (OS 도 복사된다)
dd if=/dev/rdsk/c0t0d0s2 of=/dev/rdsk/c0t8d0s2
FC 타입 디스크는
/etc/path_to_inst 파일 수정해줘야 된다.
$ tar cvf - /home/kys/src/*.c | dd of=dd_file conv=lcase
/home/kys/src 디렉토리하의 .c로 끝나는 모든 화일을 tar 아카이브 화일호 생성하여 그결과를 파이프를 통해 dd의 입력으로 전달하고, dd 명령은 입력되는 모든 데이타를 소문자로 변환하여 dd_file로 출력한다.
x86/x64 플랫폼의 솔라리스10에서 점프스타트 사용하기 (0) | 2007.03.29 |
---|---|
솔라리스 dvd 파일합치기 (0) | 2006.11.01 |
시스템 디스크 교체 후 E3500 부팅 절차 (0) | 2006.08.07 |
Solaris의 무장화(Armoring Solaris) (0) | 2006.08.02 |
솔라리스 호스트네임변경 (0) | 2006.08.01 |
리눅스 시스템에는 LAUS(Linux Auditing-SubSystem)이 있어서 시스템에서 일어나는 변화를 로깅하는 감사시스템이 존재한다.
로깅 내용은 # aucat 이나 # augrep 으로 확인 할 수 있다.
이 로그는 디폴트로 /var/log/audit.d/ 아래에 bin.0~4 라는 파일에 기록되며 bin.0 부터 bin.4까지 다 쓰여지면 save.* 파일로 보관되고 bin.*을 rotating 해가며 쓰여지게 된다.
따라서 save.* 파일은 시스템에 계속 누적이 되어 결국 파일시스템을 full이 되게 만들어 시스템에 문제를 일으킬 수 있다.
이런 문제를 방지하기 위한 방법으로 LAUS를 아주 내려버리는 방법이 있고, 또는 save.*로 보관되는 것을 안하게 하는 방법이 있다.
물론 save.*파일을 주기적으로 삭제해주는 방법도 있겠지만 auditing 기능은 어느정도 필요 할 수 있으므로 후자를 택해 save.*로 보관되는 것을 막기로 한다.
방법은 아래와 같다.
1. /etc/audit/audit.conf의 내용을 다음과 같이 수정한다.
======================================================================
output {
mode = bin;
num-files = 4;
file-size = 20M;
file-name = "/var/log/audit.d/bin";
#notify = "/usr/sbin/audbin -S /var/log/audit.d/save.%u -C"; <--- 주석
notify = "/bin/true"; <--- 변경
======================================================================
위 커맨드를 실행하지 않고 그냥 true를 LAUS에 리턴하겠다는 의미 같음.
2. 재구동
# service audit restart
2개의 랜카드 묶어서 2배의 대역폭:Bonding (0) | 2006.10.11 |
---|---|
원격접속시 한글이 깨질때 | centos (0) | 2006.10.10 |
리눅스 텔넷 설정 (0) | 2006.08.08 |
CentOS 한글 에러 수정 (0) | 2006.03.30 |
[펌] / 화일 시스템이 full 되었을 경우 조치 방법 (0) | 2005.12.22 |
로그 파일의 추가, 삭제, 이름변경, 전체 삭제
SQL> select * from v$log;
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TI
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------
1 1 34 1048576 1 NO INACTIVE 548219 01/07/22
2 1 35 1048576 1 NO CURRENT 568268 01/07/23
3 1 33 1048576 1 NO INACTIVE 528171 01/07/19
3개의 로그 파일이 있다..
상태를 보면 나의 경우2번째가 CURRENT이다. 이는 현재 상용 중이라는 소리고, 나머지는 대기중이란 뜻이다.
로그파일의 추가는 리두 로그 그룹에 로그 파일 멤버를 추가할 때 각 멤버 파일명의 유사성을 유지하면서 생성하는 것이 일반적이다.
로그 파일 생성시 주의할 점은 각 로그 그룹은 모두 동일한 수의 멤버 파일의 가져야 한다는 것이다.
로그 파일의 추가 명령은 ALTER DATABASE이다.
SQL> ALTER DATABASE yasiDB
2 ADD LOGFILE MEMBER 'E:\ORACLE\ORADATA\YASIDB\REDO01_1' TO GROUP 1;
데이타베이스가 변경되었습니다.
SQL>ALTER DATABASE yasiDB
2 ADD LOGFILE MEMBER 'E:\ORACLE\ORADATA\YASIDB\REDO02_2' TO GROUP 2;
데이타베이스가 변경되었습니다
SQL>ALTER DATABASE yasiDB
2 ADD LOGFILE MEMBER 'E:\ORACLE\ORADATA\YASIDB\REDO03_3' TO GROUP 3;
데이타베이스가 변경되었습니다.
확인해보자..
SQL> select * from v$logfile;
GROUP# STATUS
---------- -------
MEMBER
--------------------------------------
1 STALE
E:\ORACLE\ORADATA\YASIDB\REDO03.LOG
2
E:\ORACLE\ORADATA\YASIDB\REDO02.LOG
3 STALE
E:\ORACLE\ORADATA\YASIDB\REDO01.LOG
1 INVALID
E:\ORACLE\ORADATA\YASIDB\REDO01_1
2 INVALID
E:\ORACLE\ORADATA\YASIDB\REDO02_2
3 INVALID
E:\ORACLE\ORADATA\YASIDB\REDO03_3
6 개의 행이 선택되었습니다.
로그 파일을 삭제 할때는
ALTER DATABASE database_name
DROP LOGFILE MEMBER ‘경로’ TO GROUP group_number;
을 한다…
로그파일의 삭제는 실제적인물리적 파일까지는 지워지지가 않는다. 다만 오라클에서 논리적으로 지우는 것이다. 완전히 삭제하려면 운영체제상에서 물리적인 파일을 지워줘야 한다.
로그파일 이름 바꾸기
ALTER DATABASE database_name
RENAME FILE ‘바꿀로그파일경로’ TO ‘바꿀경로와 이름’;
로그파일의 전체 삭제
ALTER DABASE database_name
DROP LOGFILES GROUP 3;
오라클과 NLS의 찰떡궁합 들여다보기 (0) | 2007.02.10 |
---|---|
Redhat Enterprise 4(RHEL4)에 occi환경 만들기 (Oracl.. (0) | 2006.11.25 |
XP에 설치된 원격지 오라클에 접속하면 "TNS-12535 TNS 작동이 중단입니다" (0) | 2006.07.06 |
아카이브 로그 관련정보 (0) | 2006.06.26 |
open_cursor의 개수를 보는 방법 (0) | 2006.06.09 |