Event ID 21016, 20070

SCOM 2013. 1. 14. 15:15

 

해결>

SCOM Console -> 관리 -> 관리 보류중 -> 대상서버 '승인'





 

Posted by no1ss
,

 . LISTENING : 서버에서 관련 서비스(데몬)이 서비스가 가능한 상태. 서비스 요청을 기다리고 있는 상태.
 . SYS_SENT : 클라이언트가 서버에게 SYN패킷을 보낸후 연결을 요청한 상태.
 . SYN_RECEIVED : 서버가 클라이언트의 SYN패킷으로 서비스 요청을 받은 후에 
    이에 대한 응답으로 SYN/ACK패킷을 보내고, 클라이언트에게 ACK패킷을 받기를 기다리는 상태.

 . ESTABLISHED : 서버와 클라이언트간의 3 way handshake(SYN->SYN/ACK->ACK)완료 후에 
    실제 데이터를 교환하고 있는 상태.

 . FIN_WAIT1, CLOSE_WAIT, FIN_WAIT2 : 연결종료를 위해 종료요청을 받은 후의 종료과정 상태.
 . CLOSING : 전송된 메시지가 유실된 상태.
 . TIME_WAIT : 연결종료 후 일정시간동안 유지하고 있는상태(일정시간 후 자동 종료됨)
 . CLOSED : 서버와 클라이언트간의 연결이 완전히 종료된 상태.


* 특정 포트 확인

> netstat -an | findstr 135


* 특정 포트를 사용하는 프로세스 찾기

> netstat -ano

Posted by no1ss
,

Linux Integration Services Version v3.3 for Hyper-V

http://www.microsoft.com/ko-kr/download/details.aspx?id=29991

Linux Integration Services Version v3.4 for Hyper-V

http://www.microsoft.com/ko-kr/download/details.aspx?id=34603


콘솔 모드에서

# mount /dev/cdrom /media

# cd /media

# ./install.sh


에러가 발생하면


# rpm -Uvh --nodeps kmod-microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm

# rpm -Uvh --nodeps microsoft-hyper-v-rhel63.3-4.20120605.x86_64.rpm


reboot


# vi /etc/sysconfig/network

NETWORKING=yes


# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=dhcp


# ifup eth0




출처 http://gubok.tistory.com/328

이렇게 생성된 guestOS 의 VHD 파일을 이용해서 제2, 제3의 가상서버를 만들고자 할때 CentOS5.x와 달리 6.x는 네트워크 설정이 제대로 되지 않는다. 이는 centOS 6.x 부터 달라진 부팅과정때문인데, 자세한 내용은 본인도 리눅스 전분가가 아니라서 잘 모르겠다.

다음의 관련 파일을 수정해 주어야 한다.

 

/etc/udev/rules.d/70-persistent-net.rules

 

이 파일을 열어보면 초기 부팅과정에서 찾게되는 네트워 이더넷카드에 대한 정보가 자동으로 세팅되는데, 이부분을 변경해주어야 한다. 기본적으로 eth0가 이미 있기 때문에 시스템은 eth1에 대한 부분으로 자동 생성하려한다. 하지만 eth1에 대한 부분으 없으므로 네트워크 설정이 되지 않는다.

혹시 두개의 이더넷 정보가 존재한다면 첫번째 정보는 삭제한다. 그리고 두번째 이더넷 정보를 eth1에서 eth0로 변경해준다.

 

위 파일중에 ATTR{address} 부분이 해당 가상서버의 실제 네트워크 카드의 맥어드레스를 나타낸다.

win2008 가상서버가 변경되었다면 이부분도 변경된 가상서버 맥 어드레스에 맞게 수정한다.

 

/etc/sysconfig/network-scripts/ifcfg-eth0 파일을 열어서 맥어드레스 부분은 지워준다.

 

저장하고 재부팅한다면 이후부터 네트웍이 잡힐것이다.


'Hyper-V' 카테고리의 다른 글

WIM2VHD for Windows 8 and Windows Server 2012  (1) 2013.06.04
Posted by no1ss
,

출처 http://www.lug.or.kr/docs/LINUX/others/01-05-4.htm

1) VG, PV, LV
VG(Volume Group)은 LVM의 가장 기본적인 요소이다. 쉽게 말하자면 가상 디스크라고 할 수 있는데, 하나 이상의 실제 물리적으로 존재하는 블록 디바이스가 모여서 VG를 이루게 된다.
그 물리적인 블록 디바이스를 PV(Physical Volume)라고 하는데, 거의 대부분의 장치를 PV로 쓸 수 있다. 하드디스크 및 그 파티션, 소프트웨어/하드웨어 RAID 장치, 심지어 Loopback 블록 디바이스(파일 시스템상의 파일을 블록 디바이스처럼 쓸 수 있게 해준다)까지도 말이다.
PV와 대비되는 것이 LV(Logical Volume)이다. 이것은 가상 파티션이라고도 할 수 있는데, VG를 적당히 나누어 할당한 것이 LV이다. 사용자는 LV를 일반 디스크나 파티션처럼 쓰면 된다.



