Archivio per il 'Tips & Tricks'Categoria

device usb: che filesystem?

Novembre 15, 2009

Molte volte mi sono chiesto quale filesystem usare per i device usb (intendo le chiavette di memoria o come cavolo si chiamano).

I vari filesystem hanno i loro pro e i loro contro. Proprio in questi giorni phoronix ne ha testato alcuni e i risultati si possono vedere qui.

Quindi mi sono deciso, usando principalmente macchine linux, di prendere la mia kingston da 8GB e metterla in ext4 (ovviamente senza journaling). Mi è stato d’aiuto questo post letto qualche tempo fa.

Prima ho creato la partizione con gparted (accidia portami via) e poi ho tolto il journaling con dumpe2fs. Ovviamente si può anche creare da zero con mkfs e le stesse opzioni per dumpe2fs (ma non ho provato). Infine ho dato un bel

chmod -R 777 /dev/sdc

Per i test finali lascio a voi. Io sono abbastanza soddisfatto.

Sensors, conky, awk e media

Ottobre 21, 2009

La mia ragazza ha un pc con dei sensori pazzeschi

k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:  +19.0°C
Core0 Temp:  +25.0°C
Core1 Temp:  +24.0°C
Core1 Temp:  +22.0°C

Già: ho disabilitato quelli che fanno arrabbiare ACPI (togliendo del tutto sensors dai DAEMONS in rc.conf). Ma come faccio a mostrare ora la temperatura della CPU su conky? Ma sono giusti quei valori?

Prima risposta: facciamo una media con awk dei Core0 e Core1

sensors|awk ‘/Core0/ {totale+=$3 n++}END {print totale/n}’

e

sensors|awk ‘/Core1/ {totale+=$3 n++}END {print totale/n}’

Seconda risposta: più o meno sì facendo la media. Basta convincersene con i valori di  it87 (prima di togliere sensors dai DAEMONS) e anche grazie ad una visitina al BIOS.

GNOME, XFCE e i CD audio

Ottobre 18, 2009

Non chiedetemi perché, quando, come.

Non so infatti il motivo, nemmeno da quando c’è il problema, ma le applicazioni GNOME non rilevavano i CD audio (sound-juicer, rhythmbox, brasero) mentre nessun problema con vlc, k3b, exaile. Gira e remena ho trovato (ma che fatica!).

Avendo XFCE ho dovuto sostituire, in .xinitrc, la seguente riga

exec ck-launch-session xfce4-session

con questa

exec ck-launch-session startxfce4

E ora funziona.

Qua è tutta una lista nera

Ottobre 15, 2009

Ultimamente ho più roba sulla lista nera che blue jeans (ah io non porto i blue jeans ne ho solo di neri). Intendo dire che in modprobe.d ho dovuto creare un file blacklist.conf per riuscire a capirmi in futuro. Non usando quindi il punto esclamativo su rc.conf o altri sistemi per evitare il caricamento dei moduli

Ecco il mio /etc/modprobe.d/blacklist.conf

# ipv6 non lo usa ancora nessuno
blacklist ipv6

# questo modulo ho scoperto, grazie a lspci -v, che controlla smbus ma con il kernel 2.6.31 leggo questo messaggio da dmesg:
# ACPI: I/O resource 0000:00:1f.3 [0x400-0x41f] conflicts with ACPI region SMRG [0x400-0x40f]
blacklist i2c-i801

# il kernel cerca un generatore di numeri casuali HW che non trova, non crea problemi ma visualizza solo un messaggio su dmesg fastidioso
# intel_rng: FWH not detected
blacklist intel_rng

# per cups 1.4 bisogna disabilitare questo modulo sennò le stampanti USB non vengono rilevate
# dmesg restituisce un messaggio tipo: usbfs: interface 0 claimed by usblp while ‘usb’ sets config #1
blacklist usblp

Sto sinceramente pensando di ricompilare un kernel per togliere questi moduli e compilare quelli basilari staticamente (così evito anche il ramdisk).

kernel 2.6.31.3: e sensors?

Ottobre 11, 2009

Io non ho avuto problemi perché sensors prende i valori da acpi (atk0110-acpi-0) e quindi non necessito di far partire il demone sensors.

Ma al pc della mia ragazza non comparivano più i valori dando il comando sensors dato che le serve il modulo it87. Per fortuna, prima di andare da lei, avevo visto questo post che è capitato a fagiolo. Così dopo l’aggiornamento, visto che conky non mostrava nulla riguardo temperature e velocità delle ventole, ho aggiunto questo parametro al boot su grub

acpi_enforce_resources=lax

Mi pare di aver capito che sia acpi che alcuni moduli entrino in conflitto se cercano di usare gli stessi sensori contemporaneamente e questa opzione al boot lascia fregarcene di eventuali problemi derivanti. Se un certo modulo ha sempre funzionato non vedo perché farsi pippe mentali.
Occhio perché potrebbe essere potenzialmente dannoso (grazie Bardo).

Un’altra soluzione sarebbe sbattersene a priori di acpi e inserire sulla riga del kernel questa opzione

acpi=off

ovviamente se non avete un portatile o comunque un pc dove ci tenete al risparmio energetico.

module-init-tools 3.8

Giugno 25, 2009

ha cambiato le regole per modprobe. Mi spiego meglio: il file modprobe.conf dovrà trovarsi nella directory /etc/modprobe.d e qualsiasi file si trovi in questa directory deve avere l’estensione .conf. Se non si agisce in questa maniera vengono mostrati dei warning durante il boot e niente altro (è solo un avviso per una versione futura di module-init-tools). Fonte

Dato che rinominare tutti i file a mano usando mv o altro (chi usa MC o simili non so, non ho mai usato questi file manager) è fastidioso quindi ho pensato di usare qualcosa di più intelligente. Per esempio rename ma poi mi sono ricordato che Arch Linux non fornisce la versione “alla debian” che permette di usare le regex quindi ho abbandonato l’idea. Non ne ho nemmeno voluto sapere di fare un ciclo for (anche se è la soluzione che molti adotteranno o hanno già adottato).

Ho quindi preso mmv presente in AUR. Dopo alcuni vani tentativi sono riuscito, grazie a Nss su #linux di azzurra, a rinominare solo quelli che necessitano dell’estensione .conf (chi la ha già è inutile che ne abbia due di .conf giusto?).

Per rinominare più volte invece di fare così

mmv “*.conf” “#1″ ; mmv “*” “#1.conf”

cioé prima tolgo a tutti l’estensione e poi metterla a tutti quanti basta dare mmv, poi sullo standard d’input dare *.conf #1.conf poi * #1.conf e infine ^D. Per visualizzare meglio quello che ho cercato di spiegare:

mmv
*.conf #1.conf
* #1.conf

Funziona così: fra quelle righe comanda la prima che dice che tutti quelli che hanno estensione .conf devono rimanere tali, poi passa alla seconda che dice di aggiungere .conf a tutti i file (tranne però quelli della prima regola). Insomma si comporta in cascata ma in maniera mutamente esclusiva rispetto alle regole precedenti (un po’ come le Leggi della Robotica di Asimov). Altre informazioni su man mmv e qualche esempio qui

A8SC-4P107C: risparmio energetico. Parte V

Maggio 24, 2009

Quanto scritto in questo post è il seguito di quanto nei seguenti:

Ora sto usando il kernel Linux 2.6.29. Quindi per versioni inferiori, per esempio, alcuni percorsi in /sys potrebbero essere diversi.

Risparmio energetico Hard Disk tramite File System ext4 (ext3)

