Linux e XFS: come controllare la frammentazione del filesystem e deframmentarlo

Per gestire le partizioni XFS in Linux è necessario il pacchetto xfsprogs, mentre il pacchetto opzionale xfsdump contiene alcune preziose utility per controllare la frammentazione del filesystem e dei file.

Per verificare lo stato di frammentazione di un filesystem XFS lanciare il comando xfs_db e verificare il valore fragmentation factor:

# xfs_db -c frag -r mount_point
actual 288787, ideal 286616, fragmentation factor 0,75%

Nel mio caso il valore è molto basso, non è quindi necessario riorganizzare il filesystem.

E’ possibile controllare la frammentazione anche solo di singoli file, tramite il comando xfs_db:

# xfs_bmap -v nome_file_frammentato
nome_file_frammentato:
 EXT: FILE-OFFSET          BLOCK-RANGE          AG AG-OFFSET                 TOTAL
   0: [0..524159]:         499404728..499928887  1 (134240184..134764343)   524160
   1: [524160..2097023]:   504064368..505637231  1 (138899824..140472687)  1572864
   2: [2097024..27320671]: 542998144..568221791  1 (177833600..203057247) 25223648

In questo caso nome_file_frammentato ha 3 frammenti (extents).

Nel caso in cui invece il fragmentation factor sia consistente, io considero consistenti valori >= 20%, per deframmentare un filesystem XFS lanciare il comando:

# xfs_fsr -v -t 600 mount_point

oppure per deframmentare un singolo file:

# xfs_fsr -v nome_file_frammentato

 

Ubuntu e Debian: come far funzionare lo scanner Epson Perfection V37

SANE è uno dei progetti tra i più maturi nel mondo opensource e consente di utilizzare su Linux una quantità enorme di scanner costruiti da produttori differenti.
Alcuni scanner di recente produzione di Epson, tuttavia, non sono (ancora pienamente) supportati, come ad esempio il mio Perfection V37.
Epson, anche se non fornisce supporto per i suoi device se utilizzati sotto Linux, fornisce fortunatamente i driver per farli funzionari con le distribuzioni più diffuse: possono essere scaricati da http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX

Per usare lo scanner V37 sotto Ubuntu o Debian non dovremo fare altro che scaricare i pacchetti DEB core package, data package e iscan plugin package per l’architettura adatta, nel mio caso Debian7 su AMD64, ed installarli:

dpkg -i iscan_2.29.2-1~usb0.1.ltdl3_amd64.deb
dpkg -i iscan_2.29.2-1~usb0.1.ltdl7_amd64.deb
dpkg -i iscan-data_1.24.0-2_all.deb
dpkg -i iscan-plugin-perfection-v370_1.0.0-2_amd64.deb

Installati i driver, inserite il cavo USB nel computer e verificate che lo scanner venga correttamente riconosciuto:

sane-find-scanner
scanimage -L

questi comandi dovrebbero restituire qualcosa come “Found USB scanner (vendor=0x04b8 [EPSON], product=0x014a [EPSON Perfection V37/V370]) at libusb:001:002“: ora il vostro scanner è riconosciuto da Linux.
Buona scansione!

 

BIND 9: query DNS non funzionanti ed errore “named: error (no valid DS)”

Se anche a voi capita che il vostro DNS caching server basato di BIND non riesca più a risolvere gli indirizzi e nei log è presente un errore simile a:

Oct 26 18:37:10 squid named[1536]: error (no valid DS) resolving ‘www.google.com/A/IN’: 192.168.1.1#53

la causa è da ricercare nel fatto che l’upstream DNS non riesce a soddifare le richieste DNSSEC del nostro caching DNS: se potete, quindi, cambiate DNS upstream.
Per disattivare le query DNSSEC da BIND, è sufficiente rimuovere, o commentare, da named.conf l’opzione “dnssec-enable yes“.

 

Squid Proxy: come eliminare selettivamente gli oggetti in cache