2) PE와 LE
PE(Physical Extent)와 LE(Logical Extent)는 각각 물리적 할당단위와 논리적 할당단위를 뜻한다. 이 둘은 물리적인 위치나 크기는 같다.
그러므로 PE가 LV에 할당되면 LE가 된다라고 볼 수 있다.
VG를 나누어 LV로 할당할 때 LVM은 하드디스크의 섹터처럼 작은 단위로 하지 않고 적당한 크기의 PE로 하게 된다. 그 이유는 할당단위가 극히 작으면, 할당정보가 엄청나게 커지고, 그에따라 시스템의 성능도 느려질 것이다. 또한 할당할 수 있는 크기에도 한계가 생길 것이다. PE의 크기는 VG를 만들 때에 정해지는데, 그에 따라서 VG의 최대 크기가 정해진다. 하나의 VG에는 65536개까지 PE를 할당할 수 있고, PE의 크기는 최소 8KB에서 2배씩 늘어나 최대 512MB까지이다. 그러므로 VG의 최대 크기의 범위는 최소 512MB(8KB x 65536)에서 최대 32TB(512MB x 65536)일 것이다.

3) VG 만들기, 이름 바꾸기, 지우기
만들어진 PV들을 합쳐서 하나의 VG로 만드는 명령은 vgcreate이다.
아래는 그 예이다.

# vgcreate -s 16m new_vg /dev/sda /dev/sdb /dev/sdc
위의 명령은 세개의 SCSI 디스크를 합쳐서 new_vg라는 VG를 만든다는 것이다.
옵션 ‘-s 16m’은 PE의 크기를 16MB로 정하는 것인데, 만약 옵션 ‘-s’가 생략되면 기본적으로 PE의 크기는 4MB가 된다.  
VG가 만들어지면 /dev/VolumeGroupName라는 형식으로 디렉토리가 생기게 된다. 위의 예에서는 /dev/new_vg 가 될 것이다.

VG의 이름을 바꾸려면 vgrename 이라는 명령을 아래와 같이 쓰면 된다.
# vgrename new_vg vg00

VG에 LV가 남아있지 않고 비활성화되어 있으면 vgremove로 지울 수 있다. 비활성화시키는 방법은,
# vgchange -a n vg00

이고, 다음의 명령으로 지워진다.
# vgremove vg00

4)  VG 확장시키기, 축소시키기
VG의 확장과 촉소는 PV의 추가, 제거로 이루어진다.

VG에 PV를 추가하는 명령은 vgextend인데, vg00이라는 VG에 PV인 /dev/hda2를 추가하려면 다음과 같이 실행해야 한다.
# vgextend vg00 /dev/hda2

PV를 VG에서 제거하는 명령은 vgreduce이다. 그러나 PV에 PE가 할당되어 있으면 제거되지 않는다. 그 할당된 PE를 다른 PV로 옮겨야 제거될 것이다. 빈 PV인 /dev/hda2를 vg00에서 제거하려면,
# vgreduce vg00 /dev/hda2


4)  LV 만들기, 이름 바꾸기, 지우기

VG에 LV를 만들면 /dev/VolumeGroupName/LogicalVolumeName의 형식으로 블록 디바이스가 만들어진다. 이것은 일반 블록 디바이스와 다를 바 없는 용도로 쓸 수 있다.

LV 를 만드는 명령은 lvcreate인데 일반적인 예는 다음과 같다.
# lvcreate -L 4g -n data vg00

위의 명령은 4GB 크기로 vg00이라는 VG에 data라는 새로운 LV를 만드는 것이다. 옵션 ‘-L’은 LV의 크기를 지정하는 것인데, 숫자 뒤의 접미사에 따라 숫자의 단위가 달라진다. k는 KB, m은 MB, g는 GB, t는 TB를 뜻한다. 만약, 접미사가 안 붙어있으면 숫자의 단위는 MB가 된다. ‘-L’ 대신 ‘-l’를 쓸 수도 있는데, ‘-l’ 뒤에는 LE의 갯수를 쓰면 된다.

LV의 이름을 바꾸는 것은 아래의 명령처럼 간단하고,
# lvrename /dev/vg00/data /dev/vg00/db

지우는 것 또한 간단하다.
# lcremove /dev/vg00/db

5)  LV 확장시키기
LV를 확장시키는 명령은 lvextend 인데, 다음은 그 예이다.

# lvextend -L +2g /dev/vg00/db
위의 명령은 /dev/vg00/db의 크기를 2GB 만큼 늘린다. 기존의 크기가 4GB 였다면, 옵션 ‘-L 6g’를 줬어도 같은 결과를 보일 것이다. 역시 여기에서도 옵션 ‘-l’를 쓰면 LE 단위로 늘릴 수 있다.

