Redirigere la chiamata a file non esistenti

Restando in tema di file .htaccess, condivido con voi qualche modifica che ho introdotto recentemente dopo aver dato uno sguardo al registro degli errori del mio hosting provider. Tra le righe presenti notavo che si tentava si accedere ripetutamente al file favicon.ico sia cercandolo nella directory radice del sito (dove non è presente) sia in altre posizioni, nonostante la chiamata al file favicon.ico era correttamente generata nell’HTML dal tema in uso.

Per questo motivo ho aggiunto alcune righe in .htaccess, in modo da dirigere la ricerca del file in questione.

Leggi tutto “Redirigere la chiamata a file non esistenti”

Conoscere la data di creazione di un file in GNU/Linux

Scovare la data di creazione di un file in GNU/Linux non è proprio semplicissimo. Vediamo come si può fare.

Questo post non sarebbe mai nato se non fosse stato per Lorenzo, che si è trovato davanti alla necessità di risalire alla data di creazione di un file. E si è accorto che questo dato non è di immediata reperibilità. Vista l’importanza di quel suo post, mi sembra giusto darne ulteriore visibilità.
Leggi tutto “Conoscere la data di creazione di un file in GNU/Linux”

Bloccare nomi di dominio via file hosts

Come bloccare un nome di dominio usando il file hosts.

Una delle esigenze di cui si può aver bisogno nella nostra esperienza di navigatori sul Web è quella relativa al blocco di un nome di dominio o alla sua deviazione verso un altro. I motivi di ciò possono essere diversi, ma probabilmente il principale riguarderà la sicurezza.

Effettuare questa operazione non richiede particolari capacità e possiamo scegliere se bloccare tout-court un nome di dominio (per “nome di dominio” si intende un indirizzo web del tipo facebook.com) o deviarlo verso un altro (ad esempio, deviare la richiesta del dominio facebook.com verso google.it). Vediamo come si fa.

Noi sappiamo che il sistema, per accedere a un indirizzo Internet, interroga uno dei server (detti server DNS) equipaggiato con un database per la conversione del nome di dominio alfanumerico a indirizzo IP. Questi server, quindi, forniscono al sistema che lo richiede l’indirizzo IP del dominio che si vuole raggiungere. Ma prima di interrogare il server DNS il sistema guarderà in un file presente nel sistema operativo in uso per vedere se già lì è presente la regola per la conversione da indirizzo alfanumerico a indirizzo IP. Noi quindi interverremo in questo file per bloccare un determinato dominio.

Leggi tutto “Bloccare nomi di dominio via file hosts”

La voce di menu “Copia link pubblico” di Dropbox in KDE

Come aggiungere la voce “Copia link pubblico” di Dropbox nel menu contestuale di KDE.

Come si saprà, Dropbox e Nautilus dialogano bene e grazie a un plugin specifico si hanno diverse cosucce integrate, tra cui quella di poter fare clic destro su un file della cartella Public e di copiare in memoria il link pubblico, in modo da condividerlo con chi vogliamo. Comodo. La stessa funzionalità non esiste in KDE perché non esiste (finora) un plugin per Dolphin. Anzi, installarsi Dropbox su KDE usando il file .deb significa tirarsi dietro come dipendenza anche Nautilus che ovviamente non serve: per questo motivo ho installato questo sistema semplicemente decomprimendo il tarball nella home e mettendo in autostart il file dropboxd.

Partendo da quanto scritto nel forum di Dropbox, è possibile con due semplici passaggi aggiungere la funzionalità di copia dei link dei file pubblici presenti nella cartella Public di Dropbox. Si presume che abbiate già installato Dropbox, non importa se via file .deb o manualmente.

Il file /usr/bin/dropbox

Accertatevi di avere in /usr/bin il file dropbox perché contiene il comando puburl che ci servirà. Se non avete installato Dropbox via .deb, prelevate il .deb da qui e decomprimetelo con:

ar x nautilus-dropbox_VERSIONE_i386.deb

sostituendo VERSIONE con il numero reale. Il file si trova nell’archivio compresso data.tar.gz e precisamente in /usr/bin. Copiatelo quindi nella vostra directory /usr/bin.

Creazione della voce di menu

Aprite un terminale e incollate questo comando per creare un file .desktop:

kate ~/.kde/share/kde4/services/ServiceMenus/dboxpublic.desktop

Al suo interno incollate questo:

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/octet-stream
Actions=CopyPublicLink
Encoding=UTF-8
Version=0.1

[Desktop Action CopyPublicLink]
Name=Copy public link
Name[it]=Copia link pubblico
Icon=/home/UTENTE/.dropbox-dist/icons/hicolor/16x16/status/dropboxstatus-logo.png
Exec=dbus-send --type=method_call --dest=org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents string:`/usr/bin/dropbox puburl %f`

Prima di salvare, cambiate la parola UTENTE, evidenziata nella riga 12, con il vostro nome utente 1. Salvate e uscite.

Chiudete la sessione e riloggatevi. Al rientro, andate sulla cartella Public di Dropbox e troverete la voce di Menu “Copia link pubblico” con tanto di icona.

