3 581
contributi
Nessun oggetto della modifica |
|||
(8 versioni intermedie di un altro utente non mostrate) | |||
Riga 3: | Riga 3: | ||
==Introduzione== | ==Introduzione== | ||
Su Debian abbiamo fondamentalmente due tipi di pacchetti: i binari e i | Su Debian abbiamo fondamentalmente due tipi di pacchetti: i binari e i sorgenti.<br/> | ||
sorgenti. | Il sistema [[APT]] opera su questi pacchetti che non necessariamente coincidono col significato generico di programma, infatti ci sono pacchetti che forniscono solo librerie necessarie a uno o più applicativi, ma di per se non direttamente utilizzabili dall'utente. Si ha dunque una struttura estremamente complessa dove un pacchetto dipende da altri pacchetti e a sua volta può essere un requisito per altri applicativi. Fortunatamente la gestione del sistema è fortemente automatizzata, gli strumenti precedentemente citati sono tutti in grado di fornire una lista di pacchetti necessari (chiamati dipendenze), consigliati e di pacchetti suggeriti, inoltre possono rimuovere un programma conservandone i file di configurazione, oppure eliminarlo totalmente; possono anche mostrare la descrizione di ogni pacchetto o ricercare quale pacchetto contiene una certa parola chiave nella descrizione, possono aggiornare in blocco l'intero sistema usando varie politiche di aggiornamento, possono installare i sorgenti di un pacchetto e gestire le dipendenze necessarie alla compilazione, possono infine molto altro ancora. Premesso questo è bene sapere che esistono fondamentalmente tre tipi di pacchetti, i binari, i sorgenti e i [[metapacchetto|metapacchetti]]. | ||
==Pacchetti binari== | ==Pacchetti binari== | ||
Riga 147: | Riga 147: | ||
apache apacheconfig apachectl</pre> | apache apacheconfig apachectl</pre> | ||
==Pacchetti | == Pacchetti sorgente == | ||
I pacchetti sorgente possono essere di due tipi: | |||
;pacchetti nativi: sorgenti la cui struttura e contenuto aderisce alla [[Debian Policy]]. A partire da questi pacchetti è possibile costruire un file .deb . | |||
;pacchetti non nativi: sorgenti non pensati specificamente per Debian e che, pertanto, necessitano di modifiche da parte dei [[Maintainer|Debian Maintainers]] o dei [[Debian Developer|Debian Developers]] per poter costituire la base per la creazione di un pacchetto binario .deb . | |||
I pacchetti | === Pacchetti non nativi === | ||
un | I pacchetti sorgente non nativi costituiscono la stragrande maggioranza dei file sorgente e, prima di poter entrare a far parte di un [[repository]] Debian, devono essere modificati per poter aderire alla Debian Policy. La modifica più importante a questi sorgenti è la creazione della directory "debian".<br/> | ||
< | Questi sorgenti sono costituiti da due archivi e un file di testo: | ||
* un file <code>.dsc</code> che descrive il pacchetto | |||
* un archivio compresso <code>.orig.tar.gz</code> che contiene i sorgenti originali del software | |||
* un <code>.diff.gz</code> (o con nome simile) contenente le [[patch]] applicate da Debian al pacchetto. | |||
<pre> # | <pre> | ||
# apt-get source irssi-text | |||
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 <code>.dsc</code> contiene la versione del software, l'[[architettura]] per cui è stato scritto, la [[dipendenze]] da soddisfare, il checksum [[SHA]] dei due archivi per verificarne l'integrità e la firma [[GPG]] per accertarsi che i pacchetti provengano da una fonte sicura. | |||
<pre> | |||
# cat irssi-text_0.8.9-3.dsc | |||
-----BEGIN PGP SIGNED MESSAGE----- | |||
Hash: SHA1 | |||
Format: 1.0 | |||
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----- | |||
Version: GnuPG v1.2.5 (GNU/Linux) | |||
iD8DBQFCQU0ffDt5cIjHwfcRAoApAKCL5BUc7i9X3iQIQyapUJboWF9IPACgrWPd/t+qP8OkRmh1e6mUH8wz+ic==TYfB | |||
-----END PGP SIGNATURE----- | |||
</pre> | |||
I file di control già visti nei pacchetti binari sono anche qui, 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 <u>non</u> seguire la procedura <code>./configure;make;make install</code>; perché il pacchetto non verrà tracciato, non si potrà prenderne informazioni tramite <code>dpkg-query</code> e per la rimozione bisognerà procedere manualmente, con il rischio di 'sporcare' la distribuzione.<br/> | |||
È meglio usare strumenti quali <code>dpkg-buildpackage</code> e <code>apt-build</code> (per cui rimando alle pagine di man) per avere i vantaggi della compilazione senza 'sporcare' il sistema. | |||
< | |||
== Metapacchetti == | |||
Leggere la guida: [[Gestione dei metapacchetti]] | |||
{{Autori | |||
|Autore=[[User:sync|sync]] | |||
}} | |||
[[Categoria:Apt]] | [[Categoria:Apt]] | ||
[[Categoria:Creare e modificare pacchetti]] | [[Categoria:Creare e modificare pacchetti]] | ||
[[Categoria:Gestione Pacchetti]] | [[Categoria:Gestione dei Pacchetti]] |
contributi