Windows Server 2008 R2: dove è “Pulizia Disco” (Disk Cleanup Tool)?

…non c’è! 🙂
O meglio, non è installato di default.
In Windows Server 2008, infatti, Microsoft ha scelto di non installare o attivare di default molti programmi o tool in modo da avere un server il più possibile pulito ed esente da funzionalità non necessarie o che potrebbero rendere il server vulnerabile ad attacchi o instabile: questa è sicuramente è una buona strada da percorrere, ma i criteri di scelta di Microsoft sono secondo me ampiamente rivedibili: per dire, di default non è installato nemmeno il client telnet…

Per installare “Pulizia Disco” bisogna:

1) aprire "Server Manager";
2) cliccare su "Add Feature";
3) selezionare "Desktop Experience" (e magari anche "Telnet client");
4) riavviare.

 

Windows Server 2008 R2: errore 80072F8F di Windows Update

Di recente ho avuto diversi problemi su una macchina con sistema operativo Windows Server 2008 R2, di recente installazione, che non riusciva ad eseguire Windows Update: ogni volta che veniva avviata l’applet appariva il messaggio di errore “80072F8F” e non c’era verso di fargli controllare ed installare gli aggiornamenti.
Il sito di supporto di Microsoft, purtroppo, non mi è stato di grande aiuto: veniva infatti riportata una soluzione al problema, peraltro per Windows7 (visto che per 2008R2 non esiste nulla), la quale indicava che il problema era causato dal disallineamento di data ed ora tra il computer ed i server di WindowsUpdate: ho verificato gli orari e li ho anche sincronizzati via NTP, ma il problema persisteva.

Per fortuna, la soluzione mi si è presentata davanti quasi per caso: provando a navigare dal server su siti HTTPS comuni apparivano continuamente errori di certificati SSL: un breve controllo ha rivelato che i “root certificates” del server erano incompleti o danneggiati.
Ho quindi reinstallato il pacchetto “Update for Root Certificates [November 2011] (KB931125)“, riavviato il server e Windows Update ha ripreso a funzionare.

Windows7: come abilitare AHCI dopo l’installazione

Windows7, a volte, non è in grado di attivare correttamente il supporto ad AHCI se questo parametro del BIOS viene attivato successivamente all’installazione di Windows stesso: il driver AHCI, infatti, non viene avviato al boot di sistema e, l’attivazione di AHCI da BIOS in questa situazione, provocherà invariabilmente un bluescreen con “inaccessbile_boot_device”.
Prima di reinstallare da zero il sistema operativo, potete provare a forzare l’attivazione di AHCI semplicemente modificando una chiave del registry.

Assicuratevi che AHCI non sia attivo nel BIOS, avviate Windows, aprite regedit (con diritti amministrativi) e cercate la chiave:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MsAHCI

poi nel pannello di destra cercate la voce “Start” ed impostatene il valore a “0” (zero).
Riavviate il computer, entrate nel BIOS ed attivate AHCI.

Se tutto è andato per il verso giusto Windows dovrebbe avviarsi correttamente, procedere all’installazione dei driver specifici AHCI per il vostro controller SATA.
Riavviate ancora al termine dell’installazione dei driver, et voilà, al successivo reboot Windows7 funzionerà in modalità AHCI.

Windows7: Come capire se TRIM è attivo sul SSD

Se possedete un disco SSD e Windows7, è buona cosa che la funzionalità TRIM sia attiva, per evitare che il disco si usuri più del dovuto e perda performance e stabilità.
Come verificare che sia attiva?
E’ sufficiente aprire una console a riga di comando con diritti amministrativi e digitare il seguente comando:

fsutil behavior query disabledeletenotify

se il risultato restituito è 0 (zero) allora TRIM è attivo, se il risultato è invece 1 allora TRIM non è attivo.
Per forzare l’attivazione di TRIM, sempre che il vostro sistema lo supporti [*], è sufficiente eseguire il comando:

fsutil behavior set disabledeletenotify 0

[*] = il controller disco della motherboard deve essere impostato su AHCI, e Windows7 deve essere stato installato con questa impostazione già attiva.

Ubuntu Server, rimuovere i vecchi kernel dal sistema

Sei un sysadmin pigro e accidioso? La / del tuo server linux Ubuntu è oberata di immagini obsolete del kernel che ti portano via prezioso spazio disco, ma non sai come fare a cancellarle?
Ecco un piccolo consiglio per spazzolare via tutto quello che non serve più: ti aiuterà e farà fare bella figura con i tuoi utenti. 🙂

