■ 시스템을 shutdown한다.


■ 디스크를 추가한다.


■ 시스템을 부팅하고 부팅시 ESC를 이용하여 PROM prompt로 들어가서 search를 한다.

    PROM> search


■ 부팅을 위해 boot를 입력한다.


■ ioscan으로 디스크를 확인한다.

   #> ioscan -fnC disk


          Class     I  H/W Path       Driver S/W State   H/W Type     Description
          =======================================================================
          disk      0  10/0/14/0.0.0  sdisk CLAIMED     DEVICE       TEAC    CD-532E-B
                                     /dev/dsk/c0t0d0   /dev/rdsk/c0t0d0
          disk      1  10/0/15/1.5.0  sdisk CLAIMED     DEVICE       QUANTUM ATLAS10KII-9LVD
                                     /dev/dsk/c3t5d0   /dev/rdsk/c3t5d0
          disk      2  10/0/15/1.6.0  sdisk CLAIMED     DEVICE       SEAGATE ST318406LC
                                     /dev/dsk/c3t6d0   /dev/rdsk/c3t6d0


■ 디스크 정보를 확인한다.

   #> diskinfo -v /dev/rdsk/c3t6d0


■ 디스크 초기화 및 bad block 검사 (필요시에만 적용)

   #> mediainit /dev/rdsk/c3t6d0


■ Physical Volume을 생성한다.

   #> pvcreate /dev/rdsk/c3t6d0


   참고) Physical Volume 삭제하기

           #> pvremove /dev/rdsk/c3t6d0

   참고) Physical Volume 조회하기 (vgcreate가 정상적으로 되었을 경우)

           #> pvdisplay -v /dev/dsk/c3t6d0


■ Volume Group을 생성한다.

   #> mkdir /dev/vg01

        참조) volume group device file이 저장 될 directory 생성

   #> mknod /dev/vg01/group c 64 0x010000

        참조) 0x010000은 vg번호와 연관 vg02이면 0x020000

   #> vgcreate /dev/vg01 /dev/dsk/c3t6d0

        참조) 하나의 disk volume group으로 구성
PE size error 날시에 vgcreate (-s 32) <-- 옵션 /dev/vg01 /dev/dsk/c3t2d0


   #> vgdisplay -v vg01


■ Logical Volume을 생성한다.

   #> lvcreate –L 5000 /dev/vg01

         참조) volume group vg01에 크기가 5000MB logical volume 1 구성
                logical volume 이름은 기본으로 lvol1(만들어진 순서에 따라)으로 생성
   #> lvcreate -l 4350 -n lvol4 /dev/vg01
     PE size 확인후 최대 확장하려면 위와같이 , lvol4로 생성을 해줌


   #> lvcreate –L 800 /dev/vg01

        참조) volume group vg01에 크기가 800MB logical volume 2 구성

 

■ File System을 생성한다.

   #> newfs -F vxfs -o largefiles /dev/vg01/rlvol1

        참조) logical volume lvol1 vxfs type File system으로 만듦

 




■ 특정 Directory에 mount한다.

   #> mkdir /oracle

   #> mount /dev/vg01/lvol1 /oracle


■ fstab에 등록한다.

   #> vi /etc/fstab

       /dev/vg01/lvol1 /oracle vxfs delaylog 0 1


■ 파일 시스템 확장하기

   # lvextend -L 8000 /dev/vg01/lvol1

      참조) Logical Volume을 5000MB에서 8000MB로 재 구성

   # extendfs /dev/vg01/lvol1

      참조) File System을 확장한다


■ LVM 사용안하고 통으로 잡을려면
   #> mkdir /data
   #> mount /dev/dsk/c3t5d0 /data



출처: http://blog.naver.com/issue_89

'hp-ux' 카테고리의 다른 글

vg export / vg import  (0) 2012.04.14
hpux sshd EXIT CODE255  (0) 2010.06.12
hpux 디스크 추가  (0) 2010.05.04
hpux sshd  (0) 2009.11.20
hp-ux 네트워크 설정  (1) 2008.03.26


Soalris9,  Apache, Tomcat, JSP 설치 및 연동

J2SE 1.6_b3 
Apache 2.2.6
Tomcat 6.0.14
Tomcat-connectors 1.2.26

이 문서는 자유롭게 수정 및 배포가 가능합니다. 단 상업적 용도로 사용할 수 없습니다.
수정 및 배포 시 출처를 꼭 명시하기 바랍니다.
작성자 : http://ftth3.tistory.com
작성일 : 2008년 1월 4일 금요일
이메일 : lemon.kim@gmail.com

설치환경 : 포멧하고난후 ~~
Solaris 5.9  sparc / cshell
 280R 


설치 패키지 구성(필요한 파일) //다음 파일들을 다운 받고 설치 시작
jdk-6u3-solaris-sparc.sh
httpd-2.2.6.tar.gz
apache-tomcat-6.0.14.tar.gz
tomcat-connectors-1.2.26-src.tar.gz

다음 사이트에서 필요한 파일들을 다운받을 수 있다.
[J2SE ]                     http://java.sun.com/
[Apache]                  http://httpd.apache.org/download.cgi
[Tomcat]                   http://tomcat.apache.org/
[Tomcat-connector]    http://tomcat.apache.org/download-connectors.cgi

설치는 J2SE, Apache, Tomcat, Tomcat-connector의 순서대로 진행한다.
모든 설치는 root권한으로 진행하며 작업에 필요한 다운로드 파일들은 모두 /usr/local/ 에 저장한다.


- J2SE 설치

설치파일 jdk-6u3-solaris-sparc.sh

설치할 위치는 사용자가 임의로 정할 수 있으며, 여기서는 /usr/local/ 에 설치한다.


# sh jdk-6u3-solaris-sparc.sh
화면에 출력되는 사용권 계약에 동의하면 압축이 풀리면서 SDK가 설치된다.

설치 경로는 /usr/local/j2sdk1.6.0_03 이다. 설치된 폴더에 심볼릭 링크를 걸어준다.
# ln -s /usr/local/j2sdk1.6.0_03 /usr/local/j2sdk 또는
# mv /usr/local/j2sdk1.6.0_03 /usr/local/j2sdk

PATH를 설정한다. PATH 설정을 위해 /.cshrc을 열어서 파일 첫 부분에 다음을 추가한다.

#JAVA Environment
setenv JAVA_HOME /usr/local/j2sdk
setenv PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
setenv CLASSPATH=$JAVA_HOME/lib/tools.jar
setenv JRE_HOME /usr/java/jre
각자의 컴퓨터 환경에 맞게 수정해야된다.
이대로 하면 오류 날수도있다 ^^

변경된 설정을 시스템에 적용시킵니다.
# source /.cshrc

임의의 위치에서 java를 실행시킵니다.
# java

JAVA option들이 화면에 출력되면 성공적으로 설치가 이루어진 것이다.
버전을 확인하면 설치한 버전이 맞게 출력된다. 다른 버전이 출력되면 설치가 실패한 것이거나 PATH설정부분에 문제가 있는 것이니 확인해 보길 권한다.
# java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)

- Apache2 설치
# tar -xvzf httpd-2.2.6.tar.gz
# cd httpd-2.2.6.tar.gz
# ./configure    --prefix=/usr/local/apache2 \
--enable-rule=SHARED_CORE \
--enable-modules=so \
--enable-so
# make
# make install


다음으로
/usr/local/apache2/conf/httpd.conf 파일의 설정을 변경

#ServerName www.example.com:80 부분 아래에
ServerName localhost:80 추가

설치 확인
# /usr/local/apache2/bin/httpd -t
Syntax OK   … 끝~~
# /usr/local/apache2/bin/apachectl start

인터넷창 열고 아이피를 쳐보자
It Works!  가 나오면 설치 완료 


- Tomcat 설치
설치파일 apache-tomcat-6.0.14.tar.gz

다운파일의 저장위치인 /usr/local/ 에서 압축을 풀어준다.

# tar -zxvf apache-tomcat-6.0.14.tar.gz


apache-tomcat-6.0.14.tar.gz 디렉토리가 생성되면 Link를 이용하여 tomcat 의 경로를 지정.
# ln -s /usr/local/apache-tomcat-6.0.14  /usr/local/tomcat  또는
# mv /usr/local/apache-tomcat-6.0.14  /usr/local/tomcat


실행파일이 들어있는 디렉토리로 이동하여 Tomcat실행.
/usr/local/tomcat/bin/의 catalina.sh 또는 startup.sh 파일을 실행.

# cd  /usr/local/tomcat/bin
# ./catalina.sh start     또는     # ./startup.sh

Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME:       /usr/local/j2dk

위의 메시지가 나오면 Tomcat이 정상적으로 작동하는 것이다. 웹브라우저를 통해 다음의 주소로 접속한다.
http://localhost:8080 


정상적으로 Tomcat이 작동하고 있다면 Tomcat 관련 문서가 나타난다.
만일, 정상적으로 작동하지 않는다면 J2SE가 제대로 설치되지 않았거나 PATH 설정이 올바르지 않았기 때문이므로
/.cshrc 을 열어  PATH 설정 부분을 확인한다.

Tomcat의 Shut down은 catalina.sh 또는 shutdown.sh 파일을 이용한다.
# ./catalina.sh stop     또는     # ./shutdown.sh

/etc/profile에서 J2SE 설치 시 PATH 설정한 부분에 다음을 추가한다.

# vi /.cshrc

#TOMCAT Environment
setenv JAVA_HOME /usr/local/j2sdk
setenv APACHE2_HOME /usr/local/apache2
setenv CATALINA_HOME /usr/local/tomcat
setenv CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/activation.jar:
$JAVA_HOME/lib/mail.jar:$CATALINA_HOME/common/lib/servlet.jar
setenv=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$APACHE2_HOME/bin:.

변경된 설정을 시스템에 적용시킨다.
# source /.cshrc
PATH를 설정해주었으므로 임의의 위치에서 Tomcat을 실행시킬 수 있다.

설치 완료

- Tomcat Connector 설치

Apache와 Tomcat연동
설치파일 tomcat-connectors-1.2.26-src.tar.gz
JK2 connector 소스를 컴파일 하면 mod_jk2.so 모듈을 얻는다.
mod_jk2.so 이파일이 중요....


# cd /usr/local/
# tar -zxvf tomcat-connectors-1.2.26-src.tar.gz
# cd  /usr/local/tomcat-connectors-1.2.26-src.tar.gz/jk/native2
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs
# make
# cd ../build/jk2/apache2
# pwd
이방법으로 필자는 컴파일 오류가 발생하여서
압축푼 디렉토리를 보면  BUILD.txt파일이있다
Build.txt 파일을 보고 설치 완료


/usr/local/tomcat-connectors-1.2.26-src/jk/build/jk2/apache2
# ls (mod_jk2.so or mod_jk.so 파일 확인)
# cp mod_jk2.so or mod_jk.so  /usr/local/apache2/lib
#  cd  /usr/local/tomcat-connectors-1.2.26-src/conf
# cp workers.properties  /usr/local/apache2/conf/

/usr/local/apache2/conf/httpd.conf 파일의 LoadModule 부분을 찾아서 아래와 같이 추가한다.

LoadModule jk2_module /usr/local/apache2/lib/mod_jk2.so 또는
LoadModule jk_module /usr/local/apache2/lib/mod_jk.so

DirectoryIndex 부분을 찾아서 index.jsp를 추가
DirectoryIndex      index.html index.jsp

DocumentRoot 부분을 찾아서
/usr/local/apache/htdocs 이부분을
/usr/local/tomcat/webapps/ROOT로 변경

httpd.conf 파일 아래부분에

