Linux sv3046.xserver.jp 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
Apache
Server IP : 202.254.234.47 & Your IP : 216.73.216.41
Domains :
Cant Read [ /etc/named.conf ]
User : kinomori
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Lock Shell
Lock File++
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
411toppm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
GET
15.84
KB
-rwxr-xr-x
2023-10-16 16:33
HEAD
15.84
KB
-rwxr-xr-x
2023-10-16 16:33
Mail
391.15
KB
-rwxr-xr-x
2021-04-12 13:41
POST
15.84
KB
-rwxr-xr-x
2023-10-16 16:33
[
53.65
KB
-rwxr-xr-x
2023-01-18 23:52
ab
56.98
KB
----------
2025-07-23 17:45
aclocal
35.62
KB
-rwxr-xr-x
2023-06-30 04:18
aclocal-1.16
35.62
KB
-rwxr-xr-x
2023-06-30 04:18
acyclic
12.41
KB
-rwxr-xr-x
2023-12-06 02:00
addr2line
33.28
KB
-rwxr-xr-x
2023-07-26 01:25
alias
29
B
-rwxr-xr-x
2024-02-10 21:31
animate
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
anytopnm
12.34
KB
-rwxr-xr-x
2022-04-24 08:47
apropos
54.1
KB
-rwxr-xr-x
2021-10-13 17:25
ar
61.95
KB
-rwxr-xr-x
2023-07-26 01:25
arch
37.38
KB
-rwxr-xr-x
2023-01-18 23:52
aria_chk
4.4
MB
-rwxr-xr-x
2023-10-13 00:33
aria_dump_log
4.2
MB
-rwxr-xr-x
2023-10-13 00:33
aria_ftdump
4.22
MB
-rwxr-xr-x
2023-10-13 00:33
aria_pack
4.24
MB
-rwxr-xr-x
2023-10-13 00:33
aria_read_log
4.36
MB
-rwxr-xr-x
2023-10-13 00:33
arpaname
11.82
KB
-rwxr-xr-x
2024-08-19 17:37
as
889.89
KB
-rwxr-xr-x
2023-07-26 01:25
asciitopgm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
aspell
159.29
KB
-rwxr-xr-x
2022-04-22 06:00
at
57.38
KB
-rwsr-xr-x
2022-09-29 16:47
atktopbm
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
atq
57.38
KB
-rwsr-xr-x
2022-09-29 16:47
atrm
57.38
KB
-rwsr-xr-x
2022-09-29 16:47
autoconf
14.42
KB
-rwxr-xr-x
2024-08-14 05:34
autoexpect
7.53
KB
-rwxr-xr-x
2021-04-12 10:15
autoheader
8.33
KB
-rwxr-xr-x
2024-08-14 05:34
autom4te
31.43
KB
-rwxr-xr-x
2024-08-14 05:34
automake
251.9
KB
-rwxr-xr-x
2023-06-30 04:18
automake-1.16
251.9
KB
-rwxr-xr-x
2023-06-30 04:18
autoreconf
20.57
KB
-rwxr-xr-x
2024-08-14 05:34
autoscan
16.72
KB
-rwxr-xr-x
2024-08-14 05:34
autoupdate
33.08
KB
-rwxr-xr-x
2024-08-14 05:34
avstopam
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
awk
669.64
KB
-rwxr-xr-x
2022-04-16 06:17
b2sum
57.73
KB
-rwxr-xr-x
2023-01-18 23:52
base32
41.52
KB
-rwxr-xr-x
2023-01-18 23:52
base64
41.52
KB
-rwxr-xr-x
2023-01-18 23:52
basename
37.46
KB
-rwxr-xr-x
2023-01-18 23:52
bash
1.1
MB
-rwxr-xr-x
2024-02-10 21:31
bashbug
7.18
KB
-rwxr-xr-x
2024-02-10 21:31
bashbug-64
7.18
KB
-rwxr-xr-x
2024-02-10 21:31
batch
137
B
-rwxr-xr-x
2022-09-29 16:47
bc
90.78
KB
-rwxr-xr-x
2021-04-12 09:35
bcomps
20.62
KB
-rwxr-xr-x
2023-12-06 02:00
bdf2gdfont.pl
4.58
KB
-rwxr-xr-x
2019-10-01 03:38
bdftopcf
45.4
KB
-rwxr-xr-x
2021-11-09 23:26
bg
26
B
-rwxr-xr-x
2024-02-10 21:31
binhex.pl
3.74
KB
-rwxr-xr-x
2019-08-27 23:35
bioradtopgm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
bmptopnm
24.45
KB
-rwxr-xr-x
2022-04-24 08:47
bmptoppm
24.45
KB
-rwxr-xr-x
2022-04-24 08:47
bootctl
45.15
KB
-rwxr-xr-x
2024-09-24 18:26
brotli
739.41
KB
-rwxr-xr-x
2021-05-19 11:28
brushtopbm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
bundle
599
B
-rwxr-xr-x
2023-10-17 13:18
bundler
601
B
-rwxr-xr-x
2023-10-17 13:18
bunzip2
36.98
KB
-rwxr-xr-x
2021-04-07 10:44
busctl
77.25
KB
-rwxr-xr-x
2024-09-24 18:26
bzcat
36.98
KB
-rwxr-xr-x
2021-04-07 10:44
bzcmp
2.08
KB
-rwxr-xr-x
2021-04-07 10:44
bzdiff
2.08
KB
-rwxr-xr-x
2021-04-07 10:44
bzegrep
1.64
KB
-rwxr-xr-x
2021-04-07 10:44
bzfgrep
1.64
KB
-rwxr-xr-x
2021-04-07 10:44
bzgrep
1.64
KB
-rwxr-xr-x
2021-04-07 10:44
bzip2
36.98
KB
-rwxr-xr-x
2021-04-07 10:44
bzip2recover
16.55
KB
-rwxr-xr-x
2021-04-07 10:44
bzless
1.23
KB
-rwxr-xr-x
2021-04-07 10:44
bzmore
1.23
KB
-rwxr-xr-x
2021-04-07 10:44
c++
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
c++filt
28.89
KB
-rwxr-xr-x
2023-07-26 01:25
c89
224
B
-rwxr-xr-x
2024-04-23 10:59
c99
215
B
-rwxr-xr-x
2024-04-23 10:59
ca-legacy
1.61
KB
-rwxr-xr-x
2024-08-26 23:43
cairo-sphinx
69.59
KB
-rwxr-xr-x
2022-04-23 17:12
cal
65.98
KB
-rwxr-xr-x
2024-02-09 01:27
cameratopam
105.48
KB
-rwxr-xr-x
2022-04-24 08:47
captoinfo
85.18
KB
-rwxr-xr-x
2023-08-15 23:52
cat
37.51
KB
-rwxr-xr-x
2023-01-18 23:52
catchsegv
3.21
KB
-rwxr-xr-x
2024-09-24 18:28
catman
41.5
KB
-rwxr-xr-x
2021-10-13 17:25
cc
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
ccmakedep
4.59
KB
-rwxr-xr-x
2021-04-12 11:51
ccomps
24.72
KB
-rwxr-xr-x
2023-12-06 02:00
cd
26
B
-rwxr-xr-x
2024-02-10 21:31
certutil
195.26
KB
-rwxr-xr-x
2024-09-17 01:48
chacl
16.36
KB
-rwxr-xr-x
2023-10-07 02:54
chage
77.68
KB
-rwxr-xr-x
2023-11-21 18:06
chcon
70.38
KB
-rwxr-xr-x
2023-01-18 23:52
chgrp
66.32
KB
-rwxr-xr-x
2023-01-18 23:52
chmem
45.47
KB
-rwxr-xr-x
2024-02-09 01:27
chmod
62.26
KB
-rwxr-xr-x
2023-01-18 23:52
chown
70.36
KB
-rwxr-xr-x
2023-01-18 23:52
chrt
37.18
KB
-rwxr-xr-x
2024-02-09 01:27
chvt
12.48
KB
-rwxr-xr-x
2023-06-23 00:07
cifsiostat
41.35
KB
-rwxr-xr-x
2024-07-03 05:44
circo
12.26
KB
-rwxr-xr-x
2023-12-06 02:00
cistopbm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
cksum
37.43
KB
-rwxr-xr-x
2023-01-18 23:52
clambc
136.98
KB
-rwxr-xr-x
2023-10-30 01:01
clamconf
140.95
KB
-rwxr-xr-x
2023-10-30 01:01
clamdscan
157.32
KB
-rwxr-xr-x
2023-10-30 01:01
clamdtop
157.3
KB
-rwxr-xr-x
2023-10-30 01:01
clamscan
165.2
KB
-rwxr-xr-x
2023-10-30 01:01
clamsubmit
153.27
KB
-rwxr-xr-x
2023-10-30 01:01
cleanlinks
535
B
-rwxr-xr-x
2021-04-12 11:51
clear
12.47
KB
-rwxr-xr-x
2023-08-15 23:52
cluster
518.33
KB
-rwxr-xr-x
2023-12-06 02:00
cmp
49.32
KB
-rwxr-xr-x
2021-04-12 10:01
cmsutil
118.27
KB
-rwxr-xr-x
2024-09-17 01:48
cmuwmtopbm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
col
29
KB
-rwxr-xr-x
2024-02-09 01:27
colcrt
16.48
KB
-rwxr-xr-x
2024-02-09 01:27
colrm
24.88
KB
-rwxr-xr-x
2024-02-09 01:27
column
49.47
KB
-rwxr-xr-x
2024-02-09 01:27
comm
41.6
KB
-rwxr-xr-x
2023-01-18 23:52
command
31
B
-rwxr-xr-x
2024-02-10 21:31
compare
11.85
KB
-rwxr-xr-x
2025-04-01 22:15
composer
2.87
KB
-rwxr-xr-x
2023-06-10 14:58
composite
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
config_data
6.97
KB
-rwxr-xr-x
2021-04-12 15:18
conjure
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
convert
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
coredumpctl
44.91
KB
-rwxr-xr-x
2024-09-24 18:26
corelist
14.64
KB
-rwxr-xr-x
2021-04-12 15:19
courierauthconfig
12.27
KB
-r-xr-xr-x
2022-11-01 13:44
cp
148.02
KB
-rwxr-xr-x
2023-01-18 23:52
cpan
7.87
KB
-rwxr-xr-x
2024-02-06 04:14
cpan-mirrors
4.19
KB
-rwxr-xr-x
2024-02-06 04:14
cpanfile-dump
3.46
KB
-rwxr-xr-x
2023-10-16 12:14
cpanm
19.69
KB
-rwxr-xr-x
2023-10-16 12:19
cpansign
1.98
KB
-rwxr-xr-x
2019-10-17 00:15
cpp
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
crb
2.29
KB
-rwxr--r--
2024-08-31 05:48
crc32
1.02
KB
-rwxr-xr-x
2021-04-19 02:45
crlutil
134.73
KB
-rwxr-xr-x
2024-09-17 01:48
cronnext
49.8
KB
-rwxr-xr-x
2023-12-01 00:58
crontab
61.67
KB
-rwsr-xr-x
2023-12-01 00:58
csh
431.95
KB
-rwxr-xr-x
2022-04-23 13:31
csplit
53.72
KB
-rwxr-xr-x
2023-01-18 23:52
csslint-0.6
24.62
KB
-rwxr-xr-x
2021-05-03 16:00
curl
230.12
KB
-rwxr-xr-x
2025-04-10 15:16
cut
49.56
KB
-rwxr-xr-x
2023-01-18 23:52
cvtsudoers
284.13
KB
-rwxr-xr-x
2025-07-02 03:55
cwebp
65.29
KB
-rwxr-xr-x
2023-03-29 10:45
date
106
KB
-rwxr-xr-x
2023-01-18 23:52
db_archive
12.55
KB
-rwxr-xr-x
2021-09-22 03:39
db_checkpoint
16.49
KB
-rwxr-xr-x
2021-09-22 03:39
db_deadlock
16.49
KB
-rwxr-xr-x
2021-09-22 03:39
db_dump
16.52
KB
-rwxr-xr-x
2021-09-22 03:39
db_dump185
69.64
KB
-rwxr-xr-x
2021-09-22 03:39
db_hotbackup
20.59
KB
-rwxr-xr-x
2021-09-22 03:39
db_load
28.63
KB
-rwxr-xr-x
2021-09-22 03:39
db_log_verify
16.53
KB
-rwxr-xr-x
2021-09-22 03:39
db_printlog
33.47
KB
-rwxr-xr-x
2021-09-22 03:39
db_recover
16.61
KB
-rwxr-xr-x
2021-09-22 03:39
db_replicate
16.51
KB
-rwxr-xr-x
2021-09-22 03:39
db_stat
16.49
KB
-rwxr-xr-x
2021-09-22 03:39
db_tuner
24.64
KB
-rwxr-xr-x
2021-09-22 03:39
db_upgrade
12.55
KB
-rwxr-xr-x
2021-09-22 03:39
db_verify
16.48
KB
-rwxr-xr-x
2021-09-22 03:39
dbilogstrip
1.35
KB
-rwxr-xr-x
2023-10-16 12:20
dbiprof
6.06
KB
-rwxr-xr-x
2023-10-16 12:20
dbpmda
93.96
KB
-rwxr-xr-x
2024-09-20 00:29
dbus-binding-tool
106.73
KB
-rwxr-xr-x
2021-04-12 09:56
dbus-cleanup-sockets
16.38
KB
-rwxr-xr-x
2023-06-20 00:46
dbus-daemon
239.7
KB
-rwxr-xr-x
2023-06-20 00:46
dbus-monitor
28.57
KB
-rwxr-xr-x
2023-06-20 00:46
dbus-run-session
15.88
KB
-rwxr-xr-x
2023-06-20 00:46
dbus-send
28.54
KB
-rwxr-xr-x
2023-06-20 00:46
dbus-test-tool
24.59
KB
-rwxr-xr-x
2023-06-20 00:46
dbus-update-activation-environment
16.41
KB
-rwxr-xr-x
2023-06-20 00:46
dbus-uuidgen
12.37
KB
-rwxr-xr-x
2023-06-20 00:46
dc
49.68
KB
-rwxr-xr-x
2021-04-12 09:35
dd
78.02
KB
-rwxr-xr-x
2023-01-18 23:52
ddbugtopbm
11.86
KB
-rwxr-xr-x
2022-04-24 08:47
deallocvt
12.48
KB
-rwxr-xr-x
2023-06-23 00:07
debinhex.pl
5.66
KB
-rwxr-xr-x
2019-08-27 23:35
debuginfod-find
16.47
KB
-rwxr-xr-x
2023-12-13 11:11
deliverquota
33.07
KB
-rwxr-xr-x
2022-11-01 15:19
delv
42.46
KB
-rwxr-xr-x
2024-08-19 17:37
df
91.13
KB
-rwxr-xr-x
2023-01-18 23:52
diff
155.72
KB
-rwxr-xr-x
2021-04-12 10:01
diff3
69.83
KB
-rwxr-xr-x
2021-04-12 10:01
diffimg
12.27
KB
-rwxr-xr-x
2023-12-06 02:00
dig
162.19
KB
-rwxr-xr-x
2024-08-19 17:37
dijkstra
16.71
KB
-rwxr-xr-x
2023-12-06 02:00
dir
139.94
KB
-rwxr-xr-x
2023-01-18 23:52
dircolors
49.59
KB
-rwxr-xr-x
2023-01-18 23:52
dirmngr
580.16
KB
-rwxr-xr-x
2022-09-13 16:58
dirmngr-client
120.12
KB
-rwxr-xr-x
2022-09-13 16:58
dirname
33.41
KB
-rwxr-xr-x
2023-01-18 23:52
dislocate
7.75
KB
-rwxr-xr-x
2021-04-12 10:15
display
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
dltest
12.04
KB
-rwxr-xr-x
2021-04-12 17:47
dm_date
5.38
KB
-rwxr-xr-x
2023-07-27 23:35
dm_zdump
4.99
KB
-rwxr-xr-x
2023-07-27 23:35
dmesg
77.88
KB
-rwxr-xr-x
2024-02-09 01:27
dnf
2.05
KB
-rwxr-xr-x
2023-10-17 03:56
dnf-3
2.05
KB
-rwxr-xr-x
2023-10-17 03:56
dnsdomainname
20.56
KB
-rwxr-xr-x
2021-03-15 04:29
dnstap-read
20.43
KB
-rwxr-xr-x
2024-08-19 17:37
domainname
20.56
KB
-rwxr-xr-x
2021-03-15 04:29
dot
12.26
KB
-rwxr-xr-x
2023-12-06 02:00
dot2gxl
41.3
KB
-rwxr-xr-x
2023-12-06 02:00
dotty
2.04
KB
-rwxr-xr-x
2023-12-06 02:00
dstat
70.37
KB
-rwxr-xr-x
2024-09-20 00:28
dtrace
17.39
KB
-rwxr-xr-x
2023-08-15 05:24
du
107.08
KB
-rwxr-xr-x
2023-01-18 23:52
dumpkeys
169.82
KB
-rwxr-xr-x
2023-06-23 00:07
dwebp
37.06
KB
-rwxr-xr-x
2023-03-29 10:45
dwp
2.17
MB
-rwxr-xr-x
2023-07-26 01:25
dwz
167.66
KB
-rwxr-xr-x
2021-10-11 19:15
easy_install-2
234
B
-rwxr-xr-x
2024-05-23 19:43
easy_install-2.7
234
B
-rwxr-xr-x
2024-05-23 19:43
easy_install-3
246
B
-rwxr-xr-x
2024-08-19 17:31
easy_install-3.6
246
B
-rwxr-xr-x
2024-08-19 17:31
echo
37.4
KB
-rwxr-xr-x
2023-01-18 23:52
edgepaint
420.79
KB
-rwxr-xr-x
2023-12-06 02:00
egrep
28
B
-rwxr-xr-x
2021-04-12 11:02
eject
57.78
KB
-rwxr-xr-x
2024-02-09 01:27
elfedit
33.27
KB
-rwxr-xr-x
2023-07-26 01:25
elinks
1.47
MB
-rwxr-xr-x
2021-04-12 10:11
enc2xs
40.97
KB
-rwxr-xr-x
2021-04-12 14:57
encguess
2.91
KB
-rwxr-xr-x
2021-04-12 14:57
env
41.4
KB
-rwxr-xr-x
2023-01-18 23:52
envsubst
41.23
KB
-rwxr-xr-x
2021-04-12 10:41
eps2eps
639
B
-rwxr-xr-x
2024-06-20 18:21
eqn
202.44
KB
-rwxr-xr-x
2021-04-21 14:25
erb
4.72
KB
-rwxr-xr-x
2024-07-12 02:38
escp2topbm
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
evmctl
62.55
KB
-rwxr-xr-x
2021-05-19 11:39
ex
1.13
MB
-rwxr-xr-x
2022-08-02 16:47
expand
41.63
KB
-rwxr-xr-x
2023-01-18 23:52
expect
12.03
KB
-rwxr-xr-x
2021-04-12 10:15
expr
49.62
KB
-rwxr-xr-x
2023-01-18 23:52
eyuvtoppm
12.38
KB
-rwxr-xr-x
2022-04-24 08:47
factor
86.01
KB
-rwxr-xr-x
2023-01-18 23:52
fail2ban-client
1.39
KB
-rwxr-xr-x
2023-04-01 23:40
fail2ban-python
11.59
KB
-rwxr-xr-x
2025-07-02 04:03
fail2ban-regex
1.25
KB
-rwxr-xr-x
2023-04-01 23:40
fail2ban-server
1.39
KB
-rwxr-xr-x
2023-04-01 23:40
fallocate
28.96
KB
-rwxr-xr-x
2024-02-09 01:27
false
33.36
KB
-rwxr-xr-x
2023-01-18 23:52
fc
26
B
-rwxr-xr-x
2024-02-10 21:31
fc-cache
132
B
-rwxr-xr-x
2021-08-25 08:07
fc-cache-64
20.34
KB
-rwxr-xr-x
2021-10-12 09:32
fc-cat
16.34
KB
-rwxr-xr-x
2021-10-12 09:32
fc-conflist
12.2
KB
-rwxr-xr-x
2021-10-12 09:32
fc-list
12.2
KB
-rwxr-xr-x
2021-10-12 09:32
fc-match
16.2
KB
-rwxr-xr-x
2021-10-12 09:32
fc-pattern
12.2
KB
-rwxr-xr-x
2021-10-12 09:32
fc-query
12.19
KB
-rwxr-xr-x
2021-10-12 09:32
fc-scan
12.2
KB
-rwxr-xr-x
2021-10-12 09:32
fc-validate
16.2
KB
-rwxr-xr-x
2021-10-12 09:32
fdp
12.26
KB
-rwxr-xr-x
2023-12-06 02:00
fg
26
B
-rwxr-xr-x
2024-02-10 21:31
fgconsole
12.49
KB
-rwxr-xr-x
2023-06-23 00:07
fgrep
28
B
-rwxr-xr-x
2021-04-12 11:02
fiascotopnm
95.05
KB
-rwxr-xr-x
2022-04-24 08:47
file
24.68
KB
-rwxr-xr-x
2023-10-26 04:07
fincore
33.03
KB
-rwxr-xr-x
2024-02-09 01:27
find
223.3
KB
-rwxr-xr-x
2024-09-24 18:26
findmnt
70.6
KB
-rwxr-xr-x
2024-02-09 01:27
fips-finish-install
1.29
KB
-rwxr-xr-x
2023-08-02 00:18
fips-mode-setup
3.91
KB
-rwxr-xr-x
2023-08-02 00:18
fipscheck
16.63
KB
-rwxr-xr-x
2021-04-12 10:19
fipshmac
16.62
KB
-rwxr-xr-x
2021-04-12 10:19
fitstopnm
16.29
KB
-rwxr-xr-x
2022-04-24 08:47
flock
33.2
KB
-rwxr-xr-x
2024-02-09 01:27
fmt
45.55
KB
-rwxr-xr-x
2023-01-18 23:52
fold
41.45
KB
-rwxr-xr-x
2023-01-18 23:52
fonttosfnt
41.18
KB
-rwxr-xr-x
2021-11-09 23:26
formail
45.24
KB
-rwxr-xr-x
2021-04-12 15:55
free
20.66
KB
-rwxr-xr-x
2023-08-16 00:10
freshclam
44.67
KB
-rwxr-xr-x
2023-10-30 01:01
fribidi
21.14
KB
-rwxr-xr-x
2022-09-29 15:44
fstopgm
12.26
KB
-rwxr-xr-x
2022-04-24 08:47
ftp-rfc
683
B
-rwxr-xr-x
2021-04-12 10:15
ftpasswd
34.62
KB
-rwxr-xr-x
2023-12-15 00:15
ftpcount
21.88
KB
-rwxr-xr-x
2023-12-15 00:15
ftpdctl
98.23
KB
-rwxr-xr-x
2023-12-15 00:15
ftpmail
13.68
KB
-rwxr-xr-x
2023-12-15 00:15
ftpquota
32.2
KB
-rwxr-xr-x
2023-12-15 00:15
ftptop
25.63
KB
-rwxr-xr-x
2023-12-15 00:15
ftpwho
42.45
KB
-rwxr-xr-x
2023-12-15 00:15
funzip
36.62
KB
-rwxr-xr-x
2022-04-13 05:46
g++
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
g13
212.02
KB
-rwxr-xr-x
2022-09-13 16:58
g3topbm
21.24
KB
-rwxr-xr-x
2022-04-24 08:47
gapplication
20.45
KB
-rwxr-xr-x
2024-02-14 01:40
gawk
669.64
KB
-rwxr-xr-x
2022-04-16 06:17
gc
16.64
KB
-rwxr-xr-x
2023-12-06 02:00
gcc
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
gcc-ar
36.64
KB
-rwxr-xr-x
2024-04-23 11:01
gcc-nm
36.65
KB
-rwxr-xr-x
2024-04-23 11:01
gcc-ranlib
36.65
KB
-rwxr-xr-x
2024-04-23 11:01
gccmakedep
2.14
KB
-rwxr-xr-x
2021-04-12 11:51
gcov
727.45
KB
-rwxr-xr-x
2024-04-23 11:01
gcov-dump
566.91
KB
-rwxr-xr-x
2024-04-23 11:01
gcov-tool
603.7
KB
-rwxr-xr-x
2024-04-23 11:01
gdbm_dump
21.05
KB
-rwxr-xr-x
2022-10-01 12:22
gdbm_load
25.31
KB
-rwxr-xr-x
2022-10-01 12:22
gdbmtool
111.57
KB
-rwxr-xr-x
2022-10-01 12:22
gdbus
48.71
KB
-rwxr-xr-x
2024-02-14 01:40
gdk-pixbuf-query-loaders-64
15.93
KB
-rwxr-xr-x
2024-05-24 04:43
gdk-pixbuf-thumbnailer
20.45
KB
-rwxr-xr-x
2024-05-24 04:43
gem
542
B
-rwxr-xr-x
2024-07-12 02:38
gemtopbm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
gemtopnm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
gencat
24.84
KB
-rwxr-xr-x
2024-09-24 18:39
geoiplookup
21.89
KB
-rwxr-xr-x
2019-11-29 07:06
geoiplookup6
21.65
KB
-rwxr-xr-x
2019-11-29 07:06
geoipupdate
32.75
KB
-rwxr-xr-x
2023-04-27 22:39
geqn
202.44
KB
-rwxr-xr-x
2021-04-21 14:25
getconf
32.46
KB
-rwxr-xr-x
2024-09-24 18:39
getent
33.13
KB
-rwxr-xr-x
2024-09-24 18:39
getfacl
25.42
KB
-rwxr-xr-x
2023-10-07 02:54
getkeycodes
12.48
KB
-rwxr-xr-x
2023-06-23 00:07
getopt
20.52
KB
-rwxr-xr-x
2024-02-09 01:27
getopts
31
B
-rwxr-xr-x
2024-02-10 21:31
gettext
41.19
KB
-rwxr-xr-x
2021-04-12 10:41
gettext.sh
4.52
KB
-rwxr-xr-x
2021-04-12 10:35
ghostscript
12.35
KB
-rwxr-xr-x
2024-06-20 18:21
gif2webp
28.97
KB
-rwxr-xr-x
2023-03-29 10:45
giftopnm
28.51
KB
-rwxr-xr-x
2022-04-24 08:47
gio
85.21
KB
-rwxr-xr-x
2024-02-14 01:40
gio-querymodules-64
16.3
KB
-rwxr-xr-x
2024-02-14 01:40
git
3.67
MB
-rwxr-xr-x
2025-07-23 00:28
git-receive-pack
3.67
MB
-rwxr-xr-x
2025-07-23 00:28
git-shell
2.13
MB
-rwxr-xr-x
2025-07-23 00:28
git-upload-archive
3.67
MB
-rwxr-xr-x
2025-07-23 00:28
git-upload-pack
3.67
MB
-rwxr-xr-x
2025-07-23 00:28
glib-compile-schemas
48.85
KB
-rwxr-xr-x
2024-02-14 01:40
gmake
235.09
KB
-rwxr-xr-x
2022-04-12 15:50
gml2gv
41.23
KB
-rwxr-xr-x
2023-12-06 02:00
gneqn
908
B
-rwxr-xr-x
2021-04-21 14:25
gnroff
3.23
KB
-rwxr-xr-x
2021-04-21 14:25
gouldtoppm
12.26
KB
-rwxr-xr-x
2022-04-24 08:47
gpasswd
82.16
KB
-rwxr-xr-x
2023-11-21 18:06
gpg
1.04
MB
-rwxr-xr-x
2022-09-13 16:58
gpg-agent
419.29
KB
-rwxr-xr-x
2022-09-13 16:58
gpg-connect-agent
165.3
KB
-rwxr-xr-x
2022-09-13 16:58
gpg-error
32.75
KB
-rwxr-xr-x
2021-04-12 12:40
gpg-wks-server
206.69
KB
-rwxr-xr-x
2022-09-13 16:58
gpg-zip
3.44
KB
-rwxr-xr-x
2022-09-13 16:58
gpg2
1.04
MB
-rwxr-xr-x
2022-09-13 16:58
gpgconf
176.09
KB
-rwxr-xr-x
2022-09-13 16:58
gpgme-json
85.68
KB
-rwxr-xr-x
2024-02-13 23:37
gpgparsemail
28.74
KB
-rwxr-xr-x
2022-09-13 16:58
gpgsm
514.45
KB
-rwxr-xr-x
2022-09-13 16:58
gpgsplit
87.02
KB
-rwxr-xr-x
2022-09-13 16:58
gpgv
451.58
KB
-rwxr-xr-x
2022-09-13 16:58
gpgv2
451.58
KB
-rwxr-xr-x
2022-09-13 16:58
gpic
262.05
KB
-rwxr-xr-x
2021-04-21 14:25
gprof
103.34
KB
-rwxr-xr-x
2023-07-26 01:25
gr2fonttest
28.37
KB
-rwxr-xr-x
2021-04-12 11:01
graphml2gv
20.65
KB
-rwxr-xr-x
2023-12-06 02:00
grep
172.34
KB
-rwxr-xr-x
2021-04-12 11:02
groff
111.4
KB
-rwxr-xr-x
2021-04-21 14:25
grops
174.77
KB
-rwxr-xr-x
2021-04-21 14:25
grotty
128.56
KB
-rwxr-xr-x
2021-04-21 14:25
groups
37.44
KB
-rwxr-xr-x
2023-01-18 23:52
gs
12.35
KB
-rwxr-xr-x
2024-06-20 18:21
gsettings
28.61
KB
-rwxr-xr-x
2024-02-14 01:40
gsnd
277
B
-rwxr-xr-x
2024-06-20 18:21
gsoelim
34.34
KB
-rwxr-xr-x
2021-04-21 14:25
gtar
449.05
KB
-rwxr-xr-x
2023-02-18 11:49
gtbl
134.13
KB
-rwxr-xr-x
2021-04-21 14:25
gtk-query-immodules-2.0-64
16.51
KB
-rwxr-xr-x
2021-05-19 11:38
gtk-update-icon-cache
33.03
KB
-rwxr-xr-x
2024-09-24 18:28
gtroff
740.24
KB
-rwxr-xr-x
2021-04-21 14:25
gunzip
2.29
KB
-rwxr-xr-x
2022-04-27 01:14
gv2gml
24.7
KB
-rwxr-xr-x
2023-12-06 02:00
gv2gxl
41.3
KB
-rwxr-xr-x
2023-12-06 02:00
gvcolor
46.9
KB
-rwxr-xr-x
2023-12-06 02:00
gvgen
24.8
KB
-rwxr-xr-x
2023-12-06 02:00
gvmap
526.31
KB
-rwxr-xr-x
2023-12-06 02:00
gvmap.sh
2.14
KB
-rwxr-xr-x
2023-12-06 02:00
gvpack
460.59
KB
-rwxr-xr-x
2023-12-06 02:00
gvpr
7.83
KB
-rwxr-xr-x
2023-12-06 02:00
gxl2dot
41.3
KB
-rwxr-xr-x
2023-12-06 02:00
gxl2gv
41.3
KB
-rwxr-xr-x
2023-12-06 02:00
gzexe
6.23
KB
-rwxr-xr-x
2022-04-27 01:14
gzip
94.67
KB
-rwxr-xr-x
2022-04-27 01:14
h2ph
28.69
KB
-rwxr-xr-x
2023-01-19 17:45
h2xs
59.44
KB
-rwxr-xr-x
2023-01-19 17:45
hash
28
B
-rwxr-xr-x
2024-02-10 21:31
hdifftopam
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
head
45.55
KB
-rwxr-xr-x
2023-01-18 23:52
hexdump
57.5
KB
-rwxr-xr-x
2024-02-09 01:27
hipstopgm
12.37
KB
-rwxr-xr-x
2022-04-24 08:47
host
142.3
KB
-rwxr-xr-x
2024-08-19 17:37
hostid
33.38
KB
-rwxr-xr-x
2023-01-18 23:52
hostname
20.56
KB
-rwxr-xr-x
2021-03-15 04:29
hostnamectl
20.84
KB
-rwxr-xr-x
2024-09-24 18:26
hpcdtoppm
788
B
-rwxr-xr-x
2022-04-24 08:47
htdbm
24.73
KB
-rwxr-xr-x
2025-07-23 17:45
htdigest
16.55
KB
-rwxr-xr-x
2025-07-23 17:45
htpasswd
24.73
KB
-rwxr-xr-x
2025-07-23 17:45
httxt2dbm
16.49
KB
-rwxr-xr-x
2025-07-23 17:45
i386
20.76
KB
-rwxr-xr-x
2024-02-09 01:27
iceauth
40.98
KB
-rwxr-xr-x
2021-04-07 12:39
icontopbm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
iconv
61.44
KB
-rwxr-xr-x
2024-09-24 18:39
id
45.48
KB
-rwxr-xr-x
2023-01-18 23:52
identify
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
idn
37.67
KB
-rwxr-xr-x
2021-04-12 12:49
ifnames
4.03
KB
-rwxr-xr-x
2024-08-14 05:34
ilbmtoppm
40.66
KB
-rwxr-xr-x
2022-04-24 08:47
imake
29.71
KB
-rwxr-xr-x
2021-04-12 11:51
imgtoppm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
import
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
info
249.66
KB
-rwxr-xr-x
2022-04-21 00:48
infocmp
60.98
KB
-rwxr-xr-x
2023-08-15 23:52
infotocap
85.18
KB
-rwxr-xr-x
2023-08-15 23:52
infotopam
16.38
KB
-rwxr-xr-x
2022-04-24 08:47
innochecksum
3.54
MB
-rwxr-xr-x
2023-10-13 00:33
install
156.21
KB
-rwxr-xr-x
2023-01-18 23:52
instmodsh
4.1
KB
-rwxr-xr-x
2021-04-12 15:00
ionice
28.98
KB
-rwxr-xr-x
2024-02-09 01:27
iostat
57.69
KB
-rwxr-xr-x
2024-07-03 05:44
ipcalc
44.82
KB
-rwxr-xr-x
2021-04-12 11:51
ipcmk
29.14
KB
-rwxr-xr-x
2024-02-09 01:27
ipcount
3.55
KB
-rwxr-xr-x
2019-08-23 23:31
ipcrm
28.99
KB
-rwxr-xr-x
2024-02-09 01:27
ipcs
53.39
KB
-rwxr-xr-x
2024-02-09 01:27
iptab
897
B
-rwxr-xr-x
2019-08-23 23:31
iptables-xml
96.07
KB
-rwxr-xr-x
2023-07-08 02:05
irb
186
B
-rwxr-xr-x
2024-07-12 02:38
isosize
24.88
KB
-rwxr-xr-x
2024-02-09 01:27
ispell
988
B
-rwxr-xr-x
2022-04-22 06:00
isql
36.7
KB
-rwxr-xr-x
2021-04-12 17:47
iusql
28.75
KB
-rwxr-xr-x
2021-04-12 17:47
jbigtopnm
16.28
KB
-rwxr-xr-x
2022-04-24 08:47
jemalloc.sh
125
B
-rwxr-xr-x
2024-04-17 21:31
jobs
28
B
-rwxr-xr-x
2024-02-10 21:31
join
53.73
KB
-rwxr-xr-x
2023-01-18 23:52
journalctl
76.99
KB
-rwxr-xr-x
2024-09-24 18:26
jpeg2ktopam
16.3
KB
-rwxr-xr-x
2022-04-24 08:47
jpegtopnm
36.69
KB
-rwxr-xr-x
2022-04-24 08:47
jq
28.41
KB
-rwxr-xr-x
2024-07-03 05:44
json_pp
4.19
KB
-rwxr-xr-x
2021-04-12 15:09
json_reformat
16.55
KB
-rwxr-xr-x
2024-01-06 03:24
json_verify
12.28
KB
-rwxr-xr-x
2024-01-06 03:24
kbd_mode
12.48
KB
-rwxr-xr-x
2023-06-23 00:07
kbdinfo
16.51
KB
-rwxr-xr-x
2023-06-23 00:07
kbdrate
16.38
KB
-rwxr-xr-x
2023-06-23 00:07
kbxutil
177.32
KB
-rwxr-xr-x
2022-09-13 16:58
kernel-install
4.41
KB
-rwxr-xr-x
2018-06-22 20:11
kibitz
10.63
KB
-rwxr-xr-x
2021-04-12 10:15
kill
37.27
KB
-rwxr-xr-x
2024-02-09 01:27
killall
29.7
KB
-rwxr-xr-x
2021-04-12 15:57
kmod
159.95
KB
-rwxr-xr-x
2023-10-25 03:23
last
49.23
KB
-rwxr-xr-x
2024-02-09 01:27
lastb
49.23
KB
-rwxr-xr-x
2024-02-09 01:27
lastlog
20.62
KB
-rwxr-xr-x
2023-11-21 18:06
lchfn
20.35
KB
-rwxr-xr-x
2024-09-24 18:27
lchsh
16.35
KB
-rwxr-xr-x
2024-09-24 18:27
ld
1.71
MB
-rwxr-xr-x
2023-07-26 01:25
ld.bfd
1.71
MB
-rwxr-xr-x
2023-07-26 01:25
ld.gold
2.39
MB
-rwxr-xr-x
2023-07-26 01:25
ld.so
1.05
MB
-rwxr-xr-x
2024-09-24 18:39
ldd
5.31
KB
-rwxr-xr-x
2024-09-24 18:28
leaftoppm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
lefty
304.52
KB
-rwxr-xr-x
2023-12-06 02:00
less
173.76
KB
-rwxr-xr-x
2024-05-06 17:55
lessecho
12.4
KB
-rwxr-xr-x
2024-05-06 17:55
lesskey
21.99
KB
-rwxr-xr-x
2024-05-06 17:55
lesspipe.sh
3.07
KB
-rwxr-xr-x
2024-05-06 17:53
lexgrog
93.77
KB
-rwxr-xr-x
2021-10-13 17:25
lftp
77.45
KB
-rwxr-xr-x
2023-07-26 01:02
lftpget
1.27
KB
-rwxr-xr-x
2013-03-19 21:55
libnetcfg
15.41
KB
-rwxr-xr-x
2023-01-19 17:45
libwmf-fontmap
13.03
KB
-rwxr-xr-x
2021-05-03 14:45
link
33.38
KB
-rwxr-xr-x
2023-01-18 23:52
links
1.47
MB
-rwxr-xr-x
2021-04-12 10:11
linux-boot-prober
5.85
KB
-rwxr-xr-x
2021-10-13 17:54
linux32
20.76
KB
-rwxr-xr-x
2024-02-09 01:27
linux64
20.76
KB
-rwxr-xr-x
2024-02-09 01:27
lispmtopgm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ln
70.55
KB
-rwxr-xr-x
2023-01-18 23:52
lndir
16.51
KB
-rwxr-xr-x
2021-04-12 11:51
lneato
1.51
KB
-rwxr-xr-x
2023-12-06 02:00
loadkeys
210.47
KB
-rwxr-xr-x
2023-06-23 00:07
loadunimap
28.97
KB
-rwxr-xr-x
2023-06-23 00:07
locale
56.45
KB
-rwxr-xr-x
2024-09-24 18:39
localectl
28.86
KB
-rwxr-xr-x
2024-09-24 18:26
localedef
307.47
KB
-rwxr-xr-x
2024-09-24 18:39
locate
41.26
KB
-rwx--s--x
2021-04-12 13:56
lockfile
20.94
KB
-rwxr-sr-x
2021-04-12 15:55
lockmail
20.63
KB
-r-xr-xr-x
2022-11-01 15:19
logger
49.98
KB
-rwxr-xr-x
2024-02-09 01:27
login
40.96
KB
-rwxr-xr-x
2024-02-09 01:27
loginctl
57.27
KB
-rwxr-xr-x
2024-09-24 18:26
logname
33.39
KB
-rwxr-xr-x
2023-01-18 23:52
logresolve
16.41
KB
-rwxr-xr-x
2025-07-23 17:45
look
16.45
KB
-rwxr-xr-x
2024-02-09 01:27
lpunlock
2.56
KB
-rwxr-xr-x
2021-04-12 10:15
ls
139.94
KB
-rwxr-xr-x
2023-01-18 23:52
lsblk
90.13
KB
-rwxr-xr-x
2024-02-09 01:27
lscpu
81.7
KB
-rwxr-xr-x
2024-02-09 01:27
lsipc
73.74
KB
-rwxr-xr-x
2024-02-09 01:27
lslocks
37.53
KB
-rwxr-xr-x
2024-02-09 01:27
lslogins
65.6
KB
-rwxr-xr-x
2024-02-09 01:27
lsmem
45.34
KB
-rwxr-xr-x
2024-02-09 01:27
lsns
49.28
KB
-rwxr-xr-x
2024-02-09 01:27
lsof
175.42
KB
-rwxr-xr-x
2021-04-07 12:45
lua
20.41
KB
-rwxr-xr-x
2021-10-13 17:17
luac
152.8
KB
-rwxr-xr-x
2021-10-13 17:17
luajit
510.34
KB
-rwxr-xr-x
2019-08-03 07:19
luajit-2.1.0-beta3
510.34
KB
-rwxr-xr-x
2019-08-03 07:19
lwp-download
10.05
KB
-rwxr-xr-x
2023-10-16 16:33
lwp-dump
2.65
KB
-rwxr-xr-x
2023-10-16 16:33
lwp-mirror
2.36
KB
-rwxr-xr-x
2023-10-16 16:33
lwp-request
15.84
KB
-rwxr-xr-x
2023-10-16 16:33
lz4
166.89
KB
-rwxr-xr-x
2021-06-30 02:33
lz4c
166.89
KB
-rwxr-xr-x
2021-06-30 02:33
lz4cat
166.89
KB
-rwxr-xr-x
2021-06-30 02:33
m4
160.55
KB
-rwxr-xr-x
2021-04-12 13:39
macptopbm
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
mail
391.15
KB
-rwxr-xr-x
2021-04-12 13:41
mailbot
102.85
KB
-rwxr-xr-x
2022-11-01 15:19
maildirkw
49.71
KB
-rwxr-xr-x
2022-11-01 15:19
maildirmake
61.55
KB
-rwxr-xr-x
2022-11-01 15:19
maildirwatch
16.53
KB
-rwxr-xr-x
2022-11-01 15:19
maildrop
210.97
KB
-rwsr-x---
2022-11-01 15:19
mailq
28.47
KB
-rwxr-xr-x
2022-10-28 18:40
mailq.postfix
28.47
KB
-rwxr-xr-x
2022-10-28 18:40
mailstat
5.72
KB
-rwxr-xr-x
2021-04-12 15:55
mailx
391.15
KB
-rwxr-xr-x
2021-04-12 13:41
make
235.09
KB
-rwxr-xr-x
2022-04-12 15:50
make-dummy-cert
610
B
-rwxr-xr-x
2024-10-10 05:56
make_method
21.64
KB
-rwxr-xr-x
2023-06-14 18:22
makedat
2.22
KB
-rwxr-xr-x
2022-11-01 15:19
makedatprog
12.47
KB
-rwxr-xr-x
2022-11-01 15:19
makedb
24.84
KB
-rwxr-xr-x
2024-09-24 18:39
makedepend
37.13
KB
-rwxr-xr-x
2021-04-12 11:51
makeg
360
B
-rwxr-xr-x
2021-04-12 11:51
makemime
32.87
KB
-rwxr-xr-x
2022-11-01 15:19
man
112.64
KB
-rwxr-xr-x
2021-10-13 17:25
mandb
134.59
KB
-rwxr-xr-x
2021-10-13 17:25
manpath
33.5
KB
-rwxr-xr-x
2021-10-13 17:25
manweb
12.19
KB
-rwxr-xr-x
2022-04-24 08:47
mapscrn
24.79
KB
-rwxr-xr-x
2023-06-23 00:07
mariabackup
24.09
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb
4.03
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-access
109.33
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-admin
3.79
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-backup
24.09
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-binlog
4.06
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-check
3.78
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-conv
3.55
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-dump
3.86
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-find-rows
3.21
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-fix-extensions
1.22
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-hotcopy
34.14
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-import
3.78
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-install-db
21.67
KB
----------
2023-10-13 00:27
mariadb-plugin
3.51
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-secure-installation
13.37
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-service-convert
2.45
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-setpermission
17.56
KB
-rwxr-xr-x
2023-10-13 00:27
mariadb-show
3.77
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-slap
3.79
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-tzinfo-to-sql
3.5
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-upgrade
3.59
MB
-rwxr-xr-x
2023-10-13 00:33
mariadb-waitpid
3.49
MB
-rwxr-xr-x
2023-10-13 00:33
mariadbd-multi
26.7
KB
-rwxr-xr-x
2023-10-13 00:27
mariadbd-safe
30.4
KB
-rwxr-xr-x
2023-10-13 00:27
mariadbd-safe-helper
3.47
MB
-rwxr-xr-x
2023-10-13 00:33
mbstream
3.53
MB
-rwxr-xr-x
2023-10-13 00:33
mcookie
33.26
KB
-rwxr-xr-x
2024-02-09 01:27
mcpp
8
KB
-rwxr-xr-x
2021-04-12 13:46
md5sum
45.59
KB
-rwxr-xr-x
2023-01-18 23:52
mdatopbm
12.37
KB
-rwxr-xr-x
2022-04-24 08:47
memaslap
69.98
KB
-rwxr-xr-x
2022-04-24 08:47
memcapable
62.73
KB
-rwxr-xr-x
2022-04-24 08:47
memcat
21.17
KB
-rwxr-xr-x
2022-04-24 08:47
memcp
25.33
KB
-rwxr-xr-x
2022-04-24 08:47
memdump
21.13
KB
-rwxr-xr-x
2022-04-24 08:47
memerror
16.86
KB
-rwxr-xr-x
2022-04-24 08:47
memexist
21.05
KB
-rwxr-xr-x
2022-04-24 08:47
memflush
21.1
KB
-rwxr-xr-x
2022-04-24 08:47
memhog
16.6
KB
-rwxr-xr-x
2024-01-10 14:27
memparse
12.15
KB
-rwxr-xr-x
2022-04-24 08:47
memping
21.09
KB
-rwxr-xr-x
2022-04-24 08:47
memrm
21.09
KB
-rwxr-xr-x
2022-04-24 08:47
memslap
29.53
KB
-rwxr-xr-x
2022-04-24 08:47
memstat
25.24
KB
-rwxr-xr-x
2022-04-24 08:47
memtouch
21.13
KB
-rwxr-xr-x
2022-04-24 08:47
mergelib
2.63
KB
-rwxr-xr-x
2021-04-12 11:51
mesg
16.36
KB
-rwxr-xr-x
2024-02-09 01:27
mgrtopbm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
migratepages
12.65
KB
-rwxr-xr-x
2024-01-10 14:27
migspeed
16.7
KB
-rwxr-xr-x
2024-01-10 14:27
miltertest
56.82
KB
-rwxr-xr-x
2023-04-17 04:11
mimedump
2.29
KB
-rwxr-xr-x
2015-06-19 22:22
mimeencode
849
B
-rwxr-xr-x
2015-06-19 22:22
mimeexplode
3.28
KB
-rwxr-xr-x
2015-06-19 22:22
mimepostcard
2.68
KB
-rwxr-xr-x
2015-06-19 22:22
mimesend
3.06
KB
-rwxr-xr-x
2015-06-19 22:22
mkdir
82.76
KB
-rwxr-xr-x
2023-01-18 23:52
mkdirhier
483
B
-rwxr-xr-x
2021-04-12 11:51
mkfifo
66.53
KB
-rwxr-xr-x
2023-01-18 23:52
mkfontdir
65
B
-rwxr-xr-x
2021-11-09 23:25
mkfontscale
41.59
KB
-rwxr-xr-x
2021-11-09 23:26
mkhtmlindex
1.93
KB
-rwxr-xr-x
2021-04-12 11:51
mknod
70.52
KB
-rwxr-xr-x
2023-01-18 23:52
mkpasswd
5.56
KB
-rwxr-xr-x
2021-04-12 10:15
mktemp
45.7
KB
-rwxr-xr-x
2023-01-18 23:52
mm2gv
90.53
KB
-rwxr-xr-x
2023-12-06 02:00
mmdblookup
16.74
KB
-rwxr-xr-x
2024-02-13 01:48
modulemd-validator
24.96
KB
-rwxr-xr-x
2021-10-11 14:24
modutil
177.23
KB
-rwxr-xr-x
2024-09-17 01:48
mogrify
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
montage
11.84
KB
-rwxr-xr-x
2025-04-01 22:15
more
44.94
KB
-rwxr-xr-x
2024-02-09 01:27
mount
49.15
KB
-rwsr-x---
2024-02-09 01:27
mountpoint
16.48
KB
-rwxr-xr-x
2024-02-09 01:27
mpstat
53.51
KB
-rwxr-xr-x
2024-07-03 05:44
mrftopbm
12.36
KB
-rwxr-xr-x
2022-04-24 08:47
msgattrib
24.59
KB
-rwxr-xr-x
2021-04-12 10:41
msgcat
24.57
KB
-rwxr-xr-x
2021-04-12 10:41
msgcmp
24.84
KB
-rwxr-xr-x
2021-04-12 10:41
msgcomm
24.58
KB
-rwxr-xr-x
2021-04-12 10:41
msgconv
20.57
KB
-rwxr-xr-x
2021-04-12 10:41
msgen
20.57
KB
-rwxr-xr-x
2021-04-12 10:41
msgexec
20.59
KB
-rwxr-xr-x
2021-04-12 10:41
msgfilter
32.84
KB
-rwxr-xr-x
2021-04-12 10:41
msgfmt
85.73
KB
-rwxr-xr-x
2021-04-12 10:41
msggrep
41.09
KB
-rwxr-xr-x
2021-04-12 10:41
msginit
65.34
KB
-rwxr-xr-x
2021-04-12 10:41
msgmerge
69.39
KB
-rwxr-xr-x
2021-04-12 10:41
msgunfmt
32.88
KB
-rwxr-xr-x
2021-04-12 10:41
msguniq
24.57
KB
-rwxr-xr-x
2021-04-12 10:41
msql2mysql
1.41
KB
-rwxr-xr-x
2023-10-13 00:27
mtvtoppm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
mv
144
KB
-rwxr-xr-x
2023-01-18 23:52
my_print_defaults
3.5
MB
-rwxr-xr-x
2023-10-13 00:33
myisam_ftdump
3.79
MB
-rwxr-xr-x
2023-10-13 00:33
myisamchk
3.91
MB
-rwxr-xr-x
2023-10-13 00:33
myisamlog
3.77
MB
-rwxr-xr-x
2023-10-13 00:33
myisampack
3.81
MB
-rwxr-xr-x
2023-10-13 00:33
mymeta-cpanfile
2.71
KB
-rwxr-xr-x
2023-10-16 12:14
mysql
4.03
MB
-rwxr-xr-x
2023-10-13 00:33
mysql_convert_table_format
4.12
KB
-rwxr-xr-x
2023-10-13 00:27
mysql_find_rows
3.21
KB
-rwxr-xr-x
2023-10-13 00:27
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
2023-10-13 00:27
mysql_install_db
21.67
KB
----------
2023-10-13 00:27
mysql_plugin
3.51
MB
-rwxr-xr-x
2023-10-13 00:33
mysql_secure_installation
13.37
KB
-rwxr-xr-x
2023-10-13 00:27
mysql_setpermission
17.56
KB
-rwxr-xr-x
2023-10-13 00:27
mysql_tzinfo_to_sql
3.5
MB
-rwxr-xr-x
2023-10-13 00:33
mysql_upgrade
3.59
MB
-rwxr-xr-x
2023-10-13 00:33
mysql_waitpid
3.49
MB
-rwxr-xr-x
2023-10-13 00:33
mysqlaccess
109.33
KB
-rwxr-xr-x
2023-10-13 00:27
mysqladmin
3.79
MB
-rwxr-xr-x
2023-10-13 00:33
mysqlbinlog
4.06
MB
-rwxr-xr-x
2023-10-13 00:33
mysqlcheck
3.78
MB
-rwxr-xr-x
2023-10-13 00:33
mysqld_multi
26.7
KB
-rwxr-xr-x
2023-10-13 00:27
mysqld_safe
30.4
KB
-rwxr-xr-x
2023-10-13 00:27
mysqld_safe_helper
3.47
MB
-rwxr-xr-x
2023-10-13 00:33
mysqldump
3.86
MB
-rwxr-xr-x
2023-10-13 00:33
mysqldumpslow
8.05
KB
-rwxr-xr-x
2023-10-13 00:27
mysqlhotcopy
34.14
KB
-rwxr-xr-x
2023-10-13 00:27
mysqlimport
3.78
MB
-rwxr-xr-x
2023-10-13 00:33
mysqlshow
3.77
MB
-rwxr-xr-x
2023-10-13 00:33
mysqlslap
3.79
MB
-rwxr-xr-x
2023-10-13 00:33
nail
391.15
KB
-rwxr-xr-x
2021-04-12 13:41
namei
33.1
KB
-rwxr-xr-x
2024-02-09 01:27
neato
12.26
KB
-rwxr-xr-x
2023-12-06 02:00
neotoppm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
neqn
908
B
-rwxr-xr-x
2021-04-21 14:25
netstat
158.63
KB
-rwxr-xr-x
2021-04-07 12:41
newaliases
28.47
KB
-rwxr-xr-x
2022-10-28 18:40
newaliases.postfix
28.47
KB
-rwxr-xr-x
2022-10-28 18:40
newgidmap
47.8
KB
-rwxr-xr-x
2023-11-21 18:06
newgrp
42.45
KB
-rwx------
2023-11-21 18:06
newuidmap
47.76
KB
-rwxr-xr-x
2023-11-21 18:06
ngettext
41.2
KB
-rwxr-xr-x
2021-04-12 10:41
nice
37.38
KB
-rwxr-xr-x
2023-01-18 23:52
nisdomainname
20.56
KB
-rwxr-xr-x
2021-03-15 04:29
nkf
268.54
KB
-rwxr-xr-x
2021-04-12 14:17
nl
45.6
KB
-rwxr-xr-x
2023-01-18 23:52
nm
50.24
KB
-rwxr-xr-x
2023-07-26 01:25
nohup
37.45
KB
-rwxr-xr-x
2023-01-18 23:52
nop
12.5
KB
-rwxr-xr-x
2023-12-06 02:00
nproc
37.45
KB
-rwxr-xr-x
2023-01-18 23:52
nroff
3.23
KB
-rwxr-xr-x
2021-04-21 14:25
nsenter
33.3
KB
-rwxr-xr-x
2024-02-09 01:27
nslookup
146.26
KB
-rwxr-xr-x
2024-08-19 17:37
nss-policy-check
16.3
KB
-rwxr-xr-x
2024-09-17 01:48
nsupdate
73.05
KB
-rwxr-xr-x
2024-08-19 17:37
numactl
33.65
KB
-rwxr-xr-x
2024-01-10 14:27
numademo
40.93
KB
-rwxr-xr-x
2024-01-10 14:27
numastat
29.77
KB
-rwxr-xr-x
2024-01-10 14:27
numfmt
65.68
KB
-rwxr-xr-x
2023-01-18 23:52
objcopy
240.07
KB
-rwxr-xr-x
2023-07-26 01:25
objdump
419.61
KB
-rwxr-xr-x
2023-07-26 01:25
od
73.85
KB
-rwxr-xr-x
2023-01-18 23:52
odbc_config
12.03
KB
-rwxr-xr-x
2021-04-12 17:47
odbcinst
28.99
KB
-rwxr-xr-x
2021-04-12 17:47
open
20.91
KB
-rwxr-xr-x
2023-06-23 00:07
openssl
745.95
KB
-rwxr-xr-x
2024-10-10 05:56
openvt
20.91
KB
-rwxr-xr-x
2023-06-23 00:07
os-prober
5.78
KB
-rwxr-xr-x
2021-10-13 17:54
osage
12.26
KB
-rwxr-xr-x
2023-12-06 02:00
p11-kit
37.15
KB
-rwxr-xr-x
2023-11-30 02:07
package-stash-conflicts
842
B
-rwxr-xr-x
2021-04-12 15:23
pagespeed_js_minify
1.12
MB
-rwxr-xr-x
2023-06-22 13:39
palmtopnm
24.55
KB
-rwxr-xr-x
2022-04-24 08:47
pamaddnoise
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamarith
16.3
KB
-rwxr-xr-x
2022-04-24 08:47
pambackground
16.3
KB
-rwxr-xr-x
2022-04-24 08:47
pambayer
12.37
KB
-rwxr-xr-x
2022-04-24 08:47
pamchannel
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamcomp
20.29
KB
-rwxr-xr-x
2022-04-24 08:47
pamcrater
16.3
KB
-rwxr-xr-x
2022-04-24 08:47
pamcut
16.39
KB
-rwxr-xr-x
2022-04-24 08:47
pamdeinterlace
11.86
KB
-rwxr-xr-x
2022-04-24 08:47
pamdepth
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamdice
15.85
KB
-rwxr-xr-x
2022-04-24 08:47
pamditherbw
24.5
KB
-rwxr-xr-x
2022-04-24 08:47
pamedge
12.34
KB
-rwxr-xr-x
2022-04-24 08:47
pamendian
11.82
KB
-rwxr-xr-x
2022-04-24 08:47
pamenlarge
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamexec
12.28
KB
-rwxr-xr-x
2022-04-24 08:47
pamfile
12.38
KB
-rwxr-xr-x
2022-04-24 08:47
pamfix
12.37
KB
-rwxr-xr-x
2022-04-24 08:47
pamfixtrunc
2.01
KB
-rwxr-xr-x
2022-04-24 08:47
pamflip
20.49
KB
-rwxr-xr-x
2022-04-24 08:47
pamfunc
16.26
KB
-rwxr-xr-x
2022-04-24 08:47
pamgauss
12.28
KB
-rwxr-xr-x
2022-04-24 08:47
pamgradient
12.38
KB
-rwxr-xr-x
2022-04-24 08:47
pamlookup
15.85
KB
-rwxr-xr-x
2022-04-24 08:47
pammasksharpen
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pammixinterlace
12.48
KB
-rwxr-xr-x
2022-04-24 08:47
pammosaicknit
11.82
KB
-rwxr-xr-x
2022-04-24 08:47
pamoil
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pampaintspill
16.39
KB
-rwxr-xr-x
2022-04-24 08:47
pamperspective
24.45
KB
-rwxr-xr-x
2022-04-24 08:47
pampick
12.29
KB
-rwxr-xr-x
2022-04-24 08:47
pampop9
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pamrecolor
16.28
KB
-rwxr-xr-x
2022-04-24 08:47
pamrgbatopng
33.05
KB
-rwxr-xr-x
2022-04-24 08:47
pamrubber
36.51
KB
-rwxr-xr-x
2022-04-24 08:47
pamscale
32.61
KB
-rwxr-xr-x
2022-04-24 08:47
pamseq
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pamshadedrelief
11.86
KB
-rwxr-xr-x
2022-04-24 08:47
pamsharpmap
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamsharpness
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamsistoaglyph
11.9
KB
-rwxr-xr-x
2022-04-24 08:47
pamslice
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamsplit
12.28
KB
-rwxr-xr-x
2022-04-24 08:47
pamstack
11.88
KB
-rwxr-xr-x
2022-04-24 08:47
pamstereogram
24.45
KB
-rwxr-xr-x
2022-04-24 08:47
pamstretch
15.86
KB
-rwxr-xr-x
2022-04-24 08:47
pamstretch-gen
2.29
KB
-rwxr-xr-x
2022-04-24 08:47
pamsumm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pamsummcol
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamtable
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamthreshold
16.44
KB
-rwxr-xr-x
2022-04-24 08:47
pamtilt
16.39
KB
-rwxr-xr-x
2022-04-24 08:47
pamtoavs
11.82
KB
-rwxr-xr-x
2022-04-24 08:47
pamtodjvurle
12.28
KB
-rwxr-xr-x
2022-04-24 08:47
pamtofits
12.29
KB
-rwxr-xr-x
2022-04-24 08:47
pamtogif
24.51
KB
-rwxr-xr-x
2022-04-24 08:47
pamtohdiff
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamtohtmltbl
12.29
KB
-rwxr-xr-x
2022-04-24 08:47
pamtojpeg2k
20.29
KB
-rwxr-xr-x
2022-04-24 08:47
pamtompfont
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamtooctaveimg
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pamtopam
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pamtopdbimg
20.64
KB
-rwxr-xr-x
2022-04-24 08:47
pamtopfm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamtopng
33.05
KB
-rwxr-xr-x
2022-04-24 08:47
pamtopnm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pamtosrf
20.47
KB
-rwxr-xr-x
2022-04-24 08:47
pamtosvg
85.62
KB
-rwxr-xr-x
2022-04-24 08:47
pamtotga
16.27
KB
-rwxr-xr-x
2022-04-24 08:47
pamtotiff
40.56
KB
-rwxr-xr-x
2022-04-24 08:47
pamtouil
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamtowinicon
20.49
KB
-rwxr-xr-x
2022-04-24 08:47
pamtoxvmini
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pamundice
16.38
KB
-rwxr-xr-x
2022-04-24 08:47
pamunlookup
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pamvalidate
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pamwipeout
12.35
KB
-rwxr-xr-x
2022-04-24 08:47
pamx
40.8
KB
-rwxr-xr-x
2022-04-24 08:47
pango-list
11.88
KB
-rwxr-xr-x
2021-11-09 23:32
pango-view
57.49
KB
-rwxr-xr-x
2021-11-09 23:32
paperconf
12.48
KB
-rwxr-xr-x
2021-04-12 12:58
passmass
4.63
KB
-rwxr-xr-x
2021-04-12 10:15
passwd
32.64
KB
-rwxr-xr-x
2022-04-20 08:49
paste
37.43
KB
-rwxr-xr-x
2023-01-18 23:52
patch
196.43
KB
-rwxr-xr-x
2021-04-12 14:40
patchwork
12.26
KB
-rwxr-xr-x
2023-12-06 02:00
pathchk
37.38
KB
-rwxr-xr-x
2023-01-18 23:52
pbmclean
15.89
KB
-rwxr-xr-x
2022-04-24 08:47
pbmlife
11.81
KB
-rwxr-xr-x
2022-04-24 08:47
pbmmake
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmmask
12.25
KB
-rwxr-xr-x
2022-04-24 08:47
pbmminkowski
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pbmpage
12.35
KB
-rwxr-xr-x
2022-04-24 08:47
pbmpscale
12.29
KB
-rwxr-xr-x
2022-04-24 08:47
pbmreduce
16.3
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtext
24.6
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtextps
20.4
KB
-rwxr-xr-x
2022-04-24 08:47
pbmto10x
11.9
KB
-rwxr-xr-x
2022-04-24 08:47
pbmto4425
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoascii
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoatk
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtobbnbg
12.25
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtocis
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtocmuwm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtodjvurle
12.36
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoepsi
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoepson
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoescp2
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtog3
17.26
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtogem
12.35
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtogo
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoibm23xx
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoicon
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtolj
15.92
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoln03
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtolps
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtomacp
12.38
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtomatrixorbital
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtomda
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtomgr
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtomrf
12.36
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtonokia
15.85
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtopgm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtopi3
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtopk
24.77
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoplot
12.24
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoppa
28.63
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtopsg3
14.02
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoptx
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtosunicon
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtowbmp
12.26
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtox10bm
2.77
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoxbm
15.85
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtoybm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pbmtozinc
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pbmupc
16.27
KB
-rwxr-xr-x
2022-04-24 08:47
pc1toppm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pcdovtoppm
5.43
KB
-rwxr-xr-x
2022-04-24 08:47
pcp
5.3
KB
-rwxr-xr-x
2024-09-20 00:28
pcp2csv
65.89
KB
-rwxr-xr-x
2024-09-20 00:28
pcre-config
2.09
KB
-rwxr-xr-x
2021-10-13 05:27
pcxtoppm
16.44
KB
-rwxr-xr-x
2022-04-24 08:47
pdbimgtopam
20.64
KB
-rwxr-xr-x
2022-04-24 08:47
pdf2dsc
698
B
-rwxr-xr-x
2024-06-20 18:21
pdf2ps
909
B
-rwxr-xr-x
2024-06-20 18:21
pear
333
B
-rwxr-xr-x
2023-12-12 02:19
peardev
363
B
-rwxr-xr-x
2023-12-12 02:19
pecl
248
B
-rwxr-xr-x
2023-12-12 02:19
peekfd
16.51
KB
-rwxr-xr-x
2021-04-12 15:57
perl
12.45
KB
-rwxr-xr-x
2023-01-19 17:45
perl5.26.3
12.45
KB
-rwxr-xr-x
2023-01-19 17:45
perl516
12.6
KB
-rwxr-xr-x
2024-04-19 22:22
perlbug
44.39
KB
-rwxr-xr-x
2023-01-19 17:45
perldoc
118
B
-rwxr-xr-x
2021-04-12 15:27
perlivp
10.56
KB
-rwxr-xr-x
2023-01-19 17:45
perlthanks
44.39
KB
-rwxr-xr-x
2023-01-19 17:45
perltidy
129.13
KB
-rwxr-xr-x
2021-04-12 15:50
perror
3.69
MB
-rwxr-xr-x
2023-10-13 00:33
pflags
2.57
KB
-rwxr-xr-x
2023-11-11 14:29
pfmtopam
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pgmabel
16.27
KB
-rwxr-xr-x
2022-04-24 08:47
pgmbentley
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pgmcrater
3.41
KB
-rwxr-xr-x
2022-04-24 08:47
pgmdeshadow
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pgmedge
12.34
KB
-rwxr-xr-x
2022-04-24 08:47
pgmenhance
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pgmhist
16.39
KB
-rwxr-xr-x
2022-04-24 08:47
pgmkernel
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pgmmake
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pgmmedian
16.38
KB
-rwxr-xr-x
2022-04-24 08:47
pgmminkowski
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pgmmorphconv
12.37
KB
-rwxr-xr-x
2022-04-24 08:47
pgmnoise
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pgmnorm
19.84
KB
-rwxr-xr-x
2022-04-24 08:47
pgmoil
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
pgmramp
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pgmslice
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pgmtexture
24.51
KB
-rwxr-xr-x
2022-04-24 08:47
pgmtofs
12.34
KB
-rwxr-xr-x
2022-04-24 08:47
pgmtolispm
12.34
KB
-rwxr-xr-x
2022-04-24 08:47
pgmtopbm
37
B
-rwxr-xr-x
2022-04-24 08:47
pgmtopgm
11.82
KB
-rwxr-xr-x
2022-04-24 08:47
pgmtoppm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pgmtosbig
12.36
KB
-rwxr-xr-x
2022-04-24 08:47
pgmtost4
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pgrep
28.71
KB
-rwxr-xr-x
2023-08-16 00:10
phar
24.48
KB
-rwxr-xr-x
2023-12-12 02:12
phar.phar
24.48
KB
-rwxr-xr-x
2023-12-12 02:12
php
6.08
MB
-rwxr-xr-x
2023-12-12 02:12
php-cgi
6.08
MB
-rwxr-xr-x
2023-12-12 02:12
php-fcgi4.4
1.96
MB
-rwxr-xr-x
2024-04-01 19:33
php-fcgi5.1
3.43
MB
-rwxr-xr-x
2024-03-29 17:58
php-fcgi5.2
3.96
MB
-rwxr-xr-x
2024-04-01 16:07
php-fcgi5.3
3.98
MB
-rwxr-xr-x
2024-04-02 16:21
php-fcgi5.4
7.54
MB
-rwxr-xr-x
2024-04-02 18:18
php-fcgi5.5
8.33
MB
-rwxr-xr-x
2024-04-03 09:59
php-fcgi5.6
11.05
MB
-rwxr-xr-x
2025-01-07 17:19
php-fcgi7.0
12.56
MB
-rwxr-xr-x
2025-01-07 17:19
php-fcgi7.1
13.05
MB
-rwxr-xr-x
2025-01-07 17:19
php-fcgi7.2
15.65
MB
-rwxr-xr-x
2025-01-07 17:19
php-fcgi7.3
45.29
MB
-rwxr-xr-x
2024-10-21 22:15
php-fcgi7.4
41.62
MB
-rwxr-xr-x
2024-10-21 22:15
php-fcgi8.0
45.25
MB
-rwxr-xr-x
2024-10-21 22:15
php-fcgi8.1
48.77
MB
-rwxr-xr-x
2025-05-28 12:22
php-fcgi8.2
50.69
MB
-rwxr-xr-x
2025-05-28 12:22
php-fcgi8.3
53.37
MB
-rwxr-xr-x
2025-05-28 12:22
php-fcgi8.4
55.9
MB
-rwxr-xr-x
2025-09-03 10:52
php-fcgi8.5
71.67
MB
-rwxr-xr-x
2026-01-26 10:30
php4.4
1.92
MB
-rwxr-xr-x
2024-04-01 19:33
php5.1
3.42
MB
-rwxr-xr-x
2024-03-29 17:58
php5.2
3.94
MB
-rwxr-xr-x
2024-04-01 16:07
php5.3
3.97
MB
-rwxr-xr-x
2024-04-02 16:21
php5.4
7.56
MB
-rwxr-xr-x
2024-04-02 18:18
php5.5
8.36
MB
-rwxr-xr-x
2024-04-03 09:59
php5.6
11.08
MB
-rwxr-xr-x
2025-01-07 17:19
php5.6-cgi
11.05
MB
-rwxr-xr-x
2025-01-07 17:19
php54
4.56
MB
-rwxr-xr-x
2024-04-02 23:15
php54-cgi
4.53
MB
-rwxr-xr-x
2024-04-02 23:15
php7.0
12.63
MB
-rwxr-xr-x
2025-01-07 17:19
php7.0-cgi
12.56
MB
-rwxr-xr-x
2025-01-07 17:19
php7.1
13.12
MB
-rwxr-xr-x
2025-01-07 17:19
php7.1-cgi
13.05
MB
-rwxr-xr-x
2025-01-07 17:19
php7.2
15.72
MB
-rwxr-xr-x
2025-01-07 17:19
php7.2-cgi
15.65
MB
-rwxr-xr-x
2025-01-07 17:19
php7.3
45.49
MB
-rwxr-xr-x
2024-10-21 22:15
php7.3-cgi
45.29
MB
-rwxr-xr-x
2024-10-21 22:15
php7.4
41.77
MB
-rwxr-xr-x
2024-10-21 22:15
php7.4-cgi
41.62
MB
-rwxr-xr-x
2024-10-21 22:15
php8.0
45.39
MB
-rwxr-xr-x
2024-10-21 22:15
php8.0-cgi
45.25
MB
-rwxr-xr-x
2024-10-21 22:15
php8.1
48.92
MB
-rwxr-xr-x
2025-05-28 12:22
php8.1-cgi
48.77
MB
-rwxr-xr-x
2025-05-28 12:22
php8.2
50.86
MB
-rwxr-xr-x
2025-05-28 12:22
php8.2-cgi
50.69
MB
-rwxr-xr-x
2025-05-28 12:22
php8.3
53.55
MB
-rwxr-xr-x
2025-05-28 12:22
php8.3-cgi
53.37
MB
-rwxr-xr-x
2025-05-28 12:22
php8.4
56.1
MB
-rwxr-xr-x
2025-09-03 10:52
php8.4-cgi
55.9
MB
-rwxr-xr-x
2025-09-03 10:52
php8.5
71.87
MB
-rwxr-xr-x
2026-01-26 10:30
php8.5-cgi
71.67
MB
-rwxr-xr-x
2026-01-26 10:30
phpize
4.65
KB
-rwxr-xr-x
2023-12-12 02:12
pi1toppm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pi3topbm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pic
262.05
KB
-rwxr-xr-x
2021-04-21 14:25
piconv
8.08
KB
-rwxr-xr-x
2021-04-12 14:57
pidof
16.56
KB
-rwxr-xr-x
2023-08-16 00:10
pidstat
65.72
KB
-rwxr-xr-x
2024-07-03 05:44
ping
66.08
KB
-rwxr-xr-x
2023-06-13 00:50
pinky
41.5
KB
-rwxr-xr-x
2023-01-18 23:52
pip-2
206
B
-rwxr-xr-x
2023-10-17 08:38
pip-2.7
206
B
-rwxr-xr-x
2023-10-17 08:38
pip-3
209
B
-rwxr-xr-x
2024-02-15 01:40
pip-3.6
209
B
-rwxr-xr-x
2024-02-15 01:40
pip2
206
B
-rwxr-xr-x
2023-10-17 08:38
pip2.7
206
B
-rwxr-xr-x
2023-10-17 08:38
pip3
209
B
-rwxr-xr-x
2024-02-15 01:40
pip3.6
209
B
-rwxr-xr-x
2024-02-15 01:40
pjtoppm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pk12util
106.89
KB
-rwxr-xr-x
2024-09-17 01:48
pkg-config
42.72
KB
-rwxr-xr-x
2021-04-19 08:33
pkgconf
42.72
KB
-rwxr-xr-x
2021-04-19 08:33
pkill
28.71
KB
-rwxr-xr-x
2023-08-16 00:10
pktopbm
16.41
KB
-rwxr-xr-x
2022-04-24 08:47
pl2pm
4.43
KB
-rwxr-xr-x
2023-01-19 17:45
pldd
16.75
KB
-rwxr-xr-x
2024-09-24 18:39
pmafm
11.84
KB
-rwxr-xr-x
2024-09-20 00:28
pmap
32.65
KB
-rwxr-xr-x
2023-08-16 00:10
pmdate
11.83
KB
-rwxr-xr-x
2024-09-20 00:29
pmdiff
7.63
KB
-rwxr-xr-x
2024-09-20 00:28
pmdumplog
33.53
KB
-rwxr-xr-x
2024-09-20 00:29
pmevent
41.9
KB
-rwxr-xr-x
2024-09-20 00:29
pmfind
21.21
KB
-rwxr-xr-x
2024-09-20 00:29
pmgenmap
2.38
KB
-rwxr-xr-x
2024-09-20 00:28
pmie
182.95
KB
-rwxr-xr-x
2024-09-20 00:29
pmie2col
2.81
KB
-rwxr-xr-x
2024-09-20 00:28
pmieconf
60.01
KB
-rwxr-xr-x
2024-09-20 00:29
pmiectl
44.39
KB
-rwxr-xr-x
2024-09-20 00:28
pminfo
42.02
KB
-rwxr-xr-x
2024-09-20 00:29
pmiostat
20.78
KB
-rwxr-xr-x
2024-09-20 00:28
pmjson
12.51
KB
-rwxr-xr-x
2024-09-20 00:29
pmlc
58.81
KB
-rwxr-xr-x
2024-09-20 00:29
pmlogcheck
37.18
KB
-rwxr-xr-x
2024-09-20 00:29
pmlogconf
54.48
KB
-rwxr-xr-x
2024-09-20 00:29
pmlogctl
44.39
KB
-rwxr-xr-x
2024-09-20 00:28
pmlogextract
70.02
KB
-rwxr-xr-x
2024-09-20 00:29
pmlogger
143.2
KB
-rwxr-xr-x
2024-09-20 00:29
pmloglabel
21.01
KB
-rwxr-xr-x
2024-09-20 00:29
pmlogmv
16.91
KB
-rwxr-xr-x
2024-09-20 00:29
pmlogpaste
16.98
KB
-rwxr-xr-x
2024-09-20 00:29
pmlogsize
29.02
KB
-rwxr-xr-x
2024-09-20 00:29
pmlogsummary
33.59
KB
-rwxr-xr-x
2024-09-20 00:29
pmprobe
21.41
KB
-rwxr-xr-x
2024-09-20 00:29
pmpython
11.83
KB
-rwxr-xr-x
2024-09-20 00:29
pmrep
65.89
KB
-rwxr-xr-x
2024-09-20 00:28
pmrepconf
54.48
KB
-rwxr-xr-x
2024-09-20 00:29
pmsearch
21.36
KB
-rwxr-xr-x
2024-09-20 00:29
pmseries
37.97
KB
-rwxr-xr-x
2024-09-20 00:29
pmsocks
1010
B
-rwxr-xr-x
2024-09-20 00:28
pmstat
25.55
KB
-rwxr-xr-x
2024-09-20 00:29
pmstore
16.97
KB
-rwxr-xr-x
2024-09-20 00:29
pmtrace
15.84
KB
-rwxr-xr-x
2024-09-20 00:29
pmval
41.9
KB
-rwxr-xr-x
2024-09-20 00:29
pngtopam
37.11
KB
-rwxr-xr-x
2022-04-24 08:47
pngtopnm
37.11
KB
-rwxr-xr-x
2022-04-24 08:47
pnmalias
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmarith
16.3
KB
-rwxr-xr-x
2022-04-24 08:47
pnmcat
16.37
KB
-rwxr-xr-x
2022-04-24 08:47
pnmcolormap
16.35
KB
-rwxr-xr-x
2022-04-24 08:47
pnmcomp
20.29
KB
-rwxr-xr-x
2022-04-24 08:47
pnmconvol
32.52
KB
-rwxr-xr-x
2022-04-24 08:47
pnmcrop
20.44
KB
-rwxr-xr-x
2022-04-24 08:47
pnmcut
16.39
KB
-rwxr-xr-x
2022-04-24 08:47
pnmdepth
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmenlarge
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmfile
12.38
KB
-rwxr-xr-x
2022-04-24 08:47
pnmflip
3.58
KB
-rwxr-xr-x
2022-04-24 08:47
pnmgamma
20.45
KB
-rwxr-xr-x
2022-04-24 08:47
pnmhisteq
15.85
KB
-rwxr-xr-x
2022-04-24 08:47
pnmhistmap
16.38
KB
-rwxr-xr-x
2022-04-24 08:47
pnmindex
16.26
KB
-rwxr-xr-x
2022-04-24 08:47
pnminterp
15.86
KB
-rwxr-xr-x
2022-04-24 08:47
pnminvert
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmmargin
2.62
KB
-rwxr-xr-x
2022-04-24 08:47
pnmmercator
15.86
KB
-rwxr-xr-x
2022-04-24 08:47
pnmmontage
20.41
KB
-rwxr-xr-x
2022-04-24 08:47
pnmnlfilt
20.48
KB
-rwxr-xr-x
2022-04-24 08:47
pnmnoraw
31
B
-rwxr-xr-x
2022-04-24 08:47
pnmnorm
19.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmpad
20.29
KB
-rwxr-xr-x
2022-04-24 08:47
pnmpaste
15.85
KB
-rwxr-xr-x
2022-04-24 08:47
pnmpsnr
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmquant
9.7
KB
-rwxr-xr-x
2022-04-24 08:47
pnmquantall
6.8
KB
-rwxr-xr-x
2022-04-24 08:47
pnmremap
20.3
KB
-rwxr-xr-x
2022-04-24 08:47
pnmrotate
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmscale
32.61
KB
-rwxr-xr-x
2022-04-24 08:47
pnmscalefixed
15.86
KB
-rwxr-xr-x
2022-04-24 08:47
pnmshear
12.28
KB
-rwxr-xr-x
2022-04-24 08:47
pnmsmooth
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmsplit
12.28
KB
-rwxr-xr-x
2022-04-24 08:47
pnmstitch
29.41
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtile
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtoddif
16.38
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtofiasco
164.9
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtofits
12.29
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtojbig
20.38
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtojpeg
24.38
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtopalm
28.57
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtopclxl
21.07
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtoplainpnm
31
B
-rwxr-xr-x
2022-04-24 08:47
pnmtopng
53.09
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtopnm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtops
32.5
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtorast
20.45
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtorle
41.15
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtosgi
16.42
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtosir
11.82
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtotiff
40.56
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtotiffcmyk
40.71
KB
-rwxr-xr-x
2022-04-24 08:47
pnmtoxwd
15.86
KB
-rwxr-xr-x
2022-04-24 08:47
pod2html
4.04
KB
-rwxr-xr-x
2023-01-19 17:45
pod2man
14.68
KB
-rwxr-xr-x
2021-04-12 15:50
pod2text
10.55
KB
-rwxr-xr-x
2021-04-12 15:50
pod2usage
3.86
KB
-rwxr-xr-x
2021-04-12 15:29
podchecker
3.57
KB
-rwxr-xr-x
2021-04-12 15:26
podselect
2.47
KB
-rwxr-xr-x
2021-04-12 15:28
post-grohtml
221.84
KB
-rwxr-xr-x
2021-04-21 14:25
ppm3d
16.28
KB
-rwxr-xr-x
2022-04-24 08:47
ppmbrighten
12.28
KB
-rwxr-xr-x
2022-04-24 08:47
ppmchange
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmcie
24.55
KB
-rwxr-xr-x
2022-04-24 08:47
ppmcolormask
11.86
KB
-rwxr-xr-x
2022-04-24 08:47
ppmcolors
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ppmdcfont
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmddumpfont
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ppmdim
11.82
KB
-rwxr-xr-x
2022-04-24 08:47
ppmdist
12.37
KB
-rwxr-xr-x
2022-04-24 08:47
ppmdither
15.85
KB
-rwxr-xr-x
2022-04-24 08:47
ppmdmkfont
15.95
KB
-rwxr-xr-x
2022-04-24 08:47
ppmdraw
20.4
KB
-rwxr-xr-x
2022-04-24 08:47
ppmfade
12.52
KB
-rwxr-xr-x
2022-04-24 08:47
ppmflash
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ppmforge
24.39
KB
-rwxr-xr-x
2022-04-24 08:47
ppmglobe
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
ppmhist
16.35
KB
-rwxr-xr-x
2022-04-24 08:47
ppmlabel
16.27
KB
-rwxr-xr-x
2022-04-24 08:47
ppmmake
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ppmmix
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ppmnorm
19.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmntsc
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmpat
28.53
KB
-rwxr-xr-x
2022-04-24 08:47
ppmquant
2.3
KB
-rwxr-xr-x
2022-04-24 08:47
ppmquantall
6.8
KB
-rwxr-xr-x
2022-04-24 08:47
ppmrainbow
3.38
KB
-rwxr-xr-x
2022-04-24 08:47
ppmrelief
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmrough
16.39
KB
-rwxr-xr-x
2022-04-24 08:47
ppmshadow
10.86
KB
-rwxr-xr-x
2022-04-24 08:47
ppmshift
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmspread
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoacad
17.14
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoapplevol
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoarbtxt
19.98
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoascii
11.86
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtobmp
20.01
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoeyuv
16.38
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtogif
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoicr
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoilbm
40.68
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtojpeg
24.38
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoleaf
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtolj
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtomap
82
B
-rwxr-xr-x
2022-04-24 08:47
ppmtomitsu
20.4
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoneo
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtopcx
20.49
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtopgm
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtopi1
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtopict
12.37
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtopj
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtopjxl
16.39
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoppm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtopuzz
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtorgb3
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtosixel
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtospu
12.35
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoterm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtotga
16.27
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtouil
15.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtowinicon
20.43
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoxpm
16.27
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoyuv
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtoyuvsplit
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
ppmtv
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ppmwheel
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
pr
82.2
KB
-rwxr-xr-x
2023-01-18 23:52
pre-grohtml
115.94
KB
-rwxr-xr-x
2021-04-21 14:25
precat
5.52
KB
-rwxr-xr-x
2022-04-22 06:00
preconv
50.45
KB
-rwxr-xr-x
2021-04-21 14:25
preunzip
5.52
KB
-rwxr-xr-x
2022-04-22 06:00
prezip
5.52
KB
-rwxr-xr-x
2022-04-22 06:00
prezip-bin
11.85
KB
-rwxr-xr-x
2022-04-22 06:00
printenv
33.37
KB
-rwxr-xr-x
2023-01-18 23:52
printf
53.61
KB
-rwxr-xr-x
2023-01-18 23:52
prlimit
37.54
KB
-rwxr-xr-x
2024-02-09 01:27
procmail
107.03
KB
-rwxr-xr-x
2021-04-12 15:55
prove
13.24
KB
-rwxr-xr-x
2021-04-12 15:34
prtstat
20.51
KB
-rwxr-xr-x
2021-04-12 15:57
prune
16.73
KB
-rwxr-xr-x
2023-12-06 02:00
ps
134.62
KB
-rwxr-xr-x
2023-08-16 00:10
ps2ascii
631
B
-rwxr-xr-x
2024-06-20 18:21
ps2epsi
2.69
KB
-rwxr-xr-x
2024-06-20 18:21
ps2pdf
272
B
-rwxr-xr-x
2024-06-20 18:21
ps2pdf12
215
B
-rwxr-xr-x
2024-06-20 18:21
ps2pdf13
215
B
-rwxr-xr-x
2024-06-20 18:21
ps2pdf14
215
B
-rwxr-xr-x
2024-06-20 18:21
ps2pdfwr
1.07
KB
-rwxr-xr-x
2024-06-20 18:21
ps2ps
647
B
-rwxr-xr-x
2024-06-20 18:21
ps2ps2
669
B
-rwxr-xr-x
2024-06-20 18:21
psfaddtable
20.59
KB
-rwxr-xr-x
2023-06-23 00:07
psfgettable
20.59
KB
-rwxr-xr-x
2023-06-23 00:07
psfstriptable
20.59
KB
-rwxr-xr-x
2023-06-23 00:07
psfxtable
20.59
KB
-rwxr-xr-x
2023-06-23 00:07
psidtopgm
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
pslog
12.48
KB
-rwxr-xr-x
2021-04-12 15:57
pstopnm
20.29
KB
-rwxr-xr-x
2022-04-24 08:47
pstree
33.53
KB
-rwxr-xr-x
2021-04-12 15:57
pstree.x11
33.53
KB
-rwxr-xr-x
2021-04-12 15:57
ptar
3.38
KB
-rwxr-xr-x
2021-04-12 14:46
ptardiff
2.48
KB
-rwxr-xr-x
2021-04-12 14:46
ptargrep
4.2
KB
-rwxr-xr-x
2021-04-12 14:46
ptx
78.05
KB
-rwxr-xr-x
2023-01-18 23:52
puudecode
925
B
-rwxr-xr-x
2020-10-26 15:41
puuencode
895
B
-rwxr-xr-x
2020-10-26 15:41
pwd
37.47
KB
-rwxr-xr-x
2023-01-18 23:52
pwdx
12.55
KB
-rwxr-xr-x
2023-08-16 00:10
pwmake
12.27
KB
-rwxr-xr-x
2023-02-18 15:07
pwscore
12.27
KB
-rwxr-xr-x
2023-02-18 15:07
pydoc-3
89
B
-rwxr-xr-x
2025-07-02 04:03
pydoc2
78
B
-rwxr-xr-x
2024-05-23 19:45
pydoc2.7
78
B
-rwxr-xr-x
2024-05-23 19:45
pydoc3
89
B
-rwxr-xr-x
2025-07-02 04:03
pydoc3.4
78
B
-rwxr-xr-x
2024-04-25 14:29
pydoc3.6
89
B
-rwxr-xr-x
2025-07-02 04:03
python
7.85
KB
-rwxr-xr-x
2024-05-23 19:46
python2
7.85
KB
-rwxr-xr-x
2024-05-23 19:46
python2.7
7.85
KB
-rwxr-xr-x
2024-05-23 19:46
python3
11.59
KB
-rwxr-xr-x
2025-07-02 04:03
python3.4
11.81
KB
-rwxr-xr-x
2024-04-25 14:30
python3.4m
11.81
KB
-rwxr-xr-x
2024-04-25 14:30
python3.6
11.59
KB
-rwxr-xr-x
2025-07-02 04:03
python3.6m
11.59
KB
-rwxr-xr-x
2025-07-02 04:03
pyvenv-3
446
B
-rwxr-xr-x
2025-07-02 04:03
pyvenv-3.4
230
B
-rwxr-xr-x
2024-04-25 14:29
pyvenv-3.6
446
B
-rwxr-xr-x
2025-07-02 04:03
qrttoppm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
ranlib
61.97
KB
-rwxr-xr-x
2023-07-26 01:25
rasttopnm
20.45
KB
-rwxr-xr-x
2022-04-24 08:47
raw
16.49
KB
-rwxr-xr-x
2024-02-09 01:27
rawtopgm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
rawtoppm
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
rdoc
934
B
-rwxr-xr-x
2024-07-12 02:38
re2c
304.41
KB
-rwxr-xr-x
2021-04-12 16:44
read
28
B
-rwxr-xr-x
2024-02-10 21:31
readelf
624.54
KB
----------
2023-07-26 01:25
readlink
45.93
KB
-rwxr-xr-x
2023-01-18 23:52
realpath
49.98
KB
-rwxr-xr-x
2023-01-18 23:52
recode-sr-latin
16.65
KB
-rwxr-xr-x
2021-04-12 10:41
redis-benchmark
878.3
KB
-rwxr-xr-x
2025-12-19 09:46
redis-check-aof
3.61
MB
-rwxr-xr-x
2025-12-19 09:46
redis-check-rdb
3.61
MB
-rwxr-xr-x
2025-12-19 09:46
redis-cli
1.21
MB
-rwxr-xr-x
2025-12-19 09:46
redis-sentinel
3.61
MB
-rwxr-xr-x
2025-12-19 09:46
redis-server
3.61
MB
-rwxr-xr-x
2025-12-19 09:46
reformail
54.05
KB
-rwxr-xr-x
2022-11-01 15:19
reformime
86.62
KB
-rwxr-xr-x
2022-11-01 15:19
rename
16.5
KB
-rwxr-xr-x
2024-02-09 01:27
renew-dummy-cert
725
B
-rwxr-xr-x
2024-10-10 05:56
renice
16.46
KB
-rwxr-xr-x
2024-02-09 01:27
replace
3.47
MB
-rwxr-xr-x
2023-10-13 00:33
reset
24.7
KB
-rwxr-xr-x
2023-08-15 23:52
resizecons
20.71
KB
-rwxr-xr-x
2023-06-23 00:07
resolve_stack_dump
3.49
MB
-rwxr-xr-x
2023-10-13 00:33
resolvectl
195.75
KB
-rwxr-xr-x
2024-09-24 18:26
resolveip
3.49
MB
-rwxr-xr-x
2023-10-13 00:33
rev
12.45
KB
-rwxr-xr-x
2024-02-09 01:27
revpath
8.01
KB
-rwxr-xr-x
2021-04-12 11:51
rftp
8.68
KB
-rwxr-xr-x
2021-04-12 10:15
rgb3toppm
11.82
KB
-rwxr-xr-x
2022-04-24 08:47
ri
184
B
-rwxr-xr-x
2024-07-12 02:38
rlatopam
12.38
KB
-rwxr-xr-x
2022-04-24 08:47
rletopnm
33.05
KB
-rwxr-xr-x
2022-04-24 08:47
rlogin-cwd
501
B
-rwxr-xr-x
2021-04-12 10:15
rm
70.43
KB
-rwxr-xr-x
2023-01-18 23:52
rmail
262
B
-rwxr-xr-x
2022-10-28 18:40
rmail.postfix
262
B
-rwxr-xr-x
2022-10-28 18:40
rmdir
45.51
KB
-rwxr-xr-x
2023-01-18 23:52
rpm
20.84
KB
-rwxr-xr-x
2023-12-14 01:45
rpm2archive
20.46
KB
-rwxr-xr-x
2023-12-14 01:45
rpm2cpio
11.84
KB
-rwxr-xr-x
2023-12-14 01:45
rpmdb
16.96
KB
-rwxr-xr-x
2023-12-14 01:45
rpmkeys
16.87
KB
-rwxr-xr-x
2023-12-14 01:45
rpmquery
20.84
KB
-rwxr-xr-x
2023-12-14 01:45
rpmverify
20.84
KB
-rwxr-xr-x
2023-12-14 01:45
rspamadm
243.93
KB
-rwxr-xr-x
2024-01-26 04:55
rspamc
260.19
KB
-rwxr-xr-x
2024-01-26 04:55
rspamd
203.51
KB
-rwxr-xr-x
2024-01-26 04:55
rspamd_stats
31.89
KB
-rwxr-xr-x
2024-01-26 04:10
rsync
510.11
KB
-rwxr-xr-x
2025-03-11 18:29
rsyslog-recover-qi.pl
5.96
KB
-rwxr-xr-x
2023-06-08 07:16
ruby
11.84
KB
-rwxr-xr-x
2024-07-12 02:38
run-parts
1.94
KB
-rwxr-xr-x
2021-05-19 11:29
run-with-aspell
85
B
-rwxr-xr-x
2022-04-22 06:00
runcon
37.41
KB
-rwxr-xr-x
2023-01-18 23:52
rvi
1.13
MB
-rwxr-xr-x
2022-08-02 16:47
rview
1.13
MB
-rwxr-xr-x
2022-08-02 16:47
sa-awl
4.9
KB
-rwxr-xr-x
2022-04-13 10:34
sa-check_spamd
14.52
KB
-rwxr-xr-x
2022-04-13 10:34
sa-learn
44.83
KB
-rwxr-xr-x
2022-04-13 10:34
sa-update
72.6
KB
-rwxr-xr-x
2022-04-13 10:34
sadf
334.57
KB
-rwxr-xr-x
2024-07-03 05:44
sar
135.77
KB
-rwxr-xr-x
2024-07-03 05:44
sbigtopgm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
scalar
2.18
MB
-rwxr-xr-x
2025-07-23 00:28
sccmap
20.62
KB
-rwxr-xr-x
2023-12-06 02:00
scp
102.84
KB
-rwxr-xr-x
2024-08-14 05:36
script
36.79
KB
-rwxr-xr-x
2024-02-09 01:27
scriptreplay
28.99
KB
-rwxr-xr-x
2024-02-09 01:27
sdiff
53.49
KB
-rwxr-xr-x
2021-04-12 10:01
secon
25.46
KB
-rwxr-xr-x
2024-04-17 00:43
sed
115.26
KB
-rwxr-xr-x
2022-04-12 16:10
semodule_expand
12.28
KB
-rwxr-xr-x
2024-04-17 00:43
semodule_link
12.29
KB
-rwxr-xr-x
2024-04-17 00:43
semodule_package
16.68
KB
-rwxr-xr-x
2024-04-17 00:43
semodule_unpackage
12.3
KB
-rwxr-xr-x
2024-04-17 00:43
seq
53.49
KB
-rwxr-xr-x
2023-01-18 23:52
sessreg
16.91
KB
-rwxr-xr-x
2021-04-07 12:39
setarch
20.76
KB
-rwxr-xr-x
2024-02-09 01:27
setfacl
37.69
KB
-rwxr-xr-x
2023-10-07 02:54
setfont
45.13
KB
-rwxr-xr-x
2023-06-23 00:07
setkeycodes
12.5
KB
-rwxr-xr-x
2023-06-23 00:07
setleds
16.54
KB
-rwxr-xr-x
2023-06-23 00:07
setmetamode
12.5
KB
-rwxr-xr-x
2023-06-23 00:07
setpriv
45.15
KB
-rwxr-xr-x
2024-02-09 01:27
setsid
16.38
KB
-rwxr-xr-x
2024-02-09 01:27
setterm
45.12
KB
-rwxr-xr-x
2024-02-09 01:27
setup-nsssysinit
1.5
KB
-rwxr-xr-x
2024-09-17 01:48
setup-nsssysinit.sh
1.5
KB
-rwxr-xr-x
2024-09-17 01:48
setvtrgb
16.59
KB
-rwxr-xr-x
2023-06-23 00:07
sfdp
12.26
KB
-rwxr-xr-x
2023-12-06 02:00
sftp
159.73
KB
-rwxr-xr-x
2024-08-14 05:36
sg
42.45
KB
-rwx------
2023-11-21 18:06
sgitopnm
16.41
KB
-rwxr-xr-x
2022-04-24 08:47
sh
1.1
MB
-rwxr-xr-x
2024-02-10 21:31
sha1sum
45.59
KB
-rwxr-xr-x
2023-01-18 23:52
sha224sum
45.63
KB
-rwxr-xr-x
2023-01-18 23:52
sha256sum
45.63
KB
-rwxr-xr-x
2023-01-18 23:52
sha384sum
45.63
KB
-rwxr-xr-x
2023-01-18 23:52
sha512sum
45.63
KB
-rwxr-xr-x
2023-01-18 23:52
shasum
9.66
KB
-rwxr-xr-x
2021-04-12 14:56
shell-quote
5.34
KB
-rwxr-xr-x
2023-10-16 12:14
showconsolefont
20.67
KB
-rwxr-xr-x
2023-06-23 00:07
showkey
16.52
KB
-rwxr-xr-x
2023-06-23 00:07
showrgb
12.45
KB
-rwxr-xr-x
2021-04-07 12:39
shred
61.9
KB
-rwxr-xr-x
2023-01-18 23:52
shuf
58.13
KB
-rwxr-xr-x
2023-01-18 23:52
signver
110.59
KB
-rwxr-xr-x
2024-09-17 01:48
sigtool
213.45
KB
-rwxr-xr-x
2023-10-30 01:01
sirtopnm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
size
33.23
KB
-rwxr-xr-x
2023-07-26 01:25
skill
28.66
KB
-rwxr-xr-x
2023-08-16 00:10
slabtop
20.7
KB
-rwxr-xr-x
2023-08-16 00:10
sldtoppm
16.47
KB
-rwxr-xr-x
2022-04-24 08:47
sleep
37.44
KB
-rwxr-xr-x
2023-01-18 23:52
slencheck
12.48
KB
-rwxr-xr-x
2021-04-12 17:47
snice
28.66
KB
-rwxr-xr-x
2023-08-16 00:10
soelim
34.34
KB
-rwxr-xr-x
2021-04-21 14:25
sort
123.51
KB
-rwxr-xr-x
2023-01-18 23:52
sotruss
4.18
KB
-rwxr-xr-x
2024-09-24 18:28
spamassassin
29.39
KB
-rwxr-xr-x
2022-04-13 10:34
spamc
50.02
KB
-rwxr-xr-x
2022-04-13 10:34
spamd
127.63
KB
-rwxr-xr-x
2022-04-13 10:34
spctoppm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
spell
122
B
-rwxr-xr-x
2022-04-22 06:00
spfd
17.96
KB
-rw-r--r--
2021-04-19 02:24
spfd.perl-Mail-SPF
17.96
KB
-rw-r--r--
2021-04-19 02:24
spfquery
22.45
KB
-rwxr-xr-x
2021-04-19 02:24
spfquery.perl-Mail-SPF
22.45
KB
-rwxr-xr-x
2021-04-19 02:24
splain
18.7
KB
-rwxr-xr-x
2023-01-19 17:45
split
58.09
KB
-rwxr-xr-x
2023-01-18 23:52
spottopgm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
sprof
28.67
KB
-rwxr-xr-x
2024-09-24 18:39
sputoppm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
sqlite3
1.28
MB
-rwxr-xr-x
2024-01-16 08:04
srftopam
20.45
KB
-rwxr-xr-x
2022-04-24 08:47
sscg
57.16
KB
-rwxr-xr-x
2022-12-10 18:53
ssh
757.48
KB
-rwxr-xr-x
2024-08-14 05:36
ssh-add
346.09
KB
-rwxr-xr-x
2024-08-14 05:36
ssh-agent
325.56
KB
-rwxr-xr-x
2024-08-14 05:36
ssh-copy-id
10.44
KB
-rwxr-xr-x
2024-08-14 05:36
ssh-keygen
427.2
KB
-rwxr-xr-x
2024-08-14 05:36
ssh-keyscan
428.56
KB
-rwxr-xr-x
2024-08-14 05:36
ssltap
126.29
KB
-rwxr-xr-x
2024-09-17 01:48
st4topgm
12.26
KB
-rwxr-xr-x
2022-04-24 08:47
stat
86.2
KB
-rwxr-xr-x
2023-01-18 23:52
stdbuf
49.55
KB
-rwxr-xr-x
2023-01-18 23:52
stream
11.83
KB
-rwxr-xr-x
2025-04-01 22:15
strings
37.41
KB
-rwxr-xr-x
2023-07-26 01:25
strip
240.07
KB
-rwxr-xr-x
2023-07-26 01:25
stty
77.66
KB
-rwxr-xr-x
2023-01-18 23:52
su
48.98
KB
-rwxr-xr-x
2024-02-09 01:27
sudo
186.52
KB
---s--x---
2025-07-02 03:55
sudoedit
186.52
KB
---s--x---
2025-07-02 03:55
sudoreplay
115.2
KB
---x--x--x
2025-07-02 03:55
sum
45.58
KB
-rwxr-xr-x
2023-01-18 23:52
sunicontopnm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
svgtopam
20.44
KB
-rwxr-xr-x
2022-04-24 08:47
sync
37.4
KB
-rwxr-xr-x
2023-01-18 23:52
systemctl
218.45
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-analyze
1.55
MB
-rwxr-xr-x
2024-09-24 18:26
systemd-ask-password
12.02
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-cat
16.03
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-cgls
16.44
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-cgtop
32.88
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-delta
24.45
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-detect-virt
11.88
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-escape
16.01
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-firstboot
36.98
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-hwdb
28.91
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-inhibit
16.03
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-machine-id-setup
24.75
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-mount
52.64
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-notify
16.03
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-path
16.02
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-resolve
195.75
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-run
48.94
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-socket-activate
24.77
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-stdio-bridge
16.02
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-sysusers
53.05
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-tmpfiles
73.3
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-tty-ask-password-agent
32.82
KB
-rwxr-xr-x
2024-09-24 18:26
systemd-umount
52.64
KB
-rwxr-xr-x
2024-09-24 18:26
tabs
16.49
KB
-rwxr-xr-x
2023-08-15 23:52
tac
41.54
KB
-rwxr-xr-x
2023-01-18 23:52
tail
74.17
KB
-rwxr-xr-x
2023-01-18 23:52
tapestat
41.32
KB
-rwxr-xr-x
2024-07-03 05:44
tar
449.05
KB
-rwxr-xr-x
2023-02-18 11:49
taskset
37.25
KB
-rwxr-xr-x
2024-02-09 01:27
tbl
134.13
KB
-rwxr-xr-x
2021-04-21 14:25
tcamgr
24.54
KB
-rwxr-xr-x
2021-04-12 17:33
tcamttest
20.57
KB
-rwxr-xr-x
2021-04-12 17:33
tcatest
57
KB
-rwxr-xr-x
2021-04-12 17:33
tcbmgr
28.51
KB
-rwxr-xr-x
2021-04-12 17:33
tcbmttest
52.63
KB
-rwxr-xr-x
2021-04-12 17:33
tcbtest
68.98
KB
-rwxr-xr-x
2021-04-12 17:33
tcfmgr
24.49
KB
-rwxr-xr-x
2021-04-12 17:33
tcfmttest
36.62
KB
-rwxr-xr-x
2021-04-12 17:33
tcftest
44.58
KB
-rwxr-xr-x
2021-04-12 17:33
tchmgr
24.49
KB
-rwxr-xr-x
2021-04-12 17:33
tchmttest
48.63
KB
-rwxr-xr-x
2021-04-12 17:33
tchtest
56.94
KB
-rwxr-xr-x
2021-04-12 17:33
tclsh
8.46
KB
-rwxr-xr-x
2021-04-12 17:25
tclsh8.6
8.46
KB
-rwxr-xr-x
2021-04-12 17:25
tcpdf_addfont
7.27
KB
-rwxr-xr-x
2024-12-23 23:36
tcsh
431.95
KB
-rwxr-xr-x
2022-04-23 13:31
tctmgr
36.49
KB
-rwxr-xr-x
2021-04-12 17:33
tctmttest
44.59
KB
-rwxr-xr-x
2021-04-12 17:33
tcttest
56.59
KB
-rwxr-xr-x
2021-04-12 17:33
tcucodec
36.48
KB
-rwxr-xr-x
2021-04-12 17:33
tcumttest
24.56
KB
-rwxr-xr-x
2021-04-12 17:33
tcutest
72.59
KB
-rwxr-xr-x
2021-04-12 17:33
tee
41.52
KB
-rwxr-xr-x
2023-01-18 23:52
test
53.59
KB
-rwxr-xr-x
2023-01-18 23:52
tgatoppm
16.27
KB
-rwxr-xr-x
2022-04-24 08:47
thinkjettopbm
20.66
KB
-rwxr-xr-x
2022-04-24 08:47
tic
85.18
KB
-rwxr-xr-x
2023-08-15 23:52
tifftopnm
44.58
KB
-rwxr-xr-x
2022-04-24 08:47
timed-read
303
B
-rwxr-xr-x
2021-04-12 10:15
timed-run
277
B
-rwxr-xr-x
2021-04-12 10:15
timedatectl
36.96
KB
-rwxr-xr-x
2024-09-24 18:26
timeout
41.91
KB
-rwxr-xr-x
2023-01-18 23:52
tload
16.63
KB
-rwxr-xr-x
2023-08-16 00:10
toe
16.45
KB
-rwxr-xr-x
2023-08-15 23:52
top
121.57
KB
-rwxr-xr-x
2023-08-16 00:10
touch
93.98
KB
-rwxr-xr-x
2023-01-18 23:52
tput
24.73
KB
-rwxr-xr-x
2023-08-15 23:52
tr
49.67
KB
-rwxr-xr-x
2023-01-18 23:52
tracepath
20.45
KB
-rwxr-xr-x
2023-06-13 00:50
tred
16.59
KB
-rwxr-xr-x
2023-12-06 02:00
troff
740.24
KB
-rwxr-xr-x
2021-04-21 14:25
true
33.37
KB
-rwxr-xr-x
2023-01-18 23:52
truncate
41.41
KB
-rwxr-xr-x
2023-01-18 23:52
trust
219.55
KB
-rwxr-xr-x
2023-11-30 02:07
tset
24.7
KB
-rwxr-xr-x
2023-08-15 23:52
tsort
41.54
KB
-rwxr-xr-x
2023-01-18 23:52
tty
33.36
KB
-rwxr-xr-x
2023-01-18 23:52
twopi
12.26
KB
-rwxr-xr-x
2023-12-06 02:00
type
28
B
-rwxr-xr-x
2024-02-10 21:31
tzselect
15.01
KB
-rwxr-xr-x
2024-09-24 18:28
ucs2any
24.41
KB
-rwxr-xr-x
2021-11-09 23:26
udevadm
424.58
KB
-rwxr-xr-x
2024-09-24 18:26
ul
20.58
KB
-rwxr-xr-x
2024-02-09 01:27
ulimit
30
B
-rwxr-xr-x
2024-02-10 21:31
umask
29
B
-rwxr-xr-x
2024-02-10 21:31
umount
32.75
KB
-rwsr-x---
2024-02-09 01:27
unalias
31
B
-rwxr-xr-x
2024-02-10 21:31
uname
37.38
KB
-rwxr-xr-x
2023-01-18 23:52
uname26
20.76
KB
-rwxr-xr-x
2024-02-09 01:27
unbuffer
640
B
-rwxr-xr-x
2021-04-12 10:15
unexpand
45.65
KB
-rwxr-xr-x
2023-01-18 23:52
unflatten
16.63
KB
-rwxr-xr-x
2023-12-06 02:00
unicode_start
2.55
KB
-rwxr-xr-x
2023-06-23 00:07
unicode_stop
363
B
-rwxr-xr-x
2023-06-23 00:07
uniq
49.69
KB
-rwxr-xr-x
2023-01-18 23:52
unlink
33.38
KB
-rwxr-xr-x
2023-01-18 23:52
unlz4
166.89
KB
-rwxr-xr-x
2021-06-30 02:33
unshare
24.92
KB
-rwxr-xr-x
2024-02-09 01:27
unversioned-python
7.85
KB
-rwxr-xr-x
2024-05-23 19:46
unxz
82.09
KB
-rwxr-xr-x
2022-06-14 00:27
unzip
201.86
KB
-rwxr-xr-x
2022-04-13 05:46
unzipsfx
101.46
KB
-rwxr-xr-x
2022-04-13 05:46
update-ca-trust
1.24
KB
-rwxr-xr-x
2024-08-26 23:43
update-crypto-policies
87
B
-rwxr-xr-x
2023-08-02 00:18
update-gtk-immodules
313
B
-rwxr-xr-x
2021-05-19 11:38
update-mime-database
57.22
KB
-rwxr-xr-x
2023-12-09 01:12
updatedb
49.33
KB
-rwxr-xr-x
2021-04-12 13:56
uptime
12.45
KB
-rwxr-xr-x
2023-08-16 00:10
users
37.44
KB
-rwxr-xr-x
2023-01-18 23:52
usleep
11.85
KB
-rwxr-xr-x
2022-10-02 08:11
utmpdump
28.66
KB
-rwxr-xr-x
2024-02-09 01:27
uuidgen
16.37
KB
-rwxr-xr-x
2024-02-09 01:27
uuidparse
37.13
KB
-rwxr-xr-x
2024-02-09 01:27
vdir
139.94
KB
-rwxr-xr-x
2023-01-18 23:52
vi
1.13
MB
-rwxr-xr-x
2022-08-02 16:47
view
1.13
MB
-rwxr-xr-x
2022-08-02 16:47
vimdot
1.06
KB
-rwxr-xr-x
2023-12-06 02:00
vlock
20.77
KB
-rwxr-xr-x
2023-06-23 00:07
vmstat
36.66
KB
-rwxr-xr-x
2023-08-16 00:10
w
20.62
KB
-rwxr-xr-x
2023-08-16 00:10
wait
28
B
-rwxr-xr-x
2024-02-10 21:31
wall
33.05
KB
-rwxr-xr-x
2024-02-09 01:27
watch
29.05
KB
-rwxr-xr-x
2023-08-16 00:10
watchgnupg
16.43
KB
-rwxr-xr-x
2022-09-13 16:58
wbmptopbm
12.25
KB
-rwxr-xr-x
2022-04-24 08:47
wc
49.69
KB
-rwxr-xr-x
2023-01-18 23:52
wdctl
36.98
KB
-rwxr-xr-x
2024-02-09 01:27
weather
2.18
KB
-rwxr-xr-x
2021-04-12 10:15
webpinfo
32.62
KB
-rwxr-xr-x
2023-03-29 10:45
webpmux
32.81
KB
-rwxr-xr-x
2023-03-29 10:45
wget
521.41
KB
-rwxr-xr-x
2024-08-14 05:35
whatis
54.1
KB
-rwxr-xr-x
2021-10-13 17:25
whereis
29.27
KB
-rwxr-xr-x
2024-02-09 01:27
which
29.44
KB
-rwxr-xr-x
2023-03-23 01:34
who
53.64
KB
-rwxr-xr-x
2023-01-18 23:52
whoami
33.38
KB
-rwxr-xr-x
2023-01-18 23:52
whois
159.63
KB
-rwxr-xr-x
2021-04-12 17:53
whois.md
159.63
KB
-rwxr-xr-x
2021-04-12 17:53
winicontopam
20.41
KB
-rwxr-xr-x
2022-04-24 08:47
winicontoppm
16.41
KB
-rwxr-xr-x
2022-04-24 08:47
wmf2eps
16.55
KB
-rwxr-xr-x
2021-05-03 14:45
wmf2fig
16.55
KB
-rwxr-xr-x
2021-05-03 14:45
wmf2gd
16.55
KB
-rwxr-xr-x
2021-05-03 14:45
wmf2svg
16.55
KB
-rwxr-xr-x
2021-05-03 14:45
wmf2x
16.53
KB
-rwxr-xr-x
2021-05-03 14:45
word-list-compress
11.86
KB
-rwxr-xr-x
2022-04-22 06:00
wp
6.61
MB
-rwxr-xr-x
2023-06-12 18:08
write
20.62
KB
-rwxr-xr-x
2024-02-09 01:27
wsrep_sst_backup
2.95
KB
-rwxr-xr-x
2023-10-13 00:27
wsrep_sst_common
54.05
KB
-rw-r--r--
2023-10-13 00:27
wsrep_sst_mariabackup
51.03
KB
-rwxr-xr-x
2023-10-13 00:27
wsrep_sst_mysqldump
7.67
KB
-rwxr-xr-x
2023-10-13 00:27
wsrep_sst_rsync
32.16
KB
-rwxr-xr-x
2023-10-13 00:27
wsrep_sst_rsync_tunnel
14.94
KB
-rwxr-xr-x
2023-10-13 00:27
wsrep_sst_rsync_wan
32.16
KB
-rwxr-xr-x
2023-10-13 00:27
x86_64
20.76
KB
-rwxr-xr-x
2024-02-09 01:27
x86_64-redhat-linux-c++
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
x86_64-redhat-linux-g++
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
x86_64-redhat-linux-gcc
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
x86_64-redhat-linux-gcc-8
1.21
MB
-rwxr-xr-x
2024-04-23 11:01
x86_64-redhat-linux-gnu-pkg-config
424
B
-rwxr-xr-x
2021-04-19 08:33
xargs
74.11
KB
-rwxr-xr-x
2024-09-24 18:26
xbmtopbm
12.35
KB
-rwxr-xr-x
2022-04-24 08:47
xgamma
16.48
KB
-rwxr-xr-x
2021-04-07 12:39
xgettext
274.38
KB
-rwxr-xr-x
2021-04-12 10:41
xhost
16.52
KB
-rwxr-xr-x
2021-04-07 12:39
ximtoppm
16.28
KB
-rwxr-xr-x
2022-04-24 08:47
xinput
57.75
KB
-rwxr-xr-x
2021-04-07 12:39
xkibitz
4.75
KB
-rwxr-xr-x
2021-04-12 10:15
xkill
16.51
KB
-rwxr-xr-x
2021-04-07 12:39
xmkmf
1.08
KB
-rwxr-xr-x
2021-04-12 11:51
xml2-config
1.71
KB
-rwxr-xr-x
2017-07-23 14:10
xmlcatalog
20.38
KB
-rwxr-xr-x
2024-04-29 23:24
xmllint
73.37
KB
-rwxr-xr-x
2024-04-29 23:24
xmlwf
32.96
KB
-rwxr-xr-x
2024-09-24 18:26
xmodmap
37.45
KB
-rwxr-xr-x
2021-04-07 12:39
xorg-x11-fonts-update-dirs
1.29
KB
-rwxr--r--
2021-11-09 23:26
xpmtoppm
20.52
KB
-rwxr-xr-x
2022-04-24 08:47
xrandr
64.87
KB
-rwxr-xr-x
2021-04-07 12:39
xrdb
32.88
KB
-rwxr-xr-x
2021-04-07 12:39
xrefresh
16.57
KB
-rwxr-xr-x
2021-04-07 12:39
xset
36.61
KB
-rwxr-xr-x
2021-04-07 12:39
xsetpointer
12.47
KB
-rwxr-xr-x
2021-04-07 12:39
xsetroot
20.61
KB
-rwxr-xr-x
2021-04-07 12:39
xsltproc
28.34
KB
-rwxr-xr-x
2021-05-19 11:47
xstdcmap
17.09
KB
-rwxr-xr-x
2021-04-07 12:39
xsubpp
4.96
KB
-rwxr-xr-x
2021-04-12 15:01
xvminitoppm
12.27
KB
-rwxr-xr-x
2022-04-24 08:47
xwdtopnm
24.42
KB
-rwxr-xr-x
2022-04-24 08:47
xz
82.09
KB
-rwxr-xr-x
2022-06-14 00:27
xzcat
82.09
KB
-rwxr-xr-x
2022-06-14 00:27
xzcmp
6.48
KB
-rwxr-xr-x
2022-06-14 00:27
xzdec
16.48
KB
-rwxr-xr-x
2022-06-14 00:27
xzdiff
6.48
KB
-rwxr-xr-x
2022-06-14 00:27
xzegrep
5.76
KB
-rwxr-xr-x
2022-06-14 00:27
xzfgrep
5.76
KB
-rwxr-xr-x
2022-06-14 00:27
xzgrep
5.76
KB
-rwxr-xr-x
2022-06-14 00:27
xzless
1.76
KB
-rwxr-xr-x
2022-06-14 00:27
xzmore
2.11
KB
-rwxr-xr-x
2022-06-14 00:27
ybmtopbm
11.84
KB
-rwxr-xr-x
2022-04-24 08:47
yes
33.41
KB
-rwxr-xr-x
2023-01-18 23:52
ypdomainname
20.56
KB
-rwxr-xr-x
2021-03-15 04:29
yum
2.05
KB
-rwxr-xr-x
2023-10-17 03:56
yuvsplittoppm
12.3
KB
-rwxr-xr-x
2022-04-24 08:47
yuvtoppm
11.85
KB
-rwxr-xr-x
2022-04-24 08:47
yuy2topam
12.28
KB
-rwxr-xr-x
2022-04-24 08:47
zcat
1.94
KB
-rwxr-xr-x
2022-04-27 01:14
zcmp
1.64
KB
-rwxr-xr-x
2022-04-27 01:14
zdiff
5.74
KB
-rwxr-xr-x
2022-04-27 01:14
zegrep
29
B
-rwxr-xr-x
2022-04-27 01:14
zeisstopnm
11.83
KB
-rwxr-xr-x
2022-04-24 08:47
zfgrep
29
B
-rwxr-xr-x
2022-04-27 01:14
zforce
2.03
KB
-rwxr-xr-x
2022-04-27 01:14
zgrep
7.4
KB
-rwxr-xr-x
2022-04-27 01:14
zip
223.55
KB
-rwxr-xr-x
2021-04-12 18:09
zipcloak
99.1
KB
-rwxr-xr-x
2021-04-12 18:09
zipdetails
49.39
KB
-rwxr-xr-x
2021-04-12 15:13
zipgrep
2.88
KB
-rwxr-xr-x
2008-10-11 02:40
zipinfo
201.86
KB
-rwxr-xr-x
2022-04-13 05:46
zipnote
94.78
KB
-rwxr-xr-x
2021-04-12 18:09
zipsplit
94.78
KB
-rwxr-xr-x
2021-04-12 18:09
zless
2.15
KB
-rwxr-xr-x
2022-04-27 01:14
zmore
1.8
KB
-rwxr-xr-x
2022-04-27 01:14
znew
4.45
KB
-rwxr-xr-x
2022-04-27 01:14
zsoelim
34.34
KB
-rwxr-xr-x
2021-04-21 14:25
Save
Rename
#!/usr/bin/pmpython # # Copyright (C) 2015-2021 Marko Myllynen <myllynen@redhat.com> # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # pylint: disable=superfluous-parens # pylint: disable=invalid-name, line-too-long, no-self-use # pylint: disable=too-many-boolean-expressions, too-many-statements # pylint: disable=too-many-instance-attributes, too-many-locals # pylint: disable=too-many-branches, too-many-nested-blocks # pylint: disable=broad-except, too-many-arguments # pylint: disable=too-many-lines, too-many-public-methods """ Performance Metrics Reporter """ # Common imports from collections import OrderedDict import errno import sys # Our imports from datetime import datetime, timedelta import signal import shutil import time import math import re import os # PCP Python PMAPI from pcp import pmapi, pmi, pmconfig from cpmapi import PM_CONTEXT_ARCHIVE, PM_CONTEXT_LOCAL from cpmapi import PM_INDOM_NULL, PM_IN_NULL, PM_DEBUG_APPL1, PM_TIME_SEC from cpmapi import PM_SEM_DISCRETE, PM_TYPE_STRING from cpmapi import PM_TEXT_PMID, PM_TEXT_INDOM, PM_TEXT_ONELINE, PM_TEXT_HELP from cpmapi import PM_LABEL_INDOM, PM_LABEL_INSTANCES from cpmapi import PM_LABEL_DOMAIN, PM_LABEL_CLUSTER, PM_LABEL_ITEM from cpmi import PMI_ERR_DUPINSTNAME, PMI_ERR_DUPTEXT if sys.version_info[0] >= 3: long = int # pylint: disable=redefined-builtin # Default config DEFAULT_CONFIG = ["./pmrep.conf", "$HOME/.pmrep.conf", "$HOME/.pcp/pmrep.conf", "$PCP_SYSCONF_DIR/pmrep/pmrep.conf", "$PCP_SYSCONF_DIR/pmrep"] # Defaults CONFVER = 1 CSVSEP = "," CSVTIME = "%Y-%m-%d %H:%M:%S" OUTSEP = " " OUTTIME = "%H:%M:%S" NO_VAL = "N/A" NO_INST = "~" SINGULR = "=" # pmrep output targets OUTPUT_ARCHIVE = "archive" OUTPUT_CSV = "csv" OUTPUT_STDOUT = "stdout" class PMReporter(object): """ Report PCP metrics """ def __init__(self): """ Construct object, prepare for command line handling """ self.context = None self.daemonize = 0 self.pmconfig = pmconfig.pmConfig(self) self.opts = self.options() # Configuration directives self.keys = ('source', 'output', 'derived', 'header', 'globals', 'samples', 'interval', 'type', 'precision', 'daemonize', 'timestamp', 'unitinfo', 'colxrow', 'separate_header', 'fixed_header', 'delay', 'width', 'delimiter', 'extcsv', 'width_force', 'extheader', 'repeat_header', 'timefmt', 'interpol', 'dynamic_header', 'overall_rank', 'overall_rank_alt', 'sort_metric', 'count_scale', 'space_scale', 'time_scale', 'version', 'count_scale_force', 'space_scale_force', 'time_scale_force', 'type_prefer', 'precision_force', 'limit_filter', 'limit_filter_force', 'live_filter', 'rank', 'invert_filter', 'predicate', 'names_change', 'speclocal', 'instances', 'ignore_incompat', 'ignore_unknown', 'omit_flat', 'instinfo', 'include_labels', 'include_texts') # The order of preference for options (as present): # 1 - command line options # 2 - options from configuration file(s) # 3 - built-in defaults defined below self.check = 0 self.version = CONFVER self.source = "local:" self.output = OUTPUT_STDOUT self.speclocal = None self.derived = None self.header = 1 self.instinfo = 1 self.unitinfo = 1 self.globals = 1 self.timestamp = 0 self.samples = None # forever self.interval = pmapi.timeval(1) # 1 sec self.opts.pmSetOptionInterval(str(1)) # 1 sec self.delay = 0 self.type = 0 self.type_prefer = self.type self.ignore_incompat = 0 self.ignore_unknown = 0 self.names_change = 0 # ignore self.instances = [] self.live_filter = 0 self.rank = 0 self.overall_rank = 0 self.overall_rank_alt = 0 self.limit_filter = 0 self.limit_filter_force = 0 self.invert_filter = 0 self.predicate = None self.sort_metric = None self.omit_flat = 0 self.include_labels = 0 self.include_texts = 0 self.colxrow = None self.width = 0 self.width_force = None self.precision = 3 # .3f self.precision_force = None self.delimiter = None self.extcsv = 0 self.extheader = 0 self.fixed_header = 0 self.repeat_header = 0 self.dynamic_header = 0 self.separate_header = 0 self.timefmt = None self.interpol = 1 self.count_scale = None self.count_scale_force = None self.space_scale = None self.space_scale_force = None self.time_scale = None self.time_scale_force = None # Not in pmrep.conf, won't overwrite self.outfile = None # Internal self.format = None # stdout format self.writer = None self.pmi = None self.lines = 0 self.localtz = None self.prev_ts = None self.runtime = -1 self.found_insts = [] self.prev_insts = None self.static_header = 1 self.repeat_header_auto = 0 # Performance metrics store # key - metric name # values - 0:txt label, 1:instance(s), 2:unit/scale, 3:type, # 4:width, 5:pmfg item, 6:precision, 7:limit self.metrics = OrderedDict() self.pmfg = None self.pmfg_ts = None # Read configuration and prepare to connect self.config = self.pmconfig.set_config_path(DEFAULT_CONFIG) self.pmconfig.read_options() self.pmconfig.read_cmd_line() self.pmconfig.prepare_metrics() self.pmconfig.set_signal_handler() def options(self): """ Setup default command line argument option handling """ opts = pmapi.pmOptions() opts.pmSetOptionCallback(self.option) opts.pmSetOverrideCallback(self.option_override) opts.pmSetShortOptions("a:h:LK:c:Co:F:e:D:V?HUGpA:S:T:O:s:t:Z:zdrRIi:jJ:234:578:9:nN:6:vmX:W:w:P:0:l:kxE:1gf:uq:b:y:Q:B:Y:") opts.pmSetShortUsage("[option...] metricspec [...]") opts.pmSetLongOptionHeader("General options") opts.pmSetLongOptionArchive() # -a/--archive opts.pmSetLongOptionArchiveFolio() # --archive-folio opts.pmSetLongOptionContainer() # --container opts.pmSetLongOptionHost() # -h/--host opts.pmSetLongOptionLocalPMDA() # -L/--local-PMDA opts.pmSetLongOptionSpecLocal() # -K/--spec-local opts.pmSetLongOption("config", 1, "c", "FILE", "config file path") opts.pmSetLongOption("check", 0, "C", "", "check config and metrics and exit") opts.pmSetLongOption("output", 1, "o", "OUTPUT", "output target: archive, csv, stdout (default)") opts.pmSetLongOption("output-file", 1, "F", "OUTFILE", "output file") opts.pmSetLongOption("derived", 1, "e", "FILE|DFNT", "derived metrics definitions") opts.pmSetLongOption("daemonize", 0, "", "", "daemonize on startup") opts.pmSetLongOptionDebug() # -D/--debug opts.pmSetLongOptionVersion() # -V/--version opts.pmSetLongOptionHelp() # -?/--help opts.pmSetLongOptionHeader("Reporting options") opts.pmSetLongOption("no-header", 0, "H", "", "omit headers") opts.pmSetLongOption("no-unit-info", 0, "U", "", "omit unit info from headers") opts.pmSetLongOption("no-inst-info", 0, "", "", "omit instance info from headers") opts.pmSetLongOption("no-globals", 0, "G", "", "omit global metrics") opts.pmSetLongOption("timestamps", 0, "p", "", "print timestamps") opts.pmSetLongOptionAlign() # -A/--align opts.pmSetLongOptionStart() # -S/--start opts.pmSetLongOptionFinish() # -T/--finish opts.pmSetLongOptionOrigin() # -O/--origin opts.pmSetLongOptionSamples() # -s/--samples opts.pmSetLongOptionInterval() # -t/--interval opts.pmSetLongOptionTimeZone() # -Z/--timezone opts.pmSetLongOptionHostZone() # -z/--hostzone opts.pmSetLongOption("delay", 0, "d", "", "delay, pause between updates for archive replay") opts.pmSetLongOption("raw", 0, "r", "", "output raw counter values (no rate conversion)") opts.pmSetLongOption("raw-prefer", 0, "R", "", "prefer output raw counter values (no rate conversion)") opts.pmSetLongOption("ignore-incompat", 0, "I", "", "ignore incompatible instances (default: abort)") opts.pmSetLongOption("ignore-unknown", 0, "5", "", "ignore unknown metrics (default: abort)") opts.pmSetLongOption("instances", 1, "i", "STR", "instances to report (default: all current)") opts.pmSetLongOption("live-filter", 0, "j", "", "perform instance live filtering") opts.pmSetLongOption("rank", 1, "J", "COUNT", "limit results to COUNT highest/lowest valued instances") opts.pmSetLongOption("overall-rank", 0, "2", "", "report overall ranking from archive") opts.pmSetLongOption("overall-rank-alt", 0, "3", "", "report overall ranking from archive in pmrep format") opts.pmSetLongOption("names-change", 1, "4", "ACTION", "update/ignore/abort on PMNS changes (default: ignore)") opts.pmSetLongOption("limit-filter", 1, "8", "LIMIT", "default limit for value filtering") opts.pmSetLongOption("limit-filter-force", 1, "9", "LIMIT", "forced limit for value filtering") opts.pmSetLongOption("invert-filter", 0, "n", "", "perform ranking before live filtering") opts.pmSetLongOption("predicate", 1, "N", "METRIC", "set predicate filter reference metric") opts.pmSetLongOption("sort-metric", 1, "6", "METRIC", "set sort reference metric for colxrow output") opts.pmSetLongOption("omit-flat", 0, "v", "", "omit single-valued metrics") opts.pmSetLongOption("include-labels", 0, "m", "", "include metric label info") opts.pmSetLongOption("include-texts", 0, "", "", "include metric help texts in archive output") opts.pmSetLongOption("colxrow", 1, "X", "STR", "swap stdout columns and rows using STR as header label") opts.pmSetLongOption("width", 1, "w", "N", "default column width") opts.pmSetLongOption("width-force", 1, "W", "N", "forced column width") opts.pmSetLongOption("precision", 1, "P", "N", "prefer N digits after decimal separator (default: 3)") opts.pmSetLongOption("precision-force", 1, "0", "N", "force N digits after decimal separator") opts.pmSetLongOption("delimiter", 1, "l", "STR", "delimiter to separate csv/stdout columns") opts.pmSetLongOption("extended-csv", 0, "k", "", "write extended CSV") opts.pmSetLongOption("extended-header", 0, "x", "", "display extended header") opts.pmSetLongOption("fixed-header", 0, "7", "", "fixed header and dynamic instances with colxrow output") opts.pmSetLongOption("repeat-header", 1, "E", "N", "repeat stdout headers every N lines") opts.pmSetLongOption("dynamic-header", 0, "1", "", "update header dynamically on metric/instance changes") opts.pmSetLongOption("separate-header", 0, "g", "", "write separated header before metrics") opts.pmSetLongOption("timestamp-format", 1, "f", "STR", "strftime string for timestamp format") opts.pmSetLongOption("no-interpol", 0, "u", "", "disable interpolation mode with archives") opts.pmSetLongOption("count-scale", 1, "q", "SCALE", "default count unit") opts.pmSetLongOption("count-scale-force", 1, "Q", "SCALE", "forced count unit") opts.pmSetLongOption("space-scale", 1, "b", "SCALE", "default space unit") opts.pmSetLongOption("space-scale-force", 1, "B", "SCALE", "forced space unit") opts.pmSetLongOption("time-scale", 1, "y", "SCALE", "default time unit") opts.pmSetLongOption("time-scale-force", 1, "Y", "SCALE", "forced time unit") return opts def option_override(self, opt): """ Override standard PCP options """ if opt in ('g', 'H', 'K', 'n', 'N', 'p'): return 1 return 0 def option(self, opt, optarg, _index): """ Perform setup for individual command line option """ if opt == 'daemonize': self.daemonize = 1 elif opt == 'include-texts': self.include_texts = 1 elif opt == 'no-inst-info': self.instinfo = 0 elif opt == 'K': if not self.speclocal or not self.speclocal.startswith(";"): self.speclocal = ";" + optarg else: self.speclocal = self.speclocal + ";" + optarg elif opt == 'c': self.config = optarg elif opt == 'C': self.check = 1 elif opt == 'o': self.output = optarg elif opt == 'F': if os.path.exists(optarg + ".index"): sys.stderr.write("Archive %s already exists.\n" % optarg) sys.exit(1) if os.path.exists(optarg): kind = "File" if os.path.isfile(optarg) else "Directory" sys.stderr.write("%s %s already exists.\n" % (kind, optarg)) sys.exit(1) self.outfile = optarg elif opt == 'e': if not self.derived or not self.derived.startswith(";"): self.derived = ";" + optarg else: self.derived = self.derived + ";" + optarg elif opt == 'H': self.header = 0 elif opt == 'U': self.unitinfo = 0 elif opt == 'G': self.globals = 0 elif opt == 'p': self.timestamp = 1 elif opt == 'd': self.delay = 1 elif opt == 'r': self.type = 1 elif opt == 'R': self.type_prefer = 1 elif opt == 'I': self.ignore_incompat = 1 elif opt == '5': self.ignore_unknown = 1 elif opt == 'i': self.instances = self.instances + self.pmconfig.parse_instances(optarg) elif opt == 'j': self.live_filter = 1 elif opt == 'J': self.rank = optarg elif opt == '2': self.overall_rank = 1 elif opt == '3': self.overall_rank_alt = 1 elif opt == '4': if optarg == 'ignore': self.names_change = 0 elif optarg == 'abort': self.names_change = 1 elif optarg == 'update': self.names_change = 2 else: sys.stderr.write("Unknown names-change action '%s' specified.\n" % optarg) sys.exit(1) elif opt == '8': self.limit_filter = optarg elif opt == '9': self.limit_filter_force = optarg elif opt == 'n': self.invert_filter = 1 elif opt == 'N': self.predicate = optarg elif opt == '6': self.sort_metric = optarg elif opt == 'v': self.omit_flat = 1 elif opt == 'm': self.include_labels = 1 elif opt == 'X': self.colxrow = optarg elif opt == 'w': self.width = optarg elif opt == 'W': self.width_force = optarg elif opt == 'P': self.precision = optarg elif opt == '0': self.precision_force = optarg elif opt == 'l': self.delimiter = optarg elif opt == 'k': self.extcsv = 1 elif opt == 'x': self.extheader = 1 elif opt == 'E': self.repeat_header = optarg elif opt == '7': self.fixed_header = 1 elif opt == '1': self.dynamic_header = 1 elif opt == 'g': self.separate_header = 1 elif opt == 'f': self.timefmt = optarg elif opt == 'u': self.interpol = 0 elif opt == 'q': self.count_scale = optarg elif opt == 'Q': self.count_scale_force = optarg elif opt == 'b': self.space_scale = optarg elif opt == 'B': self.space_scale_force = optarg elif opt == 'y': self.time_scale = optarg elif opt == 'Y': self.time_scale_force = optarg else: raise pmapi.pmUsageErr() def connect(self): """ Establish PMAPI context """ context, self.source = pmapi.pmContext.set_connect_options(self.opts, self.source, self.speclocal) self.pmfg = pmapi.fetchgroup(context, self.source) self.pmfg_ts = self.pmfg.extend_timestamp() self.context = self.pmfg.get_context() if pmapi.c_api.pmSetContextOptions(self.context.ctx, self.opts.mode, self.opts.delta): raise pmapi.pmUsageErr() def validate_config(self): """ Validate configuration """ if self.version != CONFVER: sys.stderr.write("Incompatible configuration file version (read v%s, need v%d).\n" % (self.version, CONFVER)) sys.exit(1) self.pmconfig.validate_common_options() if self.output != OUTPUT_ARCHIVE and \ self.output != OUTPUT_CSV and \ self.output != OUTPUT_STDOUT: sys.stderr.write("Error while parsing options: Invalid output target specified.\n") sys.exit(1) # Check how we were invoked and adjust output if sys.argv[0].endswith("pcp2csv"): self.output = OUTPUT_CSV if self.output == OUTPUT_ARCHIVE and not self.outfile: sys.stderr.write("Output archive must be defined with archive output.\n") sys.exit(1) if self.output == OUTPUT_ARCHIVE: outdir = os.path.dirname(self.outfile) if os.path.dirname(self.outfile) else "." if not os.access(outdir, os.W_OK|os.X_OK): sys.stderr.write("Output directory %s not accessible.\n" % outdir) sys.exit(1) # Set default width when needed if self.separate_header and not self.width: self.width = 8 # Adjustments and checks for overall rankings if not self.rank and (self.overall_rank or self.overall_rank_alt): sys.stderr.write("Overall ranking requires ranking enabled.\n") sys.exit(1) if self.overall_rank_alt: self.overall_rank = 1 if self.overall_rank and \ (self.context.type != PM_CONTEXT_ARCHIVE or self.output != OUTPUT_STDOUT): sys.stderr.write("Overall ranking supported only with archive input and stdout output.\n") sys.exit(1) if self.overall_rank: self.header = 0 self.colxrow = None self.predicate = None # Adjust header selection if self.output == OUTPUT_ARCHIVE: self.dynamic_header = 0 self.fixed_header = 0 if self.colxrow is None or self.output != OUTPUT_STDOUT: self.fixed_header = 0 if self.dynamic_header: self.fixed_header = 0 if self.fixed_header: self.dynamic_header = 0 if self.names_change == 2: self.fixed_header = 0 self.dynamic_header = 1 self.static_header = 1 not in (self.fixed_header, self.dynamic_header) self.pmconfig.validate_metrics(curr_insts=not self.live_filter) self.pmconfig.finalize_options() if self.sort_metric: for sort_metric in self.sort_metric.split(","): sort_metric = sort_metric[1:] if sort_metric[:1] == "-" else sort_metric if sort_metric not in self.metrics: sys.stderr.write("Sort reference metric %s not part of metrics.\n" % sort_metric) sys.exit(1) i = list(self.metrics.keys()).index(sort_metric) if self.pmconfig.insts[i][0][0] == PM_IN_NULL: sys.stderr.write("Sort reference metric must have instances.\n") sys.exit(1) def execute(self): """ Fetch and report """ # Debug if self.context.pmDebug(PM_DEBUG_APPL1): sys.stdout.write("Known config file keywords: " + str(self.keys) + "\n") sys.stdout.write("Known metric spec keywords: " + str(self.pmconfig.metricspec) + "\n") # Set delay mode, interpolation if self.context.type != PM_CONTEXT_ARCHIVE: self.delay = 1 self.interpol = 1 # Time self.localtz = self.context.get_current_tz() # Common preparations self.context.prepare_execute(self.opts, self.output == OUTPUT_ARCHIVE, self.interpol, self.interval) # Set output primitives if self.delimiter is None: if self.output == OUTPUT_CSV: self.delimiter = CSVSEP else: self.delimiter = OUTSEP if self.timefmt is None: if self.output == OUTPUT_CSV: self.timefmt = CSVTIME else: self.timefmt = OUTTIME if not self.timefmt: self.timestamp = 0 # Print preparation self.prepare_writer() if self.output == OUTPUT_STDOUT: self.prepare_stdout() # Headers if self.extheader == 1: self.write_extheader() if self.header == 1 and not self.dynamic_header: self.write_header() if self.header == 0: self.repeat_header = 0 if self.repeat_header == "auto" and (self.dynamic_header or self.fixed_header): self.repeat_header = 0 if self.repeat_header == "auto": self.set_auto_repeat_header() if self.repeat_header != "auto": try: signum = getattr(signal, "SIGWINCH") signal.signal(signum, self.set_auto_repeat_header) except Exception: pass else: adjust = 2 if not self.unitinfo else 3 if [x for x in self.pmconfig.descs if x.contents.indom != PM_INDOM_NULL]: adjust += 1 # Best guess with no terminal info available self.repeat_header = 24 - adjust # Just checking if self.check == 1: return # Daemonize when requested if self.daemonize == 1: self.opts.daemonize() # Align poll interval to host clock if self.context.type != PM_CONTEXT_ARCHIVE and self.opts.pmGetOptionAlignment(): align = float(self.opts.pmGetOptionAlignment()) - (time.time() % float(self.opts.pmGetOptionAlignment())) time.sleep(align) # Main loop refresh_metrics = 0 while self.samples != 0: # Refresh metrics as needed if refresh_metrics: refresh_metrics = 0 self.pmconfig.update_metrics(curr_insts=not self.live_filter) # Fetch values refresh_metrics = self.pmconfig.fetch() if refresh_metrics < 0: break # Repeat header if needed if self.output == OUTPUT_STDOUT and not self.dynamic_header: if (self.lines > 0 and self.repeat_header == self.lines) or \ (self.repeat_header_auto and self.lines >= self.repeat_header): self.write_header(True) self.lines = 0 self.lines += 1 # Report and prepare for the next round self.report(self.pmfg_ts()) if self.samples and self.samples > 0: self.samples -= 1 if self.delay and self.interpol and self.samples != 0: self.pmconfig.pause() # Allow to flush buffered values / say goodbye self.report(None) def report(self, tstamp): """ Report metric values """ if tstamp is not None: tstamp = tstamp.strftime(self.timefmt) if self.overall_rank: self.overall_ranking(tstamp) elif self.output == OUTPUT_ARCHIVE: self.write_archive(tstamp) elif self.output == OUTPUT_CSV: self.write_csv(tstamp) elif self.output == OUTPUT_STDOUT: self.write_stdout(tstamp) def prepare_writer(self): """ Prepare generic stdout writer """ if not self.writer: if self.output == OUTPUT_ARCHIVE or self.outfile is None: self.writer = sys.stdout else: self.writer = open(self.outfile, 'wt') def prepare_stdout(self): """ Prepare stdout output format """ if self.colxrow is None: self.prepare_stdout_std() else: self.prepare_stdout_colxrow() def prepare_stdout_std(self, results=()): """ Prepare standard/default stdout output format """ index = 0 if self.timestamp == 0: #self.format = "{:}{}" self.format = "{0:}{1}" index += 2 else: tstamp = datetime.fromtimestamp(time.time()).strftime(self.timefmt) #self.format = "{:<" + str(len(tstamp)) + "}{}" self.format = "{" + str(index) + ":<" + str(len(tstamp)) + "}" index += 1 self.format += "{" + str(index) + "}" index += 1 def prepare_line(index, l): """ Line prepare helper """ #self.format += "{:>" + l + "." + l + "}{}" self.format += "{" + str(index) + ":>" + l + "." + l + "}" index += 1 self.format += "{" + str(index) + "}" index += 1 if results: for i, metric in enumerate(results): for _ in range(len(results[metric])): prepare_line(index, str(self.metrics[metric][4])) index += 2 else: for i, metric in enumerate(self.metrics): for _ in range(len(self.pmconfig.insts[i][0])): prepare_line(index, str(self.metrics[metric][4])) index += 2 #self.format = self.format[:-2] l = len(str(index-1)) + 2 self.format = self.format[:-l] def prepare_stdout_colxrow(self, results=()): """ Prepare columns and rows swapped stdout output """ index = 0 # Timestamp if self.timestamp == 0: self.format = "{0:}{1}" index += 2 else: tstamp = datetime.fromtimestamp(time.time()).strftime(self.timefmt) self.format = "{0:<" + str(len(tstamp)) + "." + str(len(tstamp)) + "}{1}" index += 2 # Instance name if self.colxrow: self.format += "{2:>" + str(len(self.colxrow)) + "." + str(len(self.colxrow)) + "}{3}" else: self.format += "{2:>" + str(8) + "." + str(8) + "}{3}" index += 2 # Metrics / text labels self.labels = OrderedDict() # pylint: disable=attribute-defined-outside-init for i, metric in enumerate(self.metrics): if self.dynamic_header and results and not results[metric]: continue l = str(self.metrics[metric][4]) label = self.metrics[metric][0] if label in self.labels: self.labels[label].append((metric, i)) continue self.labels[label] = [(metric, i)] # Value truncated and aligned self.format += "{" + str(index) + ":>" + l + "." + l + "}" index += 1 # Dummy self.format += "{" + str(index) + "}" index += 1 # Drop the last dummy l = len(str(index-1)) + 2 self.format = self.format[:-l] # Collect the instances in play if self.static_header: for i in range(len(self.metrics)): for instance in self.pmconfig.insts[i][1]: if instance not in self.found_insts: self.found_insts.append(instance) else: seen = set() self.found_insts = [i[1] for metric in results for i in results[metric]] self.found_insts = [i for i in self.found_insts if not (i in seen or seen.add(i))] def set_auto_repeat_header(self, *_args): """ Set auto repeat header """ try: if hasattr(shutil, 'get_terminal_size'): lines = shutil.get_terminal_size().lines else: lines = int(os.popen('stty size', 'r').read().split()[0]) if self.colxrow is None: header = 2 if not self.unitinfo else 3 if [x for x in self.pmconfig.descs if x.contents.indom != PM_INDOM_NULL]: header += 1 self.repeat_header = lines - header else: header = 1 if not self.unitinfo else 2 instances = len(set([j for i in self.pmconfig.insts for j in i[0]])) # pylint: disable=consider-using-set-comprehension self.repeat_header = int(lines / instances) - header self.repeat_header_auto = 1 except Exception: pass def write_extheader(self): """ Write extended header """ if self.context.type == PM_CONTEXT_LOCAL: host = "localhost, using DSO PMDAs" else: host = self.context.pmGetContextHostName() timezone = self.context.posix_tz_to_utc_offset(self.context.get_current_tz(self.opts)) if timezone != self.context.posix_tz_to_utc_offset(self.localtz): timezone += " (reporting, current is " + self.context.posix_tz_to_utc_offset(self.localtz) + ")" origin = float(self.opts.pmGetOptionOrigin()) if self.opts.pmGetOptionOrigin() is not None else 0 if self.runtime != -1: duration = self.runtime samples = self.samples else: if self.samples: duration = (self.samples - 1) * float(self.interval) samples = self.samples else: duration = float(self.opts.pmGetOptionFinish()) - origin samples = int(duration / float(self.interval) + 1) samples = max(0, samples) duration = (samples - 1) * float(self.interval) duration = max(0, duration) endtime = origin + duration instances = sum([len(x[0]) for x in self.pmconfig.insts]) insts_txt = "instances" if instances != 1 else "instance" if not self.static_header: if self.context.type == PM_CONTEXT_ARCHIVE: insts_txt += " present in archive" else: insts_txt += " initially" if self.context.type == PM_CONTEXT_ARCHIVE and not self.interpol: duration = float(self.opts.pmGetOptionFinish()) - origin duration = max(0, duration) def secs_to_readable(seconds): """ Convert seconds to easily readable format """ seconds = float(math.floor((seconds) + math.copysign(0.5, seconds))) parts = str(timedelta(seconds=int(round(seconds)))).split(":") if len(parts[0]) == 1: parts[0] = "0" + parts[0] elif parts[0][-2] == " ": parts[0] = parts[0].rsplit(" ", 1)[0] + " 0" + parts[0].rsplit(" ", 1)[1] return ":".join(parts) if self.context.type == PM_CONTEXT_ARCHIVE: endtime = float(self.context.pmGetArchiveEnd()) if not self.interpol and self.opts.pmGetOptionSamples(): samples = str(samples) + " (requested)" elif not self.interpol: samples = "N/A" comm = "#" if self.output == OUTPUT_CSV else "" self.writer.write(comm + "\n") if self.context.type == PM_CONTEXT_ARCHIVE: self.writer.write(comm + " archive: " + self.source + "\n") self.writer.write(comm + " host: " + host + "\n") self.writer.write(comm + " timezone: " + timezone + "\n") self.writer.write(comm + " start: " + time.asctime(time.localtime(origin)) + "\n") self.writer.write(comm + " end: " + time.asctime(time.localtime(endtime)) + "\n") self.writer.write(comm + " metrics: " + str(len(self.metrics)) + " (" + str(instances) + " " + insts_txt + ")\n") self.writer.write(comm + " samples: " + str(samples) + "\n") if not (self.context.type == PM_CONTEXT_ARCHIVE and not self.interpol): self.writer.write(comm + " interval: " + str(float(self.interval)) + " sec\n") else: self.writer.write(comm + " interval: N/A\n") self.writer.write(comm + " duration: " + secs_to_readable(duration) + "\n") self.writer.write(comm + "\n") def get_results_iter(self, i, metric, results): """ Helper to get results iterators """ l = len(self.pmconfig.insts[i][0]) if not self.dynamic_header else len(results[metric]) r = self.pmconfig.insts[i][0] if not self.dynamic_header else results[metric] return zip(range(l), r) def get_instance_count(self, results): """ Helper to get number of instances of current results """ if self.static_header: if self.colxrow is None: c = len(str(sum([len(i[0]) for i in self.pmconfig.insts]))) else: c = len(str(len(self.metrics))) else: if self.colxrow is None: c = len(str(sum([len(results[i]) for i in results]))) else: c = len(str(len(results))) return c def get_labels_inst(self, i, j, n): """ Helper to get labels instance id reference """ if j is None: return None if self.dynamic_header: return None if n[0] == PM_IN_NULL else j return None if self.pmconfig.insts[i][0][0] == PM_IN_NULL else j def write_separate_header(self, results=()): """ Write separate header """ c = self.get_instance_count(results) + 1 def write_labels(metric, k, i, j, n, metric_only=False): """ Labels writer helper """ if self.include_labels: ins = None if metric_only else self.get_labels_inst(i, j, n) labels = self.pmconfig.get_labels_str(metric, ins, self.dynamic_header, True) write_line(metric, k, labels, True) def write_line(metric, k, name, label=False): """ Line writer helper """ line = "[" + str(k).rjust(c) + "] - " if label: self.writer.write(line + name + "\n") return line += metric if name: line += "[\"" + name + "\"]" if self.unitinfo: if self.metrics[metric][2][0]: line += " - " + self.metrics[metric][2][0] else: line += " - none" line += "\n" self.writer.write(line.format(str(k))) k = 0 if self.colxrow is None: for i, metric in enumerate(self.metrics): for j, n in self.get_results_iter(i, metric, results): k += 1 name = self.pmconfig.insts[i][1][j] if self.static_header else n[1] name = name if name is None else str(name) write_line(metric, k, name) write_labels(metric, k, i, j, n) else: for label in self.labels: k += 1 for metric, i in self.labels[label]: if self.fixed_header: write_line(metric, k, None) write_labels(metric, k, None, None, None, True) else: for j, n in self.get_results_iter(i, metric, results): name = self.pmconfig.insts[i][1][j] if not self.dynamic_header else n[1] name = name if name is None else str(name) write_line(metric, k, name) write_labels(metric, k, i, j, n) self.writer.write("\n") names = ["", self.delimiter] # no timestamp on header line if self.colxrow is not None: names.extend(["", self.delimiter]) # nothing for the instance column k = 0 for i, metric in enumerate(self.metrics): l = len(self.pmconfig.insts[i][0]) if not self.dynamic_header else len(results[metric]) for _ in range(l): k += 1 names.extend([str(k), self.delimiter]) del names[-1] self.writer.write(self.format.format(*names) + "\n") def write_header(self, repeat=False): """ Write info header """ if self.output == OUTPUT_ARCHIVE: self.write_header_archive() if self.output == OUTPUT_CSV: self.write_header_csv() if self.output == OUTPUT_STDOUT: self.write_header_stdout(repeat) def write_header_archive(self): """ Write info header for archive output """ self.writer.write("Recording %d metrics to %s" % (len(self.metrics), self.outfile)) if self.runtime != -1: self.writer.write(":\n%s samples(s) with %.1f sec interval ~ %d sec duration.\n" % (self.samples, float(self.interval), self.runtime)) elif self.samples: duration = (self.samples - 1) * float(self.interval) self.writer.write(":\n%s samples(s) with %.1f sec interval ~ %d sec duration.\n" % (self.samples, float(self.interval), duration)) else: self.writer.write("...") if self.context.type != PM_CONTEXT_ARCHIVE: self.writer.write(" (Ctrl-C to stop)") self.writer.write("\n") def write_header_csv(self, results=()): """ Write info header for CSV output """ if not self.header: return if self.extcsv: self.writer.write("Host,Interval,") self.writer.write("Time") for i, metric in enumerate(self.metrics): for j, n in self.get_results_iter(i, metric, results): name = metric if not self.dynamic_header: if self.pmconfig.descs[i].contents.indom != PM_INDOM_NULL: # Always mark metrics with instance domain name += "-" if self.pmconfig.insts[i][1][j]: # Append instance name when present name += self.pmconfig.insts[i][1][j] else: if self.pmconfig.descs[i].contents.indom != PM_INDOM_NULL: name += "-" + n[1] if self.delimiter: name = name.replace(self.delimiter, " ") name = name.replace("\n", " ").replace("\"", " ") self.writer.write(self.delimiter + "\"" + name + "\"") if self.include_labels: ins = j if not self.dynamic_header else n[0] labels = self.pmconfig.get_labels_str(metric, ins, self.dynamic_header, True) if self.delimiter: repl = ";" if self.delimiter == "," else "," labels = labels.replace(self.delimiter, repl) labels = labels.replace("\n", " ").replace("\"", " ") self.writer.write(self.delimiter + "\"" + labels + "\"") self.writer.write("\n") def write_header_stdout(self, repeat=False, results=()): """ Write info header for stdout output """ if not self.header: return if repeat: self.writer.write("\n") if self.separate_header: self.write_separate_header(results) return names = ["", self.delimiter] # no timestamp on header line insts = ["", self.delimiter] # no timestamp on instances line units = ["", self.delimiter] # no timestamp on units line mlabels = ["", self.delimiter] # no timestamp on metric labels line if self.colxrow is not None: names += [self.colxrow, self.delimiter] units += ["", self.delimiter] mlabels += ["", self.delimiter] prnti = 0 hlabels = [] # header labels def add_header_items(metric, name, i, j, n=[PM_IN_NULL]): # pylint: disable=dangerous-default-value """ Helper to add items to header """ names.extend([self.metrics[metric][0], self.delimiter]) insts.extend([name, self.delimiter]) units.extend([self.metrics[metric][2][0], self.delimiter]) if self.include_labels: ins = self.get_labels_inst(i, j, n) mlabels.append(self.pmconfig.get_labels_str(metric, ins, self.dynamic_header, True)) mlabels.append(self.delimiter) hlabels.append(self.metrics[metric][0]) for i, metric in enumerate(self.metrics): if self.colxrow is not None: if self.metrics[metric][0] in hlabels or \ (self.dynamic_header and results and not results[metric]): continue add_header_items(metric, None, i, None) continue prnti = 1 if self.pmconfig.descs[i].contents.indom != PM_INDOM_NULL else prnti if results: for inst, name, _ in results[metric]: name = name if prnti and name else self.delimiter j = None if not self.include_labels else list(self.metrics.keys()).index(metric) n = None if not self.include_labels else [x for x in results[metric] if x[0] == inst] add_header_items(metric, name, i, j, n[0] if n else None) # pylint: disable=unsubscriptable-object else: for j, n in self.get_results_iter(i, metric, results): name = self.pmconfig.insts[i][1][j] if prnti and self.pmconfig.insts[i][1][j] else self.delimiter add_header_items(metric, name, i, j, n) del names[-1] del units[-1] del insts[-1] del mlabels[-1] self.writer.write(self.format.format(*names) + "\n") if self.instinfo and prnti: self.writer.write(self.format.format(*insts) + "\n") if self.include_labels: self.writer.write(self.format.format(*mlabels) + "\n") if self.unitinfo: self.writer.write(self.format.format(*units) + "\n") def write_archive(self, timestamp): """ Write archive record """ if timestamp is None: # Complete and close self.pmi.pmiEnd() self.pmi = None return def record_metric_info(metric, i, inst=None): """ Helper to record metric info """ def record_labels(lid, i, inst, name, value): """ Helper to record labels """ try: pmid = self.pmconfig.pmids[i] if lid is PM_LABEL_DOMAIN: ident = pmapi.pmContext.pmID_domain(pmid) elif lid is PM_LABEL_INDOM: ident = self.pmconfig.descs[i].contents.indom elif lid is PM_LABEL_CLUSTER: ident = pmapi.pmContext.pmID_cluster(pmid) elif lid is PM_LABEL_ITEM: ident = pmapi.pmContext.pmID_item(pmid) else: ident = 0 self.pmi.pmiPutLabel(lid, ident, inst, name, str(value)) except Exception as pmierror: sys.stderr.write("pmiPutLabel failed: %s\n" % str(pmierror)) sys.exit(1) if inst in (None, PM_IN_NULL): self.pmi.pmiAddMetric(metric, self.pmconfig.pmids[i], self.pmconfig.descs[i].contents.type, self.pmconfig.descs[i].contents.indom, self.pmconfig.descs[i].contents.sem, self.pmconfig.descs[i].contents.units) if self.include_labels: for lid in self.pmconfig.labels[i][0]: for name, value in self.pmconfig.labels[i][0][lid].items(): record_labels(lid, i, PM_IN_NULL, name, value) if self.include_labels and inst not in (None, PM_IN_NULL): if inst in self.pmconfig.res_labels[metric][1]: for name, value in self.pmconfig.res_labels[metric][1][inst].items(): record_labels(PM_LABEL_INSTANCES, i, inst, name, value) if self.include_texts: try: if self.pmconfig.texts[i][0]: self.pmi.pmiPutText(PM_TEXT_PMID, PM_TEXT_ONELINE, self.pmconfig.pmids[i], self.pmconfig.texts[i][0]) if self.pmconfig.texts[i][1]: self.pmi.pmiPutText(PM_TEXT_PMID, PM_TEXT_HELP, self.pmconfig.pmids[i], self.pmconfig.texts[i][1]) if self.pmconfig.descs[i].contents.indom != PM_INDOM_NULL: if self.pmconfig.texts[i][2]: self.pmi.pmiPutText(PM_TEXT_INDOM, PM_TEXT_ONELINE, self.pmconfig.descs[i].contents.indom, self.pmconfig.texts[i][2]) if self.pmconfig.texts[i][3]: self.pmi.pmiPutText(PM_TEXT_INDOM, PM_TEXT_HELP, self.pmconfig.descs[i].contents.indom, self.pmconfig.texts[i][3]) except pmi.pmiErr as pmierror: if pmierror.errno() == PMI_ERR_DUPTEXT: # Ignore duplicate help texts pass if self.pmi is None: # Create a new archive self.pmi = pmi.pmiLogImport(self.outfile) self.prev_res = OrderedDict() # pylint: disable=attribute-defined-outside-init self.recorded = {} # pylint: disable=attribute-defined-outside-init if self.context.type == PM_CONTEXT_ARCHIVE: self.pmi.pmiSetHostname(self.context.pmGetArchiveLabel().hostname) self.pmi.pmiSetTimezone(self.context.get_current_tz(self.opts)) for i, metric in enumerate(self.metrics): self.recorded[metric] = [] record_metric_info(metric, i) # Add current values data = 0 # NB. We use valid_only=False to make sure that for every metric # requested their metadata will be recorded in the archive even # if their values are not available for whatever reason. results = self.pmconfig.get_ranked_results(valid_only=False) for i, metric in enumerate(results): if metric not in self.recorded: self.recorded[metric] = [] record_metric_info(metric, i) for inst, name, value in results[metric]: if inst != PM_IN_NULL and inst not in self.recorded[metric]: self.recorded[metric].append(inst) record_metric_info(metric, i, inst) try: self.pmi.pmiAddInstance(self.pmconfig.descs[i].contents.indom, name, inst) except pmi.pmiErr as pmierror: if pmierror.errno() == PMI_ERR_DUPINSTNAME: # Already added pass if self.pmconfig.descs[i].contents.sem == PM_SEM_DISCRETE and metric in self.prev_res: index = [idx for idx, (x, _, _) in enumerate(self.prev_res[metric]) if x == inst] if index and value == self.prev_res[metric][index[0]][2]: continue try: self.pmi.pmiPutValue(metric, name, str(value)) except pmi.pmiErr as pmierror: pass data = 1 self.prev_res = results # pylint: disable=attribute-defined-outside-init # Flush if data: self.pmi.pmiWrite(int(self.pmfg_ts().strftime('%s')), self.pmfg_ts().microsecond) def dynamic_header_update(self, results, line=None): """ Update dynamic header as needed """ if self.rank: for metric in results: results[metric] = sorted(results[metric], key=lambda x: x[0]) insts = [(metric, list(zip(*results[metric]))[0]) for metric in results if results[metric]] if self.fixed_header: self.prepare_stdout_colxrow(results) elif (insts and (self.repeat_header == self.lines or insts != self.prev_insts)) or \ (self.repeat_header_auto and self.lines >= self.repeat_header): if self.output == OUTPUT_CSV: self.write_header_csv(results) if self.output == OUTPUT_STDOUT: if self.colxrow is None: self.prepare_stdout_std(results) else: self.prepare_stdout_colxrow(results) self.write_header_stdout(self.prev_insts is not None, results) self.lines = 0 if not self.fixed_header: self.lines += 1 if not insts and line: self.format = "{0:}{1}{2:>" + str(self.width) + "}" line.extend([NO_VAL, self.delimiter]) self.prev_insts = insts def parse_non_number(self, value, width=8): """ Check and handle float inf, -inf, and NaN """ if math.isinf(value): if value > 0: value = "inf" if width >= 3 else pmconfig.TRUNC else: value = "-inf" if width >= 4 else pmconfig.TRUNC elif math.isnan(value): value = "NaN" if width >= 3 else pmconfig.TRUNC return value def remove_delimiter(self, value): """ Remove delimiter if needed in string values """ if isinstance(value, str) and self.delimiter and not self.delimiter.isspace(): if self.delimiter != "_": value = value.replace(self.delimiter, "_") else: value = value.replace(self.delimiter, " ") return value def write_csv(self, timestamp): """ Write results in CSV format """ if timestamp is None: # Silent goodbye return ts = self.context.datetime_to_secs(self.pmfg_ts(), PM_TIME_SEC) if self.prev_ts is None: self.prev_ts = ts if self.context.type == PM_CONTEXT_LOCAL: host = "localhost" else: host = self.context.pmGetContextHostName() self.csv_host = host + self.delimiter # pylint: disable=attribute-defined-outside-init self.csv_tz = " " + self.context.posix_tz_to_utc_offset(self.context.get_current_tz(self.opts)) # pylint: disable=attribute-defined-outside-init # Construct the results line = "" if self.extcsv: line += self.csv_host line += str(int(ts - self.prev_ts + 0.5)) + self.delimiter self.prev_ts = ts line += timestamp if self.extcsv: line += self.csv_tz results = self.pmconfig.get_ranked_results() if self.dynamic_header: self.dynamic_header_update(results) res = {} for i, metric in enumerate(results): for inst, _, value in results[metric]: res[metric + "+" + str(inst)] = value # Add corresponding values for each header column for i, metric in enumerate(self.metrics): fmt = "." + str(self.metrics[metric][6]) + "f" for j, n in self.get_results_iter(i, metric, results): line += self.delimiter try: ref = str(self.pmconfig.insts[i][0][j]) if not self.dynamic_header else str(n[0]) value = res[metric + "+" + ref] except Exception: continue if isinstance(value, str): value = self.remove_delimiter(value) value = value.replace("\n", " ").replace('"', " ") line += '"' + value + '"' if self.include_labels: line += self.delimiter line += '"' + value + '"' else: if isinstance(value, float): value = self.parse_non_number(value) if isinstance(value, float): value = format(value, fmt) line += str(value) if self.include_labels: line += self.delimiter line += str(value) self.writer.write(line + "\n") def format_stdout_value(self, value, width, precision, fmt, k): """ Format value for stdout output """ if isinstance(value, (int, long)): if len(str(value)) > width: value = pmconfig.TRUNC else: #fmt[k] = "{:" + str(width) + "d}" fmt[k] = "{X:" + str(width) + "d}" elif isinstance(value, float) and \ not math.isinf(value) and \ not math.isnan(value): s = len(str(int(value))) if s > width: value = pmconfig.TRUNC elif s + 2 > width: fmt[k] = "{X:" + str(width) + "d}" value = int(value) else: c = precision for _ in reversed(range(c+1)): t = "{0:" + str(width) + "." + str(c) + "f}" if len(t.format(value)) > width: c -= 1 else: #fmt[k] = t.replace("0:", ":") fmt[k] = t.replace("0:", "X:") break elif isinstance(value, str): value = self.remove_delimiter(value) value = value.replace("\n", "\\n") else: value = self.parse_non_number(value, width) return value def write_stdout(self, timestamp): """ Write line to stdout """ if self.colxrow is None: self.write_stdout_std(timestamp) else: self.write_stdout_colxrow(timestamp) def write_stdout_std(self, timestamp): """ Write line to standard formatted stdout """ if timestamp is None: # Silent goodbye return line = [] if self.timestamp == 0: line.append("") else: line.append(timestamp) line.append(self.delimiter) results = self.pmconfig.get_ranked_results() if self.dynamic_header: self.dynamic_header_update(results, line) #fmt = self.format.split("{}") fmt = re.split("{\\d+}", self.format) res = {} for i, metric in enumerate(results): for inst, _, value in results[metric]: res[metric + "+" + str(inst)] = value # Add corresponding values for each header column k = 0 for i, metric in enumerate(self.metrics): for j, n in self.get_results_iter(i, metric, results): k += 1 try: ref = str(self.pmconfig.insts[i][0][j]) if not self.dynamic_header else str(n[0]) value = res[metric + "+" + ref] value = self.format_stdout_value(value, self.metrics[metric][4], self.metrics[metric][6], fmt, k) except Exception: value = NO_VAL line.extend([value, self.delimiter]) del line[-1] #self.writer.write('{}'.join(fmt).format(*line) + "\n") index = 0 nfmt = "" for f in fmt: nfmt += f.replace("{X:", "{" + str(index) + ":") index += 1 nfmt += "{" + str(index) + "}" index += 1 l = len(str(index-1)) + 2 nfmt = nfmt[:-l] self.writer.write(nfmt.format(*line) + "\n") def write_stdout_colxrow(self, timestamp): """ Write line to columns and rows swapped stdout """ if timestamp is None: # Silent goodbye return # Avoid per-line I/O output = "" results = self.pmconfig.get_ranked_results() res = {} for i, metric in enumerate(results): for inst, name, value in results[metric]: if self.static_header: res[metric + "+" + str(inst)] = value else: res[metric + "+" + str(name)] = value if not self.static_header: self.dynamic_header_update(results) if self.sort_metric: found_insts = self.found_insts self.found_insts = [] for sort_metric in self.sort_metric.split(","): revs = sort_metric[:1] != "-" sort_metric = sort_metric if revs else sort_metric[1:] for r in sorted(results[sort_metric], key=lambda x: x[2], reverse=revs): if r[1] not in self.found_insts: self.found_insts.append(r[1]) self.found_insts.extend([i for i in found_insts if i not in self.found_insts]) # We need to construct each line independently for instance in self.found_insts: # Split on dummies fmt = re.split("{\\d+}", self.format) # Start a new line line = [] k = 0 # Add timestamp if wanted if self.timestamp == 0: line.append("") else: line.append(timestamp) line.append(self.delimiter) k += 1 # Add instance if instance: line.append(instance) else: line.append(SINGULR) line.append(self.delimiter) k += 1 for label in self.labels: found = 0 for metric, i in self.labels[label]: if found: break insts = self.pmconfig.insts[i][1] if self.static_header else self.found_insts if label == self.metrics[metric][0] and instance in insts: found = 1 try: if self.static_header: ref = self.pmconfig.insts[i][0][self.pmconfig.insts[i][1].index(instance)] else: ref = instance value = res[metric + "+" + str(ref)] value = self.format_stdout_value(value, self.metrics[metric][4], self.metrics[metric][6], fmt, k) except Exception: value = NO_VAL if self.static_header else NO_INST line.extend([value, self.delimiter]) k += 1 if not found: # Not an instance for this label, # add a placeholder and move on line.extend([NO_INST, self.delimiter]) k += 1 continue # Skip metric output when only unavailable instances if self.dynamic_header: values = set(line[4::2]) if len(values) == 1 and NO_INST in values: continue # Print the line in a Python 2.6 compatible manner del line[-1] index = 0 nfmt = "" for f in fmt: nfmt += f.replace("{X:", "{" + str(index) + ":") index += 1 nfmt += "{" + str(index) + "}" index += 1 l = len(str(index-1)) + 2 nfmt = nfmt[:-l] output += nfmt.format(*line) + "\n" if not output: line = [""] if self.timestamp == 0 else [timestamp] if self.dynamic_header: self.format = "{0:}{1}{2:>" + str(len(self.colxrow)) + "}" line.extend([self.delimiter, NO_VAL, self.delimiter]) else: line.extend([self.delimiter, NO_VAL]) for _ in range(len(self.metrics)): line.extend([self.delimiter, NO_INST]) output = self.format.format(*line) + "\n" self.writer.write(output) def overall_ranking(self, timestamp): """ Perform overall ranking """ if not hasattr(self, 'all_ranked'): self.all_ranked = OrderedDict() # pylint: disable=attribute-defined-outside-init if timestamp is None: # All results available, pretty print results in requested format m_len = i_len = u_len = v_len = 3 for metric in self.all_ranked: values = False for _, name, value in self.all_ranked[metric]: values = True name = name.replace("\n", " ") if name else name if name: i_len = i_len if len(name) < i_len else len(name) p = self.metrics[metric][6] if self.metrics[metric][4] > self.metrics[metric][6] else self.metrics[metric][4] numfmt = "." + str(p) + "f" value = format(value, numfmt) if isinstance(value, float) else str(value) v_len = v_len if len(value) < v_len else len(value) if values: m_len = m_len if len(metric) < m_len else len(metric) u_len = u_len if len(self.metrics[metric][2][0]) < u_len else len(self.metrics[metric][2][0]) d = self.delimiter for metric in self.all_ranked: alt_line = [] for _, name, value in self.all_ranked[metric]: name = name.replace("\n", " ") if name else name if not self.overall_rank_alt: line = [metric, d, "", d] if not name else [metric, d, name, d] line.append(self.metrics[metric][2][0]) p = self.metrics[metric][6] if self.metrics[metric][4] > self.metrics[metric][6] else self.metrics[metric][4] numfmt = "." + str(p) + "f" value = format(value, numfmt) if isinstance(value, float) else str(value) line.append(value) output = "{0:<" + str(m_len+1) + "}{1:<2}{2:<" + str(i_len+1) + "}" output += "{3:<2}{4:>" + str(u_len) + "} " + d + "{5:>" + str(v_len+1) + "}" else: if not alt_line: alt_line = [metric, ",,", ""] if not name else [metric, ",,\"'", name + "'\""] output = "{0}{1}{2}" else: alt_line[2] = alt_line[2][:-1] + ",'" + name + "'\"" if not self.overall_rank_alt: self.writer.write(output.format(*line) + "\n") if self.overall_rank_alt and alt_line: self.writer.write(output.format(*alt_line) + "\n") return results = self.pmconfig.get_ranked_results() if self.prev_insts is None: for i, metric in enumerate(results): if self.pmconfig.descs[i].contents.type != PM_TYPE_STRING: self.all_ranked[metric] = results[metric] self.prev_insts = [] revs = self.rank > 0 for i, metric in enumerate(results): if self.pmconfig.descs[i].contents.type == PM_TYPE_STRING: continue rank = abs(self.rank) if self.pmconfig.descs[i].contents.indom != PM_INDOM_NULL else 1 c, r, t = (0, [], []) for j in sorted(results[metric] + self.all_ranked[metric], key=lambda x: x[2], reverse=revs): if j[0] not in t and c < rank: c += 1 r.append(j) t.append(j[0]) self.all_ranked[metric] = r def finalize(self): """ Finalize and clean up """ if self.writer: try: self.writer.flush() except IOError as ioerror: if ioerror.errno != errno.EPIPE: raise error try: self.writer.close() except Exception: pass self.writer = None if self.pmi: self.pmi.pmiEnd() self.pmi = None if __name__ == '__main__': try: P = PMReporter() P.connect() P.validate_config() P.execute() P.finalize() except pmapi.pmErr as error: sys.stderr.write("%s: %s" % (error.progname(), error.message())) if error.message() == "Connection refused": sys.stderr.write("; is pmcd running?") sys.stderr.write("\n") sys.exit(1) except pmapi.pmUsageErr as usage: usage.message() sys.exit(1) except IOError as error: if error.errno != errno.EPIPE: sys.stderr.write("%s\n" % str(error)) sys.exit(1) except KeyboardInterrupt: sys.stdout.write("\n") P.finalize()