.deb 文件中有什么?

.deb 文件中有什么?

我下载了 Linux 版 google-chrome,它以 .deb 文件的形式下载到下载文件夹中。我将当前目录更改为下载文件夹并在终端中运行“google-chrome”。它启动了 google chrome,但问题是 .deb 文件不是脚本(据我所知)。那么终端如何理解“google-chrome”命令意味着启动它?emacs 等命令已经内置。那么这个新命令对 bash 来说怎么样?它是如何识别它的?

答案1

首先介绍一些基础知识:

当你在终端上运行命令时,你输入的是文件,(应该是可执行的):如果您输入一个简单的名称,例如emacs,系统会在多个目录中搜索具有该名称的文件。此目录列表是您的PATH(即,它存储在名为 PATH 的变量中)。您可以通过键入来查看其内容echo $PATH。(顺便说一句,这些命令不是内置就像你在问题中说的那样......但是有些,例如ls,没有任何可执行文件,而是由 shell 直接执行的)

或者,您可以输入更复杂的文件名,包括目录: /usr/bin/emacs,甚至相对路径名!例如,如果您想运行myprog位于用户目录中的文件中的程序,请输入./myprog.意思是当前目录

现在回到你的问题:

安装软件时,系统必须把所有东西都放到正确的位置,这样你以后就可以找到它了……这就是包管理器作用:它获取一个档案(.deb 文件),打开它,然后将文件放在正确的位置。

总之,您必须使用包管理器打开 .deb 文件。

cd ~/Downloads
dpkg -i google-chrome.deb

或者更好的是,通过软件中心安装它。

答案2

您的计算机上可能已经安装了 google-chrome。

deb 文件包含安装所需的所有文件陣容(以 root 身份):

dpkg -i <your-google-chrome-deb-file>.deb

软件包将二进制文件复制到你的二进制文件位置,然后命令谷歌浏览器将会在您的 shell 中可用。如果您没有执行此操作,也没有使用 apt-get 安装 Google Chrome,我猜这意味着您的系统中已经存在 Google Chrome。

如果你想查看 deb 文件包含什么,你可以使用:

dpkg --contents <file>.deb

答案3

如果我没记错的话,有铬和铬!它可能是你已安装的其中任何一个。

相关内容