Utilizzare la CPU su Linux al massimo della velocità

In molti casi ci si accorge che nonostante il server Linux abbia una super-cpu, il sistema operativo ed i software non stanno girando a “tutta potenza”.

Per verificare a quale velocità stanno andando le CPU basta eseguire questo comando:
grep -E '^model name|^cpu MHz' /proc/cpuinfo

ed otterrete una risposta come la seguente:

model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
cpu MHz         : 1600.000
...

In questo caso la CPU viene utilizzato al 60% delle sue potenzialità! Sebbene questa sia una caratteristica ottima per una workstation (per risparmiare energia ed abbassare la velocità delle ventole), nel caso di server può essere utile avere sempre la massima velocità.
Questa funzionalità, gestita direttamente dal kernel, è possibile modificarne il comportamento come segue:

1) controllare che il software ‘kondemand’ sia in esecuzione tramite il seguente comando:  “pgrep -lf ondemand”

[root@boston07 ~]# uname -a
Linux boston07 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:18:27 EST 2009 i686 i686 i386 GNU/Linux
[root@boston07 ~]# pgrep -lf ondemand
1444 kondemand/0
1445 kondemand/1

2)  Controllare che le CPU stiano in esecuzione ad una velocità inferiore a quella di picco:

[root@boston07 ~]# grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
cpu MHz         : 1596.000
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
cpu MHz         : 1596.000

3) Cambia l’algoritmo di gestione delle CPU da ‘ondemand’ a ‘performance’ per ogni CPU:

for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done

4) Verifica nuovamente che le CPU stiano effettivamente andando al massimo della velocità:

[root@boston07 ~]# grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
cpu MHz         : 2394.000
model name      : Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz
cpu MHz         : 2394.000

5)  se sono attivi i servizi  ‘cpuspeed’, ‘cpufreqd’, ‘powerd’ , stoppali per evitare che controllino la velocità della CPU:

# service cpuspeed stop

Errore Facebook Webhooks curl_errno 60

Per implementare un Bot di Facebook Messenger è necessario impostare un callback URL per i webhooks, che generano le chiamate ad una pagina che poi implementerà il BOT. L’errore:

 

  • curl_errno 60

indica che il server non sta indicando la catena di certificazioni che portano al certificato utilizzato. Sebbene in molti siti web l’indicazione sia quella di specificare curl.cainfo=/percorso/cacert.pem nel file php.ini, in questo caso il problema è che il server stesso deve comunicare la catena a chi si connette. Nel caso di server LAMP con Apache2.2 e PHP 5.4 basta inserire il riferimento alla catena di certificati sull’host

  • SSLCertificateChainFile  /etc/apache2/keys/catena.crt

dove il file catena.crt è un file concatenato con i certificati del sito, della certification authority intermedia e della certification authority principale, che è possibile ottenere dal browser nei dettagli del certificato. E’ possibile trovare la guida qui

Come risolvere l’errore SSH “open failed: administratively prohibited”

Guardando i log di sistema (/var/log/secure), quando si prova a connettersi in SSH ed aprire un tunnel (ad. es. per la configurazione di un software come B.Point Solution Platform) viene restituito il messaggio di errore sopra riportato. nel mio caso è bastato aggiungere localhost nel file /etc/hosts alla prima voce (127.0.0.1). In generale è necessario anche abilitare l’opzione

AllowTCPForwarding yes

Errore dopo disabilitazione SeLinux su installazione fresca di CentOS 6.9

Appena dopo l’installazione di CentOS 6 netinstall (al momento di scrivere la versione è la 6.9), disabilito Selinux ed al riavvio compare il seguente messaggio, interrompendo il caricamento del sistema operativo:
Pid: 1, comm: init Not tainted 2.6.32-642.11.1.el6.x86_64 #1
Praticamente, anche se selinux è disabilitato a livello di sistema operativo, grub non ne è al corrente e si blocca il sistema.
La soluzione è quella di indicare a grub che selinux è disabilitato modificando il file /boot/grub/grub.conf accodando la dicitura selinux=0:
kernel /boot/vmlinuz-2.6.32-642.11.1.el6.x86_64 ro root=UUID=23f78139-a1ac-4a7a-b608-05687cecfa37 selinux=0