# Mod_jk settings -----------------------------------------------------
#
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /examples/jsp/* ajp13
JkMount /examples/servlets/* ajp13
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
#---------------------------------------------------------------------
추가를 해준다.


끝.


연동확인

이제 tomcat , apache를 시작
# /usr/local/tomcat/bin/catalina.sh start
# /usr/local/apache2/bin/apachectl start


ps. 필자는 연동시에 403에러가 발생하였다
      이부분은 다들 아시리라 믿는다
      로그분석후   컨트롤의 신공으로  구글과 대화를 하시면된다.

UNIX 명령어 총정리


1. addbib - 도서목록 형식의 데이터베이스를 만들거나, 확장


2. apropos - 사용설명서의 키워드 검색


3. ar - 라이브러리 만들기, 관리

아카이브 화일에 있는 화일의 그룹들을 유지 관리하는 명령어

문법 ar [drqtpmx] [vuaiblc] afile files ...

options

d 아카이브 화일에 있는 특정화일을 삭제

r 아카이브 화일에 있는 화일을 교체 ; 문자 n 와 함께 쓰면 수정되는 날짜보다 뒤의 화일만을 교체

q 특정 화일을 아카이브 화일의 맨 뒤에 첨가

t 아카이브 화일내의 목록을 출력

p 아카이므 화일내의 지정된 화일 내용을 출력

m 아카이브 화일의 맨 끝에 특정 화일을 이동시킨다 ; 인수 a, b 또는

i와 함께 사용하면 posname으로 위치를 지정할 수 있다

x 특정화일을 추출

c afile을 생성

l system 내의 임시 directory인 /tmp 대신에 local directory에 있는 임시 화일을 둔다

v 새로운 아카이브 화일 생성에서 기술된 정보를 화일별로 출력. 인수

t와 함께 사용하며 화일에 관한 모든 정보의 목록을 출력할 수 있으며 인수 x와 함께 사용하면 화일명이 먼저 출력

afile 아카이브 filename


4. at, batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령

사용자가 원하는 시간에 프로그램 스케쥴링을 할 수 있는 명령어. 또한 앞으로 사용될 작업들을 확인해 볼수 있으며(atq), 취소(atrm)도 가능하다. 주로 이것은 시스템 관리자가 시스템을 정리하고자 할 때 이용하고 있는 사용자에게 메시지를 전달하는 등 비교적 규칙적으로 서버에서 일어날 수 있는 일에 자주 사용된다.

일정 시간이 지난후에 명령어를 실행 시깁니다. 따라서 자리를 비우고 30분후에 시스템을 다운 시킨다든지 하는 등 명령어에 타이머를 달수 있습니다.

옵션 -l at queue 를 보여 줍니다.

-d 번호 queue 에서 삭제 합니다. 즉 예약 명령 취소

ex) 10:20 분에 시스템을 정지 하는 것을 예약하고 싶은 경우

#at 10:20 ; 10:20 분을 줍니다.

at>halt ; 프롬프트가 at> 로 바뀌면, halt 명령을 예약합니다. .

ctrl-D ; ctrl+D 로 빠져나옵니다. ( ctrl-C, ctrl-Z 로 빠져나오면 예약이 안 됩니다. )


5. awk - 패턴 검색과 언어 처리

program file에서 기술된 pattern들중 일치되는 line 을 찾기 위해 입력 화일을 검색하는 명령어

문법 awk [-Fc] [profile] [file] ...

또는

awk [-Fc] [-f profile] [file] ...

options

-Fc 입력필드의 구분기호로서 c를 이용

-f progam file로서 다음 인수 사용


6. banner - 큰 글자(배너) 만들기

10문자이내의 문자열을 확대문자로 표준출력\

문법 banner string


7. basename - 경로 이름에서 마지막에 있는 이름만 출력


8. bdiff - 매우 큰 화일을 비교하는 diff 명령어

문법 bdiff file1 file2 [u] [-s]

options

file1,file2 비교하는 filename

n segment 수를 지정하여 생략시 default로 3500임

-s 진단적 message를 표준 출력하지 않는다


9. bfs - 매우 큰 화일을 scan하는 명령어

문법 bfs [-] name

options

- file의 크기를 출력하지 않음

name 읽기만 하는 화일을 scan 할 때 사용되며 name 은 filename


10. biff - 자신에게 편지가 배달되면 알려주는 명령


11. bin-mail, binmail - 예전에 사용한 전자우편 프로그램


12. cal - 달력보기


13. calendar - 간단한 일정표

현재 directory 내의 calendar file로부터 매일의 메모를 print하는 명령어

문법 calendar [-]

options

- login directory에 calendar file을 가지는 각 사용자에 이 화일 중의 오늘과 내일 날짜를 포함하는 라인을 전자우편(mail)으로 보낸다


14. cat - 파일 병합과 내용 보기

파일의 내용을 화면에 출력하거나 파일을 만드는 명령( 도스의 TYPE명령)

% cat filename


15. cb - 간단한 C 프로그램 beautifier


16. cc - C 컴파일러

17. cd - 작업 디렉토리 바꾸기

디렉토리를 변경

% cd cgi-bin : 하부 디렉토리인 cgi-bin으로 들어감.

% cd .. : 상위디렉토리로 이동

% cd 또는 cd ~ : 어느곳에서든지 자기 홈디렉토리로 바로 이동

% cd /webker : 현재 작업중인 디렉토리의 하위나 상위 디렉토리가

아닌 다른 디렉토리(webker)로 이동하려면 /로 시작해서 경로이름을 입력하면 된다.


18. checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다


19. chgrp - 파일의 사용자 그룹 바꾸기


20. chmod - 파일의 접근 권한 바꾸기

화일 permission 변경

유닉스에서는 각 화일과 디렉토리에 사용권한을 부여.

예) -rwxr-xr-x guestbookt.html

rwx :처음 3개 문자 = 사용자 자신의 사용 권한

r-x :그다음 3개 문자 = 그룹 사용자의 사용 권한

r-x :마지막 3개 문자 = 전체 사용자의 사용 권한


읽기(read)---------- 화일 읽기 권한

쓰기(write)---------- 화일 쓰기 권한

실행(execution)---------- 화일 실행 권한

없음(-)---------- 사용권한 없음


명령어 사용법

chmod [변경모드] [파일]


% chmod 666 guestbook.html

: test.html 화일을 자신에게만 r,w,x 권한을 줌

% chmod 766 guestbook.html

: 자신은 모든 권한을 그룹사용자와,전체사용자에게는 읽기와 쓰기 권한만 줌


21. clear - 터미날 화면 깨끗이 하기


22. cmp - 두 파일을 바이트 단위로 비교

두 개의 화일 내용을 비교하는 명령어

문법 Cmp [-l] [-s] file1 file2

options

-l 두 화일 내용을 비교함에 있어 틀린곳마다 byte 수 (10진수)와 틀린 byte 수(8진수)를 출력

-s 틀린 화일의 내용을 출력하지 않고 return code 만 변환한다


23. colcrt - troff 파일의 밑줄 속성 문자 처리


24. comm - 지정 두파일의 줄 단위 비교와 그 처리

두 개의 정렬(sort)된 화일에서 공통된 line을 선택하거나 삭제하는 명령어

문법 comm [-123] file1 file2

options

1 file1에만 있는 line을 출력하지 않는다

2 file2에만 있는 line을 출력하지 않는다

3 file1, file2 양쪽 화일에 있는 line을 출력하지 않는다


25. compress, uncompress, zcat - 파일 압축관련 유틸리티들

확장자 .Z 형태의 압축파일 생성

% compress [파일명] : 압축시

% uncompress [파일명] : 해제시


26. cp - 파일 복사

화일 복사(copy)

% cp index.html index.old

: index.html 화일을 index.old 란 이름으로 복사.

% cp /etc/*.* .

: etc 디렉토리내의 모든 화일을 현 디렉토리로 복사


27. cpio - copy file archives in and out

아카이브 화일을 복사하여 입출력하는 명령어

문법 cpio -o [abcv]

cpio -i [Bdmtuvsb] [patterns]

cpio -p [adlmv] directory

options

-o 복사 출력: 화일을 path명과 정보 상태를 함께 출력

-i 복사 입력: 표준 입력 화일로 부터 pattern에 일치하는 화일을 추출

-p *directory 내에 file 을 조건부로 작성하고 복사

a *file 복사후 입력 화일의 최종 접근 시간을 reset한다

B 입출력을 5,120 byte의 레코드로 블럭화한다

c ASCII 문자로 헤드 정보를 쓴다

d 필요에 따라 directory를 생성

m 존재하는 최종 화일 수정 시각을 보존

r 대화 문법으로 화일명을 변경

t 입력 화일명 목록을 출력하여 화일은 작성되지 않는다

u 무조건 복사

v 화일명 목록을 출력


28. cpp - C 언어 전처리기


29. crontab - 지정된 시간에 유저의 crontab 파일을 관리하는 명령어  

지정한 화일을 입력으로 받아 user의 크론탭 화일을 관리 및 directory로 복사하는 명령어

문법 crontab [file]

options

-r user crontab을 crontab directory로 부터 삭제

-l 호출한 user crontab fule을 출력

file 등록되는 화일명을 지정


30. csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘


31. ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령


32. cut - 파일이 각 line에서 선택된 필드를 절단하는 명령어

화일이 각 line에서 선택된 필드를 절단하는 명령어

문법 cut -clist [file1 file2 ...]

cut -flist [-d char] [-s] [file1 file2 ...]

options

list - 사용으로 페이지 범위를 지정할수 있으며 정수의 필드 번호를 컴마로 분리하고 증가순서로 나열

clist 문자위치를 지정

(예로서, -(1-72)는 각 line에서 첫 72문자이다)

-d char -d의 문자는 필드구분 문자이며 -f 옵션에서만 필요

flist 구분문자에 의해 분리되는 필드 목록

(예로서, -f1,7은 첫번째와 일곱번째 필드를 복사)

-s 필드 구분문자가 없는 line은 무시


33. date - 시스템 시간 보기나 지정하기


34. dbx - 소스 수준의 디버거


35. deroff - nroff, troff, tbl, eqn 관련 내용 지움


36. df - disk free: 디스크의 남은 용량 보기

이용가능한 디스크블럭수를 출력하는 명령어

문법 df [-f] [-t] [file sysytem]

options

-f 디스크내의 자유리스트내의 정확한 블럭수를 출력

-t 사용가능 블럭 및 i-node와 할당된 전체블럭과 i-node가 출력


37. diff - 두 파일의 차이점 비교

두개의 화일중에서 다른 라인을 출력하는 명령어

문법 diff [-befh] file1 file2

options

-b 비교할 때 라인의 마지막에 있는 탭(tab)과 공백을 무시

-e file1으로부터 file2를 재생성. ed 편집을 위한 a,c 그리고 d 명령어의 script를 만든다

-f 비슷한 script를 만들지만 역순이기 때문에 ed 편집에서는 사용할 수 없다

-h 정밀도가 없어도 빠른 속도를 처리하고자 할 때 사용하며 -e와 -f와 함께 사용할수 없다

문법 diff3 [-ex3] file1 file2 file3

options

-e file1에 file2와 file3의 차이 비교를 기록

-x file1에 3개 화일 모두의 차이 비교를 기록

-3 file1에 file3과 차이 비교되는 부분만 기록


38. dircmp - 디렉토리를 비교하는 명령어

문법 dircmp [-dsw] directory1 directory2

options

-d 두 directory내의 화일명을 비교후 그 차이점을 diff문법으로 출력

-s 비교 일치된 화일에 대한 메세지 출력 안함

-Wn 출력되는 화면의 폭(n)을 변경

**) directory1, directory2는 비교되는 디렉토리명


39. du - disk used : 디스크 사용량 보기

디스크 사용을 요약 출력하는 명령어

문법 du [-ars] [files]

options

-a 각 화일에 대한 entry 출력

-r 읽을 수 없는 directory 또는 열 수(open) 없는 화일에 대해 메세지

를 출력

-s 이름으로 지정된 각각에 대한 총계 블럭수만을 출력


40. echo - 인자를 표준 출력으로 출력

echo명령어는 외부 프로그램과 내부 쉘명령어 사이에 있으며 echo의 인수는 공백에 의해 구분되어지며 new line으로 종료하는 각 인수를 화면에 표준출력하는 명령어

문법 echo [-n] [arg] ...

options

-n new line이 없는 것은 추가로 출력


41. ed, red - 기본 줄 편집기

표준 텍스트 편집기 (라인 편집기)

문법 ed [-] [-x] [file]

options

- 문자 e,r과 w의 명령어의 출력을 없앤다

-x x 명령어는 암호와 선택 항목 인수이다


42. env - UNIX 명령어를 수행하기 위한 환경을 설정하는 명령어

문법 env [-] [name=value] ... [command arg]

options

- 기존 환경을 무시하고 지정된 환경으로 명령어를 수행

name=value 명령 수행 전의 원래 환경을 지정

command arg 수행하고자 하는 명령어 지정



43. eqn, neqn, checkeq - 수식 표현 포멧 도구


44. error - 컴파일러 오류 메시지 목록


45. ex, edit, e - 줄 편집기

ed 기능을 강화한 텍스트 편집기

문법 ex [-] [-trRV] [+command] name ...

options

- 대화형 사용자를 위해 feed-back을 억제

-t tag tag를 갖는 화일을 편집후 편집기를 그 화일의 위치에 지정

-r file file을 복구

R 읽기 허가만 된 모드로 한다

+ command 지정한 명령어를 수행하고 편집


46. expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로


47. expr - 인자를 수식으로 처리


48. fgrep - 문자열에 따라 화일 검색

문자열에 따라 화일 검색(fgrep [option] string [file .. ) fgrep은 문자열에 따라 화일을 검색하여 지정한 문자열이 있는 모든 행을 출력하며 정규식(영문,숫자,특수문자의 부분집합을 사용하는 식)을 사용 하는 grep와는 차이가 있다.

-b: 각 행의 선두에 그 행이 발견된 블럭번호를 넣어줌.

-c: 일치하는 패턴을 갖고 있는 행의 수 만을 출력함.

-l: 일치하는 행이 있는 화일의 화일명만을 복귀개행으로 구별시켜 출력하는데, 화일내에 패턴이 몇 개나 포함되어 있어도 화일명은 한 개밖에 출력하지 않음.

-n: 각 행의 선두에 화일내의 행번호를 넣음.(1 라인은 1임)

-i: 비교시 소문자와 대문자의 차이를 무시

-v: 일치하는 행을 제외한 모든행을 출력.


49. file - 파일 형식 알아보기

화일 형태를 결정하는 명령어

문법 file [-f] file ...

options

-f 다음 인수를 조사하고 싶은 화일명을 포함하는 화일로 간주


50. find - 파일 찾기

각 경로명에 대해서 계층적 directory를 순환적으로 내림차순으로 불(Boolean)표현식과 일치하는 화일을 찾는 명령어

문법 find pathname-list expression

options

-atime n 만약 화일이 n 날짜 이내에 접근되면 참

-cpio device 현재의 화일은 cpio(1)의 문법(5120byte 레코드)으로 장치에 써넣는다

-ctime n 화일이 n 날짜내에 변경되면 참

-exec cmd 지정한 명령어를 수행하고 종료상태로서 0의 값이 반환되면 참

-group gname 화일에 gname에 포함되어 있으면 참

-links n 화일이 n 개의 링크가 있으면 참

-mtime n 화일이 n 날짜 이내에 수정되면 참

-name file 화일이 현재의 화일명과 일치하면 참

-newer file 현 화일이 인수화일보다 최근에 수정되어 있으면 참

-ok cmd 명령어 라인을 의문부호를 선두에 부과하여 화면에 출력하며 만약 사용자가 y를 칠 경우에만 실행 가능

-perm onum 화일의 허가 그래프가 9진수 onum과 일치하는 경우이면 참

(chmod(1) 참조)

-print 항상 참 ; 현재의 패스명을 출력

-size n 화일의 길이가 n 블럭(블럭당 512byte)이면 참

-type c 화일의 형태가 이면 참이며 여기서 말하는 c는 블럭형태인 특수화일,

문자형 특수화일, 디렉토리, 파이프 또는 일반화일을 각각 b,c,d,p,

또는 f로 표시

-user unname 화일이 사용자 unname에 속하면 참

(expression) 괄호내의 식이 참이면 참


1. 특정파일을 모두 찾아서 각각 "ls -l"하여 정보확인하기

[root@kebia_1 /root]# find / -name .searchfile -exec ls -l {} \;

2. 특정파일을 모두 찾아서 각각 파일내용 확인하기

[root@kebia_1 /root]# find / -name .searchfile -exec cat {} \;


51. finger - 사용자 정보 알아보기

who 명령을 보충하는 명령이 finger입니다. 특정 사용자에 대한 정보를 알려면 finger username(또는 사용자가 다른 컴퓨터에 있으면 finger username@domain)을 입력합니다.


52. fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구


53. fold - 긴 줄 출력 방법 지정


54. ftp - 파일 전송 프로그램


55. gcore - 실행 중인 프로세스의 core 이미지를 구한다.


56. gprof - call-graph profile data(?)를 보여줌


57. grep - 문자열 찾기

화일의 패턴을 검색하는 명령어

문법 grep [option] expression [file]

options

-b 각 라인의 첫머리에 블럭번호를 넣는다

-c 라인에 일치되는 수를 출력

-e expression a로 시작되는 식일 때 사용

-f file 규칙적인 식(grep) 또는 리스트열(fgrep)이 화일로부터 취한다

-l 일치되는 라인의 화일명만 출력

-s 읽지못하는 화일이거나 존재하지 않는 화일에 대한 에러 메세지 출력을 억제

-v 일치되는 라인을 제외한 모든 라인을 출력

-x 정확히 일치되는 라인을 출력 (fgrep만 사용)


58. groups - 사용자의 그룹을 보여줌


59. gzip - 확장자 .gz, .z 형태의 압축파일 생성

확장자 .gz, .z 형태의 압축파일 생성

% gzip [파일명] : 압축시

% gzip -d [파일명] : 해제시


60. head - 파일의 앞 부분 보기

% head -n filename : n줄 만큼 위세서부터 보여줌


61. history - 이전 명령 보기


62. hostname - 현재 시스템 이름을 보여줌


63. imake - makefile 만드는 프로그램


64. indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구


65. install - 파일 설치


66. ipcs - process 상호간의 통신에 대한 상태를 출력하는 명령어

문법 ipcs [-copqt]

options

-c 사용자의 로그인 명과 그룹명을 출력

-o 사용 상황 상태에 대한 정보를 출력

-p 프로세서 번호에 대한 정보를 출력

-q 수행중인 메세지 큐(Queue)에 대한 정보를 출력

-t 시간에 대한 정보를 출력


67. join - 관계형 데이터베이스 연산자


68. kill - 프로세스 죽이기

프로세스를 강제 종료하는 명령어

문법 kill [-signo] process id ...

options

1 hang up

2 인터럽터

3 정지

4 정확하지 않는 명령

5 trace trap

6 IOT

7 EMT

8 부도소수점 expression 발생

9 강제 종료

10 버스 에러

11 세그먼트 위배

12 bad system 콜

13 읽는 사람없이 파이프에 써 넣음

14 경보 신호

15 Software 종료


69. last - 사용자가 마지막 접속 상태를 보여줌


70. ld, ld.so - 링크 편집기, 동적 링크 편집기


71. leave - 자신의 접속 종료 시간을 알려줌


72. less - more 명령의 확장


73. lex - 어휘 분석 프로그램 생성기


74. link - 파일 및 디렉토리 링크 명령어


75. lint - C 프로그램 verifier


76. ln - 파일의 하드, 심벌릭 링크 명령


77. login - 시스템 접속 명령


78. look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기


79. lookbib - 도서목록형 데이타베이스에서 찾기


80. lorder - 오브젝트 라이브러리의 관계 찾기


81. lp, cancel - 인쇄 시작, 취소

특정화일 및 정보를 프린터로 출력하는 명령어

문법 lp [-c] [-d lest] [-m] [-nnumber] [-0 option] [-s] [-t title]

[-w] files

options

-c 프린터가 끝나기전에 화일 변경이 가능하도록 프린트할 화일을 복사

-d dest 프린터 또는 프린터 클라스를 dest로 지정

-n 프린트 후 전자우편을 보낸다

-n number 프린트 할 매수를 지정

-s 메세지 출력을 억제

-w 프린트 후 사용자의 단말장치에 메세지를 보낸다


82. lpq - 인쇄 작업 상황 보기


83. lpr - 인쇄


84. lprm - 인쇄 작업 지우기


85. ls - 디렉토리 내용 보기

directory의 내용을 화면에 출력하는 명령어

문법 ls [-aAcCdDfFgimngrRstuxl] file ...

options

-a .file을 포함한 전 entry를 출력

-A -a option과 유사하지만 .또는 ..을 포함하는 화일은 출력 억제

-c 마지막 변경된 i-node의 시간을 출력

-C 멀티칼럼으로 출력하며 디폴트로는 CRT에 출력

-d directory명만 출력하며 내용은 출력하지 않는다

-D directory만 출력

-f 인수를 directory로 해석하며 각각의 슬롯에 있는 directory 및 file

명을 출력

-F system에 있는 화일이 directory면 /를 실행가능한 화일이면 *를 붙

인다

-g 옵션 -l과 같으나 소유자명이 출력되지 않는다

-i 첫 칼럼에 i-number를 출력

-l 화일 및 directory 상태 정보를 long 문법으로 출력

-m 스트림 문법의 출력

-n 소유자명과 그룹명 대신에 UID 번호와 GID 번호가 출력되는 것을 제

하고는 옵션 -l과 같다

-g 비도형문자를 ?문자로 출력

-r 화일명이나 수정시간을 알파벳 또는 오래된 역순으로 출력

-R 발견되는 sub-directory의 내용을 순환적으로 출력

-s 간접블럭을 내포하는 블럭수를 출력

-t 화일명 대신에 수정된 시간으로 분류

-u -t 또는 -l option으로 분류하는 중에서 최종접근 시간을 사용


86. mail, Mail - 전자 우편 프로그램


87. make - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구


88. man - 온라인 사용자 설명서를 보는 명령

원하는 명령어의 사용방법을 CRT 화면에서 알고자하는 명령어

문법 man [option ... ] [chapter] title ...


89. mesg - 메시지 수신 상태를 보거나 지정


90. mkdir - 디렉토리 만들기

디렉토리 생성

% mkdir download : download 디렉토리 생성


91. mkstr - C 소스 파일을 참조로 오류 메시지 파일을 만듬.


92. more, page - 텍스트 파일 보기 명령

cat 명령어는 실행을 시키면 한 화면을 넘기는 파일일 경우 그 내용을 모두 볼수가 없다. 하지만 more 명령어를 사용하면 한 화면 단위로 보여줄 수 있어 유용.


% more <옵션>

옵션은 다음과 같습니다.

Space bar : 다음 페이지

Return(enter) key : 다음 줄

v : vi 편집기로 전환

/str : str 문자를 찾음

b : 이전 페이지

q : more 상태를 빠져나감

h : 도움말

= : 현재 line number를 보여줌


93. mount - file system을 mount하는 명령어

file system을 mount하는 명령어

문법 mount [special directory [-r]]

options

special directory에 있는 블럭형 특수장치를 말한다

directory special이나 resource를 위한 적재 directory를 가리킨다

-r special이나 resource를 읽기허가하여 적재하도록 한다


94. mountall - 여러개의 file system을 mount하는 명령어

여러개의 file system을 mount하는 명령어

문법 mountall [-] file system

mountall [-k]

options

- 입력되는 데이타가 표준입력

-k 화일을 open시키고 프로세서를 찾은 다음 SIGKILL 시그널을 보낸다


95. mv, mvdir - 파일 이동이나, 이름 바꾸기

파일이름(rename) / 위치(move)변경


% mv index.htm index.html

: index.htm 화일을 index.html 로 이름 변경

$ mv file ../main/new_file

: 파일의 위치변경


96. nawk - 패턴 검색과 언어 처리


97. nice - 낮은 우선권에서 명령 실행

문법 nice [- number] command [arguments]

options

- number 우선 순위를 1에서 19까지로 지정하며 디폴터로는 10


98. nm - 심블 이름 목록 보기


99. nroff - 문서 포멧 도구


100. od - 8진수, 10진수, 16진수, ascii 덤프

8진수로 덤프하는 명령어

문법 od [-bcdox] [file] [[+[x]] offset [.] [b]]

options

-b 8진수로 byte를 해석

-c ASCII code로 byte를 해석

-d 10진수로 단어를 해석

-o 8진수로 단어를 해석

-x 16진수로 단어를 해석


101. passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기


102. paste - 여러파일의 서로 관련 있는 줄 연결시키기


103. pr - 문서 파일 양식화 도구


104. printenv - 현재 환경 변수들의 내용과 그 값 알아보기


105. prof - profile 자료 보기


106. ps - 현재 프로세스 정보 보기

실행중인 프로세스에 관한 정보를 출력하는 명령어

문법 ps [options]

options

-a 프로세스 그룹의 리더 및 단말장치와 관계없는 프로세스를 제외한 빈번하게 사용되는 모든 프로세스에 관한 정보를 출력

-d 프로세스 그룹의 리더(rearder)를 제외한 모든 프로세스에 대한 정보를 출력

-e 현재 system내에서 실행중인 모든 프로세스 정보를 출력

-f 프로세스 관한 전부의 정보를 출력

-l 프로세스에 관한 정보를 long(롱)으로 출력

-n name list system 내의 name list 화일의 이름을 지정

-u uidlist 지정한 사용자 ID번호 또는 login명을 갖고있는 프로세스에 관한 정보만을 출력


107. ptx - permuted(순열화된?, 교환된?) 색인 만들기


108. pwd - 현재 작업 디렉토리 보기


109. quota - 한 사용자에게 지정된 디스크 할당량보기


110. ranlib - archive를 random 라이브러리로 변화


111. rcp - 리모트 카피


112. rcs - RCS 파일 속성 바꾸기


113. rcsdiff - RCS revisions 비교


114. rev - 한 줄의 문자열 꺼꾸로


115. rlogin - 리모트 로그인


116. rm, rmdir - 파일, 디렉토리 지우기

% rm test.html : test.html 화일 삭제

% rm -r <디렉토리> : 디렉토리 전체를 삭제

% rm -i a.*

: a로 시작하는 모든 파일을 일일이 삭제할 것인지 확인하면서 삭제


117. roffbib - 도서목록형 데이터베이스 보기 또는 양식화


118. rsh - 리모트 쉘


119. rup - 로칼 머쉰의 호스트 상태 보기(RPC version)


120. ruptime - 로칼 머쉰의 호스트 상태 보기


121. rusers - 현재 접속자 보기 (RPC version)


122. rwall - 모든 사용자에게 알림(RPC)


123. rwho - 현재 접속자 보기


124. sccs - Source Code Control System (SCCS)

125. sccs-admin, admin - SCCS 사용 내역 파일을 만들고, 관리


126. sccs-cdc, cdc - SCCS 델타의 델파 주석을 바꿈


127. sccs-comb, comb - SCCS 델타 조합


128. sccs-delta, delta - SCCS 파일에 데해 델타를 만듬


129. sccs-get, get - SCCS 파일 버전확인


130. sccs-help, help - SCCS 오류나 경고 메시지 검색


131. sccs-prs, prs - SCCS 사용내역의 선택된 부분 보기


132. sccs-prt, prt - SCCS 파일에서 델타 테이블 정보를 봄


133. sccs-rmdel, rmdel - SCCS 파일에서 델타를 지움


134. sccs-sact, sact - SCCS 파일의 편집 상태를 봄


135. sccs-sccsdiff, sccsdiff - SCCS 파일들의 버전 비교


136. sccs-unget, unget - SCCS 파일의 미리 얻은 것(?)을 취소한다.


137. sccs-val, val - SCCS 파일 유요화


138. script - 화면 갈무리


139. sdiff - 라인 단위의 차이를 비교하는 diff 명령어

문법 sdiff [losw] file1 file2

options

-r 라인 내용이 같으면 왼쪽만 출력

-o output 사용자가 지정한 문법으로 file1과 file2를 합병하고 같은 내용의 라

인을 output으로 지정한 화일에 복사

-s 같은 내용의 라인을 출력하지 않음

-Wn 인수 n 만큼 출력 라인의 폭을 지정


140. sed - stream editor

문법 sed [-efn] files

options

-e script 편집 명령어의 script를 지정

-n 이 옵션 생략시 출력하지 않음

-f sfile 화일 sfile에 script를 취하여 편집

-files 편집할 화일 지정

141. sh - 유닉스 표준 쉘


142. size - 오브젝트 파일의 크기들을 보여줌


143. sleep - 지정한 시간 만큼 실행 보류

초단위로 정의된 시간을 n 초 동안 실행을 정지시키는 명령어

문법 sleep time


144. sort - 줄 정열과 검색

모든 화일의 라인을 함께 소트(sort)하여 그 결과를 화면 또는 지정한 장소에 출력하는 명령어

문법 sort [-cmu]

[-o output]

[-ykmem]

[-zrecsz]

[-dfiMnr]

[-btx]

[+pos1 [pos2]] [files]

options

-b 필드비교시 앞에 붙는 공백을 무시

-c 입력화일이 순서대로 소트 되어있는지를 검사하여 소트되어 있지 않

으면 출력하지 않는다

-d 사전식 순서비교

-f 대문자와 소문자를 구별하지 않는다

-i 인쇄불가능 문자를 무시

문자비교에 있어 ASCII코드 040-0176의 문자만 유효

-r 역순으로 소트

-o output 출력화일명을 output으로 지정

-m 화일을 합병(merge)한다

-u 화일내의 같은 라인은 한 라인만 남기고 삭제


145. sortbib - 도서목록형 데이터베이스 정열


146. spell, hashmake, spellin, hashcheck - 맞춤범 검사(물론 영어겠지요)


147. split - 파일 나누기

system의 화일을 분할하는 명령어

문법 split [-n] [file [name]]

options

-n 화일을 n라인씩 분할하며 이 옵션을 생략하면 1000라인씩 분할


148. strings - 오브젝트 파일이나, 실행 파일에서 문자열 찾기


149. strip - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제


150. stty - 터미날 설정

단말장치의 옵션의 설정상황을 출력한다

문법 stty [-a] [-g] [options]

options

-a 모든 옵션의 설정사항을 출력

-g 현재의 설정사항을 출력


151. su - super-user, 임시적으로 새 ID로 바꿈


152. sum - 화일 check sum과 블럭수를 나타내는 명령어

문법 sum [-r] file

options

-r 알고리즘을 check sum계산에 사용

file sum 처리를 하는 화일명


153. symorder - 심벌 순서 바꿈


154. tabs - 터미날 tab 크기 지정


155. tail - 파일의 끝 부분 보기

% tail -n filename : n줄 만큼 아래에서부터 보여줌


156. talk - 다른 사용자와 이야기하기


157. tar - 여러 파일 묶기 또는 묶긴 파일 풀기

.tar, _tar로 된 파일을 묶거나 풀때 사용하는 명령어

(압축파일이 아님)


% tar cvf [파일명(.tar, _tar)] 압축할 파일(또는 디렉토리): 묶을때

% tar xvf [파일명(.tar, _tar)] : 풀 때

(cf) cvfp/xvfp 로 하면 퍼미션 부동


아카이브 화일을 자기테이프에 저장하는 명령어

문법 tar [crtuxNbf lmgvw] [file ... ]

options

c 새로운 테이프에 새로 저장

r 지정한 화일을 테이프의 마지막부터 저장

t 지정한 화일이 테이프에 검출될 때마다 화일명 및 정보를 출력

x 지정한 화일을 테이프에서 꺼집어 낸다


158. tbl - nroff 또는 troff의 도표 작성 도구


159. tee - 표준 출력으로 방향 전환


160. telnet - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속


161. test - 주워진 환경이 참인지, 거짓인지를 돌려줌


162. tftp - 간단한 ftp.


163. time - 명령 실행 시간 계산


164. touch - 파일 날짜 관련 부분을 바꿈

파일이나 디렉토리의 timestamp를 업데이트시키는 명령어이다. 현존하는 특정 파일을 지정하지 않으면, 해당 이름의 비어있는 파일이 생성된다


165. troff - 문서 양식화 도구


166. true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령


167. tsort - topological sort


168. tty - 현재 터미날 이름 보기


169. ue - MICROemacs


170. ul - 밑줄 속성 문자 표현


171. umask - 시스템 파일이 만들어질 때 허가권의 기본값을 정하기 위해 사용되는 명령어


172. unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움


173. uniq - 중복되는 빈줄 지우기

문법 uniq [-dcu [+n] [-n]] [input [output]]

options

-c 각 라인 앞의 중복된 횟수를 나타낸다

-d 중복된 라인의 첫째 라인만 출력

-u 중복되지 않은 라인만 출력

input 입력화일 지정

output 출력화일 지정


174. units - 프로그램 변환도구


175. uptime - 시스템 부팅 기간 보기


176. users - 현재 접속 사용자 보기


177. uucp, uulog, uuname - 시스템 간의 복사

178. uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩


179. uusend - 리모트 호스트에 파일 보내기


180. uux - 리모트 시스템 명령 실행


181. vacation - 자동으로 편지 답장하기


182. vgrind - grind nice program listings


183. vi, view, vedit - ex 바탕의 편집기


184. vtroff - 문서 양식화 도구


185. w - 현재 누가 접속해 있으며, 무엇을 하고있는지


186. wait - 프로세스가 마치기를 기다림

프로세스의 종료를 기다린 후 그 결과를 출력하는 명령어

문법 wait [n]

options

n 대기하는 백그라운드 프로세서 ID를 지정


187. wall - 모든 사용자에게 알림

UNIX sysytem을 사용하는 모든 사용자에게 메세지를 전달하는 명령어

문법 wall login name


188. wc - 단어, 줄, 바이트 계산

화일에 있는 단어 ,라인,문자수를 계산하는 명령어

문법 wc [-clw] [file ... ]

options

-c 문자수만 계산

-l 라인수만 계산

-w 단어수만 계산


189. what - 파일에서 SCCS 버전 정보 알아냄


190. whatis - 명령의 간단한 설명 보여줌


191. whereis - 찾는 명령의 실행파일, 소스, 맨페이지가 어디 있는지 경로를 보여줌


192. which - 명령만 찾음.


193. who - 시스템에 접속되어 있는 사람만 보여줌


194. whoami - 현재 사용하고 있는 자신이 누군지 보여줌


195. write - 다른 사용자의 화면에 특정 내용을 알림

다른 사용자에게 메세지를 전달하는 명령어

문법 write user [line]

options

user 메세지를 보내는 사용자명

line 접속할 라인이나 terminal을 지정


196. xargs - 명령행 인자 처리 명령


197. xstr - extract strings from C programs to implement shared strings


198. yacc - yet another compiler-compiler: 파싱(형태소분석) 프로그램 생성기


199. yes - 항상 yes만 응답하는 명령


200. zcat - 압축 파일 내용보기

준비 파일


db-4.6.21.tar.gz

qpopper-4.0.5.tar.gz

sendmail.8.14.2.tar.gz


db-4.6.21.tar.gz이건 버클리 DB 홈페이지에서 다운 받는게 오류가 안났었음... http://www.oracle.com/technology/products/berkeley-db/db/index.html

qpopper-4.0.5.tar.gz 는 http://www.sunfreeware.com 여기

sendmail.8.14.2.tar.gz http://www.sendmail.org 여기서 받으면 됨~


gcc나 libiconv는 깔려있다고 가정하겠슴~~


Berkeley DB 설치


[testsol:root:/inst] gunzip db-4.6.21.tar.gz
[testsol:root:/inst] tar -xvf db-4.6.21.tar
[testsol:root:/inst] cd db-4.6.21/build_unix
[testsol:root:/inst/db-4.6.21/build_unix] env CC=gcc ../dist/configure

그냥 ../dist/configure하면 c compiler 어쩌고 저쩌고 에러가 남으로 위처럼 configure

[testsol:root:/inst/db-4.6.21/build_unix] make
[testsol:root:/inst/db-4.6.21/build_unix] make install


Sendmail 설치

[testsol:root:/inst] gunzip sendmail.8.14.2.tar.gz
[testsol:root:/inst] tar -xvf sendmail.8.14.2.tar

Build 하기전 준비

[testsol:root:/inst/sendmail-8.14.2] cd devtools/OS
[testsol:root:/inst/sendmail-8.14.2/devtools/OS] vi SunOS.5.9

아래 그림의 빨간 박스안 내용 추가


[testsol:root:/inst/sendmail-8.14.2/devtools/OS] cd ../Site
[testsol:root:/inst/sendmail-8.14.2/devtools/Site] vi site.config.m4

APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.6/include')
APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.6/lib')
(Copy & Paste~~)
위의 내용으로 site.config.m4파일 만든다.


[testsol:root:/inst/sendmail-8.14.2/devtools/Site] vi /etc/ld.so.conf

 

/usr/local/BerkeleyDB.4.6/lib

(Copy & Paste~~)

위의 내용으로 /etc/ld.so.conf 파일 만든다.


[testsol:root:/inst/sendmail-8.14.2/devtools/Site] cd /usr/local/BerkeleyDB.4.6/lib
[testsol:root:/usr/local/BerkeleyDB.4.6/lib] cp libdb-4.6.so /usr/lib
[testsol:root:/usr/local/BerkeleyDB.4.6/lib] chmod 444 /usr/lib/libdb-4.6.so

[testsol:root:/usr/local/BerkeleyDB.4.6/lib] cd /usr/share/man
[testsol:root:/usr/share/man] mkdir cat8
[testsol:root:/usr/share/man] mkdir cat5
[testsol:root:/usr/share/man] mkdir cat1

[testsol:root:/usr/share/man] cd /inst/sendmail-8.14.2/makemap
[testsol:root:/inst/sendmail-8.14.2/makemap] Build

[testsol:root:/inst/sendmail-8.14.2/makemap] cd ..
[testsol:root:/inst/sendmail-8.14.2] Build

[testsol:root:/inst/sendmail-8.14.2] cd cf/cf
[testsol:root:/inst/sendmail-8.14.2/cf/cf] cp generic-solaris.mc sendmail.mc
[testsol:root:/inst/sendmail-8.14.2/cf/cf] Build sendmail.mc
[testsol:root:/inst/sendmail-8.14.2/cf/cf] sh Build install-cf
[testsol:root:/inst/sendmail-8.14.2/cf/cf] sh Build submit.cf

[testsol:root:/inst/sendmail-8.14.2/cf/cf] cd ../..
[testsol:root:/inst/sendmail-8.14.2] Build install


[testsol:root:/etc/mail] touch access

access파일 만들어서 access.db로 만들고 (access에서 설정할것은 개인별로 알아서.. RELAY 시킬 것은 RELAY 시키고 REJECT 시킬건 REJECT 시키고...)

[testsol:root:/etc/mail] makemap hash /etc/mail/access < /etc/mail/access
이제 센드메일 실행시키고~http://www.abuse.net/relay.html 여기서 릴레이 테스트 해보자~


Qpopper 설치


[testsol:root:/inst] gunzip qpopper-4.0.5.tar.gz
[testsol:root:/inst] tar -xvf qpopper-4.0.5.tar
[testsol:root:/inst] cd qpopper4.0.5
[testsol:root:/inst/qpopper4.0.5] configure
[testsol:root:/inst/qpopper4.0.5] make
[testsol:root:/inst/qpopper4.0.5] make install


[testsol:root:/inst/qpopper4.0.5] cp /usr/local/sbin/popper /usr/local/lib

[testsol:root:/inst/qpopper4.0.5] vi /etc/inetd.conf

pop3    stream  tcp     nowait  root    /usr/local/lib/popper   popper -s
(Copy & Paste~~)

설정을 다시 로드 하기 위해서


[testsol:root:/inst/qpopper4.0.5] ps -ef | grep inet

[testsol:root:/inst/qpopper4.0.5] kill -HUP 159


이제 아웃룩에서 설정해보고 사용해보도록 합시다~~~


출처  : http://blog.naver.com/drakers

'solaris' 카테고리의 다른 글

Solaris9 + apache + tomcat + oracle 최신판 설치 !!  (0) 2008.02.18
solaris9 + tomcat6 + apache2.2  (0) 2008.01.08
솔라리스 SWAP / swap  (0) 2007.09.03
솔라리스 10의 주요 기능  (1) 2007.08.27
솔라리스 SSHD  (0) 2007.08.22

출처 : http://kldp.org/


 

1. 소개
1.1 팁 분류, 내용

2. 파일 관리AID CDATA tip1(LABEL)LABEL
2.1 파일시스템 모두 복사하기 , 장범수(bschang@kldp.org) - 2000.05.16
2.2 깨진 타 (tar) 파일 복구 시도 , 장범수(bschang@kldp.org) - 2000.05.16
2.3 특정 사용자 소유의 모든 파일을 찾을때는? , 관리자 - 99.10.7
2.4 tar와 bzip2 , Kapsoo Jeon - 99.04.27
2.5 짜증나는 tarball , 관리자 - 99.04.15
2.6 파일 크기 0로 만들기 , 관리자 - 99.04.15
2.7 gzip대신 bzip2쓰기 , 관리자 - 99.04.14
2.8 파일 여러개로 자르기 , 관리자 - 99.04.14
2.9 하드 공간 절약 , 관리자 - 99.04.15
2.10 파일 정보 알아내기 , 관리자 - 99.04.15

3. 프로그램AID CDATA tip2(LABEL)LABEL
3.1 파일을 제외하고 디렉토리 이름만 보기 , 장범수(bschang@kldp.org) - 2000.05.16
3.2 프로세스 남겨 놓고 집에 가기 , 장범수(bschang@kldp.org) - 2000.05.16
3.3 grep 사용팁 , 겨울아이(winchild@kldp.org) - 2000.03.02
3.4 egrep 사용하기 , 관리자 - 2000.02.04
3.5 more,less에서 편집하기 , 관리자 - 99.11.29
3.6 less 사용팁 , 박 종대 - 99.11.27
3.7 less 사용팁 , 문 원석 - 99.05.20
3.8 한텀에서 한자 입력 , 관리자 - 99.05.07
3.9 안죽는 프로그램 처리 , 관리자 - 99.04.22
3.10 프로그램 실행 시간 , 관리자 - 99.04.22
3.11 mp3 끊김 현상 , 관리자 - 99.04.22
3.12 less 사용팁 , 관리자 - 99.04.15

4. 시스템 관리AID CDATA tip3(LABEL)LABEL
4.1 memtest-메모리부분의 에러를 발견해주는 유틸리티 , 양유성(yooseong@kldp.org) - 2000.05.03
4.2 리눅스 표준시간 설정하기 , 겨울아이(winchild@kldp.org) - 2000.02.07
4.3 스왑 파일 만들기 , 정원영 - 2000.02.03
4.4 로긴 전,후 메세지 편집하기 , 관리자 - 99.05.07
4.5 메모리 절약하기 , from Small-Memory mini-HOWTO - 99.05.07
4.6 일반 유저 마운트 허용하기 , 관리자 - 99.05.04
4.7 kernel 버젼 확인 , 관리자 - 99.04.22
4.8 syslogd 사용 , 관리자 - 99.04.15
4.9 로드된 모듈 확인 , 관리자 - 99.04.15
4.10 root의 텔넷로긴 허용 , 관리자 - 99.04.15
4.11 특정 사용자, 그룹에게 root권한 명령주기 , 관리자 - 99.04.15
4.12 현재 시스템의 메모리와 스왑 상태를 알아보려면? , 관리자 - 99.04.15
4.13 모니터가 없는 시스템의 halt상황은 어떻게 알것인가? , 관리자 - 99.04.15
4.14 idle상태에서 hardpower down시키기 , 관리자 - 99.04.15
4.15 su root ? 아니면 su - ? , 관리자 - 99.04.15
4.16 nologin 안내문 , 관리자 - 99.04.15
4.17 ctrl-alt-del을 shutdown으로 , 관리자 - 99.04.15

5. 메일, 뉴스AID CDATA tip4(LABEL)LABEL
5.1 메일 같이 받아보기 , 관리자 - 99.04.15
5.2 pine에서 From: 바꾸기 , 관리자 - 99.04.15
5.3 slrn에서 From: 라인 바꾸기 , 관리자 - 99.04.15

6. 삼바AID CDATA tip5(LABEL)LABEL
6.1 Komba , 황수현 - 2000.05.01
6.2 삼바 한글 사용 , 관리자 - 2000.01.10
6.3 smbmount , 관리자 - 99.04.15

7. 네트워크AID CDATA tip6(LABEL)LABEL
7.1 내 시스템이 다른곳에서의 ping에 응답하지 않게 하려면? , 관리자 - 99.05.07
7.2 모뎀 튜닝 , 관리자 - 99.05.06
7.3 BIND 버젼 확인법 , 김 승영 - 99.04.29

8. XAID CDATA tip7(LABEL)LABEL
8.1 그놈 패널에서 아이콘 이동하기 , 특그비(ganadist@dacome.co.kr) - 2000.05.03
8.2 리눅스에서 윈도우키 사용하기 , 관리자 - 99.11.04
8.3 X 배경화면 일정 시간마다 바꾸기 , 관리자 - 99.05.04
8.4 xdm에서 환경파일 , 강정희 - 99.04.20
8.5 X screenshot은 어떻게? , 관리자 - 99.04.20
8.6 윈도 매니저 골라 쓰기 , 관리자 - 99.04.20
8.7 마우스 포인터 속도 조절 , 김 종연 - 99.04.13
8.8 MC(Midnight Commander)에서 기능키 , 관리자 - 99.04.20

9. 프린팅AID CDATA tip8(LABEL)LABEL
9.1 맨 페이지 프린트하기 , 박천구(mix1009@mail.hananet.net) - 2000.05.17
9.2 troff,groff로 문서 포맷 , 이 범석 - 99.07.11
9.3 man페이지 프린팅1 , 관리자 - 99.04.15
9.4 man페이지 프린팅2 , 관리자 - 99.04.15

10. bashAID CDATA tip9(LABEL)LABEL
10.1 tcsh에서 vi 에디팅 모드 사용하기 , 김강석(kskim@rtbase.com) - 2000.03.29
10.2 bash에서 vi 에디팅 모드 사용하기 , 김재석(typist@hitel.net) - 2000.03.28
10.3 bash 팁 , 이 범석 - 99.07.11
10.4 bash 팁 몇가지 , 관리자 - 99.04.22

11. rpmAID CDATA tip10(LABEL)LABEL
11.1 SRPM 컴파일하기 , 임은재 - 2000.03.14
11.2 rpm 패키지와 파일 용량 , from usenet - 2000.01.28
11.3 rpm 패키지에서 원하는 파일만 풀어내기 , from usenet - 99.10.8
11.4 rpm 리스트 만들어 놓기 , 관리자 - 99.04.15
11.5 퍼미션 복구 , 관리자 - 99.10.7

12. PHP AID CDATA tip11(LABEL)LABEL
12.1 PHP Zend에서 한글깨지는 문제 , 정원영(suni00@kernel.pe.kr) - 2000.04.14
12.2 php 3.0.16에서 문자셋을 EUC-KR로 고정하기 , 권순선(kss@kldp.org) - 2000.04.25

13. 초미니 하우투 AID CDATA tip12(LABEL)LABEL
13.1 perl을 DSO로 설치하기AID CDATA mini16(LABEL)LABEL
13.2 루트 패스워드의 복구 방법AID CDATA mini15(LABEL)LABEL
13.3 lxr-0.3(source browser)설치법AID CDATA mini14(LABEL)LABEL
13.4 커널 2.3/4 를 사용하려면..AID CDATA mini13(LABEL)LABEL
13.5 SGML에 그림 넣기AID CDATA mini12(LABEL)LABEL
13.6 신세대 메일링 리스트 관리자 mailmanAID CDATA mini11(LABEL)LABEL
13.7 icecast 를 이용한 라디오 방송AID CDATA mini10(LABEL)LABEL
13.8 Linux On A FloppyAID CDATA mini9(LABEL)LABEL
13.9 Tomcat3.1m 설치 하기AID CDATA mini8(LABEL)LABEL
13.10 리눅스 박스 한눈에 모니터링 하기AID CDATA mini7(LABEL)LABEL
13.11 LILO 활용하기AID CDATA mini6(LABEL)LABEL
13.12 mtrr 사용으로 X 속도 향상AID CDATA mini5(LABEL)LABEL
13.13 ATAPI CD-RW인식시키기 Ver1.02AID CDATA mini4(LABEL)LABEL
13.14 휠 마우스 사용하기AID CDATA mini3(LABEL)LABEL
13.15 메일 알리아스를 이용한 간단한 메일링 리스트AID CDATA mini2(LABEL)LABEL
13.16 자동 로그인AID CDATA mini1(LABEL)LABEL
13.17 X 고해상도AID CDATA mini0(LABEL)LABEL

14. 기타
14.1 편집자, 참여 방법
14.2 주의사항
14.3 저작권
14.4 도움주신 분들

______________________________________________________________________

1. 소개

본 문서는 Korean Linux Tip Project(KLTP)를 운영하면서 모여지는 리눅스
팁들을 하나의 문서로 정리한 것 입니다. 팁 프로젝트에 참여하고자
하시는 분들은 한글 리눅스 팁 프로젝트로 방문 하시면 되겠습니다.

앞으로 이 문서는 주기적으로 업데이트되 더욱 많은 분들이 볼수 있도록
KLDP(리눅스 한글 문서 프로젝트)에 등록될것입니다. 많은 분들의 참여
바랍니다.

KLTP 메일링 리스트 :
http://kldp.org/mailman/listinfo/tip/

1.1. 팁 분류, 내용

팁은 현재 다음과 같이 분류했습니다.

o ``파일 관리''

o ``프로그램''

o ``시스템 관리''

o ``메일, 뉴스''

o ``삼바''

o ``네트워크''

o ``X''

o ``프린팅''

o ``bash''

o ``rpm''

o ``PHP''

o ``초미니 하우투''

팁내용 위에는 작성자와 날짜를 표기하였습니다.

2. 파일 관리

2.1. 파일시스템 모두 복사하기 , 장범수(bschang@kldp.org) - 2000.05.16

파일 시스템 전체나 디렉토리 트리 구조를 동일하게 복사하기
위해서는 다음의 명령어를 쓴다.

# mkdir /home/bc/destination
# cd /targetdir
# find . -depth -print | cpio -pmdvl home/bc/destination

이러면 /targetdir의 모든 것이 /home/bc/destination으로 복사된다.

2.2. 깨진 타 (tar) 파일 복구 시도 , 장범수(bschang@kldp.org) -
2000.05.16

기껏 다운 로드를 열심히 한 후에 보면 가끔 타 뭉치가 조금
깨져 있는 경우가 있다. 이 때에는 다음의 방법을 써서 복구를
"시도"해 본다.

$ cat [tar-filename] | tar -xvf -장소

장소는 스텐다드 아웃풋.

2.3. 특정 사용자 소유의 모든 파일을 찾을때는? , 관리자 - 99.10.7

특정 사용자 소유의 모든 파일을 찾을때는?
find / -user "사용자 ID" -print

2.4. tar와 bzip2 , Kapsoo Jeon - 99.04.27

요즘 GNU tar는 bzip2를 지원합니다.
tar Ixvf package.tar.bz2
이런식으로 I 옵션을 사용하면 됩니다.
debian 2.1과 redhat 5.2에 포함된 tar에서 확인

2.5. 짜증나는 tarball , 관리자 - 99.04.15

가끔 다운 받은 파일을 untar하다 보면 해당 디렉토리가 생기지 않고
현재 디렉토리에 모든 파일이 풀려버려 정신없을때가 있는데...
이럴때 rm 'tar ftz stupidpackage-1.0.0.tar.gz' 하면 해당파일만
지워진다.

2.6. 파일 크기 0로 만들기 , 관리자 - 99.04.15

파일의 크기를 0으로 만들어야 할때가 있다.
가령 /var/log 속에는 관리해주지 않으면 끝없이 커지는 로그파일들이
들어있다 이럴때는
cp -f /dev/null /var/log/messages
또는 > /var/log/messages

2.7. gzip대신 bzip2쓰기 , 관리자 - 99.04.14

gzip대신 bzip2를 tar와 같이 쓰고 싶을땐? 다음과 같은 스크립트나
alias를 만든다.

______________________________________________________________________
$ cat tarx-bzip2
#!/bin/sh
tar --use-compress-program bunzip2 -xvp -f $1

$ cat tarc-bzip2
#!/bin/sh
tar --use-compress-program bzip2 -cvf $1.tar.bz2 $2
______________________________________________________________________

2.8. 파일 여러개로 자르기 , 관리자 - 99.04.14

파일을 여러개로 자르고 싶을때는?
split 를 사용한다.
man split

2.9. 하드 공간 절약 , 관리자 - 99.04.15

하드 공간 절약을 위해 대부분의 텍스트파일들은(예를 들면 하우투 문서)
압축을 해놓고 필요할때는 zless, zgrep, zdiff 등의 유틸리티를 사용하면
된다.

2.10. 파일 정보 알아내기 , 관리자 - 99.04.15

어떤 파일에 대한 정보가 필요할때 file filename 해보라
재밌는 정보들을 보여준다

3. 프로그램

3.1. 파일을 제외하고 디렉토리 이름만 보기 , 장범수(bschang@kldp.org)
- 2000.05.16

현재 디렉토리에 있는 (파일은 빼고) 디렉토리 만 보기 위해서는

ls -la | grep "^d" : 숨은 디렉토리까지 보여 줌.
ls -l | gre[ "^d" : 보통 디렉토리 만 보여 줌.

이 것들을 (본인의 경우에는) .bashrc에 에일리어스로 적는다.
경우에는 .profile에 적어도 무방하다.

alias dra 'ls -la | grep "^d"'
alias dr 'ls -l | grep "^d"'

3.2. 프로세스 남겨 놓고 집에 가기 , 장범수(bschang@kldp.org) -
2000.05.16

일을 하다가 보면 로그 아웃하고 집에 갈 시간인데
작업 프로세스가 남아 있는 경우가 있다.
이럴 때에는 'nohup' 명령어를 쓴다.

% nohup tar -cf /dev/tape /home/usrdirs &

이렇게 해 놓고 그냥 휑하니 로그아웃하지 말고,
확인해 보고 집에 간다...

P.S.
집으로 가는 중간에 술 집에서 쥔 아줌마한테 "노헙 mv 나 집에"
따위의 말을 할 정도면 이미 많이 취한 상태...
그때는 그냥 로그 아웃하고 집으로 간다.

3.3. grep 사용팁 , 겨울아이(winchild@kldp.org) - 2000.03.02

rep '패턴' 파일명 하면 매치된 라인만 출력되는것 아시죠? 그러나 반대의 경우
즉 매치되지 않은 결과를 보고 싶을때는?

grep -v '패턴' 파일명

3.4. egrep 사용하기 , 관리자 - 2000.02.04

두세가지 문자열을 동시에 찾아야 할때는 egrep을 쓰면 아주 편합니다.
예를 들어
만약 그냥 grep으로 문자열1,2 를 찾으려면
ps -ef | grep 문자열1; ps -ef | grep 문자열2
와 같이 해야하는것을 egrep를 이용하면

ps -ef | grep '문자열1|문자열2'
와 같이 간단해집니다.

egrep '(pattern1|pattern2|pattern3)' file.txt

3.5. more,less에서 편집하기 , 관리자 - 99.11.29

more 나 less 로 파일을 읽다가 편집하고 싶을때 v 를 누르면
바로 vi로 해당 파일을 편집할수 있다.
단 more filename 또는 less filename 해야한다.
cat filename | more 로 했을 경우에는 작동하지 않는다.

3.6. less 사용팁 , 박 종대 - 99.11.27

less 사용 중에 계속해서 같은 방향을 찾으려면 'n',
반대 방향으로 찾아가려면 'N'입니다. (vi에서도 마찬가지입니다.)

파일의 맨 처음으로 가는 명령은 'g', 파일의 맨 뒤로 가는 명령은 'G'입니다.
(vi에서는 'gg' 명령과 'G' 명령. 거의 비슷하죠?)

less의 명령은 vi와 비슷합니다. 서로 비교해서 배우면 두 배로 이익이겠죠?

3.7. less 사용팁 , 문 원석 - 99.05.20

less 에서 문자열 검색 할 때 문서의 끝 쪽으로 가면서 찾기는 '/문자열'
앞 쪽으로 가면서 찾기는 '?문자열'입니다.
계속해서 같은 방향으로 찾으려면 'n'만 눌러도 됩니다.
방향을 바꾸려면 원하는 방향쪽의 검색지시 '/' 또는 '?'와 엔터키를 입력합니다.

3.8. 한텀에서 한자 입력 , 관리자 - 99.05.07

한텀에서 한자를 입력하려면?
입력하려는 한자를 한글로 입력후 Ctrl-F9를 누르고 고른다

3.9. 안죽는 프로그램 처리 , 관리자 - 99.04.22

kill pid번호로 프로그램이 죽지 않을때는?
kill -9 pid 해본다.

3.10. 프로그램 실행 시간 , 관리자 - 99.04.22

프로그램이 얼마동안 실행되는지 정확한 시간을 알고 싶을땐?
time -v sh -c 'make zlilo'

3.11. mp3 끊김 현상 , 관리자 - 99.04.22

nfs, cdrom mount한 디렉토리에 있는 mp3를 play하면 끊김 현상이 생긴다
mount옵션중 rsize를 변경해본다.
mount -t iso9660 -o rsize=2048 /dev/cdrom /mnt/cdrom

3.12. less 사용팁 , 관리자 - 99.04.15

텍스트파일을 읽을때 less를 쓰는데 찾기 기능은 어떻게?
/ 를 누르고 찾는 문자열을 입력한다.
동일한 문자열을 계속해서 찾을때는 /와 엔터만 치면 된다.

4. 시스템 관리

4.1. memtest-메모리부분의 에러를 발견해주는 유틸리티 ,
양유성(yooseong@kldp.org) - 2000.05.03

메모리 부분의 에러부분을 발견해주는 유틸리티인 memtest는 설치가
간단하고 사용하기가 편합니다.
http://www.qcc.sk.ca/~charlesc/software/memtester/ 에서 소스를 얻어
$tar -xvzf memtester-x.xx.tar.gz 를 하고 (x는 버젼을 의미) $make 를
통해 memtest라는 실행파일을 만든 후 원하는 만큼의 메모리와 반복횟수를
정하여 테스트 할 수 있다.

4.2. 리눅스 표준시간 설정하기 , 겨울아이(winchild@kldp.org) -
2000.02.07

한국표준연구소에서는 세슘원자시계를 이용한 시간 서비스를 인터넷에서 하고 있지요.
리눅스의 시간을 그 시계와 동조시키려면

# rdate -s time.kriss.re.kr

적당한 시간대에 cron에 등록해 두면 되겠습니다.

4.3. 스왑 파일 만들기 , 정원영 - 2000.02.03

스왑 파티션으로 스왑용량이 모자라 파일로 스왑만드는 방법

# dd if=/dev/zero of=/swap1 bs=1024 count=204800
(1024 바이트의 크기로 204800 블럭을 만드는거죠 즉 200M ,
만들고 싶은 크기x1024 해서 204800 대신 적어주세요.)
# mkswqp /swap1 204800 (스왑 파일 생성)
# sync; sync (확실하게 하기위해)
# swapon /swap1 ( 스왑 파일 활성화 )

free 명령으로 확인해 보세요.

해제할때는 swapoff /swap1 하시면 되겠죠.

부팅시 마다 스왑 파일을 활성화 시킬려면 /etc/rc.d/rc.local 파일
끝에 swapon /swap1 이라고 추가하면 됩니다.

4.4. 로긴 전,후 메세지 편집하기 , 관리자 - 99.05.07

로긴 전,후에 나오는 메세지를 바꾸고 싶을때는
로긴 전에 나오는 메세지는 /etc/rc.d/rc.local
로긴 후에 나오는 메세지는 /etc/motd 를 편집한다

4.5. 메모리 절약하기 , from Small-Memory mini-HOWTO - 99.05.07

대부분의 리눅스 배포본은 기본적으로 6개 정도의 가상 콘솔이 있다.
주로 X를 쓰거나 가상 콘솔을 많이 쓰지 않을 경우 /etc/inittab 파일안에
다음과 같은 라인을 주석처리 하여 메모리를 절약할수 있다.

# Run gettys in standard runlevels
1:12345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

4.6. 일반 유저 마운트 허용하기 , 관리자 - 99.05.04

일반 유저에게 mount,unmount를 허용하려면?
/etc/fstab 을 수정한다.
/dev/cdrom /mnt/cdrom iso9660 noauto,ro,user
위와 같이 user라는 옵션을 추가하면 된다.

4.7. kernel 버젼 확인 , 관리자 - 99.04.22

현재 사용중인 Kernel 버전 확인은?
uname -a

4.8. syslogd 사용 , 관리자 - 99.04.15

여러대의 컴퓨터가 연결되어 있는 네트워크 관리자라면
syslogd -r 옵션을 사용하여 여러대를 동시에 감시할수 있을것이다

4.9. 로드된 모듈 확인 , 관리자 - 99.04.15

lsmod 로 로드된 모듈을 확인해볼수 있다

4.10. root의 텔넷로긴 허용 , 관리자 - 99.04.15

root의 telnet login을 허용하려면?
/etc/securetty 를 편집한다. man securetty

하지만 넷트웍상의 컴퓨터라면 어떠한 경우에라도 root의 텔넷허용은 위험합니다.
su - 하시는게 좋겠습니다.

4.11. 특정 사용자, 그룹에게 root권한 명령주기 , 관리자 - 99.04.15

특정한 사용자, 그룹에게 root권한으로 명령을 수행하도록 하고 싶을땐?
sudo 를 사용한다.
http://www.courtesan.com/sudo/

4.12. 현재 시스템의 메모리와 스왑 상태를 알아보려면? , 관리자 -
99.04.15

현재 시스템의 메모리와 스왑 상태를 알아보려면?
free

4.13. 모니터가 없는 시스템의 halt상황은 어떻게 알것인가? , 관리자 -
99.04.15

모니터가 없는 시스템의 halt상황은 어떻게 알것인가?
/etc/rc.d/init.d/halt를(redhat일때) edit해서 system halted라는
메세지 마지막에 ctrl-g를 넣어준다.

4.14. idle상태에서 hardpower down시키기 , 관리자 - 99.04.15

idle상태에서 hardpower down시키기...
hdparm -S 60 /dev/hda (5분이상 idle일때 파워다운)

4.15. su root ? 아니면 su - ? , 관리자 - 99.04.15

root 로 telnet로긴 하는것은 위험하다 그러면 알리아스나
ls color등의 설정이 안되어 불편한데...
su - 로 한다.
그러면 /etc/profile을 읽어들인다.

4.16. nologin 안내문 , 관리자 - 99.04.15

system 공사중일때 root외에 다른 사용자는 로긴하지 못하게 한다
/etc/nologin 이라는 파일을 만들고 공사중이라는 안내문을 넣으면 된다

4.17. ctrl-alt-del을 shutdown으로 , 관리자 - 99.04.15

혼자만 사용하는 박스에서 가끔은 su로 shutdown시키는 것이 귀찮을때도
있다. 더 간단한 방법이 없을까?
/etc/inittab 을 다음과 같이
# Trap CTRL-ALT-DELETE
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
ca::ctrlaltdel:/sbin/shutdown -h now
원래 reboot하게 되있지만 halt되게 바꿨다 reboot할때는 halt메세지후
한번 더 누르면 된다. 더 좋은 방법은 없을까요?

5. 메일, 뉴스

5.1. 메일 같이 받아보기 , 관리자 - 99.04.15

silver계정으로 오는 메일중에 다음주소로 부터 오는 편지는 sujin으로
보낸다.
물론 silver도 받고...
silver home디렉토리에 다음과 같은 rc파일을 만든다.
[ gate@silver ]cat .procmailrc
:0 c
* ^From:
newsmail@ns.khan.co.kr
! sujin

5.2. pine에서 From: 바꾸기 , 관리자 - 99.04.15

pine에서 작성한 메일의 From: 라인을 내마음대로 바꾸고 싶을때는?
.pinerc파일에 직접 다음과 같은 라인을 추가한다.

feature-list=enable-8bit-esmtp-negotiation,
enable-8bit-nntp-posting,
pass-control-characters-as-is,
allow-changing-from -- 요거

5.3. slrn에서 From: 라인 바꾸기 , 관리자 - 99.04.15

slrn에서 포스팅할때 From: 라인을 바꾸고 싶을때는?
.slrnrc 파일을 다음과 같이
hostname "linux.org"
set username "silver"
set realname "Im Eunjea"
set replyto "silver@linux.org"

6. 삼바

6.1. Komba , 황수현 - 2000.05.01

samba사용을 편하게 하는 툴입니다.
윈과 공유시 상당히 편하네요.
이웃 컴 이름과 공유 디렉토리도 보여주고
마운트도 버튼으로 되는 군요.

저처럼 게으른 사람에게는 상당히 편해요.
공유로 chart를 나누는데 다들 MS라서
불편한데 요녀석이 도와주는 군요.

6.2. 삼바 한글 사용 , 관리자 - 2000.01.10

삼바 서버상의 공유 폴더에 한글 폴더, 파일 이름을 사용하려면?
smb.conf 설정파일에 다음 옵션을 넣는다.
mangle case = no
preserve case = yes
short preserve case = yes

6.3. smbmount , 관리자 - 99.04.15

smb 2.0.0 이후부터는 다음과 같이 옵션을 주고 컴파일해야
smbmount를 사용할수 있다,
./configure --with-smbmount
smbmount 등의 바이너리가 생긴다

7. 네트워크

7.1. 내 시스템이 다른곳에서의 ping에 응답하지 않게 하려면? , 관리자 -
99.05.07

내 시스템이 다른곳에서의 ping에 응답하지 않게 하려면?
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
다시 응답하게 할때는
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

7.2. 모뎀 튜닝 , 관리자 - 99.05.06

리눅스에서 모뎀이 느리다구요? 다음과 같이 한번 해보세요.
setserial -a -v /dev/ttyS1 spd_vhi
물론 디바이스명은 본인에 맞게...

7.3. BIND 버젼 확인법 , 김 승영 - 99.04.29

BIND 버젼 확인법
dig @네임서버명 txt chaos version.bind. | grep VERSION
예: dig @ns.nobreak.com txt chaos version.bind. | grep VERSION

8. X

8.1. 그놈 패널에서 아이콘 이동하기 , 특그비(ganadist@dacome.co.kr) -
2000.05.03

아이콘을 이동하려면 3번째 버튼(에물레이션 모드에선 양쪽버튼 모두)를
드래그 하면 패널상의 아이콘이나 애플릿이 이동이 됩니다.

8.2. 리눅스에서 윈도우키 사용하기 , 관리자 - 99.11.04

스페이스바옆에 붙어 있는 리눅스에서는 거추장스럽기 만한 윈도우, 메뉴키등을
X 상에서 활용하려면 어떻게 해야 할까요?
일단 XF86Config 파일에 키보드 항목중 XkbModel을 microsoft로 설정해줍니다.

Section "Keyboard"
Protocol "Standard"
XkbModel "microsoft"
EndSection

저의 경우 윈도우 매니저를 afterstep을 쓰므로, 해당 feels 파일에 다음과 같은
항목을 넣어주었습니다.

# Window keys
Key Menu A A Popup "Start"
Key Meta_L A A WarpFore
Key Meta_R A A WarpBack

메뉴키는 메뉴가 뜨도록, 윈도우키는 윈도그상에서 ALT-TAB과 비슷한 역할을 하도록
설정하였습니다. 각자 취향에 맞게 설정하시면 되겠죠?

8.3. X 배경화면 일정 시간마다 바꾸기 , 관리자 - 99.05.04

X 배경화면을 일정 시간마다 랜덤하게 바꾸고 싶은데?
다음을 cron에 등록한다
xv -root -quit -random /home/silver/wallpaper/*
배경 화면이 있는 path는 본인에 맞게...

8.4. xdm에서 환경파일 , 강정희 - 99.04.20

startx로 잘 써오다가 xdm으로 바꾸고
한텀 등에서 키맵 등이 사라져 당황할 수 있다.
그럴 땐 이렇게 해보자.
/etc/X11/xdm/Xsession 파일을 에디터로 연다.
exec Xclients로 되어 있는 부분을 exec xinitrc로 바꾼다.
이제 설정이 적용된 것을 볼 수 있을 것이다.

8.5. X screenshot은 어떻게? , 관리자 - 99.04.20

X screenshot은 어떻게?
import -window root root.jpeg

8.6. 윈도 매니저 골라 쓰기 , 관리자 - 99.04.20

만약 여러개의 윈도매니저를 쓴다면 .xinitrc에 다음과 같은 문장으로
원하는 매니저를 골라 쓸수 있다.

xmessage -center -buttons 'fvwm2':1,'fvwm':2 'AfterStep':3 "Choose window manager"
ANS=$?
if [ $ANS -eq 1 ]; then
exec fvwm2
fi
if [ $ANS -eq 2 ]; then
exec fvwm
fi
if [ $ANS -eq 3 ]; then
exec afterstep
fi

8.7. 마우스 포인터 속도 조절 , 김 종연 - 99.04.13

마우스 포인터를 빨리 움직이게 하려면?
/etc/X11/XF86Config에 다음을 추가한다.

Section "Pointer"
...
Resolution 200
EndSection
*로지텍 퍼스트 마우스, PS/2 에서만 테스트 해봤음.

8.8. MC(Midnight Commander)에서 기능키 , 관리자 - 99.04.20

MC(Midnight Commander)에서 잘되던 home,end,page up,down 키등이
X상에서는 안되는데?
option menu에 learn key를 사용한다.

9. 프린팅

9.1. 맨 페이지 프린트하기 , 박천구(mix1009@mail.hananet.net) -
2000.05.17

PostScript 지원 프린터나 Ghostscript을 설치했다면,
man -t lilo > lilo.ps
를 사용하면 더 좋은 출력 결과가 나옴.
a2ps, enscript, psutils 등의 유틸리티로 장당
여러 페이지 인쇄가능.

9.2. troff,groff로 문서 포맷 , 이 범석 - 99.07.11

troff 또는 groff로 포맷팅된 깨끗한 문서를 프린팅 할 수 있습니다.

9.3. man페이지 프린팅1 , 관리자 - 99.04.15

man 페이지를 프린팅할때는?
man 명령어 | lpr

9.4. man페이지 프린팅2 , 관리자 - 99.04.15

man - vi | col -b > filename.txt

이렇게 하시면 쓸데없는 제어문자들이 싹 빠지므로
편집, 인쇄하기 편해집니다.

10. bash

10.1. tcsh에서 vi 에디팅 모드 사용하기 , 김강석(kskim@rtbase.com) -
2000.03.29

vi mode는
bindkey -v
emacs mode는
bindkey -e

10.2. bash에서 vi 에디팅 모드 사용하기 , 김재석(typist@hitel.net) -
2000.03.28

bash에서 기본 에디팅모드는 emacs입니다. 즉, 명령어 입력시 emacs의
편집키들이 사용된다는 뜻입니다. 그런데, 리눅스를 제외한 다른
Unix 계열들은 대부분 vi 에디팅모드를 사용합니다.

그런데, 저는 리눅스가 아닌 Unix를 많이 사용해서 인지 vi 에디팅
모드가 훨씬 편하게 느껴져서 bash에서 vi 모드를 사용하고
있습니다.

vi 모드를 사용하기 위해서는 bash의 입력방법 설정을 수정해야
하는데, 그 설정은 환경변수 INPUTRC, /etc/inputrc, $HOME/.inputrc
등에 의해서 결정됩니다.

보통 레드햇계열은 전체입력환경으로 /etc/inputrc를 사용자별 환경
으로 $HOME/.inputrc를 사용하며, 원하는 화일에

set editing-mode vi
set keymap vi

를 삽입하면 다음 로그인부터는 vi 에디팅모드로 바뀝니다.

10.3. bash 팁 , 이 범석 - 99.07.11

(kill-line) ctrl-k를 누르면 현재 커서위치에서 끝까지 지워집니다.
(reverse-search-history) ctrl-r을 누르고 이전에 썼던 명령어의
일부를 입력하면 히스토리에서 그 문장을 포함하는 명령어가 찾아집니다.
찾아진 명령이 원하는 것이 아닐경우 다시 ctrl-r을 눌러
검색을 반복할 수 있습니다.

10.4. bash 팁 몇가지 , 관리자 - 99.04.22

ctrl-L을 눌러보세요, clear명령어와 같은 효과가 있습니다.

bash shell에서는 cd 명령어에 * 즉 와일드카드를 사용할수 있다.
cd blah*

ctrl-t를 누르면 두개문자가 서로 뒤바뀐다.

ctrl-u, ctrl-w를 누르면 현재 커서의 왼쪽에 있는 문자들만 삭제된다.

바로 전에 위치하고 있던 디렉토리로 이동할때는?
cd -

Bash는 tab-completion(tab 자동 채워주기?)를 지원한다.
예를 들어 blahblah라는 명령어가 있을때 bla까지만 입력하고
tab을 치면 나머지는 알아서 채워준다. 물론 디렉토리명도...

11. rpm

11.1. SRPM 컴파일하기 , 임은재 - 2000.03.14

rpm은 RPM 패키지를 만드는 소스패키지 입니다.
컴파일 방법은 rpm --rebuild blah.srpm 하면 쉽게 됩니다.
성공적으로 컴파일이 끝나면 만들어진 rpm 패키지는 redhat계열이라면
/usr/src/redhat/RPMS 안에 놓여지게 됩니다.

11.2. rpm 패키지와 파일 용량 , from usenet - 2000.01.28

다음은 패키지의 크기만 화면에 보여주는 아주 간단한 스크립트입니다.

______________________________________________________________________
$ cat rpmsize

#!/bin/sh
for i
do
/bin/rpm -qi $i |
/bin/awk '/^Size *: / { printf "%8d %sn", $3, "'"$i"'" }'
done
______________________________________________________________________

이를 rpm -qa와 결합하면 자신의 시스템에 설치된 모든 패키지의 크기를
잘 정리된 형태로 뽑아볼 수 있습니다.

$ rpm -qa | xargs rpmsize | sort -rn | less

이 예는 디스크가 모자랄 때 유용합니다.
덩치가 큰 것 중에서 잘 쓰지 않는 것을 골라서 삭제할 수 있으니까요.

11.3. rpm 패키지에서 원하는 파일만 풀어내기 , from usenet - 99.10.8

rpm 패키지를 설치하지 않고 그냥 풀거나, 특정 파일만 골라내고 싶을때는?
rpm2cpio filename.rpm | cpio -i --make-directories -E filename

11.4. rpm 리스트 만들어 놓기 , 관리자 - 99.04.15

가끔 내가 가지고 있는 redhat 배포본 CD에 어떤 패키지가 있는지
그 rpm안에 어떤 파일들이 들었는지 찾아봐야 할때가 있다
그럴때를 위해 다음과 같은 파일을 하나 만들어 놓고
grep 같은것 으로 쉽게 찾아볼수 있다
rpm -qpil /mnt/cdrom/RedHat/RPMS/*rpm > rpm_db.txt

11.5. 퍼미션 복구 , 관리자 - 99.10.7

레드햇등과 같이 rpm으로 설치했던 시스템의 파일들의 그룹과 오너등의
퍼미션이 원하지 않게 변경되었는데..., 어떻게 하면 원래대로 복구할수 있을까?
rpm --setperms -a

12. PHP

12.1. PHP Zend에서 한글깨지는 문제 , 정원영(suni00@kernel.pe.kr) -
2000.04.14

기본적으로 default_charset이 iso-8859-1로 설정되어있습니다.

html문서 <head> 부분에
<mata http-equiv="Content-Type" content="text/html; charset=EUC-KR">

이렇게 해줘도 되겠지만 이것마저 귀찮다면

php.ini 파일에서
default_charset = "iso-8859-1" 이부분을 찾아 주석을 풀고
default_charset = "euc_kr" 이렇게 하시면 됩니다.

12.2. php 3.0.16에서 문자셋을 EUC-KR로 고정하기 ,
권순선(kss@kldp.org) - 2000.04.25

이상하게도 php 3.0.16에서 문자셋을 지정하는 옵션이 php3.ini에 있음에도
불구하고 여기서 문자셋을 euc-kr로 지정해 주면 IE에서 php가 들어간
페이지를 제대로 읽어내지를 못하더군요.

<? phpinfo() ?> 로 확인해 보아도 문자셋이 제대로 들어가 있는데
말입니다. 넷스케이프는 문제가 없더군요.

그래서 아예 php3.ini에서는 문자셋 쪽 옵션을 건드리지도 않고 php에서
문자셋을 euc-kr로 박아버리는 방법을 썼습니다. php 3.0.16의 mod_php3.c
를 보시면 228번째 줄 정도를

______________________________________________________________________
r->content_type = "text/html;charset=euc-kr";
______________________________________________________________________

이렇게 고쳐주고 컴파일하면 됩니다.

13. 초미니 하우투

1. ``perl을 DSO로 설치하기''

2. ``루트 패스워드의 복구 방법''

3. ``lxr-0.3(source browser)설치법''

4. ``커널 2.3/4 를 사용하려면..''

5. ``SGML에 그림 넣기''

6. ``신세대 메일링 리스트 관리자 mailman''

7. ``icecast 를 이용한 라디오 방송''

8. ``Linux On A Floppy''

9. ``Tomcat3.1m 설치 하기''

10.
``리눅스 박스 한눈에 모니터링 하기''

11.
``[리로활용]윈도우+국내배보본(알짜,파워,미지,영문레드햇)''

12.
``mtrr 사용으로 X 속도 향상''

13.
``ATAPI CD-RW인식시키기 Ver1.02''

14.
``휠 마우스 사용하기''

15.
``메일 알리아스를 이용한 간단한 메일링 리스트''

16.
``자동 로그인''

17.
``X 고해상도''

13.1. perl을 DSO로 설치하기

글쓴이: 김창수
ogler@netian.com , 글쓴날: 2000-05-17

제가 perl을 DSO로 설치할려고 자료를 찾아봤더니 거의 없더군요.
그래서 원문을 바탕으로 어렵게성공 했습니다.

# 내가 적용한 DSO(Dynamic Shared Objet)방식은 아파치가 구동 중에 클라이언트로
# 부터 perl스크립트의 해석을 요청 받았을 때 비로서 perl이 구동하는 방식이다.
# 이는 항상 메모리에 상주하는 static방법보다 더 효율적이다.
#
# 여기에 대략적으로 설명을 남긴다.
# DSO를 설치하는 두가지 방법 중 아파치가 이미 설치된 경우로 했다.
# 이 경우는 apxs으로서 아파치에서 cgi스크립트가 활성화 되어야 하고
# mod_so가 모듈화 되어 있어야한다.(httpd -l)
# apxs setup방식
#
# $ cd apache-1.3.12
# $ ./configure --prefix=/usr/local/apache
# >--enable-shared=max
#
# 먼저 perl모듈패키지를 적당한 곳에 다운 받는다.
# 압축을 푼다.
# $ tar -xzvf mod_perl-1.23
#
# 압축 푼곳으로 이동한다
# $ cd mod_perl-1.23
# $ perl Makefile.PL
# >USE_APXS=1
# >WHITH_APXS=/usr/local/apache/bin/apxs
# >EVERYTHING=1
# $ make
# $ make install
#
# 이렇게 하면 자동으로 httpd.conf파일에 LoadModule과 AddModule라인이
# 추가된다. 쌍으로 되어있기 때문에 절대 순서가 바뀌면 안되다.
#
# 이제 아파치를 재시작한다.

그 밖에 httpd.conf의 cgi정의 부분도 경로에 맞게 수정해야합니다.
그리고 설치 전에/usr/bin/에 perl5.0이후 버전이 있어야합니다.

13.2. 루트 패스워드의 복구 방법

글쓴이: 장범수
bschang@kldp.org , 글쓴날: 2000-05-16

루트 패스워드가 생각이 나지 않는다면?

오랫동안 기계를 쓰지 않고 방치해 두어서 패스워드를 잃어버리거나, 다른
관리자가 쓰던 기계의 업무를 물려 받은 경우 따위로 루트 패스워드 를
아예 모르는 경우에는 다음의 방법을 써서 복구를 "시도"해 본다. (리눅스
설치 도중에 정전이 되는 등으로 루트 패스워드를 잃어 버린 경 우는 기술
상의 문제로 해당이 안됨을 미리 밝혀 둔다).

우선 릴로 프롬프트가 나올 때 [탭] 키를 눌러서 부트 가능한 이름들을
둘러 본다. 그 중에는 'linux'라는 것이나 비슷한 놈이 하나쯤 있기
마련...

linux init=/bin/bash

일단 프롬프트를 얻게 되면 부트 파일시스템을 리마운트 해 준다.

mount -wno remount / :루트를 읽기-쓰기용으로 리마운트 함.
/bin/vi /etc/passwd :패스워드 문서 다듬기
: vi가 싫으면 아무거나 원하는 것으로...

전통적인 방법은 패스워드 문서를 다듬어서 루트의 패스워드를 지우는
것이었다. passwd 문서에서 첫 번째 ':'와 두 번째 ':' 사이의 암호화되
어 적혀 있는 패스워드를 지워 주고 나서 다시 루트로 로그인하는 것이
었는데, 레드 햇이 범용적으로 사용된 요즘에는 (특히 레드 햇에 기존한
배포본이 거의 모두라고 할 수 있는 우리 나라의 경우에는) 이 방법은
먹혀들지가 않는다. 왜냐하면...

[1]. 쉐도우 패스워드!
[2]. 레드 햇은 루트의 패스워드가 비어 있으면 로그인을 허락하지 않는다.

방법: 0. 만약을 대비해서 우선 passwd 문서를 복사해 둔다. 'passwd.orig? inal' 따위 등으로...

1. 레드 햇 이외의 배포본에서 쉐도우 패스워드를 사용 안하는 경우:
/etc/passwd를 다듬어서 첫 번째 ':'와 두 번째 ':' 사이에 있는 암호화된
패스워드를 지워 버린다. 저장한 후, 루트로 로그인하면 패스워드를 안
물어 올 것이다. 루트로 일단 로그인이 되었으면 반드시 새로운 패스워
드를 설정하고 적당한 곳에 이 새로운 패스워드를 적어서 보관한다.
(안그럼 "언젠가는 또 이 짓을 반복하게 될 것"은 머피의 법칙 어디에서
인가 본 것 같다). 만약 이 방법이 통하지 않으면 3.1로 가라.

2. 레드 햇 이외의 배포본에서 쉐도우 패스워드. 사용의 경우: 이 경우에는
/etc/passwd를 보면 (배포본에 따라서 장소는 다를 수 있 다) ':'와 ':'
사이에 'x'가 보일 것이다. 이 때에는 /etc/passwd 대신에 /etc/shadow
등을 보듬어 주면 된다. (배포본에 따라서 shadow 문서의 위치가 다를 수
있다. 이 때에는 '/'에서 'find -name shadow'를 써서 shadow 문서가
어디에 있는지 찾아본다). 찾았으면, 여기서부터는 1의 방법과 같다.

3. 레드 햇 / 변종의 경우 (쉐도우 패스워드 사용): 레드 햇이나 이 것의
아종/변종의 경우인 경우에는 단순히 /etc/passwd 의 첫 번째 ':'와 두
번째 ':'를 비우는 짓을 했다가는 아예 로그인이 안되 는 불상사가 생길 수
있으므로 우선 passwd 명령어를 먼저 사용해 본 다. (배포본에 따라서 -
':'와 ':' 사이가 비어 있으면 passwd 명령어가 안될 수 있으므로). 만약
이 전의 패스워드를 모르더라도 passwd 명령어를 쓰면 새로운 패 스워드를
적어 넣을 수 있을 것이다. 만약 passwd를 쓰는 방법도 안된 다면 3.1을
쓰라. 당연히 새 패스워드는 적어놓고 안전한 곳에 보관할 것.

3.1 passwd 명령어가 안 먹히잖아! 다. 만약 지금 고치려는 기계에
여러분의 계정이 있는 경우에는 /etc/shadow 문서 어디엔가 여러분의
(루트가 아닌 다른 계정으로) 패스 워드가 암호화되어서 저장되어 있을
것이다. 이것을 복사해서 루트의 암호로 대신 넣어 주면 된다. 당연히
루트로 로그인한 후에는 여러분 패스워드를 넣어 주면 된다. 이 후에는
패스워드를 다시 바꾸어서 안전 한 곳에 보관한다. (사용자 계정과 루트
계정의 암호가 같으면 그것도 보안 관리 장애물이다).

그 이후에: 일단 기계를 루트 권한으로 손에 넣었으면 여기에서 일이
끝나는 것이 아니다. 이전의 사용자가 혹시 백도어용으로 쓰기 위해서
루트가 아닌 다른 이름으로 수퍼유저 계정을 만들어 놓았을 수 있으니까.

1. 패스워드나 쉐도우 문서를 잘 살펴서 UID가 0으로 되어 있는 계정을 잘
살펴보도록 하라.

2. 기계 전반의 보안을 기초부터 다시 구성하라. 리눅스 보안 하우투 문
서 및 다른 문서를 kldp.org에서 구하거나 말거나 는 여러분이 할 일이 다.
(싫음 말고... 하지만 보안 책임은 전적으로 "너!"에게 있는 것이다.
루트잖아!)

3. 사정이 허락한다면 사용자 전체의 패스워드를 바꿔 준다. 갑자기 바 꿔
놓거나 무조건 바꾸라는 요구를 하면 사용자들이 개떼같이 몰려와서
여러분을 마구 갈구고 갈 수 있으므로 다소 외교적인 방법을 사용한다.
예를 들면 "여러분의 패스워드는 다음 2 주일 이내에 교체해 주십시오. 이
후에는 패스워드가 x 달마다 자동으로 교체됩니다." 하는 등의 사용 자가
이해해 줄 수 있는 보안 방법을 쓰면 된다. 패스워드를 자동으로 변환
설정해 주는 방법은 여기에서는 생략하겠다.

4. 가능하다면 기계 안에 적어 보관하는 일지 (日誌) 말고도 손으로 적는
일지 (아니면 시스템 일기장 (日記帳))을 적는 것도 좋은 방법이다. 당
연히 이 곳에는 루트 패스워드를 원본 그대로 적어 두면 안된다. 하지 만
여러분 본인이나 다음 인수자가 알아볼 수 있는 방법을 쓴다. PGP 등을
써서 암호화된 문서를 저장한다든지 하는 기법은 여러분이 알아서 구해
보시기를...

혹 위의 방법을 도용해서 다른 사람이 여러분 시스템의 패스워드를 훔쳐
가려고 할 지도 모를 일이다. 그런 만큼 보안 하우투 (선전! 선전! = 본
인이 번역했음 ^^; ) 등의 문서를 읽어 보아서 기계 전반의 보안 능력을
올려놓는 방법을 많이 많이 쓰자.

13.3. lxr-0.3(source browser)설치법

글쓴이 : 추 정태
cutetux@hanmail.net , 글쓴날 : 2000-05-15

--LXR 0.3 설치 가이드--
(역 : 추정태
cutetux@hanmail.net )
LXR을 설치하기 위해서 다음과 같은 것들이 필요하다.
-Perl 5또는 그 이후버전
-CGI가 가능한 웹서버
그리고 임의 단어검색을 위해 다음이 필요하다.
-Glimpse

만약 펄이 설치되어 있지 않다면 다음의 장소에서 구할 수 있다.
http://www.perl.com/perl/info/sofrware.html

웹서버가 필요하다면 아파치를 다음의 장소에서 찾도록 하라.
http:///www.apache.org/

만약 Glimpse와 임의 단어검색기가 필요하다면 다음의 장소를 찾아봐라.
http://glimpse.cs.arizona.edu/ LXR은 GNU/Linux상에서 아파치 웹서버를
사용한 테스트를 최근에 끝냈다. 다른 유닉스계열의 운영체제상의
웹서버에서는 잘 작동할 것이다.

LXR을 설치하기 위하여:

-펄이 설치되어있고, LXR을 설치하기 원하는 시스템안에서 makefile안의
PERLBIN 변수와 INSTALLPREFIX변수 를 셋팅하라. [보충] 만약 perl
바이너리가 /usr/bin에 있다면 PERLBIN=/usr/bin 으로, INSTALLPREFIX는
LXR스크립트가 설치될 곳을 가리킨다. 만약 그대가
INSTALLPREFIX=/home/httpd/html/lxr로 했다면, Makefile은 몇개의
디렉토리를 그 곳에 생성할 것이다.

/home/httpd/html/lxr/source
/home/httpd/html/lxr/bin
/home/httpd/html/lxr/http

바로 위와 같은 디렉토리 들이다. 소스코드 참조(cross reference)를
하고,참조데이터베이스를 만들고, 또 참조된(crose referenced) 소스코드를
탐색키 위해서 각각 다음과 같은일을 해야 한다. -"make install"
root권한으로 해야한다. -$(INSTALLPREFIX)/http/lxr.conf 화일을
편집해야 한다. [보충]lxr.conf에는 LXR이 작동하기 위한 부가적인 몇몇의
설정들이 있다. 기본 설정에서 다음과 같은것들을 바꿀 수 있을 것이다.

baseurl:
http://[자신의 서버]/lxr/http/ 여기서 lxr/http는 웹서버의
document root와 연결(하위 디렉토리로)되어 있어야 한 다.

예를 들어 만약 그대의 document root가 /home/httpd/html이고
INSTALLPREFIX가 /home/httpd/html/lxr이면 baseurl은 다음과 같이 되어야
한다.

baseurl :
http://[자신의 서버]/lxr/http/
(주의)주소의 끝에 /를 쓰는것을 명심하라.
위의 예에 이어서,
htmlhead: /home/httpd/html/lxr/http/template-head
htmltail: /home/httpd/html/lxr/http/template-tail
htmldir: /home/httpd/html/lxr/httpd/template-dir

이 설정들은 html의 head, tail, 그리고 디렉토리리스트를 세팅하는
것이다. 이 화일들의 HTML태그들은 cross-reference웹페이지에 덧붙여질
것들이다. sourceroot 항목은 참조하고 싶은 소스가 있는 디렉토리를
가리킨다. 그리고 끝에 /를 붙이는 것을 잊지마라.

dbdir 항목은 $INSTALLPREFIX/source 디렉토리를 가리킨다. 예를 들면
dbdir: /home/httpd/html/lxr/source/

-$INSTALLPREFIX/http 안의 화일들은 웹브러우져가 읽을 수 있는 위치에
있어야 한다는 것을 잊지마라. 웹브러우져는 search, source, ident,
diff등의 화일들을 cgi-script로 해석해서 실행하기 때문이다.
아파치웹서버를 사용한다면 다음과 같은 설정이 필요하다.

$(INSTALLPREFIX)/http/.htaccess안에 다음과 같은 설정을 해주기 바란다.
<Files ~ (search|source|ident|diff)$>
SetHandler cgi-script
</Files>

[보충] 아파치를 사용한다면, access.conf(혹은 httpd.conf)안에 다음과
같은 설정을 해야 한다.

______________________________________________________________________
<Directory /home/httpd/html/lxr>
Options All
AllowOverride All
</Directory>
______________________________________________________________________

위에 적은 /home/httpd/html/lxr경로는 INSTALLPREFIX와 같아야 한다.
-identifier 데이터베이스의 생성. 위에서 "dbdir"로 설정을 했던
디렉토리로 가서 "./genxref [source code directory]"를 실행 시키면
된다. -이것은 옵션이지만, Glimpse 데이터베이스를 생성시킬 수 있다.
"dbdir"로 설정한 디렉토리에서 "glimpseindex -H [source code direc? tory]"를 실행시킨다. 자세한 Glimpse의 활용과 명령은 관련 문서를
참고하기 바란다.

사용:

위에 언급한 설정들이 끝나면 웹서버를 다시 시작시켜야 한다. (역자의
경우 /etc/rc.d/init.d/httpd restart) 그리고 웹브러우져에서
http://[자신의 서버]/lxr/source/ lxr/source는 INSTALLPREFIX밑이며
웹서버의 document root의 하위 디렉토리 이다.

만약 작동을 하지 않는다면:

-Permission을 확인한다. 웹서버가 실행시킬 스크립트들의 실행 권한이
올바르게 주어졌는가 확인 한다.

-Perl스크립트들이 라이브러리를 제대로 쓸 수 있는 지 확인한다. 그리고
웹서버에의한 실행권한도 있어야 한다. (genxref같은 화들일이 펄로
작성되어 있다.)

lxr.conf화일: LXR은 사용자의 디렉토리 구조에 상관없이 쓸 수 있지만,
모든 관련 경로들은 lxr.conf에 기록이 되어있어야 한다. 이 화일은 perl로
작성된 스크립트 화일들과 위치가 같아야 한다.
LXR은 다음의 설정화일 내의 옵션들을 인식한다.

htmlhead : 모든 html화일들의 헤더가 되는 템플릿 화일.
htmltail : html페이지의 맨 밑에 쓰일 템플릿
htmldir : 각 페이지에서 디렉토리를 리스팅하는 템플릿
sourceroot : index를 만들기 원하는 소스코드가 있는 최상위 디렉토리
sourcerootname : 최상위 디렉토리에 붙일 이름
incprefix : 그 소스에 쓰이는 include 화일들의 위치
dbdir : LXR이 필요로 하는 데이터베이스화일들이 있는 위치
(fileidx xref 그리고 glimpse화일)
glimpsebin : glimpse 바이너리 화일이 설치된 위치
variable : 템플릿과 설정화일이 사용하는 변수들.
문법은 다음과 같다. variable : <name>,<text>,<values>,<default>
<name>은 변수의 이름이다.
<text>는 설명.
<values>필드는 변수의 값으로 가능한 것들을 리스팅한것이다.
리스트는 "("으로 시작해서 ")"으로 끝난다. 이것은 [ <filename> ]과 같이
쓰일 수도 있다. 이 경우 그 값들은 한 줄에 하나씩 하나의 파일로부터 읽어들인다.
map: 변수를 통해 디렉토리들을 다시 쓸 수 있게 한다. 리눅스의 소스코드들은 몇개의 다른
아키텍쳐를 지원한다.
이런 경우 include화일들은 include/asm-<architecture>/. 있게 된다.
이런 코드들은 다시 매핑시키기위해 변수 $a가 다음과 같이 쓰이게 된다.
map: /include/asm[^/]*/ /include/asm-$a/

