aboutsummaryrefslogtreecommitdiff
path: root/doc/man/gnunet-publish.1
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/gnunet-publish.1')
-rw-r--r--doc/man/gnunet-publish.1279
1 files changed, 212 insertions, 67 deletions
diff --git a/doc/man/gnunet-publish.1 b/doc/man/gnunet-publish.1
index 53a8a6563..28ee163e2 100644
--- a/doc/man/gnunet-publish.1
+++ b/doc/man/gnunet-publish.1
@@ -6,108 +6,235 @@ gnunet\-publish \- a command line interface for publishing new content into GNUn
6[\fIOPTIONS\fR] FILENAME 6[\fIOPTIONS\fR] FILENAME
7.SH DESCRIPTION 7.SH DESCRIPTION
8.PP 8.PP
9In order to share files with other GNUnet users, the files must first be made available to GNUnet. GNUnet does not automatically share all files from a certain directory (however, you can do this with the gnunet\-auto\-share tool). In fact, even files that are downloaded are not automatically shared. 9In order to share files with other GNUnet users, the files must first
10be made available to GNUnet. GNUnet does not automatically share all
11files from a certain directory (however, you can do this with the
12gnunet\-auto\-share tool). In fact, even files that are downloaded
13are not automatically shared.
10.PP 14.PP
11In order to start sharing files, the files must be added either using gnunet\-publish or a graphical interface such as gnunet\-fs\-gtk. The command line tool gnunet\-publish is more useful if many files are supposed to be added. gnunet\-publish can automatically publish batches of files, recursively publish directories, create directories that can be browsed within GNUnet and publish file lists in a namespace. When run on a directory, gnunet\-publish will always recursively publish all of the files in the directory. 15In order to start sharing files, the files must be added either using
16gnunet\-publish or a graphical interface such as gnunet\-fs\-gtk. The
17command line tool gnunet\-publish is more useful if many files are
18supposed to be added. gnunet\-publish can automatically publish
19batches of files, recursively publish directories, create directories
20that can be browsed within GNUnet and publish file lists in a
21namespace. When run on a directory, gnunet\-publish will always
22recursively publish all of the files in the directory.
12.PP 23.PP
13gnunet\-publish can automatically extract keywords from the files that are shared. Users that want to download files from GNUnet use keywords to search for the appropriate content. You can disable keyword extraction with the \-D option. You can manually add keywords using the \-k option. The keywords are case\-sensitive. 24gnunet\-publish can automatically extract keywords from the files that
25are shared. Users that want to download files from GNUnet use
26keywords to search for the appropriate content. You can disable
27keyword extraction with the \-D option. You can manually add keywords
28using the \-k option. The keywords are case\-sensitive.
14.PP 29.PP
15In addition to searching for files by keyword, GNUnet allows organizing files into directories. With directories, the user only needs to find the directory in order to be able to download any of the files listed in the directory. Directories can contain pointers to other directories. 30In addition to searching for files by keyword, GNUnet allows
31organizing files into directories. With directories, the user only
32needs to find the directory in order to be able to download any of the
33files listed in the directory. Directories can contain pointers to
34other directories.
16.PP 35.PP
17With gnunet\-publish, it is easy to create new directories simultaneously when adding the files. Simply pass the name of a directory instead of a file. 36With gnunet\-publish, it is easy to create new directories
37simultaneously when adding the files. Simply pass the name of a
38directory instead of a file.
18.PP 39.PP
19Since keywords can be spammed (any user can add any content under any keyword), GNUnet supports namespaces. A namespace is a subset of the searchspace into which only the holder of a certain pseudonym can add content. Any GNUnet user can create any number of pseudonyms using \fBgnunet\-pseudonym\fR. Pseudonyms are stored in the user's GNUnet directory. While pseudonyms are locally identified with an arbitrary string that the user selects when the pseudonym is created, the namespace is globally known only under the hash of the public key of the pseudonym. Since only the owner of the pseudonym can add content to the namespace, it is impossible for other users to pollute the namespace. gnunet\-publish automatically publishes the top\-directory (or the only file if only one file is specified) into the namespace if a pseudonym is specified. 40Since keywords can be spammed (any user can add any content under any
41keyword), GNUnet supports namespaces. A namespace is a subset of the
42searchspace into which only the holder of a certain pseudonym can add
43content. Any GNUnet user can create any number of pseudonyms using
44\fBgnunet\-pseudonym\fR. Pseudonyms are stored in the user's GNUnet
45directory. While pseudonyms are locally identified with an arbitrary
46string that the user selects when the pseudonym is created, the
47namespace is globally known only under the hash of the public key of
48the pseudonym. Since only the owner of the pseudonym can add content
49to the namespace, it is impossible for other users to pollute the
50namespace. gnunet\-publish automatically publishes the top\-directory
51(or the only file if only one file is specified) into the namespace if
52a pseudonym is specified.
20.PP 53.PP
21It is possible to update content in GNUnet if that content was placed and obtained from a particular namespace. Updates are only possible for content in namespaces since this is the only way to assure that a malicious party can not supply counterfeited updates. Note that an update with GNUnet does not make the old content unavailable, GNUnet merely allows the publisher to point users to more recent versions. You can use the \-N option to specify the future identifier of an update. When using this option, a GNUnet client that finds the current (\-t) identifier will automatically begin a search for the update (\-N) identifier. If you later publish an update under the (\-N) identifier, both results will be given to the user. 54It is possible to update content in GNUnet if that content was placed
55and obtained from a particular namespace. Updates are only possible
56for content in namespaces since this is the only way to assure that a
57malicious party can not supply counterfeited updates. Note that an
58update with GNUnet does not make the old content unavailable, GNUnet
59merely allows the publisher to point users to more recent
60versions. You can use the \-N option to specify the future identifier
61of an update. When using this option, a GNUnet client that finds the
62current (\-t) identifier will automatically begin a search for the
63update (\-N) identifier. If you later publish an update under the
64(\-N) identifier, both results will be given to the user.
22.PP 65.PP
23You can use automatic meta\-data extraction (based on libextractor) or the command\-line option \-m to specify meta-data. For the \-m option you need to use the form keyword\-type:value. For example, use "\-m os:Linux" to specify that the operating system is Linux. Common meta\-data types are "author", "title" , "mimetype", "filename", "language", "subject" and "keywords". A full list can be obtained from the extract tool using the option \-\-list. The meta\-data is used to help users in searching for files on the network. The keywords are case\-sensitive. 66You can use automatic meta\-data extraction (based on libextractor) or
67the command\-line option \-m to specify meta-data. For the \-m option
68you need to use the form keyword\-type:value. For example, use "\-m
69os:Linux" to specify that the operating system is Linux. Common
70meta\-data types are "author", "title" , "mimetype", "filename",
71"language", "subject" and "keywords". A full list can be obtained
72from the extract tool using the option \-\-list. The meta\-data is
73used to help users in searching for files on the network. The
74keywords are case\-sensitive.
24.PP 75.PP
25GNUnet supports two styles of publishing files on the network. Publishing a file means that a copy of the file is made in the local (!) database of the node. Indexing a file means that an index is added to the local (!) database with symbolic links to the file itself. The links will use the SHA-512 hash of the entire file as the filename. Indexing is generally significantly more efficient and the default choice. However, indexing only works if the indexed file can be read (using the same absolute path) by gnunet-service-fs. If this is not the case, indexing will fail (and gnunet\-publish will automatically revert to publishing instead). Regardless of which method is used to publish the file, the file will be slowly (depending on how often it is requested and on how much bandwidth is available) dispersed into the network. If you publish or index a file and then leave the network, it will almost always NOT be available anymore. 76GNUnet supports two styles of publishing files on the
26 77network. Publishing a file means that a copy of the file is made in
27\fB\-c \fIFILENAME\fR, \fB\-\-config=FILENAME\fR 78the local (!) database of the node. Indexing a file means that an
28Use alternate config file (if this option is not specified, the default is ~/.config/gnunet.conf). 79index is added to the local (!) database with symbolic links to the
80file itself. The links will use the SHA-512 hash of the entire file
81as the filename. Indexing is generally significantly more efficient
82and the default choice. However, indexing only works if the indexed
83file can be read (using the same absolute path) by gnunet-service-fs.
84If this is not the case, indexing will fail (and gnunet\-publish will
85automatically revert to publishing instead). Regardless of which
86method is used to publish the file, the file will be slowly (depending
87on how often it is requested and on how much bandwidth is available)
88dispersed into the network. If you publish or index a file and then
89leave the network, it will almost always NOT be available anymore.
90
91\fB\-c \fIFILENAME\fR, \fB\-\-config=FILENAME\fR Use alternate config
92file (if this option is not specified, the default is
93~/.config/gnunet.conf).
29 94
30.TP 95.TP
31\fB\-D\fR, \fB\-\-disable\-extractor\fR 96\fB\-D\fR, \fB\-\-disable\-extractor\fR Disable use of GNU
32Disable use of GNU libextractor for finding additional keywords and metadata. 97libextractor for finding additional keywords and metadata.
33 98
34.TP 99.TP
35\fB\-d\fR, \fB\-\-disable\-creation\-time\fR 100\fB\-d\fR, \fB\-\-disable\-creation\-time\fR Disable use of creation
36Disable use of creation time timestamp in metadata. Useful to make created directories deterministic and to avoid leaking information about the time at which a file was made available. 101time timestamp in metadata. Useful to make created directories
102deterministic and to avoid leaking information about the time at which
103a file was made available.
37 104
38.TP 105.TP
39\fB\-e\fR, \fB\-\-extract\fR 106\fB\-e\fR, \fB\-\-extract\fR Print the list of keywords that will be
40Print the list of keywords that will be used for each file given the current options. Do not perform any indexing or publishing. 107used for each file given the current options. Do not perform any
108indexing or publishing.
41 109
42.TP 110.TP
43\fB\-h\fR, \fB\-\-help\fR 111\fB\-h\fR, \fB\-\-help\fR Print a brief help page with all the
44Print a brief help page with all the options. 112options.
45 113
46.TP 114.TP
47\fB\-k \fIKEYWORD\fR, \fB\-\-key=KEYWORD\fR 115\fB\-k \fIKEYWORD\fR, \fB\-\-key=KEYWORD\fR additional key to index
48additional key to index the content with (to add multiple keys, specify multiple times). Each additional key is case\-sensitive. Can be specified multiple times. The keyword is only applied to the top\-level file or directory. 116the content with (to add multiple keys, specify multiple times). Each
117additional key is case\-sensitive. Can be specified multiple times.
118The keyword is only applied to the top\-level file or directory.
49 119
50.TP 120.TP
51\fB\-L \fILOGLEVEL\fR, \fB\-\-loglevel=\fILOGLEVEL\fR 121\fB\-L \fILOGLEVEL\fR, \fB\-\-loglevel=\fILOGLEVEL\fR Change the
52Change the loglevel. Possible values for LOGLEVEL are 122loglevel. Possible values for LOGLEVEL are ERROR, WARNING, INFO and
53ERROR, WARNING, INFO and DEBUG. 123DEBUG.
54 124
55.TP 125.TP
56\fB\-m \fITYPE:VALUE\fR, \fB\-\-meta=\fITYPE:VALUE\fR 126\fB\-m \fITYPE:VALUE\fR, \fB\-\-meta=\fITYPE:VALUE\fR For the main
57For the main file (or directory), set the metadata of the given TYPE to the given VALUE. Note that this will not add the respective VALUE to the set of keywords under which the file can be found. 127file (or directory), set the metadata of the given TYPE to the given
128VALUE. Note that this will not add the respective VALUE to the set of
129keywords under which the file can be found.
58 130
59.TP 131.TP
60\fB\-n\fR, \fB\-\-noindex\fR 132\fB\-n\fR, \fB\-\-noindex\fR Executive summary: You probably don't
61Executive summary: You probably don't need it. 133need it.
62 134
63Do not index, full publishing. Note that directories, information for keyword search, namespace search and indexing data are always published (even without this option). With this option, every block of the actual files is stored in encrypted form in the block database of the local peer. While this adds security if the local node is compromised (the adversary snags your machine), it is significantly less efficient compared to on\-demand encryption and is definitely not recommended for large files. 135Do not index, full publishing. Note that directories, information for
136keyword search, namespace search and indexing data are always
137published (even without this option). With this option, every block
138of the actual files is stored in encrypted form in the block database
139of the local peer. While this adds security if the local node is
140compromised (the adversary snags your machine), it is significantly
141less efficient compared to on\-demand encryption and is definitely not
142recommended for large files.
64 143
65.TP 144.TP
66\fB\-N \fIID\fR, \fB\-\-next=\fIID\fR 145\fB\-N \fIID\fR, \fB\-\-next=\fIID\fR Specifies the next identifier of
67Specifies the next identifier of a future version of the file to be published under the same pseudonym. This option is only valid together with the \-P option. This option can be used to specify what the identifier of an updated version will look like. Note that specifying \-i and \-N without \-t is not allowed. 146a future version of the file to be published under the same pseudonym.
147This option is only valid together with the \-P option. This option
148can be used to specify what the identifier of an updated version will
149look like. Note that specifying \-i and \-N without \-t is not
150allowed.
68 151
69.TP 152.TP
70\fB\-p \fIPRIORITY\fR, \fB\-\-prio=\fIPRIORITY\fR 153\fB\-p \fIPRIORITY\fR, \fB\-\-prio=\fIPRIORITY\fR Executive summary:
71Executive summary: You probably don't need it. 154You probably don't need it.
72 155
73Set the priority of the published content (default: 365). If the local database is full, GNUnet will discard the content with the lowest ranking. Note that ranks change over time depending on popularity. The default should be high enough to preserve the locally published content in favor of content that migrates from other peers. 156Set the priority of the published content (default: 365). If the
157local database is full, GNUnet will discard the content with the
158lowest ranking. Note that ranks change over time depending on
159popularity. The default should be high enough to preserve the locally
160published content in favor of content that migrates from other peers.
74 161
75.TP 162.TP
76\fB\-P \fINAME\fR, \fB\-\-pseudonym=\fINAME\fR 163\fB\-P \fINAME\fR, \fB\-\-pseudonym=\fINAME\fR For the top\-level
77For the top\-level directory or file, places the file into the namespace identified by the pseudonym NAME. NAME must be a valid pseudonym managed by gnunet\-identity. 164directory or file, places the file into the namespace identified by
165the pseudonym NAME. NAME must be a valid pseudonym managed by
166gnunet\-identity.
78 167
79.TP 168.TP
80\fB\-r \fILEVEL\fR, \fB\-\-replication=\fILEVEL\fR 169\fB\-r \fILEVEL\fR, \fB\-\-replication=\fILEVEL\fR Set the desired
81Set the desired replication level. If CONTENT_PUSHING is set to YES, GNUnet will push each block (for the file) LEVEL times to other peers before doing normal "random" replication of all content. This option can be used to push some content out into the network harder. Note that pushing content LEVEL times into the network does not guarantee that there will actually be LEVEL replicas. 170replication level. If CONTENT_PUSHING is set to YES, GNUnet will push
171each block (for the file) LEVEL times to other peers before doing
172normal "random" replication of all content. This option can be used
173to push some content out into the network harder. Note that pushing
174content LEVEL times into the network does not guarantee that there
175will actually be LEVEL replicas.
82 176
83.TP 177.TP
84\fB\-s\fR, \fB\-\-simulate-only\fR 178\fB\-s\fR, \fB\-\-simulate-only\fR When this option is used,
85When this option is used, gnunet\-publish will not actually publish the file but just simulate what would be done. This can be used to compute the GNUnet URI for a file without actually sharing it. 179gnunet\-publish will not actually publish the file but just simulate
180what would be done. This can be used to compute the GNUnet URI for a
181file without actually sharing it.
86 182
87.TP 183.TP
88\fB\-t \fIID\fR, \fB\-\-this=\fIID\fR 184\fB\-t \fIID\fR, \fB\-\-this=\fIID\fR Specifies the identifier under
89Specifies the identifier under which the file is to be published under a pseudonym. This option is only valid together with the\ \-P option. 185which the file is to be published under a pseudonym. This option is
186only valid together with the\ \-P option.
90 187
91.TP 188.TP
92\fB\-u \fIURI\fR, \fB\-\-uri=\fIURI\fR 189\fB\-u \fIURI\fR, \fB\-\-uri=\fIURI\fR This option can be used to
93This option can be used to specify the URI of a file instead of a filename (this is the only case where the otherwise mandatory filename argument must be omitted). Instead of publishing a file or directory and using the corresponding URI, gnunet\-publish will use this URI and perform the selected namespace or keyword operations. This can be used to add additional keywords to a file that has already been shared or to add files to a namespace for which the URI is known but the content is not locally available. 190specify the URI of a file instead of a filename (this is the only case
191where the otherwise mandatory filename argument must be omitted).
192Instead of publishing a file or directory and using the corresponding
193URI, gnunet\-publish will use this URI and perform the selected
194namespace or keyword operations. This can be used to add additional
195keywords to a file that has already been shared or to add files to a
196namespace for which the URI is known but the content is not locally
197available.
94 198
95.TP 199.TP
96\fB\-v\fR, \fB\-\-version\fR 200\fB\-v\fR, \fB\-\-version\fR Print the version number.
97Print the version number.
98 201
99.TP 202.TP
100\fB\-V\fR, \fB\-\-verbose\fR 203\fB\-V\fR, \fB\-\-verbose\fR Be verbose. Using this option causes
101Be verbose. Using this option causes gnunet\-publish to print progress information and at the end the file identification that can be used to download the file from GNUnet. 204gnunet\-publish to print progress information and at the end the file
205identification that can be used to download the file from GNUnet.
102 206
103 207
104.SH SETTING ANONYMITY LEVEL 208.SH SETTING ANONYMITY LEVEL
105 209
106The \fB\-a\fR option can be used to specify additional anonymity constraints. If set to 0, GNUnet will publish the file non-anonymously and in fact sign the advertisement for the file using your peer's private key. This will allow other users to download the file as fast as possible, including using non-anonymous methods (DHT, direct transfer). If you set it to 1 (default), you use the standard anonymous routing algorithm (which does not explicitly leak your identity). However, a powerful adversary may still be able to perform traffic analysis (statistics) to over time infer data about your identity. You can gain better privacy by specifying a higher level of anonymity, which increases the amount of cover traffic your own traffic will get, at the expense of performance. Note that regardless of the anonymity level you choose, peers that cache content in the network always use anonymity level 1. 210The \fB\-a\fR option can be used to specify additional anonymity
107 211constraints. If set to 0, GNUnet will publish the file non-anonymously
108The definition of the ANONYMITY LEVEL is the following. 0 means no anonymity is required. Otherwise a value of 'v' means that 1 out of v bytes of "anonymous" traffic can be from the local user, leaving 'v-1' bytes of cover traffic per byte on the wire. Thus, if GNUnet routes n bytes of messages from foreign peers (using anonymous routing), it may originate n/(v-1) bytes of data in the same time\-period. The time\-period is twice the average delay that GNUnet defers forwarded queries. 212and in fact sign the advertisement for the file using your peer's
109 213private key. This will allow other users to download the file as fast
110The default is 1 and this should be fine for most users. Also notice that if you choose very large values, you may end up having no throughput at all, especially if many of your fellow GNUnet\-peers all do the same. 214as possible, including using non-anonymous methods (DHT, direct
215transfer). If you set it to 1 (default), you use the standard
216anonymous routing algorithm (which does not explicitly leak your
217identity). However, a powerful adversary may still be able to perform
218traffic analysis (statistics) to over time infer data about your
219identity. You can gain better privacy by specifying a higher level of
220anonymity, which increases the amount of cover traffic your own
221traffic will get, at the expense of performance. Note that regardless
222of the anonymity level you choose, peers that cache content in the
223network always use anonymity level 1.
224
225The definition of the ANONYMITY LEVEL is the following. 0 means no
226anonymity is required. Otherwise a value of 'v' means that 1 out of v
227bytes of "anonymous" traffic can be from the local user, leaving 'v-1'
228bytes of cover traffic per byte on the wire. Thus, if GNUnet routes n
229bytes of messages from foreign peers (using anonymous routing), it may
230originate n/(v-1) bytes of data in the same time\-period. The
231time\-period is twice the average delay that GNUnet defers forwarded
232queries.
233
234The default is 1 and this should be fine for most users. Also notice
235that if you choose very large values, you may end up having no
236throughput at all, especially if many of your fellow GNUnet\-peers all
237do the same.
111 238
112 239
113.SH EXAMPLES 240.SH EXAMPLES
@@ -127,37 +254,55 @@ Index a file COPYING with the keywords \fBgpl\fR and \fBtest\fR:
127 254
128 # gnunet\-publish \-k gpl \-k test COPYING 255 # gnunet\-publish \-k gpl \-k test COPYING
129 256
130Index a file COPYING with description "GNU License", mime-type "text/plain" and keywords \fBgpl\fR and \fBtest\fR: 257Index a file COPYING with description "GNU License", mime-type
258"text/plain" and keywords \fBgpl\fR and \fBtest\fR:
131 259
132 # gnunet\-publish \-m "description:GNU License" \-k gpl \-k test \-m "mimetype:text/plain" COPYING 260 # gnunet\-publish \-m "description:GNU License" \-k gpl \-k test \-m
261 "mimetype:text/plain" COPYING
133 262
134\fBUsing directories\fR 263\fBUsing directories\fR
135 264
136Index the files COPYING and AUTHORS with keyword \fBtest\fR and build a directory containing the two files. Make the directory itself available under keyword \fBgnu\fR and disable keyword extraction using libextractor: 265Index the files COPYING and AUTHORS with keyword \fBtest\fR and build
266a directory containing the two files. Make the directory itself
267available under keyword \fBgnu\fR and disable keyword extraction using
268libextractor:
137 269
138 # mkdir gnu 270 # mkdir gnu mv COPYING AUTHORS gnu/ gnunet\-publish \-k test \-k gnu
139 # mv COPYING AUTHORS gnu/ 271 # \-D gnu/
140 # gnunet\-publish \-k test \-k gnu \-D gnu/
141 272
142Neatly publish an image gallery in \fBkittendir/\fR and its subdirs with keyword \fBkittens\fR for the directory but no keywords for the individual files or subdirs (\-n). Force description for all files: 273Neatly publish an image gallery in \fBkittendir/\fR and its subdirs
274with keyword \fBkittens\fR for the directory but no keywords for the
275individual files or subdirs (\-n). Force description for all files:
143 276
144 # gnunet\-publish \-n \-m "description:Kitten collection" \-k kittens kittendir/ 277 # gnunet\-publish \-n \-m "description:Kitten collection" \-k kittens
278 kittendir/
145 279
146\fBSecure publishing with namespaces\fR 280\fBSecure publishing with namespaces\fR
147 281
148Publish file COPYING with pseudonym RIAA-2 (\-P) and with identifier \fBgpl\fR (\-t) and no updates: 282Publish file COPYING with pseudonym RIAA-2 (\-P) and with identifier
283\fBgpl\fR (\-t) and no updates:
149 284
150 # gnunet\-publish \-P RIAA-2 \-t gpl COPYING 285 # gnunet\-publish \-P RIAA-2 \-t gpl COPYING
151 286
152Recursively index /home/ogg and build a matching directory structure. Publish the top\-level directory into the namespace under the pseudonym RIAA\-2 (\-P) under identifier 'MUSIC' (\-t) and promise to provide an update with identifier 'VIDEOS' (\-N): 287Recursively index /home/ogg and build a matching directory
288structure. Publish the top\-level directory into the namespace under
289the pseudonym RIAA\-2 (\-P) under identifier 'MUSIC' (\-t) and promise
290to provide an update with identifier 'VIDEOS' (\-N):
153 291
154 # gnunet\-publish \-P RIAA-2 \-t MUSIC \-N VIDEOS /home/ogg 292 # gnunet\-publish \-P RIAA-2 \-t MUSIC \-N VIDEOS /home/ogg
155 293
156Recursively publish (\-n) /var/lib/mysql and build a matching directory structure, but disable the use of libextractor to extract keywords (\-n). Print the file identifiers (\-V) that can be used to retrieve the files. This will store a copy of the MySQL database in GNUnet but without adding any keywords to search for it. Thus only people that have been told the secret file identifiers printed with the \-V option can retrieve the (secret?) files: 294Recursively publish (\-n) /var/lib/mysql and build a matching
295directory structure, but disable the use of libextractor to extract
296keywords (\-n). Print the file identifiers (\-V) that can be used to
297retrieve the files. This will store a copy of the MySQL database in
298GNUnet but without adding any keywords to search for it. Thus only
299people that have been told the secret file identifiers printed with
300the \-V option can retrieve the (secret?) files:
157 301
158 # gnunet\-publish \-nV /var/lib/mysql 302 # gnunet\-publish \-nV /var/lib/mysql
159 303
160Create a namespace entry 'root' in namespace MPAA-1 and announce that the next update will be called 'next': 304Create a namespace entry 'root' in namespace MPAA-1 and announce that
305the next update will be called 'next':
161 306
162 # gnunet\-publish \-P MPAA-1 \-t root \-N next noise.mp3 307 # gnunet\-publish \-P MPAA-1 \-t root \-N next noise.mp3
163 308