Finestre.  Virus.  I Quaderni.  Internet.  ufficio.  Utilità.  Autisti

Utilità apt-get - produttivo gratuito programma console, utilizzato e funzionante con la libreria APT (Advanced Packaging Tool) per installare nuovi pacchetti software, rimuovere quelli esistenti, aggiornare quelli installati e anche aggiornare l'intero sistema operativo.

L'utilità della console apt-cache viene utilizzata per cercare nella cache i pacchetti software APT. parlando in parole povere, questo strumento, viene utilizzato per cercare pacchetti, raccogliere informazioni sui pacchetti e trovare pacchetti disponibili per l'installazione su sistemi operativi basati su Debian o Ubuntu.

Come posso ottenere un elenco di tutti i pacchetti disponibili?

Per vedere tutti i pacchetti disponibili, esegui il seguente comando:

apt-cache pkgnames

Come posso trovare il nome e la descrizione del pacchetto.

Per trovare il nome e la descrizione del pacchetto prima dell'installazione, utilizzare il flag "cerca". L'uso di "cerca" con apt-cache visualizzerà un elenco di pacchetti corrispondenti con breve descrizione. Ad esempio, se vuoi trovare la descrizione del pacchetto vsftpd: per fare ciò, il comando sarebbe:

ricerca apt-cache vsftpd

Per trovare ed elencare tutti i pacchetti il ​​cui nome inizia con vsftpd , puoi usare il seguente comando:

apt-cache pkgnames vsftpd

Come posso visualizzare le informazioni sul pacchetto?

Ad esempio, se desideri visualizzare le informazioni su un pacchetto, con una breve descrizione che mostri il numero di versione, i checksum, la dimensione, la dimensione dopo l'installazione, le categorie e così via, puoi utilizzare il sottocomando "show", come mostrato di seguito:

apt-cache mostra netcat

Come posso controllare le dipendenze di un pacchetto?

Per controllare le dipendenze di un particolare pacchetto, puoi usare il sottocomando showpkg per vedere se quelle dipendenze sono installate o meno. Ad esempio, utilizzare il comando showpkg insieme al nome del pacchetto.

apt-cache showpkg vsftpd

Come posso visualizzare le statistiche della cache?

Il sottocomando stats visualizzerà le statistiche complete sulla cache, come il numero totale di pacchetti trovati nella cache. Usa questo comando:

statistiche apt-cache

Come aggiornare l'elenco dei pacchetti nel sistema?

Il comando update viene utilizzato per sincronizzare e aggiornare i file di indice dei pacchetti. La sincronizzazione avviene con le fonti specificate nel file /etc/apt/sources.list. Questo comando può essere utilizzato, ad esempio, per tenere traccia di importanti aggiornamenti dei pacchetti.

Sudo apt-get update

Come aggiornare i pacchetti nel sistema?

Il comando upgrade viene utilizzato per aggiornare tutto ciò che è installato questo momento software sul tuo sistema. A volte può succedere che un aggiornamento non possa essere installato a causa di qualche altro pacchetto che richiede una versione precedente.

sudo apt-get upgrade

Ma se vuoi aggiornare indipendentemente dai requisiti del pacchetto, usa il sottocomando dist-upgrade:

sudo apt-get dist-upgrade

Come posso installare o aggiornare un pacchetto specifico?

Il sottocomando install viene utilizzato per installare o aggiornare un pacchetto.

sudo apt-get install netcat

Come posso installare più pacchetti contemporaneamente?

Puoi inserire i nomi di più pacchetti per installarli contemporaneamente. Ad esempio, per installare i pacchetti nethogs e goaccess, puoi eseguire il seguente comando:

sudo apt-get install nethogs goaccess

Come installare più pacchetti per nome "maschera".

Con le espressioni regolari, puoi aggiungere più pacchetti con personaggi speciali. Ad esempio, puoi usare un asterisco per installare tutti i pacchetti che contengono la stringa "name" nel loro nome:

sudo apt-get install *nome*

Come installare i pacchetti senza aggiornare.

L'utilizzo del flag --no-upgrade impedirà l'aggiornamento dei pacchetti già installati.

sudo apt-get install nomepacchetto --no-upgrade

Come aggiornare solo determinati pacchetti?

Il flag --only-upgrade non installerà nuovi pacchetti, aggiornerà solo quelli esistenti.

sudo apt-get install nomepacchetto --only-upgrade

Come posso installare versione specifica pacchetto?

Immaginiamo di dover installare una versione specifica di un pacchetto, basta usare un segno di uguale insieme al nome del pacchetto e attribuire la versione desiderata.

sudo apt-get install vsftpd=2.3.5-3ubuntu1

Come rimuovere i pacchetti senza eliminare le impostazioni?

Cancellare pacchetti software senza rimuovere i loro file di configurazione (per un uso successivo), utilizzare il comando remove come mostrato.

sudo apt-get remove vsftpd

Come rimuovere completamente i pacchetti?

Per rimuovere un pacchetto insieme ai suoi file di configurazione, utilizzare il sottocomando purge come mostrato di seguito.

sudo apt-get purge vsftpd

Oppure puoi combinare entrambi i comandi, in questo modo:

sudo apt-get remove --purge vsftpd

Come posso liberare spazio su disco?

Il comando clean viene utilizzato per liberare spazio su disco rimuovendo i file .deb del pacchetto risultanti nel repository locale.

sudo apt-get clean

Come scaricare il codice sorgente del pacchetto?

Per scaricare solo il codice sorgente di un pacchetto, puoi utilizzare l'opzione --download-only source con il nome del pacchetto, in questo modo:

sudo apt-get --download-only source vsftpd

Come posso scaricare e decomprimere un pacchetto?

Per scaricare e decomprimere il codice sorgente di un pacchetto in una directory speciale, eseguire il seguente comando:

sudo apt-get source vsftpd

Come posso scaricare, decomprimere e compilare il codice sorgente di un pacchetto?

Puoi anche scaricare, decomprimere e compilare il sorgente del pacchetto usando l'opzione '--compile', come mostrato di seguito:

sudo apt-get --compile source goaccess

Come scaricare un pacchetto senza installazione

Utilizzando l'opzione "download", puoi scaricare qualsiasi pacchetto senza installarlo. Ad esempio, il seguente comando scaricherà solo il pacchetto nethogs nella directory di lavoro corrente.

sudo apt-get download nethogs

Come posso visualizzare il changelog di un pacchetto?

Il flag changelog scarica il changelog del pacchetto e visualizza la versione del pacchetto, se installata.

sudo apt-get changelog vsftpd

Come possono essere risolte le dipendenze interrotte?

Il comando "check" è uno strumento diagnostico, viene utilizzato per aggiornare la cache dei pacchetti e verificare la presenza di dipendenze interrotte.

Sudo apt-get check

Come posso trovare e creare dipendenze?

Il comando build-dep cerca e installa le dipendenze create del pacchetto richiesto. Se il pacchetto non è nel repository locale, riceverai un errore.

sudo apt-get build-dep netcat

Come posso cancellare automaticamente la cache di Apt-Get?

Il comando autoclean rimuove tutti i file .deb da /var/cache/apt/archives per liberare spazio sul disco rigido.

sudo apt-get autoclean

Come posso rimuovere automaticamente i pacchetti non necessari?

Il sottocomando autoremove viene utilizzato per rimozione automatica pacchetti che sono stati installati come dipendenze di altri ma che non sono più necessari. Ad esempio, il seguente comando rimuoverà un pacchetto installato insieme alle sue dipendenze.

sudo apt-get autoremove vsftpd

Informazioni per gentile concessione del sito. Grazie.

APT (abbreviazione di Advanced Packaging Tool) è un insieme di utilità per l'installazione, la disinstallazione, l'aggiornamento, la ricerca di pacchetti su Linux e la gestione dei repository. APT è anche chiamato gestore di pacchetti.

APT utilizza repository di pacchetti. L'elenco dei repository per APT è memorizzato in un file /etc/apt/sources.list, così come nella directory /etc/apt/sources.list.d/.

APT è utilizzato nelle distribuzioni basate su Dedian e Ubuntu.

Esistono varie utilità per la gestione di APT, ma le più popolari sono le utilità a riga di comando apt-get e apt.