E’ capitato a tutti di vedersi servire dalla cache di un server proxy, come ad esempio Squid, oggetti corrotti, incompleti oppure troppo vecchi.
E’ possibile eliminare dalla cache selettivamente questi oggetti indesiderati tramite l’utility squidclient, lanciata con il seguente comando:

squidclient -h <indirizzo server squid> -m PURGE <URL oggetto da eliminare>

Si tenga presente che non è possibile eliminare tutti i contenuti per un dato URL o sito, ogni oggetto va cancellato singolarmente.

Linux: come abilitare TRIM per ext4 sui dischi SSD

In Linux il supporto automatico al comando TRIM è stato introdotto dal kernel 2.6.33 per il filesystem ext4, tuttavia nella stragrande maggioranza dei casi non è attivo di default: prima di eseguire la procedura è quindi bene verificare di avere un kernel recente (anche un uname -a dovrebbe essere sufficiente).

Per attivare TRIM è necessario editare il file /etc/fstab per fare sì che al riavvio il filesystem venga montato con l’opzione discard:

/dev/sda2  /  ext4  noatime,discard  0 1

Rilasciata CentOS 6.3 (via DistroWatch.com)

Distribution Release: CentOS 6.3

Karanbir Singh has announced the release of CentOS 6.3, the latest version of the enterprise-class Linux distribution derived from the source code of Red Hat Enterprise Linux 6.3: “The CentOS team is pleased to announce the immediate availability of CentOS-6.3 for i386 and x86_64 Architectures. CentOS-6.3 is based on the upstream release EL 6.3 and includes packages from all variants. All upstream repositories have been combined into one, to make it easier for end users to work with. There are some important changes to this release compared with the previous versions of CentOS and we highly recommend reading this announcement along with the Release Notes. There is also a minimal install CD that will get you a very small base install that you can add to.” Read the release announcement and release notes for further information. Download the installation DVD images from mirrors: CentOS-6.3-i386-bin-DVD1.iso (3,541MB, SHA256, torrent), CentOS-6.3-x86_64-bin-DVD1.iso (4,091MB, SHA256, torrent).

Linux: come forzare il cambio della password al login per un utente

Per impostare il cambio della password al successivo login per un utente linux è possibile utilizzare il comando chage, utilizzato per modificare il numero di giorni tra un cambio password e l’altro: impostando il valore dei giorni a zero (0) si ottiene l’effetto desiderato.
Quando viene creato un utente su una linux box, è sempre buona cosa forzare il cambio password lasciando così modo all’utente di impostare la password di accesso che preferisce, ma soprattuto senza che root o chi per esso conosca la password dell’utente.

[email protected]:~# chage -d 0 nome_utente

Debian 6.0.4 + VMware Workstation 8: errori apt-get durante l’installazione di nuovi pacchetti

Dopo aver installato VMware Workstation 8 su una box Debian “squeeze” 6.0.4 64-bit, ho iniziato ad avere molti problemi ed errori durante l’installazione di nuovi pacchetti tramite apt-get.
Nella fase di attivazione degli init script appena installati da apt-get, infatti, compaiono a console centinaia di errori come questo:

insserv: Starting vmware-USBArbitrator depends on rmnologin and therefore on system facility `$all' which can not be true!
insserv: There is a loop at service rmnologin if started
insserv: Max recursions depth 99 reached

Il problema è causato, come intuibile, dal modulo “vmware-USBArbitrator“, posto in /etc/init.d, che è conforme alle direttive LSB per gli script di boot.
Per risolvere il problema è sufficiente editare lo script /etc/init.d/vmware-USBArbitrator ed aggiungere (all’inizio del file) le seguenti stringhe:

### BEGIN INIT INFO
# Provides:          vmware-USBArbitrator
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 5
# Default-Stop:      2 3 5
# Short-Description: Start daemon when vmware starts
# Description:       Enable service provided by daemon.
### END INIT INFO

Maggiori informazioni le potete trovare qui http://communities.vmware.com/thread/337769