ubuntu软件中心安装与命令行的区别

And*_*ndy 8 software-center command-line

嗨,我是 ubuntu 世界的新手。我对ubuntu中的软件安装有几个问题:

  1. 在ubuntu软件中心安装软件和命令行有什么区别?

  2. 为什么我用命令行安装的某些软件在软件中心搜索不到(按window键)?

  3. 从命令行安装软件以便我可以搜索它们的正确命令是什么?

  4. 我备份并恢复了我的系统一次,但之前工作的一些命令(如“subl”)在恢复系统后不起作用。

我认为这些问题以某种方式与 $PATH 有关,但我找不到关于此的一些材料。任何额外的材料将不胜感激。:)

Ser*_*nyy 10

TL;DR:有很多灰色地带,这取决于你在做什么。大多数情况下,软件中心和命令行方法在.deb包方面做类似的事情,但其他软件包可能需要不同的步骤。

在 Ubuntu 软件中心安装软件和命令行有什么区别?

实际情况是这样的:安装只不过是将软件包附带的文件扔到适当的目录中。无论是通过命令行还是通过软件中心完成都无关紧要 - 它们做同样的事情 - 将文件扔到各自的目录中。然而,重要的是包裹以及您如何处理它。在这里,我将介绍一些您可以在 Ubuntu 上处理的基本软件包。至于命令行和软件中心的区别,最基本的区别就是在软件中心你点击按钮;在命令行中输入命令。我知道软件中心使用了很多 python 代码,但在命令行中它取决于您使用的实用程序。还有多少软件中心可以删除(阅读下面的内容)

Ubuntu 的软件包可以通过三种方式出现:.deb文件、.run文件以及压缩ziptar存档中的原始源代码。根据您处理的是哪一个,命令行安装可能或多或少是痛苦的。这不是您作为新用户真正应该担心的事情,至少在使用 Linux 的第一年不会。

您将看到大部分.deb文件 - 它们是预编译的软件包,可供使用。这些痛苦较小。他们还经常指定依赖项 - 没有它您的程序将无法运行的其他软件。命令行实用程序,例如aptapt-get将为您自动安装依赖项。实际上,软件中心apt-get用作后端,因此它也会自动安装依赖项。

.run文件通常是专有和编码的二进制文件。你真的看不到他们在做什么。

使用原始源代码,您必须自己做所有事情 - 构建软件并安装依赖项。

还有一些方法可以安装来自其他发行版的.rpm软件包,例如软件包,但很少这样做。

还存在一类称为容器的软件。有码头工人和lxd集装箱。最近,Ubuntu 引入了一些称为snap包的东西。所有这些有什么好处?它们可以在任何地方运行,与您的主系统安全隔离,并且可以非常快速地安装/重新安装。这些类型的软件无法通过软件中心安装,通常适用于专业系统管理员或技术人员/高级用户。作为新用户,您不必担心这些,只需注意它们的存在并且它们很棒:)

最后,像脚本(通常是单个文件)之类的东西也可以被视为一个应用程序,而且再次 - 安装只不过是将该文件扔到它所属或应该所属的地方。

为什么我用命令行安装的一些软件在软件中心搜索不到(按window键)?

同样,这真的取决于包。如果软件开发人员决定在.desktop他们的软件包中包含文件,您将能够在 Dash 中搜索它。.desktop文件有点像 Windows 快捷方式,但它们的作用远不止于此。.desktop文件附带的命令行实用程序的一个很好的例子是 Byobu - 一个非常方便的程序,用于将终端拆分为额外的选项卡/窗口。

但是,您可以.desktop为每个程序创建自己的文件并将其放入~/.local/share/applications/文件夹中。

同样,这与应用程序是命令行或 GUI无关。这取决于应用程序开发人员所做的选择

从命令行安装软件以便我可以搜索它们的正确命令是什么?

再次,取决于你在做什么。如果您从官方 Ubuntu 存储库安装软件,那么您可以简单地执行sudo apt-get install my-software

如果您要安装.deb软件包,则可以使用dpkgcommand 或apt-get. 这是我使用 apt-get 安装 google-chrome deb 包的示例。 注意:安装时我与.deb文件在同一目录中,因此必须指定./部分

$ 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) .
Run Code Online (Sandbox Code Playgroud)

