허니몬의 IT 이야기
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문서 부분에


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

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가 들어간
페이지를 제대로 읽어내지를 못하더군요.

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

그래서 아예 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안에 다음과 같은 설정을 해주기 바란다.

SetHandler cgi-script


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

______________________________________________________________________

Options All
AllowOverride All

______________________________________________________________________

위에 적은 /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 : ,,,
은 변수의 이름이다.
는 설명.
필드는 변수의 값으로 가능한 것들을 리스팅한것이다.
리스트는 "("으로 시작해서 ")"으로 끝난다. 이것은 [ ]과 같이
쓰일 수도 있다. 이 경우 그 값들은 한 줄에 하나씩 하나의 파일로부터 읽어들인다.
map: 변수를 통해 디렉토리들을 다시 쓸 수 있게 한다. 리눅스의 소스코드들은 몇개의 다른
아키텍쳐를 지원한다.
이런 경우 include화일들은 include/asm-/. 있게 된다.
이런 코드들은 다시 매핑시키기위해 변수 $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
파일을 읽어보고 다음과 같은 해결법을 찾았습니다.






이렇게 하시면 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

이에 방송을 해보고자 하시는 초보 리눅서를 위해 부족한 실력이지만
참고할 만한 사항을 적어 봅니다. (저와 다른 버전을 사용하시거나,
시스템의 차이로 인하여 약간씩 다른 부분이 존재 할수도 있습니다)

다음은 제가 방송 하기까지의 과정