TL; DR : il y a beaucoup de zones grises et cela dépend de ce que vous faites. Généralement, le Centre logiciel et les méthodes de ligne de commande font des choses similaires en ce qui concerne les .deb
packages, mais d'autres packages logiciels peuvent nécessiter des étapes différentes.
Quelle est la différence entre l'installation d'un logiciel dans le centre de logiciels Ubuntu et la ligne de commande?
Voici la réalité: l'installation n'est rien de plus que de jeter les fichiers fournis avec le progiciel dans les répertoires appropriés. Peu importe que cela se fasse via la ligne de commande ou via le Centre logiciel - ils font la même chose - jette les fichiers dans leurs répertoires respectifs. Ce qui importe, cependant, c'est le paquet et la façon dont vous le gérez. Ici, je vais passer en revue certains des packages de base que vous pouvez gérer sur Ubuntu. Quant à la différence entre la ligne de commande et le Centre logiciel, la différence la plus fondamentale est que dans le Centre logiciel, vous cliquez sur les boutons; en ligne de commande, vous tapez des commandes. Je sais que Software Center utilise beaucoup de code python, mais en ligne de commande, cela dépend de l'utilitaire que vous utilisez. Il y a aussi la quantité de logiciels que le Centre peut supprimer (lire ci-dessous à ce sujet)
Les packages logiciels pour Ubuntu peuvent se présenter de trois manières: .deb
fichier, .run
fichier et juste code source brut en compressé zip
ou en tar
archive. Selon celui avec lequel vous avez affaire, l'installation en ligne de commande peut être plus ou moins pénible. Ce n'est pas quelque chose dont vous, en tant que nouvel utilisateur, devriez vraiment vous inquiéter, du moins pas au cours de la première année d'utilisation de Linux.
Vous verrez principalement des .deb
fichiers - ce sont des packages de logiciels pré-compilés, prêts à l'emploi. Ce sont moins douloureux. Ils spécifient également très souvent des dépendances - d'autres logiciels sans lesquels votre programme ne fonctionnera pas. Les utilitaires de ligne de commande tels que apt
et apt-get
installeront automatiquement les dépendances pour vous. En fait, Software Center utilise apt-get
comme back-end, il installe donc également les dépendances automatiquement.
.run
les fichiers sont généralement des fichiers binaires propriétaires et codés. Vous ne pouvez pas vraiment voir ce qu'ils font.
Avec le code source brut, vous devez tout faire vous-même - créer des logiciels et installer des dépendances.
Il existe également des moyens d'installer des packages à partir d'autres distributions, comme les .rpm
packages, mais cela se fait très très rarement.
Il existe également une classe de logiciels appelés conteneurs. Il y a un docker et des lxd
conteneurs. Récemment, Ubuntu a introduit quelque chose connu sous le nom de snap
packages. Qu'est-ce qui est bon dans tout ça? Ils peuvent fonctionner n'importe où, isolés de manière sécurisée de votre système principal et peuvent être installés / réinstallés assez rapidement. Ces types de logiciels ne sont pas installables via le Centre de logiciels et généralement pour les administrateurs système professionnels ou les techniciens / utilisateurs avancés. En tant que nouvel utilisateur, vous n'avez pas à vous en soucier, sachez simplement qu'ils existent et qu'ils sont géniaux :)
Enfin, quelque chose comme un script (et généralement un seul fichier) peut également être considéré comme une application et encore - l'installation n'est rien de plus que de jeter ce fichier là où il appartient ou est censé appartenir.
Pourquoi certains logiciels que j'ai installés avec la ligne de commande ne peuvent pas être recherchés dans le centre de logiciels (appuyez sur la touche de la fenêtre)?
Encore une fois, cela dépend vraiment du package. Si les développeurs du logiciel ont décidé d'inclure le .desktop
fichier avec leur package, vous pourrez le rechercher dans le Dash. .desktop
les fichiers sont un peu comme les raccourcis Windows, bien qu'ils en fassent beaucoup plus. Un bon exemple d'utilitaire de ligne de commande fourni avec le .desktop
fichier est Byobu - un programme très pratique pour diviser le terminal en onglets / fenêtres supplémentaires.
Vous pouvez cependant créer votre propre .desktop
fichier pour chaque programme et le placer dans un ~/.local/share/applications/
dossier.
Encore une fois, cela n'a rien à voir avec l'application en ligne de commande ou en interface graphique. Cela dépend des choix des développeurs d'applications
Quelles sont les commandes correctes pour installer un logiciel à partir de la ligne de commande afin de pouvoir les rechercher?
Encore une fois, cela dépend de ce que vous faites. Si vous installez un logiciel à partir de référentiels Ubuntu officiels, vous pouvez simplement fairesudo apt-get install my-software
Si vous installez un .deb
package, vous pouvez utiliser la dpkg
commande ou apt-get
. Voici un exemple d'installation de package deb google-chrome avec apt-get. REMARQUE : au moment de l'installation, je suis dans le même répertoire que le .deb
fichier, je dois donc spécifier une ./
partie
$ sudo apt-get install ./google-chrome-stable_current_amd64.deb
[sudo] password for xieerqi:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'google-chrome-stable' instead of './google-chrome-stable_current_amd64.deb'
The following NEW packages will be installed:
google-chrome-stable
0 upgraded, 1 newly installed, 0 to remove and 54 not upgraded.
Need to get 0 B/50.0 MB of archives.
After this operation, 190 MB of additional disk space will be used.
Get:1 /home/xieerqi/下载/google-chrome-stable_current_amd64.deb google-chrome-stable amd64 53.0.2785.101-1 [50.0 MB]
Selecting previously unselected package google-chrome-stable.
(Reading database ... 476104 files and directories currently installed.)
Preparing to unpack .../google-chrome-stable_current_amd64.deb ...
Unpacking google-chrome-stable (53.0.2785.101-1) ...
Processing triggers for menu (2.1.47ubuntu1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160701-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up google-chrome-stable (53.0.2785.101-1) ...
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/x-www-browser (x-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode
update-alternatives: using /usr/bin/google-chrome-stable to provide /usr/bin/google-chrome (google-chrome) in auto mode
Processing triggers for menu (2.1.47ubuntu1) .
Qu'est-ce qui est bien apt-get
? Il a une --purge
option qui vous permet de supprimer tout ce qui concerne un programme. Par exemple, si je le supprime simplement sudo apt-get remove google-chrome-stable
ou le fais via le Centre logiciel, il peut laisser des fichiers de configuration, de sorte que lorsque vous réinstallez le logiciel, il est prêt à être utilisé comme auparavant. --purge
L'option supprimera également les fichiers de configuration. C'est pratique si votre logiciel est tombé en panne et que vous souhaitez une installation complètement nouvelle. Le Centre logiciel ne fait pas cela, c'est donc une autre différence.
Si vous traitez un .run
fichier, vous devrez rendre ce fichier exécutable et l'exécuter. Comme ça:
$ sudo chmod +x ./software.run
$ sudo ./software.run
J'ai sauvegardé et restauré mon système une fois mais certaines commandes fonctionnaient avant (comme "subl") ne fonctionnent pas après la restauration du système.
Cela dépend du type de sauvegarde que vous avez effectué. Si votre sauvegarde comprenait tous les fichiers nécessaires subl
pour fonctionner, cela aurait dû fonctionner. Il se peut également que votre sauvegarde ait eu lieu avant subl
son installation. Assurez-vous d'avoir correctement configuré votre sauvegarde
Je pense que ces questions concernent $ PATH d'une manière ou d'une autre, mais je ne trouve aucun élément à ce sujet. Tout matériel supplémentaire serait apprécié.
La $PATH
variable concerne le shell (l'interpréteur de commandes où vous placez les commandes). Ce n'est pas vraiment pertinent pour Unity Dash. $PATH
La variable est vraiment une liste de répertoires, où le shell recherchera les programmes qui ont un ensemble d'autorisations exécutables. Dash ne s'intéresse vraiment .desktop
qu'aux fichiers. Par exemple, je peux avoir un programme assis dans un /usr/bin
dossier et pouvoir l'ouvrir via la ligne de commande, mais Dash ne le fera pas, car il n'y a pas de .desktop
fichier correspondant .
Si vous souhaitez trouver des informations supplémentaires $PATH
, prenez littéralement n'importe quel livre sur les scripts shell Linux. C'est l'un des éléments de connaissance de base pour tout utilisateur Linux qui souhaite utiliser la ligne de commande.
Quelques réflexions finales : La complexité de l'installation du logiciel pour Linux peut parfois choquer les nouveaux utilisateurs qui viennent du monde Windows ou Mac. En réalité, ce sont les mêmes principes - jetez tout à sa place et cela fonctionnera. Vous ne trouvez pas de raccourci vers votre programme? Faites-en un - c'est juste un fichier texte! Les ordinateurs sont des machines, et ils sont censés fonctionner. Windows a également une %PATH%
variable pour sa ligne de commande, vous ne le saviez tout simplement pas, car la ligne de commande Windows est moins polyvalente et moins utilisée que sous Linux. En bref, ne soyez pas intimidé par tout ce que vous pouvez voir, car au jour le jour, cela représente environ 20% des commandes ou actions les plus fréquemment utilisées, et elles vous donnent 80% du travail effectué.