다음 이전 차례

5. 뉴스 (News)

5.1 어떻게 온라인 뉴스리더를 셋업하는가? (How do I set up an online news-reader?)

PPP가 떠있는 동안, 온라인으로 뉴스를 읽는것이 가능하다. 여기에는 몇가지 가능한 프로그램들이 있다. 간단한 방법으로는 rtin 또는 trn이 있다.

대부분의 경우 설정할 필요가 있는 것은 다음과 같다. (보통 한번만, ".profile" 안에):

export NNTPSERVER=news.acme.net

To get the From-address correct in postings, some programs may require:

export NNTP_INEWS_DOMAIN=acme.net

5.2 어떻게 오프라인 뉴스리더를 셋업하는가? (How do I set up an offline news-reader?)

오프라인일때 뉴스를 읽을 수 있도록 하면, 전화세를 줄일 수 있고 더 많은 융통성을 가지게 되는데, 한 종류의 로컬 뉴스-스풀을 설정해야 한다. 여기에는 몇가지 설정이 필요하다, 그리고 어느정도 디스크의 여유공간이 필요하다. 초기 셋업이 끝난 후에는, 때때로 주의를 기울여 잘 돌아가는지 실행시켜 보아야 한다.

두가지 해결책을 여기서 설명한다.

5.3 C News를 어떻게 셋업하는가? (How do I set up C News?)

여기서 설명할 해결책은 뉴스서버 C News와 NNTP 프로토콜에 기반을 둔다. C News는 원래 다른 종류의 설정을 목표로 하는것이다. 그러나 이것은 우리의 상황도 다룰 수 있을 만큼 유연하다. 새롭고 인기있는 INN 뉴스서버를 사용하기를 원할런지도 모르지만, 그것은 리소스 관점에서 더 많은 것을 필요로 한다. 어쨌든, 둘다 설치하지 않도록 조심한다; 둘은 쉽게 공존할 수 없다.

news유저로 로그인해서 뉴스의 모든 관리가 모두 해결된다는 것은 아주 결정적인 것이다. 모든 설정파일들은 /usr/lib/news에 위치한다. 이것들을 다루는 한가지 방법으로, root로 로그인하였을때 su news; cd라 입력하는 방법이 있다.

설정에서 가장 중요한 파일들은:

Dirk Gently's Holistic Detective Agency

ME:all/all::
acme/acme.net:all,!junk/all:FL:

mkdir /var/spool/news/out.going/acme

C News는 매일 어느정도 유지보수할 필요가 있다. 그러나 이는 한번, news 사용자로서 crontab -e 명령을 통하여 모두 정하는 것이 가능하다. 권장하는 셋업은 다음과 같다; 이를 필요로 한다는 것이 나타나게 된다:

# maintain incoming and outgoing batches
10,40 *  * * * /usr/lib/newsbin/input/newsrun

# expire C News, once a day
30 0  * * * /usr/lib/newsbin/expire/doexpire

# monitor and report if needed
00 2  * * sat /usr/lib/newsbin/maint/addmissing
40 3  * * * /usr/lib/newsbin/maint/newswatch
50 3  * * * /usr/lib/newsbin/maint/newsdaily
Newsrun은 (한시간마다 두번씩) 기사를 내부와 외부로 옮긴다. doexpire은 오래된 기사들을 지운다.(매일 밤 00:30에), 그리고 나머지 세 명령은 다양한 관리작업과 에러 수정을 수행한다.

역시 이것들이 머신을 시작할때 깨끗이 지워지는지 분명히 해야 한다. root 사용자로, 다음과 같은 줄을 /etc/rc.d/rc.local에 추가한다.

su news -c /usr/lib/newsbin/maint/newsboot
뉴스는 아마도 NewsX라는 프로그램이 뉴스를 NNTP 서버에서 가져옴으로써 모이게 된다. 이 프로그램은 여기서 찾을 수 있다:

ftp://sunsite.unc.edu/pub/Linux/system/News/newsx-0.1.tar.gz Or:

ftp://ftp.sn.no/user/egilk/newsx-0.3.tar.gz

NewsX를 셋업하는 것은 무척 간단하다. 일반적으로 설치하는 순서는 다음과 같다:

make
su
make install
exit

여기서의 셋업과 함께, 여러분이 해야할 모든 것은 "addgroup" 명령을 사용하여 여러분이 읽기를 원하는 그룹을 생성하는 것이다.

기사를 모으기 위해서, news 사용자는 다음과 같은 명령을 내린다 (PPP나 그와 비슷한 접속이 이루어져 있다고 가정한다.):

