Most of these messages perform their action automatically at the time the article is processed by C News without notifying the newsmaster. By default, only checkgroups messages will be handed to the newsmaster, but you may change this by editing the scripts.

The cancel Message

The most widely known message is cancel, with which a user can cancel an article sent earlier. This effectively removes the article from the spool directories, if it exists. The cancel message is forwarded to all sites that receive news from the groups affected, regardless of whether the article has been seen already. This takes into account the possibility that the original article has been delayed over the cancellation message. Some news systems allow users to cancel other people's messages; this is, of course, a definite no-no.

newgroup and rmgroup

Two messages dealing with creation or removal of newsgroups are the newgroup and rmgroup messages. Newsgroups below the 'usual' hierarchies may be created only after a discussion and voting has been held among Usenet readers. The rules applying to the alt hierarchy allow for something close to anarchy. For more information, see the regular postings in news.announce.newusers and news.announce.newgroups. Never send a newgroup or rmgroup message yourself unless you definitely know that you are allowed to.

The checkgroups Message

checkgroups messages are sent by news administrators to make all sites within a network synchronize their active files with the realities of Usenet. For example, commercial Internet Service Providers might send out such a message to their customers' sites. Once a month, the 'official' checkgroups message for the major hierarchies is posted to comp.announce.newgroups by its moderator. However, it is posted as an ordinary article, not as a control message. To perform the checkgroups operation, save this article to a file, say /tmp/check, remove everything up to the beginning of the control message itself, and feed it to the checkgroups script using the following command:

# su news -c '/usr/lib/news/ctl/checkgroups' ‹ /tmp/check

This will update your newsgroups file from the new list of groups, adding the groups listed in localgroups. The old newsgroups file will be moved to newsgroups.bac. Note that posting the message locally rarely works, because inews, the command that accepts and posts articles from users, refuses to accept that large an article.

If C News finds mismatches between the checkgroups list and the active file, it produces a list of commands that would bring your site up to date and mails it to the news administrator.

The output typically looks like this:

From news Sun Jan 30 16:18:11 1994

Date: Sun, 30 Jan 94 16:18 MET

From: news (News Subsystem)

To: usenet

Subject: Problems with your active file

The following newsgroups are not valid and should be removed.

        alt.ascii-art

        bionet.molbio.gene-org

        comp.windows.x.intrisics

        de.answers

You can do this by executing the commands:

         /usr/lib/news/maint/delgroup alt.ascii-art

         /usr/lib/news/maint/delgroup bionet.molbio.gene-org

         /usr/lib/news/maint/delgroup comp.windows.x.intrisics

         /usr/lib/news/maint/delgroup de.answers

The following newsgroups were missing.

        comp.binaries.cbm

        comp.databases.rdb

        comp.os.geos

        comp.os.qnx

        comp.unix.user-friendly

        misc.legal.moderated

        news.newsites

        soc.culture.scientists

        talk.politics.crypto

        talk.politics.tibet

When you receive a message like this from your news system, don't believe it automatically. Depending on who sent the checkgroups message, it may lack a few groups or even entire hierarchies; you should be careful about removing any groups. If you find groups are listed as missing that you want to carry at your site, you have to add them using the addgroup script. Save the list of missing groups to a file and feed it to the following little script:

#!/bin/sh

#

WHOIAM=`whoami`

if [ '$WHOIAM' != 'news' ]

then

        echo 'You must run $0 as user 'news'' >&2

        exit 1

fi

#

cd /usr/lib/news

while read group; do

    if grep -si '^$group[[:space:]].*moderated' newsgroup; then

        mod=m

    else

        mod=y

    fi

    /usr/lib/news/maint/addgroup $group $mod

done

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату