ubuntu软件中心和命令行安装之间的区别


8

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

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

  2. 为什么我在命令行中安装了某些通过命令行安装的软件(按窗口键)?

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

  4. 我曾经备份并恢复了系统一次,但是恢复系统后某些命令(例如“ subl”)之前无法工作。

我认为这些问题都是关于$ PATH的,但是我找不到有关此的材料。任何额外的材料将不胜感激。:)


1
通过命令行安装的哪些软件没有出现在“软件中心”上?您正在使用哪个版本的Ubuntu?
安华

2
@Andy#2和4需要更多详细信息。谢谢!
Edgy1 2013年

1
欢迎来到Ask Ubuntu!很抱歉,但是Ask Ubuntu不是论坛,而是一个Question&Answer网站:如果您提出一个问题,它的工作效果最佳,因此您可以获得一个答案。当您提出多个问题时,您需要找到一位精通多个领域的专家,而您输入的问题越多,一个问题就越不可能发生!;-)因此,请将您的问题分成多个问题,并给我留言,以便我回答您的一个问题。
David Foerster's

Answers:


9

TL; DR:有很多灰色区域,这取决于您在做什么。通常,对于.deb软件包,软件中心和命令行方法会执行类似的操作,但是其他软件包可能需要不同的步骤。

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

这就是现实:安装无非就是将软件包随附的文件扔到适当的目录中。不管是通过命令行还是通过软件中心完成-它们都执行相同的操作-将文件放入各自的目录中。但是,重要的是包装及其处理方式。在这里,我将介绍一些可以在Ubuntu上处理的基本软件包。至于命令行和软件中心之间的区别,最基本的区别是在软件中心中您单击按钮。在命令行中键入命令。我知道软件中心使用了大量的python代码,但是在命令行中它取决于您使用的实用程序。还有多少软件中心可以删除(有关此内容,请参阅下文)

Ubuntu的软件包可以以三种方式提供:.deb文件,.run文件,以及压缩ziptar存档形式的原始源代码。根据您要处理的内容,命令行安装可能会或多或少地带来痛苦。作为新用户,这不是您真正要担心的事情,至少在使用Linux的第一年就不用担心。

您将主要看到.deb文件-它们是预编译的软件包,可供使用。这些都减轻了痛苦。它们还经常指定依赖项-如果没有其他依赖项,程序将无法运行。命令行实用程序(例如apt和)apt-get将为您自动安装依赖项。实际上,Software Center apt-get用作后端,因此它也会自动安装依赖项。

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

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

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

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

最后,像脚本(通常是单个文件)之类的东西也可以被认为是一个应用程序,再次说明-安装无非就是将该文件丢到它所属的位置或应该属于的位置。

为什么我在命令行中安装了某些安装了命令行的软件(按窗口键)?

同样,这实际上取决于包装。如果软件开发人员决定在.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) .

有什么好处apt-get?它具有--purge选项,可让您删除与程序有关的所有内容。例如,如果我只是sudo apt-get remove google-chrome-stable使用Software Center 删除它或通过Software Center做它,它可能会留下配置文件,因此当您重新安装该软件时,它就可以像以前一样使用了。--purge选项也将删除配置文件。如果您的软件损坏了,并且您希望完全全新安装,那将非常方便。软件中心不这样做,所以这是另一个区别。

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

$ sudo chmod +x ./software.run
$ sudo ./software.run

我曾经备份并恢复了系统一次,但是恢复系统后某些命令(例如“ 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%的命令行也有变量,您从来都不知道,因为Windows命令行比Linux少通用性和使用性。简而言之,不要被您可能看到的一切吓倒,因为在日常工作中,这大约是最常用的命令或操作的20%,它们可以为您完成80%的工作。


1
作为事实上,许多软件包超过了一些文件放入一些目录。超出此范围的安装方面包括依赖项,高速缓存和其他触发器的重建,服务配置,服务启动。
已退出-Anony-Mousse

The complexity of software installation for Linux may sometimes be shocking to new users who come from Windows or Mac world也取决于他们如何使用它们。我已经通过在Windows中解压缩来“安装”了大量的应用程序,并且我看到许多安装程序实际上只是在中的某个位置进行解压缩Program Files。在Linux中,大多数安装就像在Windows上一样容易。仅使用下载而不是下载和运行.exe文件.deb。管他呢。命令行执行只是为您完成该过程。软件中心位于顶部。
VLAZ

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

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

  1. 为什么我在命令行中安装了某些安装了命令行的软件(按窗口键)?

我认为您在这里指的是使用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命令应开始工作。


1
对第二点的回答并不完全正确。.desktop文件的短划线搜索。.desktop文件随附的命令行实用程序的一个很好的示例是byobu,可以通过破折号搜索。图标无关紧要
Sergiy Kolodyazhnyy

@Serg谢谢。我想尽可能地给出一个非技术性的答案。无论如何,我会编辑
Anwar

@Serg似乎byobu也带有一个图标:)
Anwar

即使它没有图标,它仍然可以在Dash中搜索,因为.desktop有了该文件,它只会带有带问号的图标,但仍然可以使用。图标确实是可选的。由开发人员决定是否包含图标。
Sergiy Kolodyazhnyy

3

我猜您正在使用aptapt-get从命令行使用。apt是GUI软件中心依赖的软件包管理器。假设您要安装软件包“ gimp”。通过命令行使用

sudo apt install gimp

当您选择要安装的GIMP时,所有软件中心所做的就是在后台运行该命令,因此您无需键入它。

要通过命令行搜索可安装程序,请使用以下命令:

apt search {search term}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.