In questo articolo, vedremo come utilizzare il comando apt e scopriremo anche come apt differisce da apt-get.

Qual è la differenza tra apt e apt-get

Per rispondere brevemente a una domanda molto popolare, qual è la differenza tra i comandi apt e apt-get?

apt è un'utilità apparsa come alternativa ad apt-get. Svolge quasi tutte le stesse funzioni di apt-get, ma è più semplice e chiaro da utilizzare.

Ad esempio, tutti i comandi apt hanno una sintassi semplice: apt nomecomando. E apt-get ha comandi aggiuntivi, Per esempio, apt-cache. Pertanto, quando si utilizza apt, l'utente non ha bisogno di ricordare set di comandi aggiuntivi.

Oltre a semplificare il lavoro con i comandi, apt mostra le informazioni in modo più chiaro, apparentemente sciocchezze, ma è più comodo lavorarci. Ad esempio, apt può mostrare una barra di avanzamento e quando viene eseguito aggiornamento appropriato puoi vedere quanti pacchetti possono essere aggiornati.

Vale la pena notare che l'utilità apt-get è più funzionale di apt. Ma per l'utente medio, apt sarà più che sufficiente.

comando azzeccato

La sintassi per il comando apt è la seguente:

sudo apt

Aggiorna l'elenco dei pacchetti

sudo apt aggiornamento

APT ha un elenco di repository da cui vengono installati i pacchetti. L'elenco è memorizzato in file di testo /etc/apt/sources.list, così come nella directory /etc/apt/sources.list.d/. Quando si esegue il comando aggiornamento appropriato, APT scorre l'elenco dei repository e da ciascun repository nell'elenco ottiene informazioni sui pacchetti nel repository. Tutte queste informazioni sono memorizzate nel sistema.

Se viene rilasciata una nuova versione di un pacchetto, APT non ne verrà a conoscenza finché il comando non viene eseguito aggiornamento appropriato. Pertanto, se installi questo pacchetto (senza prima eseguire apt update), verrà installata la versione del pacchetto che è memorizzata nel sistema al momento.

Devo eseguire apt update prima di installare ogni pacchetto?

No, prima di installare ciascun pacchetto aggiornamento appropriato ovviamente non si dovrebbe fare. È sufficiente eseguire periodicamente apt update. Se hai più di un pacchetto da installare, puoi prima eseguire aggiornamento appropriato e quindi installare i pacchetti.

Aggiorna i pacchetti installati

Per aggiornare i pacchetti installati sul sistema, utilizzare il comando:

sudo apt upgrade

Questo comando aggiorna solo i pacchetti alle nuove versioni, non rimuove o installa mai altri pacchetti.

C'è un altro comando per aggiornare i pacchetti:

Sudo apt aggiornamento completo

Questo comando aggiorna i pacchetti e rimuove o installa nuovi pacchetti secondo necessità per risolvere le dipendenze.

Installa il pacchetto

Per installare il pacchetto utilizzare il comando:

sudo apt install

Installa più pacchetti

Per installare più pacchetti, i loro nomi sono separati da uno spazio:

sudo apt install

Installa una versione specifica del pacchetto

Per installare una versione specifica del pacchetto, è necessario specificare la versione richiesta dopo il nome del pacchetto, tramite il segno di uguale:

sudo apt install=

Elimina un pacchetto

Per rimuovere un pacchetto installato, utilizzare il comando:

Sudo apt remove

Rimuove un pacchetto e i relativi file di configurazione

sudo apt purge

apt-purge funziona in modo simile apt-remove, ma rimuove anche file di configurazione, relativo al pacchetto. Ciò significa che se hai installato un programma, lo hai configurato e poi lo hai rimosso con il comando apt-remove, il file di configurazione di questo programma rimarrà nel sistema. Se ora installi di nuovo questo programma, sarai in grado di utilizzare il file di configurazione precedente, poiché non è stato rimosso.

apt-purge non elimina i file di configurazione memorizzati nella tua home directory.

Se hai rimosso il pacchetto con il comando apt-remove, allora puoi farlo apt-purge per un dato pacchetto già rimosso, al fine di "cancellare" i suoi file di configurazione.

Rimuovi i pacchetti inutilizzati

sudo apt autoremove

Quando installi un pacchetto, spesso si installa pacchetti aggiuntivi, che sono le sue dipendenze. Se ora rimuovi questo pacchetto, le dipendenze rimarranno nel sistema. apt rimozione automatica rimuove quelle dipendenze, ma solo quelle di cui non hanno bisogno altri pacchetti installati.

Elenco dei pacchetti

Il comando apt list viene utilizzato per elencare i pacchetti in base ad alcuni criteri.

Elenca i pacchetti installati sul sistema:

Elenco Apt --installato

Elenca i pacchetti che devono essere aggiornati (con una versione più recente):

elenco apt --aggiornabile

Elenca tutti i pacchetti disponibili per il tuo sistema:

Elenco Apt --tutte le versioni

Cerca pacchetti

ricerca azzeccata

Questo comando cerca il file specificato parole nel nome del pacchetto e nella descrizione del pacchetto. Le espressioni regolari sono supportate.

Puoi cercare solo per nome di pacchetto utilizzando l'opzione --names-only:

Apt ricerca --solo nomi

Ricerca di un pacchetto tramite espressioni regolari:

apt search --solo nomi "^python"

Informazioni sul pacchetto

spettacolo azzeccato

Visualizza le informazioni sul pacchetto. Vengono visualizzate la versione, le dimensioni, la descrizione, le dipendenze e altre informazioni.

Modifica dell'elenco dei repository

sudo apt edit-sources

Apre un file /etc/apt/sources.list v editor di testo per la modifica, dopo aver salvato le modifiche e chiuso l'editor, verifica la presenza di errori nel file. Se sono presenti errori, visualizza un suggerimento per modificare nuovamente il file al fine di correggere gli errori.

Tabella degli analoghi dei comandi apt e apt-get

Squadra
adatto
Comando analogico
apt-get
Descrizione
installazione aptapt-get installInstalla il pacchetto
apt-removeapt-get removeElimina un pacchetto
apt-purgeapt-get-purgeRimuovi il pacchetto e i file di configurazione
apt rimozione automaticaapt-get rimozione automaticaRimuovi i pacchetti inutilizzati
aggiornamento appropriatoaggiornamento apt-getAggiorna l'elenco dei pacchetti
aggiornamento adattoaggiornamento apt-getAggiorna i pacchetti
apt aggiornamento completoapt-get dist-upgradeAggiorna i pacchetti (rimuovi e installa quelli nuovi se necessario)
elenco adattoAnalogo approssimativo:
dpkg-query --list
Elenco dei pacchetti
ricerca azzeccataricerca apt-cacheRicerca pacchetti
spettacolo azzeccatospettacolo di cache aptInformazioni sul pacchetto

A volte ci sono situazioni in cui è necessario scoprire quali pacchetti sono installati sul sistema. Questo potrebbe essere necessario se lo desideri backup pacchetti installati, controllarne l'integrità, trasferire tutti i pacchetti su un altro sistema e per molte altre attività. Su Debian, possono essere usati diversi metodi per questo.

Nell'articolo di oggi vedremo come elencare i pacchetti Debian installati usando il terminale, l'interfaccia curses e anche la GUI. Tali elenchi possono essere utilizzati non solo per Prenota copia, ma anche solo per iterare e rimuovere programmi inutili, liberando così il sistema dai detriti.

Il primo modo per vedere installato pacchetti Debian, questa è l'utilità dpkg. Può essere utilizzato non solo in Debian, ma in tutte le distribuzioni basate su di esso:

dpkg --get-selezioni | grep -v disinstallare

dpkg --get-selezioni | grep -v deinstall > mialista.txt

Puoi anche rimuovere tutte le informazioni non necessarie e mantenere solo i nomi dei pacchetti:

dpkg -l | grep ^ii | awk "(stampa $2)" > mialista.txt

Il modo successivo per eseguire questa attività è utilizzare l'utilità dpkg-query. È simile alla versione precedente, ma un po' più semplice. Questo comando elencherà tutti i pacchetti installati insieme alle informazioni su di essi:

Anche qui puoi selezionare solo i nomi dei pacchetti con l'opzione -f:

