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 .debpackages, 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: .debfichier, .runfichier et juste code source brut en compressé zipou en tararchive. 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 .debfichiers - 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 aptet apt-getinstalleront automatiquement les dépendances pour vous. En fait, Software Center utilise apt-getcomme back-end, il installe donc également les dépendances automatiquement.
.runles 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 .rpmpackages, 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 lxdconteneurs. Récemment, Ubuntu a introduit quelque chose connu sous le nom de snappackages. 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 .desktopfichier avec leur package, vous pourrez le rechercher dans le Dash. .desktoples 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 .desktopfichier est Byobu - un programme très pratique pour diviser le terminal en onglets / fenêtres supplémentaires.
Vous pouvez cependant créer votre propre .desktopfichier 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 .debpackage, vous pouvez utiliser la dpkgcommande 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 .debfichier, 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 --purgeoption qui vous permet de supprimer tout ce qui concerne un programme. Par exemple, si je le supprime simplement sudo apt-get remove google-chrome-stableou 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. --purgeL'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 .runfichier, 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 sublpour fonctionner, cela aurait dû fonctionner. Il se peut également que votre sauvegarde ait eu lieu avant sublson 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 $PATHvariable concerne le shell (l'interpréteur de commandes où vous placez les commandes). Ce n'est pas vraiment pertinent pour Unity Dash. $PATHLa 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 .desktopqu'aux fichiers. Par exemple, je peux avoir un programme assis dans un /usr/bindossier et pouvoir l'ouvrir via la ligne de commande, mais Dash ne le fera pas, car il n'y a pas de .desktopfichier 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é.