Tru*_*gDQ 64 apt software-installation
什么是apt-get install ...
命令吗?
当我输入apt-get install ...
命令时,屏幕上会出现一些文本,但这对我来说没有足够的信息。我想知道是否创建/编辑了任何文件,启动了任何服务以及其他活动...
运行.sh
时有没有执行文件apt-get install ...
?如果是这样,我如何才能看到该sh
文件的内容?
这个问题的原因是最近我试图用apt-get install tomcat7
. 一切正常,直到我安装tomcat7-admin
(管理器 Web 应用程序),服务器对任何请求都没有响应。我试了很多次,这总是发生。
mur*_*uru 53
大多数情况下,apt-get
执行以下操作:
dpkg
安装它。dpkg
将要:
preinst
, postinst
, (以及prerm
,postrm
在这些之前,如果包正在升级)您可能对维护者脚本感兴趣,它们通常位于/var/lib/dpkg/info/<package-name>.{pre,post}{rm,inst}
. 这些通常是 shell 脚本,但没有硬性规定。例如:
$ ls /var/lib/dpkg/info/xml-core.{pre,post}{rm,inst}
/var/lib/dpkg/info/xml-core.postinst
/var/lib/dpkg/info/xml-core.postrm
/var/lib/dpkg/info/xml-core.preinst
/var/lib/dpkg/info/xml-core.prerm
Run Code Online (Sandbox Code Playgroud)
cha*_*aos 32
简而言之:apt-get install
执行您的系统可以成功执行新安装的软件应用程序所需的一切。
更长:
预赛:
从联机帮助页:
指定用于安装的包所需的所有包也将被检索和安装。
这些包存储在网络中的存储库中。因此,apt-get
将所有需要的下载到一个临时目录 ( /var/cache/apt/archives/
) 中。它们将从网络或 ftp 服务器下载。它们在所谓的sources.list
; 存储库列表。从那时起,它们会按程序一一安装。
第一个是那些没有进一步依赖的;因此无需为它们安装其他软件包。通过这个,其他包(以前有依赖关系)现在不再有依赖关系。系统会一遍又一遍地执行该过程,直到安装了指定的软件包。
每个包都经过一个安装过程。
包安装:
在基于 Debian 的 Linux 发行版中,如 Ubuntu,这些软件包采用指定的标准化格式,称为: deb - Debian 二进制软件包格式。
这样的包包含要安装在系统上的文件。它们还包含一个控制文件。该文件包含打包系统应在特定情况下执行的脚本;所谓的维护者脚本。这些脚本分为:
preinst
: 在将文件安装到系统文件层次结构之前postinst
: 安装后prerm
: 卸载前postrm
: 卸载后有一张有趣的图片,显示了安装新软件包的过程:
还有更多的控制文件,最重要的如下:
control
:依赖项列表和其他用于识别包的有用信息conffiles
:配置文件列表(通常是 中的那些/etc
)debian-binary
: 包含 deb-package 版本,目前是 2.0md5sums
: 包中每个文件的 md5sum 列表,用于验证templates
:安装过程中包含错误描述和对话框的文件Oli*_*Oli 12
对于实际的底层 内容,您需要获取 Apt 源。如果您启用了源存储库,则相当简单:
apt-get source apt
Run Code Online (Sandbox Code Playgroud)
该apt-get
命令本身住在cmdline/apt-get.cc
。通读一遍很痛苦,但大部分apt-get
操作都在那里得到了相当广泛的阐述。然而,安装是通过一个DoInstall
位于apt-private/private-install.{cc,h}
.
您必须记住 apt-get 只是硬币的一面。
dpkg
正在处理实际安装,但DoInstall
不dpkg
直接了解。apt-get
实际上令人惊讶的是包管理器不可知。所有功能都通过抽象apt-pkg/package-manager.cc
我只是简单地看了一下,但即使在那里我也看不到它实际连接到dpkg
系统的位置。其中一些似乎是通过自动配置的,apt-pkg/aptconfiguration.cc
但这是一口深井。你可以花几天时间来解开这个。
不过源文档很好。你可以做比浏览每个文件并阅读标题以找出实际发生的事情更糟糕的事情。
归档时间: |
|
查看次数: |
34399 次 |
最近记录: |