|
|
(58 versioni intermedie di 4 utenti non mostrate) |
Riga 1: |
Riga 1: |
| | {{Repository |
| | |precedente=Gestione di un repository con debarchiver |
| | }} |
| | {{Template:APT}} |
| {{Versioni compatibili}} | | {{Versioni compatibili}} |
| | | == Introduzione == |
| ==Introduzione== | | Il sistema [[APT]] (Advanced Packaging Tool) è, semplificando, un insieme di strumenti atti a permettere l'installazione e la successiva gestione di moltissimi programmi. Volendo essere più precisi l'apt-system creato dagli sviluppatori di Debian è un insieme di strumenti che si interfacciano con il programma [[dpkg]] allo scopo di snellire/agevolare la gestione di pacchetti e [[dipendenze]] nei sistemi Debian GNU/Linux. Notoriamente chi prende confidenza con Debian difficilmente sarà tentato di cambiare distribuzione, e questo anche grazie a questo splendido set di tool.<br> |
| Il sistema APT (Advanced Package Manager) è, semplificando, un insieme di strumenti atti a permettere l'installazione e la successiva gestione di moltissimi programmi. Volendo essere più precisi l'apt-system creato dagli sviluppatori di Debian è un insieme di script che si appoggiano al comando <code>dpkg</code> allo scopo di snellire/agevolare la gestione di pacchetti e [[dipendenze]] nei sistemi Debian GNU/Linux. Notoriamente chi prende confidenza con Debian difficilmente sarà tentato di cambiare distribuzione, e questo anche grazie a questo splendido set di tool.<br> | |
| Esistono due strade per installare un programma sul proprio computer: | | Esistono due strade per installare un programma sul proprio computer: |
| * tramite APT; | | * tramite APT; |
| * scaricando e compilando manualmente i sorgenti dei vari programmi. | | * scaricando e compilando manualmente i sorgenti dei vari programmi. |
| La prima soluzione è infinitamente più comoda e rapida, mentre la seconda in genere viene intrapresa solo se si hanno particolari necessità o se un certo programma non è disponibile tramite APT. | | La prima soluzione è infinitamente più comoda e rapida, nonché l'unica sicura, in quanto ogni [[pacchetto]] scaricato dai [[repository]] da APT è autenticato, ha un'origine controllata e verrà poi aggiornato dal sistema in automatico assieme a tutti gli altri programmi, in base alla policy adottata dalla propria [[release]] riguardo gli aggiornamenti. La seconda invece viene intrapresa solo se si hanno particolari necessità o se un certo programma non è disponibile tramite APT, ma chiaramente tutte le responsabilità di aggiornamento e verifica dell'autenticità sono a carico dell'amministratore, motivo per cui è sconsigliata in tutti gli altri casi. |
| Come anticipato esistono diversi strumenti per gestire il sistema APT:
| |
| * [[Synaptic]], disponibile in ambienti grafici come GNOME, KDE, ecc. è tra gli strumenti più semplice da usare, consigliato a tutti ed in particolar modo agli utenti alle prime armi.
| |
| * [[Aptitude]], è il più potente strumento grafico a caratteri per la gestione dei pacchetti
| |
| * Apt-Get e dpkg, strumenti a riga di comando brevemente descritti nell'apposita sezione di questa pagina.
| |
| * [[Wajig]]
| |
|
| |
|
| ==I Pacchetti== | | == Strumenti == |
| Nel primo paragrafo si è generalmente parlato di ''programmi'' per usare un termine piuttosto noto, ma sfortunatamente improprio in questo contesto. Il sistema APT mette a disposizione dei '''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.
| | Esistono diversi strumenti per gestire il sistema APT, e di seguito sono presentati i principali, partendo da quelli presenti in ogni installazione di Debian: |
| 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 metapacchetti.
| |
|
| |
|
| ===Pacchetti binari===
| | * [[apt-get]], [[apt-cache]] e [[apt-mark]] sono i tre principali comandi contenuti nel pacchetto '''apt''', e insieme costituiscono il modo più basilare e diffuso di gestione dei pacchetti tramite linea di comando. Sono presenti in ogni installazione di Debian. |
| | * [[apt]], introdotto con Debian 8 ([[Jessie]]) nel pacchetto omonimo assieme ai tre precedenti comandi, per svolgere in modo più semplice e intuitivo le funzioni più basilari di APT con la supervisione dell'utente. |
| | * [[aptitude]], è lo strumento più avanzato per la gestione dei pacchetti, disponibile sia con interfaccia grafica a caratteri sia con interfaccia a linea di comando. Storico programma presente in ogni installazione standard di Debian dalla sua introduzione fino a [[Jessie]], a partire da Debian 9 ([[Stretch]]) va installato esplicitamente. |
| | * [[synaptic]], disponibile in ambienti grafici come GNOME, KDE, ecc. è tra gli strumenti più semplice da usare, consigliato a tutti ed in particolar modo agli utenti alle prime armi. |
| | e molti altri. |
|
| |
|
| I pacchetti binari sono archivi contenenti eseguibili, file di
| | == Breve sommario delle operazioni base di APT == |
| configurazione e documentazione che assieme formano un'applicazione.
| | In questa sezione si mostra brevemente come installare, aggiornare e rimuovere i programmi con APT tramite i comandi contenuti nel pacchetto '''apt''', gli unici sempre disponibili in un sistema Debian. |
| 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 maggiori informazioni si rimanda invece a: [[Guida ai comandi da terminale - Gestione di repository e pacchetti]]. |
| apache_1.3.33-6_i386.deb
| |
| # ar -tv apache_1.3.33-6_i386.deb
| |
| rw-r--r-- 0/0 4 May 11 11:34 2005 debian-binary
| |
| 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.
| | === Aggiorna informazioni === |
| | Aggiorna la lista dei pacchetti disponibili, recuperando le informazioni più aggiornate dai [[repository]]: |
| | <pre># apt update</pre> |
| | Sono richiesti [[privilegi di amministrazione]]. |
|
| |
|
| <pre> # ar -x apache_1.3.33-6_i386.deb
| | L'operazione va sempre effettuata: |
| # ls
| | * prima dell'aggiornamento dei pacchetti; |
| apache_1.3.33-6_i386.deb control.tar.gz data.tar.gz debian-binary
| | * dopo ogni modifica dei repository, per renderla effettiva; |
| # cat debian-binary
| | * prima dell'installazione di nuovi pacchetti, se non si è già effettuata di recente. |
| 2.0</pre>
| |
|
| |
|
| Il file <code>debian-binary</code> stabilisce la versione del formato deb, in questo
| | === Aggiornamento del sistema === |
| caso la 2.0. Estraiamo gli archivi <code>control.tar.gz</code> e <code>data.tar.gz</code>.
| | Aggiorna il sistema (da effettuarsi periodicamente), eseguendo con [[privilegi di amministrazione]]: |
| | <pre> |
| | # apt update |
| | # apt upgrade |
| | </pre> |
| | Come già visto il primo comando recupera le informazioni più recenti dai [[repository]], mentre il secondo installa le versioni più aggiornate dei pacchetti già installati, installandone di nuovi eventualmente ma senza rimuovere quelli non più necessari. |
|
| |
|
| <pre> # tar xvzf control.tar.gz | | Per forzare un aggiornamento completo, se il comando precedente non funziona, sempre dopo aver ottenuto i [[privilegi di amministrazione]]: |
| ./
| | <pre> |
| ./config
| | # apt full-upgrade |
| ./templates
| | </pre> |
| ./postinst
| | Per una Debian [[stable]] non è in genere necessario, se non per effettuare il passaggio di versione alla successiva quando una nuova stable è rilasciata, preferibilmente dopo aver concluso l'aggiornamento con il metodo precedente. Questa operazione è chiaramente meno conservativa, pertanto va effettuata prestando maggiore attenzione ai pacchetti che saranno rimossi. |
| ./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 <code>control.tar.gz</code> contiene le informazioni riguardanti il
| | === Installazione e disinstallazione === |
| pacchetto e le sue dipendenze e degli script che vengono lanciati prima | | Per installare un pacchetto e le sue dipendenze tramite APT, se la lista dei pacchetti è aggiornata: |
| e dopo l'installazione o la rimozione.
| | <pre># apt install nomepacchetto</pre> |
| Il file <code>control</code> contiene il nome del pacchetto, la sua versione, la
| |
| sezione, la priorità, l'architettura per cui è stato compilato il
| |
| pacchetto, le dipendenze, il maintainer del pacchetto e la sua
| |
| descrizione. Diamogli un'occhiata.
| |
|
| |
|
| <pre> # cat control | | Per rimuovere un pacchetto precedentemente installato: |
| Package: apache
| | <pre># apt remove nomepacchetto</pre> |
| Version: 1.3.33-6
| | E per rimuovere le sue dipendenze, se non richieste da altri pacchetti (e se non si è impostato un <code>AutomaticRemove</code>; si veda la sezione successiva): |
| Section: web
| | <pre># apt autoremove</pre> |
| 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
| | Tutte queste operazioni richiedono [[privilegi di amministrazione]]. |
| 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 il file <code>conffiles</code>:
| |
|
| |
|
| <pre> # cat conffiles | | ==Configurazione== |
| /etc/init.d/apache
| | Il principale file di configurazione, per tutti i principali strumenti di '''APT''' (<code>apt</code>, <code>apt-get</code>, <code>aptitude</code>, ecc...), è <code>/etc/apt/apt.conf</code>, eventualmente da creare per le proprie impostazioni personalizzate. <br/> |
| /etc/logrotate.d/apache</pre>
| | Le impostazioni di default generate in fase di installazione e quelle create da altri programmi installati sono invece contenute nei file presenti nella directory <code>/etc/apt/apt.conf.d</code>, in modo da non sovrapporsi, e non è generalmente necessario modificarle. |
|
| |
|
| Vengono elencati i file di configurazione che verranno creati.
| | Per modificare il file principale, o crearlo se non esiste, basta utilizzare un editor di testo (per esempio [[nano]]) con [[privilegi di amministrazione]]: |
| Gli scripts di cui parlavo prima sono <code>postinst</code>, <code>postrm</code>, <code>preinst</code> e <code>prerm</code>,
| | <pre> |
| che si occupano come già detto delle operazione pre e post
| | # nano /etc/apt/apt.conf |
| installazione/rimozione.
| | </pre> |
| | (dopo aver apportato le modifiche, premere <code>Ctrl-o</code> per salvare e <code>Ctrl-x</code> per uscire) |
|
| |
|
| L'archivio <code>data.tar.gz</code> contiene tutti i file che verranno effettivamente
| | === Esempio di <code>/etc/apt/apt.conf</code> === |
| disposti nel filesystem.
| | <pre> |
| Diamo per esempio un'occhiata alla directory <code>usr</code>:
| | APT::Clean-Installed "true"; |
| | | APT::Get::AutomaticRemove "true"; |
| <pre> # ls
| | APT::Get::Upgrade-Allow-New "true"; |
| apache_1.3.33-6_i386.deb control.tar.gz md5sums prerm
| | </pre> |
| conffiles data.tar.gz postinst templates
| | Il valore '''"true"''' / '''"false"''' (oppure '''1''' / '''0''') abilita/disabilita un'impostazione. |
| config debian-binary postrm usr
| |
| control etc preinst var
| |
| # ls usr
| |
| lib sbin share
| |
| # ls usr/sbin
| |
| apache apacheconfig apachectl</pre>
| |
| | |
| ===Pacchetti sorgenti===
| |
| | |
| I pacchetti sorgenti sono costituiti da due archivi e un file di testo:
| |
| un file <code>.dsc</code> che descrive il pacchetto, un archivio <code>.orig.tar.gz</code> che
| |
| contiene i sorgenti originali del software, e un <code>.diff.gz</code> contenente le
| |
| patch applicate da Debian al pacchetto.
| |
| | |
| <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 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
| |
| 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-----
| | Di seguito una breve descrizione: |
| Version: GnuPG v1.2.5 (GNU/Linux)
| | :; <code>APT::Clean-Installed</code> : elimina i pacchetti .deb non più scaricabili ma ancora conservati nella cache, anche se relativi a pacchetti ancora installati nel sistema; |
| | :; <code>APT::Get::AutomaticRemove</code> : effettua in automatico la rimozione delle dipendenze non più necessarie, in seguito alla rimozione di un pacchetto; è equivalente a eseguire manualmente un <code>apt autoremove</code>; |
| | :; <code>APT::Get::Upgrade-Allow-New</code> : rende l'esecuzione di <code>apt-get upgrade</code> equivalente a <code>apt upgrade</code>, permettendo l'installazione di nuovi pacchetti se richiesti per l'aggiornamento. |
| | Tutte queste impostazioni erano disabilitate di default. |
|
| |
|
| iD8DBQFCQU0ffDt5cIjHwfcRAoApAKCL5BUc7i9X3iQIQyapUJboWF9IPACgrWPd
| | Altre possibili impostazioni utili: |
| /t+qP8OkRmh1e6mUH8wz+ic=
| | :; <code>APT::Sandbox::Seccomp</code> : a partire da Debian 10 ([[Buster]]), se abilitata, esegue '''APT''' in una sandbox fornita dal kernel Linux per restringere le chiamate di sistema permesse; non supporta tutti i metodi di '''APT''', ma è già utilizzabile come ulteriore forma di sicurezza se si usano i normali repository (per esempio ''http'', ''https''); |
| =TYfB
| | :; <code>APT::Install-Recommends</code> : disabilitarla (di default è abilitata) non installa le dipendenze raccomandate, ma non necessarie, al funzionamento di un pacchetto; disabilitare tale impostazione è '''sconsigliato''' per utenti inesperti, in quanto potrebbe ridurre le funzionalità di altri programmi, e utile soltanto per utenti già esperti e che vogliano mantenere un sistema il più possibile minimale. |
| -----END PGP SIGNATURE-----</pre>
| |
|
| |
|
| I file di control già visti nei pacchetti binari sono anche qui,
| | {{Cautionbox | Si '''sconsiglia''' l'uso di '''<code>Default-Release</code>''', salvo si sappia cosa si sta facendo e si conosca approfonditamente il funzionamento dei [[repository]] di Debian, perché equivalente a impostare un [[pinning]] e potrebbe disabilitare inavvertitamente l'uso di altri repository secondari usati in fase di aggiornamento dei pacchetti.}} |
| contenuti nella cartella debian dell'archivio.
| | Tutte le configurazioni sono impostabili anche a tempo di esecuzione, per esempio con l'opzione <code>--option</code>/<code>-o</code> di '''<code>apt-get</code>''' o con altre forme ancora più brevi (si rimanda alla [[apt-get|guida]] o alla pagina di manuale). |
|
| |
|
| <pre> # ls irssi-text-0.8.9
| | ==I pacchetti== |
| AUTHORS README.cygwin config.sub findsyntax.pl ltmain.sh
| | Leggere la guida: [[Pacchetti binari e sorgenti]] |
| 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 <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 distro.
| |
| È 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=== | | ===Metapacchetti=== |
| | Vedere la guida: [[Gestione dei metapacchetti]] |
|
| |
|
| Esiste un tipo particolare di pacchetto detto metapacchetto. Questo è un
| | ==Approfondimenti== |
| 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 è il pacchetto kdebase:
| |
| | |
| <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/
| |
| ...
| |
| </pre>
| |
| | |
| L'archivio <code>data.tar.gz</code> contiene solo documentazione e delle librerie.
| |
| Diamo un'occhiata al <code>control</code>:
| |
| | |
| <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.
| |
| Per maggiori informazioni sui metapacchetti si veda [[Gestione_dei_metapacchetti | questa pagina]].
| |
| | |
| ==Apt-get e altri strumenti==
| |
| Lungi dall'essere completa, questa brevissima panoramica ha lo scopo di fornire un piccolo vademecum per mantenere in forma il nostro sistema operativo senza far ricorso a tool grafici che, nella maggior parte dei casi, non hanno la necessaria "precisione".
| |
| Vediamo brevemente i principali comandi (ovviamente dovete essere root):
| |
| | |
| === Installazione, Rimozione, Aggiornamento ===
| |
| | |
| ;<code>dpkg -i ''nome-pacchetto.deb''</code>: installa un pacchetto Debian già scaricato e presente nella directory corrente;
| |
| | |
| ;<code>apt-get install [pacchetto1, pacchetto2, pacchettoN, ...]</code>: il comando scarica e installa/aggiorna i pacchetti indicati, risolvendo le [[dipendenze]];
| |
| | |
| ;<code>apt-get remove [pacchetto1, pacchetto2, pacchettoN, ...]</code>: è l'esatto opposto del comando precedente, rimuove i pacchetti indicati;
| |
| | |
| ;<code>aptitude purge [pacchetto1, pacchetto2, pacchettoN, ...]</code>: rimuove i pacchetti indicati ed elimina anche i file di configurazione;
| |
| | |
| ;<code>apt-get update</code>: aggiorna la lista dei pacchetti e le relative informazioni (versione disponibile, descrizione, ecc.);
| |
| | |
| ;<code>apt-get upgrade</code>: aggiorna i pacchetti installati sul nostro sistema (se sono disponibili versione più recenti). Non installa nuovi pacchetti;
| |
| | |
| ;<code>apt-get dist-upgrade</code>: è simile al precedente, ma aggiorna tutti i pacchetti anche a costo di installare nuovi pacchetti e rimuoverne di presenti, per soddisfare le dipendenze;
| |
| | |
| ;<code>apt-get install [pacchetto] -s</code>: simula (stampando l'output) il processo di installazione di un pacchetto. Utili per controllare se il pacchetto che stiamo installando/aggiornando modificherà altri pacchetti da noi installati.
| |
| | |
| ''Vedere anche la [[Aptitude|Guida ad Aptitude]].''
| |
| | |
| | |
| === Ricerca e Informazioni sui pacchetti ===
| |
| | |
| ;<code>apt-cache search [stringa da cercare]</code>: usando questo comando possiamo cercare pacchetti in base al nome, alla descrizione, ecc.;
| |
| | |
| ;<code>apt-cache show [nome pacchetto]</code>: questo comando visualizza una breve descrizione del pacchetto da noi richiesto, fornendo versione, uso, dipendenze e altre utili informazioni;
| |
| | |
| ;<code>apt-file search ''nome-file''</code>: cerca in quali pacchetti è presente il file <code>''nome-file''</code>. Vedere anche: [[Apt-file: ricerca all'interno dei pacchetti]].
| |
| | |
| === Gestione delle fonti (o repository) ===
| |
| | |
| ;<code>apt-setup</code>: serve per aggiungere/aggiornare le fonti (o [[repository]]) da cui scaricare i pacchetti;
| |
| | |
| ;<code>[[Apt-cdrom | apt-cdrom]]</code>: aggiunge alle fonti per i pacchetti il contenuto di un CD Debian.
| |
| | |
| === Pacchetti sorgenti e compilazione ===
| |
| | |
| ;<code>apt-get source [pacchetto]</code>: questo è il comando da utilizzare nel caso volessimo installare i sorgenti di un pacchetto. NOTA BENE: i sorgenti così scaricati, una volta compilati, daranno origine ad un pacchetto .deb che andrà a sua volta installato! I sorgenti vengono scaricati nella directory da cui si è lanciato il comando.
| |
| | |
| ;<code>apt-get build-dep [pacchetto]</code>: questo è un pacchetto fondamentale, specie se si lavora molto con i sorgenti. Si preoccupa di soddisfare le dipendenze del pacchetto che andremo a compilare dopo aver eseguito <code>apt-get source</code>.
| |
| | |
| ;<code>apt-get source [pacchetto] --compile</code>: è il passo finale per la compilazione di un pacchetto deb. Lanciatelo dalla stessa directory in cui avete scaricato i sorgenti da compilare.
| |
| | |
| === Altro ===
| |
| | |
| ;<code>apt-get autoclean</code>: i pacchetti scaricati vengono memorizzati in <code>/var/cache/apt/archive/</code> che col passare del tempo tende a gonfiarsi notevolmente. Con questo comando è possibile dire all'apt-system di cancellare questi pacchetti. Notare che, se fatta a mano, questa operazione causerà un certo "disorientamento" da parte di apt convinto di avere una copia di eventuali pacchetti in locale.
| |
| | |
| ;<code>apt-get clean</code>: elimina tutti i pacchetti dalla cache.
| |
| | |
| ;<code>apt-get moo</code>: Have you mooed today ?
| |
| | |
| ;E per concludere con le easter-eggs:
| |
| *<code>aptitude mooo</code>
| |
| *<code>aptitude -v moo</code>
| |
| *<code>aptitude -vv moo</code>
| |
| *<code>aptitude -vvvvvvvvv moo</code>
| |
|
| |
|
| ==Link== | | === Manpages === |
| Per una panoramica completa sulle funzionalità e sull'utilizzo del sistema APT vedere:
| | <code>man apt</code><br/> |
| | <code>man apt.conf</code> |
|
| |
|
| * [http://www.debian.org/doc/manuals/apt-howto/index.it.html#contents Apt HowTo] | | ===Sitografia=== |
| | * [http://www.debian.org/doc/manuals/apt-howto/index.it.html#contents Apt HowTo], panoramica completa sulle funzionalità e sull'utilizzo del sistema APT |
| | * [https://www.debian.org/releases/buster/amd64/release-notes/ch-whats-new.it.html#apt-sandboxing APT hardening], dalle note di rilascio di Debian 10 (buster) |
|
| |
|
| | {{Autori |
| | |Autore = [[Utente:Keltik|Keltik]] |
| | |Estesa_da = |
| | : [[Utente:Ferdybassi|Ferdybassi]] |
| | : [[Utente:HAL 9000|HAL 9000]] |
| | |Verificata_da = |
| | : [[Utente:Wtf|Wtf]] |
| | : [[Utente:S3v|S3v]] 12:22, 20 apr 2015 (CEST) |
| | : [[Utente:HAL 9000|HAL 9000]] 21:16, 11 ago 2019 (CEST) |
| | |Numero_revisori = 3 |
| | }} |
|
| |
|
| ----
| |
| Autore: [[Utente:Keltik|Keltik]]
| |
| [[Categoria:Apt]] | | [[Categoria:Apt]] |
| [[Categoria:Introduzione a Debian]] | | [[Categoria:Introduzione a Debian]] |