LV의 크기가 커졌어도 파일 시스템에는 영향을 주지 않으므로 파일 시스템 고유의 툴을 이용하여 확장 해주어야 한다.
한 가지 주의해야 할 것은 이렇게 크기를 늘릴 때 순서를 뒤바꾸면 절대 안 된다는 것이다. LV 확장 다음에 파일 시스템의 확장이다.

다음은 파일 시스템 별 확장 방법이다.

* ext2 : ext2 파일 시스템의 크기를 바꿀 수 있는 명령으로는 resize2fs이 있는데, e2fsprogs 1.19버전 이상에는 기본적으로 포함되어 있다. 그 이하의 버전을 쓴다면 ext2resize라는 프로그램을 다음의 사이트에서 구할 수 있다.

http;//ext2resize.sourceforge.org

다음은 일반적인 ext2 의 확장 절차이다.

# umount /var/lib/mysql
# lvextend -L +10g /dev/databases/mysql
# resize2fs /dev/databases/mysql
# mount /dev/databases/mysql /var/lib/mysql

LVM tool에 포함되어있는 e2fsadm을 쓰면 LV 확장과 파일 시스템의 확장을 동시에 할 수 있다. 다음의 명령은,

# e2fsadm?L +10g /dev/databases/mysql

다음의 두 명령과 같다.

# lvextend -L +10g /dev/databases/mysql
# resize2fs /dev/databases/mysql

* reiserfs : reiserfs는 resize_reiserfs 라는 명령으로 크기를 바꿀 수 있다.

마운트된 상태에서도 크기를 늘릴 수 있는데, 그 예는 다음과 같다.

# lvextend -L +5g /dev/devel/cvs
# resize_reiserfs -f /dev/devel/cvs

언마운트해서 늘리려면 다음 같이 한다.

# umount /var/cvs
# lvextend -L +5g /dev/devel/cvs
# resize_reiserfs -f /dev/devel/cvs
# mount /dev/devel/cvs /var/cvs

6)  LV 축소시키기
lvreduce는 LV의 크기를 줄이는데, 늘릴 때와 마찬가지로 파일 시스템과 별개로 이루어지므로 데이터를 잃어버릴 수 있으니 상당히 조심해야 한다.

작업의 순서는 확장할 때와는 반대로, 파일 시스템의 축소 다음에 LV의 축소이다.

각 파일 시스템 별 축소 방법이다.

* ext2 : e2fsadm 을 쓰는 것이 간단하다.

# umount /home
# e2fsadm -L -2g /dev/vg00/home
# mount /dev/vg00/home /home

* reiserfs : 크기를 늘릴 때와는 달리 마운트 된 상태에서는 줄일 수 없다.

# umount /usr
# resize_reiserfs -s -1g /dev/vg00/usr
# lvreduce -L -1g /dev/vg00/usr
# mount /dev/vg00/usr /usr

7)  설정의 백업과 복구  

LVM Tool들은 기본적으로 몇몇을 제외하고 동작 전의 설정상태를 자동으로 백업해둔다.(절대 데이터의 백업이 아니다!) 그 백업파일들은 /etc/lvmconf 라는 디렉토리에 VolumeGroupName.conf{,.[0-9].old}라는 이름으로 만들어진다. 뒤에 번호가 붙어있지 않은 것은 현재의 설정 내용이고, 그 번호가 클수록 오래된 내용이다. 그러므로 바로 전의 설정 내용을 담고 있는 파일에는 이름 뒤에는 .1.old가 붙어있다.

먼저 설정 백업 파일의 내용을 보려면 다음과 같이 한다.

# vgcfgrestore -f /etc/lvmconf/vg00.conf.1.old -ll -n vg00

이 파일을 이용해 설정을 복구하려면 다음과 같이 한다.

# vgchange -a n vg00
# vgcfgrestore -f /etc/lvmconf/vg00.conf.1.old -n vg00
# vgchange -a y vg00

'리눅스' 카테고리의 다른 글

APM from source  (0) 2012.03.30
특정 폴더 또는 파일 제외하고 압축하기  (0) 2012.03.29
특정 폴더 또는 파일만 압축풀기  (0) 2012.03.29
리눅스 bonding 구성  (0) 2012.03.29
CentOS5 에 Oracle 10g 올리기  (0) 2012.03.29
Posted by no1ss
,

APM from source

리눅스 2012. 3. 30. 10:36

mysql-5.5.20
httpd-2.4.1
php-5.3.10

1. 설치전 준비사항
# rpm -qa httpd php mysql
httpd-2.2.3-43.el5.centos
# rpm -e --nodeps httpd-2.2.3-43.el5.centos

  1-1 컴파일 패키지 설치
# rpm -qa gcc* gcc-c++* cpp* compat-gcc* flex*
# yum -y install gcc gcc-c++ cpp compat-gcc-34-g77 flex

  1-2 라이브러리 설치