13.4. 커널 2.3/4 를 사용하려면..

글쓴이: 차 영호
ganadist@dacome.co.kr , 글쓴날 : 2000-05-12

1. 커널 2.3/4를 사용하기 위해 꼭 필요한 것들.

2. modutils

3. devfs

4. usbmouse, keyboard 사용하기

5. 추가된 가상파일 시스템

1. 커널 2.3/4를 사용하기 위해 꼭 필요한 것들.(리눅스 커널 문서의 Changes참조)
- Kernel modutils 2.3.10 ; insmod -V
- Gnu C 2.7.2.3 ; gcc --version
- Binutils 2.9.1.0.7 ; ld -v
- Linux libc5 C Library 5.4.46 ; ls -l /lib/libc*
- Linux libc6 C Library 2.0.7pre6 ; ls -l /lib/libc*
- Dynamic Linker (ld.so) 1.9.9 ; ldd --version or ldd -v
- Linux C++ Library 2.7.2.8 ; ls -l /usr/lib/libg++.so.*
- Procps 1.2.9 ; ps --version
- Procinfo 16 ; procinfo -v
- Psmisc 17 ; pstree -V
- Net-tools 1.50 ; hostname -V
- Loadlin 1.6a
- Sh-utils 1.16 ; basename --v
- Autofs 3.1.1 ; automount --version
- NFS (client) 2.2beta40 ; showmount --version
- nfs-utils (server) 0.1.4
- Bash 1.14.7 ; bash -version
- Ncpfs 2.2.0 ; ncpmount -v
- Pcmcia-cs 3.1.2 ; cardmgr -V
- PPP 2.4.0b1 ; pppd --version
- Util-linux 2.9i ; chsh -v
- isdn4k-utils v3.1beta7 ; isdnctrl 2>&1|grep version