Possiamo far risparmiare il nostro Hard Disk tramite alcune opzioni di ext4 (ext3):

  • esistono 3 modi per fare il journaling: data=writeback, data=ordered, data=journal. Quello meno sicuro è il primo ma ottiene meno accessi al disco. Il più sicuro è l’ultimo ma si hanno più accessi al disco. Il secondo invece è l’impostazione di default. Più informazioni si possono trovare qua. Se vogliamo riassumere: se avete una partizione sulla quale potete rischiare che un file appena modificato diventi corrotto, nel caso di un inaspettato riavvio, potete mettere pure data=writeback. Altrimenti è meglio lasciare tutto con i valori di default;
  • si può anche disattivare il journaling con l’opzione noload. Sembra essere stato provato che ext4 senza journaling sia più performante di ext2 (che è il File System che non ha il journaling). Quindi se avete una partizione sulla quale non vi interessa preservare il File System, cioé a seguito di una corruzione dovete riformattare tutto con perdita dei dati, potrebbe essere una buona idea mettere ext4 con opzione noload. Potrebbe andare bene, per esempio, per chi ha una partizione separata per /var/cache/pacman;
  • per avere meno accessi al disco si può usare l’opzione relatime (l’evoluzione di noatime che non fa arrabbiare Mutt). Si fa in modo che venga aggiornato lo atime (il tempo di ultimo accesso) solo se quello precedente è diverso da mtime (il tempo di modifica) o da ctime (il tempo di accesso). Maggiori informazioni si possono trovare qui. Questa opzione non dovrebbe aver nessuna controindicazione (gli amici di Ubuntu la usano di default dalla versione 8.04);
  • commit: fa il sync (cioé scrive veramente sul disco) tutti i dati e metadati ogni tot secondi. Di default è 5 ma se c’è qualche furbo che mette 0 sappia che commit prende lo stesso 5. Dico subito che questo non inficia il journaling ma potrebbe provocare sgradevoli sorprese. Faccio un esempio con il valore di default, cioé commit=5. Siete in treno e avete il portatile alimentato a batteria, per una ragione a noi sconosciuta Linux va in crash: al massimo perdete tutto quello che avete scritto, della vostra tesi di laurea, negli ultimi 5 secondi. Quindi se volete mettere una valore maggiore di commit, per aver meno accessi al disco, siete avvertiti. Sempre facendo riferimento all’esempio di prima: 10 secondi farebbero bestemmiare chiunque scriva abbastanza veloce alla tastiera.
  • barrier è un’opzione presente solo in ext4 e diminuisce le performance dato che forza, in un certo qual modo, il journaling. Si può disattivare, rischiando in certe occasioni una corruzione dei dati come spiegato in quell’articolo, con l’opzione nobarrier.

Risparmio energetico Hard Disk tramite tmpfs

Ancora con tmpfs? Hai rotto il “ci a 2 zeta o”.

Più o meno, voglio sfruttare tutto questo giga di ram che mi ritrovo. Visto e considerato che il nostro laptop non fa da server e dei log di sistema ci interessa fin la perché non montare /var/log su tmpfs? Appunto, quindi su fstab ho aggiunto questa riga.

none /var/log tmpfs mode=1755 0 0

Direi che è un buon compromesso fra disattivare del tutto i log e averli sempre scritti sul disco. Lo stesso si può fare anche con /var/run e /var/lock

none /var/run tmpfs mode=1755 0 0
none /var/lock tmpfs mode=1777 0 0

Se qualcuno se lo chiede mode imposta i permessi nella stessa logica numerica di chmod, ho visto i permessi delle directory e ho impostato tmpfs di conseguenza.
Risparmio energetico Hard Disk tramite swappiness

La swap è una partizione importante, dovrebbe esserci sempre nonostante i giga e giga di ram che abbiamo.  Però possiamo aiutare il kernel nel dirgli: ok c’è, ma usane proprio quando strettamente necessario. Questa cosa si cerca già di fare ma in un portatile è ancora più importante. Ho così letto questa spiegazione per esseri umani. Ho modificato /etc/sysctl.conf aggiungendoci la riga vm.swappiness = 30. In questo caso ho preferito non masturbare il kernel dicendogli nell’avere un valore di swappiness differente a seconda dell’alimentazione.