Assegnare il focus ad un elemento INPUT TEXT in HTML

Tramite Javascript (e di conseguenza jQuery) è possibile assegnare il focus, ossia lo stato attivo, ad un elemento di input, come una casella di testo, in modo da poter digitare subito il testo. Il codice seguente “dovrebbe” funzionare, se lanciato dopo che il documento è caricato, quindi durante l’OnLoad del body oppure all’interno della funzione document.ready di jQuery:

document.getElementById('id_elemento').focus();
$('#id_elemento').focus();

In realtà, nella maggior parte dei casi il codice non funziona, l’elemento si vedrà selezionato ma non è possibile digitare il testo. Al fine di far funzionare il codice è necessario impostare l’attributo tabindex.

Quando si assegna tabindex = ad un elemento, esso diventa attivabile. Un utente può utilizzare il tasto Tab per passare da l’elemento con minore tabindex positivo a quello successivo. L’eccezione è il valore speciale -1 che significa che l’elemento diventa attivabile, ma l’elemento viene saltato se l’utente naviga i controlli con il tasto Tab. Solo il metodo di focus()  – o con il click del mouse – l’elemento sarà attivabile.

Rimuovere lo il bordo dalle immagini delle gallerie create con WordPress

Di seguito vi riportiamo una riga di codice utile per evitare che  WordPress aggiunga gli stili CSS predefiniti nella galleria inclusa all’interno delle pagine o dei post.

Possiamo personalizzare un sacco di cose nei nostri temi WordPress, e lo stile galleria WordPress è sicuramente uno di quelli importanti. In un primo momento, può sembrare semplice, ma in realtà non lo è così tanto.

Come sviluppatore, si potrebbe pensare di personalizzare l’aspetto delle gallerie WordPress solo con l’aggiunta di qualche riga di CSS nel style.css del vostro tema. Ma ciò non è possibile visto che WordPress aggiunge automaticamente un frammento di stile predefinito nel post che contiene una galleria e che sovrascrive qualsiasi stile definito nei fogli inclusi nel tema.

Il codice agganciato automaticamente da WordPress in un post galleria si presenta un così:

<style type='text/css'>
    #gallery-1 {
        margin: auto;
    }
    #gallery-1 .gallery-item {
        float: left;
        margin-top: 10px;
        text-align: center;
        width: 33%;/*questo dipende da quante colonne avete previsto*/
    }
    #gallery-1 img {
        border: 2px solid #cfcfcf;
    }
    #gallery-1 .gallery-caption {
        margin-left: 0;
    }
    /* see gallery_shortcode() in wp-includes/media.php */
</style>

Ora sappiamo che l’ostacolo nel nostro modo di personalizzare la nostra galleria look è la funzione che aggiunge automaticamente lo stile CSS nella pagina. Se riusciamo ad inibire l’iniezione di questo codice, abbiamo quasi finito.

Basta semplicemente aggiungere il codice qui sotto in un file functions.php del nostro tema WordPress:

add_filter (‘use_default_gallery_style’, ‘__return_false‘);

per evitare che WordPress aggiunga lo stile all’interno della pagina.

Ora, è necessario salvare il file functions.php e quindi visualizzare un post galleria. Le gallerie adesso avranno una disposizione di base, basta includere gli stili CSS (magari partendo da quelli originali e personalizzandoli) nel file style.css del tema.

Disabilitare il controllo dell’integrità di firma per i driver di Windows

Di seguito la procedura per disabilitare il controllo della firma digitale dei driver, nel caso in cui Windows non riconosca un driver e non abiliti di conseguenza la periferica:

avviare il comando cmd.exe con i diritti di amministratore:

digitare i seguenti due comandi:

bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS

bcdedit.exe -set TESTSIGNING ON

 

Eliminare il driver di una stampante su Windows 7

In alcuni casi, l’installazione di una stampante su Windows 7 può portare al crash del servizio Spooler di Stampa o al riavvio del sistema operativo. Potrebbe essere quindi necessario rimuovere il driver per installarne una versione aggiornata oppure per evitare l’installazione automatica della stampante.

