Come installo un file .deb tramite la riga di comando?


Risposte:


1243

I pacchetti vengono installati manualmente tramite il dpkgcomando (Debian Package Management System). dpkgè il backend di comandi come apt-gete aptitude, che a loro volta sono il backend per le app di installazione della GUI come Software Center e Synaptic.

Qualcosa sulla falsariga di:

dpkg-> apt-get, aptitude-> Synaptic, Software Center

Ma ovviamente i modi più semplici per installare un pacchetto sarebbero, in primo luogo, le app GUI (Synaptic, Software Center, ecc.), Seguite dai comandi del terminale apt-gete aptitudeche aggiungono un approccio molto intuitivo al dpkg di backend, incluso ma non limitato a dipendenze impacchettate, controllo su ciò che è installato, necessita di aggiornamenti, pacchetti non installati, non funzionanti, ecc. Infine il dpkgcomando che è la base per tutti.

Poiché dpkg è la base, è possibile utilizzarlo per installare i pacchetti direttamente dalla riga di comando.

Installa un pacchetto

sudo dpkg -i DEB_PACKAGE

Ad esempio, se viene chiamato il file del pacchetto, è askubuntu_2.0.debnecessario farlo sudo dpkg -i askubuntu_2.0.deb. Se viene dpkgsegnalato un errore a causa di problemi di dipendenza, è possibile eseguire sudo apt-get install -fper scaricare le dipendenze mancanti e configurare tutto. Se viene segnalato un errore, dovrai risolvere autonomamente le dipendenze seguendo, ad esempio, come posso risolvere le dipendenze non soddisfatte dopo aver aggiunto un PPA? .

Rimuovi un pacchetto

sudo dpkg -r PACKAGE_NAME

Ad esempio, se il pacchetto viene chiamato, askubuntuè necessario farlo sudo dpkg -r askubuntu.

Riconfigurare un pacchetto esistente

sudo dpkg-reconfigure PACKAGE_NAME

Ciò è utile quando è necessario riconfigurare qualcosa di correlato a detto pacchetto. Alcuni esempi utili sono keyboard-configurationquando si desidera abilitare il Ctrl+ Alt+ Backspaceper ripristinare il server X, quindi si dovrebbe quanto segue:

sudo dpkg-reconfigure keyboard-configuration

Un altro fantastico è quando è necessario impostare il fuso orario per un server o il computer di test locale, quindi utilizzare il tzdatapacchetto:

sudo dpkg-reconfigure tzdata

4
Ottime informazioni, ho dovuto trovare un modo per installare traceroute per aiutare il debug perché la mia macchina non si connetteva a Internet :)
Jason

23
Utile anche notare che una volta installati i programmi si trovano di solito in / usr / bin, che prende il nome da ciò che è stato depackaged.
Chris Moschini,

Se corro sudo apt-get install texlive-latex-base, non funziona da mesi con "Mancata corrispondenza della somma hash". Posso scaricare il file .deb da http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb. Se lo installo usando dpkg, sarebbe successivamente riconosciuto (e aggiornato) da apt-get.
user643722

1
amico sei fantastico. così raramente vedo le risposte di Linux che sono così dettagliate .. quando si tratta di domande per principianti è importante !! grazie
Elad Katz,

1
Se è più facile e migliore installare tramite aptitudeo apt-get(o semplicemente apt), perché non vengono forniti esempi per questi comandi?
intuito il

161

I pacchetti Debian (.deb) sono i pacchetti usati in Ubuntu. Puoi installare qualsiasi pacchetto .deb nel tuo sistema. I file .deb possono generalmente essere installati dal file manager (Nautilus) semplicemente facendo clic su di essi, poiché le associazioni di file con il programma di installazione predefinito sono già impostate in Ubuntu. Queste istruzioni sono per coloro che desiderano installare pacchetti dal terminale della riga di comando (Terminale).

Per installare un pacchetto Debian ( Ubuntu ) scaricato (.deb): Apri Terminale e digita

sudo dpkg -i packagename.deb

Per rimuovere un pacchetto Debian (Ubuntu) (.deb):

sudo dpkg -r packagename

Per riconfigurare / riparare un pacchetto Debian (Ubuntu) installato (.deb):

sudo dpkg-reconfigure packagename

105

Il mio preferito è GDebi, disponibile sia da terminale / shell o desktop grafico.

