Marco Pratesi (TELUG) GNU Free Documentation License



Documenti analoghi
Installazione LINUX 10.0

Distribuzione del software

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO e PARAMETRI2015

Terza lezione: Directory e File system di Linux

Installare software Linux. Gruppo Linux Macerata - Corso Linux Lez. 5: Installazione dei software Linux

Tale attività non è descritta in questa dispensa

MODEM USB MDC525UP Guida Rapida LINUX

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Applicativi distribuiti in forma sorgente

Differenze fra Pacchetti

Gestione del software

Pacchettizzazione e distribuzione del software

Puppy Linux (Precise) Live da CD o da USB (Si può usare su PC con 256 MB di RAM)

Installazione e caratteristiche generali 1

Applicazioni di Ubuntu

L indispensabile sulla gestione dei pacchetti Debian

Rsync su GNU/Linux e su Windows? (Backup sincronizzato su disco di rete e/o RAID1 su server FreeNAS)

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER

Installazione base di Sabre Red Workspace

Installare sbackup su ubuntu da terminale con il comando sudo apt get install sbackup oppure si può usare Synaptic

Installare Ubuntu su macchina virtuale

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

Guida all'installazione (Italiano) Primi passi

Debian Security Team

1) GESTIONE DELLE POSTAZIONI REMOTE

SOMMARIO COSA SERVE... 2 PRIMA DI INIZIARE... 2 COME PROCEDERE LATO SERVER... 3 COME PROCEDERE LATO CLIENT... 3

Il web server Apache Lezione n. 3. Introduzione

Guida per esecuzione dell aggiornamento del programma DINAMIC

Acronis License Server. Manuale utente

Attivazione prodotto - Release 2 (2011) Prodotto Attivazione prodotto. Release

Dipartimento per le Libertà Civili e l Immigrazione

NOTA: NON PROVARE A INSTALLARE IL SOFTWARE PRIMA DI AVERE LETTO QUESTO DOCUMENTO.

SW Legge 28/98 Sommario

Ubuntu e la sua Installazione

Creare e ripristinare immagine di sistema con Windows 8

INFO TECNICA SATO Italia

Come installare Ubuntu Linux

Guida Rapida all uso del License Manager di ROCKEY4Smart (V )

Intel One Boot Flash Update Utility Guida dell utente

Hosting Applicativo Upgrade Web Client

login: so_2 password: idefix Sistemi operativi 1.2

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

e/fiscali - Rel e/fiscali Installazione

FAQ RISPOSTE A DOMANDE FREQUENTI

Non sono supportate reti peer to peer, è necessario avere un server dedicato.

Gestione del software

Il Software. Il software del PC. Il BIOS

Note di release per l utente Fiery EXP4110, versione 1.1SP1 per Xerox 4110

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

FITS UPLOAD. Software di upload automatico file di immagini astronomiche Versione 1.2

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

Prima Esercitazione. Unix e GNU/Linux. GNU/Linux e linguaggio C. Stefano Monti smonti@deis.unibo.it

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

Kroll Ontrack Servizi RDR Guida rapida

Server Galileo.

Console di Amministrazione Centralizzata Guida Rapida

In quest attività sarà installato il sistema operativo Windows XP Professional.

IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)

Fattura Facile. In questo menù sono raggruppati, per tipologia, tutti i comandi che permettono di gestire la manutenzione degli archivi.

COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM

Content Manager 2 Manuale utente

Gestione delle Cartelle dei Messaggi di Posta Elettronica

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza di rete)

Le distrubuzioni GNU/Linux

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Lite Standard Licenza supplementare. Professional Licenza supplementare Licenza Lite Standard Licenza supplementare

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

LaCie Ethernet Disk mini Domande frequenti (FAQ)

Acronis Universal Restore

Acronis Backup & Recovery 10 Server for Linux. Guida introduttiva

Product Shipping Cost Guida d'installazione ed Utilizzo

Quaderni per l'uso di computer

Aggiungere le funzionalità ACN in Iatros

GUIDA OPERATIVA APPLICAZIONE PER LA VISUALIZZAZIONE DELLE FORNITURE DEI DATI DEI FABBRICATI MAI DICHIARATI CON ACCERTAMENTO CONCLUSO