newsrun
newsx acme news.acme.net
newsrun

옵션 -d는 스크린에 연속적인 출력을 행한다. 더 자세한 정보는 NewsX에 따라오는 문서를 참고하도록 한다.

NewsX는 역시 나갈 기사를 포스팅하는 것에도 주의를 기울일 것이다.

오래된 기사들을 처리하기 위해서, explist 파일이 필요하다. 예제의 설명은 우리가 무엇을 원하는지 설명하고 있다:

# hold onto history lines 14 days, nobody gets >120 days
/expired/           x    14   -
/bounds/            x    0-1-120 -

# retain these for 2 months
comp.sources,comp.os.linux.all     x    60   -

# noise gets thrown away fast
junk,control             x    2    -

# default:  14 days, no archive
all                 x    14   -

대안: 작은 뉴스-스풀에서, 뉴스그룹 control이 필요 없을 때도 있다. 유용성에 비해서 대단한 부하가 걸린다. 주된 점은 기사들이 취소된다는 것이고, 그리고 그룹들은 자동으로 만들어질 것이다. newsgroup을 담고있는 제어 메세지들이 뒤죽박죽 섞이는 것을 막기 위해 newgroupperm이라 불리우는 파일에 우리가 허가할 것들을 정의한다:

comp.os.linux  tale@uunet.com yv
all       any       nq
이러한 예에서, comp.os.linux 아래 있는 적당한 그룹들을 모두 생성하려면 (y), news 사용자가 통지받기를 원한다면 (v)를 써준다. 나머지 모든것들을 조용히 이루어지게 하거나 (q) 무시할 수 있다 (n). 마지막 줄은 모든 뉴스그룹을 직접 만들기를 원한다면 충분할 것이다.

대안: NewX의 대안으로써 suck이나 postit과 결함한 slurp이 있다. Slurp는 많은 뉴스 서버에 커다란 부하를 가하는 NNTP NEWNEWS 를 사용한다.

5.4 Leafnode를 어떻게 셋업하는가? (How do I set up Leafnode?)

다른 해결책으로는 통합 패키지인 leafnode를 설치하는 것이다. 이것은 모든 개인 뉴스 스풀에 필요한 모든 작업을 다룰 것이도, 설정하기도 쉽다. leafnode는 여기서 구할 수 있다:

http://www.troll.no/freebies/leafnode.html

C News의 경우, news라는 사용자가 모든 뉴스 유지보수를 하여야 한다.

leafnode의 홈디렉토리는 /usr/lib/leafnode에 있다. 설치하기 위해서는 다음과 같이 입력한다:

cd /usr/lib/leafnode
tar -xzvf leafnode-0.8.tgz
cd leafnode-0.8
make
su
make install

아직 root로 로그인한다면, /etc/inetd.conf의 NNTP를 제어하는 줄을 다음과 같이 바꾸어준다:

nntp  stream  tcp  nowait  news  /usr/sbin/tcpd /usr/local/sbin/leafnode
Activate it by:
killall -HUP inetd

exit를 입력함으로써 news 사용자로 돌아온다. /usr/lib/leafnode/config에서는 NNTP 서버를 정의하고 있는 줄을 바꾸어준다. 우리의 경우에는:

server = news.acme.net

Leafnode는 news 사용자로 crontab -e에 다음과 같은 명령을 첨가함으로써 자신을 관리할 것이다:

# expire Leafnode, once a day
0 4 * * * /usr/local/sbin/texpire

뉴스 교환은 다음과 같은 명령으로 news사용자를 통해서 이루어진다. (PPP가 떠있고 실행됨을 가정) The news exchange is also done as user news by the following command (assuming PPP is up and running):

/usr/local/sbin/fetch

사용자들은 뉴스를 읽기를 원하는 사용자들은 How do I set up an online news-reader?에 나온 방법을 사용하여야 하는데, 단 로컬 머신에서 설정할때는 제외한다, 예를 들면:

export NNTPSERVER=localhost

지금까지 나온 것이 해야 할 모든 것이다. 첫번째 fetch는 이용할 수 있는 뉴스그룹의 리스트를 전달한다. Leafnode는 사용자가 어떠한 그룹을 요청하였는지 감시하고, 다음 번에 그 그룹이 활성화되면 받아들이게 된다.

대안: leafnode의 대신할 만한 것으로는 nntpcache가 있는데, 여기서 구할 수 있다:

ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz


다음 이전 차례