linux - 安装 .deb 时运行什么代码?

标签 linux debian

当我安装 elasticsearch debian 包时,文件被复制到我系统中的各个文件夹,并且 elasticsearch 服务器启动。

这是怎么发生的? .deb 包中的哪些文件包含所有这些安装信息?

当我查看包时,我看到以下文件:

➜  downloads  dpkg-deb -c elasticsearch-0.90.2.deb 
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/elasticsearch/
-rw-r--r-- root/root       165 2013-06-26 08:56 ./usr/share/elasticsearch/NOTICE.txt
-rw-r--r-- root/root      7942 2013-06-26 08:56 ./usr/share/elasticsearch/README.textile
-rw-r--r-- root/root      2031 2013-06-26 08:56 ./usr/share/elasticsearch/core-signatures.txt
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/elasticsearch/bin/
-rwxr-xr-x root/root      5511 2013-06-26 08:56 ./usr/share/elasticsearch/bin/elasticsearch
-rwxr-xr-x root/root      2099 2013-06-26 08:56 ./usr/share/elasticsearch/bin/elasticsearch.in.sh
-rwxr-xr-x root/root       740 2013-06-26 08:56 ./usr/share/elasticsearch/bin/plugin
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/elasticsearch/lib/
-rw-r--r-- root/root  11000124 2013-06-26 08:56 ./usr/share/elasticsearch/lib/elasticsearch-0.90.2.jar
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/elasticsearch/lib/sigar/
-rw-r--r-- root/root    246605 2013-06-26 08:56 ./usr/share/elasticsearch/lib/sigar/libsigar-amd64-linux.so
-rw-r--r-- root/root    494929 2013-06-26 08:56 ./usr/share/elasticsearch/lib/sigar/libsigar-ia64-linux.so
-rw-r--r-- root/root    233385 2013-06-26 08:56 ./usr/share/elasticsearch/lib/sigar/libsigar-x86-linux.so
-rw-r--r-- root/root    428580 2013-06-26 08:56 ./usr/share/elasticsearch/lib/sigar/sigar-1.6.4.jar
-rw-r--r-- root/root    865400 2013-06-26 08:56 ./usr/share/elasticsearch/lib/jna-3.3.0.jar
-rw-r--r-- root/root    770462 2013-06-26 08:56 ./usr/share/elasticsearch/lib/jts-1.12.jar
-rw-r--r-- root/root    489884 2013-06-26 08:56 ./usr/share/elasticsearch/lib/log4j-1.2.17.jar
-rw-r--r-- root/root   1563004 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-analyzers-common-4.3.1.jar
-rw-r--r-- root/root    296563 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-codecs-4.3.1.jar
-rw-r--r-- root/root   2213537 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-core-4.3.1.jar
-rw-r--r-- root/root    107736 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-grouping-4.3.1.jar
-rw-r--r-- root/root    123614 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-highlighter-4.3.1.jar
-rw-r--r-- root/root     63680 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-join-4.3.1.jar
-rw-r--r-- root/root     35907 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-memory-4.3.1.jar
-rw-r--r-- root/root    202556 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-queries-4.3.1.jar
-rw-r--r-- root/root    385813 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-queryparser-4.3.1.jar
-rw-r--r-- root/root     45506 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-sandbox-4.3.1.jar
-rw-r--r-- root/root     92692 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-spatial-4.3.1.jar
-rw-r--r-- root/root    142268 2013-06-26 08:56 ./usr/share/elasticsearch/lib/lucene-suggest-4.3.1.jar
-rw-r--r-- root/root     69290 2013-06-26 08:56 ./usr/share/elasticsearch/lib/spatial4j-0.3.jar
drwxr-xr-x root/root         0 2013-06-26 08:56 ./etc/
drwxr-xr-x root/root         0 2013-06-26 08:56 ./etc/default/
-rw-r--r-- root/root       890 2013-06-26 08:56 ./etc/default/elasticsearch
drwxr-xr-x root/root         0 2013-06-26 08:56 ./etc/init.d/
-rwxr-xr-x root/root      5469 2013-06-26 08:56 ./etc/init.d/elasticsearch
drwxr-xr-x root/root         0 2013-06-26 08:56 ./etc/elasticsearch/
-rw-r--r-- root/root     12519 2013-06-26 08:56 ./etc/elasticsearch/elasticsearch.yml
-rw-r--r-- root/root      1380 2013-06-26 08:56 ./etc/elasticsearch/logging.yml
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/lintian/
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/lintian/overrides/
-rw-r--r-- root/root       482 2013-06-26 08:56 ./usr/share/lintian/overrides/elasticsearch
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/doc/
drwxr-xr-x root/root         0 2013-06-26 08:56 ./usr/share/doc/elasticsearch/
-rw-r--r-- root/root       741 2013-06-26 08:56 ./usr/share/doc/elasticsearch/copyright

最佳答案

.deb 文件是 ar 文件。您可以使用

提取它
ar x elasticsearch-0.90.2.deb 

这包含

debian-binary
control.tar.gz
data.tar.gz

您可以用

提取control.tar.gz
tar xvzf control.tar.gz

这可以包含四个脚本:prermpreinstpostrmpostinst

postinst 是安装后脚本。

http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html

关于linux - 安装 .deb 时运行什么代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17999817/

相关文章:

linux - 移动 linux 目录,除非它已经存在

c - 叉+管问题

java - Hibernate 在 EntityTuplizerFactory.constructTuplizer 中失败并出现 NullPointerException?为什么?

ansible - 失败的! => {"changed": false, "msg": "apt cache update failed"} 尝试时

linux - smbclient linux/os x nt_status_pipe_broken

Symfony2 Composer 安装

linux - 从用户空间读取 IIO 设备数据

sql - 遍历关系表

c - 将数据发送到连接在我的服务器上的多个客户端

php - 使用soapClient 连接到https