Visualizzazione post con etichetta Linux. Mostra tutti i post
Visualizzazione post con etichetta Linux. Mostra tutti i post

14 agosto 2011

Ma veramente!? - Cronaca del crtime su sistemi Linux

Ok, non scrivo da un bel po' su questo blog, ma questa cosa vorrei condividerla.

LA PREMESSA
Non voglio dire di essere un grande esperto, ma ho comunque anni e anni di esperienza su sistemi Linux che rendono la questione ancora più interessante...e questo ha contribuito ancora di più a farmi sentire un pirla nella "scoperta" che ho fatto :)

IL FATTO
A lavoro per diverse ragioni dovevo risalire alla data di creazione di un file.
Bene, così per abitudine:

$ ls -l

mmh no vero, non c'è.

$ man ls

mmmh niente di utile.

$ stat

mmh Access, Modify e Change, ma niente Create o Creation.

$ man stat

[...]
%x Time of last access

%X Time of last access as seconds since Epoch

%y Time of last modification

%Y Time of last modification as seconds since Epoch

%z Time of last change

%Z Time of last change as seconds since Epoch
[..]
mmh niente da fare. Iniziano i primi FORTI dubbi. Al che per togliersene un bel po'

$ man 2 fstat

[..]
struct stat {
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device ID (if special file) */
off_t st_size; /* total size, in bytes */
blksize_t st_blksize; /* blocksize for file system I/O */
blkcnt_t st_blocks; /* number of 512B blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */
};
[..]
ma...ma...NON C'È!

LA "SCOPERTA"
Finalmente è stato introdotto con l'arrivo di ext4.
In aggiunta ai campi tradizionali (access,modification,change) sono stati aggiunti il crtime(creation) e dtime(deletion) legati all'inode.
Al momento sembra mancare negli strumenti tradizionali (stat, find, ls) la possibilità di ottenere informazioni dal filesystem ext4 maggiori rispetto a quanto possibile per ext2 o ext3.
Per ottenere queste informazioni:

# debugfs -R 'stat /percorso/file' /dev/sda1

dove /dev/sda1 è il dispositivo su cui è montato il filesystem dove risiede il file di cui vogliamo vedere queste informazioni.

Inode: 524360 Type: regular Mode: 0644 Flags: 0x80000
Generation: 1374299388 Version: 0x00000000:00000001
User: 0 Group: 0 Size: 515
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 8
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x4d62a41b:29f0e708 -- Mon Feb 21 18:42:51 2011
atime: 0x4e44d538:d129cbbc -- Fri Aug 12 09:24:40 2011
mtime: 0x4d62a41b:1d8b1d3c -- Mon Feb 21 18:42:51 2011
crtime: 0x4d62a41b:1d8b1d3c -- Mon Feb 21 18:42:51 2011
Size of extra inode fields: 28
EXTENTS:
(0):2167296

CONCLUSIONI
Le conclusioni in questa storia sono:
  1. non si finisce mai di imparare...;
  2. è terribile quando sei straconvinto di una cosa per anni e accorgersi che era completamente sbagliata;
  3. La maggior parte di chi legge aveva la mia stessa convinzione ma non lo dirà mai, anzi dirà che lo sapeva perfettamente;
  4. Non so che gli costava aggiungere questo campo anche prima.

Ogni altra aggiunta e spiegazione su questo fatto sono ben voluti.

23 gennaio 2011

bash tip: impostare redirezione output dall'interno di uno script

Piccola ma utile tip.
Se si ha per qualche motivo la necessità di impostare la redirezione dell'output di uno script (stdout e/o stderr) senza utilizzare gli operatori per la redirezione (come ben descritto per esempio sul sito dell'ILDP) dall'interno dello script o direttamente dalla linea di comando, ecco una possibile soluzione:


#!/bin/sh

exec > prova.log 2 > &1

echo "queste due linee stampate"
echo "andranno in prova.log"

