安装软件包后如何向日志文件(而不是 apt 日志)发送消息。我只是想记录安装了哪个包(包名称)。 IE。 “链接安装成功”
答案1
logger
可以用于此目的,例如
logger package installed successfully
答案2
/var/log/dpkg.log
应包含您想要的信息:
从man dpkg
:
--log=文件名
将状态更改更新和操作记录到文件名,而不是默认的 /var/log/dpkg.log。
如果多次给出此选项,则使用最后一个文件名。
日志消息的形式为:
YYYY-MM-DD HH:MM:SS startup type command
对于每个 dpkg 调用,其中类型为档案(使用 unpack 或 install 命令)或软件包(使用 configure、triggers-only、remove 或 purge 命令);
YYYY-MM-DD HH:MM:SS status state pkg installed-version
用于状态变更更新;
YYYY-MM-DD HH:MM:SS action pkg installed-version available-version
对于操作为安装、升级、配置、trigproc、消失、删除或清除之一的操作;对于
YYYY-MM-DD HH:MM:SS conffile filename decision
配置文件更改,决定是安装还是保留。
例如,我今天早上安装是为了调查和ksh
之间的区别。mksh
ksh93
# grep ksh /var/log/dpkg.log
2015-11-18 09:39:52 install ksh:amd64 <none> 93u+20120801-2
2015-11-18 09:39:52 status half-installed ksh:amd64 93u+20120801-2
2015-11-18 09:39:52 status half-installed ksh:amd64 93u+20120801-2
2015-11-18 09:39:52 status unpacked ksh:amd64 93u+20120801-2
2015-11-18 09:39:52 status unpacked ksh:amd64 93u+20120801-2
2015-11-18 09:39:57 configure ksh:amd64 93u+20120801-2 <none>
2015-11-18 09:39:57 status unpacked ksh:amd64 93u+20120801-2
2015-11-18 09:39:57 status unpacked ksh:amd64 93u+20120801-2
2015-11-18 09:39:57 status half-configured ksh:amd64 93u+20120801-2
2015-11-18 09:39:57 status installed ksh:amd64 93u+20120801-2
如果您只想知道软件包何时安装或升级,请尝试以下操作:
# zgrep -E '(install|upgrade) bash[: ]' /var/log/dpkg.log*
/var/log/dpkg.log.12.gz:2014-11-25 12:19:59 upgrade bash:amd64 4.3-11 4.3-11+b1
/var/log/dpkg.log.2.gz:2015-09-12 18:52:44 upgrade bash:amd64 4.3-13 4.3-14
/var/log/dpkg.log.4.gz:2015-07-29 10:27:33 upgrade bash:amd64 4.3-12 4.3-13
/var/log/dpkg.log.9.gz:2015-02-09 11:54:56 upgrade bash:amd64 4.3-11+b1 4.3-12
正则表达式中的尾随是为了从列表中排除其他包,[: ]
例如bash-builtins
、等。bash-completion
bash-doc
答案3
您可以使用:
sudo apt-get install somepackage && echo somepackage installed successfully >> mylogfile.log
这有点傻,但它回答了您提出的确切问题。如果安装成功,它只会将消息放入 mylogfile.log 中。
(如果这没有帮助,请为您的问题添加更多详细信息,我会尽力提供帮助。)