aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2018-12-17 11:58:32 +0000
committerng0 <ng0@n0.is>2018-12-17 11:58:32 +0000
commit5b881d13ca3d38869a4042db88c558d2d3f2bdbd (patch)
treefbc825976a177624d630c631686e58da69a13271
parent8c569a8835ad21b6fabdb2e638b114072303204f (diff)
downloadwww-5b881d13ca3d38869a4042db88c558d2d3f2bdbd.tar.gz
www-5b881d13ca3d38869a4042db88c558d2d3f2bdbd.zip
debian tutorial: fix according to html5 specs
-rw-r--r--tutorial-debian9.html.j2388
1 files changed, 165 insertions, 223 deletions
diff --git a/tutorial-debian9.html.j2 b/tutorial-debian9.html.j2
index 950725e6..2f128333 100644
--- a/tutorial-debian9.html.j2
+++ b/tutorial-debian9.html.j2
@@ -33,11 +33,9 @@
33 for some experimental GNUnet features. 33 for some experimental GNUnet features.
34 </p> 34 </p>
35 35
36 <p> 36 <code>
37 <code> 37 $ sudo apt install git libtool autoconf autopoint build-essential libgcrypt-dev libidn11-dev zlib1g-dev libunistring-dev libglpk-dev miniupnpc libextractor-dev libjansson-dev libcurl4-gnutls-dev libsqlite3-dev openssl libnss3-tools
38 $ sudo apt install git libtool autoconf autopoint build-essential libgcrypt-dev libidn11-dev zlib1g-dev libunistring-dev libglpk-dev miniupnpc libextractor-dev libjansson-dev libcurl4-gnutls-dev libsqlite3-dev openssl libnss3-tools 38 </code>
39 </code>
40 </p>
41 39
42 <h3>{{ _("Make an installation directory") }}</h3> 40 <h3>{{ _("Make an installation directory") }}</h3>
43 41
@@ -49,11 +47,9 @@
49 dependencies*). 47 dependencies*).
50 </p> 48 </p>
51 49
52 <p> 50 <code>
53 <code> 51 $ mkdir ~/gnunet_installation
54 $ mkdir ~/gnunet_installation 52 </code>
55 </code>
56 </p>
57 53
58 <h3>{{ _("Get the source code") }}</h3> 54 <h3>{{ _("Get the source code") }}</h3>
59 55
@@ -67,13 +63,11 @@
67 at least version 0.9.52.</b> 63 at least version 0.9.52.</b>
68 </p> 64 </p>
69 65
70 <p> 66 <code>
71 <code> 67 $ cd ~/gnunet_installation<br>
72 $ cd ~/gnunet_installation<br> 68 $ git clone --depth 1 https://gnunet.org/git/gnunet.git<br>
73 $ git clone --depth 1 https://gnunet.org/git/gnunet.git<br> 69 $ git clone --depth 1 https://gnunet.org/git/libmicrohttpd.git
74 $ git clone --depth 1 https://gnunet.org/git/libmicrohttpd.git 70 </code>
75 </code>
76 </p>
77 71
78 <h3>{{ _("Compile and Install") }}</h3> 72 <h3>{{ _("Compile and Install") }}</h3>
79 73
@@ -82,16 +76,14 @@
82 Before we can compile GNUnet on Debian 9, we compile and install libmicrohttp 76 Before we can compile GNUnet on Debian 9, we compile and install libmicrohttp
83 </p> 77 </p>
84 78
85 <p> 79 <code>
86 <code> 80 $ cd ~/gnunet_installation/libmicrohttpd<br>
87 $ cd ~/gnunet_installation/libmicrohttpd<br> 81 $ autoreconf -fi<br>
88 $ autoreconf -fi<br> 82 $ sudo apt install libgnutls28-dev<br>
89 $ sudo apt install libgnutls28-dev<br> 83 $ ./configure --disable-doc --prefix=/opt/libmicrohttpd<br>
90 $ ./configure --disable-doc --prefix=/opt/libmicrohttpd<br> 84 $ make -j$(nproc || echo -n 1)<br>
91 $ make -j$(nproc || echo -n 1)<br> 85 $ sudo make install<br>
92 $ sudo make install<br> 86 </code>
93 </code>
94 </p>
95 87
96 <p> 88 <p>
97 Installing GNUnet is not hard. We have two options: 89 Installing GNUnet is not hard. We have two options:
@@ -104,32 +96,28 @@
104 96
105 <h4>{{ _("Option 1: GNUnet for production / usage") }}</h4> 97 <h4>{{ _("Option 1: GNUnet for production / usage") }}</h4>
106 98
107 <p> 99 <code>
108 <code> 100 $ cd ~/gnunet_installation/gnunet<br>
109 $ cd ~/gnunet_installation/gnunet<br> 101 $ ./bootstrap<br>
110 $ ./bootstrap<br> 102 $ export GNUNET_PREFIX=/usr<br>
111 $ export GNUNET_PREFIX=/usr<br> 103 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation --with-microhttpd=/opt/libmicrohttpd<br>
112 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation --with-microhttpd=/opt/libmicrohttpd<br> 104 $ sudo addgroup gnunetdns<br>
113 $ sudo addgroup gnunetdns<br> 105 $ sudo adduser --system --group --disabled-login --home /var/lib/gnunet gnunet<br>
114 $ sudo adduser --system --group --disabled-login --home /var/lib/gnunet gnunet<br> 106 $ make -j$(nproc || echo -n 1)<br>
115 $ make -j$(nproc || echo -n 1)<br> 107 $ sudo make install
116 $ sudo make install 108 </code>
117 </code>
118 </p>
119 109
120 <h4>{{ _("Option 2: GNUnet for development") }}</h4> 110 <h4>{{ _("Option 2: GNUnet for development") }}</h4>
121 111
122 <p> 112 <code>
123 <code> 113 $ cd ~/gnunet_installation/gnunet<br>
124 $ cd ~/gnunet_installation/gnunet<br> 114 $ ./bootstrap<br>
125 $ ./bootstrap<br> 115 $ export GNUNET_PREFIX=/usr<br>
126 $ export GNUNET_PREFIX=/usr<br> 116 $ export CFLAGS="-g -Wall -O0"<br>
127 $ export CFLAGS="-g -Wall -O0"<br> 117 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation --enable-logging=verbose --with-microhttpd=/opt/libmicrohttpd<br>
128 $ ./configure --prefix=$GNUNET_PREFIX --disable-documentation --enable-logging=verbose --with-microhttpd=/opt/libmicrohttpd<br> 118 $ make -j$(nproc || echo -n 1)<br>
129 $ make -j$(nproc || echo -n 1)<br> 119 $ sudo make install
130 $ sudo make install 120 </code>
131 </code>
132 </p>
133 121
134<!-- 122<!--
135 <h4>{{ _("Install GNUnet plugin for name resolution") }}</h4> 123 <h4>{{ _("Install GNUnet plugin for name resolution") }}</h4>
@@ -195,83 +183,75 @@
195 start with an empty file for now: 183 start with an empty file for now:
196 </p> 184 </p>
197 185
198 <p> 186 <code>
199 <code> 187 $ touch ~/.config/gnunet.conf
200 $ touch ~/.config/gnunet.conf 188 </code>
201 </code>
202 </p>
203 189
204 <p> 190 <p>
205 Now we can start it with the command line tool 191 Now we can start it with the command line tool
206 `gnunet-arm` (Automatic Restart Manager). 192 `gnunet-arm` (Automatic Restart Manager).
207 </p> 193 </p>
208 194
209 <p> 195 <code>
210 <code> 196 $ gnunet-arm -s
211 $ gnunet-arm -s 197 </code>
212 </code>
213 </p>
214 198
215 <p> 199 <p>
216 It starts the default GNUnet services. We can list them with the 200 It starts the default GNUnet services. We can list them with the
217 `-I` option: 201 `-I` option:
218 </p> 202 </p>
219 203
220 <p> 204 <code>
221 <code> 205 $ gnunet-arm -I<br>
222 $ gnunet-arm -I<br> 206 Running services:<br>
223 Running services:<br> 207 ats (gnunet-service-ats)<br>
224 ats (gnunet-service-ats)<br> 208 revocation (gnunet-service-revocation)<br>
225 revocation (gnunet-service-revocation)<br> 209 set (gnunet-service-set)<br>
226 set (gnunet-service-set)<br> 210 nat (gnunet-service-nat)<br>
227 nat (gnunet-service-nat)<br> 211 transport (gnunet-service-transport)<br>
228 transport (gnunet-service-transport)<br> 212 peerstore (gnunet-service-peerstore)<br>
229 peerstore (gnunet-service-peerstore)<br> 213 hostlist (gnunet-daemon-hostlist)<br>
230 hostlist (gnunet-daemon-hostlist)<br> 214 identity (gnunet-service-identity)<br>
231 identity (gnunet-service-identity)<br> 215 namecache (gnunet-service-namecache)<br>
232 namecache (gnunet-service-namecache)<br> 216 peerinfo (gnunet-service-peerinfo)<br>
233 peerinfo (gnunet-service-peerinfo)<br> 217 datastore (gnunet-service-datastore)<br>
234 datastore (gnunet-service-datastore)<br> 218 zonemaster (gnunet-service-zonemaster)<br>
235 zonemaster (gnunet-service-zonemaster)<br> 219 zonemaster-monitor (gnunet-service-zonemaster-monitor)<br>
236 zonemaster-monitor (gnunet-service-zonemaster-monitor)<br> 220 nse (gnunet-service-nse)<br>
237 nse (gnunet-service-nse)<br> 221 cadet (gnunet-service-cadet)<br>
238 cadet (gnunet-service-cadet)<br> 222 dht (gnunet-service-dht)<br>
239 dht (gnunet-service-dht)<br> 223 core (gnunet-service-core)<br>
240 core (gnunet-service-core)<br> 224 gns (gnunet-service-gns)<br>
241 gns (gnunet-service-gns)<br> 225 statistics (gnunet-service-statistics)<br>
242 statistics (gnunet-service-statistics)<br> 226 topology (gnunet-daemon-topology)<br>
243 topology (gnunet-daemon-topology)<br> 227 fs (gnunet-service-fs)<br>
244 fs (gnunet-service-fs)<br> 228 namestore (gnunet-service-namestore)<br>
245 namestore (gnunet-service-namestore)<br> 229 vpn (gnunet-service-vpn)
246 vpn (gnunet-service-vpn) 230 </code>
247 </code>
248 </p>
249 231
250 <p> 232 <p>
251 For stopping GNUnet again we can use the `-e` option. 233 For stopping GNUnet again we can use the `-e` option.
252 </p> 234 </p>
253 235
254 <p> 236 <code>
255 <code> 237 $ gnunet-arm -e
256 $ gnunet-arm -e 238 </code>
257 </code> 239
258 </p>
259 240
260 <h3>{{ _("Make sure it works") }}</h3> 241 <h3>{{ _("Make sure it works") }}</h3>
261 242
262 <p> 243 <p>
263 Let's try out some of GNUnet's use cases. Some should be done 244 Let's try out some of GNUnet's use cases. Some should be done
264 before others: 245 before others:
265
266 <ul>
267 <li>filesharing</li>
268 <li>A simple chat using CADET</li>
269 <li>Name resolution using GNS on the command line</li>
270 <li>Name resolution using GNS with a browser (do it on the command line first)</li>
271 <li>Serving a website using VPN (do name resolution with a browser first)</li>
272 </ul>
273 </p> 246 </p>
274 247
248 <ul>
249 <li>filesharing</li>
250 <li>A simple chat using CADET</li>
251 <li>Name resolution using GNS on the command line</li>
252 <li>Name resolution using GNS with a browser (do it on the command line first)</li>
253 <li>Serving a website using VPN (do name resolution with a browser first)</li>
254 </ul>
275 255
276 <h4>{{ _("filesharing") }}</h4> 256 <h4>{{ _("filesharing") }}</h4>
277 257
@@ -285,23 +265,20 @@
285 `-k` command line option). 265 `-k` command line option).
286 </p> 266 </p>
287 267
288 <p> 268 <code>
289 <code> 269 $ gnunet-publish -k commons -k state ostrom.pdf<br>
290 $ gnunet-publish -k commons -k state ostrom.pdf<br> 270 Publishing `/home/myself/ostrom.pdf' done.<br>
291 Publishing `/home/myself/ostrom.pdf' done.<br> 271 URI is `gnunet://fs/chk/M57SXDJ72EWS25CT6307KKJ8K0GCNSPTAZ649NA1NS10MJB4A1GZ9EN4Y02KST9VA5BHE8B335RPXQVBWVZ587Y83WQ7J3DHMBX30Q8.DHNGBN4CB2DBX1QRZ1R0B1Q18WTEAK4R94S9D57C9JMJJ3H7SSQDCV4D1218C4S2VP085AMQQSMG18FCP6NQMZQZJ91XR5NBX7YF0V0.42197237'.
292 URI is `gnunet://fs/chk/M57SXDJ72EWS25CT6307KKJ8K0GCNSPTAZ649NA1NS10MJB4A1GZ9EN4Y02KST9VA5BHE8B335RPXQVBWVZ587Y83WQ7J3DHMBX30Q8.DHNGBN4CB2DBX1QRZ1R0B1Q18WTEAK4R94S9D57C9JMJJ3H7SSQDCV4D1218C4S2VP085AMQQSMG18FCP6NQMZQZJ91XR5NBX7YF0V0.42197237'. 272 </code>
293 </code> 273
294 </p>
295 274
296 <p>Finding the file by keyword works with `gnunet-search`.</p> 275 <p>Finding the file by keyword works with `gnunet-search`.</p>
297 276
298 <p> 277 <code>
299 <code> 278 $ gnunet-search commons<br>
300 $ gnunet-search commons<br> 279 #1:<br>
301 #1:<br> 280 gnunet-download -o "ostrom.pdf" gnunet://fs/chk/M57SXDJ72EWS25CT6307KKJ8K0GCNSPTAZ649NA1NS10MJB4A1GZ9EN4Y02KST9VA5BHE8B335RPXQVBWVZ587Y83WQ7J3DHMBX30Q8.DHNGBN4CB2DBX1QRZ1R0B1Q18WTEAK4R94S9D57C9JMJJ3H7SSQDCV4D1218C4S2VP085AMQQSMG18FCP6NQMZQZJ91XR5NBX7YF0V0.42197237
302 gnunet-download -o "ostrom.pdf" gnunet://fs/chk/M57SXDJ72EWS25CT6307KKJ8K0GCNSPTAZ649NA1NS10MJB4A1GZ9EN4Y02KST9VA5BHE8B335RPXQVBWVZ587Y83WQ7J3DHMBX30Q8.DHNGBN4CB2DBX1QRZ1R0B1Q18WTEAK4R94S9D57C9JMJJ3H7SSQDCV4D1218C4S2VP085AMQQSMG18FCP6NQMZQZJ91XR5NBX7YF0V0.42197237 281 </code>
303 </code>
304 </p>
305 282
306 <p> 283 <p>
307 It gives us the command line call to download the file (and store it as 284 It gives us the command line call to download the file (and store it as
@@ -316,34 +293,28 @@
316 our *peer ID* of the GNUnet peer opening the port. 293 our *peer ID* of the GNUnet peer opening the port.
317 </p> 294 </p>
318 295
319 <p> 296 <code>
320 <code> 297 $ gnunet-peerinfo -s<br>
321 $ gnunet-peerinfo -s<br> 298 I am peer `P4T5GHS1PCZ06R82D3KW8Z8J1113BQZWAWGYHTZ8G1ZXMWXQGAVG'.
322 I am peer `P4T5GHS1PCZ06R82D3KW8Z8J1113BQZWAWGYHTZ8G1ZXMWXQGAVG'. 299 </code>
323 </code> 300
324 </p>
325 301
326 <p> 302 <p>
327 Now we open the port (it can be any string!): 303 Now we open the port (it can be any string!):
328 </p> 304 </p>
329 305
330 <p> 306 <code>
331 <code> 307 $ gnunet-cadet -o my-secret-port
332 $ gnunet-cadet -o my-secret-port 308 </code>
333 </code>
334 </p>
335 309
336 <p> 310 <p>
337 On the other machine we can connect using the peer ID and the port 311 On the other machine we can connect using the peer ID and the port
338 and start chatting! 312 and start chatting!
339 </p> 313 </p>
340 314
341 <p> 315 <code>
342 <code> 316 $ gnunet-cadet P4T5GHS1PCZ06R82D3KW8Z8J1113BQZWAWGYHTZ8G1ZXMWXQGAVG my-secret-port
343 $ gnunet-cadet P4T5GHS1PCZ06R82D3KW8Z8J1113BQZWAWGYHTZ8G1ZXMWXQGAVG my-secret-port 317 </code>
344 </code>
345 </p>
346
347 318
348 <h4>{{ _("Name resolution using GNS on the command line") }}</h4> 319 <h4>{{ _("Name resolution using GNS on the command line") }}</h4>
349 320
@@ -356,11 +327,9 @@
356 you can surely use your nick or any other name. 327 you can surely use your nick or any other name.
357 </p> 328 </p>
358 329
359 <p> 330 <code>
360 <code> 331 $ gnunet-identity -C myself
361 $ gnunet-identity -C myself 332 </code>
362 </code>
363 </p>
364 333
365 <p> 334 <p>
366 We can check if it worked using the same tool. We expect the name 335 We can check if it worked using the same tool. We expect the name
@@ -368,35 +337,29 @@
368 displayed. 337 displayed.
369 </p> 338 </p>
370 339
371 <p> 340 <code>
372 <code> 341 $ gnunet-identity -d<br>
373 $ gnunet-identity -d<br> 342 myself - HWTYD3P5D77JVFNVMZ1M5T10V4SZYNMY3PCGQCSVENKD6ZCRKPMG
374 myself - HWTYD3P5D77JVFNVMZ1M5T10V4SZYNMY3PCGQCSVENKD6ZCRKPMG 343 </code>
375 </code>
376 </p>
377 344
378 <p> 345 <p>
379 Now we add a public `A` record to our zone. It has the name "ccc", a value 346 Now we add a public `A` record to our zone. It has the name "ccc", a value
380 of "195.54.164.39" and it expires after one day. 347 of "195.54.164.39" and it expires after one day.
381 </p> 348 </p>
382 349
383 <p> 350 <code>
384 <code> 351 $ gnunet-namestore -z myself -a -e "1 d" -p -t A -n ccc -V 195.54.164.39
385 $ gnunet-namestore -z myself -a -e "1 d" -p -t A -n ccc -V 195.54.164.39 352 </code>
386 </code>
387 </p>
388 353
389 <p> 354 <p>
390 Now we can query that record using the command line tool `gnunet-gns`. 355 Now we can query that record using the command line tool `gnunet-gns`.
391 </p> 356 </p>
392 357
393 <p> 358 <code>
394 <code> 359 $ gnunet-gns -t A -u ccc.myself<br>
395 $ gnunet-gns -t A -u ccc.myself<br> 360 ccc.myself:<br>
396 ccc.myself:<br> 361 Got `A' record: 195.54.164.39
397 Got `A' record: 195.54.164.39 362 </code>
398 </code>
399 </p>
400 363
401 <p> 364 <p>
402 So it worked! But only resolving our own records is boring. So we 365 So it worked! But only resolving our own records is boring. So we
@@ -405,11 +368,9 @@
405 other person (Bob) has to add it to his namestore like this: 368 other person (Bob) has to add it to his namestore like this:
406 <p> 369 <p>
407 370
408 <p> 371 <code>
409 <code> 372 $ gnunet-namestore -z myself -a -e never -p -t PKEY -n alice -V HWTYD3P5D77JVFNVMZ1M5T10V4SZYNMY3PCGQCSVENKD6ZCRKPMG
410 $ gnunet-namestore -z myself -a -e never -p -t PKEY -n alice -V HWTYD3P5D77JVFNVMZ1M5T10V4SZYNMY3PCGQCSVENKD6ZCRKPMG 373 </code>
411 </code>
412 </p>
413 374
414 <p> 375 <p>
415 Our identity in Bobs namestore is a public record (-p) and never 376 Our identity in Bobs namestore is a public record (-p) and never
@@ -417,13 +378,11 @@
417 myself, too) should be able to resolve our "ccc" record, too! 378 myself, too) should be able to resolve our "ccc" record, too!
418 </p> 379 </p>
419 380
420 <p> 381 <code>
421 <code> 382 $ gnunet-gns -t A -u ccc.alice.myself<br>
422 $ gnunet-gns -t A -u ccc.alice.myself<br> 383 ccc.alice.myself:<br>
423 ccc.alice.myself:<br> 384 Got `A' record: 195.54.164.39
424 Got `A' record: 195.54.164.39 385 </code>
425 </code>
426 </p>
427 386
428 <p> 387 <p>
429 It can continue like this. A friend of Bob would be able to 388 It can continue like this. A friend of Bob would be able to
@@ -452,11 +411,9 @@
452 for it: 411 for it:
453 </p> 412 </p>
454 413
455 <p> 414 <code>
456 <code> 415 $ gnunet-gns-proxy-setup-ca
457 $ gnunet-gns-proxy-setup-ca 416 </code>
458 </code>
459 </p>
460 417
461 <p> 418 <p>
462 After executing this script the Browser has to be restarted. 419 After executing this script the Browser has to be restarted.
@@ -475,46 +432,38 @@
475 hostname: 432 hostname:
476 </p> 433 </p>
477 434
478 <p> 435 <code>
479 <code> 436 $ gnunet-namestore -z myself -a -e "1 d" -p -t LEHO -n ccc -V www.ccc.de
480 $ gnunet-namestore -z myself -a -e "1 d" -p -t LEHO -n ccc -V www.ccc.de 437 </code>
481 </code>
482 </p>
483 438
484 <p> 439 <p>
485 Now let's start gnunet-gns-proxy. 440 Now let's start gnunet-gns-proxy.
486 </p> 441 </p>
487 442
488 <p> 443 <code>
489 <code> 444 $ /usr/lib/gnunet/libexec/gnunet-gns-proxy
490 $ /usr/lib/gnunet/libexec/gnunet-gns-proxy 445 </code>
491 </code>
492 </p>
493 446
494 <p> 447 <p>
495 Our browser has to be configured so it uses our proxy. In Firefox 448 Our browser has to be configured so it uses our proxy. In Firefox
496 we have to set these options under "about:config": 449 we have to set these options under "about:config":
497 </p> 450 </p>
498 451
499 <p> 452 <code>
500 <code> 453 network.proxy.socks: localhost<br>
501 network.proxy.socks: localhost<br> 454 network.proxy.socks_port: 7777<br>
502 network.proxy.socks_port: 7777<br> 455 network.proxy.socks_remote_dns true<br>
503 network.proxy.socks_remote_dns true<br> 456 network.proxy.type: 1
504 network.proxy.type: 1 457 </code>
505 </code>
506 </p>
507 458
508 <p> 459 <p>
509 To tell Chromium to use the proxy, it has to be started with the 460 To tell Chromium to use the proxy, it has to be started with the
510 "--proxy-server" command line option: 461 "--proxy-server" command line option:
511 </p> 462 </p>
512 463
513 <p> 464 <code>
514 <code> 465 $ chromium --proxy-server="socks5://127.0.0.1:7777"
515 $ chromium --proxy-server="socks5://127.0.0.1:7777" 466 </code>
516 </code>
517 </p>
518 467
519 <p> 468 <p>
520 Now we should be able to resolve our GNS names in the browser! We 469 Now we should be able to resolve our GNS names in the browser! We
@@ -532,21 +481,19 @@
532 481
533 <h3>{{ _("Uninstall GNUnet and its dependencies") }}</h3> 482 <h3>{{ _("Uninstall GNUnet and its dependencies") }}</h3>
534 483
535 <p> 484 <code>
536 <code> 485 $ cd ~/gnunet_installation/gnunet<br>
537 $ cd ~/gnunet_installation/gnunet<br> 486 $ sudo make uninstall<br>
538 $ sudo make uninstall<br> 487 $ cd ~/gnunet_installation/libmicrohttpd<br>
539 $ cd ~/gnunet_installation/libmicrohttpd<br> 488 $ sudo make uninstall<br>
540 $ sudo make uninstall<br> 489 $ sudo apt remove git libtool autoconf autopoint build-essential libgcrypt-dev libidn11-dev zlib1g-dev libunistring-dev libglpk-dev miniupnpc libextractor-dev libjansson-dev libcurl4-gnutls-dev libsqlite3-dev<br>
541 $ sudo apt remove git libtool autoconf autopoint build-essential libgcrypt-dev libidn11-dev zlib1g-dev libunistring-dev libglpk-dev miniupnpc libextractor-dev libjansson-dev libcurl4-gnutls-dev libsqlite3-dev<br> 490 $ sudo apt autoremove<br>
542 $ sudo apt autoremove<br> 491 $ sudo userdel -r gnunet<br>
543 $ sudo userdel -r gnunet<br> 492 $ sudo groupdel gnunet<br>
544 $ sudo groupdel gnunet<br> 493 $ sudo groupdel gnunetdns<br>
545 $ sudo groupdel gnunetdns<br> 494 $ sudo mv /etc/nsswitch.conf.original /etc/nsswitch.conf<br>
546 $ sudo mv /etc/nsswitch.conf.original /etc/nsswitch.conf<br> 495 $ sudo rm /lib/$(uname -m)-linux-gnu/libnss_gns.so.2
547 $ sudo rm /lib/$(uname -m)-linux-gnu/libnss_gns.so.2 496 </code>
548 </code>
549 </p>
550 497
551 <h3>{{ _("Appendix A: Optional GNUnet features") }}</h3> 498 <h3>{{ _("Appendix A: Optional GNUnet features") }}</h3>
552 499
@@ -565,11 +512,9 @@
565 computer. 512 computer.
566 </p> 513 </p>
567 514
568 <p> 515 <code>
569 <code> 516 $ gnunet-peerinfo -gn
570 $ gnunet-peerinfo -gn 517 </code>
571 </code>
572 </p>
573 518
574 <p> 519 <p>
575 We can now pass this string to our friends "out of band" (using 520 We can now pass this string to our friends "out of band" (using
@@ -583,11 +528,10 @@
583 like this: 528 like this:
584 </p> 529 </p>
585 530
586 <p> 531 <code>
587 <code> 532 gnunet-peerinfo -p <string>
588 gnunet-peerinfo -p <string> 533 </code>
589 </code> 534
590 </p>
591 535
592 <p> 536 <p>
593 Now our GNUnet nodes can attempt reaching each other directly. This may 537 Now our GNUnet nodes can attempt reaching each other directly. This may
@@ -604,11 +548,9 @@
604 running GNUnet. 548 running GNUnet.
605 </p> 549 </p>
606 550
607 <p>
608 <code> 551 <code>
609 $ cp /etc/nsswitch.conf.original /etc/nsswitch.conf 552 $ cp /etc/nsswitch.conf.original /etc/nsswitch.conf
610 </code> 553 </code>
611 </p>
612--> 554-->
613 555
614</div> 556</div>