티스토리 툴바

'Network/Linux'에 해당되는 글 10건

  1. 2010/05/16 | time wait이 너무 길다고 판단되면 (1)
  2. 2010/05/16 | Bonding Teaming
  3. 2010/05/16 | 리눅스 TEXT콘솔 해상도 조절하기
  4. 2010/05/16 | gcc 컴파일
  5. 2010/05/16 | 게이트웨이 설정 및 라우팅 추가
  6. 2010/05/16 | 리눅스 APM 설치
  7. 2010/05/16 | umask 명령
  8. 2010/05/16 | 파일 시스템 정보 확인.
  9. 2010/05/16 | 에러 메세지 영어로 바꾸기
  10. 2010/05/16 | 자주쓰는 명령어

time wait이 너무 길다고 판단되면

Network/Linux | 2010/05/16 18:12
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License
FreeBSD에서 웹서버 등을 운용 시 time wait이 너무 길다고 판단되면
다음을 조치한다.
(apache 등의 설정에서 값을 변경해도 여전히 time wait이 긴 경우)
 
# netstat -an                                ; time wait이 많은지 확인
 
# sysctl -a | grep msl                    ; time wait 시간 확인
net.inet.tcp.msl : 30000                     ; time wait 시간 300초
 
# sysctl net.inet.tcp.msl=3000          ; time wait 시간을 30초로 수정
 
※ 시작 시 해당값 적용 방법
    # vi /etc/sysctl.conf                       ; sysctl.conf 수정
      ; net.inet.tcp.msl=3000 줄 추가
 
※ net.inet.tcp.msl 는 Maximum Segment Life를 정의한다.
   - 이것은 maximum amount of time to wait for an ACK in reply to a SYN-ACK or FIN-ACK.
   - 단위는 milliseconds
   - 정의된 시간동안 ACK가 수신되지 않는다면, 그 segment는 "lost" 라고 판단하고 connection
     을 해제
   - 강력한 DoS 공격으로부터의 방어를 위해 7500 이하로 설정할 것을 권장

Bonding Teaming

Network/Linux | 2010/05/16 18:11
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License
여러사람이 모여 하나의 팀을 이룬다고 하죠,
마찬가지로 여려개의 네트워크인터페이스을 하나로 묶어서 마치 하나의 네트워크 인터페이스처럼 사용하는 것을 teaming이라고 합니다.
이런 방식을 업체별로 OS별로 분야별로 다르게 부르는데 Linux계열에서는 bonding이라고 하고
네트워크 장비에서는 channel  이라고 부릅니다.
예를 들어 제 PC에 네트워크카드가 2개 또는 인터페이스가 2개이며 각각에 대해
윈도우 같은 경우엔 "로컬영역연결1" "로컬영역연결2" 이런 식으로 나타납니다.
이 때 teaming이라는 것을 이용하면 이 둘을 하나로 묶은 가상의 인터페이스가 만들어지고 그 가상의 인터페이스를 하나의 네트워크 카드처럼 설정하여 사용하게 됩니다.

teaming을 사용하는 경우는 네트워크 인터페이스 장애가 하나의 네트워크 카드에 발생하더라도 나머지 하나의 네트워크 카드로 통신이 가능하도록 구성하고자 할 때 사용합니다.

리눅스 TEXT콘솔 해상도 조절하기

Network/Linux | 2010/05/16 18:03
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License
[root@wooya510 root]# vi /usr/src/linux-2.4/Documentation/fb/vesafb.txt    <- 이게 centos에 는 없더라

   57       | 640x480  800x600  1024x768 1280x1024
   58 ----+-------------------------------------
   59  256 |  0x301    0x303    0x305    0x307
   60  32k |  0x310    0x313    0x316    0x319
   61  64k |  0x311    0x314    0x317    0x31A
   62 16M |  0x312    0x315    0x318    0x31B




