|
|
Riga 1: |
Riga 1: |
| | ==Introduzione== |
|
| |
|
| Su debian abbiamo fondamentalmente due tipi di pacchetti: i binari e i
| | La velocit� con cui scarichiamo gli aggiornamenti per la nostra distribuzione preferita, soprattutto se questi sono frequenti, � molto importante e ci pu� far risparmiare del tempo prezioso. Molti fattori influiscono nel determinare la qualit� della connessione tra il nostro computer e il server web che vogliamo raggiungere. Con apt-spy � possibile testare una lista di mirror dei repository debian per vedere quale risulta pi� veloce per la nostra connessione. |
| sorgenti. Partiamo dai primi.
| |
|
| |
|
| ==Pacchetti binari==
| |
|
| |
|
| I pacchetti binari sono archivi contenenti eseguibili, file di
| | ==Installazione== |
| configurazione e documentazione che assieme formano un'applicazione.
| |
| Sotto debian, i binari hanno il suffisso .deb (c'è la possibilità anche
| |
| di usare rpm, ma questa è un'altra storia...).
| |
| Vediamo cosa contiene un archivio .deb:
| |
|
| |
|
| <pre> # ls | | Per installare apt-spy, � sufficiente un |
| apache_1.3.33-6_i386.deb
| | <pre> |
| # ar -tv apache_1.3.33-6_i386.deb
| | # apt-get install apt-spy |
| rw-r--r-- 0/0 4 May 11 11:34 2005 debian-binary
| | </pre> |
| rw-r--r-- 0/0 13852 May 11 11:34 2005 control.tar.gz
| |
| rw-r--r-- 0/0 369530 May 11 11:34 2005 data.tar.gz</pre>
| |
|
| |
|
| Abbiamo un file e due tarball. Procediamo estraendo questi ultimi.
| |
|
| |
|
| <pre> # ar -x apache_1.3.33-6_i386.deb
| | ==Configurazione== |
| # ls
| |
| apache_1.3.33-6_i386.deb control.tar.gz data.tar.gz debian-binary
| |
| # cat debian-binary
| |
| 2.0</pre>
| |
|
| |
|
| Il file debian-binary stabilisce la versione del formato deb, in questo | | Il parametro -a di apt-spy permette di restringere la ricerca solo su una determinata area geografica (es: nord america, europa, ...). Queste zone sono definite nel file '''/etc/apt-spy.conf''' e pu� tornare utile definirne una personalizzata per risparmiare tempo. |
| caso la 2.0. Estraiamo gli archivi control.tar.gz e data.tar.gz.
| |
|
| |
|
| <pre> # tar xvzf control.tar.gz
| | La seguente lista ad esempio contiene solo le nazioni che hanno dato risultati migliori sul mio precedente test in cui ho usato l'Europa come area: |
| ./
| |
| ./config
| |
| ./templates
| |
| ./postinst
| |
| ./preinst
| |
| ./prerm
| |
| ./postrm
| |
| ./conffiles
| |
| ./control
| |
| ./md5sums
| |
| # tar xvzf data.tar.gz
| |
| ./
| |
| ./etc/
| |
| ./etc/apache/
| |
| ./etc/apache/conf.d/
| |
| ./etc/init.d/
| |
| ./etc/init.d/apache
| |
| ./etc/logrotate.d/
| |
| ./etc/logrotate.d/apache
| |
| ./usr/
| |
| ./usr/lib/
| |
| ./usr/lib/apache/
| |
| ./usr/lib/apache/suexec.disabled
| |
| ./usr/lib/cgi-bin/
| |
| ./usr/sbin/
| |
| ./usr/sbin/apache
| |
| ./usr/sbin/apachectl
| |
| ./usr/share/
| |
| ./usr/share/bug/
| |
| ./usr/share/bug/apache/
| |
| ./usr/share/bug/apache/presubj
| |
| ./usr/share/doc/
| |
| ./usr/share/doc/apache/
| |
| ./usr/share/doc/apache/examples/
| |
| ...</pre>
| |
|
| |
|
| L'archivio control.tar.gz contiene le informazioni riguardanti il
| | <pre> |
| pacchetto e le sue dipendenze e degli script che vengono lanciati prima
| | Custom-Area: |
| e dopo l'installazione o la rimozione.
| | AT |
| Il file control contiene il nome del pacchetto, la sua versione, la
| | DE |
| sezione, la priorità, l'architettura per cui è stato compilato il
| | DK |
| pacchetto, le dipendenze, il maintainer del pacchetto e la sua
| | GB |
| descizione. Diamogli un'occhiata.
| | GR |
| | HR |
| | IT |
| | NO |
| | PT |
| | RO |
| | </pre> |
|
| |
|
| <pre> # cat control
| |
| Package: apache
| |
| Version: 1.3.33-6
| |
| Section: web
| |
| Priority: optional
| |
| Architecture: i386
| |
| Depends: libc6 (>= 2.3.2.ds1-21), libdb4.2, libexpat1 (>= 1.95.8),
| |
| mime-support, apache-common (>= 1.3.33-6), apache-common (<< 1.3.34-0),
| |
| perl (>= 5.8.4-2), logrotate (>= 3.5.4-1), dpkg (>> 1.9.0), libmagic1,
| |
| debconf
| |
| Suggests: apache-doc
| |
| Conflicts: apache-modules, libapache-mod-perl (<= 1.17-1), jserv (<=
| |
| 1.1-3)
| |
| Replaces: apache-modules
| |
| Provides: httpd-cgi, httpd
| |
| Installed-Size: 700
| |
| Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org>
| |
| Description: versatile, high-performance HTTP server
| |
| The most popular server in the world, Apache features a modular
| |
| design and supports dynamic selection of extension modules at runtime.
| |
| Some of its strong points are its range of possible customization,
| |
| dynamic adjustment of the number of server processes, and a whole
| |
| range of available modules including many authentication mechanisms,
| |
| server-parsed HTML, server-side includes, access control, CERN httpd
| |
| metafiles emulation, proxy caching, etc. Apache also supports multiple
| |
| virtual homing.
| |
| .
| |
| Separate Debian packages are available for PHP, mod_perl, Java
| |
| Servlet support, Apache-SSL, and other common extensions. More
| |
| information is available at http://www.apache.org/.</pre>
| |
|
| |
|
| Un pacchetto può avere priorità required, ossia è necessario al funzionamento
| | ==Utilizzo== |
| del sistema, important, quindi costituisce la base del sistema, standard,
| |
| cioè i pacchetti comuni presenti su sistemi non troppo minimali, optional,
| |
| i pacchetti totalmente opzionali, quindi X11, Emacs, e via dicendo, e infine
| |
| extra, che contiene pacchetti aventi caratteristiche particolari che li
| |
| distinguono dagli optional.
| |
| Oltre alle dipendenze vere e proprie(nel caso di sopra le libc, dpkg,
| |
| debconf, ecc.), abbiamo anche altri pacchetti citati, ossia i suggested
| |
| packages, quindi quelli che possono funzionare bene assieme al pacchetto
| |
| che si sta installando, i recommended, che comunemente vengono
| |
| installati assieme a quest'ultimo, i conflicts e i replaced packages,
| |
| rispettivamente i pacchetti con cui va in contrasto e che sostituisce, e
| |
| infine i provided services, i servizi che il pacchetto fornisce (in
| |
| questo caso, demone http con supporto cgi).
| |
| Guardiamo ora conffiles:
| |
|
| |
|
| <pre> # cat conffiles | | Per prima cosa aggiornate la lista dei mirror: |
| /etc/init.d/apache
| | <pre> |
| /etc/logrotate.d/apache</pre>
| | # apt-spy update |
| | </pre> |
|
| |
|
| Vengono elencati i file di configurazione che verrano creati.
| | A questo punto siete pronti per lanciare apt-spy: |
| Gli scripts di cui parlavo prima sono postinst, postrm, preinst e prerm,
| |
| che si occupano come già detto delle operazione pre e post
| |
| installlazione/rimozione.
| |
|
| |
|
| L'archivio data.tar.gz contiene tutti i file che verranno effettivamente
| | <pre> |
| disposti nel filesystem.
| | $ apt-spy -d unstable -o new_sources.list -a Custom-Area -w top5mirrors.txt |
| Diamo per esempio un'occhiata alla directory usr:
| | </pre> |
|
| |
|
| <pre> # ls
| | Vediamo i parametri usati: |
| apache_1.3.33-6_i386.deb control.tar.gz md5sums prerm
| |
| conffiles data.tar.gz postinst templates
| |
| config debian-binary postrm usr
| |
| control etc preinst var
| |
| # ls usr
| |
| lib sbin share
| |
| # ls usr/sbin
| |
| apache apacheconfig apachectl</pre>
| |
|
| |
|
| ==Pacchetti sorgenti==
| | ; -d: specifica la distribuzione da usare (stable, testing, unstable, ..) |
|
| |
|
| I pacchetti sorgenti sono costituiti da due archivi e un file di testo:
| | ; -o: specifica il file in cui salvare il sources.list generato; di default verrebbe salvato in /etc/apt/sources.list per questo � consigliato specificare un nome diverso in modo che il nostro sources.list non venga sovrascritto! |
| un file .dsc che descrive il pacchetto, un archivio .orig.tar.gz che
| |
| contiene i sorgenti originali del software, e un .diff.gz contenente le
| |
| patch applicate da debian al pacchetto.
| |
|
| |
|
| <pre> # apt-get source irssi-text
| | ; -a: specifica l'area da usare |
| Reading Package Lists... Done
| |
| Building Dependency Tree... Done
| |
| Need to get 1168kB of source archives.
| |
| Get:1 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (dsc)
| |
| [691B]
| |
| Get:2 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (tar)
| |
| [1154kB]
| |
| Get:3 http://ftp.de.debian.org unstable/main irssi-text 0.8.9-3 (diff)
| |
| [13.9kB]
| |
| Fetched 1168kB in 11s (103kB/s)
| |
| dpkg-source: extracting irssi-text in irssi-text-0.8.9
| |
| # ls
| |
| irssi-text-0.8.9 irssi-text_0.8.9-3.dsc
| |
| irssi-text_0.8.9-3.diff.gz irssi-text_0.8.9.orig.tar.gz</pre>
| |
|
| |
|
| Il file .dsc contiene la versione del software, l'architettura per cui è
| | ; -w: specifica in quale file scrivere la lista dei migliori server trovati; il numero predefinito di server di server che verranno listati � 5 |
| stato scritto, la dipendenze da soddisfare e gli hash dei due archivi
| |
| per verificarne l'integrità.
| |
|
| |
|
| <pre> # cat irssi-text_0.8.9-3.dsc
| |
| -----BEGIN PGP SIGNED MESSAGE-----
| |
| Hash: SHA1
| |
|
| |
|
| Format: 1.0
| | Altre opzioni interessanti: |
| Source: irssi-text
| |
| Version: 0.8.9-3
| |
| Binary: irssi-text
| |
| Maintainer: David Pashley <david@davidpashley.com>
| |
| Architecture: any
| |
| Standards-Version: 3.6.1
| |
| Build-Depends: libglib2.0-dev, perl (>= 5.8.1), libperl-dev (>= 5.8.1),
| |
| libncurses5-dev, debhelper (>= 3.0.18), libssl-dev, openssl,
| |
| autotools-dev
| |
| Files:
| |
| 1df516a770656ff0bec0ab62f9096bf6 1153560 irssi-text_0.8.9.orig.tar.gz
| |
| 37f128f0dafa596c006090a1036ec9b2 13944 irssi-text_0.8.9-3.diff.gz
| |
|
| |
|
| -----BEGIN PGP SIGNATURE-----
| | ; -t: specifica il tempo aprossimativo per ogni test; di default � 15 secondi |
| Version: GnuPG v1.2.5 (GNU/Linux)
| |
|
| |
|
| iD8DBQFCQU0ffDt5cIjHwfcRAoApAKCL5BUc7i9X3iQIQyapUJboWF9IPACgrWPd
| | ; -n: specifica il numero di server migliori da scrivere nel file specificato con -w |
| /t+qP8OkRmh1e6mUH8wz+ic=
| |
| =TYfB
| |
| -----END PGP SIGNATURE-----</pre>
| |
|
| |
|
| I file di control già visti nei pacchetti binari sono anche qui,
| | ; -s: lista di nazioni, separate da virgola, da testare. Al momento non pu� essere usato insieme all'opzione -a. ''Per conoscere i codici delle nazioni potete guardare il file /etc/apt-spy.conf''. |
| contenuti nella cartella debian dell'archivio.
| |
|
| |
|
| <pre> # ls irssi-text-0.8.9
| |
| AUTHORS README.cygwin config.sub findsyntax.pl ltmain.sh
| |
| COPYING TODO configure install-sh missing
| |
| ChangeLog acconfig.h configure.in irssi-config.in mkinstalldirs
| |
| INSTALL aclocal.m4 curses.m4 irssi-icon.png scripts
| |
| Makefile.am autogen.sh debian irssi-version.h.in src
| |
| Makefile.in colorless.theme default.theme irssi.conf stamp-h.in
| |
| NEWS config.guess docs irssi.spec stamp.h.in
| |
| README config.h.in file2header.sh irssi.spec.in syntax.pl
| |
| # ls irssi-text-0.8.9/debian
| |
| botti.1 conffiles copyright irssi-text.postinst prerm undocumented
| |
| changelog control dirs menu rules</pre>
| |
|
| |
| Nel caso si stia installando un pacchetto sorgente, è bene non seguire
| |
| la procedura ./configure;make;make install; perchè il pacchetto non
| |
| verrà tracciato, non si potrà prenderne informazioni tramite dpkg-query
| |
| e per la rimozione bisognerà procedere manualmente, con il rischio di
| |
| 'sporcare' la distro.
| |
| E' meglio usare strumenti quali dpkg-buildpackage e apt-build (per
| |
| cui rimando alle pagine di man) per avere i vantaggi della compilazione
| |
| senza 'sporcare' il sistema.
| |
|
| |
|
| ==Metapacchetti==
| | ---- [[Utente:Virtual DarKness|Virtual DarKness]] 09:55, May 31, 2005 (EDT) |
| | | [[Categoria:Apt]] |
| Esiste un tipo particolare di pacchetto detto metapacchetto. Questo è un
| |
| pacchetto che in realtà non contiene alcun eseguibile o sorgente. Serve
| |
| semplicemente per installare tutto l'insieme di pacchetti (a volte a
| |
| loro volta metapacchetti) che lo costituisce.
| |
| Un esempio è kde:
| |
| | |
| <pre> # ls -l
| |
| total 6348
| |
| -rw-r--r-- 1 root root 6486276 Jan 26 17:32 kdebase_2.2.2-14.9_i386.deb</pre>
| |
| | |
| Già le dimensioni lasciano presagire qualcosa: come può un pacchetto
| |
| come kdebase occupare solo poco più di 6 Mb? Spacchettiamolo:
| |
| | |
| <pre> # ar -x kdebase_2.2.2-14.9_i386.deb
| |
| # ls
| |
| control.tar.gz data.tar.gz debian-binary kdebase_2.2.2-14.9_i386.deb
| |
| # tar xvzf data.tar.gz
| |
| ./
| |
| ./usr/
| |
| ./usr/share/
| |
| ./usr/share/doc/
| |
| ./usr/share/doc/kdebase/
| |
| ./usr/share/doc/kdebase/README.pam
| |
| ./usr/share/doc/kdebase/README.Debian
| |
| ./usr/share/doc/kdebase/copyright
| |
| ./usr/share/doc/kdebase/README.gz
| |
| ./usr/share/doc/kdebase/changelog.Debian.gz
| |
| ./usr/share/doc/kde/
| |
| ./usr/share/doc/kde/HTML/
| |
| ./usr/share/doc/kde/HTML/en/
| |
| ./usr/share/doc/kde/HTML/en/kcontrol/
| |
| ./usr/share/doc/kde/HTML/en/kdebugdialog/
| |
| ./usr/share/doc/kde/HTML/en/kdesu/
| |
| ./usr/share/doc/kde/HTML/en/kdm/
| |
| ./usr/share/doc/kde/HTML/en/khelpcenter/
| |
| ./usr/share/doc/kde/HTML/en/khelpcenter/faq/
| |
| ./usr/share/doc/kde/HTML/en/khelpcenter/glossary/
| |
| ./usr/share/doc/kde/HTML/en/khelpcenter/quickstart/
| |
| ./usr/share/doc/kde/HTML/en/khelpcenter/userguide/
| |
| ./usr/share/doc/kde/HTML/en/khelpcenter/visualdict/
| |
| ...</pre>
| |
| | |
| L'archivio data.tar.gz contiene solo documentazione e delle librerie.
| |
| Diamo un'occhiata al control:
| |
| | |
| <pre> station:/opt# tar xvzf control.tar.gz
| |
| ./
| |
| ./shlibs
| |
| ./postinst
| |
| ./preinst
| |
| ./prerm
| |
| ./postrm
| |
| ./conffiles
| |
| ./md5sums
| |
| ./control
| |
| station:/opt# cat control
| |
| Package: kdebase
| |
| Version: 4:2.2.2-14.9
| |
| Section: x11
| |
| Priority: optional
| |
| Architecture: i386
| |
| Depends: kdelibs3 (>= 4:2.2.2-1), libc6 (>= 2.2.4-4), libfam0,
| |
| libjpeg62, libkonq3 (>= 4:2.2.2-14.9), libpng2(>=1.0.12), libqt2 (>=
| |
| 3:2.3.1-1), libstdc++2.10-glibc2.2 (>= 1:2.95.4-0.010810), xlibs (>>
| |
| 4.1.0), zlib1g (>= 1:1.1.4), debianutils (>= 1.6), xfree86-common,
| |
| libpam-modules, kdewallpapers, kdebase-libs (= 4:2.2.2-14.9)
| |
| Recommends: kdebase-doc, konqueror, konsole, kate | kedit | kword,
| |
| libarts | libarts-alsa, kdebase-audiolibs | kdebase3-audiolibs, kscreensaver
| |
| Suggests: menu (>=1.5-5), kdm | x-display-manager, kde-i18n,
| |
| libpam-cracklib, xscreensaver, xscreensaver-gl, xearth, xplanet, usbutils
| |
| Provides: x-session-manager
| |
| Installed-Size: 16280
| |
| Maintainer: Christopher L Cheney <ccheney@debian.org>
| |
| Description: KDE core applications
| |
| This is a suite of all kde core applications :
| |
| Includes: kicker, kwin, kdesktop and others...</pre>
| |
| | |
| In realtà, vediamo che a costituire il cuore di kde sono le sue
| |
| dipendenze. Senza i metapacchetti bisognerebbe installare uno per uno i
| |
| pacchetti che costituiscono kde.
| |
| | |
| | |
| | |
| ---- [[User:sync|sync]]
| |