Setup e installazione

SDLXLIFF in Word. Revisionare file SDLXLIFF in MS Word. Guida

D R O P B O X COS È DROPBOX:

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

DOCUMENTAZIONE POISSON

MANUALE EDICOLA 04.05

Guida all uso di periferiche di archiviazione remota (NAS)

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Migriamo da Joomla! 1.5 a 1.7

Aggiornare applicazioni virtualizzate con App-V

Nota: E' necessario che il sistema possa fare il boot da CD per effettuare l'installazione.

Installazione Business Net 2015 come aggiornamento di versione precedente già installata

CopyRaw README Created by EnriKo [Detonatore] - Italy -

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GUIDA ALL INSTALLAZIONE DEI ROTABILI v.1.1 TRAIN SIMULATOR 2014

Guida all installazione Command WorkStation 5.5 con Fiery Extended Applications 4.1

Il software del PC. Il BIOS

DynDNS tra Client e server Linux Ubuntu (Client e server 8.04 LTS)

DevC++ vers Manuale d uso

Riferimento rapido per l'installazione SUSE Linux Enterprise Server 11 SP1

Online Help StruxureWare Data Center Expert

Transcript:

Manutenzione, gestione e compilazione dei pacchetti su piattaforma Linux Marco Pratesi (TELUG) GNU Free Documentation License 1

Outline Ciclo di vita di una distribuzione Durata dell'utilizzo di una distribuzione Sviluppo, rilascio e manutenzione di Mandrake e Debian Applicazione degli updates ufficiali 2 tool grafici tool testuali minimizzazione del consumo di banda Preparazione di CD di pacchetti addizionali Compilazione di pacchetti di sorgenti

Ciclo di vita di una distribuzione Definizione (arbitraria): periodo durante il quale il distributore fornisce supporto, correzioni ed eventualmente aggiornamenti dei pacchetti per la versione in questione. 3

Durata dell'utilizzo di una distribuzione Si può voler aggiornare prima del termine del ciclo di vita della distribuzione: per avvalersi di nuove funzionalità per evitare lo sforzo di backport di nuovi pacchetti se necessario Si può voler invece prolungare l'uso: se le nuove funzionalità non sono necessarie se non ci sono problemi di sicurezza e/o non c'è connessione di rete 4

Sviluppo, rilascio e manutenzione di Mandrake Attualmente si ha una release ogni 6 mesi (in primavera e in autunno). Ogni versione viene manutenuta: per 12 mesi in maniera completa per 18 mesi per l'utilizzo server Il rilascio di una versione è articolato in due fasi: rilascio della versione Community rilascio della versione Official dopo 1-2 mesi di stabilizzazione 5

Sviluppo, rilascio e manutenzione di Debian Lo sviluppo è articolato su 4 rami: Stable - attualmente la 3.0 Woody Testing - attuale codename: Sarge Unstable - anche detta SID Experimental Stable è l'unico ramo ufficialmente supportato. In ordine crescente di potenziale instabilità, Testing, Unstable, Experimental sono i rami di sviluppo della successiva Stable. 6

Sviluppo, rilascio e manutenzione di Debian Date di rilascio delle Stable : 1.1 Buzz : Giugno 1996 1.2 Rex : Dicembre 1996 1.3 Bo : Luglio 1997 2.0 Hamm : Luglio 1998 2.1 Slink : Marzo 1999 2.2 Potato : Agosto 2000 3.0 Woody : Luglio 2002 3.1 Sarge : 2005 (previsione) Attualmente: circa 2-3 anni tra una Stable e la successiva. 7

Sviluppo, rilascio e manutenzione di Debian Ciclo di vita di una Stable : si estende almeno fino al rilascio della Stable successiva normalmente si estende per un ulteriore periodo, per permettere di migrare con calma ad es. la 2.2 Potato è stata manutenuta per quasi un anno anche dopo il rilascio della 3.0 finale Woody 8

Sviluppo, rilascio e manutenzione di Mandrake e Debian Un confronto? bisognerebbe considerare anche vari altri aspetti non avrebbe comunque senso prescindere dall'uso che si deve fare della distribuzione: Mandrake e Debian sono molto diverse qualunque valutazione sarebbe in buona parte soggettiva... e rischierebbe di sconfinare in una distro flamewar ;-) Quindi lasciamo perdere :-))) 9