Per prima cosa, diventa root:
sudo -s -H

Ora, fai la lista di quanti e quali sono i kernel installati nel sistema lanciando il comando:
dpkg -l | grep linux-image

Verrà restituita, a seconda di quanti kernel sono stati rilasciati, una lista simile a questa:

ii linux-image-2.6.31-15-generic-pae 2.6.31-15.50 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-16-generic-pae 2.6.31-16.53 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-17-generic-pae 2.6.31-17.54 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-19-generic-pae 2.6.31-19.56 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-20-generic-pae 2.6.31-20.57 Linux kernel image for version 2.6.31 on x86

Nel mio caso, sul server sono installati 5 kernel, di cui i primi 4, come facilmente intuibile dal numero di build, sono sicuramente obsoleti, bacati e probabilmente anche vulnerabili.

Parti dal primo kernel, il più vecchio, e rimuovilo lanciando il comando:
apt-get remove linux-image-2.6.31-15-generic-pae

Completata la rimozione, procedi con il successivo fino a quando non avrai nel sistema solo il kernel più recente.
ATTENZIONE!!! Ricordati che per far funzionare un server serve almeno UN kernel… 😀

Per finire, esegui il seguente comando per rimuovere automaticamente eventuali pacchetti non più necessari associati ai kernel rimossi:
apt-get autoremove

Et voilà il gioco è fatto!
( facile, eh? )

NTFS: attivare la compressione on-th-fly dei file da riga di comando

Le versioni moderne del filesystem NTFS, cioè a partire da NTFSv3 implementato introdotto da Microsoft con Windows2000, hanno una interessante funzionalità: la compressione on-the-fly dei dati.
NTFS ha la possibilità cioè di comprimere i file presenti su disco e decomprimerli “al volo”, ovviamente perdendo un po’ di performance in fase di decompressione, in caso l’utente ne abbia bisogno, cosa che permettere di recuperare un po’ di spazio disco quando sta per esaurirsi.
E’ possibile comprimere on-the-fly ogni tipo di file, eseguibili compresi (ma fortemente sconsigliato per problemi di performance), sebbene sia consigliabile attivare questa funzionalità solo su file di testo, file di log, documenti, etc. che sono generalmente adatti ad essere compressi fortemente per recuperare spazio disco: file audio (mp3, mp4) e film (avi, dvix, mp4, mov, mkv) invece sono difficilmente comprimibili in questo modo, e nella quasi totalità dei casi non vi sono benefici (anzi!).
Inoltre Microsoft consiglia di non attivare la compressione NTFS su file più grandi di 30MB, per non incorrere in problemi di performance.

La compressione sui file si può attivare via GUI (cliccare sulle “proprietà” del file, “avanzate”, “comprimi contenuto per risparmiare spazio su disco”) oppure da riga di comando con l’utility “compact”.

Esempi:

compact nome_file ci verranno restituite informazioni sullo state del file (compressione attiva o meno, dimensione file, spazio recuperato dalla compressione); 
compact /C nome_file attiverà la compressione on-the-fly sul file in modo da recuperare spazio su disco; 
compact /U nome_file invece disattiverà la compressione on-the-fly sul file e lo decomprimerà per riportarlo alle dimensioni originali;

Per comprimere tutti i file di log presenti in una directory e sottodirectory:
compact /S /C c:logs*.log

Squid, eseguire il bind su un solo IP (entrata ed uscita)

Situazione: macchina con 2 IP e squid
Problema: squid esce con entrambi gli IP per puntare alla rete pubblica (o ad eventuali proxy upstream)
Obiettivo: voglio che squid faccia il bind unicamente su un solo IP e che esca unicamente con questo stesso IP

In squid.conf modificare le seguenti direttive:

http_port inserendo anche l’ IP desiderato. In questo modo il processo di squid si aggancerà unicamente all’ IP indicato.

Esempio:       http_port 1.2.3.4:3128

tcp_outgoing_address inserendo l’ IP desiderato. In questo modo il processo di squid utilizzerà unicamente l’ IP per uscire (o collegarsi ad eventuali proxy upstream).

Esempio:       tcp_outgoing_address 1.2.3.4

Ricordarsi, ovviamente, di far ricaricare a squid la nuova configurazione.