Gérer les packages depuis la ligne de commande
La manière la plus courante de gérer les packages ou les logiciels est de Synaptic Package Manager. C'est l'outil graphique le plus simple pour installer et supprimer des logiciels de votre système debian/ubuntu.
Cependant pour ceux qui préfèrent la console, il existe plein d'outils pour faire le boulot aussi facilement. Dans ce tutoriel, nous allons nous pencher sur apt, l'outil de gestion de paquets utilisé sur Ubuntu.
Bien que j'étais un utilisateur Synaptic auparavant, lorsque j'ai commencé avec les outils de ligne de commande, j'ai trouvé les outils de ligne de commande plus faciles et plus rapides.
Sur Ubuntu, il existe 3 commandes principales pour gérer les packages. Ce sont dpkg, apt-* et aptitude.
Dans ce didacticiel, nous allons jeter un coup d'œil à certains exemples de la commande apt-get qui peut être utilisée pour installer et gérer des packages.
Exemples de commandes Apt-get
La commande apt-get peut être utilisée pour installer, supprimer, mettre à jour des packages. Il peut également mettre à niveau l'intégralité de la distribution vers une nouvelle version.
1. Dites Moo avec apt-get
C'est la chose la plus importante à faire avec apt-get. C'est-à-dire Moo....
$ apt-get moo (__) (oo) /------\/ / | || * /\---/\ ~~ ~~...."As-tu meuglé aujourd'hui?"...$
2. Installer un nouveau paquet
C'est la commande la plus courante. La commande apt-get install installe le package et extrait toutes les dépendances nécessaires, c'est-à-dire les autres packages nécessaires à l'exécution du package actuellement requis. L'utilisation est à nouveau très simple
$ sudo apt-get install apache2
Pour installer plusieurs packages en une seule fois, il suffit de les mentionner tous séparés par un espace. Par exemple :
$ sudo apt-get install php-fpm php-curl
3. Mettre à niveau le package sélectionné
Pour mettre à niveau un package sélectionné, réinstallez-le simplement
$ sudo apt-get install nginx
Cela mettra à jour le package si des mises à jour sont disponibles à partir du référentiel.
4. Obtenir le code source d'un paquet
Le code source de n'importe quel package peut être téléchargé à l'aide de la commande suivante
$ apt-get source gbrainy
5. Supprimer un paquet installé
Utilisez l'option de suppression avec apt-get pour supprimer un paquet
$ apt-get remove apache2
Exemples de commande Apt-cache
Apt-cache est une commande fournie avec apt-get et peut être utilisée pour vérifier les informations sur les packages.
1. Trouver les dépendances d'un paquet
Pour trouver les dépendances d'un certain paquet, utilisez la commande apt-cache
$ apt-cache dépend de apache2apache2 |Dépend de :apache2-mpm-worker |Dépend de :apache2-mpm-prefork |Dépend de :apache2-mpm-event Dépend de :apache2-mpm-itk Dépend de :apache2.2-common Conflits :apache2 :i386
Il indiquera de quels packages supplémentaires dépend un certain package et quels packages sont en conflit avec lui. Il répertorie également les packages qui doivent être supprimés lors de l'installation de ce package et tous les packages recommandés à installer avec ce package.
2. Rechercher des forfaits
La commande apt-cache peut être utilisée pour rechercher les packages à partir de la console. Ceci est utile lorsque vous travaillez sur un serveur distant où il n'y a pas d'interface graphique disponible. Mais en plus, la console est plus puissante et plus rapide.
$ apt-cache recherche nginx
La commande apt-cache par défaut recherche à la fois le nom du package et la description. Donc, pour affiner les résultats, nous devons les filtrer davantage en utilisant grep.
recherche apt-cache nginx | grep nginxlua-nginx-memcached - Pilote client memcached Pure Lua pour le langage Lua intégré à nginxlua-nginx-redis - Pilote client redis Pure Lua pour le langage Lua intégré à nginxnginx - petit, puissant, évolutif serveur web/proxynginx-common - petit, puissant , serveur web/proxy évolutif - fichiers communsnginx-doc - petit serveur web/proxy puissant et évolutif - documentationnginx-extras - serveur web/proxy nginx (version étendue)nginx-extras-dbg - serveur web/proxy nginx (version étendue) - symboles de débogagenginx-full-dbg - serveur web/proxy nginx (version standard) - symboles de débogagenginx-light - serveur web/proxy nginx (version de base)nginx-light-dbg - serveur web/proxy nginx (version de base) - symboles de débogagenginx -naxsi - serveur web/proxy nginx (version avec naxsi)nginx-naxsi-dbg - serveur web/proxy nginx (version avec naxsi) - symboles de débogagenginx-naxsi-ui - serveur web/proxy nginx - configuration naxsi front-endnginx-full - serveur web/proxy nginx (version standard)
La commande de recherche apt-cache prend en charge les expressions régulières.
$ apt-cache search ^nginx$nginx - petit serveur web/proxy puissant et évolutifnginx-extras - serveur web/proxy nginx (version étendue)nginx-light - serveur web/proxy nginx (version de base)nginx-naxsi - serveur web/proxy nginx (version avec naxsi)nginx-naxsi-ui - serveur web/proxy nginx - configuration naxsi front-endnginx-full - serveur web/proxy nginx (version standard)
apt-cache showAffiche la description complète de .apt-cache showpkg Affiche beaucoup plus de détails sur et ses relations avec d'autres packages.
3. À quel référentiel appartient un package
Les utilisateurs ajoutent souvent des référentiels supplémentaires pour installer des logiciels à partir d'autres sources. Si nous voulons savoir de quel référentiel provient un paquet, la commande apt-cache peut le dire.
$ apt-cache policy winewine :Installé :(aucun) Candidat :1.4.1-0ubuntu5 Tableau des versions :1.4.1-0ubuntu5 0 500 http://in.archive.ubuntu.com/ubuntu/ raring/universe amd64 Forfaits
La sortie ci-dessus montre que le package wine est fourni par le référentiel raring ubuntu.
Prenons un autre exemple
$ apt-cache policy google-chrome-stablegoogle-chrome-stable :Installé :28.0.1500.45-r205727 Candidat :28.0.1500.70-r209565 Tableau des versions :28.0.1500.70-r209565 0 500 http://dl.google. com/linux/chrome/deb/stable/main amd64 Packages *** 28.0.1500.45-r205727 0 100 /var/lib/dpkg/status
La sortie ci-dessus montre que Google Chrome est fourni par http://dl.google.com/linux/chrome/deb/ référentiel.
Commande Apt-add-repository
Les sources du logiciel sont stockées dans le fichier appelé /etc/apt/sources.list . Donc, si vous avez besoin d'ajouter un nouveau référentiel
$ sudo apt-add-repository ppa:lubuntu-desktop/ppa
Ou si c'est une URL complète alors
add-apt-repository 'distribution de l'uri deb [composant1] [composant2] [...]'
Par exemple
$ add-apt-repository 'deb http://extras.ubuntu.com/ubuntu quantal main'$ add-apt-repository 'deb-src http://extras.ubuntu.com/ubuntu quantal main'Aptitude
Aptitude est une autre commande qui peut être utilisée pour gérer les packages à partir de la ligne de commande, tout comme dpkg et apt-get. L'aptitude est considérée comme meilleure et supérieure à apt-get pour un certain nombre de raisons. L'un des avantages d'aptitude est que lors de la suppression d'un certain paquet, aptitude supprimera également toutes les dépendances de ce paquet, afin qu'elles ne restent pas en tant que paquets orphelins. Apt-get et synaptic ne peuvent pas faire cela et conduisent à des packages inutilisés/orphelins.
Installer un paquet
Identique à apt-get, utilisez simplement la commande install avec aptitude pour installer n'importe quel paquet
$ sudo aptitude install firestarterSupprimer des packages
Encore une fois, comme pour apt-get, utilisez l'option de suppression.
$ sudo aptitude supprime l'allume-feuRechercher les forfaits
L'une des tâches les plus utiles et les plus fréquentes consiste à rechercher des packages et à installer ceux qui sont nécessaires. La recherche depuis la ligne de commande est très très pratique sur un serveur distant où vous n'avez pas d'interface graphique et aussi sur un système local, où vous ne voulez pas lancer le gestionnaire de paquets synaptic.
La commande suivante doit rechercher tous les packages contenant le mot nginx dans leur nom de package.
$ aptitude recherche nginxCe qui suit recherchera les paquets qui ont php ou admin dans leurs noms.
$ aptitude recherche admin phpPour rechercher tous les termes de recherche ensemble, enveloppez-les de guillemets simples. Ce qui suit recherchera tous les packages qui ont à la fois php et admin dans leurs noms
$ aptitude search 'php admin'p mlmmj-php-web-admin - interface web d'administration pour mlmmj, écritp phpldapadmin - interface web pour l'administration du serveur LDAP phpmyadmin - outil d'administration web MySQL phppgadmin - outil d'administration web pour PostgreSQLPour rechercher à la fois le nom et la description du package, utilisez le modificateur d.
aptitude search nginx ~dnginxaptitude search 'firmware ~dwireless'La fonction de recherche prend également en charge les regex
recherche d'aptitude ^nginx$Construisez donc tout type d'expression régulière dont vous avez besoin et recherchez immédiatement.
Rechercher les packages installés
Disons que nous voulons rechercher tous les packages contenant le nom "apache". La commande aptitude peut être utilisée avec le commutateur i comme indiqué ci-dessous
aptitude recherche ~inginxaptitude recherche '~inginx'$ aptitude search '~iapache'i apache2 - Metapackagei Apache HTTP Server A apache2-mpm-prefork - Apache HTTP Server - modèle traditionnel non-threadi apache2-suexec - Programme suexec standard pour Apache 2 mod_suexec.....Ou utilisez grep au lieu du commutateur i.
$ recherche d'aptitude nginx | grep ^ii nginx - petit serveur web/proxy puissant et évolutifi A nginx-common - petit serveur web/proxy puissant et évolutifi A nginx-full - serveur web/proxy nginx (version standard)Rapide et facile.
Réinstaller le paquet
Pour réinstaller un paquet à l'aide d'aptitude, utilisez la commande de réinstallation
aptitude réinstalleMettre à jour la distribution
La mise à niveau complète de la distribution peut également être effectuée à partir du terminal. Par exemple, lorsque vous devez mettre à niveau Ubuntu sur votre serveur. Voici la commande
# préparer le systèmeudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgrade# upgrade distrosudo apt-get install update-manager-coresudo do-release-upgradeFacile !!
Liste des dépôts
Pour répertorier les référentiels actuels, lisez les fichiers /etc/apt/sources.list et /etc/apt/sources.list.d/* depuis la ligne de commande et utilisez grep pour filtrer en conséquence. Voici quelques exemples
Ce qui suit répertorie les dépôts deb (et non deb-src) à partir du fichier /etc/apt/sources.list.
$ chat /etc/apt/sources.list | grep "^deb\s"deb http://in.archive.ubuntu.com/ubuntu/ raring main restreintdeb http://in.archive.ubuntu.com/ubuntu/ raring-updates main restreintdeb http://in. archive.ubuntu.com/ubuntu/ raring universdeb http://in.archive.ubuntu.com/ubuntu/ raring-updates universdeb http://in.archive.ubuntu.com/ubuntu/ raring multiverse.....Ce qui suit répertorie les référentiels deb (et non le deb-src) à partir du fichier /etc/apt/sources.list et des fichiers /etc/apt/sources.d/*.
$ grep -h "^deb\s" /etc/apt/sources.list /etc/apt/sources.list.d/*deb http://in.archive.ubuntu.com/ubuntu/ raring main restreintdeb http://in.archive.ubuntu.com/ubuntu/ raring-updates principal restreintdeb http://in.archive.ubuntu.com/ubuntu/ raring universdeb http://in.archive.ubuntu.com/ubuntu/ raring-updates universedeb http://in.archive.ubuntu.com/ubuntu/ raring multiversedeb http://in.archive.ubuntu.com/ubuntu/ raring-updates multiverse.....Pour répertorier les dépôts deb et deb-src
$ grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/*deb http://in.archive.ubuntu.com/ubuntu/ raring main limiteddeb-src http ://in.archive.ubuntu.com/ubuntu/ raring principal restreintdeb http://in.archive.ubuntu.com/ubuntu/ raring-updates principal restreintdeb-src http://in.archive.ubuntu.com/ubuntu / raring-updates main limiteddeb http://in.archive.ubuntu.com/ubuntu/ univers raringAlors profitez du terminal