freenas_logo

Copia chiave ssh su freenas

FreeNas utilizza il filesystem di root in modalità sola lettura.
Quando andiamo a copiarci una chiave ssh per poter copiare via scp o per connetterci attraverso ssh senza la richiesta della password dobbiamo fare quanto segue:

Montare il filesyste in lettura/scrittura:

workstation# ssh root@nas
root@nas's password: xxxxxx
nas# mount -o rw /dev/ufs/FreeNASs1a

copiare, dalla macchina con cui ci collegeremo, la chiave ssh:

workstation# ssh-copy-id root@nas

 
montare nuovamente il filesystem del nas in sola lettura:

nas# mount -o ro /dev/ufs/FreeNASs1a

fa-fa-fatto.

Comments ( 0 )
ramdisk-150x150

Ram Disk sul Mac

Con Ram Disk si indica una porzione di memoria RAM utilizzata come se fosse una normale unità a dischi.
Ovviamente, utilizzando memoria volatile, una volta che il Mac è stato riavviato o spento, tutti i dati che erano presenti nel disco virtuale saranno persi.

Ecco come ottenere un disco su Ram per il vostro Mac.

Aprite un terminale e digitate (o copiaincollate) queste istruzioni per una Ram Disk da 4GB:

diskutil erasevolume HFS+ “ramdisk” `hdiutil attach -nomount ram://8000000`

Se vogliamo modificare la dimensione della Ram Disk possiamo variare l’ultimo parametro.
2000000 per una Ram Disk da 1GB, 4000000 per una Ram Disk da 2GB.

Per rimuovere la Ram Disk è sufficiente espellerla come un comune disco hot-plug.

Comments ( 0 )
Logo_di_Mozilla_Thunderbird

Backup profilo di Thunderbird su OsX

Per effettuare il backup del profilo di posta su OsX dobbiamo per prima cosa trovare il profilo.

Se avete effettuato l’installazione standard il vostro profilo di posta si troverà nella cartella:

/Users/UTENTE/Library/Thunderbird/profiles

dove, ovviamente, UTENTE è il vostro username.

Per aprire una finestra del Finder a quell’indirizzo potete, sempre dal Finder, andare sul menù “Vai“, scegliere la voce “Vai alla cartella…” ed inserire l’indirizzo:

~/Library/

(per inserire il carattere ~ usate ALT-5)

Nella finestra troverete la cartella “Thunderbird” che contiene il file “profiles.ini” e la cartella con il profilo stesso. Per essere certi che quella è realmente la cartella contenente il profilo potete controllarne la dimensione o il contenuto.

Potete a questo punto fare click con il bottone destro del mouse e scegliere “Comprimi Thunderbird” per ottenere un archivio compresso della cartella di cui effettuare il backup. Copiate l’archivio su un supporto esterno o su una condivisione in rete.

Se invece l’installazione di Thunderbird non è stata effettuata in modo standard oppure volete controllare ulteriormente dove risiede il profilo contenente la posta potete procedere così:

Aprite Thunderbird, menù Strumenti >> Impostazioni Account.

Nella parte sinistra troverete gli account di posta configurati. Per ogni account potete controllare, alla voce “Impostazioni server“, la path completa della cartella locale (appena selezionata la voce “Impostazioni server” trovate questo path in basso a destra della stessa finestra)

Ripristino

Per effettuare il ripristin reinstallate Thunderbird e avviatelo. Appena richiede di configurare gli account di posta annullate l’operazione e chiudete completamente il programma.

Andate di nuovo nella cartella della libreria:

~/Library/

e scompattate l’archivio creato in precedenza.

Se avete intenzione di mettere il profilo di posta in un’altra posizione potete semplicemente spostare la cartella xxxxxxxx.default contenuta nella cartella profiles dove volete (e magari rinominarla con un nome un pò più comprensibile) e modificare il file di testo che definisce la posizione dei profili – profiles.ini – che trovate sempre dentro la cartella ~/Library/Thunderbird/.

In questo file basta modificare il valore del campo IsRelative mettendolo a zero (0) e modificare la path del profilo inserendo la path completa dove avete spostato il profilo contenente la mail (p. es. ~/Posta/MiaPosta)

Per modificare il file di testo potete utilizzare l’ottimo “Fraise” (link su MacUpdate…)

buon divertimento

 

Comments ( 0 )
210px-Python

Estrarre URL immagini da un css