2. modutils
modutils를 업데이트 하면 설정파일이 변경되어 있음을 알수 있습니다.
conf.modules 에서 modules.conf 로 변경되어있습니다.
(기존의 설정도구들 완전히 다 바꿔야 합니다. -.-;Wink
만약 conf.modules가 있으면 modules.conf를 읽고 conf.modules는 무시하니 지워버리라는
경고메세지가 뜹니다.(그리고 친절하게 지우는 명령까지 가르쳐 줍니다. -.-;Wink
그리고 modules.conf에 들어갈수 있는 예약어가 대폭적으로 늘었습니다. (따로 modules.conf
man페이지도 추가되었습니다.) if같은 제어문까지 사용할수 있습니다.
다음은 modules.conf에서 사용할수 있는 예약어 리스트 입니다.

[add] above module module_list
alias alias_name result
[add] below module module_list
define VARIABLE WORD
depfile=A_PATH
else
elseif EXPRESSION
endif
if EXPRESSION
include PATH_TO_CONFIG_FILE
insmod_opt=GENERIC_OPTIONS_TO_INSMOD
install module command ...
keep
[add] options module MODULE_SPECIFIC_OPTIONS
path=A_PATH
path[TAG]=A_PATH
[add] probe name module_list
[add] probeall name module_list
post-install module command ...
post-remove module command ...
pre-install module command ...
pre-remove module command ...
remove module command ...

3. devfs
처음 2.3.99를 설치하고 제일 황당하였던것이 이것입니다.
부팅 하자마자 멋대로 /dev에 마운트 시켜버리더군요.
/dev의 장치이름들이 몽땅 바뀌어져 있습니다. 파티션 마운트도 제대로 못시키더군요. -.-;;
그리고 기타 부가장치들을 거의 사용할수 없습니다.
예를 들어 콘솔은 tty? 라는 장치를 사용합니다. 하지만 devfs에서는 vc/?라는 장치를 사용합니다.
(로그인도 못할것입니다. -.-)

이것을 해결하는 방법은 이만용님 홈(http://kldp.org/~yong/kernel/2.3/)에 나온것과 같이 커널옵션에
아예 devfs를 제거하던지 lilo같은데에 옵션으로 devfs=nomount를 사용하면 됩니다. 하지만 있는기능은
다써봐야 하는 극성 리눅서들을 위해(저같은) devfsd를 사용하면 됩니다.
일종의 하위버젼 호환성을 위해 만들어진 데몬 입니다. 하는 역할은 /dev에 있는 장치파일들을 2.2이하
커널에서 사용하던 것과 같은 파일 이름으로 링크를 자동으로 걸어 줍니다.
devfsd를 얻으려면
http://www.atnf.csiro.au/~rgooch/linux/ 에서 구할수 있습니다.
(서기현님(nefsall@nef.sarang.net)께서 정보를 주셨습니다. 감사합니다.)
저같은 경우에는 지금 /etc/rc.d/rc.sysinit 스크립트에 다음과 같이 적어놓았습니다
39 # Fix console loglevel
40 /bin/dmesg -n $LOGLEVEL
41
42 # Starting devfsd
43 action "Mounting devfs filesystem" mount none /dev -t devfs
44 action "Starting devfsd" /sbin/devfsd /dev

그런데 이렇게 구성하고 나서 문제가 한가지 더생겼습니다. 일반유저로는 콘솔로 로그인이 잘되는데
root로는 로그인이 안되더군요.
문제가 있는 프로그램들을 곰곰히 생각해보다가 /etc/securetty 가 생각이 났습니다.
이 파일의 역할은 루트가 로그인 할수 있는 장치들을 나열한 것이죠.
기본 설정은 tty[1-6] 입니다. 분명히 링크는 되어 있더군요. 그런데 일반유저로 들어 가서 다시 빠져
나간다음 다시 들어가보니 마지막 로그인 위치가 "1"이라고 나오더군요.
앞에 있듯이 tty?는 vc/?에 링크 되어 있습니다. 링크되어 있는 파일의 실제이름을 그대로 따라간다는
뜻이죠. 그래서 저는 /etc/securetty 의 내용을 tty?대신 ?로 바꾸었습니다. 로그인 잘되더군요. Smile

4. usbmouse, keyboard 사용하기.
module로 사용하는 것을 기준으로 설명하겠습니다.
일단 mouse를 사용하기 위해 올려야 하는 모듈은 다음과 같습니다.

usbcore, usb-uhci, input, usbmouse, mousedev
이중 의존성이 걸린 모듈은
usb-uchi 모듈을 올리면 자동으로 usbcore
usbmouse 모듈을 올리면 자동으로 input, usbcore
mousedev 모듈을 올리면 자동으로 input 모듈이 올라갑니다.
그리고 이 3모듈은 어떠한 연관성이 없으므로 따로따로 올려야 합니다.
하나라도 올리지 않으면 마우스가 작동을 하지 않습니다. -.-;;
이것은 modules.conf에서 pre-install을 이용하면 쉽게 해결이 될껍니다.

pre-install mousedev /sbin/modprobe usbmouse
pre-install usbmouse /sbin/modprobe usb-uhci

그리고 마우스를 가르키는 디바이스 파일은 /dev/input/mouse? 입니다.
그리고 작동하는 프로토콜방식은 ps/2입니다.

키보드를 사용하기 위해 올려야 하는 모듈은

usbcore, usb-uhci, input, usbkbd, keybdev이고
이중 의존성이 걸린 모듈은
usbkdb 모듈을 올리면 자동으로 input, usbcore
keybdev 모듈을 올리면 자동으로 input모듈이 올라갑니다.
이또한 usb마우스관련 모듈과 같이 동작을 합니다.

5. 추가된 가상파일 시스템
shm : sysv 공유메모리 : 권장 마운트 위치 : /var/shm
devfs : dev 파일 시스템 : 권장 마운트 위치 : /dev
usbdevfs: usb 장치 파일 시스템 : 권장 마운트 위치 : /proc/bus/usb

여기서 shm을 마운트 시키지 않으면 sysv 공유메모리를 사용하는 apache프로그램 등등이 동작 하지
않습니다.

그리고 usbdevfs 같은경우에는 usb모듈을 올렸을경우에만 마운트 됩니다.

modules.conf에 다음과 같이 하면 되겠죠?
post-install usb-uhci /bin/mount none /proc/bus/usb -t usbdevfs

13.5. SGML에 그림 넣기

글쓴이: 선 정필
simje@maninet.com , 글쓴날: 2000-04-25

SGML은 주로 html이나 dvi 파일을 만드는 데 사용됩니다. 저도 조금
써보았는 데, 그림이 아쉽더군요. 그래서 sgml-tools의 파일들 중 dtd
파일을 읽어보고 다음과 같은 해결법을 찾았습니다.

<figure>
<eps file="images/xxxx.eps" height="yyypt">
<img src="images/xxxx.gif">
<caption><label id="fig_xxx">이것은 그림 설명</caption>
</figure>

이렇게 하시면 dvi의 경우 자동으로 그림 넘버링이 됩니다. 그리고 eps
file 부분은 dvi에만 영향을 미치며 img src 부분은 html에만 영향을
미칩니다. height 옆에다 width를 쓸수도 있으나 이것만 쓰는 것은,
없어도 되지만 이것만 써서 그림의 확대/축소 배율을 지정할 수 있다는
것입니다.

그리고 여기에서 xxxx 및 yyy는 아시다시피 아무개 값을 말합니다. 특히
yyypt는 예를 들어서 386pt를 말합니다. ImageMagick 팩키지의 identify
라는 유틸로 eps 파일을 매개변수로 주면 이런 width x height 값들을
확인하실 수 있으실 겁니다. pt 는 point를 말한다고 합니다.

나중에는 table을 넣는 방법에 대해서 연구해보아죠....

sgmltools 팩키지는 최준호님께서 패치하신 것이 몇년째 그대로 사용만
되고 있는 것 같습니다. 메이저 버전 차이가 영문판과 벌써 생길
정도이니.... 우리의 조그만 노력이 있어야 할 것 같습니다.

13.6. 신세대 메일링 리스트 관리자 mailman

글쓴이 : 권 순선
kss@kldp.org , 글쓴날 : 2000-04-17

메일링 리스트 하면 대체로 majordomo가 떠오르시죠?

mailman을 한번 써보십시오.

mailman은 거의 모든 작업이 웹브라우저를 통해서 이루어지며 사용자
입장에서는 가입/탈퇴가 매우 쉽고 관리자 입장에서는 메일링 리스트
아카이브/설정이 매우 쉽다는 장점이 있습니다.

기존의 majordomo를 통해 관리되는 메일링 리스트의 아카이브(메일 모음)를
설정하기 위해서는 따로 MHonarc등의 프로그램을 설치해야 했으나
mailman은 아카이브를 위한 프로그램이 기본적으로 내장되어 있고
아카이브를 보여줄 것인가 숨길 것인가를 관리자가 선택해 줄수도
있습니다.

또 메일-뉴스 게이트웨이를 아주 쉽게 구현할 수 있게 해줍니다.

mailman의 관리자 인터페이스에서 메일-뉴스 게이트웨이 부분을 클릭하고
뉴스 서버와 뉴스그룹을 적어주기만 하면 곧바로 뉴스그룹의 내용이 메일링
리스트로, 메일링 리스트의 내용이 뉴스그룹으로 상호 교환되기
시작합니다. 아주 간편하지요.

제가 사실 mailman을 설치해둔 것은 아주 오래전 일이었는데 이번에 gtk,
qt 개발자 오픈 메일링 리스트를 만들면서 오랜만에 다시 손을 좀
대보았네요.

mailman이 동작하는 모습을 보고싶은 분은
http://list.kldp.org
방문하셔서 gtk, qt 개발자 메일링 리스트에 가입해 주시고 mailman을
설정하여 메일링 리스트를 구축하고자 하는 분들은
http://www.list.org
에서 mailman 소스코드를 구하시기 바랍니다.

아, mailman의 장점이 또 한가지 있군요. 라이센스가 GPL인 완전한
오픈소스 프로그램이라는것. majordomo는 완전한 오픈소스 프로그램이
아니기 때문에 데비안의 경우 majordomo는 기본 메일링 리스트 프로그램에
포함되어 있지 않습니다. 뭐 GPL이다 아니다가 중요한건
아니지만....하여간 여러모로 편리한 점이 많습니다.

mailman을 사용하시려면 python이 시스템에 설치되어 있어야 하니 최신
버전의 python을 먼저 설치하신 후 mailman을 사용하시기 바랍니다....

이 글은 오래전부터 생각해 오던
http://list.kldp.org 설정을 대충 끝낸
기념으로(?) 썼습니다. Smile

13.7. icecast 를 이용한 라디오 방송

글쓴이 : 최 민성
CHoims@hitel.net , 최종 편집일 : 2000/04/09

요즘 많은 분들이 하고 계신 인터넷 라디오 방송... 저도 관심을 갖고
해보았는데 생각보다 어렵지 않더군요.. 그런데 참고할 만한 관련 자료가
없어서... 약간 고생을 했답니다. Sad

이에 방송을 해보고자 하시는 초보 리눅서를 위해 부족한 실력이지만
참고할 만한 사항을 적어 봅니다. (저와 다른 버전을 사용하시거나,
시스템의 차이로 인하여 약간씩 다른 부분이 존재 할수도 있습니다)

다음은 제가 방송 하기까지의 과정 그대로 입니다. Smile 일단 방송을 위한
프로그램인 icecast 를 설치합니다.
http://icecast.org에서 구하실수
있습니다.

전 1.3 정식을 다운 받았는데, 별 문제 없이 잘 돌아 가는군요. 일단 다운
받은 것을... 압축을 풀고 설치를 합니다.

tar xvzf icecast-1.3.0-p2.tar.gz
만들어진 디렉토리에 들어가서..
./configure
make
이번엔 liveice 디렉토리로 이동후 같은 작업을 합니다.
./configure
make
cd ..

이제 설치가 다 끝났죠? /usr/local/icecast/bin 에 위치된 icecast 를
실행 시켜 봅시다. Smile ./icecast

자아.. 여기까지 쉽게 하셨을걸로 믿습니다. (제가 필요 이상으로 설명을
자세히 한듯한 느낌이 드는데 아닌가요? ^^Wink 여기서 방송을 어떻게
하는가... 라는 문제가 있는데.. shout 또는 liveice 를 이용해서 쉽게
MP3 를 방송할수 있습니다.

둘의 차이는.. shout 는 미리 인코딩을 하는 반면, liveice 는 실시간으로
인코딩을 하며.. 외부 입력(마이크) 까지 가능 합니다. (하이텔 습삐
님이 리눅스 동에 올리신 인터넷 라디오 방송 icecast (1) 글을 참고
하였습니다) 아무튼 둘다 실행을 시켜 보겠습니다. 우선 엠피 쓰리 방송을
위해. 리스트를 작성 해야 됩니다. 보통 디폴트값인 playlist 파일을
편집해 주시면 됩니다. 다음은 제가 예시로 만든 리스트입니다.

[root@mins bin]# cat playlist
/mnt/mydata/My_Data/Sound/mp3/gayo/이소은 - 서방님.mp3
/mnt/mydata/My_Data/Sound/mp3/gayo/Honey Family/02. 랩교 1막.mp3
/mnt/mydata/My_Data/Sound/mp3/gayo/13 First Ravolution(full intro).mp3
/mnt/mydata/My_Data/Sound/mp3/gayo/이승환 당부.mp3

간단하게 작성을 할 수 있겠죠? 이제 모든 준비가 갖쳐 줬습니다. 그럼
shout 를 이용해서 방송을 해볼까요?

./shout localhost -P hackme -a -x -p ./playlist -l -g punk -n "A
sample name" -u "http://icecast.org"

대략 무슨 옵션인지 짐작이 가시겠죠? -P 다음의 내용은 패스워드
부분입니다. -p 는 리스트 파일의 경로 이고요. -n 은 타이틀 이름을
바꾸는 옵션 같군요. 지금 잘 생각이.. ^^; 자세한 내용들은 헬프를
이용하시길 바랍니다.

최정우
yak011@hanmail.net 님의 Icecast 사용하기 에서의 명령을 약간
수정한 것입니다.

방송이 잘되시나요? 확인을 하시고 싶으시면 xmms를 실행해서 컨트롤 엘을
누르시면, 서버의 주소를 입력 시킬수 있습니다. 서버주소:8000 으로 입력
하시면 됩니다. (이런것은 설명 안해도 된다고요? ^^Wink

이번엔 liveice 를 이용해서 방송을 해볼까요? 이경우 MP3 인코딩
프로램이 필요 한데, 전 lame 이란 프로그램을 사용 하였습니다. 다음의
주소에서 다운을 받으시면 될겁니다.
http://hive.me.gu.edu.au/not_lame/
각자 시스템에 맞는 것을 다운 받으시고요. 압축을 풀고 실행 파일을
/usr/local/icecast/bin/ 에 복사합니다.
/usr/local/icecast/etc/liceice.cfg 파일을 ../bin 에 복사합니다.
liveice.cfg 로 파일명을 바꾼후, 각자에 맞는 환경으로 화일 내용을
편집합니다.

다음은 저의 liveice.cfg 파일의 내용입니다. 다른 부분은 신경 쓸 필요
없이 제가 주석을 단 부분만 수정해 주시면 될것입니다. (제 주석은 //
뒤에 부분입니다)

# liveice configuration file
# remote server 1st command param
SERVER mins // 서버의 주소를 적습니다.
PORT 8000 // 서비스 포트 번호입니다.
#
# 생략
#
USE_LAME3 ./notlame350_rh6 // 조금전에 설치한 lame 을 이용하여 인코딩을 합니다.
#
PASSWORD hackme // 중요 부분입니다. 꼭 hackme 로 수정 해주시길..
#
# playlist -p LIST playlist // 리스트 파일입니다. 디폴트 값인 playlist 로 지정되어 있습니다.

확인을 해볼 까요...?

[root@mins bin]# ./icecast &
[root@mins bin]# ./liveice

xmms로 테스트 해보세요. 음악이 잘 나오죠? Smile 그럼 즐거운 방송이
되시길....... - 이 문서는 GPL 라이센스를 따릅니다. 문서의 내용중 틀린
부분이나, 좀더 추가 해야할 내용이 있다면 저에게 메일 주시면
감사드리겠습니다.

13.8. Linux On A Floppy

Eric Benoit(ebenoit@ecks.org)
1998년 12월 14일

번역자: 양 유성 (yooseong@kldp.org)

# LOAF란 정확히 무엇인가?

LOAF는 커널과 기타 여러가지 유틸리티를 묶은 리눅스를 플로피 한장으로
구현한 것이다.

# LOAF는 어떤 일을 하는가?

LOAF는 다양한 네트워크 프로토콜에 대한 클라이언트로 사용됨을 의마한다.
이는 lynx(웹브라우저), ftp(파일전송), telnet(원격컴퓨터접속)과
ssh(원격컴퓨터의 보안접속)을 포함한다.

# 왜 LOAF를 사용하는가?

몇가지 이유가 있는데, 첫째로는 사용하고자 하는 컴퓨터에 OS가 없는
경우이다. 만일 여러분이 공용으로 사용하고 있는 컴퓨터를 쓰고 있다면
그 컴퓨터에 악의있는 사람이 만들어 놓았을 keylogger(여러분이 사용한
키보드의 문자들을 기억하게 하는 프로그램)가 있을지 모릅니다. 그렇지
않다면 여러분은 저같은 리눅서처럼 안좋은 OS쓰는 것을 달갑게 여기지
않을 것입니다. 이러한 경우에, LOAF는 이상적입니다. 더욱 많은
이유들이 있지만, 다른 것들은 여러분 자신에게 달려 있습니다.

# LOAF는 내 OS를 지우는가?

분명히 말하지만, LOAF는 절대로 여러분이 지금 사용하는 OS를 없애지
않습니다. LOAF는 플로피 디스크로 시동되기 때문에, RAM안에 자동적으로
설치되며 컴퓨터가 꺼질 때까지 작동합니다. 사실 LOAF는 하드 드라이브가
무엇인지 모릅니다.

# 어떤 컴퓨터에서 LOAF는 작동하는가?

LOAF는 최소한 다음과 같은 컴퓨터 사양이 필요합니다.

386sx CPU
4MB RAM
Floppy drive (3.5" 또는 5.25")

적어도 6MB의 RAM를 권장하지만, 느리긴 하지만 4MB에서도 작동할
것입니다. LOAF는 386이상의 Intel/AMD/Cyrix/IBM CPU에서 작동합니다.

물론 NIC가 없는 컴퓨터에서 LOAF를 사용하면 많은 일을 할 수 없지만
작동을 할 것입니다.

# LOAF가 지원하는 NIC (Network Interface Card)는 어떤 것인가?

현재 다음과 같은 네트워크 카드면 가능하다.

3c503 (EtherLink II)
3c509/579 (EtherLink III)
3c59x와 3c90x
NE1000/2000 (ISA)
NE2000 (PCI)
EtherExpress Pro PCI 10+/100B/100+
EtherWORKS 3 (DE203/204/205)
WD80x3
DECchip Tulip

만일 여러분의 네트워크 카드가 위의 목록에 없고 커널 컴파일에
능숙하다면 여러분은 여러분의 것을 만들 수 있을 것이다. 몇몇가지 .con? fig의 예들을
ftp://ftp.ecks.org/loaf/devel
<ftp://ftp.ecks.org/loaf/devel> 에서 볼 수 있을 것이다. 커널은 319K가
넘어서는 안된다. 만일 그렇지 않다면, 나에게 이메일을 통해 연락을
해주면 여러분에게 내가 무엇인가 할 수 있을 것이다.

# 그러면 어떻게 LOAF를 사용할 것인가?

LOAF는 image로서 배포된다. 이는 플로피 디스크에 있는 사진과 같은 것을
가져다 사용한다는 의미이고 파일로 저장된다. 여러분이 필요한 것은
플로피 디스크 한장이고 그 안에 image를 넣으면 된다.

여러분이 DOS나 윈도우 3.1/95/98/NT를 사용한다면, 여러분은 RAWRITE라는
프로그램이 필요할 것이다. 여러분이 리눅스나 BSD, Solaris x86을
사용한다면 dd라는 프로그램을 이미 갖고 있을 것이다. 다른 OS에서는
무엇이 필요한지 나도 모른다.

다음으로 필요한 것은 LOAF이다. 다음의 목록중 적절한 것을 선택하면
된다.

ftp://ftp.ecks.org/pub/loaf/loaf1.img
ftp://ftp.ecks.org/pub/loaf/loaf2.img
ftp://ftp.ecks.org/pub/loaf/loaf3.img
ftp://ftp.ecks.org/pub/loaf/loaf4.img
ftp://ftp.ecks.org/pub/loaf/loaf5.img
ftp://ftp.ecks.org/pub/loaf/loaf6.img
ftp://ftp.ecks.org/pub/loaf/loaf7.img

# 이 파일을 가지고 그 다음에 할 일은?

그 다음 작업은 선택한 image를 가지고 플로피에 넣는다. 만일 RAWRITE을
사용하는 사람이면 다음과 같은 명령을 실행한다.

RAWRITE loaf#.img a:

여기서 #의 의미는 여러분이 선택한 커널이다. a:는 플로피 드라이브를
의미한다. (물론 b:도 가능하다.)

리눅스와 *BSD, Solaris x86을 사용하는 사람들은:

dd if=loaf#.img of=/dev/fd0

#은 여러분이 선택한 커널이며, fd0는 플로피 드라이브를 의미한다. (물론
fd1도 가능하다.)

chug, chug, chug ...ding!*

축하합니다. 만일 디스크가 잘못된 것이 아니라면, LOAF 디스크로서 그
디스크는 작동할 것이다. 컴퓨터에 디스크를 집어넣고 시도해보라! 만일
문제가 있다면, 나에게 이메일을 보내라.

# 실제 사용이 어떻나요?

여러분이 LOAF로 부팅을 했다면, 여러분은 스크린 상에 한때의 파리(?)와
같은 것이 날아가는 것을 볼 수 있을 것이다. 단지 부팅과정이니 걱정하지
말아라. 이러한 것이 끝나고 나면, 플로피로부터 OS의 나머지를 갖고 와서
압축이 풀리고 RAM 디스크에 놓일 것이다. 로그인 프롬프트가 나타난다면
더이상 필요한 것이 없으므로 플로피 디스크를 빼낼 수 있다. 다음으로 할
작업은 'root'로 로그인을 하는 것이고 그 후에 다른 작업을 할 수 있는
KISS라는 프롬프트를 보게 될 것이다.

프롬프트를 보는 것은 즐겁지만... 여러분은 외부와의 접속을 하고 싶을
것이다. 여기에 간단히 접속할 수 있는 방법이 있고 그 내용은 LOAF내에
있다. (단지 lynx라고 입력하라.)

ifconfig eth0 MY_IP_ADDRESS
route add -net MY_NETWORK netmask MY_NETMASK
route add default gw MY_GATEWAY

첫번째 줄의 MY_IP_ADDRESS에는 현재 사용하고 있는 IP 주소를 입력한다.
예를 들어, 192.168.4.24 두번째 줄에서는 MY_NETWORK는 MY_IP_ADDRESS에서
마지막 번호대신 0을 입력한다. 예를 들어, 192.168.4.0라고 입력하면
되고, MY_NETMASK는 255.255.255.0으로 하면된다.

세번째 줄에 나타난 MY_GATEWAY는 선택사항이다 없으면 쓰지 않아도 된다.
호스트 네임을 사용하고 싶다면 /etc/resolve.conf 파일을 여러분의 DNS
서버로 변경하면 된다.

echo "nameserver MY_DNS_SERVER" > /etc/reslove.conf

MY_DNS_SERVER는 여러분의 DNS 서버를 의미한다. 예를 들면, 192.168.4.1

만일 이러한 것들을 여러분이 잘 알지 못한다면, 여러분의 OS 의 네트워크
설정을 보거나 여러분의 시스템 관리자에게 물러보라. 위의 것들을
실행하지 않으면 커다란 문제점이 발생할 수 있다.

이러한 과정후에 잘못된 것이 없다면 여러분은 lynx를 이용하여 한번
인터넷에 접속해봐라. 네가지의 VC가 있어서 ALT-F1/F2/F3/F4를 이용해
변경할 수 있다. 로그인은 여러분이 처음 접속한 것과 동일하지만,
여러분은 네트워크를 재설정할 필요가 없다.

성공이다. 성공했다면 훌륭하다. 그리고 나서 당신이 얼마나 똑똑한가를
여러분 친구들에게 알려줘라. Smile 그리고 마지막으로, 여러분은 나에게
이메일로 연락할 수 있다. 행운을 빈다!

pinkey57@netsgo.com님 추가 : 전 개인적으로 뮤리눅스를 사용하고
있답니다...^^
http://sunsite.auc.dk/mulinux/

13.9. Tomcat3.1m 설치 하기

작성자: 김 상수(http://www.game114.co.kr)
* 최종 수정일: 2000.04.07

- 환경: Linux Allzza Red het 6.2 + Apache 1.3.9 + Tomcat3.1m

- 사전 준비

1) Linux OS를 구한다.
2) Apache를 구한다.
3) jdk1.2.2.를 구한다.
4) Tomcat(jakarta_tomcat.tar.gz)을 구한다. + mod_jserv.so(apache와 tomcat을 연결 시키는 역할)

1. 먼저 하기

1) OS를 깐다(생략)
2) Apache 설치(생략)
3) jdk1.2.2 설치(classpath에 lib/tools.jar 잡아 준다)
4) tomcat3.1 설치
예) /usr/local/jakarta-tomcat

