Bamboo

Da EigenWiki.
I panda sono una minaccia costante.

Bamboo bamboo.eigenlab.org è una macchina virtuale dedicata alla compilazione (in particolare delle immagini di OpenWrt per le nostre antenne); inoltre contiene le home degli utenti e ospita i loro siti web personali.
Bamboo ha sostituito Efesto nel 2016; efesto.eigenlab.org resta un nome valido ma ridireziona a Bamboo.

Guida

Collegarsi

Per collegarsi a Bamboo occorre avere un utente registrato sulla macchina; rivolgiti agli amministratori del server per averne uno. Dopo che almeno un ammnistratore ti ha accordato la fiducia necessaria (tramite firma PGP), puoi entrare sul server avviando il key-agent e monkeysphere:

 eval $(ssh-agent)
 monkeysphere s
 ssh mioutente@bamboo.eigenlab.org

A questo punto il tuo prompt dovrebbe cambiare in mioutente@bamboo ~ % e ciò significa che sei dentro.

Sito web personale

Se nella tua home è presente una directory chiamata public_html, allora il suo contenuto sarà visibile pubblicamente via web: chiunque potrà accedervi all'indirizzo bamboo.eigenlab.org/~mioutente e vedrà la lista dei file e delle cartelle ivi contenute.

Puoi anche scriverti un sito web più elaborato della semplice lista che viene visualizzata di default; in tal caso public_html conterrà un file index.php oppure index.html che verrà visualizzato come la homepage del tuo sito.

Gestione del directory listing

Supponendo che tu non abbia inserito delle pagine html o php, il webserver di default visualizzerà tutti i file nella directory /home/mioutente/public_html; volendo, puoi nascondere questo elenco dei file conservandone l'accesso pubblico dal web: in questo modo i tuoi file saranno accessibili solo a chi conosce il loro percorso esatto (verosimilmente, perché glielo hai fatto sapere tu passandogli un link)

  • Se esiste il file /home/nomeutente/public_html/qualcosa/.noindex, allora solo la cartella qualcosa non avrà l'indice;
  • Se esiste /home/nomeutente/public_html/qualcosa/.noindextree, allora sia la cartella qualcosa che tutte le cartelle che ci sono dentro non avranno l'indice;
  • Se esiste /home/nomeutente/public_html/qualcosa/.index, allora la cartella qualcosa avrà l'indice, anche se esiste un .noindextree nelle cartelle che la contengono;
  • Se esiste /home/nomeutente/public_html/qualcosa/.indextree, allora sia la cartella qualcosa che tutte le cartelle che ci sono dentro avranno l'indice, anche se esiste un .noindextree nelle cartelle che la contengono.

Per esempio, per disattivare tutto l'indice per il proprio account basta creare il file /home/nomeutente/public_html/.noindextree: in questo modo non si potrà accedere ad alcun file pubblico senza conoscerne l'indirizzo.

Caratteristiche

HARDWARE

Componenti di base

  • Case: TBD
  • PSU: Corsair TX550M, P/N CP-9020001-EU
  • Motherboard: Gigabyte GA-EP45C-DS3R, rev. 1.0 (TBC), BIOS F6a
  • CPU: Intel Core 2 Quad Q6600, sSpec number: TBD
    • Overclocked @ 3,0 GHz (Base clock: 333 MHz)
  • RAM: 4x Corsair DHX 2 GiB DDR2-1066 (PC2-8500), P/N TBD, rev. TBD
  • VGA: Sapphire ATI Radeon X300 SE HyperMemory 256 MB DDR PCIe x16, P/N 1024-5C50-3A-SA, SKU # 11038-48, VBIOS 008.015.139.000, VBIOS P/N 113-PC5010-17

Componenti storage

SOFTWARE

  • Gentoo Linux
  • Architettura: amd64
  • Profilo: hardened (senza l'opzione nomultilib nell'eventualità che possa servire multilib)

Software installato

Git

Git

Subversion

 efesto ~ $ cat /etc/portage/package.use/subversion
 dev-vcs/subversion -berkdb -webdav-neon                                                                     

Apache

OpenWrt build system

C'è un set di Portage chiamato openwrt-prerequisites che contiene tutto il software minimo necessario per l'utlizzo di OpenWrt build system, come da indicazione sulla wiki di OpenWrt:

 bamboo ~ $# cat /etc/portage/sets/openwrt-prerequisites                                                                                                                                                  
 app-arch/bzip2
 app-arch/fastjar
 app-arch/sharutils
 app-arch/unzip
 app-arch/zip
 app-text/asciidoc
 dev-java/icedtea:7
 dev-java/jikes
 dev-java/oracle-jdk-bin
 dev-libs/libusb-compat
 dev-libs/libxslt
 dev-libs/openssl
 dev-util/intltool
 dev-vcs/git
 dev-vcs/mercurial
 net-misc/rsync
 net-misc/wget
 net-wireless/b43-fwcutter
 sys-apps/gawk
 sys-apps/util-linux
 sys-devel/bc
 sys-devel/bin86
 sys-devel/binutils
 sys-devel/dev86
 sys-devel/flex
 sys-devel/gcc[gcj]
 sys-devel/gettext
 sys-libs/ncurses
 sys-libs/zlib
 virtual/cdrtools
 virtual/perl-ExtUtils-MakeMaker
 x11-libs/gtk+:2

Poi puoi seguire le istruzioni per il build della wiki di OWrt, tanto le dipendenze sono già soddisfatte.

 git clone https://www.github.com/openwrt/openwrt
 cd openwrt
 make menuconfig

PyPdfOcr

C'è un portage set chiamato pypdfocr-related. Serve per far girare la libreria pypdfocr in Python:

 bamboo ~ $# cat /etc/portage/sets/pypdfocr-related                                                                                                                                                      
 app-text/ghostscript-gpl
 app-text/poppler
 app-text/tesseract
 media-gfx/imagemagick

TRABOLSCIUTING

Stai per scapocciare perché non ti funziona nulla? No worry! È scientificamente dimostrato che almeno lo 0.000002% dei problemi che una persona incontra mediamente nel corso della propria vita con il computer è risolvibile, e almeno un decimo di questi hanno la risoluzione documentata, come quella che trovi qui sotto. Fidati della statistica, dunque, e non demordere!

  • Non riesco ad eseguire alcuni programmi, anche se sono installati e gli eseguibili si trovano in /usr/sbin.

Alcuni programmi, sebbene possano essere eseguiti senza i privilegi di root, hanno il binario nella cartella /usr/sbin che, di norma, non è tra gli argomenti della variabile PATH dell'utente, il cui contenuto dovrebbe assomigliare a una cosa del genere:

 $ echo $PATH
 /usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/5.4.0

In tal caso basta aggiungere alla variabile PATH il path /usr/sbin:

 $ PATH = /usr/sbin:$PATH

Se vuoi che questo avvenga ogni volta che apri la tua ascièll:

 echo "PATH = /usr/sbin:$PATH" >> ~/.zprofile

se usi zsh. Altrimenti puoi andare qui.