08/08/2015

Windows 10 updates sharing

Ieri ho completato il tanto agognato aggiornamento a Windows 10 della mia postazione da gaming, nonchè backup station, nonchè minilab, nonchè qualsiasi altra cosa che vi venga in mente, insomma il mio pc di casa, quello “cazzuto”.

Tra le varie pinzillacchere dell’ultima release dell’OS Microsoft che ho disabilitato all’istante ve n’è una che mi ha particolarmente infastidito, e credo infastidirà tutti quelli che come il sottoscritto non abitano in una zona coperta dalla fantafibra o l’abracadabradsl tanto pubblicizzata dagli operatori tlc nostrani.
La suddetta “feature” (le virgolette sono d’obbligo) consiste nel succhiare banda dalla propria connettività per condividere con altri utenti degli aggiornamenti di Windows già scaricati; in sostanza si tratta di una sorta di servizio di file sharing che Microsoft si è permessa di implementare e attivare di default per scaricare sugli utenti l’onere di distribuire gli aggiornamenti di un proprio prodotto.

Ovviamente da Redmond hanno subito giustificato la cosa dicendo che si tratta di una feature che migliora l’esperienza utente e che interviene solo quando la postazione è in idle (con buona pace quindi degli altri dispositivi in rete locale che utilizzando la stessa connessione WAN).
Amici di Microsoft capiamoci, quello che mi fa incazzare come una bestia non è la feature in se (che se usata solo per i dispositivi in rete locale ha una sua utilità) ma il fatto di averla attivata di default, ecco quindi come disabilitarla.

Aprite il nuovo scintillante menù start e cliccate su Impostazioni.

win10-updates01

Click su Aggiornamento e Sicurezza.

win10-updates02

Aprite le impostazioni avanzate di Windows Update.

win10-updates03

Cliccate sul link dall’agghiacciante traduzione “Scegli come recapitare gli aggiornamenti”

win10-updates04

Disattivate la feature oppure attivatela solo per i dispositivi in rete locale.

win10-updates05

 

05/08/2015

Oracle EXP-00091 error

A differenza dei backup con RMAN l’esportazione di dati da Oracle è un’operazione tutto sommato semplice e che non richiede particolari competenze.
Sia che si utilizzi il tradizionale exp oppure il più recente expdp (export datapump disponibile da Oracle 10g) l’esportazione è un’operazione indolore, semplice e che spesso può essere più pratica di un restore da RMAN per ripristinare parti limitate di un database (ad esempio un singolo schema, piuttosto che una tabella).

Uno dei warning più frequenti che capitano lanciando una export è l’errore EXP-00091.

oracle-exp1

La soluzione consiste nella semplice esportazione della variabile d’ambiente NLS_LANG (tramite il comando “export” su GNU/Linux e “set” su Windows) prima di lanciare l’esportazione, quello che spesso è meno chiaro con cosa va valorizzata questa variabile.
La NLS_LANG è composta da tre valori:

  • NLS_LANGUAGE
  • NLS_TERRITORY
  • NLS_CHARACTERSET

La sintassi con cui esportare la variabile è la seguente (sostituite export con set su OS Windows):

export NLS_LANG=[NLS_LANGUAGE]_[NLS_TERRITORY].[NLS_CHARACTERSET]

Per recuperare questi valori dovete collegarvi al database e lanciare la seguente query:

SELECT * FROM V$NLS_PARAMETERS;

oracle-exp2

Esportate la variabile e rilanciate il comando di esportazione.

02/08/2015

Rimozione tape backup da Oracle RMAN

Iniziano le ferie, e con esse i soliti triti e ritriti propositi di sistemare cose rimaste in sospeso, appunti accatastati ovunque in attesa di essere riordinati e screenshots presi a casaccio durante le più variegate sessioni di lavoro.

Tra queste ho recuperato una casistica che mi è capitata lo scorso autunno, si trattava di fare pulizia su una vecchia istanza Oracle 10g installata su Windows Server (eresia… :\ ) che in passato era usata come server di produzione, poi declassata ad ambiente di sviluppo e come tale dimenticata da tutto e da tutti.
Facendo un semplice backup ho rilevato gozziliardi di vecchi backup fatti direttamente su tape library tramite librerie di Tivoli Storage Manager e li dimenticati e perduti…

rman-tape1

…seguiti invece da backup più recenti effettuati su storage tradizionale (nello specifico delle share di rete).

rman-tape2

Come fare pulizia di tutta questa schifezza?
Trattandosi di una vecchia istanza i cui backup si erano persi nel vuoto cosmico ho lanciato un bel “crosscheck backup” per marcare quei backup come obsolete (da notare nei due screenshot precedenti che invece la colonna S li mostra come available, A).
Fatto questo basta lanciare un semplice “delete obsolete”, peccato che in questo caso il device (SBT_TAPE) sia irraggiungibile…

rman-tape4_1