2. 다음에 하기

jakarta-tomcat/bin 에서 ./startup.sh -f 한다.
그리고
http://localhost:8080/을 방문한다.
종료하기: ./shutdown.sh -f를 한다.

고양이 한 마리 봤으면 성공!!
일단 종료를 한다.

다음 아파치와 연동 해야 된다.
http://localhost를 방문하여 아파치 서버가 기동 되는지 확인 한다.

기동되고 있다면 위에서 받은 mod_jserv.so 파일을 apache/libexec에 복사 하고
conf/httpd.conf의 제일 마지막에 다음과 같이 쓴다.

Include /usr/local/jakarta-tomcat/conf/tomcat.conf

이렇게 하고 아파치를 다시 기동 시킨다.
(제대로 되지 않으면 아파치를 다시 깔아야 한다.)
****
만약 에러가 발생하시는 분이 있을 겁니다.
module를 로드 할 수 없거나 파일이 없다고 나올 겁니다.

그런 경우 아파치를 설치할 때 RPM 등의 패키지로 하지 않고
직접 컴파일 한 경우입니다.

이때는 아파치 configure 명령 실행시 다음 옵션을 주고 다시
컴파일 하십시요..

--enable-rule=SHARED_CORE --enable-module=so

tocmcat을 다시 기동 하고

