Creare un demone con la bash

Inviato da funkgui on marzo 14th, 2012

Vediamo come ho risolto il problema… ovviamente sono aperto a critiche e/o migliorie!

Vediamo un esempio pratico che è poi quello che mi serviva:

innanzitutto ho preparato il mio script “checkPing” in modo che andasse in loop infinito, (in questo caso il loop infinito non mi serviva perché il ping va in loop da solo come default e quindi l’ho commentato per appunto)

#!/bin/sh
echo $$ > /tmp/checkPing.pid
HOST=google.it
#while [ true ]
#do
exec ping $HOST>/dev/null
#done

eseguo il ping con il comando exec, in modo che ping assuma il mio pid (mio del mio script ovviamente ^_^)

Questo sarebbe bastato come demone, ma il problema era che ripartisse in automatico nel caso venisse interrotto per una qualsivoglia ragione.

Per risolvere questo mi sono affidato al buon vecchio cron aggiungendo al file /etc/crontab

* *    * * *    /bin/sh /home/funkgui/daemon.sh

e questo è il file daemon.sh

#!/bin/sh
PIDFN=/tmp/checkPing.pid
PID=`cat $PIDFN`
let “c= ps aux |tr –squeeze-repeats ‘ ‘|cut -f 2 -d ‘ ‘|grep $PID|wc -l”
if [ $c -eq 0 ]; then
echo “Programma non attivo… Lo rieseguo”
nohup /home/funkgui/checkPing &
fi

spero come al solito possa servire a qualcuno.

Alla prossima


 

Installare debian su qnap TS-419P II

Inviato da funkgui on marzo 9th, 2012

Innanzitutto il link da cui sono partito per far tutto…

Ora procediamo:

Prima di tutto un backup del software qnap in modo da porterlo (ma non ci servirà) eventualmente ripristinare… procuriamoci un pen-drive con un po’ di spazio (circa 17mb ^__^) una volta montato procediamo così: (controllate la directory su cui è stato montato e modificate di conseguenza)

cd /share/external/sdi
cat /dev/mtdblock0 > mtd0
cat /dev/mtdblock1 > mtd1
cat /dev/mtdblock2 > mtd2
cat /dev/mtdblock3 > mtd3
cat /dev/mtdblock4 > mtd4
cat /dev/mtdblock5 > mtd5
cd
umount /share/external/sdi

Ora potete disconneterla e scaricare il necessario per l’installazione…

cd /tmp
busybox wget ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/network-console/qnap/ts-41x/initrd.gz
busybox wget ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/network-console/qnap/ts-41x/kernel
busybox wget ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/network-console/qnap/ts-41x/flash-debian
busybox wget ftp://ftp.debian.org/debian/dists/stable/main/installer-armel/current/images/kirkwood/network-console/qnap/ts-41x/model

Ora potete lanciare il software per copiare il software di installazione al posto del firmware qnap

sh flash-debian

Lasciarelo lavorare qualche minuto e se non vi da errori come dovrebbe… riavviate
A questo punto dovreste essere in grado di accedere al programma di installazione da una shell ssh… se avete un dhcp cercate che indirizzo si è preso (avete a disposizione im mac address restituito come info a fine della procedura precedente) altrimenti il qnap si prende il 192.168.1.100… vedete voi… fate il login come Usere: installer password: install…

Da qui in poi ve la sbrigate da soli giusto?

Alla prox.

ipad 2 ios 5.01 jailbreak effettuato con successo

Inviato da noi altri on gennaio 20th, 2012

Tutto vero!

Finalmente ce l’hanno fatta!

Dal blog di Pod2g è presente il link per scaricare Absinthe per effettuare il jailbreak (è necessario un mac) dei dispositivi con processore A5.

Noi lo abbiamo effettuato e sembra tutto perfettamente funzionante…

Un grazie sentito a Pod2g e compari

Samba 3 pdc e windows 7

Inviato da funkgui on maggio 24th, 2011

Rieccoci dopo molto tempo a scrivere qualche appunto…

L’argomento è di un’originalità imbarazzante, infatti se cercate in rete troverete mille e più articoli a riguardo, però come al solito a me serve un piccolo riassunto “copia e incolla” da poter riutilizzare al volo ed allora eccolo qui…

Iniziamo dall’ultima parte e cioè con windows xp (professional ovviamente) non ci sono problemi, ma se come tutti ormai siete passati al futuro (ahahaha) con windows 7 allora per poter accedere al dominio samba dovete scaricare ed installare l’hotfix dal sito microsoft (che non è altro che un file .reg da eseguire) per poter bypassare il problema.

A questo punto passiamo al samba…

Qui trovate il file smb.conf dove dovreste cambiare solo il nome del WORKGROUP che nel nostro caso è quindi il nome del DOMINIO e le condivisioni…