19 giugno 2010

GoogleCL: Google Command Line Tool

GoogleCL è uno strumento creato da Google per interagire con alcuni dei suoi servizi direttamente dalla linea di comando.

Se si vuole aggiungere un contatto, un evento, un articolo sul blog Blogger (cosa che sto provando proprio per questo articolo), sarà possibile farlo quindi con un comando specifico. Questo articolo ad esempio, dopo aver creato il file post.html con il contenuto, è stato pubblicato con il comando:

google blogger post --tags "GoogleCL, terminale, linea di comando, Linux, Google" --title "GoogleCL: Google Command Line Tool" post.html
L'applicazione è scritta in python ed è già pronto un .deb, oltre ai sorgenti, sulla pagina del progetto.

28 gennaio 2010

Ubuntu Developer Week, 25-29 Gennaio 2010

Torna l'Ubuntu Developer Week, una serie di sessioni online, canale #ubuntu-classroom sul server irc.freenode.net, dove vengono trattati gli argomenti inerenti lo sviluppo di Ubuntu che vanno dalla scoperta del funzionamento e dell'organizzazione dello sviluppo stesso (le procedure, i team, la Comunità di sviluppo, etc...) alle tecniche di pacchettizzazione (dove tra l'altro non poteva che prendere parte il nostro "maestro della pacchettizzazione del mondo" DktrKranz :) ).

Come al solito la timetable è disponibile in iCal oppure direttamente nella pagina principale che contiene tutte le altre informazioni e il link ai log delle sessioni svolte.

24 gennaio 2010

Corbet: "75% del codice Linux scritto da sviluppatori pagati"

Il titolo dell'articolo è una delle frasi che uno dei fondatori di LWN.net e kernel contributor Jonathan Corbet ha pronunciato durante una presentazione al Linux.conf.au 2010 tenutosi a Wellington (Nuova Zelanda) dopo aver effettuato un'analisi del codice scritto per il kernel Linux nell'arco di tempo compreso tra Dicembre 2008 e Gennaio 2010. Il periodo analizzato è quello che ha visto l'"evoluzione" del kernel dalla versione 2.6.28 alla 2.6.32, con 2.8 milioni di linee di codice scritte e migliaia di cambiamenti.



L'articolo completo in inglese fornisce altri dati interessanti sull'argomento.

31 ottobre 2009

Linux Day 2009

È passata esattamente una settimana dall'ultimo Linux Day, evento organizzato dai LUG in 123 città italiane.
Per alcune di queste abbiamo ricevuto l'invito degli organizzatori.
Io ho avuto il piacere di partecipare al Linux Day organizzato a Pescara, dove ho avuto il piacere di incontrare i ragazzi del PescaraLug, e con loro mi sono veramente divertito. Il talk che abbiamo presentato è intitolato "Facciamo Ubuntu", le cui slide sono consultabili su slideshare.net, che spiega brevemente Ubuntu, come è nato, alcuni dettagli come i cicli di rilascio, per poi parlare degli strumenti essenziali allo sviluppo, alla traduzione e alle altre attività connesse al "fare" Ubuntu.
Spiega inoltre come è nata la comunità italiana di Ubuntu, chi l'ha creata e chi vi partecipa, e spiega inoltre chi può partecipare e come può farlo.

Alcune foto prese direttamente dal sito del PescaraLug:

Il mio talk:



L'aula in cui si è svolto l'evento:

30 ottobre 2009

23 ottobre 2009

Linux Day 2009

Manca un giorno ormai al Linux Day, partecipa nella città più vicina a te, su 122 città che organizzano l'evento!
Io sarò al Linux Day di Pescara per presentare un talk su Ubuntu e la comunità Italiana di Ubuntu.




P.S.: Un grazie a "Il Fatto Quotidiano" che a pagina 17 dell'edizione di oggi (23/10/2009) dedica un articolo all'evento di domani[1].

EDIT: anche Repubblica.it ha scritto un articolo, che mi è stato detto essere stato in home page nella giornata di ieri.


[1] http://forum.ubuntu-it.org/index.php/topic,328029.0.html

24 settembre 2009

GNOME 2.28: Made to share.

Nuova versione per GNOME, siamo alla 2.28.



Questa versione introduce alcune nuove caratteristiche alla solida base delle precedenti versioni, risoluzione di diversi bug e miglioramenti nelle prestazioni.

Alcune novità sono:
  • Il nuovo modulo GNOME bluetooth per la gestione e configurazione di centinaia di dispositivi bluetooth supportati. Integrato anche con PulseAudio;
  • L'applet Time Tracker per tracciare i propri impegni e il proprio tempo, è caratterizzato da diversi miglioramenti;
  • Diversi miglioramenti anche per Empathy: la gestione della lista dei contatti, la finestra della conversazione, supporto fullscreen per le conversazioni audio/video, etc...;
  • Miglioramenti anche per il Media Player totem, per quanto riguarda la gestione dei DVD e la velocità del plugin per YouTube;
  • Possibilità in evince di annotare ed evidenziare nei file PDF, e di salvare il tutto;
  • Altri cambiamenti per cheese, il controller audio, tomboy, brasero, e altri cambiamenti.

Per la lista completa, alcuni screenshot e per tutte le altre informazioni sono disponibili le note di rilascio.

06 luglio 2009

esempi bash: zenity radiolist e rhythmbox-client


Gli script in bash vanno ben oltre l'idea di semplici sequenze di comandi eseguiti l'uno dopo l'altro.
Si può persino avere GUI, interfacciarsi con altri programmi, mostrare notifiche, barre di scorrimento, finestre di dialogo.
Questo è un esempio di un semplicissimo player che utilizza zenity e rhythmbox-client per controllare un'instanza di rhythmbox.


#!/bin/bash
# Copyright (C) 2009 Lorenzo Sfarra

# Rhythmobx is running?
RHYTHMBOXPID="`pidof rhythmbox`"
if [ "x$RHYTHMBOXPID" == "x" ]; then
# Launch rhythmbox...
rhythmbox &
else
echo "Found a rhythmbox instance with PID: $RHYTHMBOXPID";
fi

RHYTHMBOX="rhythmbox-client --no-start"

# ACTIONS AND INFOS
commands=( Pause Play Next Previous Info Details Close )
actionslist=""
command="zenity --title Player --list --radiolist --column=* --column=Action "

# Add the commands to the list
for act in ${commands[@]}
do
actionslist="$actionslist $act $act"
done
command="$command $actionslist --height 300"


# Infinite loop
while [ 1 ]; do
action="`$command`"
case "$action" in
Pause)
$RHYTHMBOX --pause
;;
Play)
$RHYTHMBOX --play
;;
Next)
$RHYTHMBOX --next
;;
Previous)
$RHYTHMBOX --previous
;;
Info)
# Display track name and track artist
playing="`$RHYTHMBOX --print-playing`"
zenity --info --title "Now playing..." --text "$playing"
;;
Details)
# A detailed list of info about the currently played song
playing="`$RHYTHMBOX --print-playing-format "%tt (%td) from %at (%ay, %ag) by %ta"`"
zenity --info --title "Details about the current track" --text "$playing"
;;
Close)
$RHYTHMBOX --quit
break;
;;
*)
break;
;;
esac
done