immagine dello schermo

Di solito .debassocio i file a GDebi in quanto è veloce ed efficiente, soprattutto rispetto a Ubuntu Software Center. Una delle caratteristiche principali di GDebi è che risolve le dipendenze e le installa.

Per l'esecuzione da riga di comando sudo gdebi <package.deb>installare un singolo file deb.


5
controlla le dipendenze prima dell'installazione, grazie !!
Aquarius Power,

Gdebi può anche scaricare le dipendenze o dobbiamo scaricarle manualmente ?? @Pandya
Jasser,

Probabilmente meglio per le persone che si trasferiscono da un ambiente non Linux.
Nisheet,

+1 per "risolve le dipendenze e le installa" che è la chiave.
Revetahw,

85

Stai cercando tutti i comandi dpkg ? fai clic su questo link per leggere.

15 comandi dpkg per gestire i server Linux basati su Debian

Comandi DPKG

Ci sono due azioni, sono dpkg-querye dpkg-deb.

Installa un pacchetto

# sudo dpkg -i {package_name}    
# sudo dpkg -i skype-ubuntu-precise_4.2.0.11-1_i386.deb

Rimuovi un pacchetto

# sudo dpkg -r {package_name}
# sudo dpkg -r vlc

Rimuovere un pacchetto e i suoi file di configurazione

# sudo dpkg -P {package_name}
# sudo dpkg -P vlc

Elencare tutti i pacchetti installati.

È possibile reindirizzare il comando a less(un cercapersone) in modo da poter scorrere più facilmente il contenuto:

# dpkg -l | less

Controlla se il pacchetto è installato o meno

# dpkg -l {package_name}
# dpkg -l vlc

Controlla se il pacchetto è installato o meno e, se lo è, avvialo:

# dpkg -l | vlc

Verifica se un pacchetto è installato o meno

E questo mostrerà la posizione in cui verrà installato il pacchetto. Qui -S(maiuscolo S) per cercare se il pacchetto è stato installato o meno.

# sudo dpkg -S {package_name}
# sudo dpkg -S skype

Installa un pacchetto * .deb da un percorso specificato

Qui -Rè ricorsivo. (Gestire in modo ricorsivo tutti i file regolari corrispondenti allo schema *.debtrovato nelle directory specificate e in tutte le sue sottodirectory).

# sudo dpkg -R --install {package_location}
# sudo dpkg -R --install /home/sysadmin/soft

Mostra i dettagli del pacchetto

Qui -p(in minuscolo p) verranno mostrate le informazioni sul pacchetto:

# dpkg -p {package_name}
# dpkg -p apache2

Visualizza il contenuto di un pacchetto

Usa -c(lettere minuscole c) per mostrare il contenuto:

# sudo dpkg -c {package_name}
# sudo dpkg -c skype-ubuntu-precise_4.2.0.11-1_i386.deb

Estrarre il *.debfile del pacchetto

Usa -x(lettere minuscole x) per estrarre:

# dpkg -x {package_name} {location_were_to_extract}
# dpkg -x libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Estrai e visualizza i nomi dei file contenuti in un pacchetto

Utilizzare -X(maiuscolo X) per visualizzare il contenuto con l'estrazione.

# dpkg -X {package_name} {location_were_to_extract}
# dpkg -X libqt4-phonon_4.6.3-4+squeeze1_i386.deb /home/sysadmin/

Visualizza informazioni su un pacchetto

Qui -Ista per informazioni:

# dpkg -I {package_name}
# dpkg -I libqt4-phonon_4.6.3-4+squeeze1_i386.deb

Riconfigurare un pacchetto già installato

dpkg-reconfigurericonfigura i pacchetti dopo che sono già stati installati. Passagli il nome (i) di un pacchetto o pacchetti da riconfigurare. Porrà domande sulla configurazione, proprio come quando il pacchetto è stato installato per la prima volta.

# dpkg-reconfigure postfix

Ciò verrà riconfigurato postfixallo stesso modo di quando è stato installato per la prima volta.

Hai bisogno di saperne di più sui dpkgcomandi? Dai un'occhiata alla pagina del manuale:

# man dpkg