[root@wooya510 root]# vi /etc/grub.conf
    11 default=0
    12 timeout=10
    13 splashimage=(hd0,0)/grub/splash.xpm.gz
    14 title White Box Enterprise Linux (2.4.21-4.EL)
    15     root (hd0,0)
    16     kernel /vmlinuz-2.4.21-4.EL ro root=LABEL=/ vga=0x307
    17     initrd /initrd-2.4.21-4.EL.img                        

붉은색 부분같이만 조정해 주면됨. 0x307은 위의 표를 참고해서 마춰 쓰면됩니다.

어짜피 TEXT모드로 쓸거라 256비트면 충분할듯

gcc 컴파일

Network/Linux | 2010/05/16 18:01
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License

gcc -v -o 컴파일될이름  컴파일할 소스이름

 

gcc -v -o ./get_data ./get_data.c

 

 

gcc -v --save-temps -o like like.c


위 명령에서 -v 옵션컴파일되는 과정을 화면으로 출력하라는 옵션이고

--save-temps 옵션컴파일 과정에서 발생되는 중간 파일을 지우지 않고 저장하라는 명령이다.

gcc -v -o 컴파일될이름  컴파일할 소스이름

 

gcc -v -o ./get_data ./get_data.c

 

 

gcc -v --save-temps -o like like.c


위 명령에서 -v 옵션컴파일되는 과정을 화면으로 출력하라는 옵션이고

--save-temps 옵션컴파일 과정에서 발생되는 중간 파일을 지우지 않고 저장하라는 명령이다.

게이트웨이 설정 및 라우팅 추가

Network/Linux | 2010/05/16 18:00
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License

라우팅 테이블 경로 추가

route add -net (ip) netmask (subnetmask) dev (eth0)
route add -host (ip) netmask (subnetmask) dev (eth0)

gw 를 이요해 게이트를 지정할 수 있다.

기본게이트웨이 추가

route add default gw (ip)

 

메트릭값 다르게 추가

route add default gw (ip) dev eth0 metric (1)

 

제거 하는방법은

route del ....................

 

 

리눅스 APM 설치

Network/Linux | 2010/05/16 17:57
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License
소스 다운로드
Mysql             : http://www.mysql.com
Apache           : http://www.apache.org
Php                : http://www.php.net
ZendOptimizer : http://zend.com
Imap               : ftp://ftp.cac.washington.edu

Mysql 설치
#tar xvzf mysql-4.0.13.tar.gz
#cd mysql-4.0.13
#groupadd mysql
#useradd -g mysql mysql

# 설치 시작
#./configure --prefix=/usr/local/mysql \
>--with-charset=euc_kr \
>--with-innodb
#make
#make install
#/usr/local/mysql/bin/mysql_install_db
===============================================================
/usr/local/mysql/bin/mysql_install_db에서 에러발생시-->
#/usr/local/mysql/bin/mysql_install_db --force
===============================================================
#chown -R root /usr/local/mysql
#chown -R mysql /usr/local/mysql/var
#chown -R mysql /usr/local/mysql
#cp support-files/my-medium.cnf /etc/my.cnf

데몬띄우기 : #/usr/local/mysql/bin/mysqld_safe --user=mysql &
          #Starting mysqld daemon with databases from /usr/local/mysql/var
Test :  #/usr/local/mysql/bin/mysql -u root -p
        >quit
        #

Imap 설치
#tar xvzf imap.tar.Z
#mv imap-2002d/ /usr/local/imap
#cd imap/
#make slx SSLTYPE="none"
-->make sslnone................
Type y or n please: y
#cp imapd/imapd /usr/sbin
#cp ipopd/ipop3d /usr/sbin
#cat /etc/xinetd.d/imapd
service imap
{
        disable = no
        socket_type = stream
        wait = no
        user = root
        server = /usr/sbin/imapd
        log_on_success += DURATION USERID
        log_on_failure += USERID
}
#cat /etc/xinetd.d/ipop3d
service pop3
{
        disable = no
        socket_type = stream
        wait = no
        user = root
        server = /usr/sbin/ipop3d
        log_on_success += USERID
        log_on_failure += USERID
}
데모띄우기 : #/etc/rc.d/init.d/xinetd restart
          test : #telnet localhost 110