有什么好看的apt-get?它有--purge选项,允许您删除与程序相关的所有内容。例如,如果我只是sudo apt-get remove google-chrome-stable通过软件中心删除它或通过软件中心执行它,它可能会留下配置文件,因此当您重新安装该软件时,它可以像以前一样使用。--purge选项也会删除配置文件。如果您的软件坏了并且您想要完全全新安装它,这很方便。软件中心不这样做,所以这是另一个区别。

如果您正在处理.run文件,则需要使该文件可执行并运行它。像这样:

$ sudo chmod +x ./software.run
$ sudo ./software.run
Run Code Online (Sandbox Code Playgroud)

我备份并恢复了我的系统一次,但之前工作的一些命令(如“subl”)在恢复系统后不起作用。

这取决于您所做的备份类型。如果您的备份包含subl工作所需的所有文件,那么它应该可以工作。也可能是您的备份发生在subl安装之前。确保您正确配置了备份

我认为这些问题以某种方式与 $PATH 有关,但我找不到关于此的一些材料。任何额外的材料将不胜感激。

$PATH变量与 shell(放置命令的命令解释器)相关。它与 Unity Dash 并不真正相关。$PATH变量实际上是目录列表,shell 将在其中搜索具有可执行权限集的程序。Dash.desktop只关心文件。例如,我可以将一个程序放在/usr/bin文件夹中并能够通过命令行打开它,但 Dash 不会,因为没有相应的.desktop文件。

如果您想找到有关 的额外材料$PATH,请直接拿起任何有关 Linux shell 脚本的书籍。它是任何想要使用命令行的 Linux 用户的基础知识项目之一。

一些结束语:Linux 软件安装的复杂性有时可能会让来自 Windows 或 Mac 世界的新用户感到震惊。实际上,这是相同的原则——把所有东西都扔到它该去的地方,它就会奏效。你没有找到你的程序的快捷方式?制作一个 - 它只是一个文本文件!计算机是机器,它们是用来操作的。Windows%PATH%的命令行也有变量,你只是不知道它,因为与 Linux 相比,Windows 命令行的通用性和使用较少。简而言之,不要被您可能看到的一切吓倒,因为在日常工作中,大约 20% 的最常用的命令或操作都会让您完成 80% 的工作。


Anw*_*war 5

  1. 在ubuntu软件中心安装软件和命令行有什么区别?

有一个在没有区别如何安装软件。但是在 15.10 之前可以安装哪些软件曾经存在一些差异。Trusty 中的 Ubuntu 软件中心曾经允许用户通过它购买应用程序,而这些应用程序通常无法通过apt-get.

  1. 为什么我用命令行安装的一些软件在软件中心搜索不到(按window键)?

我认为您在这里指的是使用 Dash 进行搜索(使用超级键)。Dash 通常只显示那些带有图形用户界面并带有某种图标(更具体地说是.desktop文件)的程序。这些非常适合日常使用并显示在 Dash 搜索中。但这些并不是你安装的所有应用程序;Ubuntu 有很多命令行应用程序没有出现在 Dash 中,因为它们不适合用作图形独立应用程序(并且因为它们通常不带有 .desktop 文件)。例如,您不会tar在 Dash 中看到该程序。

因此,如果您安装命令行应用程序,它通常不会出现在 Dash(Windows 键)搜索中。由于您没有指定哪个应用程序没有出现,这可能是一般的答案。

注意:正如 Serg 在评论中指出的那样,Dash 中图标的外观取决于 .desktop 文件。如果命令行应用程序带有 .desktop 文件,它也会出现在破折号中。我同意他的看法。但确实,命令行应用程序通常不附带.desktop文件。

  1. 从命令行安装软件以便我可以搜索它们的正确命令是什么?

如前所述,没有从命令行安装软件的命令会强制它出现在 Dash 搜索中。有些软件会自动出现,有些则不会。如果您通过命令行安装 atom-text-editor,它将出现。如果您安装p7zip包,它不会出现在 Dash 搜索中。这取决于软件的图形图标可用性(以及桌面环境中启动器图标的配置,例如 Unity、Xfce 等)。这不取决于您如何安装它们。

  1. 我备份并恢复了我的系统一次,但之前工作的一些命令(如“subl”)在恢复系统后不起作用。

这取决于您如何备份和恢复。subl是 Sublime Text Editor 的程序名称。如果您还没有安装它,请安装它。该subl命令应该开始工作。