Comment installer un fichier .deb via la ligne de commande?

Réponses:

1243

Les paquets sont installés manuellement via la dpkgcommande (système de gestion des paquets Debian). dpkgest le backend de commandes comme apt-getet aptitude, qui sont à leur tour le backend pour les applications d'installation à interface graphique telles que le Centre logiciel et Synaptic.

Quelque chose dans le genre de:

dpkg-> apt-get, aptitude-> Synaptic, Centre de logiciels

Mais bien sûr, le moyen le plus simple d’installer un paquet serait, d’abord, les applications GUI (Synaptic, Software Center, etc.), suivies des commandes de terminal apt-getet aptitudequi ajoutent une très belle approche conviviale à l’arrière-plan dpkg, y compris mais non limité aux dépendances conditionnées, contrôle sur ce qui est installé, nécessite une mise à jour, pas installé, paquets cassés, etc. Enfin, la dpkgcommande qui est la base pour tous.

Puisque dpkg est la base, vous pouvez l’utiliser pour installer directement à partir de la ligne de commande.

Installer un paquet

sudo dpkg -i DEB_PACKAGE

Par exemple, si le fichier de package est appelé, askubuntu_2.0.debvous devez le faire sudo dpkg -i askubuntu_2.0.deb. Si vous dpkgsignalez une erreur en raison de problèmes de dépendance, vous pouvez exécuter sudo apt-get install -fle téléchargement des dépendances manquantes et tout configurer. Si cela indique une erreur, vous devrez résoudre vous-même les dépendances en suivant, par exemple, Comment résoudre les dépendances non remplies après l'ajout d'un PPA? .

Supprimer un colis

sudo dpkg -r PACKAGE_NAME

Par exemple, si le package est appelé, askubuntuvous devez le faire sudo dpkg -r askubuntu.

Reconfigurer un paquet existant

sudo dpkg-reconfigure PACKAGE_NAME

Ceci est utile lorsque vous devez reconfigurer quelque chose lié à ce paquet. Quelques exemples utiles sont les suivants: keyboard-configurationlorsque vous souhaitez activer le Ctrl+ Alt+ Backspaceafin de réinitialiser le serveur X, procédez comme suit:

sudo dpkg-reconfigure keyboard-configuration

Un autre excellent est lorsque vous devez définir le fuseau horaire pour un serveur ou votre ordinateur de test local, de sorte que vous utilisez le tzdatapackage:

sudo dpkg-reconfigure tzdata
Luis Alvarado
la source
4
Excellente information, nous avons dû trouver un moyen d'installer traceroute pour aider à résoudre les problèmes de connexion de ma machine à Internet :)
Jason
23
Il est également utile de noter que les programmes une fois installés se trouvent généralement dans / usr / bin, nommé d'après ce qui a été dépaqueté.
Chris Moschini
Si je cours sudo apt-get install texlive-latex-base, cela a échoué pendant des mois avec "l'incohérence de Hash Sum". Je peux télécharger le fichier .deb à partir de http://gb.archive.ubuntu.com/ubuntu/pool/main/t/texlive-base/texlive-latex-base-doc_2015.20150625-1ubuntu1_all.deb. Si je l'installe à l'aide de dpkg, serait-il reconnu (et mis à jour) ultérieurement par apt-get.
user643722 le
1
mec tu es génial. je vois si rarement des réponses linux aussi détaillées… quand il s’agit de questions pour débutants, c’est important! merci
Elad Katz
1
S'il est plus facile et préférable d'installer via aptitudeou apt-get(ou simplement apt), pourquoi ne pas donner ici d'exemples pour ces commandes?
Intuition
161

Les paquets Debian (.deb) sont les paquets utilisés dans Ubuntu. Vous pouvez installer n’importe quel paquet .deb sur votre système. Les fichiers .deb peuvent généralement être installés à partir de votre gestionnaire de fichiers (Nautilus) simplement en cliquant dessus, car les associations de fichiers avec le programme d'installation par défaut sont déjà définies dans Ubuntu. Ces instructions s’adressent à ceux qui souhaitent installer des packages à partir du terminal en ligne de commande (Terminal).