이번에는
http://localhost로 방문한다.
잘됩니까??

3. 여기까지 해서 안되는 경우 또는 더 많을 것을 하고 싶은 경우는?

1) DB에서 쓰는 드라이버는 어디에 넣고 하죠
/usr/local/jakarta-tomcat/lib 에 모두 넣으세요... 그러면
tomcat이 기동 될때 클래스 패스로 잡아 줍니다.

2) 기존에 만들어진 디렉토리는 admin, test, examples 가 있는데
새로운 디렉토리(context)를 만드는 방법은?

http://localhost/admin 을 방문하시면
context 보기, 추가, 삭제가 나옵니다.

거기서 추가 해 주면 됩니다.

예를 들어) baseball 이라는 것을 만들고 싶으면
/baseball webapps/baseball 이라고 각각 쓰고 버튼 클릭을 하세요.

그리고 결과를 보세요.. 그리고 webapps/baseball 아래에 examples 와
동일한 디렉토리명을 만들고 conf/tomcat.conf 에 아래와 같이 적어 주세요.

ApJServMount /baseball /root

그리고 server.xml에 다음을 추가 하세요
<Context path="/baseball" docBase="webapps/baseball" debug="0" reloadable="true" >
</Context>

3) 첫 화면을 index.jsp로 하고 싶은데요??