# rpm -qa libjpeg* libpng* freetype* gd-*
# yum -y install libjpeg libpng freetype gd
# yum -y install libjpeg-devel libpng-devel freetype-devel gd-devel
# yum -y install openssl openssl-devel
# yum -y install libtermcap-devel ncurses-devel libc-client-devel bzip2-devel libxml2-devel
# yum -y install bison

2.mysql
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEFAULT_CHARSET=utf8 -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306

필요한 라이브러리를 찾을수 없다며 중간에 실패하는 경우도 있다
그러면 해당 라이브러리를 설치해주자

"Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
Curses library not found.  Please install appropriate package,"
# yum install ncurses-devel
# rm -f  CMakeCache.txt   ( Equivalent to ” make clean “  )
# Again run the cmake command after fixing the curses error.

# make
# make install


# groupadd mysql
# useradd -g mysql -M -s /sbin/nologin mysql
# chown -R root /usr/local/mysql
# chown -R mysql.mysql /usr/local/mysql/data
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
# /usr/local/mysql/scripts/mysql_install_db --user=mysql

FATAL ERROR: Could not find ./bin/my_print_defaults

If you compiled from source, you need to run 'make install' to
copy the software into the correct location ready for operation.

If you are using a binary release, you must either be at the top
level of the extracted archive, or pass the --basedir option
pointing to that location.

# cd ..
# ./scripts/mysql_install_db --user=mysql

[root@centos_vm data]# /usr/local/mysql/bin/mysqladmin -u root password [password]
[root@centos_vm mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[root@centos_vm bin]# /usr/local/mysql/bin/mysql -u root -p
Enter password:

환경변수 등록
# vi .bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
# source .bash_profile

# /usr/local/mysql/support-files/mysql.server start
# /usr/local/mysql/support-files/mysql.server stop





*httpd
1. 선행작업
Apache Portable Runtime Project (http://apr.apache.org) 에 방문하여
apr, apr-util 을 다운로드 받는다
apr, apr-util을 apache httpd 2.4.1 의 srclib 디렉터리내에 apr, apr-util로 압축을 해제하고
'--with-included-apr' 옵션을 준다
그외 따로 컴파일 하려면 apr 과 apr-util을 따로 설치하고 Apache httpd 2.4.1 컴파일 설정시에 --with-apr=[apr:prefix] --with-apr-util=[apr-util:prefix] 를 옵션으로 넣어 컴파일한다.

2. 설치
# ./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-so --enable-rewrite --enable-ssl --with-included-apr --enable-mpms-shared=all
# make
# make install

3. 환경설정
 3-1 자동실행 설정
# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
# chkconfig --add httpd
httpd 서비스는 chkconfig 를 지원하지 않습니다

chkconfig를 사용하기 위해서 실행스크립트 파일에 아래 내용을 2번째 줄부터 추가해 준다
# vi /etc/init.d/httpd
# chkconfig: 2345 90 90
# description: init file for Apache server daemon
# processname: /usr/local/apache/bin/apachectl
# config: /usr/local/apache/conf/httpd.conf
# pidfile: /usr/local/apache/logs/httpd.pid
# chkconfig --add httpd

  3-2 환경설정
# vi /usr/local/apache/conf/httpd.conf
User , Group daemon 을 nobody 로 변경
User nobody
Group nobody

#ServerName www.example.com:80
   => ServerName 서버ip 혹은 도메인:80

CustomLog "logs/acces_log" common 을 찾아 아래줄처럼 수정(웹로그파일에 이미지에 관한 로그내역을 기록하지 않기 위한 설정이다)
SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1
CustomLog "logs/acces_log" common env=!IMAGE
 
  3-3 방화벽 열어주기
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT



*php
1. 설치
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-imap-ssl --disable-debug --with-iconv --with-gd --with-jpeg-dir --with-png-dir --with-libxml-dir --with-freetype-dir --with-zlib-dir --with-config-file-path=/usr/local/apache/conf --enable-safe-mode --enable-ftp --enable-sockets
# make; make install

--with-apxs2=/usr/local/apache/bin/apxs
공유된 apache 모듈을 함께 연동하기 위한 컴파일 옵션이다 php와 apache를 연동하기 위해 php 모듈을
DSO 방식으로 설정하기 위한 옵션이다
--with-config-file-path=/usr/local/apache/conf
php설정파일 php.ini 파일이 존재할 위치 지정

# cp php.ini-dist /usr/local/apache/conf/php.ini

# grep php /usr/local/apache/conf/httpd.conf
LoadModule php5_module        modules/libphp5.so
# ls -l /usr/local/apache/modules/libphp5.so
-rwxr-xr-x 1 root root 17178287  8월  4 18:19 /usr/local/apache/modules/libphp5.so

2. 환경설정
# vi /usr/local/apache/conf/httpd.conf
DirectoryIndex index.html index.html.var
 => DirectoryIndex index.html index.htm index.php

AddType application/x-gzip .gz .tgz 을 찾아 그 다음줄에 아래 두줄  내용 추가
AddType application/x-httpd-php .php .htm .html .inc .php4 .php3
AddType application/x-httpd-php-cource .phps

# vi /usr/local/apache/htdocs/phpinfo.php
<? phpinfo(); ?>
 
웹브라우저에서 확인한다
http://서버ip/phpinfo.php


"AddType application/x-httpd-php-source .phps
php 파일을 <? 로 시작하는것을 제대로 인식하도록 하는 설정
vi /usr/local/apache2/conf/php.ini
short_open_tag = On "

*ZendGuardLoader
# tar xvzf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
# cd php-5.3.x/
php-5.3.x]# ls
ZendGuardLoader.so

해당 파일을 php 확장모듈 디렉토리로 복사(어차피 절대경로 잡아줄것이기 때문에 자유롭게 복사하자)

php-5.3.x]# cp ZendGuardLoader.so /usr/local/apache/modules/

php-5.3.x]# vi /usr/local/apache/conf/php.ini
[Zend]
zend_extension=/usr/local/apache/modules/ZendGuardLoader.so

아파치 재시작

*실패
Failed loading /usr/local/php/modules/ZendGuardLoader.so:  /usr/local/php/modules/ZendGuardLoader.so: undefined symbol: compiler_globals
기존은 성공했는데 왜 loading fail 나는지 모르겠다
기존과 다른점은
centos 5.5 32bit 에서 64bit 로
httpd-2.2.22 에서 httpd-2.4.1 로 바뀌었다

구글링을 하다보니 원인을 알꺼 같다
1)에러시 Failed Loading /usr/local/php/modulues/ZendGuardLoader.so:  /usr/local/php/modulues/ZendGuardLoader.so: cannot open shared directory
 
2)에러시  /usr/local/php/modulues/ZendGuardLoader.so:undefined symbol: compiler_globals
 
1,2번 에러시에는 아파치가 worker 로 설치 되지 않았는지 살펴 본다..
아파치가 prefork로 설치 되어야만 zend 설치가 가능합니다.

그래서 확인해봤다

# ./apachectl -l
Compiled in modules:
  core.c
  mod_so.c
  http_core.c
worker 아니지 않은가.. ????
Posted by no1ss
,
출처  http://seroot.com/


명령어 사용방법은 --exclude 구문을 사용하고 그 뒤에 제외할 파일 확장자, 디렉토리 등을 열거하면 됩니다.
( --exclude /제외디렉토리 /압축디렉토리)


예1) 특정 확장자 (jpg) 를 가진 파일은 제외하고 tar 압축할때
       tar cvf backup.tar --exclude *.jpg /home/nplecom/public_html/

예2) 특정 다중 확장자 (jpg, gif, zip) 를 가진 파일은 제외하고 tar 압축할때
       tar cvf backup.tar --exclude *.jpg --exclude *.gif --exclude=*.zip /home/nplecom/public_html/

예3) 특정 디렉토리 (session) 은 제외하고 tar 압축할때
       tar cvf backup.tar --exclude session /home/nplecom/public_html/

'리눅스' 카테고리의 다른 글

LVM(Logical Volume Manager) on Linux  (0) 2012.04.12
APM from source  (0) 2012.03.30
특정 폴더 또는 파일만 압축풀기  (0) 2012.03.29
리눅스 bonding 구성  (0) 2012.03.29
CentOS5 에 Oracle 10g 올리기  (0) 2012.03.29
Posted by no1ss
,
출처 http://www.kunwi.co.kr/

 

이번에는 압축파일에서 특정 폴더만 압축 풀고 싶을 때 사용하는 기능입니다.
(특정 파일만도 가능합니다요)

우선 다음과 같은 명령어를 보시겠습니다.
tar tvf test.tar.gz

이렇게 치면 압축된 파일의 경로와 이름, 용량이 출력됩니다.

옵션 설명을 보자면 아래와 같습니다.

t : 묶여진 tar 파일의 내용물(List)을 출력합니다
v : 파일들을 묶거나 해체할 때 파일들의 이름과 크기를 표시합니다.
f : 사용할 tar 파일을 지정합니다.

자 저렇게 위와 같은 명령어를 치면 대략 예제로 아래와 같이 출력이 될 것입니다.

drwxr-xr-x root/root      0 2010-03-28 01:01:01 test/
-rw-r--r-- root/root    777 2010-03-28 02:02:02 test/test.php
-rw-r--r-- root/root    777 2010-03-28 02:02:02 test/test2.php
drwxr-xr-x root/root      0 2010-03-28 01:01:01 test2/
-rw-r--r-- root/root    777 2010-03-28 02:02:02 test2/test2.php

자 이제 경로가 나왔으니 특정 파일 푸는 법은 아래와 같이 해주시면 됩니다.

tar xvfzp test.tar.gz test2/test2.php

이렇게 하면 test2.php 파일만 압축이 풀리게 됩니다.

그리고 응용해서 아래와 같이 사용하는 방법도 있습니다.