5
Msgstr# dpkg -l | vlc " Controlla se il pacchetto è installato o meno e, se lo è, avvialo: " - questo invierebbe solo un elenco di pacchetti a vlc, con risultati imprevedibili se fosse installato; e niente di meglio che scrivere semplicementevlc
Xen2050,

51

Sebbene dpkg -ieffettivamente installi il pacchetto, non esegue alcuna risoluzione automatica delle dipendenze, nel frattempo ci sono altre due alternative, usando gdebi o lo strumento apt-get. Per usare la versione successiva basta usare:

sudo apt-get install /path/to/package.deb

Anche se ti trovi nella directory con il pacchetto devi dare un percorso usando ./all'inizio:

sudo apt-get install ./package.deb

13
Questa è probabilmente la risposta migliore. aptti impedirà di rompere il sistema se non hai le dipendenze corrette.
mlainz,

Questo comando sembra selezionare tutti i pacchetti esistenti.
Hibou57,

@ Hibou57 non può esserci spazio nel nome del pacchetto.
Braiam

26

Un consiglio utile quando si installa un programma come Libreoffice che ha più file .deb in una cartella è quello di usare.

sudo dpkg -i *.deb

2
Non usare mai questo comando. Devi rimuovere manualmente tutti i debs se vuoi rimuovere quel pacchetto. sudo apt remove example, sudo apt autoremoveE sudo dpkg -r *.debnon funziona.
nessuno

12

La gdebisoluzione da riga di comando

Ecco il modo migliore per installare un file .deb su Ubuntu dalla riga di comando:

sudo gdebi skype.deb

Se non lo hai gdebigià installato, installalo usando sudo apt install gdebi-core.

Perché gdebi

gdebicercherà tutte le dipendenze del .debfile e le installerà prima di tentare di installare il .debfile. Lo trovo molto preferibile di sudo dpkg -i skype.deb && sudo apt install -f. Quest'ultimo è troppo ansioso di rimuovere le dipendenze in determinate situazioni. Ad esempio, quando ho provato a installare Skype, ha tentato di rimuovere 96 (!) Pacchetti, inclusi pacchetti come compize unity! gdebiha dato un messaggio di errore molto più chiaro:

$ sudo gdebi skype.deb
Cannot install 'libqtgui:i386'

(Ecco la soluzione a quel particolare problema , tra l'altro.)


askubuntu.com/a/170557/158442 dice che gdebipuò essere usato dalla riga di comando
muru

@muru Sì, ma è facile perdere a causa dello screenshot. Inoltre, non spiega i problemi condpkg -i skype.deb
Flimm il

11

Crea il tuo programma di installazione di script debInstallercome il seguente:

#!/bin/bash
dpkg -i "$@"
apt-get --yes --fix-broken install

Rendi eseguibile lo script con

chmod +x debInstaller

Quindi spostalo in alcune directory nel tuo PERCORSO o aggiungi la directory corrente al tuo PERCORSO.

Lo sposterò in / usr / bin

sudo cp debInstaller /usr/bin

Ora puoi installare qualsiasi .debpacchetto usando il comando:

sudo debInstaller some-package.deb

Il valore aggiunto di questo metodo è la risoluzione del problema delle dipendenze, dal momento che per lo più si incontrano alcuni problemi quando si installa un .deb con a dpkg -icausa dell'errore delle dipendenze, quindi è necessario utilizzare apt-get install -fper risolverlo, questo script farà il lavoro per te, ma qui ho usato apt-get --yes --fix-broken installper risolvere automaticamente questi errori senza l'intervento dell'utente.


10

Per installare i file deb, apri Terminale e digita:

sudo dpkg -i file.deb
sudo apt-get install -f
sudo dpkg -i file.deb   

La seconda riga è quella di riparare i pacchetti rotti se l'installazione non riesce, quindi reinstallare nuovamente per completare l'installazione.

Un altro approccio è utilizzare lo gdebistrumento per installare i file deb.


0

Esistono molti strumenti per installare un pacchetto deb che uso personalmente il programma di installazione dei pacchetti integrato dpkg

Se si è registrati come root, cambiare la directory nella posizione del pacchetto deb

dpkg -i package_name.deb

se non si è registrati come root

sudo dpkg -i package_name.deb

Per assicurarsi che il pacchetto sia stato installato correttamente e non avesse dipendenze interrotte

sudo apt-get check

Se ci sono dipendenze rotte

sudo apt-get -f install
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.