#vim: ai ts=2 sw=2 et sts=2


Per vedere il codice formattato e con l'highlight della sintassi, clicca qui.

22 giugno 2009

5 utility e comandi che potresti non conoscere, numero 2

Elencherò alcune utility e comandi più o meno particolari, sarebbe interessante vedere (magari anche scrivendolo nei commenti) chi li conosceva tutti, e se la risposta fosse negativa, quali di questi non conosceva.

  1. iotop: "porting" del comando top per controllare l'uso dell' I/O;
  2. sudo !!: ripetere il comando dato in precedenza, che non era andato a buon fine per mancanza di permessi;
  3. !i: esegui l'ultimo comando che hai usato che comincia con la 'i';
  4. $ </var/log/messages grep foo:mettere il file all'inizio del comando in modo da facilitare la modifica della/e stringa/he da cercare;
  5. STRING="qualcosa";NAIL="cos";echo $STRING | grep -qi $NAIL && echo "Yes, I found it." || echo "no way, there isn't.": controllare se una stringa è all'interno di un'altra (su idea di Andrea Olivato).

10 giugno 2009

15 utility e comandi che potresti non conoscere

Elencherò alcune utility e comandi più o meno particolari, sarebbe interessante vedere (magari anche scrivendolo nei commenti) chi li conosceva tutti, e se la risposta fosse negativa, quali di questi non conosceva.
Cominciamo:
  1. highlight: trasforma il codice sorgente in formato HTML, XHTML, RTF, LaTeX, TeX o XSL-FO evidenziando la sintassi. Supporta oltre 80 linguaggi di programmazione;
  2. trickle: semplice programma per limitare il consumo di banda dei programmi, in userspace;
  3. cpulimit: programma per limitare l'uso della CPU da parte di un processo, espresso in percentuale;
  4. chage: cambia il numero di giorni in cui la password di un utente scade, o la data in cui è stata cambiata l'ultima volta;
  5. mytop: "porting" del comando top, per MySQL;
  6. tload: rappresentazione grafica, nel terminale, del load average del sistema;
  7. sudo fuser -vn tcp : quale processo usa quella porta con protocollo TCP;
  8. sudo nmap -sP 192.168.1.0/24: tutti gli ip di una LAN (specificata dalla classe di indirizzi) attivi;
  9. espeak: l'unica tua possibilità di sentirti dire che sei bello e intelligente: espeak -v it "sei bello e intelligente"!
  10. sloccount: programma per contare le righe di codice;
  11. iptraf: monitorare la LAN graficamente (ncurses), con varie statistiche possibili;
  12. pv: strumento per monitorare il "traffico" dei dati attraverso una pipeline: può essere inserito in qualunque pipeline tra due processi per una indicazione visuale della velocità del trasferimento, tracciare quanto manca alla fine, etc...;
  13. xclip: interfaccia da linea di comando per selezionare testo (e non solo) in X. Al momento soffre purtroppo di un bug;
  14. e2fsck -ccfv: check del disco che utilizza badblocks che trova e ripara (o marca) settori danneggiati;
  15. export HISTIGNORE="comando*"; comando -opzioni dati; export HISTIGNORE="";: non scrivere il comando nella history (utile per comandi che usano dati sensibili).