Applicazione degli updates ufficiali - Mandrake 10

Applicazione degli updates ufficiali - Mandrake Già alla fine dell'installazione, il setup propone di scaricare e applicare gli updates disponibili (opzione disabilitata di default). Tool grafico per effettuare gli updates: Mandrakelinux Update 11

Applicazione degli updates ufficiali - Mandrake Alla prima esecuzione, Mandrakelinux Update propone la scelta di un mirror ufficiale: 12

Applicazione degli updates ufficiali - Mandrake La scelta di default corrisponde al mirror più vicino, ma ovviamente si può fare una scelta diversa. 13

Applicazione degli updates ufficiali - Mandrake /etc/urpmi/urpmi.list --------------------[...] update_source ftp://ftp.club-internet.fr/pub/[...]/updates/10.0/rpms { hdlist: hdlist.update_source.cz with_hdlist:../base/synthesis.hdlist.cz list: list.update_source key-ids: 22458a98 update synthesis } 14

Applicazione degli updates ufficiali - Mandrake Per le esecuzioni successive, non è necessario effettuare nuovamente la scelta del mirror Tale scelta può essere successivamente cambiata eliminando la entry del mirror mediante il Software Media Manager e quindi rieseguendo Mandrakelinux Update Scaricamento della lista di updates disponibili: 15

Applicazione degli updates ufficiali - Mandrake 16

Applicazione degli updates ufficiali - Mandrake 17

Applicazione degli updates ufficiali - Mandrake Il kernel comprende: parte statica (bzimage, vmlinuz...) moduli Ciascuna parte statica carica e scarica dinamicamente i propri moduli... Aggiornamento del kernel: installazione del nuovo kernel (e aggiornamento della configurazione del boot loader), senza disinstallazione del vecchio riavvio con il nuovo kernel disinstallazione del vecchio kernel 18

Applicazione degli updates ufficiali - Mandrake 19

Applicazione degli updates ufficiali - Mandrake /etc/urpmi/inst.list -------------------# Here you can specify packages that need to be installed instead # of being upgraded (typically kernel packages). kernel kernel-smp kernel-secure kernel-enterprise kernel-linus2.2 kernel-linus2.4 kernel22 kernel22-secure kernel22-smp hackkernel Su Mandrake 10.1 tale file è vuoto... 20

Applicazione degli updates ufficiali - Mandrake Si può voler applicare gli updates senza usare un'interfaccia grafica, ad esempio perché si può trattare di un server, su cui può essere inutile/sconsigliabile l'installazione del sistema grafico si può volere/dovere effettuare gli updates su computer remoti; una connessione grafica richiede più banda e può essere meno fluida per motivi di rapidità, automatizzabilità, comodità, ecc. ecc. 21

Applicazione degli updates ufficiali - Mandrake Scelta di un mirror: urpmi.addmedia --update update_source \ ftp://ftp.club-internet.fr/pub/[...]/updates/10.0/rpms \ with../base/hdlist.cz Aggiornamento elenco pacchetti disponibili: urpmi.update -a Applicazione dei nuovi updates: urpmi --auto-select (opzione --noclean, directory /var/cache/urpmi/rpms) 22

Applicazione degli updates ufficiali - Mandrake bash# urpmi.addmedia --update update_source \ ftp://ftp.club-internet.fr/pub/unix/linux/distributions/mandrakelinux/official/updates/10.0/rpms \ with../base/hdlist.cz added medium update_source examining synthesis file [/var/lib/urpmi/synthesis.hdlist.installation CD 1 (x86) (cdrom1).cz] examining synthesis file [/var/lib/urpmi/synthesis.hdlist.installation CD 2 (x86) (cdrom2).cz] examining synthesis file [/var/lib/urpmi/synthesis.hdlist.installation CD 3 (x86) (cdrom3).cz] examining synthesis file [/var/lib/urpmi/synthesis.hdlist.installation CD 4 (x86) (cdrom4).cz] retrieving source hdlist (or synthesis) of "update_source"... ftp://ftp.clubinternet.fr/pub/unix/linux/distributions/mandrakelinux/official/updates/10.0/base/hdlist.cz found probed hdlist (or synthesis) as../base/hdlist.cz...retrieving done examining hdlist file [/var/cache/urpmi/partial/hdlist.update_source.cz] writing list file for medium "update_source" examining pubkey file of "update_source"... built hdlist synthesis file for medium "update_source" found 0 headers in cache removing 0 obsolete headers in cache write config file [/etc/urpmi/urpmi.cfg] /etc/urpmi/urpmi.list --------------------[...] update_source ftp://ftp.club-internet.fr/pub/[...]/updates/10.0/rpms { hdlist: hdlist.update_source.cz with_hdlist:../base/hdlist.cz list: list.update_source key-ids: 22458a98 update } 23

