Différence entre l'installation du centre logiciel ubuntu et la ligne de commande [fermé]

8

Salut, je suis nouveau dans le monde Ubuntu. J'ai quelques questions sur l'installation du logiciel dans Ubuntu:

  1. Quelle est la différence entre l'installation d'un logiciel dans Ubuntu Software Center et la ligne de commande?

  2. 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)?

  3. Quelles sont les commandes correctes pour installer un logiciel à partir de la ligne de commande afin de pouvoir les rechercher?

  4. 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.

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é. :)

Andy
la source
1
Quels logiciels installés via la ligne de commande n'apparaissent pas sur le Centre logiciel? Quelle version d'Ubuntu utilisez-vous?
Anwar
2
@Andy # 2 et 4 ont besoin de plus de détails s'il vous plaît. Merci!
Edgy1
1
Bienvenue sur Ask Ubuntu! Nous sommes désolés, mais Ask Ubuntu n'est pas un forum, mais un site de questions et réponses: cela fonctionne mieux si vous posez une question, afin que vous puissiez recevoir une réponse. Lorsque vous posez plusieurs questions, vous devez trouver un expert versé dans plusieurs domaines, ce qui devient moins probable à mesure que vous posez plus de questions, enfin, une question! ;-) Alors s'il vous plaît, divisez votre question en plusieurs questions et envoyez-moi un commentaire afin que je puisse répondre à l'une de vos questions.
David Foerster

Réponses:

9

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é.

Sergiy Kolodyazhnyy
la source
1
En fait, de nombreux packages sont plus que certains fichiers placés dans certains répertoires. Les aspects d'installation qui vont au-delà sont les dépendances, la reconstruction des caches et autres déclencheurs, la configuration des services, le démarrage des services.
A QUIT - Anony-Mousse
The complexity of software installation for Linux may sometimes be shocking to new users who come from Windows or Mac worlddépend aussi de la façon dont ils les ont utilisés. J'ai "installé" de nombreuses applications en les décompressant dans Windows et j'ai vu que de nombreux installateurs faisaient littéralement juste la décompression quelque part Program Files. Sous Linux, l'installation est pour la plupart aussi simple que, disons, sous Windows. Seulement au lieu de télécharger et d'exécuter un .exefichier, vous le ferez avec un .deb. Ou peu importe. Et l'exécution en ligne de commande fait exactement ce processus pour vous. Software Center est une interface graphique en haut.
VLAZ
5
  1. Quelle est la différence entre l'installation d'un logiciel dans Ubuntu Software Center et la ligne de commande?

Il n'y a aucune différence dans la façon dont le logiciel est installé. Mais il existait auparavant une certaine différence dans les logiciels qui pouvaient être installés avant le 15.10. Ubuntu Software Center dans Trusty permettait aux utilisateurs d'acheter des applications via ce dernier, et ces applications ne peuvent généralement pas être installées avec apt-get.

  1. 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)?

Je pense que vous faites référence à la recherche en utilisant Dash ici (en utilisant la super clé). Dash ne montre généralement que les programmes qui viennent avec une interface utilisateur graphique et ont une sorte d'icône (plus spécifiquement avec un fichier .desktop ). Ils sont bons pour un usage quotidien et doivent être affichés dans la recherche Dash. Mais ce ne sont pas toutes vos applications installées; Ubuntu possède de nombreuses applications en ligne de commande qui n'apparaissent pas dans Dash, car elles ne conviennent pas pour une utilisation en tant qu'applications graphiques autonomes (et parce qu'elles ne sont généralement pas fournies avec le fichier .desktop). Par exemple, vous ne verrez pas le tarprogramme dans Dash.

Donc, si vous installez une application en ligne de commande, elle n'apparaîtra pas dans la recherche Dash (touche Windows) en général. Depuis, vous n'avez pas spécifié quelle application n'apparaît pas, cela pourrait être la réponse générale.

Remarque: Comme l'a souligné Serg dans un commentaire, l'apparence des icônes dans Dash dépend des fichiers .desktop. Si une application en ligne de commande est livrée avec un fichier .desktop, il apparaîtra également dans le tiret. Je suis d'accord avec lui. Mais il est vrai que les applications en ligne de commande ne sont généralement pas fournies avec un fichier .desktop .

  1. Quelles sont les commandes correctes pour installer le logiciel à partir de la ligne de commande afin de pouvoir les rechercher?

Comme déjà dit, il n'y a pas de commande pour installer un logiciel à partir de la ligne de commande qui le forcera à apparaître dans la recherche Dash. Certains logiciels apparaîtront automatiquement, d'autres non. Si vous installez atom-text-editor via la ligne de commande, il apparaîtra. Si vous installez un p7zippackage, il n'apparaîtra pas dans la recherche Dash. Cela dépend de la disponibilité des icônes graphiques du logiciel (et de la configuration des icônes de lancement dans votre environnement de bureau, telles que Unity, Xfce, etc.). Cela ne dépend pas de la façon dont vous les installez.

  1. 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 de la façon dont vous avez sauvegardé et restauré. sublest le nom du programme pour Sublime Text Editor. Si vous ne l'avez pas déjà installé, installez-le. La sublcommande devrait commencer à fonctionner.

Anwar
la source
1
La réponse au point # 2 n'est pas entièrement correcte. Dash recherche les fichiers .desktop. Un bon exemple d'utilitaire de ligne de commande fourni avec le fichier .desktop est byobu et peut être recherché via le tiret. Les icônes ne sont pas pertinentes
Sergiy Kolodyazhnyy
@Serg Merci. Je voulais donner une réponse non technique autant que possible. Quoi qu'il en soit, je vais modifier
Anwar
@Serg Il semble que byobu soit également accompagné d'une icône :)
Anwar
Même s'il venait sans icône, il serait toujours possible de le rechercher dans Dash, à cause du .desktopfichier, il y aurait simplement une icône avec un point d'interrogation, mais cela fonctionnerait toujours. L'icône est vraiment facultative. C'est aux développeurs d'inclure ou non des icônes.
Sergiy Kolodyazhnyy
3

Je suppose que vous utilisez soit aptou à apt-getpartir de la ligne de commande. apt est un gestionnaire de packages sur lequel le centre logiciel GUI s'appuie. Disons par exemple que vous souhaitez installer le package "gimp". Pour le faire via la ligne de commande que vous utilisez

sudo apt install gimp

Tout ce que le centre logiciel fait est, lorsque vous sélectionnez GIMP à installer, exécute cette commande en arrière-plan afin que vous n'ayez pas à la saisir.

Pour rechercher un programme installable via la ligne de commande, utilisez cette commande:

apt search {search term}
Edgy1
la source