먼저 apache의 conf/httpd.conf 파일에서 index.html 이라고 적힌 부분 뒤에
index.html, index.jsp로 등록 하시고

ApJServMount / /root 로 수정 하세요.

그리고 2번에서 방법으로 baseball을 만들면
http://localhost/baseball 로 방문 하시면 됩니다.

4) 한 서버에 여러 사이트를 구동 하고 싶거나 한 서버를 여러 포트를 사용해서 구동 싶거나
기타 tomcat을 이용해서 어려운 일을 하고 싶은 사용자들은 어떻게 합니까?

아래 사이트를 방문 한다.

http://jakarta.apache.org/cvsweb/index.cgi/~checkout~/jakarta-tom? cat/src/doc/uguid/tomcat_ug.html
<http://jakarta.apache.org/cvsweb/index.cgi/~checkout~/jakarta-tom? cat/src/doc/uguid/tomcat_ug.html>

faq를 둘러 보시거나.. 쭉 읽어 보시거나 메일링 리스트에 가입하세요..

4. 기타

1) 아파치 기동 / 종료 / 재기동(bin 에서 한다.)
./apachectl start
./apachectl stop
./apachectl.restart

2) tomcat 기동 / 종료
./startup.sh -f
./shutdown.sh -f

5. 마치며..

