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.html; https://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文件。