Apache 임시설정
#cd /usr/local/src
#tar xvzf apache-1.3.27.tar.gz
#cd  apache-1.3.27
#./configure --prefix=/usr/local/apache

php 설치
#cd /usr/local/src
#tar xvzf php-4.3.2.tar.gz
#cd  php-4.3.2
#./configure --prefix=/usr \
>--with-config-file-path=/etc \
>--with-apache=/usr/local/src/apache_1.3.27 \
>--with-mysql=/usr/local/mysql \
>--with-imap=/usr/local/imap \
>--with-language=korean \
>--with-charset=euc_kr \
>--enable-ftp \
>--enable-track-vars \
>--disable-debug
#make
#make install
#cp php.ini-dist   /etc/php.ini

apache 설치
#cd /usr/local/src/apache_1.3.27
#./configure  --prefix=/usr/local/apache \
>--activate-module=src/modules/php4/libphp4.a
#make
#make install

# php 설정추가
#vi  /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php .php3 .html .htm .inc
AddType application/x-httpd-php-source .phps

ZendOptimizer 설치
#cd /usr/local/src
#tar xvzf ZendOptimizer(tab키 이용)
#cd  ZendOptimizer-2.(tab 키 이용)
#./install
화면을 참고하여 설치 진행

#vi /usr/local/apache/htdocs/test.php
<?php
phpinfo();
?>

#/usr/local/apache/bin/apachectl restart

==>웹브라우져 띄우기
http://localhost/test.php
소스 다운로드
Mysql             : http://www.mysql.com
Apache           : http://www.apache.org
Php                : http://www.php.net
ZendOptimizer : http://zend.com
Imap               : ftp://ftp.cac.washington.edu

Mysql 설치
#tar xvzf mysql-4.0.13.tar.gz
#cd mysql-4.0.13
#groupadd mysql
#useradd -g mysql mysql

# 설치 시작
#./configure --prefix=/usr/local/mysql \
>--with-charset=euc_kr \
>--with-innodb
#make
#make install
#/usr/local/mysql/bin/mysql_install_db
===============================================================
/usr/local/mysql/bin/mysql_install_db에서 에러발생시-->
#/usr/local/mysql/bin/mysql_install_db --force
===============================================================
#chown -R root /usr/local/mysql
#chown -R mysql /usr/local/mysql/var
#chown -R mysql /usr/local/mysql
#cp support-files/my-medium.cnf /etc/my.cnf

데몬띄우기 : #/usr/local/mysql/bin/mysqld_safe --user=mysql &
          #Starting mysqld daemon with databases from /usr/local/mysql/var
Test :  #/usr/local/mysql/bin/mysql -u root -p
        >quit
        #

Imap 설치
#tar xvzf imap.tar.Z
#mv imap-2002d/ /usr/local/imap
#cd imap/
#make slx SSLTYPE="none"
-->make sslnone................
Type y or n please: y
#cp imapd/imapd /usr/sbin
#cp ipopd/ipop3d /usr/sbin
#cat /etc/xinetd.d/imapd
service imap
{
        disable = no
        socket_type = stream
        wait = no
        user = root
        server = /usr/sbin/imapd
        log_on_success += DURATION USERID
        log_on_failure += USERID
}
#cat /etc/xinetd.d/ipop3d
service pop3
{
        disable = no
        socket_type = stream
        wait = no
        user = root
        server = /usr/sbin/ipop3d
        log_on_success += USERID
        log_on_failure += USERID
}
데모띄우기 : #/etc/rc.d/init.d/xinetd restart
          test : #telnet localhost 110

Apache 임시설정
#cd /usr/local/src
#tar xvzf apache-1.3.27.tar.gz
#cd  apache-1.3.27
#./configure --prefix=/usr/local/apache