dpkg-query -f "$(binario:Pacchetto)\n" -W

Il terzo metodo è l'utilità apt che siamo abituati a utilizzare per installare le applicazioni, ha un comando list:

elenco apt --installato

elenco apt --installato | grep pitone

Abbiamo trattato apt in modo più dettagliato nell'articolo. Un'altra caratteristica interessante di apt è vedere quali pacchetti sono stati installati manualmente. Per fare ciò, digita:

apt-mark showmanual

E un'altra opzione usando apt:

apt-cache pkgnames

Lo strumento di gestione dei pacchetti aptitude consente anche di elencare i pacchetti installati:

ricerca attitudinale "~i!~M"

Inoltre, aptitude può essere eseguito in modalità curses, il che è molto comodo:

L'ultimo modo per vedere l'elenco dei pacchetti installati è nel file /var/lib/apt/extended_states. Questo è un database che contiene programmi installati debian in questo formato:

Pacchetto: nome_pacchetto
Architettura: architettura
Installazione automatica: 0_o_1

cat /var/lib/apt/extended_states

Ripristino dell'elenco dei pacchetti installati

Molti utenti creano un elenco di pacchetti non solo da guardare, ma per il recupero futuro. Se hai creato un elenco utilizzando dpkg, può essere facilmente ripristinato nel sistema utilizzando un comando simile:

sudo dpkg --clear-selezioni
$ sudo dpkg --set-selezioni< mylist.txt

Tutto è molto semplice. Per installare i pacchetti dopo averli aggiunti all'elenco, utilizzare il comando:

sudo apt dselect-upgrade

Se hai solo un elenco di nomi di pacchetti, devi ripristinarlo in modo leggermente diverso. Basta passare tutti questi nomi al comando apt per installare:

xargs< mylist.txt apt install -y

conclusioni

In questo articolo, abbiamo esaminato come elencare i pacchetti Debian installati. Questo può essere molto utile ed è abbastanza facile da fare. Spero che queste informazioni ti siano state utili.

A causa del fatto che alcuni compagni non capiscono cosa siano apt e dpkg. Ho deciso di creare un altro post su queste utilità.

APT e tutto, tutto, tutto. Esplorare le capacità del gestore di pacchetti APT e dei programmi correlati

Debian ha portato molte innovazioni positive nel mondo Linux, molte delle quali sono state adottate da altre distribuzioni. Il miglioramento più significativo di Debian è stato il sistema di gestione dei pacchetti APT, dopo il suo rilascio, tutte le altre distribuzioni si sono trasformate in spazzatura obsoleta. Oggi, APT è complesso, intelligente, flessibile e nasconde molti segreti all'utente Linux non iniziato.

Sistema avanzato di gestione dei pacchetti

Di per sé, APT (Advanced Packaging Tool) non è un sistema di gestione dei pacchetti nel vero senso della parola. Tutte le azioni per il disimballaggio, la registrazione nel sistema e la visualizzazione del database dei pacchetti vengono eseguite dalle utilità dei pacchetti dpkg, mentre le utilità APT sono un wrapper con cui è possibile cercare pacchetti, verificare checksum, scaricare dal repository, risolvere dipendenze e un numero di altre azioni. .

APT include il seguente set di utilità:

Utilità del pacchetto apt

apt-cache - manipola la cache dei pacchetti disponibili, comunemente usati
per cercare un pacco e/o ottenere informazioni su di esso

apt-cdrom - consente di aggiungere un CD/DVD come sorgente del pacchetto (repository)

apt-config: legge i valori delle opzioni fornite nel file config
file /etc/apt/apt.conf, utilizzato da altre utilità APT

apt-extracttemplates - Estrae i file di configurazione DebConf
dai pacchetti, usati da altre utilità APT

apt-ftparchive - crea file indice

apt-get - installa, rimuovi, aggiorna l'elenco dei pacchetti
e i pacchetti stessi, l'utility APT centrale

apt-key - gestisce le chiavi di autenticazione utilizzate per la verifica
autenticità delle fonti dei pacchetti

apt-secure - verifica la firma digitale dei pacchetti apt inclusi
nella distribuzione e nei repository

apt-sortpkgs - ordina i file indice

Le utilità si basano sui seguenti file di configurazione:

File di configurazione APT

/etc/apt/sources.list - elenco delle fonti dei pacchetti (repository)
/etc/apt/apt.conf - il file di configurazione principale di APT
/etc/apt/preferences - file delle preferenze, controlla quale sarà la versione del pacchetto
installato se nel repository sono presenti più versioni contemporaneamente

APT è semplice e diretto da usare, l'utente medio di solito ha bisogno solo di sei comandi di seguito:

Comandi APT di base

maschera di ricerca apt-cache - cerca un pacchetto
apt-cache show package - visualizza le informazioni su un pacchetto
apt-get install package - installa un pacchetto
apt-get remove package - rimuove un pacchetto
apt-get update - aggiorna la cache dei pacchetti disponibili
apt-get upgrade - aggiorna tutti i pacchetti

Gli ultimi due comandi vengono generalmente eseguiti uno dopo l'altro, il che reinstallerà tutti i pacchetti per i quali sono disponibili nuove versioni nel repository. Se è necessario aggiornare solo il pacchetto specificato, dopo "apt-get update" è necessario eseguire il comando "apt-get install package".

La distribuzione Ubuntu rende ancora più semplice il processo di "parlare" con le utility APT e lo riduce a fare clic sulle caselle di controllo. GUI. Ha un proprio gestore di pacchetti, estremamente semplice (si chiama "Gestore pacchetti"), lanciato da cron "dal gestore Aggiornamento Manager, un programma di installazione grafico per i pacchetti deb GDebi scaricati manualmente e un componente aggiuntivo grafico più potente per le utilità APT di Synaptic.

Nel frattempo, APT è molto più complesso e flessibile di quanto possa sembrare a prima vista. Pertanto, nelle sezioni seguenti, considereremo diversi metodi non del tutto tipici per utilizzarlo.

Fonti di pacchetti di terze parti

Oltre al repository principale che contiene tutti i pacchetti degli sviluppatori della distribuzione, ci sono molte altre fonti di pacchetti che possono contenere software di terze parti che non è disponibile dal repository ufficiale, fornire versioni più recenti di esso o semplicemente essere un mirror più veloce. Il repository può essere una normale directory sul disco rigido o un CD.

Per insegnare ad APT a lavorare con repository di terze parti, è sufficiente seguire quattro semplici passaggi:

Il campo uri è l'indirizzo del repository, che nella maggior parte dei casi è un indirizzo HTTP, ma può anche essere un collegamento a un repository locale (file:/root/repository), l'indirizzo di un repository su un server FTP o SSH. Il campo "distribuzione" specifica il nome della distribuzione per la quale sono compilati i pacchetti. Per Debian, il nome può essere uno di stable, oldstable, unstable, testing, mentre nel caso di Ubuntu, dovrebbe essere specificato solo il nome specifico della distribuzione (ad esempio, jaunty), e anche varie designazioni basato su di esso (ad esempio, jaunty-updates, jaunty-backports, jaunty-security). Devo dire che APT non è affatto contrario a mescolare pacchetti di diverse distribuzioni sullo stesso sistema, ma in questo caso sarai responsabile delle conseguenze. Il componente è solitamente chiamato main, contrib o non-free su Debian e main, universe, multiverse, partner e limited su Ubuntu. Questi sono tutti i nomi di diversi repository di pacchetti che sono separati solo per separare i pacchetti in base ad alcuni criteri. Ad esempio, main sono pacchetti compilati dal team di sviluppo di Ubuntu/Debian, ci sono alcune garanzie per la qualità del software in essi contenuto, inclusi aggiornamenti tempestivi e correzioni di bug, mentre contrib e universe sono software di terze parti che installi sul tuo proprio pericolo e rischio.

2. Aggiungere al keyring apt la chiave pubblica del repository, utilizzata per verificarne l'autenticità e l'affidabilità. La chiave può essere ottenuta con qualsiasi mezzo e aggiunta eseguendo il comando "apt-key add key", ma questo metodo è raramente praticato a causa dell'inconveniente. Nella stragrande maggioranza dei casi, avrai a che fare con una squadra