Applicazione degli updates ufficiali - Mandrake Installazione nuovo kernel: urpmi kernel-x.y.z...mdk oppure urpmi --update kernel Disinstallazione vecchio kernel: rpm -e kernel-x.y.z...mdk 24

Applicazione degli updates ufficiali - Mandrake Approcci per la minimizzazione del consumo di banda: effettuare altrove il download di tutti gli updates riutilizzo degli stessi pacchetti su più installazioni effettuare altrove il download dei soli updates necessari uso del firewalling e della skip.list, updates selettivi 25

Applicazione degli updates ufficiali - Mandrake. - - - -`-- 26 RPMS --... --... `--... base -- hdlist.cz -- list -- pubkey -- synthesis.hdlist.cz `-- timestamp descriptions ls-lr md5sums Si effettua altrove il download di tutti gli updates, conservando l'organizzazione in directory usata dal mirror. Si copia tale albero di directory da qualche parte sul file system e lo si aggiunge alle sorgenti software...

Applicazione degli updates ufficiali - Mandrake... aggiungiamolo con il Software Media Manager...... quindi si clicca su Add... 27

Applicazione degli updates ufficiali - Mandrake... se i pacchetti di updates si trovano in /usr/src/rpm/updates/rpms...... quindi si clicca su Ok... 28

Applicazione degli updates ufficiali - Mandrake updates_directory file://usr/src/rpm/updates/rpms { hdlist: hdlist.updates_directory.cz with_hdlist:../base/hdlist.cz list: list.updates_directory key-ids: 22458a98 } 29

Applicazione degli updates ufficiali - Mandrake In alternativa: urpmi.addmedia --update updates_directory \ file://usr/src/rpm/updates/rpms/ \ with../base/hdlist.cz 30 L'opzione --update serve per etichettare la sorgente come un volume di updates; updates_directory è il nome scelto per il volume.

Applicazione degli updates ufficiali - Mandrake bash# urpmi.addmedia --update updates_directory \ file://usr/src/rpm/updates/rpms/ \ with../base/hdlist.cz added medium updates_directory examining synthesis file [/var/lib/urpmi/synthesis.hdlist.installation CD 1 (x86) examining synthesis file [/var/lib/urpmi/synthesis.hdlist.installation CD 2 (x86) examining synthesis file [/var/lib/urpmi/synthesis.hdlist.installation CD 3 (x86) examining synthesis file [/var/lib/urpmi/synthesis.hdlist.installation CD 4 (x86) copying description file of "updates_directory"......copying done copying source hdlist (or synthesis) of "updates_directory"......copying done examining hdlist file [/var/cache/urpmi/partial/hdlist.updates_directory.cz] writing list file for medium "updates_directory" examining pubkey file of "updates_directory"... built hdlist synthesis file for medium "updates_directory" found 0 headers in cache removing 0 obsolete headers in cache write config file [/etc/urpmi/urpmi.cfg] updates_directory file://usr/src/rpm/updates/rpms { hdlist: hdlist.updates_directory.cz with_hdlist:../base/hdlist.cz list: list.updates_directory key-ids: 22458a98 update } 31 (cdrom1).cz] (cdrom2).cz] (cdrom3).cz] (cdrom4).cz]

Applicazione degli updates ufficiali - Mandrake Per risparmiare spazio su disco rigido, si può masterizzare l'albero di updates ad es. su un CD riscrivibile e quindi usare urpmi.addmedia in maniera leggermente diversa: urpmi.addmedia --update "Update CD 1" \ removable://mnt/cdrom/rpms/ \ with../base/hdlist.cz 32

Applicazione degli updates ufficiali - Mandrake Riutilizzo degli stessi pacchetti su più installazioni urpmi.update -a urpmi --auto-select --noclean 33 Se si interrompe il download con CTRL-C, quando si ripete il secondo comando, i pacchetti già scaricati per intero non vengono scaricati una seconda volta; alla fine del download, gli updates vengono spostati in /var/cache/urpmi/rpms/ e quindi applicati.

Applicazione degli updates ufficiali - Mandrake Riutilizzo degli stessi pacchetti su più installazioni Il download dei pacchetti si può effettuare in più riprese; i pacchetti scaricati possono essere copiati nella stessa directory di cache di altri computer con installazioni gemelle ; in tal modo, i pacchetti non vengono scaricati più volte per aggiornare più installazioni; si può anche fare in modo che la directory di cache corrisponda a un file system di rete, ecc. ecc. 34

Applicazione degli updates ufficiali - Mandrake Effettuare altrove il download dei soli updates necessari urpmi.update -a Quindi si stacca la connessione... urpmi --auto-select --noclean --test --force \ > mdk100-updates-list.txt urpmi --test kernel-2.6.3.16mdk-1-1mdk \ >> mdk100-updates-list.txt I messaggi di errore rediretti in mdk100-updates-list.txt contengono le URL dei pacchetti di updates necessari per aggiornare l'installazione. 35

Applicazione degli updates ufficiali - Mandrake Uso del firewalling e della skip.list, updates selettivi Si può pensare di ignorare tutti gli updates non strettamente necessari a garantire la sicurezza del sistema. Ad es. se si tratta di un desktop o di una workstation di sviluppo, il firewall può bastare a proteggere i pacchetti server da attacchi remoti; su Mandrake: tool di configurazione di shorewall. 36

Applicazione degli updates ufficiali - Mandrake Uso del firewalling e della skip.list, updates selettivi Hints: selezione su Mandrake Update dei soli updates realmente necessari /etc/urpmi/skip.list urpmi --update [elenco pacchetti] download manuale, quindi rpm -F... opzioni --excludemedia e --media di urpmi... Maggiore è la competenza, più ci si può spingere nella minimizzazione degli updates da applicare. 37

Preparazione di CD di pacchetti addizionali - Mandrake Per preparare una collezione di pacchetti da dare in pasto a urpmi: si raccolgono i pacchetti in una directory e si dà il comando genhdlist. eventualmente, si masterizza tale directory su CD si usa il comando urpmi.addmedia come già visto Questo approccio può essere utile per preparare CD addizionali che completino la collezione di pacchetti della distribuzione. 38

Preparazione di CD di pacchetti addizionali - Mandrake Mandrake 10.1 Official: circa 1.3-1.4 giga di pacchetti sfusi in download che non trovano spazio sui primi 3 CD ufficiali. Si scaricano tali pacchetti e si ripartiscono ad es. alfabeticamente su 2 directory pressappoco delle stesse dimensioni: ADDCD1/media/additional_download_cd_1/ ADDCD2/media/additional_download_cd_2/ In ciascuna directory si esegue genhdlist. Ciascuna directory viene masterizzata con directory radice padre di media. 39

Preparazione di CD di pacchetti addizionali - Mandrake urpmi.addmedia "Additional Download CD 1" \ removable://mnt/cdrom/media/additional_download_cd_1 \ with hdlist.cz 40

Preparazione di CD di pacchetti addizionali - Mandrake 41

Preparazione di CD di pacchetti addizionali - Mandrake 42

Compilazione di pacchetti di sorgenti - Mandrake Ricompiliamo, su Mandrake 10.1 Official, una versione più nuova di Gqview, facendo il rebuild del pacchetto di sorgenti RPM disponibile sulla Cooker. Scarichiamo gqview-1.5.4-1mdk.src.rpm in /usr/src/rpm/srpms, quindi rpmbuild --rebuild \ /usr/src/rpm/srpms/gqview-1.5.4-1mdk.src.rpm Build requirements: urpmi gtk+2-devel libpng-devel ImageMagick 43

Compilazione di pacchetti di sorgenti - Mandrake warning: user goetz does not exist - using root [...] Installing /usr/src/rpm/srpms/gqview-1.5.4-1mdk.src.rpm Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.85745 + umask 022 + cd /usr/src/rpm/build + cd /usr/src/rpm/build + rm -rf gqview-1.5.4 + /usr/bin/bzip2 -dc /usr/src/rpm/sources/gqview-1.5.4.tar.bz2 + tar -xf + STATUS=0 + '[' 0 -ne 0 ']' + cd gqview-1.5.4 + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.71808 44

Compilazione di pacchetti di sorgenti - Mandrake + umask 022 + cd /usr/src/rpm/build + cd gqview-1.5.4 + CONFIGURE_TOP=. [...] [...SEGUE LA COMPILAZIONE VERA E PROPRIA...] [...] Finding Requires: /usr/lib/rpm/filter.sh ' ' / usr/lib/rpm/find-requires /var/tmp/gqview-1.5.4-1mdk-root i586 Requires(interp): /bin/sh /bin/sh Requires(rpmlib): rpmlib(payloadfileshaveprefix) <= 4.0-1 rpmlib(compressedfilenames) <= 3.0.4-1 Requires(post): /bin/sh Requires(postun): /bin/sh 45

Compilazione di pacchetti di sorgenti - Mandrake Requires: libjpeg-progs libatk-1.0.so.0 libc.so.6 libc.so.6 (GLIBC_2.0) libc.so.6(glibc_2.1) libc.so.6(glibc_2.2) libdl.so.2 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libm.so.6(glibc_2.0) libpango-1.0.so.0 libpangox-1.0.so.0 libpangoxft-1.0.so.0 libpng.so.3 libz.so.1 Checking for unpackaged file(s): /usr/lib/rpm/check-files / var/tmp/gqview-1.5.4-1mdk-root Wrote: /usr/src/rpm/rpms/i586/gqview-1.5.4-1mdk.i586.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.47585 + umask 022 + cd /usr/src/rpm/build + cd gqview-1.5.4 + rm -fr /var/tmp/gqview-1.5.4-1mdk-root + exit 0 Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.47585 + umask 022 + cd /usr/src/rpm/build + rm -rf gqview-1.5.4 + exit 0 46

Compilazione di pacchetti di sorgenti - Mandrake rpm -Uvh /usr/src/rpm/rpms/i586/gqview-1.5.4-1mdk.i586.rpm Oppure rpm -Fvh [...] Nel dettaglio: rpm -qpl /usr/src/rpm/srpms/gqview-1.5.4-1mdk.src.rpm gqview-1.5.4.tar.bz2 gqview.spec rpm -ivh /usr/src/rpm/srpms/gqview-1.5.4-1mdk.src.rpm 1:gqview warning: user goetz does not exist using root warning: group goetz does not exist - using root ########################################### [100%] warning: user goetz does not exist - using root warning: group goetz does not exist - using root 47

Compilazione di pacchetti di sorgenti - Mandrake /usr/src/rpm/specs/gqview.spec -----------------------------[...] BuildRequires: gtk+2-devel BuildRequires: libpng-devel BuildRequires: ImageMagick [...] rpmbuild -bb /usr/src/rpm/specs/gqview.spec rm -rf /usr/src/rpm/build/gqview-1.5.4 rm /usr/src/rpm/sources/gqview-1.5.4.tar.bz2 rm /usr/src/rpm/specs/gqview.spec 48

Compilazione di pacchetti di sorgenti - Mandrake In generale, un.src.rpm contiene anche delle patch: rpm -qpl xchat-2.4.0-2mdk.src.rpm xchat-2.0.4-ctcp_version.patch.bz2 xchat-2.0.8-nicksuffix.patch.bz2 xchat-2.4.0-servlist.patch.bz2 xchat-2.4.0.tar.bz2 xchat.spec Dopo aver installato il.src.rpm, si può personalizzare a piacimento il build, modificando il.spec, eventualmente anche modificando/riducendo/estendendo l'insieme di patch applicate, per poi procedere con il comando di rebuild: rpmbuild -bb... 49

Gestione dei pacchetti su Debian: synaptic 50

Applicazione degli updates su Debian: synaptic Settings Repositories /etc/apt/sources.list --------------------[...] deb http://security.debian.org stable/updates main contrib non-free Reload... 51

Applicazione degli updates su Debian: synaptic 52

Applicazione degli updates su Debian: synaptic... Mark All Upgrades...... Default Upgrade non risolve conflitti e non richiede l'installazione di pacchetti non ancora installati... 53

Applicazione degli updates su Debian: synaptic 54

Applicazione degli updates su Debian: synaptic... Apply... 55

Applicazione degli updates su Debian: synaptic 56

Applicazione degli updates su Debian: synaptic Se si ripete l'applicazione degli updates usando lo Smart Upgrade (che ovviamente si può effettuare anche senza passare prima per il Default Upgrade )... 57

Applicazione degli updates su Debian: synaptic 58

Applicazione degli updates su Debian: synaptic 59

Applicazione degli updates su Debian: synaptic 60

Applicazione degli updates su Debian: dpkg e apt /etc/apt/sources.list --------------------[...] deb http://security.debian.org stable/updates main contrib non-free apt-setup # Analogo a urpmi.addmedia di Mandrake apt-get update # Reload Questo comando aggiorna dei file nella directory /var/lib/apt/lists apt-get -u upgrade # Default Upgrade apt-get -u dist-upgrade # Smart Upgrade Di seguito l'output di apt-get update... 61

Applicazione degli updates su Debian: dpkg e apt Hit http://non-us.debian.org unstable/non-us/main Packages Hit http://non-us.debian.org unstable/non-us/main Release Hit http://non-us.debian.org unstable/non-us/contrib Packages Hit http://non-us.debian.org unstable/non-us/contrib Release Hit http://non-us.debian.org unstable/non-us/non-free Packages Hit http://non-us.debian.org unstable/non-us/non-free Release Hit http://non-us.debian.org unstable/non-us/main Sources Hit http://non-us.debian.org unstable/non-us/main Release Get:1 http://http.us.debian.org unstable/main Packages [3270kB] Get:2 http://http.us.debian.org unstable/main Release [82B] Get:3 http://http.us.debian.org unstable/contrib Packages [73.2kB] Get:4 http://http.us.debian.org unstable/contrib Release [85B] Get:5 http://http.us.debian.org unstable/non-free Packages [66.5kB] Get:6 http://http.us.debian.org unstable/non-free Release [86B] Get:7 http://http.us.debian.org unstable/main Sources [1300kB] Get:8 http://http.us.debian.org unstable/main Release [84B] Get:9 http://http.us.debian.org unstable/contrib Sources [31.6kB] Get:10 http://http.us.debian.org unstable/contrib Release [87B] Get:11 http://http.us.debian.org unstable/non-free Sources [26.4kB] Get:12 http://http.us.debian.org unstable/non-free Release [88B] Fetched 4768kB in 17m2s (4663B/s) Reading Package Lists... Done 62

Applicazione degli updates su Debian: dpkg e apt Di seguito l'output di apt-get -u upgrade... Reading Package Lists... Done Building Dependency Tree... Done The following packages have been kept back: libapache2-mod-php4 php4-cgi php4-cli php4-common php4-dev php4-imap php4-mysql php4-pear The following packages will be upgraded: cupsys-driver-gimpprint cupsys-driver-gimpprint-data gimpprint-doc gimpprint-locales gstreamer0.8-tools libgcrypt11 libgcrypt11-dev libgimpprint1 libgnomecups1.0-1 libgnomeprint2.2-0 libgnomeprint2.2data libgstreamer0.8-0 libnspr4 libnss3 libscrollkeeper0 mozilla-browser mozilla-chatzilla mozilla-dom-inspector mozilla-mailnews mozilla-psm scrollkeeper ssh tasksel xaw3dg 24 upgraded, 0 newly installed, 0 to remove and 8 not upgraded. Need to get 19.9MB of archives. After unpacking 808kB of additional disk space will be used. Do you want to continue? [Y/n] _ 63

Minimizzazione del consumo di banda: Debian Volutamente trascuriamo l'ipotesi di scaricare tutti gli updates disponibili: 64 non è particolarmente agevole individuarli (non sono messi tutti e soli in un albero di directory come per Mandrake) Debian è una distribuzione molto voluminosa, quindi verosimilmente solo una piccola parte degli updates riguardano l'installazione da mantenere aggiornata.

Minimizzazione del consumo di banda: Debian Effettuare altrove il download dei soli updates necessari Usando il pacchetto apt-zip: apt-get update apt-zip-list --skip-mount Quindi, dove si ha banda, si esegue lo script così ottenuto: fetch-script-wget* I pacchetti così scaricati vengono messi in /var/cache/apt/archives/ Si procede con synaptic, oppure si esegue apt-get -u upgrade 65

Minimizzazione del consumo di banda: Debian Altra dritta : usare l'opzione --print-uris apt-get install --print-uris \ kernel-patch-debian-2.6.8 \ kernel-source-2.6.8 L'output mostra le URL dei pacchetti da scaricare e installare, che andranno messi in /var/cache/apt/archives/ apt-get install kernel-patch-debian-2.6.8 \ kernel-source-2.6.8 Se si hanno più installazioni da mantenere aggiornate, come nel caso di Mandrake, gli updates applicati al primo computer possono essere usati anche su tutti gli altri, semplicemente mettendoli in /var/cache/apt/archives/ 66

Minimizzazione del consumo di banda: Debian Per effettuare gli updates in maniera selettiva : file di configurazione /etc/apt/preferences -------------------[...] Package: kernel-source-2.6.8 Pin: version 2.6.8-7 [...] Package: mozilla-browser-1.7.3 Pin: version 1.7.3-3 [...] Analogia con /etc/urpmi/skip.list di Mandrake. Vedere apt_preferences(5) e apt-howto per i dettagli. 67

Preparazione di CD di pacchetti addizionali - Debian Vedere il Make Debian Packages CD-ROM di Gianfranco Di Prinzio: http://www.telug.it/gianfranco/mkdpkg/mkdpkg.html 68

Compilazione di pacchetti di sorgenti - Debian Ricompilazione su Debian SID dei sorgenti di Xchat presi da Debian Experimental: apt-get install dpkg-dev Si scaricano i file xchat_2.4.0-0.1.diff.gz xchat_2.4.0-0.1.dsc xchat_2.4.0.orig.tar.gz dpkg-source -x xchat_2.4.0-0.1.dsc dpkg-source: extracting xchat in xchat-2.4.0 cd xchat-2.4.0 dpkg-buildpackage -b Hint: in altre situazioni può essere utile il comando apt-get source [...] 69

Compilazione di pacchetti di sorgenti - Debian dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>> 4) bison libperl-dev gettext (>= 0.10.37-1) libtool python2.3-dev tcl8.4dev dpkg-buildpackage: Build dependencies/conflicts unsatisfied; aborting. dpkg-buildpackage: (Use -d flag to override.) apt-get install debhelper bison libperl-dev gettext libtool python2.3-dev tcl8.4-dev dpkg-buildpackage -b 70

Compilazione di pacchetti di sorgenti - Debian [...] dh_builddeb -pxchat-common dpkg-deb: building package `xchat-common' in `../xchatcommon_2.4.0-0.1_all.deb'. [...] dpkg-deb: building package `xchat-text' in `../xchattext_2.4.0-0.1_i386.deb'. dpkg-deb: building package `xchat' in `../xchat_2.4.00.1_i386.deb'. dpkg-genchanges -b dpkg-genchanges: binary-only upload - not including any source code dpkg-buildpackage: binary only upload (no source included) cd.. dpkg -i xchat-common_2.4.0-0.1_all.deb xchat-text_2.4.00.1_i386.deb xchat_2.4.0-0.1_i386.deb 71

Compilazione di pacchetti di sorgenti - Debian Notare che, nel caso di nuova revisione del pacchetto, è sufficiente scaricare i nuovi. diff.gz e.dsc e non serve riscaricare il -orig.tar.gz, il che comporta un notevole risparmio di banda Per personalizzare a piacimento il build, si può partire dal modificare di conseguenza i file debian/rules debian/control 72

RINGRAZIAMENTI Sono lieto di ringraziare Gianfranco Di Prinzio Michele Antonecchia Damiano Verzulli per i consigli e le dritte fornite. 73