php 설치
#cd /usr/local/src
#tar xvzf php-4.3.2.tar.gz
#cd  php-4.3.2
#./configure --prefix=/usr \
>--with-config-file-path=/etc \
>--with-apache=/usr/local/src/apache_1.3.27 \
>--with-mysql=/usr/local/mysql \
>--with-imap=/usr/local/imap \
>--with-language=korean \
>--with-charset=euc_kr \
>--enable-ftp \
>--enable-track-vars \
>--disable-debug
#make
#make install
#cp php.ini-dist   /etc/php.ini

apache 설치
#cd /usr/local/src/apache_1.3.27
#./configure  --prefix=/usr/local/apache \
>--activate-module=src/modules/php4/libphp4.a
#make
#make install

# php 설정추가
#vi  /usr/local/apache/conf/httpd.conf
AddType application/x-httpd-php .php .php3 .html .htm .inc
AddType application/x-httpd-php-source .phps

ZendOptimizer 설치
#cd /usr/local/src
#tar xvzf ZendOptimizer(tab키 이용)
#cd  ZendOptimizer-2.(tab 키 이용)
#./install
화면을 참고하여 설치 진행

#vi /usr/local/apache/htdocs/test.php
<?php
phpinfo();
?>

#/usr/local/apache/bin/apachectl restart

==>웹브라우져 띄우기
http://localhost/test.php


--------------------------------------------------

DSO - Dynamic Shared Object

 

동적모듈이란 무엇인가?

아파치 헬기를 예로 들어보자.

아파치 헬기는 대전차 공격용 헬리콥터로 일반인에게도 유명하다.

헬기가 전투에 투입될때 항상 동일한 무기를 장착하는가?

아니다.

탱크를 사냥할대는 대전차 로켓을 장착하고,

교량을 폭파할때는 또 다른 무기를 장착할 것이다.

물론 모든 무기를 장착하면 좋겠지만 연료소비가 많아지고 순발력이 떨어질것은 분명하다.

 

아파치 서버역시 원하는 모듈(무기?)만을 장착하고 실행시킬수 있다.

이를 DSO 방식이라 하고 장착할수 있는 모듈을 DSO모듈이라 부른다.

PHP모듈도 DSO 방식으로 올리고 내릴수 있다.

 

DSO 모듈을 만드는 방법은 두가지가 있다.

첫번째, 아파치를 컴파일할때 DSO로 만들 모듈을 지정하는 방식.

두번재, 아파치 컴파일후 apxs (APache eXtenSion) 라는 유틸리티를 이용하여 모듈을 만드는 방식. (예: /usr/local/apache2/bin/apxs -i -a -c /usr/local/src/httpd-2.0.48/modules/mappers/mod_rewrite.c)

DSO모듈은 아파치root디렉토리(/usr/local/apache) 및 "moduldes" 디렉토리에 생성된다.

 

STATIC, DSO 방식의 결정은 아파치를 컴파일할때 결정되며

# ./configure --enable-so

옵션이 있냐, 없냐에 따라 DSO냐, STATIC이냐가 결정된다.

 

모듈장착은 아파치서버 설정화일인 httpd.conf에

LoadModule php4-module modules/libphp4.so

이런식으로 모듈이름을 적어주면 아파치가 시작하면서 모듈을 적재한다.




umask 명령

Network/Linux | 2010/05/16 17:56
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License

새로운 파일 및 디렉토리를 만들 때 자동으로 접근(access)사용 권한 모드를 설정해 준다.

$ umask [마스크]

파일 시스템 정보 확인.

Network/Linux | 2010/05/16 17:54
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License

/etc/fstab 안에 설정되어있음

[root@workspace ~]# more /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/data             /data                   ext3    defaults        1 2
LABEL=/var              /var                    ext3    defaults        1 2
LABEL=/acctbck          /acctbck                ext3    defaults        1 2
LABEL=/staff            /staff                  ext3    defaults        1 2
LABEL=/usr              /usr                    ext3    defaults        1 2
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda3         swap                    swap    defaults        0 0
/dev/sdb1               /data1                  ext3    defaults        0 0
/dev/sdb2               /WWW                    ext3    defaults        0 0
/dev/sdb3               /data3                  ext3    defaults        0 0
/dev/sdc                /data2                  ext3    defaults        0 0
/dev/md0                /raid_test              ext3    defaults        0 0   <- raid1으로 구성된 디스크
nas1:/mnt/nfs           /nfs_client             nfs     defaults        0 0    <- nfs 파일 시스템 마운트(Network에 있는 파일 시스템이다.)