Note

  1. Questa è la riga che dice al sistema dove si trova l’icona da mettere accanto alla voce di menu.

Vrms sul mio laptop

Leggo sul blog di Lorenzo e posto il risultato di vrms sul mio laptop:

aldo@zen:~$ vrms
                Non-free packages installed on zen
icc-profiles              ICC color profiles for use with Scribus, Gimp, CinePai
linux-restricted-modules- Non-free Linux 2.6.28 modules helper script
linux-restricted-modules- Restricted Linux modules for server kernels
linux-server              Complete Linux kernel on Server Equipment.
nvidia-173-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-180-kernel-source  NVIDIA binary kernel module source
nvidia-180-libvdpau       Video Decode and Presentation API for Unix
nvidia-180-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-71-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-96-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-glx-180            NVIDIA binary Xorg driver
opera                     The Opera Web Browser
picasa                    Image management application from Google
skype                     Skype - Take a deep breath
sun-java6-bin             Sun Java(TM) Runtime Environment (JRE) 6 (architecture
sun-java6-jre             Sun Java(TM) Runtime Environment (JRE) 6 (architecture
sun-java6-plugin          The Java(TM) Plug-in, Java SE 6
tangerine-icon-theme      Tangerine Icon theme
unrar                     Unarchiver for .rar files (non-free version)
  Reason: Modifications problematic
                 Contrib packages installed on zen
gstreamer0.10-pitfdll     GStreamer plugin for using MS Windows binary codecs
msttcorefonts             transitional dummy package
nvidia-common             Find obsolete NVIDIA drivers
nvidia-settings           Tool of configuring the NVIDIA graphics driver
ttf-mscorefonts-installer Installer for Microsoft TrueType core fonts
  19 non-free packages, 0.9% of 2022 installed packages.
  5 contrib packages, 0.3% of 2022 installed packages.

Belkin F5D8055 Wireless USB Adapter e Ubuntu Jaunty

Belkin F5D8055Come succede spesso con questi aggeggi USB, anche la chiavetta USB F5D8055 data in bundle con il Router Belkin F5D8635 non funziona al primo colpo con Jaunty. Il driver è già incluso nel sistema, ma non funziona con questa chiavetta. Per farla andare, bisogna scaricare il nuovo driver dal sito della Ralink e installarlo.

Mi sono appuntato “alla meno peggio” le operazioni in un mio messaggio nel forum di Ubuntu Italia. Nonostante a prima vista sembrino tante e complicate, in realtà sono veramente facili da seguire. Tradotte in termini semplici è sufficiente cancellare (o rinominare) il file del vecchio driver, compilare il nuovo, installarlo, caricarlo e la chiavetta magicamente si accende e vi lancia in Rete.

Ora, io dico, cara Belkin, non è che ci vuole tanto a segnalare la procedura nel tuo sito, senza far impazzire i tuoi utenti a destra e a manca. :mad:

Nautilus: bug in Jaunty?

nautilusSin da quando ho aggiornato a Jaunty mi sono accorto di un comportamento strano di cui non riesco a trovare la causa e per questo mi appare come un bug. Niente di grave, solo un po’ di fastidio. Cerco di spiegarlo in poche parole.

Io sono un fanatico della home come desktop e dell’utilizzo delle cartelle in modalità spaziale. In queste due condizioni, che uso praticamente da sempre, Nautilus non sposta un elemento da una cartella, che sta sulla home, alla home (che ora fa da desktop) ma ne fa una copia. Vale a dire, se voglio spostare un file da una sottocartella della home verso la home stessa, questo file viene copiato e non spostato, come ci si aspetterebbe.

Il 20 aprile di quest’anno segnalai il bug su Launchpad e, dopo una breve discussione, fu chiesto di segnalarlo su Gnome. Oggi ho approfittato di un attimo per farlo e l’ho segnalato anche su Bugzilla. Prima di farlo, però, ho messo sottosopra la mia home per tentare di capire chi potesse generare questo strano comportamento: ho pensato anche a una errata impostazione nel file ~/.config/user-dirs.dirs, ma non sembrerebbe essere lì. Non trovando nulla e con tutti i dubbi del caso, ho aperto la segnalazione anche su Gnome.

Sarebbe davvero gradito se qualcuno volesse provare a riprodurre i pochissimi passi e farmi sapere cosa ottiene.

Condizioni per riprodurre il comportamento

Poche e semplici le condizioni per farlo. Potete provarlo su una macchina virtuale o su un altro PC oppure createvi un utente provvisorio. Ecco comunque i passi:

  1. Aprite gconf-editor e andate su Apps > Nautilus > Preferences e mettete il segno di spunta su desktop_is_home_dir (condizione n. 1).
  2. Aprite una cartella qualunque sulla scrivania e andate su Modifica > Preferenze e nella scheda Comportamento disabilitate la voce “Aprire sempre in finestre di esplorazione” (condizione n. 2).
  3. Uscite dalla sessione e riloggatevi.
  4. Aprite una cartella contenente dei file e cercate di spostarne uno sulla scrivania (che ora è la vostra home).
  5. Il file dovrebbe essere spostato invece che copiato.

Grazie a chiunque voglia segnalarmi i risultati ottenuti.

Note
Update. Un aggiornamento che io credo sia in qualche modo collegato a questo “bug”. Un’altra funzione che uso è quella del colorare lo sfondo di alcune cartelle. Mi sono accorto che, volendo cambiare il colore di una nuova cartella, non riesco a farlo più: il pattern o box colorato mi torna indietro. Se invece lo trascino sulla scrivania o su altri elementi, appare il “+” (ed in effetti se lo trascino sulla scrivania, questa si colora). Ho provato su un account di test e lo faccio come sempre. Idee dopo questo update?

Ubuntu Pure Remix 9.04

Ricevo e pubblico con molto piacere il rilascio di un remix della nostra Ubuntu realizzato da un giovanissimo italiano appassionato di Software Libero e grafica: Andrea “The Lazza” Lazzarotto. Quello che Andrea ha fatto è una ripacchettizzazione della distro Ubuntu, cui ha aggiunto tante altre applicazioni che alla fine vengono installate o quantomeno provate: la ISO da scaricare pesa infatti 1.4 giga, contro i 700 mega di quella ufficiale.

Quello che si ha in mano è una vera e propria Ubuntu, cui Lazza ha aggiunto alcuni repository extra e qualche applicazione in più (un bel po’, devo dire): per il resto il sistema installato segue il normale processo di manutenzione. Come lui stesso scrive:

si tratta semplicemente di Ubuntu 9.04 con diversi programmi aggiuntivi e varie opzioni preconfigurate. Una volta che l’avrai installato ti troverai semplicemente con Ubuntu come se l’avessi installato dal cd ufficiale, con la differenza che troverai tutto il software che ti serve per ogni evenienza. Avrai anche un look diverso di default. Tuttavia i pacchetti sono quelli di Ubuntu (a parte qualche repository esterno, specifico comunque per questa distribuzione), e gli aggiornamenti del sistema anche. Né più né meno.

Un paio di screenshot per vedere l’aspetto grafico di Ubuntu Pure Remix:

pure-remix-0

pure-remix-3

Maggiori dettagli sul post dell’autore. Bravo Andrea! ;)

Cambiare i permessi a file e directory ricorsivamente

Abbiamo mille file e cento cartelle cui dobbiamo cambiare i permessi? Ecco come farlo senza difficoltà col terminale.

Con l’operazione effettuata ieri, ho guadagnato un sacco di spazio dove poter mettere una serie complessa (ma rigorosamente ordinata) di directory e file. Questa serie l’ho prelevata da un vecchio backup su un disco fisso esterno e tutti i permessi erano in 777. Di ripristinare da GUI i permessi corretti non se ne parlava proprio (sono diventato molto pigro, ultimamente…) per cui mi sono cercato il modo per farlo da terminale.

I permessi dovevano essere 755 per le directory e 644 per i file. Il comando

chmod 755 -R *

non fa distinzione tra file e directory e cambia indistintamente i permessi a ogni cosa; neanche la sintassi

chmod 644 -R *.txt

ci aiuta perché si ferma solo alla directory dove viene eseguito. Probabilmente con una pipe si potrebbe fare, ma non ho approfondito 1.

Il comando che mi ha aiutato in una frazione di secondo è find (da GUI avrei impiegato qualche ora). Nelle pagine di manuale addirittura è riportato espressamente il comando che serve in questo caso:

find . -type f -exec file '{}' ';'

che nel mio caso diventa

find . -type f -exec chmod 644 '{}' ';'

Vediamo di capire cosa stiamo dicendo al sistema:

trovami (find) in questa directory (.) 2 tutti gli oggetti di tipo file (-type f) quindi esegui il comando (-exec) chmod 644 a ciò che hai trovato ('{}' ';') 3.

Per le directory il comando cambia in questo modo:

find . -type d -exec chmod 755 '{}' ';'

Io rimango sempre meravigliato della potenza del terminale, non so voi…

Note

  1. Magari Shaytan di Linux e dintorni ci saprebbe dire di più
  2. E find va anche nelle sottodirectory.
  3. Da notare le virgolette singole che forzano il sistema a non interpretare quei simboli come punteggiatura. Il punto e virgola finale chiude gli argomenti per il comando eseguito (MARKDOWN_HASH417e248f80c35ca0d471575a5fb951f5MARKDOWN_HASH). Si potrebbe usare al posto delle virgolette anche il backslash, per cui il comando verrebbe:
    find . -type f -exec chmod 644 \{\} \;
    Come mi aspettavo, alcuni lettori del blog hanno inviato nei commenti altri metodi per fare la stessa cosa. Li riporto qui e li ringrazio per il prezioso contributo:

    • fazen suggerisce:
      find . -type f -print0 | xargs -0 chmod 644
      find . -type d -print0 | xargs -0 chmod 755
    • CDF suggerisce:
      chmod -R a=rw,go=r,+X .