sudo apt-key adv --keyserver cert-server --recv-keys key-id
che richiede la chiave direttamente dal server dei certificati (per Ubuntu, questo è keyserver.ubuntu.com). Questo è il modo in cui la maggior parte degli sviluppatori di terze parti distribuisce il proprio software per le distribuzioni Debian/Ubuntu (con gli altri che pubblicano solo pacchetti e i loro checksum). Ad esempio, andando alla pagina del progetto che ti interessa ospitato da launchpad.net e cliccando sul link "Dettagli tecnici su questo PPA", vedrai una riga che deve essere aggiunta a /etc/apt/sources .list, la "Chiave di firma:" conterrà l'ID della chiave.

3. Aggiorna la cache dei pacchetti disponibili:

sudo apt-get update
4. Installare il pacchetto utilizzando il comando "apt-get install package".

Molti sviluppatori inseriscono un collegamento al repository e il suo ID chiave direttamente nel pacchetto deb, quindi dopo aver scaricato il pacchetto, averlo installato ed eseguito il comando "apt-get update && apt-get upgrade", i pacchetti verranno aggiornati insieme al loro controparti elencate in sources.list. In particolare, ecco come browser operativi e versione alfa di Google Chrome.

Un repository basato su CD è molto più facile da aggiungere a sources.list. C'è uno speciale comando apt-cdrom per questo. Basta inserire il CD nell'unità ed eseguire il comando:

sudo apt-cdrom add

Trucchi e situazioni insolite

APT è APT, è comodo e semplice, ma a volte non puoi fare a meno dei trucchi, il più utile dei quali imparerai da questa sezione.

1. Per impostazione predefinita, il comando "apt-get remove" rimuove completamente un pacchetto solo se nessuno dei suoi file è stato modificato dopo l'installazione, altrimenti i file modificati rimangono intatti. Naturalmente, i file di configurazione vengono quasi sempre modificati, quindi apt-get si lascia dietro un mucchio di spazzatura che devi ripulire a mano. Il comando "apt-get purge" invece di "apt-get remove" risolve questo problema.

2. I fan del prelievo nel sistema, così come amministratori di sistema i cui server sono stati violati molto probabilmente vorranno riportare i pacchetti allo stato iniziale in cui si trovavano prima della manipolazione. Questo comando aiuterà:

sudo apt-get install --reinstall pacchetto
3. Le utilità di gestione dei pacchetti deb di livello inferiore (come dselect e dpkg) mantengono un elenco speciale di stati dei pacchetti che possono essere utilizzati per controllare quali pacchetti devono essere installati o rimossi in modalità batch (è così che funziona il bundle dselect + dpkg) . Può anche essere utilizzato per molti altri scopi, come il trasferimento di una configurazione di sistema su un'altra macchina. Esegui il seguente comando:

dpkg --get-selezioni > file
Trasferisci il file su un'altra macchina ed esegui due comandi su di esso:

cat > dpkg --set-selections
apt-get dselect-upgrade

Tutti i pacchetti del sistema di origine verranno aggiunti al sistema. Per fare in modo che il file di stato del pacchetto contenga anche informazioni su quali pacchetti rimuovere dal sistema, aggiungere un carattere "\*" dopo l'argomento "--get-selections". L'elenco di stato non contiene le versioni del pacchetto, questo può essere utilizzato dopo l'installazione di più nuova versione kit di distribuzione per portarlo allo stato richiesto.

4. Hai patchato manualmente un file di uno dei pacchetti di sistema e non vuoi che quel pacchetto venga aggiornato (cancellando tutte le tue modifiche) dopo aver chiamato "apt-get upgrade". In questo caso, l'elenco degli stati verrà nuovamente in tuo aiuto. Un pacchetto può essere "congelato", facendo sì che apt-get si rifiuti di aggiornarlo e salti:

echo -e "coreutils hold" | dpkg --set-selezioni
È possibile forzare l'aggiornamento di un pacchetto specificando il flag "-u" quando si chiama apt-get.

5. Come qualsiasi sistema con funzionalità di rete, APT consente di utilizzare un proxy per accedere ai repository. Per abilitare questa funzione, aggiungi la seguente riga al file /etc/apt/apt.conf:

Acquisisci::http::Proxy "http://xxx.xxx.xx:yyyy"

Dove xxx.xxx.xx è il nome del tuo proxy, yyyy è la porta.

6. Le utilità APT di solito richiedono la versione più recente di un pacchetto da tutto ciò che è nella sua cache, quindi se hai aggiunto vari repository sperimentali e instabili a sources.list, dopo l'aggiornamento otterrai un kit di distribuzione composto esclusivamente da pacchetti sperimentali o instabili , e una serie di problemi causati da questo stato di cose. Tuttavia, la situazione può essere facilmente risolta inserendo la seguente riga in /etc/apt/apt.conf:

APT::Default-Release "rilascio";

Dove release è oldstable, stable, unstable, testing o experiment per Debian o il nome della versione per Ubuntu. Ora, se devi installare un pacchetto dalla distribuzione specificata, scrivi semplicemente il suo nome dopo l'argomento "-t" quando chiami apt-get:

sudo apt-get -t pacchetto di installazione instabile
7. Tutti i pacchetti apt-get deb ricevuti sono archiviati nella directory /var/cache/apt/archives, il che significa che se si reinstalla il sistema, è possibile copiare il contenuto della directory su un altro disco/partizione e quindi ripristinarlo e risparmiare tempo/traffico di installazione dei pacchetti. Inoltre, è essenzialmente un'istantanea del tuo sistema installato(quella parte che hai installato tu stesso), che può essere attribuito a un amico (insieme all'elenco degli stati descritti nel terzo paragrafo) o, se non necessario, rimosso per liberare spazio.

8. L'istantanea del sistema remoto descritta nel paragrafo precedente può essere facilmente ripristinata utilizzando la seguente costruzione:

sudo dpkg --get-selezioni | grep -v "disinstalla" | \
awk "(stampa $1)" | xargs dpkg-repack

9. Oltre ai pacchetti binari, i repository Debian/Ubuntu contengono anche pacchetti sorgente dell'applicazione che possono essere ottenuti e compilati utilizzando il seguente comando:

sudo apt-get -b nomepacchetto sorgente

Utilità di terze parti

Il sistema APT ha fatto molta strada nello sviluppo, quindi oltre alle utilità ufficiali incluse nel pacchetto apt, i repository Debian e Ubuntu sono pieni di un sacco di utilità di terze parti, che può essere utilizzato per eseguire alcune attività non standard.
Il più utile è chiamato apt-file ed è necessario, come si può intuire dal nome, per determinare se un particolare file appartiene a un particolare pacchetto. Installare:

sudo apt-get install apt-file
Chiediamo a apt-file di creare una cache di tutti i file installati nel sistema dei pacchetti (verrà cercato):

ricerca file apt /usr/bin/apt-get
apt: /usr/bin/apt-get

Richiedi un elenco di tutti i file del pacchetto:

elenco di file apt apt

Una semplice utility apt-show-versions ti mostrerà quali pacchetti possono essere aggiornati con versioni e altre informazioni. Eseguilo con il flag "-u" per ottenere un elenco dei soli pacchetti da aggiornare (invece di un elenco di tutti i pacchetti).

Se hai installato un gran numero di vari pacchetti e ora vuoi sbarazzarti della spazzatura inutile, allora l'utilità deborphan ti aiuterà in questa faccenda, che cerca pacchetti inutilizzati e dipendenze orfane. Esegui semplicemente deborphan senza argomenti e vedrai un elenco di pacchetti, che puoi passare immediatamente come input al comando "apt-get remove", o semplicemente eseguire questo comando:

sudo apt-get remove `deborphan`

Per impostazione predefinita, deborphan elabora solo i pacchetti che contengono librerie, ma questo comportamento può essere modificato aggiungendo il flag "-a" all'invocazione del comando:

Non dovresti affrettarti a rimuovere immediatamente i pacchetti mostrati dall'utilità, perché anche il più potente algoritmo euristico non è in grado di determinare le tue esigenze personali. Quindi, il programma mi ha mostrato i pacchetti google-chrome, inkscape e persino xorg.