Pour installer un paquet Debian ( Ubuntu ) téléchargé (.deb): Ouvrez Terminal et tapez

sudo dpkg -i packagename.deb

Pour supprimer un paquet Debian (Ubuntu) (.deb):

sudo dpkg -r packagename

Pour reconfigurer / réparer un paquet Debian (Ubuntu) installé (.deb):

sudo dpkg-reconfigure packagename
Atul Makwana
la source
105

Mon préféré est GDebi, disponible à la fois sur terminal / shell ou sur un bureau graphique.

capture d'écran

.debJ'associe généralement des fichiers à GDebi car c'est rapide et efficace, surtout par rapport à Ubuntu Software Center. L'une des principales caractéristiques de GDebi est qu'il résout les dépendances et les installe.

Pour une commande en ligne de commande, sudo gdebi <package.deb>installez un seul fichier deb.

dsto
la source
5
il vérifie les dépendances avant l'installation, merci !!
Aquarius Power
Gdebi peut-il même télécharger les dépendances ou faut-il les télécharger manuellement? @Pandya
Jasser
Probablement mieux pour les personnes sortant d’un contexte autre que Linux.
Nisheet
+1 pour "il résout les dépendances et les installe", ce qui est essentiel.
Revetahw
85

Recherchez-vous toutes les commandes dpkg ? cliquez sur ce lien pour avoir une lecture.

15 commandes dpkg pour gérer les serveurs Linux basés sur Debian

Commandes DPKG

Il y a deux actions, elles sont dpkg-queryet dpkg-deb.

Installer un paquet

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

Supprimer un colis

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

Supprimer un paquet et ses fichiers de configuration

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

Liste tous les paquets installés.

Vous pouvez diriger la commande vers less(un pageur) afin de pouvoir plus facilement faire défiler le contenu:

# dpkg -l | less

Vérifier si le paquet est installé ou non

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

Vérifiez si le paquet est installé ou non, et si c'est le cas, lancez-le:

# dpkg -l | vlc

Voir si un paquet est installé ou non

Et cela montrera l'emplacement où le paquet sera installé. Ici -S(capital S) pour rechercher si le paquet a été installé ou non.

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

Installer un paquet * .deb à partir d'un emplacement spécifié

Voici -Rrécursif. (Gérez de manière récursive tous les fichiers ordinaires correspondant au modèle *.debtrouvé dans les répertoires spécifiés et dans tous ses sous-répertoires).

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

Afficher les détails du forfait

Ici -p(minuscule p) affichera les informations sur le paquet:

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

Voir le contenu d'un paquet

Utilisez -c(minuscule c) pour afficher le contenu:

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

Extraire le *.debfichier de package

Utilisez -x(minuscule x) pour extraire:

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

Extraire et afficher les noms de fichiers contenus dans un paquet

Utilisez -X(majuscule X) pour afficher le contenu avec extraction.

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

Afficher des informations sur un paquet

Ici -Ireprésente des informations:

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

Reconfigurer un paquet déjà installé

dpkg-reconfigurereconfigure les paquets après qu'ils ont déjà été installés. Transmettez-lui le nom du ou des paquet (s) à reconfigurer. Il posera des questions sur la configuration, un peu comme lors de la première installation du paquet.

# dpkg-reconfigure postfix

Cela reconfigurera de postfixla même manière que lorsque vous l'avez installé pour la première fois.

Besoin d'en savoir plus sur les dpkgcommandes? Consultez la page de manuel:

# man dpkg
Babin Lonston
la source
5
Msgstr# dpkg -l | vlc " Vérifier si le paquet est installé ou non, et si c'est le cas, lancez-le: " - cela ne ferait que diriger une liste de paquets vers vlc, avec des résultats imprévisibles s’il était installé; et rien de mieux que de simplement tapervlc
Xen2050
51