Risparmio energetico USB

Ho trovato interessante questa lettura. Spiega anche il famoso usbcore.autosuspend=1
che ci consiglia powertop
e che a me non interessa perché il delay mi va bene anche al valore di default cioé 2.

Di solito chi usa il portatile non ha device USB inseriti (anche se alcuni interni, come il bluetooth, sono sempre USB). Quindi perché dare tutta la corrente a tutte le porte? Appunto! Occhio prima di procedere con quanto indicato, non fatelo se non sapete quali dispositivi USB state disattivando sopratutto sul computer fisso: tastiera, mouse? Sennò non potete più accedere al sistema!

Per sospendere l’alimentazione a tutti (che è come fare l’autosuspend con delay 0)

echo suspend > /sys/class/usb_device/*/device/power/level

mentre per ritornare alla situazione di default

echo auto > /sys/class/usb_device/*/device/power/level

Comunque ho notato che se attacco un device o se riattivo il bluetooth il corrispondente livello ritorna, da solo, alla situazione di default. Almeno da quanto ho letto dalla documentazione per un device USB potrebbe essere normale (peccato che sul fisso, sospendendo tutto, né mouse ne tastiera volevano tornare alla situazione di prima).

Undervolting CPU

Dato che sto ancora provando, più o meno, vi consiglio di darvi una letta a questo topic presente nel forum di Arch Linux. Ho cercato di spiegare e scovare tutte le informazioni per configurare l’undervolting di una CPU Intel Dual Core (che io sappia non esiste una documentazione e bisogna poprio andare di google e forum ufficiale del progetto). Quindi aspettatevi, magari fra qualche mese o mai, una Parte VI per la gestione energetica dove illustrerò i valori minimi di Volt da dare in pasto al mio T7250.

E anythings.zsh?

Vero? Non vi ho ancora dato l’ultima versione del mio script omnicomprensivo che intercetta qualsiasi evento acpi per il semplice fatto che potete trovarlo qua (insieme ad rc.local…).

Firefox in Italiano

Maggio 13, 2009

Mettete la vostra distro preferita, tac installate Firefox: porco mondo è tutto Inglese.

Soluzione:

  • per avere Firefox in Italiano (cioé leggere i menù e le configurazioni grafiche nella nostra lingua) basta, di norma, installare un pacchetto a parte: firefox-i18n;
  • ma come? visito un sito multilingue e mi si mostra la versione inglese? No problem: about:config sulla barra degli indirizzi e modificare il valore di general.useragent.locale in it (funziona, non so come mai non serva it_IT…boh). Infine su Modifica, Preferenze, Contenuti, Scegli e da qui selezionare la nosta lingua;
  • per avere invece il controllo ortografico basta aggiungere il dizionario Italiano che non è altro che una estensione;
  • per la gestione dei motori di ricerca c’è un sito che ha una serie di estensioni per avere Wikpiedia in Italiano ecc ecc;

Infine ci sarebbe anche una estensione, Quick Locale Switcher, ma non mi ispira molta fiducia (devo avere una estensione in più appesantendo il browser?)

PS queste istruizioni vanno bene ovviamente anche per Iceweasel.

Pidgin: controllo ortografico

Maggio 9, 2009

Pidgin fornisce il controllo ortografico se si installa aspell e aspell-XX. XX sta per la “lingua”, se è l’italiano XX=it, quindi è da installare aspell-it.

Configurazione Kernel Linux…in Italiano!

Aprile 3, 2009

immagine

Vi siete sempre chiesti se c’era un sistema per configurare il Kernel Linux, con i vari strumenti, in Italiano ma non avete mai osato chiedere? La risposta è sì, sì può fare!fj_015

Grazie a questo link ora su AUR potete trovare un pacchetto bello che pronto. Spero solo di aver creato un PKGBUILD decente, sinceramente come nome non mi veniva in mente altro che linux-it.mo.

Ciao a tutti!