L'utilità apt-move ti consentirà di creare un repository locale. Installa il programma, apri il file /etc/apt-move.conf, specifica il percorso della directory in cui dovrebbe trovarsi il repository nell'opzione LOCALDIR ed esegui il comando:

aggiornamento sudo apt-move

Di conseguenza, tutti i pacchetti scaricati dal Web utilizzando apt-get (directory /var/cache/apt/archives) verranno spostati nella directory specificata nella configurazione, per la quale verrà creato un file di indice. Questo strada conveniente creazione di un repository intranet per quei casi in cui è necessario installare molti pacchetti identici su molte macchine.

Per creare un repository locale, è anche molto comodo utilizzare il server apt-proxy, che consente di memorizzare nella cache i pacchetti deb scaricati dal repository sul lato server. Per fare ciò, apt-proxy viene installato su una macchina dedicata (forse un gateway) e il file sources.list dei client viene modificato in modo che l'indirizzo di questa macchina sia specificato come campo uri di tutti i repository. Di conseguenza, tutte le richieste per i pacchetti deb vengono reindirizzate ad apt-proxy, che richiede il pacchetto dal repository head e lo memorizza nella sua cache, e tutte le successive richieste per questo pacchetto riceveranno risposta dalla cache.

Innanzitutto, installa apt-proxy su una macchina dedicata:

sudo apt-get install apt-proxy

Successivamente, apri il file /etc/apt-proxy/apt-proxy-v2.conf, vai alla sezione e sostituisci il valore dell'opzione address con l'indirizzo IP della macchina, e descrivi anche le origini dei pacchetti utilizzate da apt- delegato, ad esempio:

sudo vi /etc/apt-proxy/apt-proxy-v2.conf


backend = http://en.archive.ubuntu.com/ubuntu/
min_refresh_delay = 1 giorno


backend=http://security.ubuntu.com/ubuntu/
min_refresh_delay = 1 giorno

Di solito questi due indirizzi sono sufficienti per coprire l'intera gamma di pacchetti forniti dagli sviluppatori di Ubuntu. Riavvia apt-proxy:

sudo invoke-rc.d apt-proxy restart

Per passare i client ad apt-proxy, prendiamo il source.list standard di Ubuntu, sostituiamo tutti i campi uri reali con "http://ip-address-apt-proxy:9999/ubuntu/" e copiamo questo file su ciascun client.

Ci sono molte altre utilità meno interessanti che funzionano insieme ad APT. Ad esempio, apt-dater consente di aggiornare i pacchetti su un gran numero di nodi remoti utilizzando un'interfaccia pseudo-grafica. Il programma aptsh implementa un'interfaccia di comando simile a sh sopra i comandi del pacchetto apt, aptfs è il file system virtuale per la gestione di APT. L'utilità debdelta, che consente di aggiornare i pacchetti scaricando i loro delta dal Web, potrebbe essere un argomento per un articolo separato se esistesse almeno un repository aggiornato per essa.

Attitudine

L'utilità apt-get ei suoi parenti non sono l'unica implementazione di APT disponibile. Un'alternativa ancora più potente, conveniente e versatile si chiama aptitude ed è una funzionalità concentrata di apt-get, apt-cache e dselect in un unico posto.
Aptitude consente di installare/disinstallare, cercare, aggiornare e fare molte altre cose con i pacchetti utilizzando due tipi di interfaccia: una modalità di comando simile a apt-get e apt-cache e un'interfaccia pseudo-grafica simile a dselect ma molto più comodo e funzionale.

In modalità riga di comando, aptitude può essere usato per fare cose come:

aptitude install - installa un pacchetto

aptitude remove - Rimuove un pacchetto e le dipendenze orfane

aptitude purge - rimuove pacchetto, dipendenze orfane
e i restanti file di configurazione dopo di loro

aptitude search - cerca un pacchetto nella cache (elenco dei pacchetti disponibili)

aggiornamento aptitude - aggiornamento della cache

aptitude safe-upgrade - aggiorna i pacchetti

aptitude clean - rimuove i pacchetti precedentemente scaricati

aptitude full-upgrade - pacchetti di aggiornamento,
anche se questa azione richiede la rimozione di eventuali pacchetti

aptitude show - informazioni sul pacchetto

aptitude autoclean - rimuove i pacchetti obsoleti

aptitude hold - imposta un divieto di aggiornamento di un pacchetto

La modalità interattiva, disponibile quando si esegue aptitude senza argomenti, consente di eseguire tutte le stesse azioni utilizzando un'interfaccia pseudo-grafica costruita sopra la libreria ncurses. Funziona in modalità batch (pacchetti selezionati - avviato il processo di installazione), quindi sarà conveniente nei casi in cui è necessario installare un numero elevato di pacchetti.

uova di Pasqua

Gli sviluppatori delle utility APT si sono rivelati ragazzi con un senso dell'umorismo leggermente contorto. Qual è il risultato del seguente comando:

sudo apt-get moo
Ciò che sembra ancora più selvaggio è ciò che i creatori di aptitude hanno integrato nel loro programma. Tentativo:

sudo attitudine moo
Una specie di uovo di Pasqua uovo di Pasqua. OK:

sudo aptitude -v moo
sudo aptitude -vv moo
sudo aptitude -vvv moo
sudo aptitude -vvvv moo
sudo aptitude -vvvvv moo

E l'accordo finale:

sudo aptitude -vvvvvv moo

Utili comandi apt-cache

apt-cache show package - informazioni dettagliate sul pacchetto
pacchetto apt-cache showpkg - informazioni generali sul pacchetto
apt-cache dipende dal pacchetto - elenco delle dipendenze del pacchetto
pacchetto apt-cache rdepends - elenco di dipendenze inverse (chi ha bisogno di detto pacchetto)

Dizionario APT

Pacchetto: un programma, una libreria, fonti o qualsiasi altro file, nonché i relativi metadati, impacchettati in un archivio appositamente formato.

Repository: un luogo in cui sono archiviati i pacchetti deb.

La cache dei pacchetti disponibili (o semplicemente cache) è un file che memorizza nella cache le informazioni su tutti i pacchetti disponibili dalle fonti elencate in /etc/apt/sources.list. La cache viene aggiornata ogni volta che viene chiamato il comando "apt-get update".

File indice: il file principale del repository contenente il nome, la versione, la dimensione, breve e Descrizione completa e dipendenze per ogni pacchetto. Denominato Packages.gz per un repository binario e Sources.gz per un repository di origine. Creato utilizzando le utilità pkg-scanpackages e dpkg-scansources.

Apt keyring (letteralmente: apt keyring) è un keystore che autentica le fonti dei pacchetti (repository).

Cosa c'è dentro?

Il segno distintivo dei pacchetti in formato Deb è la loro semplicità. Ogni pacchetto Deb consiste di tre file: data.tar.gz, control.tar.gz e debian-binary, impacchettati con l'archiviatore ar. Il file data.tar.gz è il contenuto del pacchetto (binari, man "s, documentazione, ecc.), control.tar.gz è metadati, nella versione più semplice, due file: controllo contenente una descrizione del pacchetto, dipendenze, dimensioni, ecc. .d. e md5sums sono i checksum di tutti i file nel pacchetto. Il file debian-binary contiene la versione del formato del pacchetto Deb (ad es. 2.0) Per decomprimere il pacchetto, puoi usare il comando:

ar -xv pacchetto.deb && tar -xzf dati.tar.gz

L'Advanced Packaging Tool è uno strumento di packaging di alto livello.

Lavorare con i pacchetti con dpkg

dpkg è il programma principale del sistema per gestire i pacchetti Debian. Se ci sono pacchetti .deb, è dpkg che ti permette di installarli o analizzarne il contenuto. Tuttavia, questo programma ha solo una conoscenza parziale del mondo Debian: sa cosa è installato sul sistema, così come tutto ciò che gli viene passato sulla riga di comando, ma non sa nulla degli altri pacchetti disponibili. Pertanto, fallirà se trova una dipendenza insoddisfatta. Strumenti come apt, d'altra parte, creeranno automaticamente un elenco di dipendenze per installare tutto nel modo più automatico possibile.

dpkg o apt?

dpkg dovrebbe essere considerato come uno strumento di basso livello (motore) e adatto come uno strumento più user-friendly che aggira i limiti del primo. Questi strumenti lavorano insieme, ciascuno con le proprie specificità, affinato per una certa gamma di compiti.