tar xvfzp test.tar.gz ` tar tf test.tar.gz | grep "/test2/" `

이렇게 하면 경로에 '/test2/' 가 들어있는 경로 및 파일은 다 압축이 해제되어요~


음 그리고 만약 다른 디렉토리에 풀고 싶으시면 -C 옵션을 주시면 되구요

tar xvfzp test.tar.gz -C ./newfolder/

특정파일/디렉토리는 이상하게 -C 옵션 줘도 새로운 디렉토리로 압축이 풀리지는 않네요...ㅋ

'리눅스' 카테고리의 다른 글

APM from source  (0) 2012.03.30
특정 폴더 또는 파일 제외하고 압축하기  (0) 2012.03.29
리눅스 bonding 구성  (0) 2012.03.29
CentOS5 에 Oracle 10g 올리기  (0) 2012.03.29
vsftpd.conf 설정  (0) 2012.03.28
Posted by no1ss
,

리눅스 bonding 구성

리눅스 2012. 3. 29. 16:05

출처  http://celltwo.tistory.com/115


1. 본딩(bonding)이란?


여러개의 NIC을 논리적으로 묶어서 한개의 NIC으로 묶어서 NIC의 갯수 만큼 대역폭을 확장하는 기술이다. 100M의 NIC을 2개를 묶어서 200M의 NIC으로 구성 할 수도 있으며, 2개의 NIC을 한개의 NIC으로 묶어서 active와 stand by로 구성을 할 수도 있다.(Fault Tolerance의 역할을 한다)

아래에서는 뒤에 언급한 active와 stand by를 구성 할 것이다.
VMware에서 테스트를 하였으며, OS는 CentOS 5.5 i386 버전을 사용하였다.


2. 본딩을 하기 위해서 네트워크 환경을 변경한다.

[root@CentOS ~]#
[root@CentOS ~]# cd /etc/sysconfig/network-scripts/
[root@CentOS network-scripts]# vi ifcfg-bond0    
# ifcfg-bond0 파일은 생성해야 하며, 아래 값을 넣으면 된다.
DEVICE=bond0                                         
BOOTPROTO=none
IPADDR=192.168.133.130
NETMASK=255.255.255.0
ONBOOT=yes

USERCTL=no


[root@CentOS network-scripts]# vi ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
DHCP_HOSTNAME=CentOS

아래와 같이 변경한다.

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
USERCTL=no
MASTER=bond0                             
SLAVE=yes
BOOTPROTO=none

ONBOOT=yes
DHCP_HOSTNAME=CentOS



[root@CentOS network-scripts]# vi ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
DHCP_HOSTNAME=CentOS

아래와 같이 변경한다.

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
USERCTL=no
MASTER=bond0                           
SLAVE=yes
BOOTPROTO=none

ONBOOT=yes
DHCP_HOSTNAME=CentOS



[root@CentOS network-scripts]# cd /etc/sysconfig/
[root@CentOS sysconfig]# vi network  # 기존 내용에 GATEDEV 항목을 추가하여 호스트네임 및 게이트웨이 주소를 설정한다.
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=CentOS


아래와 같이 변경한다.

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=CentOS
GATEWAY=192.168.133.2
GATEDEV=bond0




3. 모듈을 구성한다.
 

  [Bonding 모드 종류]

     0 : balance-round robine ( 2개의 NIC 통한 분배 +  Fault Tolerance )

        1 : active-standby ( Active상태의 NIC에 문제 발생시 Fault Tolerance )

     2 : balance-xor ( 0 비슷하지만 xor연산을 이용한 목적지 Mac 근원지 Mac 이용한

                 분배 +    Fault tolerance)

    3 : broadcast ( 2개의 NIC 어떤 규칙 없이 데이터 통신 +  Fault Tolerace)

       4 : 802.3ad (link aggregation) – switch  aggregation 그룹생성이 필요

 

[root@CentOS sysconfig]# cd /etc/
[root@CentOS etc]# vi modprobe.conf
alias eth0 vmnics
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 ata_piix
alias snd-card-0 snd-ens1371
options snd-card-0 index=0
options snd-ens1371 index=0
remove snd-ens1371 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-ens1371
# Added by VMware Tools
install pciehp /sbin/modprobe -q --ignore-install acpiphp; /bin/true
install pcnet32 (/sbin/modprobe -q --ignore-install vmxnet || /sbin/modprobe -q --ignore-install pcnet32 $CMDLINE_OPTS);/bin/true


아래와 같이 변경한다.

alias bond0 bonding
options bonding mode=1 miimon=100

alias eth0 vmnics
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 ata_piix
alias snd-card-0 snd-ens1371
options snd-card-0 index=0
options snd-ens1371 index=0
remove snd-ens1371 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-ens1371
# Added by VMware Tools
install pciehp /sbin/modprobe -q --ignore-install acpiphp; /bin/true
install pcnet32 (/sbin/modprobe -q --ignore-install vmxnet || /sbin/modprobe -q --ignore-install pcnet32 $CMDLINE_OPTS);/bin/true