Potrebbe diventare un appuntamento settimanale o mensile, con altri comandi :)

31 maggio 2009

Asus + Windows, campagna anti-linux per netbook


Poco dopo l'annuncio di Dell che in sostanza ha introdotto una nuova policy per la quale, per i nuovi modelli di netbook, sarà possibile scegliere tra Linux (Ubuntu 8.04) e Windows Xp preinstallati, Asus sembra avviarsi in direzione differente.
Proprio Asus, che originariamente aveva un rapporto netbook-linux piuttosto forte.
Dopo un periodo di collaborazione con Microsoft, il matrimonio sembra ormai ben avviato, tanto da produrre una campagna anti Linux: It's Better With Windows.
Complimenti per il video, davvero ben fatto, che ha rischiato davvero di convincermi!!Inserisci link

14 maggio 2009

Nuova policy Dell sui Netbook

Contro la tendenza degli ultimi tempi, secondo la quale Windows stava prendendo sempre più piede nel campo dei netbook a discapito dei sistemi operativi concorrenti, Dell ha annunciato una nuova policy per quanto riguarda i nuovi modelli, Dell Mini 10v.
Questi modelli saranno infatti disponibili sia con Linux (Ubuntu 8.04) che con Windows (XP) simultaneamente, ed è una novità in quanto Dell ha sempre rilasciato i dispositivi dapprima con Windows e poi fatti seguire dai modelli con Linux; la Dell stessa ha annunciato che non si tratta di un caso circoscritto al modello in questione, ma che si ripeterà anche per tutti i modelli futuri.