Installazione dei pacchetti

dpkg è principalmente uno strumento per installare pacchetti Debian già disponibili (poiché non scarica nulla). Per installare un pacchetto, utilizzare l'opzione -i o --install.

Installazione di un pacchetto con dpkg

dpkg -i man-db_2.7.0.2-5_amd64.deb




Il pacchetto man-db (2.7.0.2-5) è in fase di configurazione...

Possiamo vedere ogni passo che dpkg sta eseguendo, quindi sappiamo dove potrebbe essersi verificato qualche errore. L'installazione può anche essere eseguita in due passaggi: prima il disimballaggio, quindi la configurazione. Ciò fa sì che apt-get effettui meno chiamate a dpkg (ogni chiamata di questo tipo è un'operazione costosa a causa della necessità di caricare il database in memoria, incluso l'intero elenco di file già installati).

Disimballaggio e configurazione separati

dpkg --unpack man-db_2.7.0.2-5_amd64.deb

(Lettura del database... 86425 file e directory attualmente installati.)
Preparazione per decomprimere man-db_2.7.0.2-5_amd64.deb ...
Decomprime man-db (2.7.0.2-5) per sostituire (2.7.0.2-5) ...
Elaborazione dei trigger per il supporto mime (3.58) ...

dpkg --configure man-db

Il pacchetto man-db (2.7.0.2-5) è in fase di configurazione...
Aggiornamento del database delle pagine di manuale...

A volte dpkg non riesce a installare un pacchetto per un motivo o per l'altro e restituisce un errore; se l'utente indica di ignorare questo errore, verrà emesso solo un avviso; ci sono varie opzioni --force-* per questo. Il comando dpkg --force-help, o la documentazione per quel comando, ti darà un elenco completo di queste opzioni. L'errore più comune che dovrai affrontare prima o poi è un conflitto di file. Quando un pacchetto contiene un file che è già installato da un altro pacchetto, dpkg rifiuterà di installarlo e otterremo questo messaggio:

Il pacchetto libgdm viene decompresso (dal file.../libgdm_3.8.3-2_amd64.deb) ...
dpkg: errore durante l'elaborazione dell'opzione /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
cercando di sovrascrivere "/usr/bin/gdmflexiserver" che è già nel pacchetto gdm3 3.4.1-9

In questo caso, se ritieni che la sostituzione di questo file non rappresenti una minaccia significativa per la stabilità del tuo sistema (lo fa spesso), puoi usare l'opzione --force-overwrite, che dirà a dpkg di ignorare questo errore e sovrascrivere il file.
Sebbene ci siano molte opzioni --force-*, solo --force-overwrite è consigliato per un uso regolare. Il resto è solo per casi eccezionali, ed è meglio non toccarli il più a lungo possibile per rispettare le regole stabilite al momento della creazione del pacchetto. Non dimenticare che queste regole sono una garanzia dell'integrità e della stabilità del sistema.

ATTENZIONE! Uso efficace di --force-*

Se non stai attento, l'utilizzo dell'opzione --force-* può far sì che i comandi APT smettano di funzionare. Alcune di queste opzioni consentono di installare un pacchetto con dipendenze non soddisfatte o in conflitto. Di conseguenza, la coerenza del sistema in termini di dipendenze viene interrotta e i comandi APT si rifiuteranno di eseguire qualsiasi azione diversa da quelle che riportano il sistema a uno stato coerente (questo di solito si riduce all'installazione di una dipendenza mancante o alla rimozione di una dipendenza pacchetto problematico). Ecco un esempio di un messaggio che indica tale errore, ricevuto dopo l'installazione di una nuova versione di rdesktop, ignorando la dipendenza dalla versione più recente di libc6:

apt aggiornamento completo

Potresti voler usare "apt-get -f install" per correggere questi errori.
Pacchetti con dipendenze non soddisfatte:
rdesktop: Dipende: libc6 (>= 2.5) ma 2.3.6.ds1-13etch7 è già installato
E: Dipendenze non soddisfatte.

Prova a usare -f.
Gli amministratori intrepidi, fiduciosi nella loro analisi della situazione, possono ignorare l'avviso di dipendenza o conflitto utilizzando l'opzione --force-* appropriata. In questo caso, se si desidera continuare a utilizzare apt o aptitude, è necessario modificare /var/lib/dpkg/status e rimuovere/modificare la dipendenza o il conflitto.
La modifica dato fileè un hack sporco e non dovrebbe essere usato se non nei casi più estremi. Spesso soluzione miglioreè ricostruire il pacchetto che causa il problema, "Ricostruire un pacchetto dal suo codice sorgente”) o utilizzando una versione più recente (possibilmente riparata) da un repository come stable-backports (vedere Sezione 6.1.2.4, «Software stabile retrocompatibile»).

Rimozione di un pacchetto

L'esecuzione di dpkg con l'opzione -r o --remove seguita dal nome di un pacchetto rimuoverà quel pacchetto. Questa rimozione, tuttavia, non è completa: tutti i file di configurazione, gli script del manutentore, i file di registro (registri di sistema) e altri dati utente utilizzati da questo pacchetto rimarranno. In questo modo è facile sbarazzarsi del programma disinstallandolo, ma allo stesso tempo rimane possibile installarlo nuovamente con la stessa configurazione. Per rimozione completa qualsiasi cosa relativa a un pacchetto, usa l'opzione -P o --purge, seguita dal nome del pacchetto.

Rimozione completa del pacchetto debian-cd

dpkg -r debian-cd

(Lettura del database... 97747 file e directory attualmente installati.)

dpkg -P debian-cd

(Lettura del database... 97401 file e directory attualmente installati.)
Pacchetto debian-cd (3.1.17) rimosso...
Pulizia dei file di configurazione del pacchetto debian-cd (3.1.17)...

query del database dpkg e analisi dei file .deb

Per la maggior parte delle opzioni, ci sono opzioni "lunghe" (una o più parole precedute da un doppio trattino) e "brevi" (una lettera, spesso la prima lettera dell'opzione "lunga", dopo un singolo trattino). Questa convenzione è così comune che è già uno standard POSIX.
Prima di concludere questa sezione, esaminiamo le opzioni di dpkg per interrogare il database interno per varie informazioni. Questo elencherà prima le opzioni lunghe, seguite dalle corrispondenti opzioni brevi (che, ovviamente, accettano gli stessi argomenti). Pertanto, --listfiles pacchetto (o -L) elenca i file installati dal pacchetto; --search file (o -S) cerca il pacchetto a cui appartiene questo file; --status pacchetto (o -s) visualizza informazioni su un particolare pacchetto installato; --list (o -l) elenca i pacchetti noti al sistema e il loro stato; --contents file.deb (o -c) elenca i file in questo pacchetto; --info file.deb (o -I) visualizza informazioni su un pacchetto Debian.

Ottenere informazioni con dpkg

dpkg -L base-passwd

/.
/usr
/usr/sbin
/usr/sbin/update-passwd
/usr/condividi
/usr/condividi/man
/usr/condividi/uomo/ru
/usr/share/man/ru/man8
/usr/share/man/ru/man8/update-passwd.8.gz
/usr/condividi/uomo/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz
/usr/condividi/uomo/man8
/usr/share/man/man8/update-passwd.8.gz
/usr/condividi/uomo/fr
/usr/share/man/fr/man8
/usr/share/man/fr/man8/update-passwd.8.gz
/usr/share/doc-base
/usr/share/doc-base/utenti-e-gruppi
/usr/share/base-passwd
/usr/share/base-passwd/passwd.master
/usr/share/base-passwd/group.master
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/base-passwd
/usr/condividi/doc
/usr/share/doc/base-passwd
/usr/share/doc/base-passwd/copyright
/usr/share/doc/base-passwd/users-and-groups.html
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/users-and-groups.txt.gz
/usr/share/doc/base-passwd/LEGGIMI

dpkg -S /bin/data

coreutils: /bin/data

dpkg -s coreutils

Pacchetto: coreutils
Essenziale: sì
Stato: installa ok installato
Priorità: richiesto
Sezione: utilità
Dimensioni installate: 13822
Manutentore: Michael Stone
Architettura: amd64
Multi-Arch: straniero
Versione: 8.13-3.5
Sostituisce: mktemp, timeout
Dipende: dpkg (>= 1.15.4) | informazioni sull'installazione
Pre-dipende: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7), libselinux1 (>= 1.32)
conflitti: timeout
Descrizione: Utilità di base GNU
Questo pacchetto contiene il file di base, la shell e la manipolazione del testo
utilità che dovrebbero esistere su ogni sistema operativo.
.
In particolare, questo pacchetto include:
arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit cut date dd df dir dircolors dirname du echo env expand expr
factor false flock fmt fold gruppi head hostid id install join link ln
logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od
paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq shred sleep sort split stat stty sum sync tac tail tee test
timeout touch tr true truncate tsort tty uname unexpand uniq unlink
utenti vdir wc who whoami sì
Pagina iniziale: http://gnu.org/software/coreutils

dpkg -l "b*"

Desired=unknown[u]/install[i]/remove[r]/clean[p]/fix[h]
| Stato=non[n]/installato[i]/configurato[c]/decompresso[U]/parzialmente configurato[F]/
parzialmente impostato[H]/trig-aWait/Trig-pend
|/ Error?=(none)/reinstall required[R] (maiuscolo
nei campi stato ed errore indica una situazione anomala)
||/ Nome Versione Architettura Descrizione
+++-============-==============-==============-================================
un backupninja<нет>(descrizione non disponibile)
base<нет>(descrizione non disponibile)
un base-config<нет>(descrizione non disponibile)
ii base-files 7.1 amd64 Sistema base Debian varie
ii base-passwd 3.5.26 amd64 Passwo principale del sistema di base Debian
[...]

Dpkg -c /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

drwxr-xr-x radice/radice 0 2013-01-02 19:28 ./
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/
drwxr-xr-x root/root 0 2013-01-02 19:28 ./usr/share/doc/gnupg/
-rw-r--r-- root/root 3258 2012-01-20 10:51 ./usr/share/doc/gnupg/TODO
-rw-r--r-- root/root 308 2011-12-02 18:34 ./usr/share/doc/gnupg/FAQ
-rw-r--r-- root/root 3543 2012-02-20 18:41 ./usr/share/doc/gnupg/Upgrading_From_PGP.txt
-rw-r--r-- root/root 690 20-02-2012 18:41 ./usr/share/doc/gnupg/README.Debian
-rw-r--r-- root/root 1418 2012-02-20 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]