Ecco un banale script python per estrarre gli url delle immagini da un file css
Nel file gli url saranno nella forma: url(‘http://www.qualcosa.com/immagine.png’)

#!/usr/bin/python
import string, os

f=open("file.css", "r")

allf=f.read()

while string.find(allf, 'url') > 0:
    a = string.split(allf, "url(\'", 1)
    b = string.split(a[1], "\')", 1)
    print b[0]
    allf = b[1]
Comments ( 0 )
dennis_ritchie

Dennis Ritchie

Dennis MacAlistair Ritchie (Bronxville, 9 settembre 1941 – Murray Hill, 12 ottobre 2011) è stato un programmatore statunitense.
È stato uno dei pionieri dell’informatica moderna, importante per la sua influenza su B, BCPL, C, Multics e UNIX.

Non sapete chi sia? E’ stato il padre del linguaggio “C”, senza di lui i sistemi operativi (unix, Windows, Apple ecc.), i giochi, le applicazioni, le app su android e osx non sarebbero esistiti.

Possiamo dire che sia stato il padre dell’informatica come la conosciamo adesso.

Tutti gli sviluppatori gli tributano un minuto di silenzio, onore al genio.

La sua scheda su wikipedia.

Comments ( 0 )

rList

rList è un progetto in linguaggio C per risolvere in modo elegante e diverso dal solito il classico problema delle liste di oggetti collegati.

rList fa uso di function-pointer e strutture dati per dare alla sintassi una struttura simile alla programmazione ad oggetti.

La definzione della lista è estremamente banale:

si include l’header:

#include "rList.h"

poi si definiscono struttura e nodi:

struct rList * list = NULL;
struct rNode * rn = NULL;

si inizializza la lista:

list = rListInit(0,0);

per aggiungere un nodo alla lista:

rn = list->AddNode(list);

per cancellare un nodo:

rn->Destroy(rn);

nella lista possono essere aggiunti nodi come abbiamo appena visto ma può anche essere utilizzato un id custom e, su ogni nodo, può essere collegata una struttura di memoria che la lista si occupa di deallocare alla distruzione di un nodo o della lista stessa.

La lista fornisce un token che può essere usato per scorrere la lista (in modo lineare o circolare) con semplici funzioni (tipo rn->TokenStep(rn))

rList si trova su SourceForge.net e può essere scaricata da qui!

Comments ( 0 )
hdd25

Dump di un disco via rete

Facile ricetta, 1 stella di difficoltà.

se vogliamo effettuare una copia di un disco locale su una macchina remota:

dd if=/dev/sdX | ssh host.destinazione.com dd of=file.dd

se vogliamo anche comprimere:

dd if=/dev/sdX | gzip -1 | ssh host.destinazione.com gzip -dc | dd of=file.dd

🙂

Comments ( 0 )

Growl – compilazione

La nuova versione di Growl per OsX è scaricabile solo a pagamento dal Mac App Store.

Per compilare la versione open source per prima cosa si scarica e installa Mercurial.

da terminale creiamo una cartella dove mettere i nostri sorgenti e poi cloniamo i sorgenti:

mkdir dev
cd dev
hg clone https://code.google.com/p/growl/

a questo punto, sempre da console:

xcodebuild -project Growl.xcodeproj -target Growl.app -configuration Release

se vengono segnalati degli errori di firma del codice eseguire l’applicazione “Accesso Portachiavi” (Applicazioni/Utility) e, dal menù Accesso Portachiavi scegliere Assistente certificato e poi Crea certificato

Copiare il nome richiesto (“3rd Party Mac Developer…”) e scegliere come tipo di certificato “Firma codice

eseguire di nuovo xcodebuild

🙂

Comments ( 0 )

Debian e qemu/libvirt per la virtualizzazione

Appunti sulla virtualizzazione con debian/64 e qemu/libvirt

Si parte da un’installazione classica (e leggerissima) di GNU/Debian 64 bit.

Il partizionamento di base prevede una partizione di boot da 350MB circa e il resto del disco (o del sottosistema MD) come volume LVM.
La partizione di root è 7,4GB
Lo swap è almeno il doppio della ram.

Se non lo avete ancora fatto, installate le bridge utils:

apt-get install bridge-utils

Per la rete si crea un bridge su cui si connette poi la ethernet fisica (eth0 in questo caso) e su cui si connettono poi le ethernet delle VM:

/etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto br0
iface br0 inet static
  address 192.168.1.1
  netmask 255.255.255.0
  network 192.168.1.0
  broadcast 192.168.1.255
  gateway 192.168.1.254
  bridge_ports lan
  bridge_stp on
  bridge_maxwait 0
  bridge_fd 0

Per installare tutto basta:

apt-get install qemu-kvm libvirt-bin virtinst

Per avviare l’installazione di una vm (in questo caso chiamata “monit”) dobbiamo semplicemente creare un disco per la vm:

lvcreate -L8G -n vmdisk-monit vol
oppure
lvcreate --size 4G --name vm-disk vol

A questo punto, avendo creato il disco, possiamo creare la VM:

virt-install -d --name=monit --ram 512 --vnc :0
--disk path=/dev/vol/vmdisk-monit --network=bridge:br0
--os-type=linux --cdrom /ISO/debian-6.0.3-amd64-CD-1.iso

a questo punto per connettervi con VNC alla console dal vostro pc/client potete:

ssh root@host-server -L 5900:127.0.0.1:5900
vnc localhost:0

alcuni comandi utili per la gestione delle vm:

virsh start monit
virsh setvcpus monit 1

se ci sono problemi con il disco appena creato (non riconosciuto):

virsh pool-refresh vol

Per riferimento esistono diversi sistemi per la gestione:

http://archipelproject.org/
http://pve.proxmox.com/

🙂

Comments ( 0 )

INPS UniEMens errore 417

La procedura UniEMens, dietro ad un proxy trasparente basato su squid, potrebbe fallire con errore HTTP 417: Expectation Failed.

Questo errore avviene quando la procedura invia un header che squid (sia versione 2.7 che 3.1) non riesce a gestire correttamente.

La prima soluzione è quella di utilizzare iptables per nattare, senza passare attraverso il proxy, la destinazione delle richieste (www.inps.it: 94.86.41.16):

iptables -A INPUT -p ALL --destination 94.86.41.16 -j ACCEPT

Questa prima soluzione, sinceramente, non è molto carina. Si può operare, invece, direttamente sulla configurazione di squid.

E’ sufficiente inserire la direttiva:

ignore_expect_100 on

nel file di configurazione di squid (solitamente /etc/squid/squid.conf).

Nel caso in cui il vostro firewall sia un ipFire potete aggiungere la direttiva nel file /var/ipfire/proxy/advanced/acls/include.acl e poi riavviare il proxy dall’interfaccia web.

🙂

Comments ( 0 )