1. 安装 acct(AUR)
 1.1 下载
 1.2 解压,进入目录,查看PKGBUILD文件
 1.3 安装遇到问题
 1.4 搜索问题
  1.4.1 很可能您的个人密钥环中没有所需的公用密钥来验证下载的文件。
  1.4.2 或者,#使用密钥服务器查找公共密钥。
  1.4.3 要从密钥服务器导入密钥:
 1.5 导入完成后,重新运行安装
 1.6 查看安装结果
2. 简介

1. 安装 acct(AUR)

https://aur.archlinux.org/packages/acct/
aur包安装参考: https://www.cnblogs.com/sztom/p/10597378.htmlhttps://wiki.archlinux.org/index.php/Arch_User_Repository

  • curl -L -O https://.../xx.tar.gz --> tar -xvf xx.tar.gz --> makepkg -si
  • git clone https://.../xx.git --> makepkg -si acct

别忘了查看PKGBUILD文件.

1.1 下载

$ git clone https://aur.archlinux.org/acct.git
Cloning into 'acct'...
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 7 (delta 0), reused 7 (delta 0), pack-reused 0
Unpacking objects: 100% (7/7), 3.61 KiB | 335.00 KiB/s, done.

1.2 解压,进入目录,查看PKGBUILD文件

$ ls -la
-rwxrwxrwx 1 root root  412 Jul  9 16:17 acct*
-rwxrwxrwx 1 root root  117 Jul  9 16:17 accton-create*
-rwxrwxrwx 1 root root  305 Jul  9 16:17 acct.service*
drwxrwxrwx 1 root root  448 Jul  9 16:17 .git/
-rwxrwxrwx 1 root root 2331 Jul  9 16:17 PKGBUILD*
-rwxrwxrwx 1 root root 1641 Jul  9 16:17 .SRCINFO*

$ cat PKGBUILD
# Maintainer: Sorin-Mihai Vârgolici <sorin-mihai@vargolici.com>
validpgpkeys=('747774305F9DCC9504703CEFB73CBC7708FA8C10')# Markus Gothe <nietzsche@lysator.liu.se>
...

  •  validpgpkeys: 就是public key, 下文命令需要的: key-id, fingerprint
  •  备注里的作者邮件地址, 就是后续命令里需要的: user-id

1.3 安装遇到问题

$ makepkg -si acct
...
  -> Downloading acct-6.6.4.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  833k  100  833k    0     0  31801      0  0:00:26  0:00:26 --:--:-- 21349
  -> Downloading acct-6.6.4.tar.gz.sig...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   813  100   813    0     0   1613      0 --:--:-- --:--:-- --:--:--  1609
  -> Found acct
  -> Found accton-create
  -> Found acct.service
==> Validating source files with md5sums...
    acct-6.6.4.tar.gz ... Passed
...
    acct.service ... Passed
==> Verifying source file signatures with gpg...
    acct-6.6.4.tar.gz ... FAILED (unknown public key B73CBC7708FA8C10)
==> ERROR: One or more PGP signatures could not be verified!
运行时报错, 未知的public key

1.4 搜索问题

1.4.1 很可能您的个人密钥环中没有所需的公用密钥来验证下载的文件。

https://wiki.archlinux.org/index.php/Arch_User_Repository#ERROR:_One_or_more_PGP_signatures_could_not_be_verified!;_what_should_I_do?
详情参见 Makepkg#Signature checking: https://wiki.archlinux.org/index.php/Makepkg#Signature_checking
注意:在makepkg中实现的签名检查不使用pacman的密钥环,而是依靠用户的密钥环keyring。
如果.sig或.asc形式的签名文件是PKGBUILD源数组的一部分,makepkg会自动尝试对其进行验证。
如果用户的密钥环不包含用于签名验证所需的公共密钥public key,makepkg将中止安装,并显示一条消息,提示无法验证PGP密钥。

如果缺少软件包所需的公共密钥public key,则PKGBUILD很可能会包含带有所需密钥ID 的有效validpgpkeys条目。https://wiki.archlinux.org/index.php/PKGBUILD#validpgpkeys
仅接受完整的指纹fingerprints。它们必须是大写字母,并且不能包含空格字符。注意:您可以使用如下找出适当钥匙的指纹。
$ gpg --list-keys --fingerprint <KEYID>
$ gpg --list-keys --fingerprint 747774305F9DCC9504703CEFB73CBC7708FA8C10
gpg: error reading key: No public key

可以手动导入它,也可以在密钥服务器上找到它,然后从那里导入它。
https://wiki.archlinux.org/index.php/GnuPG#Import_a_public_key
为了加密发送给其他人的消息并验证其签名,您需要他们的公钥。要将文件名public.key的公共密钥导入您的公共密钥环,请执行以下操作:
$ gpg --import public.key

1.4.2 或者,#使用密钥服务器查找公共密钥。

https://wiki.archlinux.org/index.php/GnuPG#Use_a_keyserver
您可以在公共PGP密钥服务器上注册密钥,以便其他人无需直接与您联系即可检索您的密钥:
$ gpg --send-keys key-id
警告:密钥一旦提交给密钥服务器,就无法从服务器中删除。
提示:您可以通过如下命令访问密钥ID。密钥ID是sec行中提供的哈希密钥。
$ gpg --list-secret-keys --keyid-format=LONG <email>
要在密钥服务器上查找密钥的详细信息而不导入它,请执行以下操作:
$ gpg --search-keys user-id
$ gpg --search-keys nietzsche@lysator.liu.se
gpg: data source: https://192.146.137.140:443
(1)Markus Gothe <nietzsche@lysator.liu.se>
  4096 bit RSA key B73CBC7708FA8C10, created: 2017-04-09
(2)Markus Gothe <markus@dovado.com>
Markus Gothe <margo284@student.liu.se>
Markus Gothe (Work) <markus@dovado.com>
Markus Gothe <nietzsche@lysator.liu.se>
Markus Gothe (Work) <markus@secon24.com>
Markus Gothe (Work) <markus.gothe@27m.se>
Markus Gothe (Work) <markus.gothe@hps.se>
  1024 bit DSA key E88D17989C7636BC, created: 2004-05-26, expires: 2005-05-26 (revoked) (expired)
Enter number(s), N)ext, or Q)uit >

1.4.3 要从密钥服务器导入密钥:

$ gpg --recv-keys key-id
$ gpg --recv-keys 747774305F9DCC9504703CEFB73CBC7708FA8C10
gpg: key B73CBC7708FA8C10: public key "Markus Gothe <nietzsche@lysator.liu.se>" imported
gpg: Total number processed: 1
gpg:               imported: 1

警告:
您应通过将检索到的公共密钥public key的指纹fingerprint与所有者在独立来源上发布的指纹进行比较(例如,直接与该人联系),来验证其真实性。 有关更多信息,请参见Wikipedia:公钥指纹。https://en.wikipedia.org/wiki/Public_key_fingerprint
使用短ID可能会遇到冲突。将导入所有具有短ID的密钥。为了避免这种情况,请在接收密钥时使用完整的指纹full fingerprint或长密钥long key ID。

最常见的密钥服务器:

  • SKS Keyserver Pool: federated, no verification, keys cannot be deleted.
  • Mailvelope Keyserver: central, verification of email IDs, keys can be deleted.
  • keys.openpgp.org: central, verification of email IDs, keys can be deleted, no third-party signatures (i.e. no Web of Trust support).

1.5 导入完成后,重新运行安装

$ makepkg -si acct

1.6 查看安装结果

$ pacman -Qm
acct 6.6.4-1

$ sudo pacman -Ql acct |grep bin
acct /usr/bin/ac
acct /usr/bin/accton
acct /usr/bin/dump-acct
acct /usr/bin/dump-utmp
acct /usr/bin/lastcomm
acct /usr/bin/sa

$ sudo pacman -Ql acct |grep lib/
acct /usr/lib/acct/accton-create
acct /usr/lib/systemd/system/acct.service

2. 简介

For terminated processes try https://aur.archlinux.org/packages/acct/.  Enable acct.service then check the output of lastcomm.

https://aur.archlinux.org/packages/acct/
https://www.gnu.org/software/acct/
GNU Accounting Utilities提供了用于GNU/Linux和其他系统的登录和处理会计实用程序。

https://www.gnu.org/software/acct/manual/accounting.html

  • ac:显示有关连接时间的统计信息
  • accton:打开或关闭记帐
  • lastcomm:列出最后执行的命令
  • sa:打印会计统计
  • dump-acct:以易于阅读的形式打印记帐文件

安装实用程序可以为系统管理员提供有关系统使用情况的有用信息-连接,执行的程序以及系统资源的使用情况。

有关用户的信息(他们的连接时间,位置,执行的程序等)将由init和自动记录在文件中 login。其中有四个是我们感兴趣的:

  • wtmp,其中包含每次登录和注销的记录;
  • acct,它记录了运行的每个命令;
  • usracct和savacct,分别包含acct按用户和命令输入的信息摘要。

每个记帐实用程序都会报告或汇总存储在这些文件中的信息。

  • ac: 打印有关用户连接时间的统计信息。 ac可以告诉您特定用户或一组用户连接到系统的时间,可以按天或wtmp文件中的所有条目打印总计 。
  • accton: 打开或关闭记帐。
  • lastcomm: 列出在系统上执行的命令,最近的一个,显示每个命令的运行状态。使用last,您可以在acct文件中搜索 特定的用户,终端或命令。
  • sa: 将acct文件中的信息汇总到 savacct和usracct文件中。它还会生成有关命令的报告,给出调用次数,使用的cpu时间,平均内核使用率等。
  • dump-acct
  • dump-utmp: 以人类可读的格式显示acct和utmp文件。