Dpkg -I /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

nuovo pacchetto debian, versione 2.0.
dimensione 1952176 byte(i): archivio di controllo lungo 3312 byte(i).
1449 byte, 30 linee di controllo
4521 byte, 65 righe md5sums
479 byte, 13 righe * postinst #!/bin/sh
473 byte, 13 righe * preinst #!/bin/sh
Pacchetto: gnupg
Versione: 1.4.12-7
Architettura: amd64
Manutentore: Debian GnuPG-Maintainer
Dimensioni installate: 4627
Dipende: libbz2-1.0, libc6 (>= 2.4), libreadline6 (>= 6.0), libusb-0.1-4 (>= 2:0.1.12), zlib1g (>= 1:1.1.4), dpkg (>= 1.15.4) | info-installazione, gpgv
Consiglia: libldap-2.4-2 (>= 2.4.7), gnupg-curl
Suggerimenti: gnupg-doc, xloadimage | magia dell'immagine | eog, libpcsclite1
Sezione: utilità
Priorità: importante
Multi-Arch: straniero
Pagina iniziale: http://www.gnupg.org
Descrizione: GNU privacy guard - un sostituto PGP gratuito
GnuPG è lo strumento di GNU per la comunicazione sicura e l'archiviazione dei dati.
Può essere utilizzato per crittografare i dati e creare firme digitali.
Include una funzione avanzata di gestione delle chiavi ed è conforme
con lo standard Internet OpenPGP proposto come descritto in RFC 4880.
[...]

ANDANDO OLTRE: Confronto di versioni

Poiché dpkg è un packager Debian, contiene, tra le altre cose, un'implementazione di riferimento della logica di confronto dei numeri di versione. Pertanto, ha l'opzione --compare-versions, che viene utilizzata programmi esterni(principalmente script di configurazione eseguiti da dpkg stesso). Questa opzione richiede tre parametri: un numero di versione, un operatore di confronto e un secondo numero di versione. Gli operatori di confronto validi sono lt (strettamente minore di), le (minore o uguale a), eq (uguale a), ne (diverso da), ge (maggiore o uguale a) e gt (strettamente maggiore di). Se il confronto è vero, dpkg restituisce 0 (successo), in caso contrario, un valore diverso da zero (indicazione di un errore).

$ dpkg --compare-versioni 1.2-3 gt 1.1-4
$ eco $?
0
$ dpkg --compare-versioni 1.2-3 lt 1.1-4
$ eco $?
1
$ dpkg --compare-versioni 2.6.0pre3-1lt 2.6.0-1
$ eco $?
1

Si noti l'inaspettato fallimento dell'ultimo confronto: per dpkg, le lettere pre, che di solito denotano una pre-release, non hanno un significato speciale, e i caratteri alfabetici vengono confrontati allo stesso modo dei numeri (un< b < c ...), в алфавитном порядке. Именно поэтому dpkg считает, что «0pre3» больше, чем «0». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «~»:

$ dpkg --confronta-versioni 2.6.0~pre3-1lt 2.6.0-1
$ eco $?
0

file di registro dpkg

dpkg tiene un registro di tutte le sue azioni in /var/log/dpkg.log. Questo registro è estremamente dettagliato e documenta ogni fase dell'elaborazione dei pacchetti dpkg. Questo registro non solo aiuta a tenere traccia del comportamento di dpkg, ma mantiene anche una cronologia delle modifiche nel sistema: puoi trovare il momento esatto in cui ogni pacchetto è stato installato o aggiornato e questa informazione può essere estremamente utile per scoprire perché il comportamento di dpkg il sistema nel suo insieme è cambiato. Inoltre, le informazioni su tutte le versioni sono registrate e possono essere facilmente confrontate con il changelog.Debian.gz dal rispettivo pacchetto o segnalazioni di bug online.

Supporto multi-architettura