Lasciando perdere le varie voci del file conf (per molte delle quali non saprei neppure spiegarvi le specifiche) vorrei solo specificare che:

nella cartella /home/netlogon ho messo il file logon.cmd dove ho inserito i comando per connettere le unita di rete (in questo caso “condivisione”) la dir personale viene montata automaticamente con la lettera H
nella cartella /home/profiles/ risiederanno le cartelle dei profili dei vari utenti… (ad esempio /home/profiles/utenteXp oppure /home/profiles/utenteWindows7.V2)

Per resto quando aggiungete il vostro client al dominio vi verrà chiesto un account con privilegi e in quel caso inserite pure le credenziali del vostro account root e a questo punto il gioco è fatto.

Altra specifica, se volete che il vostro utente del dominio sia anche amministratore (o altro) della macchina client dovete aggiungerlo al gruppo che vi interessa facendo il login con un account amministratore della macchina.

Per quanto riguarda gli utenti come al solito (non usando LDAP) si procede aggiungendo l’utente al sistema e poi al samba così:

adduser utente
smbpasswd -a utente

per le macchine (si, è necessario un account per ogni macchina che accede al dominio) (e bisgna preventivamente creare il gruppo machines)

/usr/sbin/useradd -g machines -c “nomemacchina machine account” -d /var/lib/samba -s /bin/false nomemacchina$
passwd -l nomemacchina$
smbpasswd -a -m nomemacchina

Altra cosa ancora il cambio password degli utenti del dominio è comodo farlo da web con SWAT.

A presto

Stampa simultanea di più file pdf

Inviato da funkgui on agosto 5th, 2010

Dovendo stampare cisrca 150 file pdf mi sono posto il problema di come farlo in automatico…
La soluzione migliore che ho trovato è stata questo script:

#!/bin/bash 

#$1 è la directory
FILES=$1/*.pdf
TMP=/tmp/

for f in $FILES
do
 echo "Sto elaborando il file $f ..."
 pdf2ps "$f" "$TMP$f.ps"
 lpr "$TMP$f.ps"
 rm "$TMP$f.ps"
done

Per utilizzarlo è necessario copiare in una cartella tutti i file pdf che si vogliono stampare ed avere installato ghostscript.
Ho dovuto passare attraverso il formato ps perché altrimenti la stampa pdf diretta non risultava corretta (margini, immagini…)

Se trovate una soluzione migliore…

Hylafax e U.S. Robotics usb modem (usr 5637) funzionante

Inviato da funkgui on giugno 9th, 2010

Ho finalmente trovato la quadratura del cerchio…

Con il file che qui vi allego config.ttyACM0 funziona sia la ricezione che la spedizione…

Da salvare come:  /var/spool/hylafax/etc/config.ttyACM0

Ciao
mARCO

Hylafax e U.S. Robotics usb modem (usr 5637)

Inviato da funkgui on giugno 4th, 2010

Quest’uomo  è un genio!

A questo link ho trovato finalmente la soluzione al problema hylafax-usrobotic usb modem.

Riporto comunque la soluzione che per me ha funzionato di seguito.

La distro da me usata è lucid server mentre il modem è stato riconosciuto come /dev/ttyACM0

Modificare il file  /var/spool/hylafax/etc/config.ttyACM0

ModemFlowControl: rtscts # hardware flow control
ModemSetupDTRCmd: ATs13=1&D3 # setup so DTR drop resets modem
ModemSetupDCDCmd: AT&C1 # setup so DCD reflects carrier (or not)
ModemNoFlowCmd: AT&H0 # setup modem for no flow control
ModemHardFlowCmd: AT&H1 # setup modem for hardware flow control
ModemSoftFlowCmd: AT&H2 # setup modem for software flow control
ModemMfrQueryCmd: !USR5637
ModemModelQueryCmd: ATI3
ModemRevQueryCmd: ATI7 # XXX returns a multi-line result
#
# When AT+FCLASS=1 is issued the modem automatically switches
# to software flow control; these parameters let the fax software
# reset flow control as needed after entering Class 1.
#
Class1NFLOCmd: AT+FLO=0 # setup modem for no flow control
Class1HFLOCmd: AT+FLO=2 # setup modem for hardware flow control
Class1SFLOCmd: AT+FLO=1 # modem does this automatically

Spero sia utile a qualcuno

Contrordine…

Con queste modifiche riesco a spedire fax, ma di ricevere non se ne parla…

Come al solito appunto sul blog ciò che mi torna utile per evitare di dimenticarlo…
Questa volta ci occupiamo del comando “at” (ovviamente parliamo di linux e della sua cli); è strautile per non dire indispensabile da affiancare a cron per eseguire comandi shell ad un’ora prestabilita (ad esempio per spedire una mail ad una data ora senza essere davanti al pc ^__^).

Vediamo velocemente un esempio:

funkgui@funkgui-laptop:~$ at 18:30 #per aprire la “shell” at e impostare comandi sa eseguire alle 18:30
at> /path/to/my/script/nome.sh
at> <ctrl-d>  #per uscire dalla “shell”

funkgui@funkgui-laptop:~$ at -l #per avere la lista delle job attive

E il gioco è fatto, alle 18:30 (che verranno) verrà eseguito lo script di cui ovviamente avrete dato il percorso completo.

Alla prossima
funkgui

L’editor non può che essere bluefish!

Inviato da funkgui on settembre 22nd, 2009

Ragazzi sono anni che io e il mio socio cerchiamo e proviamo tutti gli editor del mondo per trovare quello che più ci si addice… e ogni volta torniamo sul bluefish e semplicemente perchè non ci piacciono per nulla i WYSIWYG e abbiamo bisogno di velocità… Proviamo e torniamo da lui, proviamo e torniamo da lui… beh oggi colto da illuminazione divina mi son detto: “perché non diamo un’ochiatina al sito ufficiale???” beh, appena arrivato sul sito cosa vedo??? le “uniche” tre feature che mancavano a questo eccezzionale editor:

  • il raggruppamento del codice
  • l’autocompletamento del codice
  • evidentazione tag

Beh, ragazzi con la versione svn installata una volta corretti alcuni bachi.. non abbiamo più bisogno di altro…

W bluefish!!!

Samsung Galaxy accesso root – the linux way

Inviato da funkgui on agosto 7th, 2009

Rieccoci con i nostri tempi ad un nuovo articolo…

Questa volta parliamo di android… per gli htc le guide per ottenere l’accesso root al sistema si sprecano, mentre per il samsung galaxy siamo un pò indietro, soprattutto se vogliamo utilizzare linux e non windows con pc studio… (che tra l’altro secondo me ha enormi problemi…)

Questo è il mix di un paio di how to che ho trovato in rete e precisamente questi, riassunti per semplicità e per evitare di perder tempo:

http://www.tuttoandroid.net/guide/permessi-di-root-sul-samsung-galaxy-metodo-rapido-1172/
http://elihh.wordpress.com/2009/05/31/root-per-htc-magic-con-ubuntu/ (si lo so è per l’HTC ma tanto voi seguite la mia di guida no? ^__^)

Innanzitutto avete bisogno di aver installato l’SDK di android e dovete scaricare anche:

ADB, Fastboot, Recovery (linux) per Samsung Galaxy (password: hdblog.it)
(di questo zip vi serviranno solo il .img e fastboot adb lo trovate già nella cartella tools nella cartella di installazione dell’SDK android)

Ora verifichiamo che si possa avere una shell funzionante prima di procedere (non si sa mai)

sudo vi /etc/udev/rules.d/50-android.rules
e inserire
SUBSYSTEM==”usb”, SYSFS{idVendor}==”0bb4?, MODE=”0666?
sudo vi /etc/udev/rules.d/90-android.rules
e inserire
SUBSYSTEM==”usb”, ATTR{idVendor}==”0bb4?, MODE=”0666?
sudo chmod a+rx /etc/udev/rules.d/50-android.rules
sudo chmod a+rx /etc/udev/rules.d/90-android.rules
sudo /etc/init.d/udev restart
sudo ./adb kill-server
sudo ./adb devices

e se esce qualcosa del genere:

List of devices attached
HT93XKF06433 device

siamo a cavallo….

Ora possiamo procedere

  • Apriamo il terminale e posizionatevi nella cartella tools dell’SDK
  • Riavviamo il Samsung Galaxy in modalità fastboot (spegnendo il telefono e riaccendendlo con Call+Power insieme)
  • Eseguiamo il comando per flashare la recovery image modificata:
    ./fastboot flash recovery recovery.img
  • Per andare a buon fine deve uscire “Okay” due volte
  • Rimuoviamo la batteria ora per spegnere il telefono
  • Premiamo Volume Giù+Call+Power per entrare in recovery
    NON PREMERE ORA NESSUN TASTO SE NO RISCHI IL BRICK!
  • Da terminale PC digita:
    ./adb shell
  • Ora possiamo abilitare root eseguiamo quindi (sempre da PC):
    su -
    mount /dev/block/mtdblock1 /system
    cat /system/bin/sh > /system/bin/su
    chmod 4755 /system/bin/su
    /system/bin/reboot

Vi ricordo che questa procedura è a vostro completo rischio e pericolo!!!

A me cmq ha funzionata ^__^

Alla prossima
mARCO