venerdì 26 dicembre 2014

Installare node e npm senza permessi di root

Vi potrebbe capitare di dover installare nodejs e npm (Node Package Manager) senza i permessi di amministratore.
Sotto troverete i passi per non scomodare root:

Dirigetevi nella vostra home!
cd $HOME

Creiamo il file .npmrc e inseriamo i seguenti paths. Con questo diremo a npm dove salvare moduli, binari e i file di manuale. Ricordate di sostituire la stringa "VOSTROUTENTE" con il vostro utente reale:
root = /home/VOSTROUTENTE/.local/lib/node_modules
binroot = /home/VOSTROUTENTE/.local/bin
manroot = /home/VOSTROUTENTE/.local/share/man


Creiamo le directory necessarie:
mkdir $HOME/.local 
mkdir $HOME/.local/lib
mkdir $HOME/.local/lib/node_modules 
mkdir $HOME/.local/bin 
mkdir $HOME/.local/share
mkdir $HOME/.local/share/man 

Locazione in cui npm metterà i moduli globali:
ln -s .local/lib/node_modules .node_modules 

Scarichiamo e estraiamo node (va bene qualunque altra versione):
wget http://nodejs.org/dist/v0.10.35/node-v0.10.35.tar.gz
tar -zxvf node-v0.10.35.tar.gz


Installiamo node indicando la locazione (precedentemente creata) in cui installarlo:
cd node-v0.10.35
./configure --prefix=~/.local
make
make install


Ritorniamo nella home e aggiungiamo in .bashrc:
export PATH=$HOME/.local/bin:$PATH


Refresh di bash in maniera tale caricare i path in cui saranno disponibili binari di npm e node:
bash


Per essere sicuri che tutto è andato bene:
npm --version && node --version


Dovreste vedere le versioni di npm e nodejs
1.3.10
v0.10.25


Spero di essere stato d'aiuto. Buon lavoro a tutti.


domenica 12 ottobre 2014

Ripristinare i permessi e l'owner in var su Debian

Vi potrebbe capitare di eseguire un comando errato via console e cambiare i permessi a un gruppo di directory o di file. 
L'errore classico  è trovarsi dentro /var/www e lanciare:  
chown -R www-data:www-data .*
L'intento iniziale probabilmente era quello di cambiare l'owner dei file nascosti. Tuttavia questo comando oltre a modificare l'owner dei file contenuti nella directory corrente modifica anche l'owner della directory padre (/var in questo caso). Il comando corretto era:
chown -R /var/www/.[^.]*
La prima soluzione che vi verrà in mente è reinstallare il sistema. Tuttavia esistono alcune soluzioni.

Soluzione 1: Da una copia pulita

Installate Debian dentro una macchina virtuale. Salvate i permessi corretti dentro un file:
find /var -printf "%m:%u:%g:%p\n" > /tmp/var.permissions.txt

Li ripristinate facilmente sul vostro sistema di partenza con:
#!/bin.bash
while IFS=":" read perms user group file; do 
chmod -R $perms $file > /dev/null 2>&1
chown -R $user:$group $file > /dev/null 2>&1
done < /tmp/var.permissions.txt
 

Soluzione 2: Reinstallare i pacchetti

È possibile reinstallare tutti i pacchetti con aptitude:
dpkg --get-selections \* | awk '{print $1}' | xargs -l1 aptitude reinstall

La prima soluzione la consiglio se avete combinato dei danni "limitati" ad una zona del vostro sistema (esempio /var), se il danno è più grosso usate la seconda.

martedì 24 giugno 2014

TOP 9 ASCII game per linux

La frase "non giudicare un libro dalla sua copertina" può essere estesa a "non giudicare un gioco dalla grafica". I giochi presentati su questo post hanno una grafica di base (anzi non hanno grafica) ma sono divertenti e coinvolgenti.

UnNetHack
UnNetHack è un fork del popolarissimo gioco roguelike NetHack ritenuto da moltissimi il miglior gioco ASCII. UnNetHack aggiunge una serie di miglioramenti per NetHack, come mostri aggiuntivi, più livelli, nuovi oggetti, pericoli addizionali. Un gameplay più impegnativo e soprattutto, più intrattenimento. Esso offre un tutorial per aiutare i nuovi giocatori per iniziare.
VMS Empire
Empire è un simulatore di guerra su vasta scala tra i due imperatori, l'IA e voi. Naturalmente, c'è spazio solo per uno, così lo scopo del gioco è distruggere l'altro.
Il mondo in cui si svolge il gioco è un rettangolo che contiene città, terra e acqua. Le città sono usate per costruire eserciti, aeroplani e navi.  Lo scopo del gioco è quello di distruggere tutti i pezzi nemici e catturare tutte le città.
Intricacy
Intricacy è un puzzle game coinvolgente. È scritto in Haskell usango le librerie Curses e SDL.
Lo scopo del gioco è quello di manipolare le serrature create da altri giocatori.
Goblin Hack
Goblin Hack  è un gioco open source basato su OpenGL. Il gioco molto simile a NetHack solo un po più veloce perché giocabile con meno tasti.
DiabloRL
DiabloRL è stato creato per il 7 ° giorno del Roguelike Competition, si tratta di un roguelike a turni. Dal giorno della sua creazione è stato ampliato con nuovi oggetti magici, incantesimi, classi e livelli.
  • Website: diablo.chaosforge.org
  • Authors: Kornel Kisielewicz, Chris Johnson and Mel'nikova Anastasia
  • License: GNU GPL
  • Version Number: 0.5.0
 


 

venerdì 28 febbraio 2014

Telegram messenger CLI - Usarlo da command line

Dalla lista consultabile sul sito ufficiale https://telegram.org/apps, emerge il primo client scritto in C.
Telegram CLI è il client ideale per chi necessita di fare scripting con il proprio account Telegram.
L'installazione e il lancio sono tutte spiegate sulla pagina di progetto:
https://github.com/vysheng/tg

Installazione per tutti i sistemi Debian like
su root
apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev
./configure
make
 
Lanciare con:
./telegram
 
Dopo averlo lanciato siamo pronti ad impartire comandi. L'elenco dei comandi è vastissimo facilmente consultabile sulla home del progetto.
Sbizzarritevi nella creazione di script interessanti :)

Inserendo se stessi come contatto:  
add_contact PROPRIONUMERODITELEFONO nome

È poi possibile ad esempio inviarsi l'esito di alcuni comandi lanciati da console e riceverlo direttamente via smartphone:
KEY='unakeycasuale'
ESITOCOMANDO=$(ls)
./telegram -B $KEY <<STDIN
msg SESTESSI $ESITOCOMANDO
quit
STDIN



Buon divertimento