Di seguito la procedura per eliminare un driver della stampante da aggiornare o per fare pulizia:

1. Andare su Start e scrivere come comando nella barra “Trova programmi o file” il comando cmd.exe.
2. cliccare con il tasto destro del mouse sul collegamento e selezionare “Esegui come amministratore”
3. Eseguire il comando printui / s / t2
4. Da qui è possibile eliminare i driver delle stampanti.

Se questo non funziona …
1. Fare clic con il tasto destro su Computer -> Gestione -> Servizi
2. Individuare il servizio Spooler di stampa e fare clic destro -> Arresta
3. Aprire Risorse del computer e posizionarsi sulla cartella C: \ Windows \ System32 \ Spool \ Printers
4. Eliminare il contenuto di tale cartella.
5. Riavviare il servizio Spooler di stampa.
6. Torna in utillity Printui e provare a rimuovere di nuovo le stampanti.

La “privacy” di Facebook

Le recenti modifiche alle politiche di privacy di Facebook dovrebbero allarmare tutti gli iscritti. Ecco le possibili situazioni in cui ci si può imbattere e dei suggerimenti su e come proteggersi:

1. Facebook potrebbe condividere con terze parti i dati personali dell’utente ed i luoghi frequentati (dove sei stato), permettendo ad altre aziende di sapere chi sei e dove sei stato.

Come riportato da Kashmir Hill, Facebook permette di suggerire nuovi amici sulla base della posizione rilevata dallo smartphone degli utenti. Anche se questa potrebbe sembrare una funzionalità importante – se non si riesce a ricordare il nome di qualcuno che hai incontrato ad un evento, per esempio, Facebook potrebbe suggerirlo come amico in quanto i due utenti hanno frequentato lo stesso luogo. Se per esempio ci troviamo sala d’attesa di un medico, vogliamo veramente essere suggeriti come amici degli altri presenti?

Il rischio di divulgazione involontaria di informazioni attraverso i social media non è nuova; in un brevetto depositato nel 2012  “le informazioni che possono essere estrapolata da messaggi innocui che l’utente può pensare possono essere seriamente dannosi per l’utente. ” Infatti, il pericolo di informazioni estrapolate da social media distruggendo ogni sorta di caos è stato uno dei motivi per cui è stato fondato SecureMySocial , che oggi fornisce la tecnologia che impedisce ogni tipo di fughe di informazioni di danneggiare persone e aziende.

Secondo l’articolo di Hill, Facebook considera la vicinanza fisica delle persone per suggerire gli amici.

Pertanto, cosa fare per evitare che Facebook abbia “troppe informazioni” su di noi? Purtroppo non basta disattivare il GPS perché i cellulari sono consapevoli della nostra posizione in base al segnale Wi-Fi (di casa, dell’ufficio)….. non dovremmo utilizzare l’App di Facebook!

2. Da più parti è stato segnalato che i messaggi privati di Facebook che contengono link potrebbero essere visibili ad applicazioni di terze parti. Ciò è un serio problema perchè:

A. persone inviano i messaggi privati e potrebbero condividere link che non desiderano far conoscere ad altri oltre il destinatario.

B. Alcuni link contengono intrinsecamente informazioni riservate. Molti link contengono intrinsecamente delle informazioni riservate (malattie, acquisti) e un utente potrebbe inviarle ad un amico.

C. Alcuni link potrebbero contenere delle password o dei link non pubblici a servizi di condivisione file (come ad esempio, Dropbox o Google Drive).

Vorrei sottolineare che la vulnerabilità in questione potrebbe permettere ad uno sviluppatore registrato su Facebook di accedere ai messaggi privati degli utenti,ma non è possibile, per i normali utenti di Facebook visualizzare i messaggi. E ‘anche vero che se il team di Facebook ha scoperto che uno sviluppatore Facebook ha abusato dei permessi di Facebook Developer (nel tentativo di accedere ai messaggi), hanno sospeso l’account da sviluppatore.

Come proteggere le proprie informazioni?

Non inviare link attraverso i social media.

i tuoi messaggi “privati” ed i commenti possono essere visti più persone di quanto ci si immagini.