问题描述
我想问一个非常基本的问题,但我从未想过。好吧,当有人从终端安装应用程序时,他必须先添加存储库,对吗?另一方面,当有人从Ubuntu软件中心安装应用程序时,存储库会自动添加吗?
我问这些问题以解决此问题:当我运行更新然后升级时,是否会升级此应用程序?两个选项的结果是否相同?
最佳答案
从软件中心或其他gui安装内容与从命令行进行安装之间唯一真正的大区别是发生错误时。
在大多数gui中,安装错误消息是隐藏的,它们只是向您显示一条常规消息,提示它不起作用。当您从命令行执行此操作时,您会看到所有生成的消息。通常,此信息可用于解决问题,或者会告诉您为什么您可能不想解决此问题。例如。安装该软件包会破坏或卸载其他已安装的软件包。
有时,仅由于未安装其依赖项之一而导致软件包无法安装(常规安装并不能像大多数安装一样自动修复)。发生这种情况时,通常可以先安装丢失的软件包,然后安装成功。
另外,apt-get还将与您的软件包一起通知其他与”recommended”相关的软件包,因此您可以查找它们并查看是否需要它们。
它还报告以前可能不再需要的所有以前安装的软件包,并告诉您如何删除它们。
在不仔细检查所涉及的软件包的情况下,您不应从后两个步骤中的任何一个添加/删除软件包,但这通常是安全的。
在Ubuntu 12.04中,默认情况下,新安装的应用程序会添加到启动器中,但这仅适用于使用软件中心安装的应用程序。
次佳答案
这不是很准确,但是相差不远。
Ubuntu软件中心是一组存储库。存储库中已经有很多应用程序。要安装那些,您不需要添加新的存储库。
如果安装的应用程序具有自己的存储库(虚拟框),并且您要使用命令行apt-get或软件中心,则需要添加存储库,先添加密钥,然后更新(apt-get更新)。还有一些具有大量应用程序的附加存储库,例如playdeb,其存储库中包含许多游戏。
之后,您可以使用GUI软件中心或命令行apt-get从存储库进行安装xxx
您也可以使用dpkg安装.deb文件,也可以使用二进制安装程序进行安装,甚至可以解压缩二进制文件。
概要:
-
并非必须从存储库安装所有应用程序
-
初始安装时已预先配置了数以千计的应用程序
-
您可以添加存储库,然后使用GUI或命令行从中安装应用程序
-
您可以使用.deb文件,二进制文件或压缩文件来安装不在存储库中的程序
-
如果运行更新和升级命令,将从存储库中安装的应用程序将进行升级。一个警告是在将发行版从11.10升级到12.04之后),在这种情况下,您需要re-add以前添加的任何存储库。
第三种答案
存储库仅需添加和启用一次。您可能会看到类似以下的说明:
Add the Stable Bumblebee Releases PPA and install Bumblebee using the proprietary NVIDIA driver:
sudo add-apt-repository ppa:bumblebee/stable sudo apt-get update sudo apt-get install bumblebee bumblebee-nvidia
添加存储库只需要执行一次。在上面的示例中,默认存储库中没有bumblebee程序,因此您必须启用此第三方存储库(使用add-apt-repository
程序)。
第二行apt-get update
刷新软件包列表以检索有关软件包的最新信息。如果添加了新的存储库,这将通知数据库该存储库中的新软件包。
第三个命令apt-get install ...
等效于选择要安装的软件包。
Ubuntu软件中心允许您安装存储库中可用的软件。结果与使用apt-get install
命令”manually”安装软件包时没有什么不同。您仍将从存储库中获取更新等。
最后,您可能会遇到诸如“下载foo.deb并使用sudo dpkg -i foo.deb
安装它”之类的说明。在这种情况下,除非软件包的作者对系统配置(例如Google Chrome)进行了修改,否则您将不会获得升级。
第四种答案
软件中心是apt工具的front-end UI。当您从软件中心安装软件时,它将与apt一起安装。因此,当您执行apt-get update
和apt-get upgrade
时,将更新从中心安装的软件。此外,如果软件中心必须自动添加存储库,那么apt也将使用我,因为正如我所说,软件中心使用apt。当您使用apt
安装某些软件时,您不必总是添加存储库,如果键入apt-get install vlc
,它将安装vlc,但您尚未添加存储库。