[root@CentOS etc]# modprobe bonding
[root@CentOS etc]# lsmod | grep bonding
bonding                96873  0
ipv6                  270305  20 bonding,ip6t_REJECT
[root@CentOS etc]# service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:                               [  OK  ]
[root@CentOS etc]# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:19:6A:0B  
          inet addr:192.168.133.130  Bcast:192.168.133.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe19:6a0b/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:375748 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66381 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:521476866 (497.3 MiB)  TX bytes:3808569 (3.6 MiB)
eth0      Link encap:Ethernet  HWaddr 00:0C:29:19:6A:0B  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:374350 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66273 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:521326235 (497.1 MiB)  TX bytes:3792400 (3.6 MiB)
          Interrupt:67 Base address:0x2024
eth1      Link encap:Ethernet  HWaddr 00:0C:29:19:6A:0B  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:1403 errors:0 dropped:0 overruns:0 frame:0
          TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:150931 (147.3 KiB)  TX bytes:17551 (17.1 KiB)
          Interrupt:67 Base address:0x2424
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:2860 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2860 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5845622 (5.5 MiB)  TX bytes:5845622 (5.5 MiB)
[root@CentOS etc]#



4. 구성 상태 확인 및 구성 상태 검증

[root@CentOS etc]# cd /proc/net/bonding/
[root@CentOS bonding]# cat bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)   # bonding의 버전 정보
Bonding Mode: fault-tolerance (active-backup)                 # 구성된 bonding의 모드 관련 정보
Primary Slave: None
Currently Active Slave: eth0                                             # 현재 Active 상태의 인터페이스 정보
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:19:6a:0b
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:19:6a:15
[root@CentOS bonding]#
Posted by no1ss
,
출처 : http://cheongeom.tistory.com/34


1. Cent OS 5.0 설치 X-window 설치 (Gnome 추천 : 공식 메뉴얼에서도 이놈은 추천하더군요)

2.1. 추가 패키지 - (이부분은 추후 수정)

# rpm -qa setarch make glibc libaio compat-libstdc++-33 compat-gcc-34 gcc libXp openmotif compat-db
설치되지 않은 패키지를 설치한다.
# yum install compat-libstdc++-33 compat-gcc-34 gcc libXp openmotif compat-db
위 패키지는 각자에 맞게 설치한다.

2.2. 시스템 설정

# vi /etc/redhat-releaseCentOS를
redhat-4로 수정한다.
* 원복 백업 추천
ex) #cp /etc/redhat-release /etc/redhat-release-original

# vi /etc/security/limits.conf
soft nproc 2047
hard nproc 16384
soft nofile 1024
hard nofile 65536

# vi /etc/sysctl.conf
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

기존의 kernel.shmmax는 주석처리한다.
# /sbin/sysctl -p
설정만 나오면 정상이다.

# vi /etc/pam.d/login
session required /lib/security/pam_limits.so

3.Oracle 10g 설치

3.1. Oracle 유저 생성

# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba oracle
# passwd oracle
# chown -R oracle.oinstall /오라클 인스톨할 디렉토리
# su - oracle

3.2. 환경변수 설정(오라클 홈폴더)

$ vi .bash_profile
# for Oracle 10g
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/오라클 인스톨할 디렉토; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl(SID 원하는걸로 바꾸셔두됨); export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:$PATH; export PATH
export DISPLAY=:0.0
$ exit

3.3. 설치 스크립트

# vi /etc/hosts
192.168.110.3 cheongeom cheongeom
네트워크 체킹을 위해 설정한다.(자신의 환경에 맞게 설정)


# xhost +
# su - oracle
$ unzip 10201_database_linux32.zip
$ cd database/
$ unset LANG
설치 시 한글이 깨지거나 보이지 않으면 영문으로 설치한다.
$ ./runInstaller

3.4. 설치

1) Select Installation Method
Advanced Installation 선택한다.
2) Specify Inventory directory and credentials
3) Select Installation Type
Product Languages -> Language Selection에서 Korean을 추가한다.
4) Specify Home Details
5) Product-Specific Prerequisite Checks
Network Configuration requirements에서 Not executed가 뜬다. 일단 무시한다. 무시하고 설치해도 일단 서비스는 잘 뜬다.
6) Select Configuration Option
7) Select Database Configuration
8) Specify Database Configuration Options
Global Database Name과 SID를 orcl로 지정한다.(위에 환경변수 값으로 자동으로 잡힙니다)
Database Character Set을 Unicode standard UTF-8 AL32UTF8로 선택한다.(자신의 환경에 맞는걸로 하세요)
그리고 Create database with sample schemas를 체크하도록 한다.(샘플 스키마나 DB가 필요없는분은 노 체크)
9) Select Database Management Option
10) Specify Database Storage Option
File System을 /data/oradata로 지정한다.(각자에 맞게 세팅)
11) Specify Database Schema Passwords
Use the same password for all the accounts로 모든 계정에 동일한 패스워드를 적용한다.(각자에 맞게 세팅)
12) Install
13) Database Configuration Assistant
14) Execute Configuration scripts