Bien que dpkg -ice paquet installe effectivement le paquet, il ne fait aucune résolution automatique des dépendances, mais il existe deux autres alternatives, utilisant gdebi ou l'outil apt-get. Pour utiliser le plus tard, il suffit d'utiliser:

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

Même si vous êtes sur le répertoire avec le paquet, vous devez donner un chemin en utilisant ./au début:

sudo apt-get install ./package.deb
Braiam
la source
13
C'est probablement la meilleure réponse. aptvous empêchera de casser votre système si vous n’avez pas les bonnes dépendances.
mlainz
Cette commande semble sélectionner tous les packages existants.
Hibou57
@ Hibou57 il ne peut y avoir d'espace dans le nom du paquet.
Braiam
26

Il est utile d’utiliser un conseil pratique lors de l’installation d’un programme tel que Libreoffice qui contient plusieurs fichiers .deb dans un dossier.

sudo dpkg -i *.deb
tadcan
la source
2
Ne jamais utiliser cette commande. Vous devez supprimer manuellement toutes les debs si vous voulez supprimer ce paquet. sudo apt remove example, sudo apt autoremoveEt sudo dpkg -r *.debne fonctionne pas.
noone
12

La gdebisolution en ligne de commande

Voici le meilleur moyen d'installer un fichier .deb sur Ubuntu en ligne de commande:

sudo gdebi skype.deb

Si vous ne l'avez pas gdebidéjà installé, installez-le avec sudo apt install gdebi-core.

Pourquoi gdebi?

gdebicherchera toutes les dépendances du .debfichier et les installera avant de tenter d'installer le .debfichier. Je trouve cela beaucoup préférable que sudo dpkg -i skype.deb && sudo apt install -f. Ce dernier est beaucoup trop désireux de supprimer les dépendances dans certaines situations. Par exemple, lorsque j'ai essayé d'installer Skype, le logiciel a tenté de supprimer 96 (!) Paquets, y compris des paquets tels que compizet unity! gdebia donné un message d'erreur beaucoup plus clair:

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

(En passant, voici la solution à ce problème particulier .)

Flimm
la source
askubuntu.com/a/170557/158442 ne gdebipeut être utilisé en ligne de commande
muru
@muru Ouais, mais c'est facile à rater à cause de la capture d'écran. En outre, il n'explique pas les problèmes avecdpkg -i skype.deb
Flimm
11

Créez votre propre installateur de script debInstallercomme suit:

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

Rendre le script exécutable avec

chmod +x debInstaller

Puis déplacez-le dans certains répertoires de votre PATH ou ajoutez le répertoire actuel à votre PATH.

Je vais le déplacer vers / usr / bin

sudo cp debInstaller /usr/bin

Maintenant, vous pouvez installer n’importe quel .debpaquet en utilisant la commande:

sudo debInstaller some-package.deb

La valeur ajoutée de cette méthode réside dans le problème de résolution des dépendances, car vous rencontrerez généralement des problèmes lorsque vous installerez une erreur .deb avec en dpkg -iraison de dépendances, vous devez donc utiliser apt-get install -fpour la résoudre, ce script fera le travail pour vous, mais Ici, je apt-get --yes --fix-broken installrésolvais automatiquement ces erreurs sans intervention de l'utilisateur.

Maythux
la source
10

Pour installer les fichiers deb, ouvrez Terminal et tapez:

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

La deuxième ligne consiste à réparer les packages endommagés en cas d'échec de l'installation, puis installez-le à nouveau pour terminer l'installation.

Une autre approche consiste à utiliser un gdebioutil pour installer des fichiers deb.

Benny
la source
0

Il existe de nombreux outils pour installer un paquet deb, j'utilise personnellement le programme d'installation du paquet intégré dpkg.

Si vous êtes connecté en tant que root, changez le répertoire en emplacement du paquet deb

dpkg -i package_name.deb

si vous n'êtes pas connecté en tant que root

sudo dpkg -i package_name.deb

Pour être sûr que ce paquet est installé correctement et qu'il n'y a pas de dépendances brisées

sudo apt-get check

S'il y a des dépendances brisées

sudo apt-get -f install
masterpianiste
la source