Nel momento in cui installate un sistema Linux questo vi installerà tantissimi moduli che non vi servono, questo viene fatto per far aderire il kernel al maggior numero di macchine possibili starà poi a voi se volete velocizzare il sistema andare a disattivare i moduli inutili.
mercoledì 13 ottobre 2010
Niente pensione per i precari
Ho trovato questa notizia su blogosfere è impressionante e dimostra che viviamo in un paese di ladri. La notizia è arrivata e conferma la peggiore delle ipotesi. Rimarrà sotto traccia per ovvi motivi, anche se in Rete possiamo farla circolare. Se siete precari sappiate che non riceverete la pensione.
martedì 12 ottobre 2010
Compilazione automatica kernel su Slackware
Siete abituati a compilare il kernel linux spesso perchè vi piace ottimizzare il sistema? Se è così continua a leggere.
sabato 9 ottobre 2010
Tenere i daemon sotto controllo
Il termine deriva dall'Inglese che siginifica demone, con questo nome vengono identificati i programmi in background che girano nel nostro sistema e lo rallentano vediamo come possiamo identificarli e se non servono spegnerli.
mercoledì 6 ottobre 2010
Come tenere le risorse di sistema sotto controllo
La riga di comando può spaventare, specialmente i neofiti di Linux ma con dei semplici comandi passati da shell si possono scoprire molte informazioni utili sul proprio sistema.
lunedì 4 ottobre 2010
Come costruire il vostro livecd su misura
Di solito le immagini ISO di ubuntu le troviamo già pronte con le applicazioni installate, magari anche cose che non ci servono, con ubuntu customization kit potrete costruirvi il vostro livecd su misura.
sabato 2 ottobre 2010
Come iniziare con FreeBSD 8.1
FreeBSD è un sistema Unix che ebbe gli albori agli inzi del 1993, a differenza di Linux che è composto da Kernel + sistema GNU FreeBSD è in tutto e per tutto un sistema operativo completo dotato di Kernel BSD.
Dual boot ubuntu FreeBSD con Grub2
Di recente ho reinstallato ubuntu sul sistema con la differenza dall'altra volta
vedi post del mbr non lilo ma grub, ci tengo a scriverlo perchè in rete non c'è tanta roba su questo argomento e molti dei tentativi fatti non sono andati a buon fine.
venerdì 1 ottobre 2010
Le 5 cose che Linux fa meglio di MAC
Il predominio schiacciante di Windows è imbarazzante quanto incomprensibile dato l'alto numero di problemi di sicurezza che ha e i prezzi che fioccano alle stelle, eppure è ancora il padrone del mercato ma...
1 Sicurezza
MAC può godere di una base più piccola rispetto a windows ma non per questo non è facilmente attaccabile da presunti hacker.
La prima questione riguarda i permessi che in linux non sono automatici, quindi non ti chiede sempicemente se sei tu l'amministratore premi continua ma ti chiede una passwd, ciò ha il vantaggio che il virus o malware non ha automaticamente la chiave di accesso quindi se in linux ti infetti non andrai mai ha intaccare file critici di sistema ma solo quelli dell'utente.
Con Apple e windows è drasticamente facile fare dell'hacking sociale, basta convincere l'utente a premere su qualcosa e il gioco è fatto.
Apple è anche noto per aver murato il proprio sistema in modo da proteggere l'utente, ma rendendo l'utente inconsapevole del funzionamento interno del sistema, con linux invece l'utente può vedere il codice e questo facilita la scoperta di eventuali vulnerabilità.
2 Personaliozzazione
Non capisco l'utente di apple che si accontente del sistema che la casa gli fornisce sono gli altri che gli dicono come usare il desktop, al contrario Linux è altamente personalizzabile e configurabile in ogni suo aspetto, vedi Gnome e kde, Fluxbox etc.
3 Hardware
Altra questione riguarda la flessibilità hardware, MAC OS X come windows oggigiorno girano su macchine di ultima generazione cosa che linux non fa; con linux gira anche il computer di 7/8 anni magari senza usare le applicazioni grafiche strafighe ma comunque si ha un sistema aggiornato che gira tranquillo contando che ci sono delle distro che girano su sistemi davvero obsoleti.
4 Affidabilità
Crash del sistema e tempi di inattività sono più o meno un fatto di vita quando sei un utente Mac, ma Linux offre un'esperienza completamente diversa. Molti utenti Linux , infatti, non hanno mai sperimentato interruzioni non pianificate . Nessuna meraviglia, quindi , Linux è così spesso il sistema operativo di scelta server. Quale azienda può permettersi downtime inutile in questi giorni?
5 Prezzo
Qui bastano poche righe Linux è gratis e MAC?
Chi vuole controbattere se queste cose non sono vere può sempre farlo a mio parere le cose stanno così.
Nessun sistema operativo è perfetto , naturalmente. Ma Linux ha tanti vantaggi rispetto ai suoi concorrenti desktop che qualsiasi impresa sarebbe un errore non dargli una possibilità.
1 Sicurezza
MAC può godere di una base più piccola rispetto a windows ma non per questo non è facilmente attaccabile da presunti hacker.
La prima questione riguarda i permessi che in linux non sono automatici, quindi non ti chiede sempicemente se sei tu l'amministratore premi continua ma ti chiede una passwd, ciò ha il vantaggio che il virus o malware non ha automaticamente la chiave di accesso quindi se in linux ti infetti non andrai mai ha intaccare file critici di sistema ma solo quelli dell'utente.
Con Apple e windows è drasticamente facile fare dell'hacking sociale, basta convincere l'utente a premere su qualcosa e il gioco è fatto.
Apple è anche noto per aver murato il proprio sistema in modo da proteggere l'utente, ma rendendo l'utente inconsapevole del funzionamento interno del sistema, con linux invece l'utente può vedere il codice e questo facilita la scoperta di eventuali vulnerabilità.
2 Personaliozzazione
Non capisco l'utente di apple che si accontente del sistema che la casa gli fornisce sono gli altri che gli dicono come usare il desktop, al contrario Linux è altamente personalizzabile e configurabile in ogni suo aspetto, vedi Gnome e kde, Fluxbox etc.
3 Hardware
Altra questione riguarda la flessibilità hardware, MAC OS X come windows oggigiorno girano su macchine di ultima generazione cosa che linux non fa; con linux gira anche il computer di 7/8 anni magari senza usare le applicazioni grafiche strafighe ma comunque si ha un sistema aggiornato che gira tranquillo contando che ci sono delle distro che girano su sistemi davvero obsoleti.
4 Affidabilità
Crash del sistema e tempi di inattività sono più o meno un fatto di vita quando sei un utente Mac, ma Linux offre un'esperienza completamente diversa. Molti utenti Linux , infatti, non hanno mai sperimentato interruzioni non pianificate . Nessuna meraviglia, quindi , Linux è così spesso il sistema operativo di scelta server. Quale azienda può permettersi downtime inutile in questi giorni?
5 Prezzo
Qui bastano poche righe Linux è gratis e MAC?
Chi vuole controbattere se queste cose non sono vere può sempre farlo a mio parere le cose stanno così.
Nessun sistema operativo è perfetto , naturalmente. Ma Linux ha tanti vantaggi rispetto ai suoi concorrenti desktop che qualsiasi impresa sarebbe un errore non dargli una possibilità.
configurazione rete wireless su Linux con ip statici
Oggi spiego un modo molto semplice e veloce per configurare la rete wireless su linux, per un neofita potrebbe sembrare ostico ma con una buona guida si può fare.
giovedì 30 settembre 2010
Linux è destinato a dominare il mercato
Quest’anno le vendite degli smartphone con Android dopo una crescita rapida e costante hanno persino superato le vendite degli iPhone e si pensa che entro il 2015 arriveranno a prendersi il 33% del mercato.
Nel 2009 sono stati venduti più di 10 milioni di netbook con Linux con percentuali complessive che continuano a salire. Abi Research ha calcolato che quest’anno verranno venduti circa 4 milioni di tablet, ma questo numero decuplicherà entro il 2015. Al momento la maggior parte delle vendite sono dovute all’iPad, ma ci sono tantissimi tablet ormai dietro l’angolo che avranno prezzi più bassi e prestazioni migliori grazie a Linux.
MeeGO cercherà presto di sfondare in tutti i segmenti, ma già sappiamo che sarà, per esempio, il motore alla base dei sistemi In-Vehicle Infotainment (IVI) di BMW e General Motors. Al momento il compito di spingere Linux è ancora fondamentalmente di Android, che presto sbarcherà anche nelle TV, ma pensate quando entrambi inizieranno a macinare quote di mercato.
Linux è ormai destinato a comandare nel mercato globale. Solo 3 anni fa, quando uscì il primo netbook con Linux sembrava qualcosa di illogico ed assurdo, ma oggi vediamo che quella scommessa è stata vinta. Linux continuerà a crescere più velocemente di altri per motivi molto semplici: consente ai produttori di abbattere i costi, personalizzare a piacimento i prodotti ed incrementa le prestazioni.
La visione di dieci anni fa era corretta solo nella sostanza, ma non nella forma. La supremazia nel mercato arriverà proprio attraverso tutti questi nuovi device sempre connessi, ma che sono normalmente in mano alle persone meno sanno cosa sia Linux.
oss|blog.it
Nel 2009 sono stati venduti più di 10 milioni di netbook con Linux con percentuali complessive che continuano a salire. Abi Research ha calcolato che quest’anno verranno venduti circa 4 milioni di tablet, ma questo numero decuplicherà entro il 2015. Al momento la maggior parte delle vendite sono dovute all’iPad, ma ci sono tantissimi tablet ormai dietro l’angolo che avranno prezzi più bassi e prestazioni migliori grazie a Linux.
MeeGO cercherà presto di sfondare in tutti i segmenti, ma già sappiamo che sarà, per esempio, il motore alla base dei sistemi In-Vehicle Infotainment (IVI) di BMW e General Motors. Al momento il compito di spingere Linux è ancora fondamentalmente di Android, che presto sbarcherà anche nelle TV, ma pensate quando entrambi inizieranno a macinare quote di mercato.
Linux è ormai destinato a comandare nel mercato globale. Solo 3 anni fa, quando uscì il primo netbook con Linux sembrava qualcosa di illogico ed assurdo, ma oggi vediamo che quella scommessa è stata vinta. Linux continuerà a crescere più velocemente di altri per motivi molto semplici: consente ai produttori di abbattere i costi, personalizzare a piacimento i prodotti ed incrementa le prestazioni.
La visione di dieci anni fa era corretta solo nella sostanza, ma non nella forma. La supremazia nel mercato arriverà proprio attraverso tutti questi nuovi device sempre connessi, ma che sono normalmente in mano alle persone meno sanno cosa sia Linux.
oss|blog.it
lunedì 27 settembre 2010
Linux da zero
Avete mai pensato a installare un sistema gnu/linux tutto vostro? Che rispondesse alle vostre esigenze e che non si appoggiasse ad altri sistemi operativi, ora potete farlo.
Linux From Scratch letteralmente Linux da zero o per abbreviare lfs, è un libro scritto da Gerard Beekmans, Matthew Burgess ed altri, su come costruire una distribuzione Linux partendo da codice sorgente. Linux From Scratch consiste in un modo per installare un sistema Linux funzionante attraverso la costruzione manuale e configurazione di tutti i suoi componenti. Tale processo è molto più laborioso rispetto all'installazione di una distribuzione pre-costruita. L'idea di base è che installare i singoli pacchetti uno per uno porterà ad una comprensione dei meccanismi interni di un sistema Linux funzionante. Inoltre, ovviamente, compilare tutto il software specificamente per la piattaforma ed architettura su cui verrà eseguito tende a far risultare i programmi più leggeri e veloci. Infine, è più facile personalizzare i pacchetti installati quando ognuno di essi è stato installato manualmente - "La tua distro, le tue regole".
Parlo di questa distro perchè a mio avviso è molto utile per tutti quelli che vogliono capire i meccanismi che stanno dietro a un sistema Linux, il procedimento è lungo e laborioso anche perchè si parte da un live cd con alcune applicazioni per poi, seguendo i due libri uno per la parte iniziale lfs book e l'altro per la parte che riguarda l'interfaccia grafica blfs book
ricompilando tutto si arriva alla fine a avere il vostro sistema perfettamente funzionante.
Linux Kernel Hackers
I sistemi GNU/Linux sono noti per essere più sicuri di altri, eppure non sono esenti da problemi e bug.
Un difetto del Kernel Linux scoperto all'inizio di questo mese, non solo dà la possibilità ad hacker di entrare in un sistema linux come root, ma è possibile mantenere una "back door" aperta per sfruttarla poi in un secondo momento.
CVE-2010-3081 nota come vulnerabilità di alto profilo colpisce tutti gli utenti a 64-bit ( che sfiga, io sono uno di quelli a rischio ),la distribuzioni più colpite sono:
ubuntu, centOS, debian, suse e altre ancora.
In sostanza la vulnerabilità deriva da un problema del Kernel di linux a convalidare gli intervalli di memoria quando l'allocazione di memoria per conto di chiamate su siatemi a 32-bit. Il risultato è che in un sistema a 64-bit un malintenzionato potrebbe eseguire un multicast dannoso e ottenere i privilegi di root, la vulnerabilità non è un problema sui sistem a 32-bit che ne sono immuni.
Niente paura il Kernel è già stato patchato con dei fix, e le maggiori disto Linux tra cui debian, ubuntu, red hat, centOS hanno provveduto a correggere il bug.
Un difetto del Kernel Linux scoperto all'inizio di questo mese, non solo dà la possibilità ad hacker di entrare in un sistema linux come root, ma è possibile mantenere una "back door" aperta per sfruttarla poi in un secondo momento.
CVE-2010-3081 nota come vulnerabilità di alto profilo colpisce tutti gli utenti a 64-bit ( che sfiga, io sono uno di quelli a rischio ),la distribuzioni più colpite sono:
ubuntu, centOS, debian, suse e altre ancora.
In sostanza la vulnerabilità deriva da un problema del Kernel di linux a convalidare gli intervalli di memoria quando l'allocazione di memoria per conto di chiamate su siatemi a 32-bit. Il risultato è che in un sistema a 64-bit un malintenzionato potrebbe eseguire un multicast dannoso e ottenere i privilegi di root, la vulnerabilità non è un problema sui sistem a 32-bit che ne sono immuni.
Niente paura il Kernel è già stato patchato con dei fix, e le maggiori disto Linux tra cui debian, ubuntu, red hat, centOS hanno provveduto a correggere il bug.
domenica 26 settembre 2010
A rischio il sistema informatico e elettrico
Nel 2013 ha detto la nasa ci sarà una tempesta solare di tali proporzioni che il sistema informatico e elettrico mondiale potrebbe essere a rischio.
A giugno la NASA ne aveva già parlato, delle tempeste solari molto violente con conseguente emissione di onde elettromagnetiche potrebbero mandare in tilt il nostro pianeta. In occasione del Forum sul Clima Solare, che proprio la Nasa ha proposto a New York, si e’ parlato dei rischi di un’elevata tempesta solare. Richard Fisher, scienziato della Nasa, ha infatti affermato che “la nostra società tecnologica ha sviluppato una sensibilità alle tempeste solari senza precedenti“. Nella vita di tutti i giorni dipendiamo dall’elettricita‘ e la tempesta solare potrebbe causarci molti danni.
“Il primo segno di pericolo verrebbe quando le radiazioni iniziassero a disturbare segnali radio e dispositivi GPS. Dieci o venti minuti dopo, i satelliti commerciali che trasmettono conversazioni telefoniche, TV ed informazioni di ogni genere sarebbero praticamente spazzati via“, questo il commento di Tom Bogdan.
C’e’ gia’ chi ha deciso di correre ai ripari, per evitare che il pianeta crolli in seguito a un blackout generale che sembra ogni giorno sempre piu’ probabile. Liam Fox, ministro della Difesa britannico, ha avviato uno studio per proteggere le reti internazionali e difendersi da possibili attacchi. Tre anni passano in fretta!
A giugno la NASA ne aveva già parlato, delle tempeste solari molto violente con conseguente emissione di onde elettromagnetiche potrebbero mandare in tilt il nostro pianeta. In occasione del Forum sul Clima Solare, che proprio la Nasa ha proposto a New York, si e’ parlato dei rischi di un’elevata tempesta solare. Richard Fisher, scienziato della Nasa, ha infatti affermato che “la nostra società tecnologica ha sviluppato una sensibilità alle tempeste solari senza precedenti“. Nella vita di tutti i giorni dipendiamo dall’elettricita‘ e la tempesta solare potrebbe causarci molti danni.
“Il primo segno di pericolo verrebbe quando le radiazioni iniziassero a disturbare segnali radio e dispositivi GPS. Dieci o venti minuti dopo, i satelliti commerciali che trasmettono conversazioni telefoniche, TV ed informazioni di ogni genere sarebbero praticamente spazzati via“, questo il commento di Tom Bogdan.
C’e’ gia’ chi ha deciso di correre ai ripari, per evitare che il pianeta crolli in seguito a un blackout generale che sembra ogni giorno sempre piu’ probabile. Liam Fox, ministro della Difesa britannico, ha avviato uno studio per proteggere le reti internazionali e difendersi da possibili attacchi. Tre anni passano in fretta!
Un virus informatico nella centrale nucleare dell'Iran
Come aveva preannunciato il New York Time pare che la centrale nucleare in Iran sia stata infettata da un virus, adesso pare che ch l'ipotesi si stia facendo più concreta.Il virus in questione è stuxnet e pare che lasci dietro di se informazioni, Vari avevano anche pronosticato il suo obiettivo: la centrale nucleare di Bushehr, in Iran. Ebbene, pare che avessero indovinato: l’impianto di produzione energetica iraniano è effettivamente sotto un pesante attacco informatico. Lo racconta addirittura il New York Times.
HOSTILE TAKEOVER – Stuxnet non è un comune virus: se le informazioni venissero confermate, saremmo davanti a un programma in grado di prendere il controllo di un impianto industriale complesso come una centrale nucleare. Il virus avrebbe già infettato tutti i computer dell’impianto energetico, ma senza causare danni sostanziali, stando a quanto riferito dal portavoce dello staff della centrale. “Il malware è capace di effettuare un takeover sui sistemi che controllano i processi interni di un
impianto industriale”, scrive il Times; e pare che le autorità del settore nucleare della repubblica islamica siano oltremodo preoccupate, se è vero che si è già svolto un meeting solo la settimana scorsa per discutere della situazione dell’infezione. In effetti, quello al reattore di Bushehr è solo l’ultimo dei danni che Stuxnet ha provocato in Iran. Scoperto nel luglio scorso, le statistiche dimostrano che il virus ha attaccato il 60% delle sue vittime proprio nel paese del centroasia.
ARMA INFORMATICA – C’è dunque di che pensare che il virus, come ha scritto il blog di Paolo Attivissimo, sia molto di più di un programma pirata, arrivando invece ad essere “un’arma informatica concepita per colpire un bersaglio militare ben preciso facendone andare in tilt gli apparati di controllo”. E questo bersaglio potrebbe appunto essere l’attività di produzione di energia nucleare in Iran: evidentemente, spiega un dirigente della Symantec, una delle più importanti case produttrici di software antivirus al mondo, c’era “qualcosa in Iran che aveva un valore molto, molto alto per chiunque l’abbia scritta” (l’applicazione pirata, ndr). In effetti, continua Attivissimo, “è abbastanza evidente che se un virus del genere prende il controllo di un sistema industriale, può farne saltare le sicurezze, aprendone le valvole, spegnendone gli apparati di raffreddamento o facendolo girare troppo velocemente, per esempio. Il risultato non è un crash di un PC: è un kaboom di una fabbrica, di un oleodotto, di un impianto chimico o di una centrale elettrica”. Dall’Iran fanno comunque sapere che non c’è alcuna intenzione di ritardare ulteriormente l’apertura della centrale nucleare, già programmata per lo scorso agosto e poi rimandata ad ottobre: ufficialmente, per colpa dell’arsura estiva.
HOSTILE TAKEOVER – Stuxnet non è un comune virus: se le informazioni venissero confermate, saremmo davanti a un programma in grado di prendere il controllo di un impianto industriale complesso come una centrale nucleare. Il virus avrebbe già infettato tutti i computer dell’impianto energetico, ma senza causare danni sostanziali, stando a quanto riferito dal portavoce dello staff della centrale. “Il malware è capace di effettuare un takeover sui sistemi che controllano i processi interni di un
impianto industriale”, scrive il Times; e pare che le autorità del settore nucleare della repubblica islamica siano oltremodo preoccupate, se è vero che si è già svolto un meeting solo la settimana scorsa per discutere della situazione dell’infezione. In effetti, quello al reattore di Bushehr è solo l’ultimo dei danni che Stuxnet ha provocato in Iran. Scoperto nel luglio scorso, le statistiche dimostrano che il virus ha attaccato il 60% delle sue vittime proprio nel paese del centroasia.ARMA INFORMATICA – C’è dunque di che pensare che il virus, come ha scritto il blog di Paolo Attivissimo, sia molto di più di un programma pirata, arrivando invece ad essere “un’arma informatica concepita per colpire un bersaglio militare ben preciso facendone andare in tilt gli apparati di controllo”. E questo bersaglio potrebbe appunto essere l’attività di produzione di energia nucleare in Iran: evidentemente, spiega un dirigente della Symantec, una delle più importanti case produttrici di software antivirus al mondo, c’era “qualcosa in Iran che aveva un valore molto, molto alto per chiunque l’abbia scritta” (l’applicazione pirata, ndr). In effetti, continua Attivissimo, “è abbastanza evidente che se un virus del genere prende il controllo di un sistema industriale, può farne saltare le sicurezze, aprendone le valvole, spegnendone gli apparati di raffreddamento o facendolo girare troppo velocemente, per esempio. Il risultato non è un crash di un PC: è un kaboom di una fabbrica, di un oleodotto, di un impianto chimico o di una centrale elettrica”. Dall’Iran fanno comunque sapere che non c’è alcuna intenzione di ritardare ulteriormente l’apertura della centrale nucleare, già programmata per lo scorso agosto e poi rimandata ad ottobre: ufficialmente, per colpa dell’arsura estiva.
Linux a scuola: i risultati economici
Ancora non si capisce perché la pubblica amministrazione, anche in considerazione del momento di crisi in corso, non passi all’utilizzazione del software libero.
Oltre il notevole risparmio economico conseguibile (la sola amministrazione della piccola provincia di Bolzano, risparmia oltre un milione di euro l’anno avendo adottato il software libero), si otterrebbe anche l’indipendenza informatica dalle multinazionali del software. Ma anche la ricaduta in termini di “immagine” non è da sottovalutare. Ecco un esempio lampante.
Probabilmente, l’Istituto Majorana di Gela, è l'unica scuola italiana o almeno una delle pochissime, a proporre, anche, Linux tra gli argomenti di studio. Hanno realizzato un filmato di animazione 3D, che mostrano agli alunni di terza media, per l'orientamento scolastico:
I risultati sono stati più che lusinghieri, infatti, oltre ad avere ottenuto un risparmio notevole per le aule informatiche (raddoppiato il numero di computer a parità di costo, grazie all’adozione del software libero), in controtendenza, hanno avuto un incremento degli alunni iscritti.
Il dato emerso è che, a Gela, da diversi anni, tutti gli Istituti Tecnici e Professionali hanno avuto una diminuzione degli alunni iscritti e, conseguentemente, una riduzione di classi. Ecco, invece, cosa succede al Majorana, pur essendo un Istituto Tecnico e Professionale:
da circa tre anni, il Majorana, si occupa anche di Linux e di software libero, proponendolo come studio integrativo e di approfondimento agli alunni;
fino a tre anni addietro, si è registrata una diminuzione degli alunni (in linea con gli altri Istituti); – due anni fa, il numero degli alunni è rimasto pressoché stazionario;
– l'anno scorso si è registrato un incremento delle iscrizioni, formando una nuova classe (prima); – quest'anno, il Majorana, ha incrementato, ancor più, il numero degli alunni iscritti ed oltre a mantenere le classi dell'anno precedente, ha formato una nuova ulteriore classe, registrando, pure, un maggior numero degli alunni inseriti nelle singole classi.
Si tratta dunque di netta controtendenza ed appurato, ancora, che:
– tutti gli Istituti Secondari di Gela, si dedicano all'orientamento scolastico;
– il Majorana è l'unico Istituto che propone un'offerta formativa che prevede, anche, lo studio del Software Libero;
– il Majorana è l'unico Istituto che si occupa attivamente e costruttivamente di Software Libero ed Open Source, realizzando anche software liberamente distribuito, ci si chiede in che misura, il Software Libero abbia contribuito a questa crescita contro tendenziale.
Tanto non può che rappresentare un suggerimento ed ancora di più un invito, a tutte le scuole ed alla pubblica amministrazione, a prendere in seria considerazione il passaggio (migrazione) al Software libero ed Open Source.
Il cortometraggio animato è stato realizzato dal Prof. Antonio Cantaro (nella foto sotto), proprio quale ausilio per l'orientamento scolastico e viene presentato agli alunni delle terze classi delle scuole medie inferiori di Gela, Niscemi, Butera, ecc... Doveroso citare che la dirigenza scolastica, nella persona del Prof. Vito Parisi, ha appoggiato e condiviso, pienamente, l'apertura della scuola verso il software libero.
Il cortometraggio è stato pubblicato su YouTube, dove, nel canale MajoranaVideo: http://www.youtube.com/user/MajoranaVideo
sono disponibili altri filmati riguardanti l’opera dell’Istituto Majorana, rivolta alla diffusione del software libero.
Il prof. Cantaro dice: tali risultati dovrebbero essere d’esempio e di sprone per tutti, privati compresi.
Autore : Redazione Corriere di gela
Oltre il notevole risparmio economico conseguibile (la sola amministrazione della piccola provincia di Bolzano, risparmia oltre un milione di euro l’anno avendo adottato il software libero), si otterrebbe anche l’indipendenza informatica dalle multinazionali del software. Ma anche la ricaduta in termini di “immagine” non è da sottovalutare. Ecco un esempio lampante.
Probabilmente, l’Istituto Majorana di Gela, è l'unica scuola italiana o almeno una delle pochissime, a proporre, anche, Linux tra gli argomenti di studio. Hanno realizzato un filmato di animazione 3D, che mostrano agli alunni di terza media, per l'orientamento scolastico:
I risultati sono stati più che lusinghieri, infatti, oltre ad avere ottenuto un risparmio notevole per le aule informatiche (raddoppiato il numero di computer a parità di costo, grazie all’adozione del software libero), in controtendenza, hanno avuto un incremento degli alunni iscritti.
Il dato emerso è che, a Gela, da diversi anni, tutti gli Istituti Tecnici e Professionali hanno avuto una diminuzione degli alunni iscritti e, conseguentemente, una riduzione di classi. Ecco, invece, cosa succede al Majorana, pur essendo un Istituto Tecnico e Professionale:
da circa tre anni, il Majorana, si occupa anche di Linux e di software libero, proponendolo come studio integrativo e di approfondimento agli alunni;
fino a tre anni addietro, si è registrata una diminuzione degli alunni (in linea con gli altri Istituti); – due anni fa, il numero degli alunni è rimasto pressoché stazionario;
– l'anno scorso si è registrato un incremento delle iscrizioni, formando una nuova classe (prima); – quest'anno, il Majorana, ha incrementato, ancor più, il numero degli alunni iscritti ed oltre a mantenere le classi dell'anno precedente, ha formato una nuova ulteriore classe, registrando, pure, un maggior numero degli alunni inseriti nelle singole classi.
Si tratta dunque di netta controtendenza ed appurato, ancora, che:
– tutti gli Istituti Secondari di Gela, si dedicano all'orientamento scolastico;
– il Majorana è l'unico Istituto che propone un'offerta formativa che prevede, anche, lo studio del Software Libero;
– il Majorana è l'unico Istituto che si occupa attivamente e costruttivamente di Software Libero ed Open Source, realizzando anche software liberamente distribuito, ci si chiede in che misura, il Software Libero abbia contribuito a questa crescita contro tendenziale.
Tanto non può che rappresentare un suggerimento ed ancora di più un invito, a tutte le scuole ed alla pubblica amministrazione, a prendere in seria considerazione il passaggio (migrazione) al Software libero ed Open Source.
Il cortometraggio animato è stato realizzato dal Prof. Antonio Cantaro (nella foto sotto), proprio quale ausilio per l'orientamento scolastico e viene presentato agli alunni delle terze classi delle scuole medie inferiori di Gela, Niscemi, Butera, ecc... Doveroso citare che la dirigenza scolastica, nella persona del Prof. Vito Parisi, ha appoggiato e condiviso, pienamente, l'apertura della scuola verso il software libero.
Il cortometraggio è stato pubblicato su YouTube, dove, nel canale MajoranaVideo: http://www.youtube.com/user/MajoranaVideo
sono disponibili altri filmati riguardanti l’opera dell’Istituto Majorana, rivolta alla diffusione del software libero.
Il prof. Cantaro dice: tali risultati dovrebbero essere d’esempio e di sprone per tutti, privati compresi.
Autore : Redazione Corriere di gela
Falla kernel Linux
È stato infatti da poco scoperto un bug di sicurezza nella modalità di compatibilità 32 bit sulle installazioni a 64 bit del kernel Linux, bug che quindi affligge ogni distribuzione Linux.
L’errore permette la privilege escalation, ovvero permette di ottenere accesso root a partire da un login non amministrativo, ed è causato dalla mancata validazione del processo che effettua la chiamata di sistema al layer di emulazione.
Mediante una privilege escalation, ottenere accesso ad un sistema (pensiamo ad esempio ad un webserver) attraverso un’ipotetica falla di un suo qualunque servizio o programma in esecuzione implica l’ottenimento di privilegi di amministrazione senza sforzo alcuno: la severità dell’errore è gravissima.
Come grave è che il presente bug era stato scoperto parecchio tempo addietro, quindi risolto. E quindi sbadatamente reinserito nel kernel.
La buona notizia è che l’errore è già stato corretto e si consiglia caldamente di aggiornare le distribuzioni Linux, specie quelle adibite a server.
L’errore permette la privilege escalation, ovvero permette di ottenere accesso root a partire da un login non amministrativo, ed è causato dalla mancata validazione del processo che effettua la chiamata di sistema al layer di emulazione.
Mediante una privilege escalation, ottenere accesso ad un sistema (pensiamo ad esempio ad un webserver) attraverso un’ipotetica falla di un suo qualunque servizio o programma in esecuzione implica l’ottenimento di privilegi di amministrazione senza sforzo alcuno: la severità dell’errore è gravissima.
Come grave è che il presente bug era stato scoperto parecchio tempo addietro, quindi risolto. E quindi sbadatamente reinserito nel kernel.
La buona notizia è che l’errore è già stato corretto e si consiglia caldamente di aggiornare le distribuzioni Linux, specie quelle adibite a server.
venerdì 24 settembre 2010
Tempi duri per Facebook
Dopo la batosta di ieri che ha visto il social network alle prese con un blackout di diverse ore, ora c'è anche il problema sicurezza per Farmville il famoso gioco di Facebook.
I social games sono molto conosciuti e usati nelle comunità del web. Circa 200 milioni di utenti ogni mese giocano su Facebook. Per questo, la Kaspersky Lab, la più grande società produttrice di antivirus in Europa, sta divulgando consigli pratici per difendersi da utenti senza scrupoli. Ricorda di spendere soldi non virtuali sono su siti affidabili, di cancellare email che offro buoni sconto per il gioco online, non accettare da terzi applicazioni che garantiscono possibilità di successo nei social games. In particolare, per Facebook, la Kaspersky Lab consiglia agli utenti di controllare le impostazioni di protezione dei dati: bisogna fornire solo le informazioni essenziali. Altro avviso: controllare l’identità dei propri amici, qualcuno potrebbe essere, in realtà, un hacker. Le email inviate attraverso Facebook potrebbero contenere un virus. Secondo Kaspersky Lab è quindi meglio evitare link che promettono foto o video bellissimi.
I cybercriminali arrivano persino a rubare l’identità scoprendo la password degli account registrati o ricreando profili di utenti per ricattare le loro vittime. Molte persone sono state costrette a pagare grosse somme di denaro per evitare danni alla propria reputazione, magari pubblicando immagini poco convenienti.
Social network sì, ma nel modo giusto!
Facebook non mette solo a rischio la privacy. Alcuni suoi social game possono essere facilmente usati da cyber criminali. Farmville, utilizzata da 70milioni di persone, per esempio, veniva sfruttata da alcuni truffatori che incoraggiavano i giocatori a sottoscrivere contratti di telefonia mobile o altro in cambio di ‘crediti’.
I social games sono molto conosciuti e usati nelle comunità del web. Circa 200 milioni di utenti ogni mese giocano su Facebook. Per questo, la Kaspersky Lab, la più grande società produttrice di antivirus in Europa, sta divulgando consigli pratici per difendersi da utenti senza scrupoli. Ricorda di spendere soldi non virtuali sono su siti affidabili, di cancellare email che offro buoni sconto per il gioco online, non accettare da terzi applicazioni che garantiscono possibilità di successo nei social games. In particolare, per Facebook, la Kaspersky Lab consiglia agli utenti di controllare le impostazioni di protezione dei dati: bisogna fornire solo le informazioni essenziali. Altro avviso: controllare l’identità dei propri amici, qualcuno potrebbe essere, in realtà, un hacker. Le email inviate attraverso Facebook potrebbero contenere un virus. Secondo Kaspersky Lab è quindi meglio evitare link che promettono foto o video bellissimi.
I cybercriminali arrivano persino a rubare l’identità scoprendo la password degli account registrati o ricreando profili di utenti per ricattare le loro vittime. Molte persone sono state costrette a pagare grosse somme di denaro per evitare danni alla propria reputazione, magari pubblicando immagini poco convenienti.
Social network sì, ma nel modo giusto!
24/09/2010
Libero-news
mercoledì 22 settembre 2010
Sfondo su grub2
![]() |
| Medio |
Avete appena installato ubuntu, magari con un'altro sistema operativo e vi appare all'avvio quella shermata nera deprimente, un po smorta e pensate "se solo potessi metterci uno sfondo per rendere più bello grub", ecco come risolvere il problema.
Per prima cosa aprite il nostro affezionato terminale e installate grub2-splashimages con
sudo apt-get install grub2-splashimages
il pacchetto installerà degli sfondi che potete andare a guardare in /usr/share/images/grub. A questo punto dobbiamo modificare il file /etc/grub.d/05_debian_theme andando sulla riga
WALLPAPER="/usr/share/images/desktop-base/Moraine_Lake_17092005.tga"
mettendo al posto di morain_lake_xxxxx il nome del vostro sfondo con estenzione .tga è molto importante seguire fedelmente il percorso nel quale si trova l'immagine altrimenti non la troverà. Nel mio caso al posto di desktop-base ho messo grub affinchè mi caricasse l'immagine quindi state attenti al percorso e all'estensione dell'immagine che può essere png,tga.
Una volta sistemato il file 05_debian_theme salvate e date
sudo update-grub2
riavviate e verificate che tutto sia andato a buon fine.
![]() |
| Prima |
![]() |
| dopo |
lunedì 20 settembre 2010
Un desktop da urlo
Avere un bell'aspetto non è mai stato fondamentale per un sistema Linux, a differenza dei suoi diretti concorrenti Windows e mac che puntano tutto sul far diventare il desktop più bello e accattivante.
Con la comparsa di Compiz il mondo Linux ha fatto un passo da gigante nella personalizzazione del desktop, con tutti i suoi effetti grafici insieme a Emerald e Cairo-dock il vostro desktop sarà a prova di qualunque windows o mac in circolazione.
Vediamo innanzitutto come installare compiz sul vostro sistema:
aprite una finestra di terminale e digitate
sudo apt-get install compizconfig-settings-manager
o in alternativa andate su preferenze -> gestore pacchetti e cercate compiz sulla barra cerca e installate il tutto, poi installiamo simple-ccsm
sudo apt-get install simple-ccsm
una volta installate queste due applicazioni possiamo iniziare a configurare gli effetti a nostro piacimento qui troverete una guida che fa al caso vostro.
Una volta che abbiamo installato compiz potremo anche installare emerald per cambiare i temi al nostro desktop
sudo apt-get install emerald
qui potete personalizzare il vostro desktop scaricando dei nuovi temi da qui, andando poi su emerald theme manager e importando i temi da voi scaricati.
Per ultimo vorrei parlare di cairo-dock un'applicazione che aggiunge una dock bar stile mac personalizzabile con degli effeti grafici molto belli, anche questo possiamo installarlo con un
sudo apt-get install cairo-dock
non ho detto proprio tutto anche perchè sarebbe molto lungo io consiglio di scaricare tutto e di smanettare un pò non ve ne pentirete il vostro desktop cambierà totalmente faccia.
mercoledì 15 settembre 2010
Ripristinare Lilo su Slackware
State installando un'altro sistema operativo accanto a Slackware e vi dimenticate di non installare il suo boot loader cancellando lilo, come fare per reinstallare lilo?
Non è una cosa difficile basta avere a portata di mano il cd o dvd di installazione di Slackware,avviare il cd e entrare come root senza avviare il setup.
Create una directory temporanea con
#mkdir slack
monta la tua Slackware nella directory appena creata cioè slack
#mount /dev/xxx /slack
dove al posto delle x va messo il device del disco, tipo sda o hda con il numero della partizione.
Date un change root
#chroot /slack /bin/sh
per finire date un
#lilo -v
e riavviate avrete reinstallato lilo come boot loader predefinito.
martedì 14 settembre 2010
Trial boot ubuntu slackware Freebsd con lilo
Ultimamente ho installato 3 sistemi operativi sullo stesso pc, quindi Ubuntu, Slackware e FreeBSD. L'impresa è durata almeno 3 giorni non per l'istallazione dei 3 sistemi che è stata relativamente veloce, ma per la configurazone di lilo che non vedeva ubuntu e FreeBSD.
Ho iniziato col partizionare i dischi in questo modo
durante il partizionamento di ubuntu il boot loader venisse installato su sda1, perchè di default lo installa su sda. Prima ho installato FreeBSD senza installare il boot loader, poi ho installato ubuntu e successivamente Slackware, installando il boot loader lilo, una volta finito e riavviato slackware ho così configurato il file /etc/lilo.conf
Una volta configurato il file ho montato le partizioni di freebsd e ubuntu digitando:
mkdir freebsd
mount freebsd
mkdir /mnt/ubuntu
mount /mnt/ubuntu
fatto questo ho dato un lilo -v per aggiornare lilo, ho riavviato e tutto è andato per il meglio. Scrivo questa guida per tutti quelli che come il sottoscritto volessero farlo perchè la documentazione su come lilo possa riconoscere ubuntu e freebsd è molto scarsa, Colgo l'occasione per ringraziare gli utenti del forum slacky.eu che come sempre sono stati preziosissimi per la riuscita dell'operazione con i loro consigli.
martedì 7 settembre 2010
Professione Linux
Il mondo Linux e Open sources si sta evolvendo e espandendo per questo motivo voglio parlarvi per chi è interessato alle certificazioni in ambiente linux di
LPI che sta per Linux professional Institute (www.lpi-italia.org).
La lpi è un'organizzazione no-profit che ha come scopo l'uso di linux e software opensource nell'ambiente professionale, il corso di studi prevede 3 livelli di certificazione: LPIC1, LPIC2, LPIC3 non sono obbligatori tutti e tre comunque è pur sempre una certificazione di livello internazionale per maggiori informazioni www,lpi-italia.org potrete informarvi anche sulle sedi del corso.
Compilazione nuovo kernel
Slackware dalla versione 9.1 è pronta per il Kernel 2.6, infatti tutti i programmi di sviluppo necessari alla compilazione sono disponibili, quindi non dovrete fare nessun upgrade.
Per comodità recuperate il file config-generic-2.6.xx di Patrick http://slackware.osuosl.org/slackware-current/source/k/ e salvatelo nella vostra home, partire con un file di configurazione sicuro è comodo e ci risparmierà diverso lavoro, poi recuperate i sorgenti del Kernel da http://www.kernel.org/pub/linux/kernel prelevando il formato tar.bz2 o tar.gz, il bz2 utilizzando una compressione migliore sarà più piccolo e quindi più veloce da trasferire.
Dopo aver scaricato i sorgenti del kernel ad esempio nella vostra home, si devono copiare in /usr/src per poi decomprimerli il tutto rigorosamente da ROOT:
#cp linux-2.6.xx.tar.bz2 /usr/srcentriamo nella directory /usr/src e decomprimiamo il file
# cd /usr/srccancellate e ricreate il link simbolico
# tar xjvf linux-2.6.xx.tar.bz2
# rm linux ; ln -s linux-2.6.xx linuxspostatevi in linux
# cd linuxpreparate l'ambiente
# make mrproperè buona cosa a questo punto, copiarsi il file config-generic per avere una configurazione ottimale e per essere sicuri che il nuovo kernel funzioni senza problemi:
# cp /boot/config-huge-smp-2.6.xx-smp /usr/src/linux-2.6.xx/.configio uso questo file config voi potete comunque mettere quello che utilizzate. A questo punto il file di configurazione sarà copiato in 2.6.xx .config del nuovo kernel,procediamo con la configurazione digitando:
# make oldconfigrispondete alle domande senza preoccuparvi di sbagliare, le configurazioni poi le ritroverete nei tool grafici se vorrete modificare qualche cosa continuate la configurazione del Kernel utilizzando uno dei seguenti tool:
make menuconfigmake menuconfig che usa ncurses si basa su un menù testuale, xconfig e gconfig devono essere avviati da X e usano rispettivamente le lib QT e GTK. Make oldconfig è molto comodo in caso di aggiornamento, e vi chiederà solo le risposte alle nuove domande di configurazione, che si aggiungono di volta in volta alle release, ovviamente dovete avere il file .config presente in /usr/src/linux. Procedete con la configurazione usando make menuconfig
make xconfig
make gconfig
# make menuconfiga questo punto potrete o configurare il Kernel da zero, usando l'esaustivo < Help > che vi aiuterà nella configurazione, oppure, scelta più sensata, usare il file di configurazione dal grande PJV. Nel primo caso terminate le modifiche uscire con < Exit > e alla domanda Do you wish to save your new kernel configuration decidete se salvare la configurazione o ripeterla, se invece optate per la seconda caricate la configurazione nota di Patrik usando la funzione Load an Alternate Configuration File (la trovate in fondo al men), apportate le modifiche e salvate con la funzione Save Configuration to an Alternate File, questo per non sovrascrivere il config funzionante. Importante, non usate i config della versione 2.4.xx è sconsigliato !
Uscite con < Exit > e salvate la configurazione. In entrambi i casi verrà creato in /usr/src/linux il file .config che contiene appunto tutta la configurazione del Kernel. Terminata la configurazione create l'immagine del Kernel compresso usando
# makeIl make è il comando che compila realmente il kernel, a questo comando si può passare l'opzione -j2 o -j3 che indicano il numero di processi da lanciare in parallelo durante la compilazione;con questa opzione non si fa altro che velocizzare il tempo per la compilazione:una singola compilazione non occupa la cpu al 100%, mentre due o più processi permettono di sfruttare meglio la macchina e di diminuire il tempo totale di compilazione.(ricordatevi che non ha senso usare un numero di processi maggiore di 2 o 3 su macchine che usano una sola CPU.)
Per fare direttamente un boot disk (senza filesystem di root o LILO) inserite un floppy nuovo e impartite il comandodopo un certo periodo che dipende ovviamente dalla velocità del vostro sistema vi troverete l'immagine del Kernel pronta in /usr/src/linux/arch/i386/boot/. Procedete con la compilazione e installazione dei moduli con i seguenti comandi
# make bzdisk
# make modules_installi moduli saranno installati regolarmente in /lib/modules/versione-kernel. Siete ancora in /usr/src/linux un ls -a vi mostrerà il contenuto della dir, noterete il file .config e un file System.map questi due file vanno copiati in /boot ma la cosa migliore è rinominarli gestendo una nuova direttiva in LILO
# cp System.map /boot/System.map-2.6.xxora il Kernel
# cp .config /boot/config-2.6.xx
# cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.xxora modificate /etc/lilo.conf, potete prendete come riferimento questo esempio (man lilo per info maggiori).In questo modo nel menù iniziale di lilo vi troverete a poter avviare 2 kernel, ricordatevi di tenere sempre un kernel stabile in modo che se quello compilato ha problemi si può sempre utilizzare quello di riserva.
image = /boot/vmlinuzterminato questo impartite il comando lilo per aggiornare la nuova configurazione
root = /dev/hda2
label = Slack_2.4.33
read-only
image = /boot/vmlinuz-2.6.17.11
root = /dev/hda2
label = Slack_2.6.17.11
read-only
# lilo -vvolendo potete anche rimuovete i link simbolici che puntano ai vecchi file
# rm /boot/System.map config vmlinuze ricreate quelli nuovi che puntano ai nuovi file
# ln -s /boot/System.map-2.6.xx /boot/System.mapin questo modo il Kernel appena compilato sarà quello di default perché la direttiva di lilo punta direttamente al link simbolico vmlinuz. Se mancante create il file modprobe.conf, infatti dal 2.6.xx modules.conf è superato da modprobe.conf
# ln -s /boot/config-2.6.xx /boot/config
# ln -s /boot/vmlinuz-2.6.xx /boot/vmlinuz
# generate-modprobe.conf /etc/modprobe.confora dovete modificare il file /etc/fstab per inserire il filesystem virtuale Sysfs, il quale si occupa delle informazioni sui dispositivi lasciando a Procfs il compito delle informazioni sui processi, quindi se non presente create nella root principale la dir sys
# mkdir /syse poi inserite in /etc/fstab (mantenendo la giusta formattazione) una riga come questa
none /sys sysfs defaults 0 0riavviate il sistema e godetevi il nuovo Kernel.
Scrittura di uno SlackBuild
Su linux molto spesso per amministrare il sistema si scrivono dei comandi da terminale, questi possono servire per: ricompilare un kernel, per fare dei backup regolari o altre mansioni ripetitive che richiedono una lunga successione di comandi con un'eventuale perdita di tempo.
Con uno script di shell questi comandi vengono scritti una sola volta e quando tornano utili vengono lanciati dall'amministratore di sistema per fare tutto in automatico, uno di questi script è lo SlackBuild, script di Slackware per costruire pacchetti da sorgenti.
Andiamo a vedere in dettaglio come scrivere uno slackbuild, qui troverete degli esempi si slackbuild finiti, che opportunamente modificati vi faranno costruire il vostro pacchetto.
Per l'url utilizzate esclusivamente il sito ufficiale del prodotto. Occhio ai doppi apici in SOURCE= . Spesso funziona anche senza ma in qualche caso può succedere un casino. Fate anche attenzione a quegli url che come separatore non hanno un trattino bensì un underscore (_) pechè in tal caso la sintassi $PKGNAME_$VERSION non funziona, visto che bash considera quell'underscore come parte del nome della variabile. In tal caso sostituite $PKGNAME con ${PKGNAME}: ${PKGNAME}_${VERSION}. Dove non è necessario (ovvero dove ci sono i trattini semplici) preferisco lasciarlo senza le parentesi graffe perchè aumenta la leggibilità.
Per quanto ri guarda i parametri del configure, questi variano ovviamente da pacchetto a pacchetto, ma alcuni standard vanno seguiti:
Potrete anche copiare file di configurazione ed eventuali altri file dalla directory dello SlackBuild.
Ricordate poi che gli script di start e stop si dovrebbero mettere possibilmente sotto /etc/rc.d; ricordo anche che tutti i file di configurazione (script inclusi) vanno messi con l'estensione .new per essere poi rinominati a posteriori nel doinst.sh..
Lo standard di slackware è che tutte le manpages siano compresse con gzip per risparmiare spazio su disco; di conseguenza cerchiamo versioni non compresse che installano i pacchetti e comprimiamole.
Possibilmente il doinst.sh non lo creiamo direttamente dentro lo SlackBuild, ma mettiamolo come file esterno per poi copiarlo nella directory install/. Se poi abbiamo bisogno di aggiungere operazioni di cui non sappiamo a priori le specifiche, ma le sappiamo solo dopo la compilazione, allora aggiungiamole da dentro lo SlackBuild con un >>. Un esempio di operazione necessaria è quella di avviare uno script di postinstallazione presente sotto la /usr/lib; ovviamente non sappiamo a priori se sarà in /usr/lib o /usr/lib64.
Se poi il pacchettizzatore è sicuro che andrà tutto a buon fine, può decidere di lanciare lo slackbuild con il parametro --cleanup per rimuovere le directory di lavoro al termine del processo.
Ecco alcuni usi:
Quando nello SlackBuild abbiamo creato un file tipo etc/configfile.new, il doinst deve provvedere a rinominarlo in etc/configfile a patto che quest'ultimo non esista già sul sistema. Nello script viene definita una funzione, config (da non toccare), che fa questo lavoro. Al pacchettizzatore è sufficente richiamala con config etc/configfile.new. Utilizzate i path relativi!!
quindi di questo non dovremo preoccuparci
se il postinstall si trova sotto usr/lib, allora dobbiamo inserire questa riga dallo SlackBuild per determinare perchè non sappiamo a priori se utilizziamo una slackware a 32 o 64bit e quindi se lo script è in usr/lib o usr/lib64.
In caso lo script al suo interno faccia riferimento a percorsi assoluti del sistema, allora dovremo lanciare tale comando in chroot:
e poi settare i permessi adeguati, permessi che abbiamo tolto dallo slackbuild con chown root.root
La struttura di questo file è molto rigida. Le prime 6 righe sono solo commenti (le istruzioni per costruire lo slack-desc, ma vanno lasciate. La riga successiva, la handy-ruler, è un remember sul numero limite di caratteri per riga. La descrizione è fatta di esattamente 11 righe (se ne vuoi di meno basta lasciarle vuote) composte di nomepacchetto, due punti, spazio, descrizione. Il nome del pacchetto deve essere esattamente lo stesso indicato in $PKGNAME
Non deve essere inserito il nome del pacchettizzatore né l'url del programma.
Con uno script di shell questi comandi vengono scritti una sola volta e quando tornano utili vengono lanciati dall'amministratore di sistema per fare tutto in automatico, uno di questi script è lo SlackBuild, script di Slackware per costruire pacchetti da sorgenti.
Andiamo a vedere in dettaglio come scrivere uno slackbuild, qui troverete degli esempi si slackbuild finiti, che opportunamente modificati vi faranno costruire il vostro pacchetto.
intestazione
- La shell da utilizzare è sempre /bin/sh
- Specificare per quale versione di slackware è scritto lo SlackBuild
- L'autore dello SlackBuild. Potete mettere il nome o il nick, ma come contatto possibilmente mettete un indirizzo email (mio <at> indir.email)
- L'ultimo che l'ha modificato e compilato (ovvero tu)
- Il nome del pacchetto e il sito ufficiale
- Una licenza per la distribuzione dello slackbuild
#!/bin/sh
# Heavily based on the Slackware 13.1 SlackBuild
# Written by <your name> ( a contact )
# Last build from <your name> ( a contact )
# Slackware build script for <appname>
# Official Site: http://......
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AS IS AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Se è già presente una licenza lasciarla, altrimenti metti la precedente
parametri di base
La seguente sezione è quella che contiene i parametri base, cioè il nome del pacchetto, la versione, l'architettura, la build version e l'url diretto da dove scaricare i sorgenti. Per quanto riguarda il BUILD, la norma è che ad ogni modifica del pacchetto, ricompilazione ecc, il numero va incrementato, mentre all'upgrade (cambio di versione) questo numero ritorna ad 1. Per quanto riguarda il TAG (la sigla dopo il numero), a partire dal repository per Slackware 13.1 questo deve essere obbligatoriamente 'sl', inclusi per i pacchetti già presenti nel 13.0 che verranno semplicemente ricompilati senza modifiche per essere portati nel nuovo repository. Questo perchè ora la sigla non indica più l'autore ma il repository su cui si trova.Per l'url utilizzate esclusivamente il sito ufficiale del prodotto. Occhio ai doppi apici in SOURCE= . Spesso funziona anche senza ma in qualche caso può succedere un casino. Fate anche attenzione a quegli url che come separatore non hanno un trattino bensì un underscore (_) pechè in tal caso la sintassi $PKGNAME_$VERSION non funziona, visto che bash considera quell'underscore come parte del nome della variabile. In tal caso sostituite $PKGNAME con ${PKGNAME}: ${PKGNAME}_${VERSION}. Dove non è necessario (ovvero dove ci sono i trattini semplici) preferisco lasciarlo senza le parentesi graffe perchè aumenta la leggibilità.
set -e
PKGNAME=appname
VERSION=${VERSION:-1.4.1}
BUILD=${BUILD:-1}
TAG=${TAG:-sl}
ARCH=${ARCH:-i486}
SOURCE="http://downloads.sourceforge.net/project/......./$PKGNAME-$VERSION/$PKGNAME-$VERSION.tar.gz"
path di lavoro
Questa parte è fissa, cioè la determinazione dei path di lavoroCWD=$(pwd)
TMP=${TMP:-/tmp/buildpkgs/$PKGNAME}
PKG=$TMP/package-$PKGNAME
OUTPUT=${OUTPUT:-$CWD}
download
Quindi si fa il download del pacchetto. Solitamente dovreste modificare queste righe solo se il nome del pacchetto non segue lo standard appname-1.4.1.tar.gz (es appname-1.4.1.tar.bz2, appname_1.4.1.tar.gz, appname-1.4.1-kde4.tar.gz, ecc...), oppure se si deve scaricare altri file da internet (p.e. patch)if [ ! -e $PKGNAME-$VERSION.tar.gz ];then
wget $SOURCE
fi
architettura
In base all'architettura definita in $ARCH, vengono definiti i parametri della compilazione. Da notare il LIBDIRSUFFIX che determina se le librerie andranno a finire in /usr/lib o /usr/lib64CHOST="i468"
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
CHOST="x86_64"
fi
preparazione dei sorgenti
Segue la:- rimozione di una compilazione precedente
- scompattazione dei sorgenti
- applicazione di eventuali patch; queste devono essere presenti nella stess directory dello SlackBuild e possono essere facoltativamente compresse.
- settaggio dei permessi. E' opportuno che i permessi dei sorgenti siano solamente 755 o 644 e che i file siano tutti di root.
rm -rf $TMP
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
tar xvf $CWD/$PKGNAME-$VERSION.tar.gz
cd $PKGNAME-$VERSION
### installazione patch (se presenti)
# patch -p1 < $CWD/some_patch.diff
# gzip -cd $CWD/compressed_patch.diff.gz |patch -p1
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
compilazione
Comincia la compilazione. Nella maggior parte dei casi utilizzeremo lo standard ./configure&&make&&make install.Per quanto ri guarda i parametri del configure, questi variano ovviamente da pacchetto a pacchetto, ma alcuni standard vanno seguiti:
- Il pacchetto va installato in /usr
- La configurazione deve andare in /etc
- La documentazione in /usr/doc/nomepacc-versionepacc; tutti i file che si troveranno in altri path (i.e. /usr/share/doc) andranno poi spostati in tale directory
- Le man pages vanno in /usr/man. Stesso discorso se l'installer le mette in /usr/share/man allora bisogna spostarle successivamente.
- I dati andrebbero messi in /var/nomepacchetto o /var/lib/nomepacchetto, a seconda del pacchetto. P.E. apache li mette in /var/www, mysql li mette in /var/lib/mysql
- Le librerie (questo è importante) vanno messe in /usr/lib per i pacchetti a 32bit e in /usr/lib64 per i pacchetti a 64bit. Questo viene fatto automaticamente se si mette correttamente --libdir=/usr/lib$LIBDIRSUFFIX e sopra viene definito LIBDIRSUFFIX a seconda dell'architettura. Se avete una macchina a 32bit e scrivete solamente pacchetti a 32bit, lasciate comunque questa accortezza per aiutare chi vorrà compilare il pacchetto a 64bit
- In aggiunta metterete tutte le altre opzioni specifiche del software.
- Per passare parametri a make (tipo "-j2" per ottimizzare la velocità, e altro), non viene più messo all'interno dello SlackBuild, ma si utilizza una variabile standard di make: MAKEFLAGS. Il MAKEFLAGS viene specificato fuori dello slackbuild per consentire al pacchettizzatore di passare parametri al comando 'make'. Per esempio MAKEFLAGS="-j2" bash pacchetto.SlackBuild
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib$LIBDIRSUFFIX \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PKGNAME-$VERSION \
--build=$CHOST-slackware-linux
make
make install DESTDIR=$PKG
cmake
Alcuni pacchetti per essere compilati necessitano di cmake anzichè ./configure. In tal caso valgono comunque tutte le considerazioni fatte sopra, ma la sintassi è diversa:( mkdir -p build
cd build
cmake .. \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMAN_INSTALL_DIR=/usr/man \
-DSYSCONF_INSTALL_DIR=/etc \
-DLIB_SUFFIX=${LIBDIRSUFFIX}
make $MAKEFLAGS
make install DESTDIR=$PKG $MAKEFLAGS)
personalizzazione
Le sezioni che seguono sono quelle che probabilmente più dovrete personalizzare. Quì si devono cancellare file inutili o che rischiano di sovrascrivere quelli di sistema, spostare alcuni file in altri path ecc.### In this section you may remove some not needed files or move that file in other pathRicordate che se avete compilato un modulo perl, probabilmete vi sarà stato creato un file che, se messo nel pacchetto, va a sostiturire quello già presente sul sistema. Ovviamente se non state compilando un modulo perl non inserirete questa sezione.
## remember to put this block if you are packeting a perl software, otherwise you may overwrite some system file
( cd $PKG
# Remove 'special' files
find . -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
)
Potrete anche copiare file di configurazione ed eventuali altri file dalla directory dello SlackBuild.
Ricordate poi che gli script di start e stop si dovrebbero mettere possibilmente sotto /etc/rc.d; ricordo anche che tutti i file di configurazione (script inclusi) vanno messi con l'estensione .new per essere poi rinominati a posteriori nel doinst.sh..
cat $CWD/rc.application.sh > $PKG/etc/rc.d/rc.application.new
cat $PKG/etc/init.d/initscript >> $PKG/etc/rc.d/rc.program.new
rm $PKG/etc/init.d/initscript
mv $PKG/etc/appl.conf $PKG/etc/appl.conf.new
documentazione
Inoltre copiamo tutta la documentazione che riusciamo a trovare nei sorgenti del pacchetto (README, INSTALL, ChangeLog, ecc..) nella directory della documentazione. Nella stessa directory ci metteremo anche lo SlackBuild con cui è stato generato il pacchetto e slack-desc.mkdir -p $PKG/usr/doc/$PKGNAME-$VERSION
cp -a \
README.TXT INSTALL.TXT some other documentation \
$PKG/usr/doc/$PKGNAME-$VERSION
cat $CWD/$PKGNAME.SlackBuild > $PKG/usr/doc/$PKGNAME-$VERSION/$PKGNAME.SlackBuild
cat $CWD/slack-desc > $PKG/usr/doc/$PKGNAME-$VERSION/slack-desc
Lo standard di slackware è che tutte le manpages siano compresse con gzip per risparmiare spazio su disco; di conseguenza cerchiamo versioni non compresse che installano i pacchetti e comprimiamole.
if [ -d $PKG/usr/man ]; then
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \;
for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
)
fi
strip
Puliamo anche i file binari e le librerie eliminando tutti gli strascichi che lascia gcc al fine di debuggure e linkare tra di loro gli object generati.( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs -r strip --strip-unneeded 2> /dev/null || true
)
slack-desc e doinst.sh
Abbiamo quasi finito... Popoliamo la directory install/ del pacchetto. Quì ci andrà lo slack-desc e, se necessario, il doinst.sh.mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
Possibilmente il doinst.sh non lo creiamo direttamente dentro lo SlackBuild, ma mettiamolo come file esterno per poi copiarlo nella directory install/. Se poi abbiamo bisogno di aggiungere operazioni di cui non sappiamo a priori le specifiche, ma le sappiamo solo dopo la compilazione, allora aggiungiamole da dentro lo SlackBuild con un >>. Un esempio di operazione necessaria è quella di avviare uno script di postinstallazione presente sotto la /usr/lib; ovviamente non sappiamo a priori se sarà in /usr/lib o /usr/lib64.
cat $CWD/doinst.sh > $PKG/install/doinst.sh
echo "( cd usr/lib$LIBDIRSUFFIX/$PKGNAME ; ./postinstall.sh )" >> $PKG/install/doinst.sh
slack-required
Ora andiamo a costruire il file delle dipendenze slack-required. Questo si genera con il tool requiredbuilder. Ricordiamoci di installare sempre l'ultima versione di questo tool prima di compilare. Dovremo anche assicurarci che i file del pacchetto siano tutti di root, poi lanciamo il requiredbuilder per costruire le dipendenze e finalmente creiamo il pacchetto.### reset owner and create slack-required file using requiredbuilder.requiredbuilder.
cd $PKG
chown -R root:root $PKG
if [ -x "$(which requiredbuilder 2>/dev/null)" ];then
requiredbuilder -y -v -s $CWD $PKG
fi
costruzione pacchetto
Finalmente abbiamo finito. Possiamo costruire il nostro pacchetto./sbin/makepkg -l y -c n $OUTPUT/$PKGNAME-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}Se poi il pacchettizzatore è sicuro che andrà tutto a buon fine, può decidere di lanciare lo slackbuild con il parametro --cleanup per rimuovere le directory di lavoro al termine del processo.
if [ "$1" = "--cleanup" ]; then
rm -rf $TMP
fi
doinst.sh
Il doinst.sh viene utilizzato per effettuare tutte quelle operazioni che provvederanno ad integrare il pacchetto nel resto della distribuzione. Per esempi tipici di doinst.sh vedi la directory /var/log/scripts che è una raccolta dei doinst.sh di tutti i pacchetti installati sul sistema.Ecco alcuni usi:
rinomina file di configurazione .new
Questo forse è l'uso maggiore per cui si crea un doinst.sh.Quando nello SlackBuild abbiamo creato un file tipo etc/configfile.new, il doinst deve provvedere a rinominarlo in etc/configfile a patto che quest'ultimo non esista già sul sistema. Nello script viene definita una funzione, config (da non toccare), che fa questo lavoro. Al pacchettizzatore è sufficente richiamala con config etc/configfile.new. Utilizzate i path relativi!!
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/configfile.new
config etc/program/my.conf.newgli script di start
Per gli script in rc invece va fatta una aggiunta; infatti se un file rc con lo stesso nome già esiste, allora è necessario che abbiano gli stessi permessi. Questo si fa così:if [ -e etc/rc.d/rc.script ]; then
cp -a etc/rc.d/rc.script etc/rc.d/rc.script.new.incoming
cat etc/rc.d/rc.script.new > etc/rc.d/rc.script.new.incoming
mv etc/rc.d/rc.script.new.incoming etc/rc.d/rc.script.new
fi
config etc/rc.d/rc.script.new
i link
Se lo SlackBuild ha creato dei link, con ln o con make install, questi non verranno inseriti nel txz finale. Al posto loro verrà messa nel doinst.sh una riga per ogni link che provvederà a crearlo in fase di postinstallazione. A fare questa operazione ci penserà makepkg che per ogni link che trova metterà una cosa del genere nel doinst.sh:( cd usr/bin ; rm -rf view )
( cd usr/bin ; ln -sf vim view )
quindi di questo non dovremo preoccuparci
file icona, menu, .desktop ecc
Quando si installano pacchetti per kde e/o si aggiungono nuove icone e/o file .desktop ecc.., è necessario aggiornare il database di kde.if [ -x /usr/bin/update-desktop-database ]; then
usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -x /usr/bin/update-mime-database ]; then
usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
fi
fi
post-installazione personalizzata
Potrebbe essere necessario avviare qualche script di postinstallazione al termine del doinst. Se lo script non si trova nel path, allora solitamente si fa un 'cd directory' e './script'. Cerchiamo di utilizzare sempre percorsi relativi e mai assoluti perchè se stiamo installando in un chroot (come spiegato all'inizio dell'articolo) allora si rischia di incasinare il sistema principale( cd usr/share/programma ; ./postinstall.sh )
se il postinstall si trova sotto usr/lib, allora dobbiamo inserire questa riga dallo SlackBuild per determinare perchè non sappiamo a priori se utilizziamo una slackware a 32 o 64bit e quindi se lo script è in usr/lib o usr/lib64.
echo "( cd usr/lib$LIBDIRSUFFIX ; ./postinstall.sh )" >> $PKG/install/doinst.sh
In caso lo script al suo interno faccia riferimento a percorsi assoluti del sistema, allora dovremo lanciare tale comando in chroot:
chroot . usr/share/programma/postinstall.sh
utenti
Prima del makepkg abbiamo settato tutti i proprietari dei file a root. Se abbiamo qualche pacchetto che richiede di essere avviato come altro utente (p.e. squid) dovremo provvedere a creare l'utente e, se serve, anche il gruppo. Prima dovremo controllare però che già non esista. Ovviamente dovremo utilizzare useradd e groupadd che vanno a modificare l'/etc/passwd e l'/etc/group; si rende quindi necessario il lancio in chroot per evitare che si creino le utenze sul sistema sbagliatoif ! grep -q "^nomegruppo:" etc/group; then
chroot . groupadd mygroup &>/dev/null
fi
if ! grep -q "^nomeutente:" etc/passwd; then
chroot . useradd -d /var/lib/nomeprogramma -s /bin/false -c "Utente programma" -g nomegruppo nomeutente &>/dev/null
fi
e poi settare i permessi adeguati, permessi che abbiamo tolto dallo slackbuild con chown root.root
chown -R nomeutente.nomegruppo var/lib/nomeprogramma
utenti e id
Talvolta si potrebbe volere un determinato uid e gid per utenti e gruppi; uno useradd secco genera un id solitamente alto, che potrebbe confondersi con le utenze classiche mentre i servizi hanno spesso e volentieri id bassi. Vedi il corrente /etc/passwd. Nel modo seguente è possibile 'tentare' di scegliere un determinato id e, se fallisce, allora ripiegare su un id normale.if ! grep -q "^apache:" etc/group; then
if ! grep -q ":80:" etc/group; then
chroot . groupadd -g 80 apache &>/dev/null
else
chroot . groupadd apache &>/dev/null
fi
fi
if ! grep -q "^apache:" etc/passwd; then
if ! grep -q ":80:" etc/passwd; then
chroot . useradd -u 80 -d /var/www -s /bin/false -c "Apache User" -g apache apache &>/dev/null
else
chroot . useradd -d /var/www -s /bin/false -c "Apache User" -g apache apache &>/dev/null
fi
fi
chown apache.apache var/www/htdocs
slack-desc
Questo è più semplice. Si tratta di mettere una descrizione del pacchetto di un massimo di 11 righe e un massimo di 72 caratteri per riga. Personalmente prendo qualche riga dal README o dal sito ufficiale e lo copio lì dentro. Come esempi di descrizione si possono prendere tutti quelli di slackware.La struttura di questo file è molto rigida. Le prime 6 righe sono solo commenti (le istruzioni per costruire lo slack-desc, ma vanno lasciate. La riga successiva, la handy-ruler, è un remember sul numero limite di caratteri per riga. La descrizione è fatta di esattamente 11 righe (se ne vuoi di meno basta lasciarle vuote) composte di nomepacchetto, due punti, spazio, descrizione. Il nome del pacchetto deve essere esattamente lo stesso indicato in $PKGNAME
Non deve essere inserito il nome del pacchettizzatore né l'url del programma.
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
pkgname: pkgname - A title for package
pkgname:
pkgname: Long description
pkgname:
pkgname:
pkgname:
pkgname:
pkgname:
pkgname:
pkgname:
pkgname:
per questa guida ringrazio la comunità di slacky.eu alla prossima .
Iscriviti a:
Post (Atom)