위와 같이 설정되어 있다..

설정 방법은 여러가지 있는데  mount 필요한 장치 여기 설정 한다.

아래 2개의 파일 시스템을 제외하고는 일반 파일 시스템이다.


에러 메세지 영어로 바꾸기

Network/Linux | 2010/05/16 17:50
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License

/etc/sysconfig/i18n 파일 안에..
LC_MESSAGES="C"

자주쓰는 명령어

Network/Linux | 2010/05/16 17:49
Posted by 나욥기
크리에이티브 커먼즈 라이선스
Creative Commons License

명령어 : 설명 : 사용 형식 으로 설명합니다.
어디까지나 제 기준이고, 빼먹은 것도 있을 수 있습니다.

/bin
chgrp : 해당 file의 소유 그룹을 바꾼다. chgrp group filename
chmod : 해당 file의 소유자를 바꾼다. chmod mod filename
cp : file을 복사한다. cp source destination
dmesg : 부팅시 출력되는 커널 메시지를 보여준다. dmesg
gzip : gz 압축파일을 생성/압축해제 한다. 압축 : gzip -c file 해제 : gzip -d file
kill : 프로세서를 죽인다. kill PID
ln : 해당 file의 링크를 생성한다. ln -s source destination (심볼릭 링크)
mkdir : directory를 만든다. mkdir directory
mount : 장치를 연결한다. mount -option filesystem 장치명 경로
mv : file을 이동한다. mv source destination
rpm : redhat package manager의 패키지 파일 rpm 파일을 제어한다. man 참고
su : 다른 user로 login 한다. su - ID
tar : tar 파일을 다룬다. 묶음 : tar cvf 해제 : tar xvf
umount : mount 되어있는 장치를 해제한다.

/sbin
depmod : modules의 의존성 관계를 설정한다. depmod -option
fdisk : 하드디스크이 partition을 설정한다. fdisk 장치명
fsck : 하드디스크의 에러를 검사/복구한다. fsck -option 장치명
ifcofig : 시스템의 네트워크 설정을 본다. ifconfig
iptables : 방화벽을 설정한다. iptables -option
mkfs : file system을 생성한다. mkfs -option 장치명
quota : 사용자 계정의 하드디스크 용량을 설정한다. quota -option
route : rounting table을 설정한다. route -option
shutdown : 시스템을 shutdown 한다. shutdown -option
telinit : init runlevel을 변경한다. telinit runlevel

/usr/bin
chattr : file의 속성을 설정한다. chattr -+option filename
du : directory 내의 file들과 directory의 용량을 계산한다. du
find : file을 찾는다. find -option location filename
free : 물리 memory와 buffer/cache, swaping 상태를 본다.
ftpwho : ftp 접속자를 본다.
gcc : gnu C compiler
killall : 해당 이름을 가진 모든 process를 죽인다. killall process_name
nslookup : 해당 domain name의 ip를 알아본다. nslookup domain
passwd : 계정의 비밀번호를 변경한다.
telnet : telnet 연결을 한다. telnet ip(혹은 domain)
uptime : 시스템이 켜져있는 시간과 날짜 수를 나타낸다. uptime
who : 시스템에 login 중인 user를 보여준다. who
which : 파일의 위치를 표시해준다. which file

/usr/sbin
useradd : 계정을 추가한다. useradd ID
groupadd : groupadd groupname
ntpdate : time server에 접속해서 time을 동기화 한다. ntpdate time.kriss.ne.kr


패키지를 따로 설치해야 사용이 가능한 것은 포함하지 않았습니다.

블로그 이미지

나욥기

카테고리

분류 전체보기 (10)
Database (0)
개인 (0)
Network/Linux (10)
Camp (0)