Linux Gazette 25호 번역: 권 순선(리눅스 한글문서 프로젝트 관리자) http://kldp.linux-kr.org, cessi@kldp.linux-kr.org 10센트짜리 팁 피코 에디터 사용자를 위한 vim Date: Mon, 5 Jan 1998 23:07:20 +0100 From: Sven Guckes guckes@math.fu-berlin.de 많은 사람들이 피코(pico)에디터를 좋아하는 데 비해 vim(역자 주: vi 에디터의 확장)은 몇 가지 이유 때문에 그다지 편안하게 사용하고 있는 것 같지 않은데 피코 에디터에서는 현재 문단을 ^J(control-j)키를 눌러서 간단히 정렬할 수 있는 데 반해 vim에서는 이렇게 하는 것이 매우 어렵다는 것이 그 중 한가지 이유가 아닐까 생각합니다. vim에서는 다음과 같은 내용을 자신의 홈 디렉토리 아래의 .vimrc 라는 파일에 삽입해 주어서 간단히 이 기능을 이용할 수 있답니다. nmap vipgq nmap gq vim에 대해서 더 알고 싶은 분은 다음 홈페이지를 참고하세요. http://www.vim.org vim 홈페이지 http://www.vim.org/faq vim에 대한 FAQ http://www.vim.org/answ.html vim 사용에 대한 질문과 대답 그리고 왜 vim과 같은 vi클론을 이용하는 것이 더 좋은지는 다음 홈페이지를 들 러 보시면 알 수 있습니다. http://www.vim.org/why.html (역자 주: 알짜 레드햇 5.0에는 한글화된 pico 에디터가 설치된다.) 새로운 메일이 왔을 때 Date: Wed, 07 Jan 1998 01:27:09 +0000 From: Michael Katz-Hyman mkatshym@erols.com 새로운 메일이 도착했을 때 키보드의 scroll lock 키가 반짝거릴 수 있게 해 줍 니다. -------------------------------------------------------------- #!/bin/bash # # Keyboard blinky thingy when you have new mail, sleeps 5 minutes if you don't # # Michael Katz-Hyman (mkatshym@erols.com) running Linux 2.0.33 Red Hat 4.0 Mail_File = "/var/spool/mail/mkatshym" # The static file is used to make the script a daemon (I just test to see if /bin/bash is present :- ) Static_File="/bin/bash" LED_SET_COMMAND_ON = "/usr/bin/setleds +scroll" LED_SET_COMMAND_OFF = "/usr/bin/setleds -scroll" Sleep_Command = "/bin/sleep 2m" # O.k. lets get started while [ -e $Static_File ]; do while [ -s $Mail_File ]; do $LED_SET_COMMAND_ON $LED_SET_COMMAND_OFF done if [ ! -sMail_FIle ]; then /bin/sleep 5m fi done ----------------------------------------------------------------- - 사운드 문제 Date: Wed, 7 Jan 1998 09:48:10 -0600 (CST) From: Mike Hammel mhammel@stassw10 >레드햇 5.0을 설치하고 나서 sndconfig 를 이용해서 사운드카드를 설정하였습 니다. 모든 게 잘 되어 Linus씨가 리눅스를 어떻게 발음하는지 들려주는 데모 파일까지 잘 들을 수 있게 되었는데 그 때 이후로 다른 소리는 들어본 적이 없 군요. 사운드가 포함되어 있는 웹사이트에 가도 아무런 소리가 나지 않는데 어 떻게 하면 좋을까요? 우선, cat file > /dev/audio 명령을 내려보세요. file 은 오디오 파일의 파일명을 나타냅니다. 만약 이렇게 해서 소리가 난다면 그건 제대로 설정된 것입니다. 문 제는 당신이 브라우저 설정을 잘못했다는 것이지요. 넷스케이프를 사용하신다면 Preferences->Netscape->Applications 로 들어가셔서 각 사운드 파일 포맷에 맞 는 프로그램을 지정해 주셔야 합니다. cat 명령은 au파일에 적용될 수 있으며 wav파일에도 적용할 수 있을 것입니다. Linux Applications and Utilities Page 에 가시거나 Linux Midi and Sound Page 에 가셔서 적당한 리눅스용 사운드 관련 프로그램을 찾아보세요. 둘 다 리눅스 소프트웨어 리소스 페이지의 소프트 웨어 소개란에 링크가 되어 있습니다. http://www.linuxresources.com/apps.html 바이너리 파일 화면에 출력하기 Date: Wed, 7 Jan 1998 14:56:05 -0500 From: Sylvain Falardeau sfalardeau@clic.net 바이너리 파일에 cat이나 grep 등의 명령어를 이용하다 보면 제어 문자들 때문 에 터미널이 먹통이 되는 경우가 있습니다. cat -v를 이용하면 이런 문제를 간단히 해결할 수 있답니다. perl과 html Date: Thu, 08 Jan 1998 16:58:44 +0000 From: Carl Mark Windsor mbdtscw@cerberus.mcc.ac.uk Gabriele Giansante(gvsoft@madnet.it)씨의 전자우편 주소가 잘못되어 있는 것 같아 여기서 이야기합니다. #!/usr/local/bin/perl 은 그 파일이 펄 스크립트라는 것을 나타냅니다. 그런데 넷 스케이프는 이 사실을 알 정도로 똑똑한 편이 아니라서 설정을 해 주어야 사용 할 수 있습니다. Options/General Preferences/Helpers 로 가셔서 다음과 같이 설정을 수정해 주 시거나 없으면 만들어 주어야 합니다. Description: Perl Script Type: application/perl Suffix: pl Application 창을 열어서 다음 내용도 추가해 주어야 합니다. Application: /usr/bin/perl <--perl이 있는 디렉토리) update locate Date: Sat, 10 Jan 1998 19:16:31 +0000 From: Joaquim Baptista px@helios.si.fct.unl.pt 레드햇이나 슬랙웨어 둘 다 updatedb라는 패키지가 포함되어 있는데 이 패키지 에는 다음 두 가지의 프로그램이 들어 있습니다. updatedb: 파일시스템을 검색하여 지금 존재하고 있는 파일들의 목록을 데이터 베이스화합니다. 이 프로그램은 매일 밤 root 의 권한을 가지고 실행됩니다. locate: updatedb에 의해 생성된 데이터베이스를 이용하여 파일 시스템 내의 파 일 위치를 빨리 찾아낼 수 있게 합니다. 제가 겪는 문제는 저의 updatedb 프로그램이 매일 새벽 4시 40분에 실행되도록 설정되어 있다는 것입니다. 그런데 제 리눅스 박스는 그 시간에는 거의 켜져 있 지 않은 관계로 데이터베이스가 갱신되지 않고, 따라서 locate 로 최근의 파일을 찾아내지 못한다는 것입니다. 해결 방법은 그다지 간단하지가 않더군요. 데이터베이스를 갱신하는 것은 하드 디스크를 직접 억세스해야 하고 시간이 좀 걸리죠. 제가 생각해낸 방법은 매 시간마다 다음 스크립트를 작동하게 해서 데이터베이 스가 24시간 이상 갱신되지 않고 있을 때 데이터베이스를 갱신하도록 하는 것입 니다. 저는 이 스크립트를 run-updatedb 라고 이름붙였습니다. #!/bin/sh /usr/bin/find /var/spool/locate/locatedb -mtime +1 -exec \ /usr/bin/updatedb \ --prunepaths='/tmp /usr/tmp /var/tmp /mnt /cdrom /floppy /var/spool' \; 그리고 crontab을 조금 고쳐야 했죠. 매일 새벽 4시 40분에 updatedb를 작동하 도록 한 부분은 지우고 다음과 같이 써 주었습니다. 0 * * * * /usr/local/sbin/run-updatedb 1> /dev/null 2> /dev/null 파일 이름에 공백 넣기 Date: Tue, 13 Jan 1998 18:16:48 -0800 (PST) From: Mark Lundeberg ae885@pgfn.bc.ca 윈도우즈95/NT의 파일 이름이 리눅스의 파일이름들보다 더 좋다고 생각하신다 면 다시한번 재고해 보아야할 문제입니다. bash에서(이것은 csh에서도 적용될 것입니다만 테스트해보진 않았습니다.) "를 사용하면 됩니다. 다음 예를 보시죠. cat "test" > "spaced name" 이제 ls명령으로 확인해 보시면 파일 이름에 공백이 들어가 있는 것을 보시게 될겁니다! 이렇게 해서 사람들을 헷깔리게 할 수도 있죠. 다음과 같이 해보세요. echo "HI" > "test " 그후, 만약 어떤 사람이 ls에서 보이는 대로 "test"를 열려고 하면(vi test 등) 안 의 내용은 보이지 않고 새로운 파일을 만들어 낼 것입니다. PS: ext2 파일 시스템에서는 파일명에 255자까지 사용할 수 있습니다. Linux and Routing ate: Sat, 17 Jan 1998 11:02:43 -0800 From: James C. Carr jccarr@nwlink.com 랜과 인터넷 사이를 라우팅해 주는 문제에 관한 어떤 대답을 이미 들었을 지도 모르겠는데, 당신이 답변을 얻었는지 확실치 않아서 제가 한번 이야기해 보겠습 니다. 따라서, 이 편지의 참조인 목록에 Linux Gazette를 첨가하는 것은 다른 사 람이 이 문제에 대해서 제대로 이야기를 하지 못했을 경우에 대비하기 위해서입 니다. :-) 또한 이 문제는 Linux Journal 43호에서 이미 논의되었던 사항이기도 합니다. 따라서 이 이야기는 "IP Masquerading Code Follow-Up" 기사가 그 근 간이 되겠죠. 일단 제가 제 집에서 사용하고 있는 예를 우선 들어 보기로 하죠. (역자 주: IP Masquerading은 하나의 IP 어드레스를 이용하여 여러 대의 컴퓨터 가 인터넷 접속을 이용할 수 있게 합니다. 예를 들어, CO-lan 사용자의 경우 한 집에서 하나의 계정으로 두 대 이상의 컴퓨터가 인터넷을 이용할 수 있게 하려 면 이 IP Masquerading 을 이용하여 실제로 접속되어 있는 컴퓨터가 아닌 다른 컴퓨터도 실제로 인터넷에 접속되어 있는 컴퓨터를 게이트웨이로 사용하여 인터 넷에 접속할 수 있게 합니다. Masquerading이란 말 그대로 가면을 씌운다는 뜻 으로서 IP패킷이 게이트웨이를 통하여 원하는 곳(내부 네트웍)까지 잘 전달되도 록 해줍니다.) LAN 과 인터넷 사이를 리눅스를 이용해서 라우팅하려면 IP Masquerading 을 지원하도록 커널을 다시 컴파일해 주어야 합니다. 물론 방화벽을 이용하여 라우 팅을 차단할 수도 있겠습니다만, 이 방법에 대해서는 제가 별로 경험이 없군요. 만약 당신의 커널이 버전 2.0.30이하라면 커널 컴파일시에 Code Maturity Level 옵션도 선택해 주어야 합니다. 이제 새로운 커널을 설치하고 난 후에는 ipfwadm을 구해서 설치하셔야 합니다. 이 프로그램은 데비안 1.3.1의 경우 설치시에 기본으로 딸려오고, 레드햇의 경우 에도 쉽게 구할 수 있을 것입니다. 우선 다음과 같이 실행해 줍니다. /sbin/ipfwadm -F -p deny -F 는 ipfwadm 프로그램에다가 현재 IP 포워딩 룰을 바꾸겠다고 알려주는 것입 니다. -p 는 ipfwadm 프로그램에다가 현재 들어오고 있는 패킷들에 대한 포워딩을 거 부하고 싶다고 알려주는 것입니다. 제 경험에 의하면 이 옵션을 설정해둔 후부터 열수 없는 웹페이지들이 좀 있었 는데 아마도 마이크로소프트와 관련있는 웹페이지들이 아닌가 합니다. :-) /sbin/ipfwadm -F -a m -S 192.168.0.0/24 -D 0.0.0/0 -F 는 위에서 말씀드린 것과 같습니다. -a 는 기존 설정에 내용을 추가한다는 의미로서 이 경우 m 은 Masquerading 을 의미합니다. -S 는 192.168.0.* 대의 IP 주소를 가진 컴퓨터들을 masquerading 하겠다고 알 려주는 것입니다. 이 주소는 로컬 호스트들을 나타내는 주소이므로 LAN안에 존 재하는 모든 호스트들에 대해서 적용할 수 있죠. -D 는 패킷 포워딩을 0.0.0.0으로 하겠다는 의미로서 PPP의 디폴트 라우트의 게 이트웨이 주소를 나타냅니다. /sbin/ipfwadm -F -l -n 이제 지금까지 설정해 놓은 것들이 원하는 대로 작동되고 있는지 살펴봅니다. -l 은 IP패킷들의 포워딩 정책들을 모두 나타내도록 합니다. -n 은 정보들을 숫자로 나타내도록 합니다. 물론 이렇게 하자면 우선 여러분의 컴퓨터들의 IP 어드레스들을 192.168.0.* 대 의 주소로 맞춰 주어야 합니다. 제 경우는 게이트웨이 컴퓨터의 주소를 192.168.0.1 로 설정해 두었고, 나머지는 순서대로 192.168.0.2, 192.168.0.3....등으로 설정하였습니다. masquerade 할 모든 컴퓨터들의 기본 게이트웨이를 제대로 설 정해야 한다는 것은 말하지 않아도 잘 알겠죠. 설정에 관한 더 자세한 이야기는 Chris Kostick씨가 Linux Journal 1997년 11월 호에 썼던 "IP Masquerading Code Follow-Up" 기사를 읽어 보시기 바랍니다. 이 기사는 기초적인 내용도 다루고 있을 뿐 아니라 ipfwadm 의 세밀한 부분까 지도 다루고 있습니다. 이 기사가 없었다면 제 경우 ipfwadm 이 뭔지도 몰랐을 것입니다. :-) Linux and Routing 2 Date: Tue, 6 Jan 1998 13:25:57 -0500 (EST) From: Paul Lussier, plussier@LanCity.COM >저는 높은 대역폭을 이용하기 위해서 조만간 케이블 모뎀을 구입할 예정입니 다. 그래서 제가 제 집에 구축해 놓은 LAN(역자 주: LAN은 꼭 인터넷에 물려 있지 않아도 구축할 수 있으며 이 편지를 보낸 사람은 이미 자기 집에 구축해둔 LAN에 접속되어 있는 여러대의 컴퓨터들을 케이블 모뎀을 통해 인터넷에 물려 있는 한 대의 컴퓨터를 통하여 동시에 인터넷에 접속하게 하고 싶어하는 것이 다.)을 인터넷에 접속할 수 있게 하고 싶습니다. 어떻게 하면 이더넷을 통해서 서로 물려있는 저희집의 컴퓨터들이 케이블 모뎀을 통해 실제 IP어드레스를 부 여받은 한 대의 리눅스 컴퓨터를 이용하여 인터넷에 접속할 수 있게 할 수 있을 까요? 이 질문은 제가 베이 네트워크 사의 광대역 기술부에 근무하던 시절부터 저의 관심을 끌었던 내용이군요. 우선 리눅스에 관해서 알아두어야 할 것은, 당신이 라우팅 데몬을 이용하려 하 는 것이 아니라 IP 포워딩/IP masquerading 을 이용하고 싶어한다는 것입니다. 우선은 이 주제에 관한 HOWTO문서(역자 주: IP masquerading HOWTO가 http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html 에 있다.)를 읽어 보라고 말씀드리고 싶군요. 기본적으로는 리눅스 네트워크 관리자 가이드/리눅스 시스템 관리자 가이드도 읽어 두어야 하겠구요. 또다른 좋은 참고문헌으로서는 다음과 같은 것들이 있습니다. The NET-2/3 HOWTO The Ethernet HOWTO The Multiple Ethernet Mini HOWTO Networking with Linux Firewall HOWTO와 Proxy Server HOWTO도 정말 좋은 참고가 될 것입니다. (역자 주: NET-2/3 HOWTO와 Firewall HOWTO는 http://kldp.linux-kr.org 나 http://www.postech.ac.kr/~cessi 에서 한글 번역된 문서를 구할 수 있다.) 왜냐 하면 당신이 정말로 원하는 것은 외부에서 내부 LAN으로 접속해 들어오는 것 은 막고, 내부에서 외부로 접속하기 위해서 프록시 서버를 이용하도록 하는 것 이기 때문입니다. 그런데 주의해야 할 것이 좀 있습니다. "절대로 케이블 모뎀을 설치하는 도중에 는 당신이 집에서 설치해둔 LAN을 연결하지 마십시오!!!" MeaiaOne, Cablevision, Time Warner 등등 대부분의 케이블 모뎀 회사들은 자기네들의 광 대역 네트워크에 랜을 연결하는 것을 허용하지 않기 때문입니다. 케이블 모뎀을 설치하러 사람들이 집에 오기 전에 허브와 동축 케이블들을 보이지 않는 곳에다 잘 치워두고 그사람들이 하는 대로 가만 내버려 두세요. 그 다음, 모든 작업이 끝난 후 그사람들이 되돌아간 후 랜을 연결하세요. :-) 당신은 두장의 이더넷 카드가 필요할 것입니다. 한 장은 케이블 모뎀을 위해서, 또 한 장은 내부 랜을 위해서. 케이블 회사에서 한 장 정도는 그냥 설치해줄 것 이니, 그건 그사람들에게 해 달라고 하고, 나머지 한 장은 직접 연결하세요. 케이블 모뎀은 실제로는 모뎀은 아닙니다. 그것은 이더넷 브리지죠. 작동 원리는 다음과 같습니다. 케이블 모뎀이 설치되어 있는 시스템이 켜지면 bootp 요청을 케이블 모뎀 회사의 중앙 서버에 요청하여 IP어드레스를 할당받고 케이블 모뎀 에 연결된 이더넷 카드도 IP어드레스를 할당받게 되죠. 따라서, 당신은 케이블 모뎀을 통한 외부로부터의 접속은 모두 거부하고, 외부로 나가는 접속만을 허용 하도록 프록시 서버와 방화벽을 구축해야 할겁니다. 그러려면 당신의 내부 랜에 연결되어 있는 컴퓨터들이 프록시 서버를 이용할수 있게 IP 포워딩 /masquerading을 설정해 두어야 한다는 얘깁니다. 케이블 모뎀과 케이블 모뎀 회사들에 대한 몇가지 알아둘 사항이 있습니다. 1. 케이블 모뎀을 통해서 랜을 구축/이용할 때 케이블 모뎀 회사들의 지원을 바 라지 마십시오. 그들은 그렇게 이용하는 것을 원치 않으며, 도와 주려고 하지 않 을 겁니다. 2. 웹 서버를 구축하지 마십시오. 소용 없습니다. 당신이 이용하고 있는 시스템 들은 클라이언트이지 서버가 아닙니다. 3. 스팸 메일을 보내는 사람들은 케이블/광대역 네트워크를 선호합니다. 광대역 네트워크를 사용하는 시스템들이 스팸 메일을 보내는 데 이용된 예는 많으며 그 리하여 회사 측에서 허가를 취소하는 사태가 많이 있습니다. 방화벽을 잘못 설 정하여 케이블 모뎀을 통해 외부로부터의 접속을 허용해둔 상태가 되면 스팸 메 일을 보내는 사람들이 케이블/광대역 네트워크 중에서 외부로부터의 접속을 허 용하는 프록시 서버와 방화벽을 찾아내어(주로 윈도우즈95/NT) 그 시스템을 케 이블/광대역 네트워크 전체에다가 스팸 메일을 뿌리는 데 이용합니다. 물론 메일 을 뿌린 사람은 당신잉 되는 거죠. 보통은 회사측에서 경고를 한번 보내줍니다 만 아무런 경고 없이 서비스를 끊어 버린 경우도 많습니다. 4. 현재 시판되고 있는 베이 네트워크사의 LANcity 모뎀은 1개의 MAC 어드레 스 접속만을 허용합니다. 이것은 허브 등에 연결해서 여러 대애서 동시에 사용 할 수 없다는 이야기죠. 소프트웨어적인 방법으로 16개까지 MAC어드레스 접속 을 가능하게 해줄 수 있으나 회사측에 돈을 지불해야 합니다만 이더넷을 스위치 로 사용하면 그럴 필요가 없죠. :-) 5. 현재 판매되고 있는 모뎀들은 양방향 10MBPS의 전송 속도를 지원합니다. 그 러나 보통은 300KBPS 정도의 속도밖에 나지 않죠. 더 빠른 속도를 원한다면 회 사측에서는 즐겁게 더 많은 금액을 청구할 겁니다. :-) Printing Problems Date: Sat, 31 Jan 1998 20:09:18 +0100 (MET) From: Roland Smith, rsmith06@ibm.net >누구든 좀 도와주세요. lpr을 작동시키려고 하는데 매번 로컬 머신의 이름을 찾을 수가 없군요. 무엇이 문제인지, 어떻게 해야 하는지 좀 가르쳐 주세요. LPRng를 사용하시는 것 같군요. 이것은 네트웍 환경에 적합한 lpr 버전이죠. bsdlpr을 찾아서 설치하시면 됩니다. Re: 386컴퓨터 사용하기 Date: Sat, 31 Jan 1998 20:13:09 +0100 (MET) From: Roland Smith, rsmith06@ibm.net >저는 386 25MHz짜리 컴퓨터를 사용해 왔는데 얼마전 펜티엄 200MHz 머신을 구입하였습니다. 그 이후론 386컴퓨터는 거의 사용하지 않았는데 386컴퓨터를 펜티엄 컴퓨터에 연결할 수 있는 좋은 방법이 있나요? 있다면 무엇을 할 수 있 는지, 어떻게 해야 하는지 좀 가르쳐 주십시오. 병렬 케이블을 통해서 두 대의 머신을 연결하여 PLIP(역자 주: PLIP는 프린터 케이블을 이용하여 두 대의 컴퓨터를 연결하는 방법이다.)을 설정하면 당신은 작 은 네트워크를 구축한 셈이 됩니다. 386머신에서 엑스 윈도우는 띄우기 힘들겠 지만, 꽤 괜찮은 터미널로 이용할수 있을 겁니다. The Answer Guy LILO 를 삭제하고 도스를 다시 설치하기 From: Stephen Britton, sbritton@westnet.com 질문: 부모님께서 레드햇 4.1이 돌아가고 있는 486컴퓨터를 제 동생에게 주라고 하십니다. 그런데 제 동생은 윈도우즈밖에 모르거든요? 도스로 하드 디스크를 포맷했는데 LILO를 없애는 방법을 잘 모르겠습니다. c:\fdisk /mbr 로 하면 된 다는 얘기를 어디서 들었는데 잘 안되는군요. 도와주세요. 제 동생은 다음주에 학교로 떠나거든요!! 그렇게 하면 잘 될겁니다. 그 옵션은 도스 5.0에서 소개된 것입니다. 발표될 당 시에 문서상에는 나와 있지 않았지만, 부트 바이러스로부터 시스템을 복구하기 위해서 널리 쓰였죠. 만약 그게 잘 안된다면 리눅스 플로피 디스켓을 이용해서 부팅하시고 마스터 부 트 레코더의 파티션 테이블을 0으로 만들어 버리면 됩니다.(IDE시스템의 첫 번 째 하드디스크의 경우 dd if=/dev/zero of=/dev/hda 하면 되고 SCSI시스템의 첫 번째 하드디스크인 경우 of부분의 hda를 sda로 바꿔주면 됩니다.) 그런 후 도스 설치 디스켓으로 부팅하면 하드 디스크를 완전히 새로운(아무것도 써져 있지 않은) 것으로 인식하고 파티션을 할당하는 fdisk를 실행하도록 할 것 입니다. 물론 이렇게 하면 디스크의 모든 데이터가 날아가게 되죠. 이 정도는 미리 알고 계셨죠? 아니면 fdisk /mbr 이 안될 경우 일단, 왜 안되는지를 알아내야 한다. 만약 당신 이 가지고 있는 도스 버전이 5.0보다 낮다면 더 5.0이상의 버전을 구해야 한다. (칼데라의 오픈도스를 사용해도 된다.)(역자 주: 칼데라 오픈도스는 http://www.caldera.com에서 무상으로 구할 수 있다.) 윈도우즈95를 설치할 수도 있겠다. 혼자 쓰는 시스템을 root로 이용하기-그렇게 하지 마세요. From: griffin@ameritech.net 질문: 혼자서 사용하는 시스템을 root가 아닌 일반 사용자로 이용하는 것이 어떤 장점이 있나요? 만약 당신이 완벽한 사람이라서 타이핑 실수를 절대 하지 않거나, 잘못된 명령 을 내리지 않거나, 잘못된 디렉토리에서 부적절한 명령을 절대 내리지 않는 그 런 사람이라면, 그리고 당신이 사용하는 모든 소프트웨어들도 "완벽"한 것들이라 면, 그리고 당신은 완전히 다른 세계와는 동떨어져 있는(전자우편 주소도 없고, 뉴스그룹도 사용하지 않고, irc도 사용하지 않는) 그런 사람이라면 시스템을 root 로 이용할 수도 있겠죠. 만약 당신은 당신의 데이터들을 별로 소중하게 생각하지 않는다거나, 시스템을 새로 설정하는 것이 귀찮지 않는 그런 사람이라면 그냥 하던 대로 내버려두어도 괜찮습니다. 그러나 우리들 중 거의 대부분은, 그렇지 못하죠. root가 아닌 일반 사용자로 시스템을 이용하게 되면 몇 가지 장점이 있죠. ●일반 사용자 계정으로는 보통의 명령어를 가지고는 우연히라도 시스템의 중요 한 파일들을 손상시킬 수 없습니다. 데이터 손실의 가장 일반적인 경우는 조작 실수로 인한 것이죠. 제가 Nortom Computing(Dos와 매킨토시의 데이터 복구 툴을 생산하는 가장 큰 회사)에 근무할 때 대부분은 우연히 고의로 데이터를 지 워버린 경우였습니다. 유닉스는 물론 다른 다중 사용자 환경의 경우도 시스템 관리자가 시스템을 망쳐버리는 경우가 가장 많습니다. 따라서 이러한 위험성을 최소화하는 것은 타당한 이유가 될 수 있죠. ●당신이 사용하는 프로그램(버그투성이의, 때로는 트로이 목마나 바이러스가 담 긴)은 곧바로 시스템 파일들을 손상시키지는 않습니다. 소프트웨어의 버그는 두 번째로 많은 데이터 손실의 원인이 됩니다. 트로이 목마나 바이러스는 유닉스 세계에선 그다지 많진 않습니다.(왜냐하면 소프트웨어는 대부분 최소한의 권한으 로 실행하도록 만들어지니까요.) 만약 소프트웨어가 어떤 특별한 권한을 가지고 작동할 필요가 있다면(레드햇 rpm을 이용해 새로운 소프트웨어를 설치하거나 업그레이드할 때) 대부분의 관리자들은 이런 프로그램을 테스트용 머신에서 시 험해 봅니다. ●상식적으로 잘못이 없는 프로그램이라 할지라도 특정한 해킹 공격에는 약할 수 있습니다. 만약 누군가가 write 명령을 ANSI를 써서 당신에게 내린다면(악의 적인 목적으로 키보드 설정을 바꿔놓게 됨), IRC의 특정한 코드를 이용한다면, 당신은 이런 위험을 제한하고 싶어질 것입니다. 물론 일반 사용자로 시스템을 이용하게 되면 "편리함"을 잃게 된다는 단점이 있 습니다. 도스나 윈도우즈 또는 매킨토스 사용자의 경우 시스템 내의 어떤 파일 이든지 직접 빠르고 간단하게 편집할 수 있잖습니까. 제 개인적으로는 이런 방법은 몇가지 장점이 있다고 생각합니다. 저는 각각의 사용자가 어떤 특정한 역할을 가진 그룹에 속한 상태에서 작동하는 그런 시스템 을 원합니다. 당신의 작업들을 특정한 범위별로 나누어 보는것도 괜찮을 겁니다. 예를 들면 게임은 player 계정을 이용하게 하는 것이죠. 넷스케이프 메일이 자꾸 죽는 현상에 대해서...... From: Chris, colohan@cs.cmu.edu 질문: Linux Gazette 24호에서는 넷스케이프 메일이 이유없이 자꾸 죽는 경우에 대해서 .netscape 디렉토리를 지워버리는 것을 해결책의 하나로 제시하셨었는데 저도 그런 문제를 자주 겪었었죠. 제가 살펴본 바에 의하면 그 디렉토리에는 그 런 현상과 관련된 것은 아무 것도 없는 것 같더군요. 문제는 메일 파일 자체입 니다. 홈디렉토리의 nsmail 디렉토리 안의 메일 파일들이 손상되어 있으면 넷스 케이프가 비정상적으로 종료하게 되는 것이죠. trash가 너무 커져도 넷스케이프 가 정상적으로 작동하지 않더군요. 그러니 한가지 해결책은 메일 디렉토리에 있는 파일들을 다른 곳에다가 백업받 아 두고 nsmail 디렉토리를 지우는 겁니다. 그러면 넷스케이프가 다시 디렉토리 를 생성할 것이고 잠시 동안은 잘 작동할 것입니다.(메일 파일이 손상되기 전까 지) 또하나의 방법으로는 메일 파일을 직접 편집해서 의심이 가는 부분은 지워 버릴 수도 있죠. Hylafax by Dani Pardo 저희 회사의 네트워크는 스팍 머신 몇 대와 리눅스 서버, 그리고 윈도우즈 3.1/95 클라이언트로 구성되어 있습니다. 클라이언트에서는 서버에 코볼로 쓰여 진 계산 프로그램을 이용하기 위해 텔넷으로 접속합니다. nfs를 사용하다가 samba를 사용하면서(사용자들이 처음에 winpopup을 발견했을 때 얼마나 재미있 어했는지 한번 상상해 보세요.) 우리는 팩스 프로그램을 사용하기로 마음먹었죠. 몇 가지의 선택안이 있었습니다. 상용(정말로 비싼) 유닉스 소프트웨어, NT 소 프트웨어, 그리고 프리 소프트웨어였죠. NT소프트웨어는 그다지 좋아 보이지 않았고, 신축성이 없었으며 매 사용자마다 계약을 해야 했으며, 수천 달러를 들여서 유닉스 팩스 서버를 구입하고 싶지도 않았습니다. samba 를 유용하게 사용하고 있던 터라, 우리는 hylafax를 한번 써 보기로 했습니다. Hylafax(원래는 flexfax였다.)는 실리콘 그래픽스사에서 만들어졌고, 소스코드와 함께 배포되며 http://www.vix.com/hylafax 에서 구할 수 있습니다. 최신 버전은 4.0p11이죠. tiff 라이브러리도 구해야 합니다. 만약 소스코드를 구하셨다면 당신 은 프로그램을 tiff 라이브러리를 컴파일하고 설치해야 합니다.(tiff 파일을 g3 팩 스 파일 포맷으로 바꾸기 위해) 또한 고스트스크립트를 잘 설정하여 포스트스크 립트를 g3로 바꿀 수 있게 해두어야 합니다. 저희들의 경험에 의하면, 여러분의 고객이 고스트스크립트 에러를 팩스로 받아보게 하고싶지 않다면, 일단은 구할 수 있는 최신 버전의 고스트스크립트를 사용하십시오. tiff 라이브러리를 설치한 다음 hylafax를 컴파일하면 보통의 리눅스 배포본의 경우 /usr/local/과 /var/spool/fax에 설치됩니다. 일단 설치한 후에는 /usr/local/sbin/faxsetup 을 실행하여 시스템 설정을 해주어 야 합니다. 이 프로그램은 팩스를 사용할 사용자를 결정하며 /etc/services와 /etc/inetd.conf를 수정합니다.(hylafax는 4559번 포트와 444번 포트를 이용합니 다.) 몇가지 설정을 더 해준 다음 faxsetup은 사용할 모뎀을 설정하기 위해 faxaddmodem을 실행할 것입니다. faxaddmodem 은 사용할 모뎀을 설정할 수 있게 하며 몇 가지 파라미터들을 넘기고, 받을 수 있는 설정을 해줍니다. Hylafax는 두 개의 데몬으로 이루어져 있습니다. hfaxd(서버 데몬)과 hfaxq(스케 줄러)가 그것이죠. 여러분은 스케줄러가 어느 모뎀을 사용할 것인지 알수 있게 하기 위해서 팩스모뎀을 작동시켜야 합니다. 만약 들어오는 팩스도 받을 수 있 게 해두고 싶다면 /var/spool/fax/incoming에 들어오는 팩스를 받을 저장할수 있 도록 하기 위해서 faxgetty도 설정해야 합니다. 이런 데몬들은 /etc/rc.d 에 넣어 주어서 시스템 부팅시에 작동되도록 해 주어야 하며 4559번 포트로 텔넷을 이용 해 들어가 보면 제대로 설정되었는지 알아볼 수 있습니다. 여러분이 사용할 프로그램들 중에는 sendfax가 있고, 팩스 큐를 확인할 수 있는 faxstat과 job을 지우는 faxrm이 있습니다. Sendfax는 faxq와 sendpage 등을 호 출합니다. 또한 고스트스크립트를 작동시켜 이미지를 변환합니다. 따라서 당신은 주로 포스트스크립트를 팩스로 보내거나, 일반 ascii파일을 팩스로 보내는 셈이 됩니다. 다른 형식의 문서를 보내고 싶을때는 /usr/local/fax/typerules 를 확인해 보세요. 다른 재미있는 설정들은 /var/spool/fax 디렉토리에 존재합니다. 모뎀이 제대로 작동하지 않는다면 우선 모뎀부터 체크해 보십시오. 그리고 서버측 설정 을 마무리하기 위해서 crontab에 이미 보내진 팩스들을 지우기 위한 faxqclean 을 넣어 주는 것도 괜찮은 생각입니다. 클라이언트측 설정 일단 여러분이 hylafax를 설정하고 작동시키게 되었다면 이제는 클라이언트를 설정할 차례입니다. 매킨토시 사용자를 위한 MacFlex가 있고 윈도우즈 사용자 를 위한 WinFlex가 있습니다. WinFlex는 Macflex와 마찬가지로 포스트스크립트 프린터 드라이버를 설치해 줍니다. 그래서 만약 뭔가가 그 프린터로 보내지면 윈도우가 떠서 전화번호를 물어보게 됩니다. 여러분은 또한 큐를 확인해볼 수도 있고 쌓여있는 job들을 지울수도 있습니다. 일단 팩스가 보내지면 사용자는 몇몇 유용한 정보와 함께 보내진 팩스가 처리되었음을 알리는 전자우편을 하나 받게 됩니다. Hylafax 개발자들은 절대 팩스를 잃어버리는 일은 없을 것이라고 장담 합니다. 제가 보기에도 이 기능은 정말 많은 노력을 기울여서 구현한 기능이라 고 얘기할 수 있습니다. WinFlex는 괜찮은 솔루션이긴 하지만 완벽하진 못하고, (프린터 드라이버와의 인터페이스가 좀 좋지 않은 편입니다.) hylafax의 모든 기능을 다 이용하지는 않 더군요. 또 더욱 개선되어야 할 점으로는 자동으로 표지를 생성해주는 방법에 대해서 해 결책이 있어야 하겠다는 겁니다. 제 경우는 표지를 생성하도록 해주기 위해서 정말로 고생을 많이 했죠. 포스트스크립트에 대한 많은 지식을 요구하더군요. 저 희 회사에서는 결국 표지를 일반적인 워드 프로세서로 만들어낸 보통 문서로 이 용할 수 있게 해서 그것을 samba 공용 디렉토리에다 올려 두었습니다. Let's Have a Fun 진짜 재미있는 것은 제가 회계 부서의 특별한 요구사항을 접하고 난 후 알게 되 었습니다. 그 사람들은 팩스를 이용해서 작업 결과물을 팩스로 자동으로 보내고 싶어했습니다. 그 결과물은 코볼 프로그램을 이용해서 생성된 acsii파일입니다. 그런데 모든 페이지에 회사 로고가 들어가야 하고 페이지 아랫부분에는 특정한 글자가 들어가야 한다는 제약 조건이 있었습니다. 이것은 표지를 만들어내는 것 보다 더 어려워 보였습니다. 그러나 hylafax의 신축성 덕분에 c 프로그램과 쉘 스크립트를 조금 짜서 다음과 같은 일을 하는 프린터 필터를 만들어낼 수 있었 습니다. *ascii 파일로부터 전화번호를 받아옴 *ascii 파일을 페이지별로 나눔 *각각의 페이지를 pbm(portable bitmap)으로 pbmplus 패키지를 이용해 변환 *pbm으로 되어있는 로고를 각각의 페이지에 삽입 *모든 페이지를 고스트스크립트를 이용해 포스트스크립트로 변환 *모든 포스트스크립트 페이지들을 하나로 모아서 sendfax로 보냄 결론 hylafax는 비록 몇 가지 기능들이 빠져있긴 하지만 다재다능하고도 강력하며 매 우 유연한 팩스 소프트웨어입니다. 매우 다양하게 설정할 수 있으며 보안 문제 에 관한 꽤 많은 양의 디버깅 정보를 제공하며 공짜입니다. 패치 버전과 문제를 해결할 수 있는 hylafax메일링리스트도 물론 있습니다. 제게 다시한번 프리 소프트웨어가 힘을 발휘해 주었죠.