이틀동안 무지 고생 했습니다. 이것으로 자바와 리룩스를 사랑하는
많은 사람들에게 조금이라도 도움이 되면 좋겠습니다.
많은 업그레이드 부탁 드립니다.

13.10. 리눅스 박스 한눈에 모니터링 하기

글쓴이 : 송 영문(songym@kasan.com)
2000 3월 27일

필자는 리눅스 로 서버관리를 4년동안 해오면서 많은 시행 착오를 겪었다.
한때는 FWTK 로 방화벽을 구축해 사용하기도 했지만 실시간으로 리눅스
박스를 모니터링 할 수는 없었다. 한다 하더라도 무척 바빠야 가능할수
있었다. 또한 상용프로그램들은 사용이 쉽지 않았으며(? 필자에게만)
경재적인 이유로 많은 제한이 있었다.

필자가 이글에 쓰고자 하는 글은 모니터 한 대에서 10대이상의 서버를 한
눈에 모니터링 하는 방법이다. 필자보다 우수한 관리자들은 이미 알고
있겠지만, 모르는 초보관리자들을 위해 글을 쓴다.

필자가 사용한 방법은 xconsole 과 syslogd를 이용한 것이다. 방법은
의외로 간단하다.

root@lovin /etc]#vi syslog.conf를 입력한다.
그러면
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none /var/log/messages (기본 설정)
*.info;mail.none;authpriv.none /dev/console (필자가 추가한 부분)
# The authpriv file has restricted access.
authpriv.* /var/log/secure(기본설정)
authpriv.* /dev/console(필자추가)
# Log all the mail messages in one place.
mail.* /var/log/maillog
mail.* /dev/console
# Everybody gets emergency messages, plus log them on another
# machine.
*.emerg *
# Save mail and news errors of level err and higher in a
# special file.

위의 파일을 자신의 파일과 비교해 보면 어디가 다른지 알수 있을 것이다.
이는 위에 설정된 각종 log 들을 /dev/console 로 보내는 것이다. 자신의
파일을 고친후 /etc/rc.d/init.d 로 이동한다. 이동후 syslog 를 재시작
하면 된다.

[root@lovin init.d}#./syslog restart

기본 설정은 끝난 것이다. 무척 간단하다. 그 다음 X-window를 시동해서
아무 터미널에서 xconsole을 입력한다. 그 러면 그냥 하얀색의 조그만 창이
뜬다. 이제 시험을 해보자.

[root@lovin init.d]#ftp 0  

하면 xconsole 에 로그가 뿌려질 것이다. 이를 계속 사용하려면 X-window
로그아웃시 세션 저장을 선택하면 된다.

위와 같은 방법으로 여러대의 서버에 적용하면 쉽게 한눈에 모니터링이
가능하다.

13.11. LILO 활용하기

글쓴이 : 황병우(dmsrma@hanmail.net)
2000 3월 13일

LILO 활용하기 (Window98 + Alzza Linux 6.0 + Power Linux R2 + Mizi
Linux 1.0 + RedHat 6.0설치하기)

컴퓨터 환경 ; 펜티움 II 466(셀러론), 128M, 10G, lilo-0.21-6

작성자 인사 겸 문서 쓰게 된 경위 : 안녕하세요. 황병우라고 합니다.
이번에 리눅스 설치에 성공을 하였습니다. 대단히 획기적이지도 않지만
혹시나 저같이 여러개 설치를 원하시는 분들이 있을까 해서 제가 설치해본
경험을 토대로 적습니다.

일반적으로 생각하는 윈도우98과 리눅스 배포본 하나를 설치 하는 것이
아닙니다. 윈도우98 + 리눅스 배포본 4개입니다. 우리나라에 배포되는
많은 리눅스 배포본 중 4가지를 한꺼번에 깔아 보기 위해서 필요한 리로
설정에 대해서 알아 보겠습니다. 왜 리눅스만 깔았냐고 하는 분도 있는데
제가 리눅스만 알거든요.

다음에는 FreeBSD와 BeOS 그리고 다른 유닉스를 깔아볼 생각입니다.
배포본을 많이 설치할 이유가 있어서 설치를 하게 되었습니다. 이렇게
사용하실 분은 없겠지만요. 그리고 WINDOW + LINUX + FreeBSD + BeOS를
사용하시려는 분들의 기초 자료가 되었으면 하는 마음에 제가 설치한
경험을 바탕으로 짧은 글 실력으로 올립니다. kldp 에 올라 갈수 있을지
모르겠습니다. 그럼 시작하겠습니다.

1. 설치 구상

---------------------------------------------------------------
먼저 각 운영체제의 버전 정보와 하드 공간 할당 내역입니다.
윈도우에서 fdisk로 파티션은 C와 D공간만 잡았습니다.
그리고 나머지는 리눅스에서 사용할 것이므로
비워두었습니다.
1. 윈도그98 SE ⇒ C 드라이브(2G, /dev/hda1), D 드라이브(1G, /dev/hda5)
2. ALZZA LINUX ⇒ 3G, /dev/hda6
3. POWER LINUX ⇒ 1.3G, /dev/hda8
4. MIZI LINUX ⇒ 1.3G, /dev/hda9
5. REDHAT ⇒ 1G, /dev/hda10
6. SWAP ⇒ 128M, /dev/hda7
---------------------------------------------------------------

참고로 lilo가 무엇인지 다 아시겠지만 잠시 설명하자면, lilo는
리눅스에서 가장 많이 사용되는 리눅스 로더입니다. 여러 운영체제를
선택적으로 부팅할 수 있도록 해줍니다. 리눅스 설치시 기본적으로
설치하여 사용할 수 있다는 것과 별다른 어려움 없이 설정하여 사용할 수
있습니다.

리눅스의 lilo는 하드의 Master Boot Recorder(MBR)에 일반적으로 설치하여
사용하는 프로그램입니다. 기타 여러 멀티부트 매니저가 있지만 다른
운영체제와 멀티 부팅을 하시길 원하시면 리로를 사용할 것을 권합니다.

2. 여러개 배포본 설치시 고려해야 할 사항

- 하나의 운영체제를 설치한 후에 다른 운영체제를 설치 하였을 때의
마운트 포인트(/etc/fstab 수정)

- 부팅 가능영역의 한계 : 리로를 설치 하는데 있어서 1024실린더 안쪽에
리로가 설치 되어야 한다. 대략 8기가 정도이다. 8기가 안에 모든
운영체제(리눅스)를 설치해야 한다.(/etc/lilo.conf 수정)

- 별로 상관은 없지만 설치의 편의상 어떤 리눅스를 디폴트값으로 사용할
것인지를 결정해야 한다. 예를 들어 알짜를 깔고 나중에 파워를 깔면
알짜는 없어지게 된다. 다시말해 파티션에는 남아 있지만 리로에는 파워의
정보가 남아 있게 된다.

3. 리눅스 설치(Window98 + Alzza Linux 6.0 + Power Linux R2 + Mizi
Linux 1.0 + RedHat 6.0 설치하기)

- 먼저 나는 알짜 리눅스를 디폴트로 사용 할 것이다. 그러므로 설치
순서는 영문레드햇⇒미지 리눅스⇒파워 리눅스⇒알짜 리눅스 순서로 깔
것이다.

- 리눅스 설치 방법은 다 알 것이다. 여기서는 생략한다. 모든 리눅스가
깔렸다고 했을 때 리로의 정보는 윈도우98과 알짜의 리로가 떴다.

+ Recent posts