A parità di prezzo starà all'utente scegliere a quale sistema operativo affidarsi!

04 maggio 2009

Linux supera l'1% nel market share

Secondo Market Share la quota di mercato di Linux è passata da 0,80% rilevata a Giugno 2008 a 1.02% rilevata ad Aprile e Maggio 2009.



È anche interessante notare che Windows perde sostanzialmente il 3% nello stesso periodo di tempo (passando a 87.90%), gran parte del quale è guadagnato da Mac che raggiunge il 9.73%.

Fonte: Market Share

02 aprile 2009

Piani per GNOME 3.0

Devo dire la verità.
Essendo un utente felice e convinto di GNOME, vedere tutto l'ambiente KDE in fermento per la serie 4.x in continua evoluzione mi faceva riflettere sullo stato attuale di GNOME stesso, di cui aspetto da tempo notizie ufficiali sugli obiettivi da raggiungere per GNOME 2.30 (= GNOME 3.0).
Finalmente qualcosa c'è, e consiglio la lettura a chi ha le stesse "curiosità": un piano per GNOME 3.0 preparato dal release team.

13 marzo 2009

Polizia francese risparmia milioni di euro passando ad Ubuntu

Sapevate che l'economia mondiale non sta passando un buon momento?
C'è chi, oltre a rispondere "sì" e a sperare in qualcosa di indefinito, cerca un'alternativa valida che permetta di fornire le stesse prestazioni con un budget ridotto.
È il caso della polizia francese che non ha effettuato l'upgrade delle proprie macchine da Windows XP a Vista, che oltre ai costi della licenza e ai pressoché nulli vantaggi avrebbe visto aggiungere quelli di un training per gli utenti (consigliato, pensate che sorpresa, dalla stessa Microsoft), ma ha deciso di passare ad Ubuntu: la migrazione sarà completa entro il 2015 (circa 90.000 macchine). Il risparmio finora si aggira intorno ai 50 milioni di euro, e le testimonianze dei diretti interessati sono assolutamente positive.
Si muoverà qualcosa anche dall'altre parte della Alpi?

10 marzo 2009

Analisi per passare a ext4

Ext4 è probabilmente destinato ad avere la stessa importanza e popolarità del suo predecessore.
Ad esempio Ubuntu 9.04 «Jaunty Jackalope» ha introdotto il supporto per ext4 anche se manterrà ancora ext3 come file system predefinito. Ci sono ovviamente dei vantaggi, svantaggi e una serie di passi che un amministratore di sistema Linux deve considerare per affrontare la migrazione a ext4. Ibm.com presenta un interessante articolo sull'argomento che ci spiega quando adottare questo file system, gli strumenti necessari e come sfruttarlo nel miglior modo possibile.

04 marzo 2009

Linux.com è ora della Linux Foundation

La Linux Foundation ha acquistato l'URL dalla SourceForge Inc. e ospiterà Linux.com sui suoi server. Jim Zemlin, direttore esecutivo della fondazione, ci mette al corrente che il nuovo Linux.com metterà in risalto la comunità, della quale verranno esaminati i vari input per lanciare il nuovo sito in pochi mesi (almeno in versione beta). Il sito includerà contenuti specifici per gli utenti business Linux e sarà una fonte per software, documentazione e risposte su Linux in vari campi quali server, desktop, mobile.
La mia opionione concorda con una frase dello stesso Zemlin: "The Linux Foundation is a natural home for Linux.com".