Tutti i pacchetti Debian hanno un campo Architettura nei loro metadati. Questo campo può contenere il valore "all" (per i pacchetti che sono indipendenti dall'architettura) o il nome dell'architettura specifica a cui è destinato il pacchetto (ad esempio "amd64", "armhf", ...). In quest'ultimo caso, dpkg per impostazione predefinita consentirà l'installazione di un pacchetto solo se la sua architettura corrisponde all'architettura di sistema restituita da dpkg --print-architecture.
Questa restrizione assicura che non ci siano binari compilati per l'architettura sbagliata sul sistema. Sarebbe fantastico, ma su (alcuni) computer è possibile eseguire binari per diverse architetture, sia in modo nativo (ad esempio i sistemi "amd64" eseguono binari per "i386") o tramite emulatori.

Abilitazione della multiarchitettura

Il supporto multiarch di dpkg consente di definire "architetture esterne" che possono essere installate su un dato sistema. Questo può essere fatto facilmente con dpkg --add-architecture, come mostrato nell'esempio qui sotto. Esiste anche un comando dpkg --remove-architecture corrispondente per disabilitare il supporto per un'architettura esterna, ma può essere utilizzato solo quando non è rimasto un singolo pacchetto di questa architettura nel sistema.

dpkg --print-architettura
emendamento64

dpkg: errore durante l'elaborazione dell'archivio gcc-4.9-base_4.9.1-19_armhf.deb (--install):
l'architettura del pacchetto (armhf) non corrisponde al sistema (amd64)
Si sono verificati errori durante l'elaborazione:
gcc-4.9-base_4.9.1-19_armhf.deb

dpkg --add-architecture armhf
dpkg --add-architecture armel
dpkg --print-foreign-architectures
armhf
armel

dpkg -i gcc-4.9-base_4.9.1-19_armhf.deb

Selezione del pacchetto precedentemente deselezionato gcc-4.9-base:armhf.
(Lettura del database ... 86425 file e directory attualmente installati.)
Preparazione alla decompressione di gcc-4.9-base_4.9.1-19_armhf.deb ...
Disimballaggio gcc-4.9-base:armhf (4.9.1-19) ...
Configurazione di gcc-4.9-base:armhf (4.9.1-19) ...

dpkg --remove-architecture armhf

dpkg: errore: impossibile rimuovere l'architettura "armhf" attualmente in uso dal database

dpkg --remove-architecture armel
dpkg --print-foreign-architectures
Supporto multiarco in APT

APT rileverà automaticamente se dpkg è configurato per supportare architetture esterne e inizierà a scaricare i file dei pacchetti appropriati durante il processo di aggiornamento.
I pacchetti esterni possono essere installati con apt install package:architecture.

Utilizzo di binari i386 proprietari su sistemi amd64

Ci sono alcuni casi in cui la multiarchitettura può tornare utile, ma il più comune è rendere possibile l'esecuzione di file a 32 bit (i386) su sistemi a 64 bit (amd64), in particolare perché alcune popolari applicazioni proprietarie ( come Skype) sono disponibili solo come versioni a 32 bit.

Modifiche alla multiarchitettura

Per rendere il supporto multi-arch davvero utile, le librerie dovevano essere riconfezionate spostandole in una directory specifica dell'architettura in modo che più copie (per diverse architetture) potessero essere installate contemporaneamente. Tali pacchetti aggiornati contengono un'intestazione "Multi-Arch: same" che indica al sistema di gestione dei pacchetti che diverse architetture di pacchetti possono essere installate insieme (e che questi pacchetti possono soddisfare solo dipendenze di pacchetti della stessa architettura). Poiché il supporto multiarch è stato aggiunto solo in Debian Wheezy, non tutte le librerie sono state ancora convertite.

dpkg -s gcc-4.9-base

dpkg-query: errore: --status richiede un nome pacchetto valido, ma 'gcc-4.9-base' non lo è: nome pacchetto ambiguo 'gcc-4.9-base' con più di un'istanza installata

Utilizzare l'opzione --help per visualizzare la guida sulle richieste dei pacchetti.

Dpkg -s gcc-4.9-base:amd64 gcc-4.9-base:armhf | grep ^Multi

Multi-Arco: uguale
Multi-Arco: uguale

Dpkg -L libgcc1:amd64 |grep .so

/lib/x86_64-linux-gnu/libgcc_s.so.1

dpkg -S /usr/share/doc/gcc-4.9-base/copyright

gcc-4.9-base:amd64, gcc-4.9-base:armhf: /usr/share/doc/gcc-4.9-base/copyright

Vale la pena notare che i pacchetti con il campo Multi-Arch: stesso dovrebbero essere denominati con il nome dell'architettura in modo che possano essere identificati in modo univoco. Potrebbero anche averlo file condivisi con altre istanze dello stesso pacchetto; dpkg in questo caso assicura che tutti i pacchetti abbiano file comuni identici bit per bit. Tutte le istanze di un pacchetto devono essere della stessa versione, quindi devono essere aggiornate insieme.
Il supporto multi-architettura porta anche alcune caratteristiche interessanti al meccanismo di gestione delle dipendenze. Per soddisfare una dipendenza, è richiesto un pacchetto contrassegnato come "Multi-Arch: foreign" o un pacchetto con la stessa architettura (per la risoluzione delle dipendenze, si considera che i pacchetti indipendenti dall'architettura abbiano la stessa architettura del sistema). Una dipendenza può anche essere rilassata per consentire a un pacchetto di qualsiasi architettura di soddisfarla utilizzando la sintassi pacchetto:qualsiasi, ma i pacchetti esterni possono soddisfare tale dipendenza solo se sono contrassegnati come "Multi-Arch: consentiti".

Materiali usati.

Ubuntu 16.04 è ora disponibile e apporta molte modifiche molto interessanti ai suoi utenti come il supporto per sistema di file BSD - Supporto ZFS nuova tecnologia installazioni di pacchetti - snap e molti altri. Ma una cosa di cui probabilmente non hai ancora sentito parlare, perché piccole cose del genere si perdono spesso, è adatta.

Cosa è adatto? Questo è un nuovo gestore di pacchetti per Ubuntu pronto ad assumere il compito di apt-get. È stato progettato per essere più amichevole, più efficiente e più sicuro. Quindi cosa aveva in mente Canonical quando ha introdotto il nuovo gestore di pacchetti? Ci sono davvero differenze tra apt e apt-get? Questo è ciò che scopriremo nell'articolo di oggi.

Apt è stato implementato per semplificare il lavoro con il gestore di pacchetti e per combinare più comandi in uno solo. La funzionalità di apt-get è stata riprogettata per funzionare correttamente in apt.

Sebbene questi nuovi comandi siano progettati per funzionare in modo simile a apt-get, sono basati su un nuovo codice per interagire con i pacchetti.

Il motivo principale per l'introduzione di apt è l'essenza stessa di Ubuntu: semplicità e facilità d'uso. Che le persone lo vogliano ammettere o no, apt-get è uno strumento obsoleto e la sua praticità è altamente discutibile. Apt è stato progettato da zero per essere ancora più efficiente e progettato per essere divertente per i nuovi utenti.

apt vs apt-get. Quali sono le differenze?

apt o apt-get. Allora qual è la differenza tra queste due soluzioni? Per cominciare, non è più necessario utilizzare apt-get autoremove per cancellare la cache dei pacchetti. Inoltre non è necessario digitare apt-cache search per trovare i pacchetti.

Questi comandi sono stati sostituiti da apt search e apt remove. La principale differenza di apt è che sostituisce tutti i comandi apt-get, apt-cache, ecc. Tutte le funzionalità sono combinate in un'unica utility.

Sebbene questa non sia l'unica differenza rispetto a apt-get. Le barre di avanzamento dell'installazione del software sono state migliorate qui. Supporta anche alcune aggiunte che rendono l'utilità più intelligente della precedente. Ad esempio, quando si aggiornano le fonti software con apt-get, non c'è modo semplice vedere l'elenco dei pacchetti disponibili per l'aggiornamento. Puoi semplicemente sudo apt-get update e quindi:

sudo apt list-aggiornabile

Certo, piccole cose, ma carine. Sono stati inoltre aggiunti nuovi colori di output moderni e l'installazione complessiva del pacchetto è più rapida. Canonical non ha fretta di allontanarsi da apt-get, ma lo renderanno un cambiamento positivo.

Nuovi comandi Apt

Ecco un elenco di comandi supportati da apt, presi direttamente dall'output di --help. Questi comandi sono molto simili all'implementazione di apt-get e apt-cache, ma sono più organizzati e raggruppati.

Comandi di base:

  • elenco- elenco dei pacchetti
  • ricerca- cercare i pacchetti per nome
  • spettacolo- mostra informazioni dettagliate sul pacchetto
  • aggiornamento- aggiornare gli elenchi dei pacchetti disponibili
  • installare- installa il pacchetto
  • rimuovere- rimuovere il pacchetto
  • aggiornamento- installare le nuove versioni dei pacchetti disponibili
  • aggiornamento completo- aggiornamento completo del sistema
  • edit-sources- modificare il file delle fonti del software

Per ulteriori informazioni, esegui man apt in un terminale. Le informazioni memorizzate lì ti aiuteranno a studiare a fondo la nuova utilità.

conclusioni

Apt-get è una parte collaudata e vera di un software manager. Questo strumento esiste da molto tempo e viene fornito di default in molte versioni di Ubuntu e Debian. Lo usavamo sempre quando era necessario aggiornare qualcosa, aggiornare Software o anche solo ripulire il sistema dalla spazzatura.

Tuttavia, sta invecchiando. Il gestore di pacchetti non soddisfa più tutte le esigenze degli utenti, e quindi viene lentamente sostituito da apt. Gli sviluppatori di Ubuntu comprendono che devono aggiornare il loro gestore di pacchetti per renderlo più semplice, più elegante e più sicuro. Ma sebbene entrambe le utilità esistano nel sistema, sta a te scegliere se usare apt o apt-get. Utilizzerai il nuovo gestore di pacchetti? O lo stai già usando?

Se noti un errore, seleziona una parte di testo e premi Ctrl + Invio
CONDIVIDERE: