» Publishers, Monetize your RSS feeds with FeedShow: More infos (Show/Hide Ads)
[I]100[/I]
Questo è un classico dei giochi di abilità in versione flash. Gioca con le tessere cinesi, elimina le coppie, scegliendo tra le carte più esterne, e cerca di arrivare alla fine con meno carte possibili! Puoi scegliere tra diverse composizioni….
Post originale: Mahjong 247 – Il gioco delle tessere cinesi
Post originale: ???
E’ possibile effettuare un monitoring dell’array RAID di un controller LSI Logic SAS 5/iR che montano macchine DELL, molto basilare, ma utile e immediato. Utilizzeremo il tool mpt-status.
La scelta di questo tool è molto semplice e (a volte) obbligata se la macchina in questione ha poca RAM.
Infatti molti scelgono di monitorare il tutto tramite omreport di Dell (parte della suite OpenManage) che sicuramente è il migliore tool di monitoraggio locale per i controller RAID (e non solo) in quanto, oltre a controllare lo stato dei dischi, restituisce molte più informazioni su tutto l’hardware della macchina (e del RAID stesso).
Purtroppo la compilazione di questo tool, a volte, può essere macchinosa su sistemi operativi CentOS, in particolare sulla versione 5.3.
Infatti la compilazione richiede il pacchetto kernel-devel ma, dopo numerosi test effettuati, non contiene (almeno la versione sui mirror ufficiali) alcune librerie LSI.
Per ovviare a questo problema possiamo adoperare rpmbuild ed il sorgente del kernel nella versione src.rpm.
Ho riassunto, in breve, tutti i comandi da lanciare per compilare correttamente mpt-status su CentOS ad ogni aggiornamento di kernel.
yum install rpm-build redhat-rpm-config unifdef -y
cd ~
rm -rf ~/rpmbuild
mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo ‘%_topdir %(echo $HOME)/rpmbuild’ > .rpmmacros
rm -f kernel-`uname -r`.src.rpm
wget http://mirror.centos.org/centos/5/updates/SRPMS/kernel-`uname -r`.src.rpm
rpm -i kernel-`uname -r`.src.rpm
rm -f kernel-`uname -r`.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -bp –target=`uname -m` kernel-2.6.spec 2> prep-err.log | tee prep-out.log
cd /usr/src
rm -rf mpt-status-1.2.0
wget “http://freshmeat.net/urls/7a85a1d3af8efa1dbe086c142f773164″ -O mpt-status-1.2.0.tar.gz
tar zxvf mpt-status-1.2.0.tar.gz
cd /usr/src/mpt-status-1.2.0
make KERNEL_PATH=~/rpmbuild/BUILD/kernel-`uname -r | cut -d “-” -f1`/linux-`uname -r | cut -d “-” -f1`.`uname -m`
make install
mknod /dev/mptctl c 10 220
modprobe mptctl
Per chi invece ha un sistema x86 e non ha tempo da dedicare alla compilazione, puo’ sempre trovare l’rpm qui disponibile, appunto, solo per sistemi 32bit.
Non tutti sanno che la coppia tar+ssh a volte può tornare molto utile.
Mettiamo ipoteticamente, che dobbiamo effettuare una compressione di un grosso file (o cartella) ma non abbiamo abbastanza spazio sul disco per avere il file compresso o lo dobbiamo fare su un computer con un processore molto vecchio (e lento).
Risultato 1: il file risulterà corrotto per via dello spazio esaurito sul disco (con un notevole coinvolgimento di tutto il sistema);
Risultato 2: ci metteremo tutta la giornata
Ecco la soluzione al problema.
Premettendo che bisogna avere un secondo pc (o server) e abbastanza banda a disposizione tra i due (chiaramente entrambe devono essere linux, oppure windows con cygwin con ssh e comando tar), possiamo effettuare una compressione live direttamente sul pc di destinazione.
In che modo? Ecco il comando (l’ip 192.168.1.6, nell’esempio, è la macchina di destinazione):
# tar zcf – ./|ssh root@192.168.1.6 “cat – > /home/miofile.tgz”
Questo tipo di approccio, è lo stesso utilizzato dal famoso “LiveXStream” di cPanel, che sfrutta il proprio tool di migrazione da altre macchine cPanel (Copy an account from another server).
Chi utilizza vmware su linux (fino alla versione 7), avrà notato che ci sono alcuni problemi nell’inserimento di alcuni caratteri speciali su una vps.
Uno di questi caratteri è la chiocciola (@), il che è molto snervante.
Il problema, principalmente, nasce da un setting di default che effettua la mappatura della tastiera dell’host replicando la stessa configurazione sulla keyboard virtuale.
Per correggere questa impostazione (almeno per alcuni caratteri speciali, tornando a scrivere una email con l’indirizzo giusto
basta editare con qualsiasi editor testuale (consiglio vim) il file ~/.vmware/config ed inserire queste righe:
xkeymap.nokeycodeMap = true
xkeymap.keycode.108 = 0×138 # Alt_R
xkeymap.keycode.106 = 0×135 # KP_Divide
xkeymap.keycode.104 = 0×11c # KP_Enter
xkeymap.keycode.111 = 0×148 # Up
xkeymap.keycode.116 = 0×150 # Down
xkeymap.keycode.113 = 0×14b # Left
xkeymap.keycode.114 = 0×14d # Right
xkeymap.keycode.105 = 0×11d # Control_R
xkeymap.keycode.118 = 0×152 # Insert
xkeymap.keycode.119 = 0×153 # Delete
xkeymap.keycode.110 = 0×147 # Home
xkeymap.keycode.115 = 0×14f # End
xkeymap.keycode.112 = 0×149 # Prior
xkeymap.keycode.117 = 0×151 # Next
xkeymap.keycode.78 = 0×46 # Scroll_Lock
xkeymap.keycode.127 = 0×100 # Pause
xkeymap.keycode.133 = 0×15b # Meta_L
xkeymap.keycode.134 = 0×15c # Meta_R
xkeymap.keycode.135 = 0×15d # Menu
xkeymap.keycode.79 = 0×137 # Numpad_Home as Prt_Scr
Vogliamo effettuare uno streaming di un video (o una sorgente http) in formato flv per qualsiasi player flash?
Bene, possiamo farlo direttamente grazie all’aiuto di VLC.
Questo howto fa al nostro caso, valido sia per VLC con interfaccia grafica (vlc) che per VLC via linea di comando (cvlc).
Prendiamo come esempio una sorgente http (ma possiamo specificare qualsiasi altro sorgente: device (webcam), file avi/mpeg/asx, etc.), il comando da lanciare è il seguente:
vlc http://www.sitosorgente.it:8080 –sout “#transcode{vcodec=FLV1,acodec=mp3,sameplerate=44100}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv}” –sout-mux-caching=5000
Oppure solo da linea di comando:
vlc http://www.sitosorgente.it:8080 –sout “#transcode{vcodec=FLV1,acodec=mp3,sameplerate=44100}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv}” –sout-mux-caching=5000
Questo fa si, che su tutti gli ip della macchina dove si lancia, si mette in ascolto un server vlc per lo streaming sulla porta 8081 che risponde alla richiesta del file stream.flv: su un player swf (flash) in una pagina web possiamo impostare come sorgente video l’indirizzo IP del nostro PC (ipotizziamo sia 80.1.1.1) con l’url:
http://80.1.1.1:8081/stream.flv
In questo modo il player prenderà come video lo streaming del nostro vlc.
Attenzione: sarebbe il caso di usare un server dedicato o una vps in quanto dobbiamo tener conto della banda utilizzata che una normale adsl (da 256Kbs in upload) non potrà soddisfare con più di qualche utente connesso.
Tutti i parametri utilizzati in transcode possono essere cambiati a piacimento come la codifca dell’audio e il samplerate dello stesso (per info consultare la guida di vlc).
Buono streaming
Chi usa MySQL deve sapere che i server che utilizzano per la gestione dei database possono subire, nel corso del tempo, down e problemi sui dischi.
Le cause sono le più disparate ma, quella più gettonata (specie chi acquista una VPS di basso livello e con poco spazio disco), è la terminazione dello spazio sulla partizione di MySQL (in genere la /var).
Oltre a tutti i problemi (scrittura logs, down dei servizi, etc.) è quasi inevitabile che alcune tabelle dei database, rimaste aperte da processi attivi nel momento stesso della saturazione del disco, vengano corrotte.
Se le tabelle sono in INNODB, allora bisogna solo recuperarle da un backup. Se invece il motore utilizzato è MyISAM, allora possiamo tentare (il più delle volte ci si riesce) un recovery della stessa tabella.
Il primo passo da effettuare (naturalmente dopo aver liberato spazio disco), è quello di eseguire il seguente comando con il servizio MySQL attivo:
mysqlcheck nome_database -c -r
Sostituendo nome_database con il nome del vostro database.
Se avete molti database e non sapete quali siano effettivamente corrotti, possiamo usare lo stesso comando con opzioni diverse per fare il repair su tutti i database del server:
mysqlcheck -A -r
Se in questo modo non si riesce a riparare la tabella, allora possiamo adottare un’altra tecnica.
Ipotizziamo che:
- La cartella dei database di MySQL è /var/lib/mysql/
- Il database con la tabella corrotta si chiami mio_db
- La tabella corrotta si chiami mia_tabella
Allora possiamo stoppare MySQL ed entrare nella cartella fisica del database, dove troviamo per ogni tabella il suo equivalente file .MYI.
Da qui possiamo effettuare un repair a freddo:
cd /var/lib/mysql/mio_db ; myisamchk -r mia_tabella.MYI
Il tempo di repair dipende dalla grandezza della tabella.
Ora possiamo avviare di nuovo MySQL e vedere se la tabella è stata recuperata effettivamente.
