Per fortuna Oracle ha pensato a casistiche del genere fornendo una libreria che emula i device di tipo tape (oracle.disksbt), basta quindi definire un nuovo channel SBT_TAPE…

rman-tape5

…e come per magia il comando delete obsolete funziona perfettamente eliminando i backup non più raggiungibili…rman-tape6

…lasciando soltanto i nostri adorabili backup ancora disponibili.

rman-tape7

 

20/07/2015

Duplicity backup via sftp

Tra i millemila tool di backup basati su rsync che mi è capitato di usare su macchine GNU/Linux c’è anche Duplicity.

L’oggetto è certamente degno di nota per semplicità d’uso, per la sicurezza (supporta protocolli di trasferimento cifrati come sftp e la cifratura stessa dei backup mediante gpg) e per l’efficacia.
Certamente ha delle pecche, prima fra tutte la scarsa gestione delle eccezioni e le notifiche in caso di errore, però tutto sommato è uno strumento con delle buone potenzialità e margini di miglioramento.
Non mi sento di consigliarlo come il miglior tool di backup per server, lo trovo però ottimo per singole workstation o postazioni di lavoro su cui c’è una continua presenza umana (sia chiaro che però il software può e deve girare schedulato).

Ecco un esempio di sintassi per un semplice backup full settimanale delle directory /etc, /var/log, /root, /var/www, /backup effettuata tramite sftp…

#/bin/bash
 export PASSPHRASE=<VOSTRA PASSPHRASE>
 DEST="sftp://<UTENTE>@<HOST>:<PORTA>//directory/di/destinazione"
/usr/bin/duplicity --full-if-older-than 1W --timeout=100 \
 --ssh-backend pexpect \
 --use-scp \
 --volsize=100 \
 --include="/etc" \
 --include="/var/log" \
 --include="/root" \
 --include="/var/www" \
 --include="/backup" \
 --exclude="**" / \
$DEST

…seguita dalla sintassi per effettuare un altrettanto semplice repulisti dei backup più vecchi di un mese.

#/bin/bash
export PASSPHRASE=<VOSTRA PASSPHRASE>
DEST="sftp://<UTENTE>@<HOST>:<PORTA>//directory/di/destinazione"
/usr/bin/duplicity remove-all-but-n-full 4 --force $DEST

Ovviamente potete includere entrambi i comandi per schedulare le due operazioni con lo stesso script bash.

29/06/2015

Windows Server 2012 administrator password

A volte può capitare che usando i consueti strumenti si rimanga incastrati in qualche assurda condizione apparentemente senza via d’uscita, guardacaso per un sistemista questo genere di situazioni si verificano quasi esclusivamente usando OS Windows Server…

Supponiamo ad esempio che vi ritroviate nella condizione di recuperare la password di Administrator di una macchina su cui è installato Windows Server 2012, di primo acchito verrebbe da utilizzare Offline Windows Password & Registry Editor, ottimo tool che permette di cancellare (blank) la password di Administrator mediante una piccola immagine live con cui fare il boot del sistema.
Peccato che in questo modo rischiate di schiantarvi contro l’assurda default policy di questa versione che non permetta di loggarsi con password nulla (l’amministratore di sistema deve poter fare TUTTO, anche la cosa più stupida come dimenticarsi un sistema con password di superuser nulla.), ritrovandovi quindi con la password recuperata (vuota) ma inservibile per fare il login.

In questi casi non occorre fare altro che recuperare una qualsiasi ISO di installazione di Windows Server e fare il boot da essa, alla prima finestra che presenta la selezione della linga proseguite.

win2k12-password01

Alla schermata successiva cliccate sul link “Ripristaina il computer”.

win2k12-password02

Proseguite poi fino ad aprire il prompt dei comandi.

win2k12-password03

win2k12-password04

Identificate il drive di sistema (nell’esempio D:).

win2k12-password05

Spostatevi nella directory Windows\System32 e fate un backup del file Utilman.exe (copy Utilman.exe Utilman.exe.bak), fatto questo sostituite il file Utilman.exe con cmd.exe (copy cmd.exe Utilman.exe).

win2k12-password06

Digitate exit al prompt e riavviate il sistema facendo il boot regolarmente da storage, arrivate alla schemata di logon premete tasto Windows + u oppure cliccate sulla icona di usabilità (evidenziata in rosso) per aprire una finestra di prompt.

Digitate il comando “net user administrator <NUOVA PASSWORD>” per modificare la password dell’utente Administrator locale (nell’esempio “Passw0rd”), dopo di che chiudete la finestra di prompt e loggatevi con la vostra nuova password.

win2k12-password07

Prima di vantarvi con colleghi, clienti e superiori ricordatevi di ripristinare il backup del file Utilman.exe (copy c:\Windows\System32\Utilman.exe.bak c:\Windows\System32\Utilman.exe).

Ok, ora che vi siete vantati con colleghi, clienti e superiori riflettete su quanto sarebbe stato più facile bootare in single user mode per cambiare password di root su un sistema GNU/Linux. :O

« Post precedenti | Post successivi »