밑에 녀석들 실행하면 오라클 db의 실제 저장 파일을 만들 공간을 설정하는데 그냥 디폴트 값으로

아니면 원하는 패스설정 하셔두 됩니다.
# cd /u01/app/oracle/oraInventory/
# ./orainstRoot.sh
# cd /u01/app/oracle/product/10.2.0/db_1/
# ./root.sh
15) End of Installation

4. Oracle 10g 설정

4.1. 환경변수 추가설정

$ cd ~
$ vi .bash_profile
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

5. 기타

5.1. 각 서비스 시동/중지

5.1.1. 데이터베이스

$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
SQL> shutdown

5.1.2. 리스너

$ lsnrctl start
$ lsnrctl stop

5.1.3. iSQL*Plus

$ isqlplusctl start
$ isqlplusctl stop

5.1.4. Enterprise Manager

$ emctl start dbconsole
$ emctl stop dbconsole

5.2. 서비스 자동 시작

# vi /etc/rc.d/rc.local
# for Oracle 10g
su - oracle -c '/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start'
su - oracle -c '/u01/app/oracle/product/10.2.0/db_1/bin/dbstart'
su - oracle -c '/u01/app/oracle/product/10.2.0/db_1/bin/isqlplusctl start'
# vi /etc/oratab
orcl:/u01/app/oracle/product/10.2.0/db_1:N에서 끝에 N을 Y로 수정한다.

'리눅스' 카테고리의 다른 글

특정 폴더 또는 파일만 압축풀기  (0) 2012.03.29
리눅스 bonding 구성  (0) 2012.03.29
vsftpd.conf 설정  (0) 2012.03.28
리눅스 시스템 로그(Log) 분석  (0) 2012.03.28
리눅스 시스템 자동화 ( crontab )  (0) 2012.03.28
Posted by no1ss
,
출처 http://snoopybox.co.kr/1546


1.    신규 계정 생성

net user newuser /add

ð  newuser 계정을 생성한다. (패스워드 없는 상태로 생성)

net user newuser newpass /add

ð  newuser 계정을 생성하면서 패스워드를 newpass로 지정한다.

net user newuser * /add

ð  newuser 계정을 생성하면서 신규 패스워드를 두 번 입력 받는다.

 

2.    기존 계정 패스워드 변경

net user olduser newpass

ð  olduser 계정의 패스워드를 newpass로 변경한다.

net user olduser *

ð  olduser 계정의 신규 패스워드를 두 번 입력 받는다.

 

3.    기존 계정 그룹에 등록/삭제

net localgroup administrators olduser /add

ð  olduser 계정을 administrators 그룹에 등록시킨다.

net localgroup "Remote Desktop Users" olduser /add

ð  olduser 계정을 Remote Desktop Users 그룹에 등록시킨다.

ð  이처럼 띄어쓰기가 포함된 경우 큰따옴표로 묶어준다.

net localgroup administrators olduser /delete

ð  olduser 계정을 administrators 그룹에서 제외시킨다.

 

4.    기존 계정 활성/비활성

net user administrator /active

net user administrator /active:yes

ð  administrator 계정을 활성화 시킨다.

ð  /active의 기본 값은 yes이므로 굳이 :yes를 붙일 필요는 없다.

net user administrator /active:no

ð  administrator 계정을 비활성화 시킨다.

 

5.    기존 계정 만료날짜 설정

net user olduser /expires:2011/06/27

net user olduser /expires:11/06/27

ð  olduser 계정이 2011 6 27 00시부로 만료된다.

ð  6 26 23 59 59초까지는 로그인 가능, 6 27 00시부터 로그인 불가

ð  연도는 4자리, 2자리 모두 표기 가능

net accounts /forcelogoff:5

ð  계정 만료날짜가 설정된 경우, 만료시간 5분 후 강제로 로그오프 됨

ð  olduser 계정은 2011 6 27 00 05분에 강제로 로그오프 됨

 

6.    다음 번 로그온 시 반드시 패스워드 변경하도록 설정

net user olduser /logonpasswordchg:yes

ð  olduser 계정은 다음 번 로그온 시 반드시 패스워드를 변경해야 함

 

7.    패스워드 만료 기간 설정

net accounts /maxpwage:30

ð  30일 지나면 패스워드를 변경해야 함

wmic useraccount where name="olduser" set passwordexpires=true

ð  패스워드 만료 기간 설정에 영향을 받음

ð  신규로 생성한 계정은 기본적으로 이 값이 true이므로 설정할 필요 없음

ð  현재 olduser 계정에 대해 설정된 값을 확인하고 싶다면 아래와 같이 입력

ð  wmic useraccount where name="olduser" get passwordexpires

Posted by no1ss
,