Linux v69820.1blu.de 4.15.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
Apache/2.4.58
Server IP : 195.90.215.149 & Your IP : 216.73.216.250
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
X11
[ DIR ]
drwxr-xr-x
2026-07-29 13:22
2to3-2.7
96
B
-rwxr-xr-x
2022-07-01 10:30
GET
15.87
KB
-rwxr-xr-x
2026-05-22 15:41
HEAD
15.87
KB
-rwxr-xr-x
2026-05-22 15:41
Mail
110.4
KB
-rwxr-xr-x
2024-04-08 15:54
POST
15.87
KB
-rwxr-xr-x
2026-05-22 15:41
[
54.44
KB
-rwxr-xr-x
2026-01-23 13:30
aa-enabled
18.3
KB
-rwxr-xr-x
2026-04-13 22:29
aa-exec
18.3
KB
-rwxr-xr-x
2026-04-13 22:29
aa-features-abi
18.3
KB
-rwxr-xr-x
2026-04-13 22:29
ab
58.43
KB
-rwxr-xr-x
2026-07-06 16:27
acorn
60
B
-rwxr-xr-x
2022-11-10 05:48
add-apt-repository
16.04
KB
-rwxr-xr-x
2026-01-05 16:17
addpart
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
addr2line
30.7
KB
-rwxr-xr-x
2026-02-09 21:03
agentxtrap
26.38
KB
-rwxr-xr-x
2026-01-06 12:41
amuFormat.sh
2.61
KB
-rwxr-xr-x
2024-04-08 16:13
apport-bug
2.27
KB
-rwxr-xr-x
2026-04-24 11:18
apport-cli
13.31
KB
-rwxr-xr-x
2026-04-28 17:12
apport-collect
2.27
KB
-rwxr-xr-x
2026-04-24 11:18
apport-unpack
3.7
KB
-rwxr-xr-x
2026-04-28 17:12
appres
14.3
KB
-rwxr-xr-x
2024-03-31 17:27
appstreamcli
138.23
KB
-rwxr-xr-x
2024-04-08 14:37
apropos
47.28
KB
-rwxr-xr-x
2024-04-08 14:45
apt
18.38
KB
-rwxr-xr-x
2024-10-22 13:02
apt-add-repository
16.04
KB
-rwxr-xr-x
2026-01-05 16:17
apt-cache
86.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-cdrom
26.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-config
30.39
KB
-rwxr-xr-x
2024-10-22 13:02
apt-extracttemplates
22.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-ftparchive
222.48
KB
-rwxr-xr-x
2024-10-22 13:02
apt-get
50.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-key
27.99
KB
-rwxr-xr-x
2024-10-22 13:02
apt-mark
54.47
KB
-rwxr-xr-x
2024-10-22 13:02
apt-sortpkgs
50.4
KB
-rwxr-xr-x
2024-10-22 13:02
aptdcon
1.01
KB
-rwxr-xr-x
2023-05-22 20:24
ar
54.48
KB
-rwxr-xr-x
2026-02-09 21:03
arborist
3.26
KB
-rwxr-xr-x
2023-11-23 07:39
arch
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
aria_chk
5.52
MB
-rwxr-xr-x
2025-10-11 02:08
aria_dump_log
5.31
MB
-rwxr-xr-x
2025-10-11 02:08
aria_ftdump
5.32
MB
-rwxr-xr-x
2025-10-11 02:08
aria_pack
5.35
MB
-rwxr-xr-x
2025-10-11 02:08
aria_read_log
5.48
MB
-rwxr-xr-x
2025-10-11 02:08
arping
26.15
KB
-rwxr-xr-x
2025-07-24 11:51
as
728.29
KB
-rwxr-xr-x
2026-02-09 21:03
aspell
150.48
KB
-rwxr-xr-x
2024-04-08 15:54
aspell-import
2
KB
-rwxr-xr-x
2024-04-08 15:54
awk
722.5
KB
-rwxr-xr-x
2026-07-20 22:38
b2sum
54.51
KB
-rwxr-xr-x
2026-01-23 13:30
babeljs
46
B
-rwxr-xr-x
2024-02-26 08:46
babeljs-7
46
B
-rwxr-xr-x
2024-02-26 08:46
babeljs-7-external-helpers
63
B
-rwxr-xr-x
2024-02-26 08:46
babeljs-7-node
51
B
-rwxr-xr-x
2024-02-26 08:46
babeljs-7-parser
328
B
-rwxr-xr-x
2024-02-26 08:46
babeljs-external-helpers
63
B
-rwxr-xr-x
2024-02-26 08:46
babeljs-node
51
B
-rwxr-xr-x
2024-02-26 08:46
babeljs-parser
328
B
-rwxr-xr-x
2024-02-26 08:46
base32
38.51
KB
-rwxr-xr-x
2026-01-23 13:30
base64
38.51
KB
-rwxr-xr-x
2026-01-23 13:30
basename
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
basenc
46.51
KB
-rwxr-xr-x
2026-01-23 13:30
bash
1.38
MB
-rwxr-xr-x
2024-03-31 08:41
bashbug
6.82
KB
-rwxr-xr-x
2024-03-31 08:41
bdftopcf
42.26
KB
-rwxr-xr-x
2024-04-08 16:22
bdftruncate
14.15
KB
-rwxr-xr-x
2024-04-08 16:22
broadwayd
122.3
KB
-rwxr-xr-x
2025-01-27 19:56
browse
25.46
KB
-rwxr-xr-x
2022-08-01 14:14
browserslist
4.25
KB
-rwxr-xr-x
2023-12-22 10:30
bsd-mailx
110.4
KB
-rwxr-xr-x
2024-04-08 15:54
bunzip2
38.38
KB
-rwxr-xr-x
2024-08-09 02:33
busctl
94.59
KB
-rwxr-xr-x
2026-06-05 15:36
bwrap
70.47
KB
-rwxr-xr-x
2024-09-23 18:15
bzcat
38.38
KB
-rwxr-xr-x
2024-08-09 02:33
bzcmp
2.17
KB
-rwxr-xr-x
2024-08-09 02:33
bzdiff
2.17
KB
-rwxr-xr-x
2024-08-09 02:33
bzegrep
3.69
KB
-rwxr-xr-x
2024-08-09 02:33
bzexe
4.78
KB
-rwxr-xr-x
2021-11-27 12:25
bzfgrep
3.69
KB
-rwxr-xr-x
2024-08-09 02:33
bzgrep
3.69
KB
-rwxr-xr-x
2024-08-09 02:33
bzip2
38.38
KB
-rwxr-xr-x
2024-08-09 02:33
bzip2recover
18.3
KB
-rwxr-xr-x
2024-08-09 02:33
bzless
1.27
KB
-rwxr-xr-x
2024-08-09 02:33
bzmore
1.27
KB
-rwxr-xr-x
2024-08-09 02:33
c++
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
c++filt
22.27
KB
-rwxr-xr-x
2026-02-09 21:03
c89
428
B
-rwxr-xr-x
2020-11-17 18:53
c89-gcc
428
B
-rwxr-xr-x
2020-11-17 18:53
c99
454
B
-rwxr-xr-x
2020-11-17 18:53
c99-gcc
454
B
-rwxr-xr-x
2020-11-17 18:53
c_rehash
6.68
KB
-rwxr-xr-x
2026-06-02 19:33
cal
36.95
KB
-rwxr-xr-x
2023-02-20 09:19
captoinfo
90.41
KB
-rwxr-xr-x
2026-06-30 21:25
cat
38.46
KB
-rwxr-xr-x
2026-01-23 13:30
catman
30.77
KB
-rwxr-xr-x
2024-04-08 14:45
cautious-launcher
758
B
-rwxr-xr-x
2026-07-02 14:59
cc
999.05
KB
-rwxr-xr-x
2025-12-18 20:59
certbot
958
B
-rwxr-xr-x
2024-02-09 01:14
cgi-fcgi
18.15
KB
-rwxr-xr-x
2025-04-30 08:36
chacl
18.3
KB
-rwxr-xr-x
2024-10-02 12:40
chage
70.49
KB
-rwxr-sr-x
2024-05-30 14:52
chardet
221
B
-rwxr-xr-x
2023-08-20 12:12
chardetect
221
B
-rwxr-xr-x
2023-08-20 12:12
chattr
14.31
KB
-rwxr-xr-x
2024-04-28 23:44
chcon
58.51
KB
-rwxr-xr-x
2026-01-23 13:30
checkgid
14.3
KB
-rwxr-xr-x
2026-07-06 16:27
chfn
71.09
KB
-rwsr-xr-x
2024-05-30 14:52
chgrp
58.51
KB
-rwxr-xr-x
2026-01-23 13:30
chmod
54.51
KB
-rwxr-xr-x
2026-01-23 13:30
choom
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
chown
58.51
KB
-rwxr-xr-x
2026-01-23 13:30
chrt
30.38
KB
-rwxr-xr-x
2026-03-06 16:00
chsh
43.71
KB
-rwsr-xr-x
2024-05-30 14:52
chvt
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
ckbcomp
147.14
KB
-rwxr-xr-x
2024-02-26 12:58
cksum
102.52
KB
-rwxr-xr-x
2026-01-23 13:30
clear
14.31
KB
-rwxr-xr-x
2026-06-30 21:25
clear_console
14.23
KB
-rwxr-xr-x
2024-03-31 08:41
cmp
42.39
KB
-rwxr-xr-x
2024-04-08 15:55
codepage
14.3
KB
-rwxr-xr-x
2024-03-31 09:02
col
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
colcrt
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
colrm
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
column
38.38
KB
-rwxr-xr-x
2026-03-06 16:00
comm
38.52
KB
-rwxr-xr-x
2026-01-23 13:30
compose
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
containerd
52.33
MB
-rwxr-xr-x
2024-06-18 19:00
containerd-shim
6.84
MB
-rwxr-xr-x
2024-06-18 19:00
containerd-shim-runc-v1
8.47
MB
-rwxr-xr-x
2024-06-18 19:00
containerd-shim-runc-v2
11.6
MB
-rwxr-xr-x
2024-06-18 19:00
corelist
15.01
KB
-rwxr-xr-x
2026-06-12 13:42
cp
138.52
KB
-rwxr-xr-x
2026-01-23 13:30
cpan
8.16
KB
-rwxr-xr-x
2026-06-12 13:42
cpan5.38-x86_64-linux-gnu
8.18
KB
-rwxr-xr-x
2026-06-12 13:42
cpio
137.67
KB
-rwxr-xr-x
2024-04-08 15:55
cpp
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
cpp-11
906.92
KB
-rwxr-xr-x
2025-12-18 07:26
cpp-12
1.33
MB
-rwxr-xr-x
2025-12-18 07:53
cpp-13
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
cpp-9
766.71
KB
-rwxr-xr-x
2026-01-12 02:59
crontab
38.73
KB
-rwxr-sr-x
2024-03-31 00:06
csh
455.8
KB
-rwxr-xr-x
2024-04-01 08:23
csplit
50.51
KB
-rwxr-xr-x
2026-01-23 13:30
ctr
26.93
MB
-rwxr-xr-x
2024-06-18 19:00
ctstat
22.66
KB
-rwxr-xr-x
2026-04-15 06:53
curl
290.32
KB
-rwxr-xr-x
2026-07-06 17:02
cut
38.51
KB
-rwxr-xr-x
2026-01-23 13:30
cvtsudoers
321.1
KB
-rwxr-xr-x
2026-03-02 12:56
dash
126.74
KB
-rwxr-xr-x
2024-03-31 08:47
date
106.51
KB
-rwxr-xr-x
2026-01-23 13:30
db5.3_archive
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_checkpoint
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_deadlock
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_dump
18.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_hotbackup
18.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_load
26.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_log_verify
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_printlog
34.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_recover
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_replicate
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_stat
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_tuner
22.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_upgrade
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db5.3_verify
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_archive
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_checkpoint
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_deadlock
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_dump
18.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_hotbackup
18.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_load
26.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_log_verify
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_printlog
34.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_recover
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_replicate
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_stat
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_upgrade
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
db_verify
14.02
KB
-rwxr-xr-x
2024-04-13 13:12
dbilogstrip
1.35
KB
-rwxr-xr-x
2026-06-22 07:05
dbiprof
6.06
KB
-rwxr-xr-x
2026-06-22 07:05
dbiproxy
5.27
KB
-rwxr-xr-x
2026-06-22 07:05
dbus-cleanup-sockets
14.29
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-daemon
230.64
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-launch
30.14
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-monitor
26.3
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-run-session
14.3
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-send
30.29
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-update-activation-environment
14.29
KB
-rwxr-xr-x
2024-08-09 02:33
dbus-uuidgen
14.29
KB
-rwxr-xr-x
2024-08-09 02:33
dd
70.54
KB
-rwxr-xr-x
2026-01-23 13:30
deallocvt
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
deb-systemd-helper
23.79
KB
-rwxr-xr-x
2023-12-06 07:46
deb-systemd-invoke
6.97
KB
-rwxr-xr-x
2023-12-06 07:47
debconf
2.8
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-apt-progress
11.57
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-communicate
623
B
-rwxr-xr-x
2024-04-12 12:40
debconf-copydb
1.68
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-escape
668
B
-rwxr-xr-x
2024-04-12 12:40
debconf-get-selections
1.72
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-getlang
6.94
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-loadtemplate
944
B
-rwxr-xr-x
2024-04-12 12:40
debconf-mergetemplate
5.09
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-set-selections
3.14
KB
-rwxr-xr-x
2024-04-12 12:40
debconf-show
1.78
KB
-rwxr-xr-x
2024-04-12 12:40
debian-distro-info
30.95
KB
-rwxr-xr-x
2024-04-08 15:56
delpart
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
desktop-file-edit
92.49
KB
-rwxr-xr-x
2024-03-31 08:47
desktop-file-install
92.49
KB
-rwxr-xr-x
2024-03-31 08:47
desktop-file-validate
80.77
KB
-rwxr-xr-x
2024-03-31 08:47
df
87.08
KB
-rwxr-xr-x
2026-01-23 13:30
dh_installxmlcatalogs
9.22
KB
-rwxr-xr-x
2023-12-12 02:01
dh_perl_dbi
1.17
KB
-rwxr-xr-x
2026-06-22 07:05
dh_perl_openssl
1.53
KB
-rwxr-xr-x
2022-05-01 18:31
dh_python3-ply
2.28
KB
-rwxr-xr-x
2018-07-25 07:05
dialog
254.66
KB
-rwxr-xr-x
2024-01-23 17:05
diff
134.55
KB
-rwxr-xr-x
2024-04-08 15:55
diff3
58.52
KB
-rwxr-xr-x
2024-04-08 15:55
dir
138.98
KB
-rwxr-xr-x
2026-01-23 13:30
dircolors
46.52
KB
-rwxr-xr-x
2026-01-23 13:30
dirmngr
473.77
KB
-rwxr-xr-x
2026-01-05 22:01
dirmngr-client
54.92
KB
-rwxr-xr-x
2026-01-05 22:01
dirname
34.38
KB
-rwxr-xr-x
2026-01-23 13:30
distro-info
26.89
KB
-rwxr-xr-x
2024-04-08 15:56
dmesg
68.64
KB
-rwxr-xr-x
2026-03-06 16:00
dnsdomainname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
dnssec-cds
51.39
KB
-rwxr-xr-x
2026-05-21 13:51
dnssec-dsfromkey
38.38
KB
-rwxr-xr-x
2026-05-21 13:51
dnssec-keyfromlabel
42.38
KB
-rwxr-xr-x
2026-05-21 13:51
dnssec-keygen
46.38
KB
-rwxr-xr-x
2026-05-21 13:51
dnssec-revoke
30.38
KB
-rwxr-xr-x
2026-05-21 13:51
dnssec-settime
46.38
KB
-rwxr-xr-x
2026-05-21 13:51
dnssec-signzone
90.41
KB
-rwxr-xr-x
2026-05-21 13:51
dnssec-verify
30.39
KB
-rwxr-xr-x
2026-05-21 13:51
do-release-upgrade
10.42
KB
-rwxr-xr-x
2026-01-19 15:31
docker
37.95
MB
-rwxr-xr-x
2024-06-29 00:02
docker-compose
996
B
-rwxr-xr-x
2024-03-09 10:48
docker-proxy
2.09
MB
-rwxr-xr-x
2024-06-29 00:02
dockerd
101.37
MB
-rwxr-xr-x
2024-06-29 00:02
dockerd-rootless-setuptool.sh
14.49
KB
-rwxr-xr-x
2024-06-29 00:02
dockerd-rootless.sh
7.08
KB
-rwxr-xr-x
2024-06-29 00:02
domainname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
dotlockfile
22.15
KB
-rwxr-sr-x
2024-04-08 16:05
dpkg
310.72
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-architecture
14.85
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-buildapi
1.79
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-buildflags
8.14
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-buildpackage
34.2
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-buildtree
1.88
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-checkbuilddeps
7.45
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-deb
142.58
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-distaddfile
2.72
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-divert
118.57
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-genbuildinfo
18.54
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-genchanges
17.92
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-gencontrol
14.29
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-gensymbols
10.66
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-maintscript-helper
20.71
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-mergechangelogs
8.87
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-name
6.61
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-parsechangelog
4.83
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-query
134.56
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-realpath
4.09
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-scanpackages
8.45
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-scansources
9.1
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-shlibdeps
31.46
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-source
23.05
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-split
98.53
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-statoverride
50.38
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-trigger
42.53
KB
-rwxr-xr-x
2026-05-06 17:38
dpkg-vendor
3.18
KB
-rwxr-xr-x
2026-05-06 17:38
dselect
222.58
KB
-rwxr-xr-x
2026-05-06 17:38
du
98.51
KB
-rwxr-xr-x
2026-01-23 13:30
dumpkeys
162.85
KB
-rwxr-xr-x
2024-03-31 09:02
dvipdf
1007
B
-rwxr-xr-x
2025-09-25 16:37
dwp
1.87
MB
-rwxr-xr-x
2026-02-09 21:03
echo
34.38
KB
-rwxr-xr-x
2026-01-23 13:30
ed
58.55
KB
-rwxr-xr-x
2024-02-17 11:12
edit
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
editor
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
editres
72.69
KB
-rwxr-xr-x
2024-03-31 17:27
egrep
41
B
-rwxr-xr-x
2024-04-08 15:58
eject
42.23
KB
-rwxr-xr-x
2026-03-06 16:00
elfedit
34.72
KB
-rwxr-xr-x
2026-02-09 21:03
enc2xs
40.96
KB
-rwxr-xr-x
2026-06-12 13:42
encguess
3
KB
-rwxr-xr-x
2026-06-12 13:42
enchant-2
22.3
KB
-rwxr-xr-x
2024-03-31 07:33
enchant-lsmod-2
14.3
KB
-rwxr-xr-x
2024-03-31 07:33
encode_keychange
22.3
KB
-rwxr-xr-x
2026-01-06 12:41
env
46.95
KB
-rwxr-xr-x
2026-01-23 13:30
envsubst
34.38
KB
-rwxr-xr-x
2024-04-08 15:58
eps2eps
639
B
-rwxr-xr-x
2025-09-25 16:37
epsffit
18.15
KB
-rwxr-xr-x
2024-02-17 18:37
eqn
188.45
KB
-rwxr-xr-x
2024-03-31 08:54
escodegen
2.65
KB
-rwxr-xr-x
2023-10-17 07:31
esgenerate
2.36
KB
-rwxr-xr-x
2023-10-17 07:31
eslint
2.57
KB
-rwxr-xr-x
2019-09-14 01:35
esparse
4.83
KB
-rwxr-xr-x
2018-06-16 14:36
esvalidate
7.56
KB
-rwxr-xr-x
2018-06-16 14:36
ex
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
expand
34.53
KB
-rwxr-xr-x
2026-01-23 13:30
expiry
26.52
KB
-rwxr-sr-x
2024-05-30 14:52
expr
42.41
KB
-rwxr-xr-x
2026-01-23 13:30
extractres
2.68
KB
-rwxr-xr-x
2024-02-17 18:37
factor
62.51
KB
-rwxr-xr-x
2026-01-23 13:30
faillog
22.63
KB
-rwxr-xr-x
2024-05-30 14:52
faked-sysv
30.39
KB
-rwxr-xr-x
2024-01-21 16:56
faked-tcp
34.38
KB
-rwxr-xr-x
2024-01-21 16:56
fakeroot
3.9
KB
-rwxr-xr-x
2024-01-21 16:56
fakeroot-sysv
3.9
KB
-rwxr-xr-x
2024-01-21 16:56
fakeroot-tcp
3.9
KB
-rwxr-xr-x
2024-01-21 16:56
fallocate
26.38
KB
-rwxr-xr-x
2026-03-06 16:00
false
26.3
KB
-rwxr-xr-x
2026-01-23 13:30
fc-cache
22.38
KB
-rwxr-xr-x
2024-03-31 00:59
fc-cat
18.38
KB
-rwxr-xr-x
2024-03-31 00:59
fc-conflist
14.38
KB
-rwxr-xr-x
2024-03-31 00:59
fc-list
14.38
KB
-rwxr-xr-x
2024-03-31 00:59
fc-match
14.38
KB
-rwxr-xr-x
2024-03-31 00:59
fc-pattern
14.38
KB
-rwxr-xr-x
2024-03-31 00:59
fc-query
14.38
KB
-rwxr-xr-x
2024-03-31 00:59
fc-scan
14.38
KB
-rwxr-xr-x
2024-03-31 00:59
fc-validate
14.38
KB
-rwxr-xr-x
2024-03-31 00:59
fcgistarter
14.3
KB
-rwxr-xr-x
2026-07-06 16:27
fetchmail
302.7
KB
-rwxr-xr-x
2025-10-08 11:40
fgconsole
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
fgrep
41
B
-rwxr-xr-x
2024-04-08 15:58
filan
50.48
KB
-rwxr-xr-x
2026-07-03 12:45
file
30.6
KB
-rwxr-xr-x
2024-03-31 07:35
find
199.48
KB
-rwxr-xr-x
2024-04-08 15:57
findmnt
67.66
KB
-rwxr-xr-x
2026-03-06 16:00
finger
30.63
KB
-rwxr-xr-x
2019-07-07 23:09
fixdlsrps
1.53
KB
-rwxr-xr-x
2024-02-17 18:37
fixfmps
599
B
-rwxr-xr-x
2024-02-17 18:37
fixproc
15.16
KB
-rwxr-xr-x
2026-01-06 12:41
fixpsditps
694
B
-rwxr-xr-x
2024-02-17 18:37
fixpspps
1.27
KB
-rwxr-xr-x
2024-02-17 18:37
fixscribeps
479
B
-rwxr-xr-x
2024-02-17 18:37
fixtpps
699
B
-rwxr-xr-x
2024-02-17 18:37
fixwfwps
857
B
-rwxr-xr-x
2024-02-17 18:37
fixwpps
732
B
-rwxr-xr-x
2024-02-17 18:37
fixwwps
427
B
-rwxr-xr-x
2024-02-17 18:37
flock
22.48
KB
-rwxr-xr-x
2026-03-06 16:00
fmt
38.51
KB
-rwxr-xr-x
2026-01-23 13:30
fold
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
fonttosfnt
38.16
KB
-rwxr-xr-x
2024-04-08 16:22
formail
46.58
KB
-rwxr-xr-x
2024-04-08 16:16
free
26.38
KB
-rwxr-xr-x
2024-09-26 08:44
fromdos
18.17
KB
-rwxr-xr-x
2023-01-24 20:47
ftp
182.9
KB
-rwxr-xr-x
2024-04-08 14:50
funzip
26.3
KB
-rwxr-xr-x
2024-10-02 13:29
fuser
39.34
KB
-rwxr-xr-x
2024-03-31 17:02
fusermount
38.38
KB
-rwsr-xr-x
2024-04-08 15:57
fusermount3
38.38
KB
-rwsr-xr-x
2024-04-08 15:57
g++
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
g++-13
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
galera_new_cluster
917
B
-rwxr-xr-x
2025-10-11 02:08
galera_recovery
3.29
KB
-rwxr-xr-x
2025-10-11 02:08
gapplication
22.38
KB
-rwxr-xr-x
2026-01-28 17:53
gawk
722.5
KB
-rwxr-xr-x
2026-07-20 22:38
gawkbug
6.74
KB
-rwxr-xr-x
2026-07-20 22:38
gcc
999.05
KB
-rwxr-xr-x
2025-12-18 20:59
gcc-11
906.92
KB
-rwxr-xr-x
2025-12-18 07:26
gcc-12
1.33
MB
-rwxr-xr-x
2025-12-18 07:53
gcc-13
999.05
KB
-rwxr-xr-x
2025-12-18 20:59
gcc-9
766.71
KB
-rwxr-xr-x
2026-01-12 02:59
gcc-ar
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
gcc-ar-11
26.59
KB
-rwxr-xr-x
2025-12-18 07:26
gcc-ar-12
34.7
KB
-rwxr-xr-x
2025-12-18 07:53
gcc-ar-13
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
gcc-ar-9
26.52
KB
-rwxr-xr-x
2026-01-12 02:59
gcc-nm
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
gcc-nm-11
26.59
KB
-rwxr-xr-x
2025-12-18 07:26
gcc-nm-12
34.7
KB
-rwxr-xr-x
2025-12-18 07:53
gcc-nm-13
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
gcc-nm-9
22.51
KB
-rwxr-xr-x
2026-01-12 02:59
gcc-ranlib
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
gcc-ranlib-11
26.59
KB
-rwxr-xr-x
2025-12-18 07:26
gcc-ranlib-12
34.7
KB
-rwxr-xr-x
2025-12-18 07:53
gcc-ranlib-13
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
gcc-ranlib-9
26.52
KB
-rwxr-xr-x
2026-01-12 02:59
gcore
3.43
KB
-rwxr-xr-x
2026-02-05 01:58
gcov
432.13
KB
-rwxr-xr-x
2025-12-18 20:59
gcov-11
400.05
KB
-rwxr-xr-x
2025-12-18 07:26
gcov-12
740.37
KB
-rwxr-xr-x
2025-12-18 07:53
gcov-13
432.13
KB
-rwxr-xr-x
2025-12-18 20:59
gcov-9
383.92
KB
-rwxr-xr-x
2026-01-12 02:59
gcov-dump
348.08
KB
-rwxr-xr-x
2025-12-18 20:59
gcov-dump-11
251.88
KB
-rwxr-xr-x
2025-12-18 07:26
gcov-dump-12
576.2
KB
-rwxr-xr-x
2025-12-18 07:53
gcov-dump-13
348.08
KB
-rwxr-xr-x
2025-12-18 20:59
gcov-dump-9
235.79
KB
-rwxr-xr-x
2026-01-12 02:59
gcov-tool
304.05
KB
-rwxr-xr-x
2025-12-18 20:59
gcov-tool-11
275.97
KB
-rwxr-xr-x
2025-12-18 07:26
gcov-tool-12
600.3
KB
-rwxr-xr-x
2025-12-18 07:53
gcov-tool-13
304.05
KB
-rwxr-xr-x
2025-12-18 20:59
gcov-tool-9
267.86
KB
-rwxr-xr-x
2026-01-12 02:59
gcr-viewer
14.37
KB
-rwxr-xr-x
2024-04-08 14:39
gcr-viewer-gtk4
30.37
KB
-rwxr-xr-x
2024-04-04 14:50
gdb
8.51
MB
-rwxr-xr-x
2026-02-05 01:58
gdb-add-index
4.52
KB
-rwxr-xr-x
2026-02-05 01:58
gdbtui
126
B
-rwxr-xr-x
2026-02-05 01:58
gdbus
50.38
KB
-rwxr-xr-x
2026-01-28 17:53
gdk-pixbuf-csource
14.33
KB
-rwxr-xr-x
2026-04-02 13:40
gdk-pixbuf-pixdata
14.31
KB
-rwxr-xr-x
2026-04-02 13:40
gdk-pixbuf-thumbnailer
18.39
KB
-rwxr-xr-x
2026-04-02 13:40
gencat
26.44
KB
-rwxr-xr-x
2026-07-23 17:18
geqn
188.45
KB
-rwxr-xr-x
2024-03-31 08:54
getafm
6.18
KB
-rwxr-xr-x
2024-02-17 18:37
getconf
26.36
KB
-rwxr-xr-x
2026-07-23 17:18
getent
38.72
KB
-rwxr-xr-x
2026-07-23 17:18
getfacl
30.38
KB
-rwxr-xr-x
2024-10-02 12:40
getkeycodes
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
getopt
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
gettext
34.38
KB
-rwxr-xr-x
2024-04-08 15:58
gettext.sh
5.07
KB
-rwxr-xr-x
2024-04-08 15:58
gettextize
41.28
KB
-rwxr-xr-x
2024-04-08 15:58
ghostscript
14.15
KB
-rwxr-xr-x
2025-09-25 16:37
ginstall-info
47.24
KB
-rwxr-xr-x
2024-03-30 23:49
gio
102.4
KB
-rwxr-xr-x
2026-01-28 17:53
gio-querymodules
18.3
KB
-rwxr-xr-x
2026-01-28 17:53
git
3.88
MB
-rwxr-xr-x
2025-07-02 20:23
git-receive-pack
3.88
MB
-rwxr-xr-x
2025-07-02 20:23
git-shell
624.81
KB
-rwxr-xr-x
2025-07-02 20:23
git-upload-archive
3.88
MB
-rwxr-xr-x
2025-07-02 20:23
git-upload-pack
3.88
MB
-rwxr-xr-x
2025-07-02 20:23
glib-compile-schemas
54.3
KB
-rwxr-xr-x
2026-01-28 17:53
gmake
253.72
KB
-rwxr-xr-x
2024-04-08 16:12
gnome-help
58.23
KB
-rwxr-xr-x
2025-04-17 14:58
gnome-keyring
22.54
KB
-rwxr-xr-x
2026-03-10 16:24
gnome-keyring-3
22.54
KB
-rwxr-xr-x
2026-03-10 16:24
gnome-keyring-daemon
965.32
KB
-rwxr-xr-x
2026-03-10 16:24
gnome-session
953
B
-rwxr-xr-x
2024-04-15 15:49
gnome-session-inhibit
22.31
KB
-rwxr-xr-x
2024-04-15 15:49
gnome-session-properties
62.26
KB
-rwxr-xr-x
2024-04-15 15:49
gnome-session-quit
14.61
KB
-rwxr-xr-x
2024-04-15 15:49
gnome-terminal
3.32
KB
-rwxr-xr-x
2024-03-31 06:13
gnome-terminal.real
87.7
KB
-rwxr-xr-x
2024-03-31 06:13
gnome-terminal.wrapper
2.65
KB
-rwxr-xr-x
2024-03-18 17:15
gold
3.07
MB
-rwxr-xr-x
2026-02-09 21:03
gp-archive
158.53
KB
-rwxr-xr-x
2026-02-09 21:03
gp-collect-app
174.37
KB
-rwxr-xr-x
2026-02-09 21:03
gp-display-html
626.89
KB
-rwxr-xr-x
2026-02-09 21:03
gp-display-src
150.35
KB
-rwxr-xr-x
2026-02-09 21:03
gp-display-text
290.37
KB
-rwxr-xr-x
2026-02-09 21:03
gpasswd
74.46
KB
-rwsr-xr-x
2024-05-30 14:52
gpg
1.09
MB
-rwxr-xr-x
2026-01-05 22:01
gpg-agent
357.52
KB
-rwxr-xr-x
2026-01-05 22:01
gpg-connect-agent
87.3
KB
-rwxr-xr-x
2026-01-05 22:01
gpg-wks-client
139.37
KB
-rwxr-xr-x
2026-01-05 22:01
gpg-wks-server
123.05
KB
-rwxr-xr-x
2026-01-05 22:01
gpgconf
115.36
KB
-rwxr-xr-x
2026-01-05 22:01
gpgparsemail
34.38
KB
-rwxr-xr-x
2026-01-05 22:01
gpgsm
501.37
KB
-rwxr-xr-x
2026-01-05 22:01
gpgsplit
26.62
KB
-rwxr-xr-x
2026-01-05 22:01
gpgtar
67.83
KB
-rwxr-xr-x
2026-01-05 22:01
gpgv
303.14
KB
-rwxr-xr-x
2026-01-05 22:01
gpic
196.06
KB
-rwxr-xr-x
2024-03-31 08:54
gprof
99.79
KB
-rwxr-xr-x
2026-02-09 21:03
gprofng
138.35
KB
-rwxr-xr-x
2026-02-09 21:03
gpu-manager
78.82
KB
-rwxr-xr-x
2026-03-18 05:59
grep
182.45
KB
-rwxr-xr-x
2024-04-08 15:58
gresource
22.3
KB
-rwxr-xr-x
2026-01-28 17:53
groff
94.51
KB
-rwxr-xr-x
2024-03-31 08:54
grog
18.75
KB
-rwxr-xr-x
2024-03-31 08:54
grops
162.55
KB
-rwxr-xr-x
2024-03-31 08:54
grotty
118.51
KB
-rwxr-xr-x
2024-03-31 08:54
groups
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
gs
14.15
KB
-rwxr-xr-x
2025-09-25 16:37
gsbj
350
B
-rwxr-xr-x
2025-09-25 16:37
gsdj
352
B
-rwxr-xr-x
2025-09-25 16:37
gsdj500
352
B
-rwxr-xr-x
2025-09-25 16:37
gsettings
30.3
KB
-rwxr-xr-x
2026-01-28 17:53
gslj
353
B
-rwxr-xr-x
2025-09-25 16:37
gslp
350
B
-rwxr-xr-x
2025-09-25 16:37
gsnd
277
B
-rwxr-xr-x
2025-09-25 16:37
gtbl
134.48
KB
-rwxr-xr-x
2024-03-31 08:54
gtk-builder-tool
34.73
KB
-rwxr-xr-x
2025-01-27 19:56
gtk-encode-symbolic-svg
18.41
KB
-rwxr-xr-x
2025-01-27 19:56
gtk-launch
18.46
KB
-rwxr-xr-x
2025-01-27 19:56
gtk-query-settings
14.3
KB
-rwxr-xr-x
2025-01-27 19:56
gtk-update-icon-cache
38.57
KB
-rwxr-xr-x
2025-01-27 19:56
gtk4-broadwayd
138.31
KB
-rwxr-xr-x
2026-03-17 14:21
gtk4-builder-tool
74.71
KB
-rwxr-xr-x
2026-03-17 14:21
gtk4-encode-symbolic-svg
11.35
MB
-rwxr-xr-x
2026-03-17 14:21
gtk4-launch
18.46
KB
-rwxr-xr-x
2026-03-17 14:21
gtk4-path-tool
50.38
KB
-rwxr-xr-x
2026-03-17 14:21
gtk4-query-settings
14.3
KB
-rwxr-xr-x
2026-03-17 14:21
gtk4-rendernode-tool
38.3
KB
-rwxr-xr-x
2026-03-17 14:21
gtk4-update-icon-cache
38.73
KB
-rwxr-xr-x
2026-03-17 14:21
gunzip
2.29
KB
-rwxr-xr-x
2026-07-03 11:53
gyp
932
B
-rwxr-xr-x
2022-07-16 12:04
gzexe
6.33
KB
-rwxr-xr-x
2026-07-03 11:53
gzip
91.23
KB
-rwxr-xr-x
2026-07-03 11:53
h2ph
28.54
KB
-rwxr-xr-x
2026-06-12 13:42
h2xs
59.51
KB
-rwxr-xr-x
2026-06-12 13:42
handlebars
4.14
KB
-rwxr-xr-x
2021-12-13 11:49
hardlink
46.48
KB
-rwxr-xr-x
2026-03-06 16:00
hd
46.39
KB
-rwxr-xr-x
2026-03-06 16:00
head
42.51
KB
-rwxr-xr-x
2026-01-23 13:30
helpztags
2.46
KB
-rwxr-xr-x
2026-06-15 22:15
hexdump
46.39
KB
-rwxr-xr-x
2026-03-06 16:00
hostid
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
hostname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
hostnamectl
30.45
KB
-rwxr-xr-x
2026-06-05 15:36
htcacheclean
34.31
KB
-rwxr-xr-x
2026-07-06 16:27
htdbm
26.3
KB
-rwxr-xr-x
2026-07-06 16:27
htdigest
14.3
KB
-rwxr-xr-x
2026-07-06 16:27
htop
370.33
KB
-rwxr-xr-x
2024-04-08 15:59
htpasswd
26.3
KB
-rwxr-xr-x
2026-07-06 16:27
hwe-support-status
11.24
KB
-rwxr-xr-x
2025-04-25 13:16
i386
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
iceauth
42.42
KB
-rwxr-xr-x
2024-03-31 17:27
iconv
66.48
KB
-rwxr-xr-x
2026-07-23 17:18
id
38.51
KB
-rwxr-xr-x
2026-01-23 13:30
includeres
1.43
KB
-rwxr-xr-x
2024-02-17 18:37
inetutils-telnet
177.85
KB
-rwxr-xr-x
2026-06-04 13:25
info
241.73
KB
-rwxr-xr-x
2024-03-30 23:49
infobrowser
241.73
KB
-rwxr-xr-x
2024-03-30 23:49
infocmp
66.38
KB
-rwxr-xr-x
2026-06-30 21:25
infotocap
90.41
KB
-rwxr-xr-x
2026-06-30 21:25
innochecksum
4.57
MB
-rwxr-xr-x
2025-10-11 02:08
innotop
445.71
KB
-rwxr-xr-x
2025-10-11 02:08
install
142.52
KB
-rwxr-xr-x
2026-01-23 13:30
install-info
47.24
KB
-rwxr-xr-x
2024-03-30 23:49
instmodsh
4.27
KB
-rwxr-xr-x
2026-06-12 13:42
ionice
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
ip
754.8
KB
-rwxr-xr-x
2026-04-15 06:53
ipcmk
22.45
KB
-rwxr-xr-x
2026-03-06 16:00
ipcrm
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
ipcs
38.38
KB
-rwxr-xr-x
2026-03-06 16:00
iptables-xml
92.95
KB
-rwxr-xr-x
2024-04-08 15:59
ischroot
14.48
KB
-rwxr-xr-x
2024-03-31 08:47
ispell-wrapper
7.05
KB
-rwxr-xr-x
2023-09-07 08:57
isql
34.3
KB
-rwxr-xr-x
2024-06-03 13:23
istanbul
2.45
KB
-rwxr-xr-x
2023-08-21 05:40
itox
26.3
KB
-rwxr-xr-x
2024-04-01 08:35
iusql
30.3
KB
-rwxr-xr-x
2024-06-03 13:23
join
50.55
KB
-rwxr-xr-x
2026-01-23 13:30
journalctl
78.91
KB
-rwxr-xr-x
2026-06-05 15:36
js
26.08
KB
-rwxr-xr-x
2024-04-18 19:08
js-yaml
2.67
KB
-rwxr-xr-x
2022-10-26 12:30
jsesc
3.74
KB
-rwxr-xr-x
2022-02-13 07:54
json5
3.51
KB
-rwxr-xr-x
2023-01-25 01:13
json_pp
4.88
KB
-rwxr-xr-x
2026-06-12 13:42
jsonpointer
1.79
KB
-rwxr-xr-x
2020-01-24 03:25
jsonschema
213
B
-rwxr-xr-x
2023-08-14 21:45
kbd_mode
14.66
KB
-rwxr-xr-x
2024-03-31 09:02
kbdinfo
18.37
KB
-rwxr-xr-x
2024-03-31 09:02
kbxutil
62.83
KB
-rwxr-xr-x
2026-01-05 22:01
kernel-install
54.67
KB
-rwxr-xr-x
2026-06-05 15:36
kill
22.38
KB
-rwxr-xr-x
2024-09-26 08:44
killall
31.34
KB
-rwxr-xr-x
2024-03-31 17:02
kmod
170.24
KB
-rwxr-xr-x
2026-04-30 12:32
last
34.38
KB
-rwxr-xr-x
2026-03-06 16:00
lastb
34.38
KB
-rwxr-xr-x
2026-03-06 16:00
lastlog
27.79
KB
-rwxr-xr-x
2024-05-30 14:52
lcf
7.6
KB
-rwxr-xr-x
2023-01-27 13:29
ld
1.3
MB
-rwxr-xr-x
2026-02-09 21:03
ld.bfd
1.3
MB
-rwxr-xr-x
2026-02-09 21:03
ld.gold
3.07
MB
-rwxr-xr-x
2026-02-09 21:03
ld.so
231.07
KB
-rwxr-xr-x
2026-07-23 17:18
ldapadd
66.45
KB
-rwxr-xr-x
2025-09-23 16:26
ldapcompare
66.45
KB
-rwxr-xr-x
2025-09-23 16:26
ldapdelete
66.47
KB
-rwxr-xr-x
2025-09-23 16:26
ldapexop
66.45
KB
-rwxr-xr-x
2025-09-23 16:26
ldapmodify
66.45
KB
-rwxr-xr-x
2025-09-23 16:26
ldapmodrdn
62.45
KB
-rwxr-xr-x
2025-09-23 16:26
ldappasswd
66.45
KB
-rwxr-xr-x
2025-09-23 16:26
ldapsearch
98.48
KB
-rwxr-xr-x
2025-09-23 16:26
ldapurl
14.3
KB
-rwxr-xr-x
2025-09-23 16:26
ldapwhoami
62.45
KB
-rwxr-xr-x
2025-09-23 16:26
ldd
5.26
KB
-rwxr-xr-x
2026-07-23 17:18
less
190.38
KB
-rwxr-xr-x
2024-04-28 11:44
lessecho
14.31
KB
-rwxr-xr-x
2024-04-28 11:44
lessfile
8.83
KB
-rwxr-xr-x
2023-02-12 10:17
lesskey
23.7
KB
-rwxr-xr-x
2024-04-28 11:44
lesspipe
8.83
KB
-rwxr-xr-x
2023-02-12 10:17
letsencrypt
958
B
-rwxr-xr-x
2024-02-09 01:14
lexgrog
99.51
KB
-rwxr-xr-x
2024-04-08 14:45
lft
2.43
KB
-rwxr-xr-x
2023-12-25 07:29
lft.db
2.43
KB
-rwxr-xr-x
2023-12-25 07:29
libnetcfg
15.41
KB
-rwxr-xr-x
2026-06-12 13:42
link
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
linux-check-removal
3.99
KB
-rwxr-xr-x
2026-02-18 06:21
linux-update-symlinks
6.17
KB
-rwxr-xr-x
2026-02-18 06:21
linux-version
2.63
KB
-rwxr-xr-x
2026-02-18 06:21
linux32
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
linux64
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
listres
14.73
KB
-rwxr-xr-x
2024-03-31 17:27
ln
54.51
KB
-rwxr-xr-x
2026-01-23 13:30
lnstat
22.66
KB
-rwxr-xr-x
2026-04-15 06:53
loadkeys
202.9
KB
-rwxr-xr-x
2024-03-31 09:02
loadunimap
34.46
KB
-rwxr-xr-x
2024-03-31 09:02
locale
49.63
KB
-rwxr-xr-x
2026-07-23 17:18
locale-check
14.15
KB
-rwxr-xr-x
2026-02-06 07:23
localectl
26.45
KB
-rwxr-xr-x
2026-06-05 15:36
localedef
319.09
KB
-rwxr-xr-x
2026-07-23 17:18
locate
306.55
KB
-rwxr-sr-x
2024-04-18 17:53
lockfile
18.3
KB
-rwxr-sr-x
2024-04-08 16:16
logger
38.97
KB
-rwxr-xr-x
2026-03-06 16:00
login
51.81
KB
-rwxr-xr-x
2024-05-30 14:52
loginctl
66.58
KB
-rwxr-xr-x
2026-06-05 15:36
logname
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
logresolve
14.31
KB
-rwxr-xr-x
2026-07-06 16:27
look
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
lowntfs-3g
118.98
KB
-rwxr-xr-x
2026-07-11 15:55
ls
138.98
KB
-rwxr-xr-x
2026-01-23 13:30
lsattr
14.31
KB
-rwxr-xr-x
2024-04-28 23:44
lsb_release
2.59
KB
-rwxr-xr-x
2023-07-05 15:34
lsblk
146.38
KB
-rwxr-xr-x
2026-03-06 16:00
lscpu
110.38
KB
-rwxr-xr-x
2026-03-06 16:00
lsdev
1.56
KB
-rwxr-xr-x
2022-11-27 21:34
lsinitramfs
735
B
-rwxr-xr-x
2024-04-22 10:21
lsipc
50.38
KB
-rwxr-xr-x
2026-03-06 16:00
lslocks
30.77
KB
-rwxr-xr-x
2026-03-06 16:00
lslogins
50.38
KB
-rwxr-xr-x
2026-03-06 16:00
lsmem
38.38
KB
-rwxr-xr-x
2026-03-06 16:00
lsmod
170.24
KB
-rwxr-xr-x
2026-04-30 12:32
lsns
42.38
KB
-rwxr-xr-x
2026-03-06 16:00
lsof
171.66
KB
-rwxr-xr-x
2024-03-31 09:13
lspci
100.11
KB
-rwxr-xr-x
2024-04-08 16:15
lspgpot
1.06
KB
-rwxr-xr-x
2023-04-04 08:28
lsusb
246.52
KB
-rwxr-xr-x
2024-04-08 16:21
lto-dump
27.99
MB
-rwxr-xr-x
2025-12-18 20:59
lto-dump-11
24.01
MB
-rwxr-xr-x
2025-12-18 07:26
lto-dump-12
31.09
MB
-rwxr-xr-x
2025-12-18 07:53
lto-dump-13
27.99
MB
-rwxr-xr-x
2025-12-18 20:59
lwp-download
10.05
KB
-rwxr-xr-x
2026-05-22 15:41
lwp-dump
2.65
KB
-rwxr-xr-x
2026-05-22 15:41
lwp-mirror
2.36
KB
-rwxr-xr-x
2026-05-22 15:41
lwp-request
15.87
KB
-rwxr-xr-x
2026-05-22 15:41
lynx
1.91
MB
-rwxr-xr-x
2024-04-01 06:53
lz
2.48
KB
-rwxr-xr-x
2024-04-08 16:13
lzcat
126.47
KB
-rwxr-xr-x
2020-12-27 23:52
lzma
126.47
KB
-rwxr-xr-x
2020-12-27 23:52
lzmainfo
14.38
KB
-rwxr-xr-x
2026-05-28 16:06
lzmp
126.47
KB
-rwxr-xr-x
2020-12-27 23:52
m4
238.37
KB
-rwxr-xr-x
2024-04-08 16:12
mail
110.4
KB
-rwxr-xr-x
2024-04-08 15:54
mailq
1.45
MB
-rwsr-xr-x
2026-07-17 15:24
mailstat
5.67
KB
-rwxr-xr-x
2024-04-08 16:16
mailx
110.4
KB
-rwxr-xr-x
2024-04-08 15:54
make
253.72
KB
-rwxr-xr-x
2024-04-08 16:12
make-first-existing-target
4.79
KB
-rwxr-xr-x
2024-04-08 16:12
man
125.41
KB
-rwxr-xr-x
2024-04-08 14:45
man-recode
35.4
KB
-rwxr-xr-x
2024-04-08 14:45
mandb
143.67
KB
-rwxr-xr-x
2024-04-08 14:45
manpath
26.78
KB
-rwxr-xr-x
2024-04-08 14:45
mapscrn
30.46
KB
-rwxr-xr-x
2024-03-31 09:02
mariadb
5.07
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-access
109.31
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-admin
4.85
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-analyze
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-binlog
5.13
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-check
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-conv
4.56
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-dump
4.93
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-find-rows
3.21
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-fix-extensions
1.22
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-hotcopy
34.53
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-import
4.83
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-install-db
22.13
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-optimize
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-plugin
4.54
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-repair
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-report
49.02
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-secure-installation
13.49
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-service-convert
2.45
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-setpermission
17.56
KB
-rwxr-xr-x
2025-10-11 02:08
mariadb-show
4.83
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-slap
4.85
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-tzinfo-to-sql
4.53
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-upgrade
4.97
MB
-rwxr-xr-x
2025-10-11 02:08
mariadb-waitpid
4.53
MB
-rwxr-xr-x
2025-10-11 02:08
mariadbcheck
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mariadbd-multi
26.69
KB
-rwxr-xr-x
2025-10-11 02:08
mariadbd-safe
30.42
KB
-rwxr-xr-x
2025-10-11 02:08
mariadbd-safe-helper
4.49
MB
-rwxr-xr-x
2025-10-11 02:08
mattrib
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mawk
166.77
KB
-rwxr-xr-x
2024-04-08 16:12
mbadblocks
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mcat
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mcd
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mcheck
1.64
KB
-rwxr-xr-x
2024-04-08 16:13
mcomp
847
B
-rwxr-xr-x
2024-04-08 16:13
mcookie
26.45
KB
-rwxr-xr-x
2026-03-06 16:00
mcopy
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
md5sum
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
md5sum.textutils
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
mdel
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mdeltree
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mdir
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mdu
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mesa-overlay-control.py
5.59
KB
-rwxr-xr-x
2025-12-04 07:30
mesg
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
mformat
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
migrate-pubring-from-classic-gpg
3.02
KB
-rwxr-xr-x
2024-03-01 08:25
mimeopen
9.34
KB
-rwxr-xr-x
2023-12-06 16:32
mimetype
12.76
KB
-rwxr-xr-x
2023-12-06 16:32
minfo
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mk_modmap
15.78
KB
-rwxr-xr-x
2024-03-31 09:02
mkdir
74.51
KB
-rwxr-xr-x
2026-01-23 13:30
mkfifo
42.51
KB
-rwxr-xr-x
2026-01-23 13:30
mkfontdir
65
B
-rwxr-xr-x
2024-04-08 16:22
mkfontscale
42.67
KB
-rwxr-xr-x
2024-04-08 16:22
mkmanifest
14.38
KB
-rwxr-xr-x
2024-04-08 16:13
mknod
42.51
KB
-rwxr-xr-x
2026-01-23 13:30
mkpasswd
26.38
KB
-rwxr-xr-x
2024-04-01 18:14
mksquashfs
286.95
KB
-rwxr-xr-x
2024-04-08 16:20
mktemp
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
mlabel
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mmd
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mmount
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mmove
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
more
46.38
KB
-rwxr-xr-x
2026-03-06 16:00
mount
50.38
KB
-rwsr-xr-x
2026-03-06 16:00
mountpoint
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
mpartition
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mrd
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mren
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
msgattrib
26.38
KB
-rwxr-xr-x
2024-04-08 15:58
msgcat
26.38
KB
-rwxr-xr-x
2024-04-08 15:58
msgcmp
30.38
KB
-rwxr-xr-x
2024-04-08 15:58
msgcomm
26.38
KB
-rwxr-xr-x
2024-04-08 15:58
msgconv
22.38
KB
-rwxr-xr-x
2024-04-08 15:58
msgen
22.38
KB
-rwxr-xr-x
2024-04-08 15:58
msgexec
22.38
KB
-rwxr-xr-x
2024-04-08 15:58
msgfilter
34.38
KB
-rwxr-xr-x
2024-04-08 15:58
msgfmt
82.59
KB
-rwxr-xr-x
2024-04-08 15:58
msggrep
118.46
KB
-rwxr-xr-x
2024-04-08 15:58
msginit
66.39
KB
-rwxr-xr-x
2024-04-08 15:58
msgmerge
74.41
KB
-rwxr-xr-x
2024-04-08 15:58
msgunfmt
38.39
KB
-rwxr-xr-x
2024-04-08 15:58
msguniq
22.38
KB
-rwxr-xr-x
2024-04-08 15:58
mshortname
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mshowfat
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
msql2mysql
1.41
KB
-rwxr-xr-x
2025-10-11 02:08
mt
70.73
KB
-rwxr-xr-x
2024-04-08 15:55
mt-gnu
70.73
KB
-rwxr-xr-x
2024-04-08 15:55
mtools
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mtoolstest
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mtype
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
mv
134.52
KB
-rwxr-xr-x
2026-01-23 13:30
mxtar
784
B
-rwxr-xr-x
2024-04-08 16:13
my_print_defaults
4.53
MB
-rwxr-xr-x
2025-10-11 02:08
myisam_ftdump
4.87
MB
-rwxr-xr-x
2025-10-11 02:08
myisamchk
4.99
MB
-rwxr-xr-x
2025-10-11 02:08
myisamlog
4.85
MB
-rwxr-xr-x
2025-10-11 02:08
myisampack
4.9
MB
-rwxr-xr-x
2025-10-11 02:08
mysql
5.07
MB
-rwxr-xr-x
2025-10-11 02:08
mysql_convert_table_format
4.12
KB
-rwxr-xr-x
2025-10-11 02:08
mysql_find_rows
3.21
KB
-rwxr-xr-x
2025-10-11 02:08
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
2025-10-11 02:08
mysql_install_db
22.13
KB
-rwxr-xr-x
2025-10-11 02:08
mysql_plugin
4.54
MB
-rwxr-xr-x
2025-10-11 02:08
mysql_secure_installation
13.49
KB
-rwxr-xr-x
2025-10-11 02:08
mysql_setpermission
17.56
KB
-rwxr-xr-x
2025-10-11 02:08
mysql_tzinfo_to_sql
4.53
MB
-rwxr-xr-x
2025-10-11 02:08
mysql_upgrade
4.97
MB
-rwxr-xr-x
2025-10-11 02:08
mysql_waitpid
4.53
MB
-rwxr-xr-x
2025-10-11 02:08
mysqlaccess
109.31
KB
-rwxr-xr-x
2025-10-11 02:08
mysqladmin
4.85
MB
-rwxr-xr-x
2025-10-11 02:08
mysqlanalyze
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mysqlbinlog
5.13
MB
-rwxr-xr-x
2025-10-11 02:08
mysqlcheck
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mysqld_multi
26.69
KB
-rwxr-xr-x
2025-10-11 02:08
mysqld_safe
30.42
KB
-rwxr-xr-x
2025-10-11 02:08
mysqld_safe_helper
4.49
MB
-rwxr-xr-x
2025-10-11 02:08
mysqldump
4.93
MB
-rwxr-xr-x
2025-10-11 02:08
mysqldumpslow
8.05
KB
-rwxr-xr-x
2025-10-11 02:08
mysqlhotcopy
34.53
KB
-rwxr-xr-x
2025-10-11 02:08
mysqlimport
4.83
MB
-rwxr-xr-x
2025-10-11 02:08
mysqloptimize
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mysqlrepair
4.84
MB
-rwxr-xr-x
2025-10-11 02:08
mysqlreport
49.02
KB
-rwxr-xr-x
2025-10-11 02:08
mysqlshow
4.83
MB
-rwxr-xr-x
2025-10-11 02:08
mysqlslap
4.85
MB
-rwxr-xr-x
2025-10-11 02:08
mytop
71.95
KB
-rwxr-xr-x
2025-10-11 02:08
mzip
205.36
KB
-rwxr-xr-x
2024-04-08 16:13
named-checkconf
38.4
KB
-rwxr-xr-x
2026-05-21 13:51
named-checkzone
30.4
KB
-rwxr-xr-x
2026-05-21 13:51
named-compilezone
30.4
KB
-rwxr-xr-x
2026-05-21 13:51
namei
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
nanoid
1.11
KB
-rwxr-xr-x
2023-10-17 14:47
nawk
722.5
KB
-rwxr-xr-x
2026-07-20 22:38
nc
38.63
KB
-rwxr-xr-x
2024-04-08 16:14
nc.openbsd
38.63
KB
-rwxr-xr-x
2024-04-08 16:14
ncal
36.95
KB
-rwxr-xr-x
2023-02-20 09:19
neqn
913
B
-rwxr-xr-x
2024-03-31 08:54
netcat
38.63
KB
-rwxr-xr-x
2024-04-08 16:14
netstat
154.59
KB
-rwxr-xr-x
2025-05-28 13:23
networkctl
122.58
KB
-rwxr-xr-x
2026-06-05 15:36
newaliases
1.45
MB
-rwsr-xr-x
2026-07-17 15:24
newgrp
39.71
KB
-rwsr-xr-x
2024-05-30 14:52
ngettext
34.38
KB
-rwxr-xr-x
2024-04-08 15:58
nice
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
nisdomainname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
nl
38.6
KB
-rwxr-xr-x
2026-01-23 13:30
nm
43.5
KB
-rwxr-xr-x
2026-02-09 21:03
node
26.08
KB
-rwxr-xr-x
2024-04-18 19:08
node-coveralls
322
B
-rwxr-xr-x
2023-01-25 01:11
node-gyp
3.37
KB
-rwxr-xr-x
2023-11-23 07:27
nodejs
26.08
KB
-rwxr-xr-x
2024-04-18 19:08
nohup
34.41
KB
-rwxr-xr-x
2026-01-23 13:30
notify-send
26.23
KB
-rwxr-xr-x
2024-03-31 02:08
npm
54
B
-rwxr-xr-x
2023-11-23 07:39
npm-arborist
3.26
KB
-rwxr-xr-x
2023-11-23 07:39
nproc
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
npx
2.85
KB
-rwxr-xr-x
2023-11-23 07:39
nroff
5.58
KB
-rwxr-xr-x
2024-03-31 08:54
nsenter
30.6
KB
-rwxr-xr-x
2026-03-06 16:00
nstat
30.38
KB
-rwxr-xr-x
2026-04-15 06:53
ntfs-3g
159.01
KB
-rwxr-xr-x
2026-07-11 15:55
ntfs-3g.probe
14.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfscat
26.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfscluster
38.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfscmp
30.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsdecrypt
42.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsfallocate
26.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsfix
34.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsinfo
54.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsls
27.45
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsmove
30.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsrecover
102.38
KB
-rwxr-xr-x
2026-07-11 15:55
ntfssecaudit
78.86
KB
-rwxr-xr-x
2026-07-11 15:55
ntfstruncate
26.3
KB
-rwxr-xr-x
2026-07-11 15:55
ntfsusermap
18.3
KB
-rwxr-xr-x
2026-07-11 15:55
ntfswipe
46.91
KB
-rwxr-xr-x
2026-07-11 15:55
numfmt
58.54
KB
-rwxr-xr-x
2026-01-23 13:30
nvidia-detector
270
B
-rwxr-xr-x
2026-03-18 05:59
nyc
3.37
KB
-rwxr-xr-x
2023-08-21 05:40
objcopy
162.63
KB
-rwxr-xr-x
2026-02-09 21:03
objdump
381.69
KB
-rwxr-xr-x
2026-02-09 21:03
od
70.51
KB
-rwxr-xr-x
2026-01-23 13:30
odbcinst
22.15
KB
-rwxr-xr-x
2024-06-03 13:23
oem-getlogs
8.3
KB
-rwxr-xr-x
2026-04-28 17:12
open
25.46
KB
-rwxr-xr-x
2022-08-01 14:14
opener
161
B
-rwxr-xr-x
2021-11-20 16:02
openssl
981.8
KB
-rwxr-xr-x
2026-06-02 19:33
openvt
22.73
KB
-rwxr-xr-x
2024-03-31 09:02
p11-kit
206.7
KB
-rwxr-xr-x
2024-08-09 02:33
pacote
3.89
KB
-rwxr-xr-x
2023-11-23 07:39
pager
190.38
KB
-rwxr-xr-x
2024-04-28 11:44
partx
62.38
KB
-rwxr-xr-x
2026-03-06 16:00
passwd
62.65
KB
-rwsr-xr-x
2024-05-30 14:52
paste
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
patch
182.52
KB
-rwxr-xr-x
2024-04-08 16:15
pathchk
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
pdb2.7
45.02
KB
-rwxr-xr-x
2022-07-01 10:30
pdb3
67.83
KB
-rwxr-xr-x
2026-06-19 12:46
pdb3.12
67.83
KB
-rwxr-xr-x
2026-06-19 12:46
pdf2dsc
698
B
-rwxr-xr-x
2025-09-25 16:37
pdf2ps
909
B
-rwxr-xr-x
2025-09-25 16:37
peekfd
14.3
KB
-rwxr-xr-x
2024-03-31 17:02
perl
3.83
MB
-rwxr-xr-x
2026-06-12 13:42
perl5.38-x86_64-linux-gnu
14.3
KB
-rwxr-xr-x
2026-06-12 13:42
perl5.38.2
3.83
MB
-rwxr-xr-x
2026-06-12 13:42
perlbug
44.52
KB
-rwxr-xr-x
2026-06-12 13:42
perldoc
125
B
-rwxr-xr-x
2024-04-05 19:56
perli11ndoc
58.17
KB
-rwxr-xr-x
2024-03-31 07:49
perlivp
10.61
KB
-rwxr-xr-x
2026-06-12 13:42
perlthanks
44.52
KB
-rwxr-xr-x
2026-06-12 13:42
perror
4.72
MB
-rwxr-xr-x
2025-10-11 02:08
pf2afm
498
B
-rwxr-xr-x
2025-09-25 16:37
pfbtopfa
516
B
-rwxr-xr-x
2025-09-25 16:37
pgrep
34.47
KB
-rwxr-xr-x
2024-09-26 08:44
phar
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
phar.phar
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
phar.phar8.3
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
phar8.3
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
phar8.3.phar
14.84
KB
-rwxr-xr-x
2026-07-16 18:30
php
5.52
MB
-rwxr-xr-x
2026-07-16 18:30
php8.3
5.52
MB
-rwxr-xr-x
2026-07-16 18:30
pic
196.06
KB
-rwxr-xr-x
2024-03-31 08:54
piconv
8.16
KB
-rwxr-xr-x
2026-06-12 13:42
pidof
26.23
KB
-rwxr-xr-x
2024-04-08 16:20
pidwait
34.47
KB
-rwxr-xr-x
2024-09-26 08:44
pigz
130.37
KB
-rwxr-xr-x
2023-08-22 19:47
pinentry
74.66
KB
-rwxr-xr-x
2024-03-31 16:59
pinentry-curses
58.65
KB
-rwxr-xr-x
2024-03-31 16:59
pinentry-gnome3
74.66
KB
-rwxr-xr-x
2024-03-31 16:59
pinentry-x11
74.66
KB
-rwxr-xr-x
2024-03-31 16:59
ping
87.7
KB
-rwxr-xr-x
2025-07-24 11:51
ping4
87.7
KB
-rwxr-xr-x
2025-07-24 11:51
ping6
87.7
KB
-rwxr-xr-x
2025-07-24 11:51
pinky
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
pkaction
18.3
KB
-rwxr-xr-x
2026-04-10 10:57
pkcheck
22.3
KB
-rwxr-xr-x
2026-04-10 10:57
pkcon
54.3
KB
-rwxr-xr-x
2026-04-20 12:20
pkexec
30.23
KB
-rwsr-xr-x
2026-04-10 10:57
pkill
34.47
KB
-rwxr-xr-x
2024-09-26 08:44
pkmon
22.3
KB
-rwxr-xr-x
2026-04-20 12:20
pkttyagent
22.3
KB
-rwxr-xr-x
2026-04-10 10:57
pl2pm
4.43
KB
-rwxr-xr-x
2026-06-12 13:42
pldd
22.44
KB
-rwxr-xr-x
2026-07-23 17:18
plocate
306.55
KB
-rwxr-sr-x
2024-04-18 17:53
pmap
34.4
KB
-rwxr-xr-x
2024-09-26 08:44
pod2html
3.95
KB
-rwxr-xr-x
2026-06-12 13:42
pod2man
18.46
KB
-rwxr-xr-x
2026-06-12 13:42
pod2text
12.8
KB
-rwxr-xr-x
2026-06-12 13:42
pod2usage
4.01
KB
-rwxr-xr-x
2026-06-12 13:42
podchecker
3.57
KB
-rwxr-xr-x
2026-06-12 13:42
popclient
302.7
KB
-rwxr-xr-x
2025-10-08 11:40
pphs
404
B
-rwxr-xr-x
2025-09-25 16:37
pr
70.58
KB
-rwxr-xr-x
2026-01-23 13:30
precat
5.52
KB
-rwxr-xr-x
2024-04-08 15:54
preconv
58.48
KB
-rwxr-xr-x
2024-03-31 08:54
preunzip
5.52
KB
-rwxr-xr-x
2024-04-08 15:54
prezip
5.52
KB
-rwxr-xr-x
2024-04-08 15:54
prezip-bin
14.3
KB
-rwxr-xr-x
2024-04-08 15:54
print
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
printafm
395
B
-rwxr-xr-x
2025-09-25 16:37
printenv
34.38
KB
-rwxr-xr-x
2026-01-23 13:30
printf
54.44
KB
-rwxr-xr-x
2026-01-23 13:30
prlimit
26.89
KB
-rwxr-xr-x
2026-03-06 16:00
pro
1003
B
-rwxr-xr-x
2026-07-06 13:28
procan
42.41
KB
-rwxr-xr-x
2026-07-03 12:45
procinfo
106.2
KB
-rwxr-xr-x
2022-11-27 21:34
procmail
102.77
KB
-rwsr-sr-x
2024-04-08 16:16
prove
13.34
KB
-rwxr-xr-x
2026-06-12 13:42
prtstat
18.38
KB
-rwxr-xr-x
2024-03-31 17:02
ps
142.99
KB
-rwxr-xr-x
2024-09-26 08:44
ps2ascii
631
B
-rwxr-xr-x
2025-09-25 16:37
ps2epsi
1.23
KB
-rwxr-xr-x
2025-09-25 16:37
ps2pdf
272
B
-rwxr-xr-x
2025-09-25 16:37
ps2pdf12
215
B
-rwxr-xr-x
2025-09-25 16:37
ps2pdf13
215
B
-rwxr-xr-x
2025-09-25 16:37
ps2pdf14
215
B
-rwxr-xr-x
2025-09-25 16:37
ps2pdfwr
1.05
KB
-rwxr-xr-x
2025-09-25 16:37
ps2ps
647
B
-rwxr-xr-x
2025-09-25 16:37
ps2ps2
669
B
-rwxr-xr-x
2025-09-25 16:37
ps2txt
631
B
-rwxr-xr-x
2025-09-25 16:37
psbook
18.15
KB
-rwxr-xr-x
2024-02-17 18:37
psfaddtable
22.37
KB
-rwxr-xr-x
2024-03-31 09:02
psfgettable
22.37
KB
-rwxr-xr-x
2024-03-31 09:02
psfstriptable
22.37
KB
-rwxr-xr-x
2024-03-31 09:02
psfxtable
22.37
KB
-rwxr-xr-x
2024-03-31 09:02
psjoin
5
KB
-rwxr-xr-x
2024-02-17 18:37
pslog
14.3
KB
-rwxr-xr-x
2024-03-31 17:02
psmerge
2.64
KB
-rwxr-xr-x
2024-02-17 18:37
psnup
34.82
KB
-rwxr-xr-x
2024-02-17 18:37
psresize
30.82
KB
-rwxr-xr-x
2024-02-17 18:37
psselect
18.15
KB
-rwxr-xr-x
2024-02-17 18:37
pstops
30.82
KB
-rwxr-xr-x
2024-02-17 18:37
pstree
35.32
KB
-rwxr-xr-x
2024-03-31 17:02
pstree.x11
35.32
KB
-rwxr-xr-x
2024-03-31 17:02
ptar
3.48
KB
-rwxr-xr-x
2026-06-12 13:42
ptardiff
2.58
KB
-rwxr-xr-x
2026-06-12 13:42
ptargrep
4.29
KB
-rwxr-xr-x
2026-06-12 13:42
ptx
54.54
KB
-rwxr-xr-x
2026-01-23 13:30
pv
79.41
KB
-rwxr-xr-x
2024-04-08 16:16
pwd
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
pwdx
14.38
KB
-rwxr-xr-x
2024-09-26 08:44
pwgen
34.77
KB
-rwxr-xr-x
2024-04-18 18:03
py3clean
7.63
KB
-rwxr-xr-x
2025-11-12 12:15
py3compile
13
KB
-rwxr-xr-x
2025-11-12 12:15
py3versions
12.52
KB
-rwxr-xr-x
2025-11-12 12:15
pydoc2.7
79
B
-rwxr-xr-x
2022-07-01 10:30
pydoc3
80
B
-rwxr-xr-x
2026-06-19 12:46
pydoc3.12
80
B
-rwxr-xr-x
2026-06-19 12:46
pygettext2.7
21.56
KB
-rwxr-xr-x
2022-07-01 10:30
pygettext3
23.66
KB
-rwxr-xr-x
2026-06-19 12:46
pygettext3.12
23.66
KB
-rwxr-xr-x
2026-06-19 12:46
python-dotenv
974
B
-rwxr-xr-x
2024-01-27 10:21
python2.7
3.43
MB
-rwxr-xr-x
2022-07-01 10:30
python3
7.65
MB
-rwxr-xr-x
2026-06-19 12:46
python3.12
7.65
MB
-rwxr-xr-x
2026-06-19 12:46
pzstd
690.54
KB
-rwxr-xr-x
2024-08-09 02:33
qrcode-terminal
1.79
KB
-rwxr-xr-x
2023-11-23 07:39
quirks-handler
2.4
KB
-rwxr-xr-x
2026-03-18 05:59
quota
79.59
KB
-rwxr-xr-x
2024-04-01 07:31
quotasync
62.88
KB
-rwxr-xr-x
2024-04-01 07:31
ranlib
54.48
KB
-rwxr-xr-x
2026-02-09 21:03
rbash
1.38
MB
-rwxr-xr-x
2024-03-31 08:41
rdma
102.52
KB
-rwxr-xr-x
2026-04-15 06:53
readelf
770.78
KB
-rwxr-xr-x
2026-02-09 21:03
readlink
42.41
KB
-rwxr-xr-x
2026-01-23 13:30
realpath
42.41
KB
-rwxr-xr-x
2026-01-23 13:30
recode-sr-latin
14.38
KB
-rwxr-xr-x
2024-04-08 15:58
red
89
B
-rwxr-xr-x
2024-02-17 11:12
regjsparser
1.74
KB
-rwxr-xr-x
2022-09-16 16:16
rename.ul
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
renice
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
replace
4.51
MB
-rwxr-xr-x
2025-10-11 02:08
reset
26.31
KB
-rwxr-xr-x
2026-06-30 21:25
resizecons
26.46
KB
-rwxr-xr-x
2024-03-31 09:02
resizepart
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
resolve_stack_dump
4.53
MB
-rwxr-xr-x
2025-10-11 02:08
resolvectl
158.67
KB
-rwxr-xr-x
2026-06-05 15:36
resolveip
4.53
MB
-rwxr-xr-x
2025-10-11 02:08
rev
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
rgrep
30
B
-rwxr-xr-x
2023-07-21 14:47
rimraf
1.83
KB
-rwxr-xr-x
2022-04-15 05:15
rm
58.51
KB
-rwxr-xr-x
2026-01-23 13:30
rmdir
46.41
KB
-rwxr-xr-x
2026-01-23 13:30
rootlesskit
12.07
MB
-rwxr-xr-x
2024-06-29 00:02
rootlesskit-docker-proxy
7.54
MB
-rwxr-xr-x
2024-06-29 00:02
rotatelogs
26.38
KB
-rwxr-xr-x
2026-07-06 16:27
routel
1.62
KB
-rwxr-xr-x
2026-04-15 06:53
rpcgen
94.59
KB
-rwxr-xr-x
2024-04-08 16:18
rrsync
12.34
KB
-rwxr-xr-x
2026-06-08 14:10
rsync
522.15
KB
-rwxr-xr-x
2026-06-08 14:10
rsync-ssl
5.02
KB
-rwxr-xr-x
2026-06-08 14:10
rtstat
22.66
KB
-rwxr-xr-x
2026-04-15 06:53
run-mailcap
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
run-parts
26.82
KB
-rwxr-xr-x
2024-03-31 08:47
run-with-aspell
57
B
-rwxr-xr-x
2024-04-08 15:54
runc
9.36
MB
-rwxr-xr-x
2024-06-18 19:00
runcon
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
rview
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
rvim
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
sasl-sample-client
26.47
KB
-rwxr-xr-x
2024-08-09 02:33
savelog
10.24
KB
-rwxr-xr-x
2024-03-31 08:47
scalar
668.94
KB
-rwxr-xr-x
2025-07-02 20:23
scp
134.59
KB
-rwxr-xr-x
2026-07-09 18:16
screen
478.24
KB
-rwxr-xr-x
2026-01-22 19:59
screendump
14.3
KB
-rwxr-xr-x
2024-03-31 09:02
script
54.38
KB
-rwxr-xr-x
2026-03-06 16:00
scriptlive
42.38
KB
-rwxr-xr-x
2026-03-06 16:00
scriptreplay
34.38
KB
-rwxr-xr-x
2026-03-06 16:00
sdiff
50.39
KB
-rwxr-xr-x
2024-04-08 15:55
sed
110.57
KB
-rwxr-xr-x
2026-04-17 18:02
see
18.06
KB
-rwxr-xr-x
2026-07-02 14:59
select-default-iwrap
474
B
-rwxr-xr-x
2023-09-07 08:57
select-editor
2.39
KB
-rwxr-xr-x
2024-02-04 18:05
semver
4.71
KB
-rwxr-xr-x
2023-08-13 05:13
sensible-browser
1.55
KB
-rwxr-xr-x
2024-02-04 18:05
sensible-editor
1.52
KB
-rwxr-xr-x
2024-02-04 18:05
sensible-pager
921
B
-rwxr-xr-x
2024-02-04 18:05
sensible-terminal
1.15
KB
-rwxr-xr-x
2024-02-04 18:05
seq
50.51
KB
-rwxr-xr-x
2026-01-23 13:30
session-migration
22.15
KB
-rwxr-xr-x
2024-03-31 17:12
sessreg
14.31
KB
-rwxr-xr-x
2024-03-31 17:27
setarch
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
setfacl
38.38
KB
-rwxr-xr-x
2024-10-02 12:40
setfont
54.46
KB
-rwxr-xr-x
2024-03-31 09:02
setkeycodes
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
setleds
18.43
KB
-rwxr-xr-x
2024-03-31 09:02
setlogcons
14.37
KB
-rwxr-xr-x
2024-03-31 09:02
setmetamode
14.41
KB
-rwxr-xr-x
2024-03-31 09:02
setpci
30.38
KB
-rwxr-xr-x
2024-04-08 16:15
setpriv
38.38
KB
-rwxr-xr-x
2026-03-06 16:00
setsid
14.38
KB
-rwxr-xr-x
2026-03-06 16:00
setterm
34.38
KB
-rwxr-xr-x
2026-03-06 16:00
setupcon
40.06
KB
-rwxr-xr-x
2024-02-26 12:58
sftp
150.66
KB
-rwxr-xr-x
2026-07-09 18:16
sg
39.71
KB
-rwsr-xr-x
2024-05-30 14:52
sh
126.74
KB
-rwxr-xr-x
2024-03-31 08:47
sha1sum
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
sha224sum
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
sha256sum
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
sha384sum
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
sha512sum
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
shar
137.43
KB
-rwxr-xr-x
2023-02-03 18:10
shasum
9.75
KB
-rwxr-xr-x
2026-06-12 13:42
showchar
2.51
KB
-rwxr-xr-x
2024-02-17 18:37
showconsolefont
18.37
KB
-rwxr-xr-x
2024-03-31 09:02
showkey
18.37
KB
-rwxr-xr-x
2024-03-31 09:02
showrgb
14.31
KB
-rwxr-xr-x
2024-03-31 17:27
shred
54.51
KB
-rwxr-xr-x
2026-01-23 13:30
shuf
46.51
KB
-rwxr-xr-x
2026-01-23 13:30
size
30.45
KB
-rwxr-xr-x
2026-02-09 21:03
skill
26.41
KB
-rwxr-xr-x
2024-09-26 08:44
slabtop
22.44
KB
-rwxr-xr-x
2024-09-26 08:44
sleep
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
slirp4netns
62.93
KB
-rwxr-xr-x
2024-04-01 08:02
slogin
827.04
KB
-rwxr-xr-x
2026-07-09 18:16
snap
21.64
MB
-rwxr-xr-x
2026-07-13 14:38
snapctl
7.58
MB
-rwxr-xr-x
2026-07-13 14:38
snapfuse
38.23
KB
-rwxr-xr-x
2026-07-13 14:38
snice
26.41
KB
-rwxr-xr-x
2024-09-26 08:44
snmp-bridge-mib
29.96
KB
-rwxr-xr-x
2026-01-06 12:41
snmpbulkget
14.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmpbulkwalk
14.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmpcheck
32.91
KB
-rwxr-xr-x
2026-01-06 12:41
snmpconf
25.44
KB
-rwxr-xr-x
2026-01-06 12:41
snmpdelta
26.4
KB
-rwxr-xr-x
2026-01-06 12:41
snmpdf
18.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmpget
14.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmpgetnext
14.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmpinform
14.57
KB
-rwxr-xr-x
2026-01-06 12:41
snmpnetstat
68.29
KB
-rwxr-xr-x
2026-01-06 12:41
snmpping
22.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmpps
18.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmpset
14.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmpstatus
19.13
KB
-rwxr-xr-x
2026-01-06 12:41
snmptable
26.33
KB
-rwxr-xr-x
2026-01-06 12:41
snmptest
22.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmptls
18.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmptranslate
22.3
KB
-rwxr-xr-x
2026-01-06 12:41
snmptrap
14.57
KB
-rwxr-xr-x
2026-01-06 12:41
snmpusm
42.51
KB
-rwxr-xr-x
2026-01-06 12:41
snmpvacm
31.39
KB
-rwxr-xr-x
2026-01-06 12:41
snmpwalk
18.3
KB
-rwxr-xr-x
2026-01-06 12:41
socat
447.68
KB
-rwxr-xr-x
2026-07-03 12:45
socat-broker.sh
2.24
KB
-rwxr-xr-x
2026-07-03 12:45
socat-chain.sh
7.86
KB
-rwxr-xr-x
2026-07-03 12:45
socat-mux.sh
3.47
KB
-rwxr-xr-x
2026-07-03 12:45
socat1
447.68
KB
-rwxr-xr-x
2026-07-03 12:45
socklist
3.32
KB
-rwxr-xr-x
2022-11-27 21:34
soelim
34.48
KB
-rwxr-xr-x
2024-03-31 08:54
software-properties-gtk
4.04
KB
-rwxr-xr-x
2026-01-05 16:17
sort
102.8
KB
-rwxr-xr-x
2026-01-23 13:30
splain
18.99
KB
-rwxr-xr-x
2026-06-12 13:42
split
54.94
KB
-rwxr-xr-x
2026-01-23 13:30
splitfont
14.3
KB
-rwxr-xr-x
2024-03-31 09:02
sqfscat
147.9
KB
-rwxr-xr-x
2024-04-08 16:20
sqfstar
286.95
KB
-rwxr-xr-x
2024-04-08 16:20
ss
129.07
KB
-rwxr-xr-x
2026-04-15 06:53
ssh
827.04
KB
-rwxr-xr-x
2026-07-09 18:16
ssh-add
294.42
KB
-rwxr-xr-x
2026-07-09 18:16
ssh-agent
302.43
KB
-rwxr-sr-x
2026-07-09 18:16
ssh-argv0
1.42
KB
-rwxr-xr-x
2026-05-21 15:37
ssh-copy-id
12.77
KB
-rwxr-xr-x
2023-12-18 14:59
ssh-keygen
442.44
KB
-rwxr-xr-x
2026-07-09 18:16
ssh-keyscan
330.44
KB
-rwxr-xr-x
2026-07-09 18:16
stat
86.52
KB
-rwxr-xr-x
2026-01-23 13:30
stdbuf
50.51
KB
-rwxr-xr-x
2026-01-23 13:30
streamzip
7.87
KB
-rwxr-xr-x
2026-06-12 13:42
strings
34.61
KB
-rwxr-xr-x
2026-02-09 21:03
strip
162.66
KB
-rwxr-xr-x
2026-02-09 21:03
stty
78.52
KB
-rwxr-xr-x
2026-01-23 13:30
su
54.38
KB
-rwsr-xr-x
2026-03-06 16:00
sudo
271.42
KB
-rwsr-xr-x
2026-03-02 12:56
sudoedit
271.42
KB
-rwsr-xr-x
2026-03-02 12:56
sudoreplay
95.95
KB
-rwxr-xr-x
2026-03-02 12:56
sum
34.41
KB
-rwxr-xr-x
2026-01-23 13:30
sync
34.41
KB
-rwxr-xr-x
2026-01-23 13:30
syslinux
204.25
KB
-rwxr-xr-x
2024-04-08 16:20
systemctl
1.43
MB
-rwxr-xr-x
2026-06-05 15:36
systemd
98.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-ac-power
14.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-analyze
198.85
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-ask-password
18.58
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cat
18.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cgls
22.57
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cgtop
38.47
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-confext
54.64
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-creds
42.72
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cryptenroll
70.92
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-cryptsetup
78.95
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-delta
26.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-detect-virt
18.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-escape
22.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-firstboot
58.82
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-hwdb
154.74
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-id128
22.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-inhibit
22.47
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-machine-id-setup
18.63
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-mount
50.78
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-notify
26.66
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-path
18.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-repart
195.23
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-run
66.79
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-socket-activate
30.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-stdio-bridge
22.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-sysext
54.64
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-sysusers
66.63
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-tmpfiles
114.7
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-tty-ask-password-agent
34.45
KB
-rwxr-xr-x
2026-06-05 15:36
systemd-umount
50.78
KB
-rwxr-xr-x
2026-06-05 15:36
tabs
18.3
KB
-rwxr-xr-x
2026-06-30 21:25
tac
38.41
KB
-rwxr-xr-x
2026-01-23 13:30
tail
62.53
KB
-rwxr-xr-x
2026-01-23 13:30
tap
25.77
KB
-rwxr-xr-x
2023-12-12 09:48
tap-mocha-reporter
2.3
KB
-rwxr-xr-x
2022-04-25 07:43
tap-parser
3.95
KB
-rwxr-xr-x
2022-11-25 14:04
tape
2.69
KB
-rwxr-xr-x
2022-11-10 17:20
tar
429.95
KB
-rwxr-xr-x
2026-07-20 14:38
taskset
30.38
KB
-rwxr-xr-x
2026-03-06 16:00
tbl
134.48
KB
-rwxr-xr-x
2024-03-31 08:54
tcsh
455.8
KB
-rwxr-xr-x
2024-04-01 08:23
tee
38.51
KB
-rwxr-xr-x
2026-01-23 13:30
telnet
177.85
KB
-rwxr-xr-x
2026-06-04 13:25
tempfile
14.3
KB
-rwxr-xr-x
2024-03-31 08:47
terser
444
B
-rwxr-xr-x
2023-07-21 12:05
test
46.44
KB
-rwxr-xr-x
2026-01-23 13:30
tgz
2.24
KB
-rwxr-xr-x
2024-04-08 16:13
tic
90.41
KB
-rwxr-xr-x
2026-06-30 21:25
timedatectl
46.45
KB
-rwxr-xr-x
2026-06-05 15:36
timeout
38.95
KB
-rwxr-xr-x
2026-01-23 13:30
tload
22.39
KB
-rwxr-xr-x
2024-09-26 08:44
tnftp
182.9
KB
-rwxr-xr-x
2024-04-08 14:50
todos
18.17
KB
-rwxr-xr-x
2023-01-24 20:47
toe
22.3
KB
-rwxr-xr-x
2026-06-30 21:25
top
131.7
KB
-rwxr-xr-x
2024-09-26 08:44
tor
3.67
MB
-rwxr-xr-x
2024-06-06 14:50
tor-gencert
549.33
KB
-rwxr-xr-x
2024-06-06 14:50
tor-print-ed-signing-cert
473.24
KB
-rwxr-xr-x
2024-06-06 14:50
tor-resolve
182.33
KB
-rwxr-xr-x
2024-06-06 14:50
torify
1.01
KB
-rwxr-xr-x
2024-06-06 13:22
torsocks
11.42
KB
-rwxr-xr-x
2023-02-10 22:03
touch
94.51
KB
-rwxr-xr-x
2026-01-23 13:30
tput
26.34
KB
-rwxr-xr-x
2026-06-30 21:25
tr
46.51
KB
-rwxr-xr-x
2026-01-23 13:30
tracepath
18.15
KB
-rwxr-xr-x
2025-07-24 11:51
traceproto
2.82
KB
-rwxr-xr-x
2023-12-25 07:29
traceproto.db
2.82
KB
-rwxr-xr-x
2023-12-25 07:29
traceroute
79.28
KB
-rwxr-xr-x
2023-12-25 07:29
traceroute-nanog
1.58
KB
-rwxr-xr-x
2023-12-25 07:29
traceroute.db
79.28
KB
-rwxr-xr-x
2023-12-25 07:29
traceroute6
79.28
KB
-rwxr-xr-x
2023-12-25 07:29
traceroute6.db
79.28
KB
-rwxr-xr-x
2023-12-25 07:29
troff
726.62
KB
-rwxr-xr-x
2024-03-31 08:54
true
26.3
KB
-rwxr-xr-x
2026-01-23 13:30
truncate
38.51
KB
-rwxr-xr-x
2026-01-23 13:30
trust
230.7
KB
-rwxr-xr-x
2024-08-09 02:33
tset
26.31
KB
-rwxr-xr-x
2026-06-30 21:25
tsort
46.51
KB
-rwxr-xr-x
2026-01-23 13:30
tty
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
tzselect
15.02
KB
-rwxr-xr-x
2026-07-23 17:18
ua
1003
B
-rwxr-xr-x
2026-07-06 13:28
ubuntu-advantage
1003
B
-rwxr-xr-x
2026-07-06 13:28
ubuntu-bug
2.27
KB
-rwxr-xr-x
2026-04-24 11:18
ubuntu-distro-info
26.89
KB
-rwxr-xr-x
2024-04-08 15:56
ubuntu-drivers
19.31
KB
-rwxr-xr-x
2026-03-18 05:59
ubuntu-security-status
22.25
KB
-rwxr-xr-x
2025-04-25 13:16
ucf
40.68
KB
-rwxr-xr-x
2023-01-27 13:29
ucfq
18.91
KB
-rwxr-xr-x
2023-01-27 13:29
ucfr
10.85
KB
-rwxr-xr-x
2023-01-27 13:29
uclampset
30.38
KB
-rwxr-xr-x
2026-03-06 16:00
ucs2any
26.15
KB
-rwxr-xr-x
2024-04-08 16:22
udevadm
1.38
MB
-rwxr-xr-x
2026-06-05 15:36
udisksctl
62.38
KB
-rwxr-xr-x
2025-08-21 14:16
ul
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
umount
38.38
KB
-rwsr-xr-x
2026-03-06 16:00
uname
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
unattended-upgrade
97.21
KB
-rwxr-xr-x
2024-02-12 17:50
unattended-upgrades
97.21
KB
-rwxr-xr-x
2024-02-12 17:50
uncompress
2.29
KB
-rwxr-xr-x
2026-07-03 11:53
unexpand
38.53
KB
-rwxr-xr-x
2026-01-23 13:30
unicode_start
2.71
KB
-rwxr-xr-x
2024-03-31 09:02
unicode_stop
528
B
-rwxr-xr-x
2024-03-31 09:02
uniq
38.51
KB
-rwxr-xr-x
2026-01-23 13:30
unlink
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
unlzma
126.47
KB
-rwxr-xr-x
2020-12-27 23:52
unmkinitramfs
3.7
KB
-rwxr-xr-x
2026-02-04 17:01
unpigz
130.37
KB
-rwxr-xr-x
2023-08-22 19:47
unshar
80.93
KB
-rwxr-xr-x
2023-02-03 18:10
unshare
42.6
KB
-rwxr-xr-x
2026-03-06 16:00
unsquashfs
147.9
KB
-rwxr-xr-x
2024-04-08 16:20
unxz
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
unzip
174.42
KB
-rwxr-xr-x
2024-10-02 13:29
unzipsfx
74.42
KB
-rwxr-xr-x
2024-10-02 13:29
unzstd
998.79
KB
-rwxr-xr-x
2024-08-09 02:33
update-alternatives
58.38
KB
-rwxr-xr-x
2026-05-06 17:38
update-desktop-database
26.38
KB
-rwxr-xr-x
2024-03-31 08:47
update-manager
4.65
KB
-rwxr-xr-x
2025-04-25 13:16
update-mime-database
74.33
KB
-rwxr-xr-x
2024-04-01 11:58
update-notifier
86.99
KB
-rwxr-xr-x
2025-04-02 09:15
updatedb
106.48
KB
-rwxr-xr-x
2024-04-18 17:53
upower
14.3
KB
-rwxr-xr-x
2024-04-08 07:42
uptime
14.38
KB
-rwxr-xr-x
2024-09-26 08:44
usb-devices
4.83
KB
-rwxr-xr-x
2024-04-08 16:21
usbhid-dump
30.38
KB
-rwxr-xr-x
2024-04-08 16:21
usbreset
14.3
KB
-rwxr-xr-x
2024-04-08 16:21
users
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
utmpdump
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
uudecode
84.49
KB
-rwxr-xr-x
2023-02-03 18:10
uuencode
76.49
KB
-rwxr-xr-x
2023-02-03 18:10
uuidgen
18.38
KB
-rwxr-xr-x
2026-03-06 16:00
uuidparse
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
uz
2.48
KB
-rwxr-xr-x
2024-04-08 16:13
varlinkctl
30.45
KB
-rwxr-xr-x
2026-06-05 15:36
vdir
138.98
KB
-rwxr-xr-x
2026-01-23 13:30
vi
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
view
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
viewres
31.23
KB
-rwxr-xr-x
2024-03-31 17:27
vim
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
vim.basic
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
vimdiff
3.94
MB
-rwxr-xr-x
2026-07-13 17:17
vimtutor
2.1
KB
-rwxr-xr-x
2026-07-13 17:17
vmstat
38.78
KB
-rwxr-xr-x
2024-09-26 08:44
w
26.38
KB
-rwxr-xr-x
2024-09-26 08:44
wall
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
watch
30.84
KB
-rwxr-xr-x
2024-09-26 08:44
watchgnupg
22.3
KB
-rwxr-xr-x
2026-01-05 22:01
wc
54.52
KB
-rwxr-xr-x
2026-01-23 13:30
wdctl
34.4
KB
-rwxr-xr-x
2026-03-06 16:00
webpack
3.81
KB
-rwxr-xr-x
2023-03-14 02:48
webpack-cli
330
B
-rw-r--r--
2023-03-14 02:48
wget
459.02
KB
-rwxr-xr-x
2026-07-16 16:38
whatis
47.28
KB
-rwxr-xr-x
2024-04-08 14:45
whereis
30.84
KB
-rwxr-xr-x
2026-03-06 16:00
which
1.05
KB
-rwxr-xr-x
2024-03-31 08:47
which.debianutils
1.05
KB
-rwxr-xr-x
2024-03-31 08:47
who
58.52
KB
-rwxr-xr-x
2026-01-23 13:30
whoami
34.51
KB
-rwxr-xr-x
2026-01-23 13:30
whois
155.66
KB
-rwxr-xr-x
2024-04-01 18:14
whoopsie
50.91
KB
-rwxr-xr-x
2025-11-25 15:52
whoopsie-preferences
22.23
KB
-rwxr-xr-x
2024-03-31 08:33
word-list-compress
14.3
KB
-rwxr-xr-x
2024-04-08 15:54
write
22.38
KB
-rwxr-xr-x
2026-03-06 16:00
wscat
10.56
KB
-rwxr-xr-x
2023-11-23 07:27
wsdump
983
B
-rwxr-xr-x
2024-02-23 09:19
wsrep_sst_backup
2.39
KB
-rwxr-xr-x
2025-10-11 02:08
wsrep_sst_common
66.86
KB
-rwxr-xr-x
2025-10-11 02:08
wsrep_sst_mariabackup
49.23
KB
-rwxr-xr-x
2025-10-11 02:08
wsrep_sst_mysqldump
8.11
KB
-rwxr-xr-x
2025-10-11 02:08
wsrep_sst_rsync
29.72
KB
-rwxr-xr-x
2025-10-11 02:08
wsrep_sst_rsync_wan
29.72
KB
-rwxr-xr-x
2025-10-11 02:08
www-browser
1.91
MB
-rwxr-xr-x
2024-04-01 06:53
x-session-manager
953
B
-rwxr-xr-x
2024-04-15 15:49
x-terminal-emulator
2.65
KB
-rwxr-xr-x
2024-03-18 17:15
x86_64
26.65
KB
-rwxr-xr-x
2026-03-06 16:00
x86_64-linux-gnu-addr2line
30.7
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-ar
54.48
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-as
728.29
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-c++filt
22.27
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-cpp
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-cpp-11
906.92
KB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-cpp-12
1.33
MB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-cpp-13
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-cpp-9
766.71
KB
-rwxr-xr-x
2026-01-12 02:59
x86_64-linux-gnu-dwp
1.87
MB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-elfedit
34.72
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-g++
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-g++-13
1003.05
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc
999.05
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc-11
906.92
KB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-gcc-12
1.33
MB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-gcc-13
999.05
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc-9
766.71
KB
-rwxr-xr-x
2026-01-12 02:59
x86_64-linux-gnu-gcc-ar
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc-ar-11
26.59
KB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-gcc-ar-12
34.7
KB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-gcc-ar-13
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc-ar-9
26.52
KB
-rwxr-xr-x
2026-01-12 02:59
x86_64-linux-gnu-gcc-nm
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc-nm-11
26.59
KB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-gcc-nm-12
34.7
KB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-gcc-nm-13
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc-nm-9
22.51
KB
-rwxr-xr-x
2026-01-12 02:59
x86_64-linux-gnu-gcc-ranlib
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc-ranlib-11
26.59
KB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-gcc-ranlib-12
34.7
KB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-gcc-ranlib-13
26.58
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcc-ranlib-9
26.52
KB
-rwxr-xr-x
2026-01-12 02:59
x86_64-linux-gnu-gcov
432.13
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcov-11
400.05
KB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-gcov-12
740.37
KB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-gcov-13
432.13
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcov-9
383.92
KB
-rwxr-xr-x
2026-01-12 02:59
x86_64-linux-gnu-gcov-dump
348.08
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcov-dump-11
251.88
KB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-gcov-dump-12
576.2
KB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-gcov-dump-13
348.08
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcov-dump-9
235.79
KB
-rwxr-xr-x
2026-01-12 02:59
x86_64-linux-gnu-gcov-tool
304.05
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcov-tool-11
275.97
KB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-gcov-tool-12
600.3
KB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-gcov-tool-13
304.05
KB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-gcov-tool-9
267.86
KB
-rwxr-xr-x
2026-01-12 02:59
x86_64-linux-gnu-gold
3.07
MB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-gp-archive
158.53
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-gp-collect-app
174.37
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-gp-display-html
626.89
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-gp-display-src
150.35
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-gp-display-text
290.37
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-gprof
99.79
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-gprofng
138.35
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-ld
1.3
MB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-ld.bfd
1.3
MB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-ld.gold
3.07
MB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-lto-dump
27.99
MB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-lto-dump-11
24.01
MB
-rwxr-xr-x
2025-12-18 07:26
x86_64-linux-gnu-lto-dump-12
31.09
MB
-rwxr-xr-x
2025-12-18 07:53
x86_64-linux-gnu-lto-dump-13
27.99
MB
-rwxr-xr-x
2025-12-18 20:59
x86_64-linux-gnu-nm
43.5
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-objcopy
162.63
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-objdump
381.69
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-ranlib
54.48
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-readelf
770.78
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-size
30.45
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-strings
34.61
KB
-rwxr-xr-x
2026-02-09 21:03
x86_64-linux-gnu-strip
162.66
KB
-rwxr-xr-x
2026-02-09 21:03
xargs
62.41
KB
-rwxr-xr-x
2024-04-08 15:57
xcmsdb
35.05
KB
-rwxr-xr-x
2024-03-31 17:27
xconv.pl
3.06
KB
-rwxr-xr-x
2024-04-01 08:35
xdg-dbus-proxy
58.15
KB
-rwxr-xr-x
2026-04-10 10:46
xdg-desktop-icon
20.16
KB
-rwxr-xr-x
2022-08-01 14:14
xdg-desktop-menu
42.27
KB
-rwxr-xr-x
2022-08-01 14:14
xdg-email
26.3
KB
-rwxr-xr-x
2022-08-01 14:14
xdg-icon-resource
29.33
KB
-rwxr-xr-x
2022-08-01 14:14
xdg-mime
41.14
KB
-rwxr-xr-x
2022-08-01 14:14
xdg-open
25.46
KB
-rwxr-xr-x
2022-08-01 14:14
xdg-screensaver
37.11
KB
-rwxr-xr-x
2022-08-01 14:14
xdg-settings
37.52
KB
-rwxr-xr-x
2022-08-01 14:14
xdpyinfo
39.05
KB
-rwxr-xr-x
2024-03-31 17:27
xdriinfo
14.3
KB
-rwxr-xr-x
2024-03-31 17:27
xev
34.63
KB
-rwxr-xr-x
2024-03-31 17:27
xfd
40.01
KB
-rwxr-xr-x
2024-03-31 17:27
xfontsel
43.85
KB
-rwxr-xr-x
2024-03-31 17:27
xgamma
14.31
KB
-rwxr-xr-x
2024-03-31 17:27
xgettext
293.01
KB
-rwxr-xr-x
2024-04-08 15:58
xhost
18.31
KB
-rwxr-xr-x
2024-03-31 17:27
xkeystone
16.58
KB
-rwxr-xr-x
2024-03-31 17:27
xkill
14.3
KB
-rwxr-xr-x
2024-03-31 17:27
xlsatoms
14.3
KB
-rwxr-xr-x
2024-03-31 17:27
xlsclients
18.31
KB
-rwxr-xr-x
2024-03-31 17:27
xlsfonts
26.4
KB
-rwxr-xr-x
2024-03-31 17:27
xmessage
23.19
KB
-rwxr-xr-x
2024-03-31 17:27
xmlwf
38.15
KB
-rwxr-xr-x
2026-02-04 15:24
xmodmap
42.68
KB
-rwxr-xr-x
2024-03-31 17:27
xprop
48.61
KB
-rwxr-xr-x
2024-03-31 17:27
xrandr
66.41
KB
-rwxr-xr-x
2024-03-31 17:27
xrdb
34.4
KB
-rwxr-xr-x
2024-03-31 17:27
xrefresh
14.38
KB
-rwxr-xr-x
2024-03-31 17:27
xset
34.31
KB
-rwxr-xr-x
2024-03-31 17:27
xsetmode
14.31
KB
-rwxr-xr-x
2024-03-31 17:27
xsetpointer
14.31
KB
-rwxr-xr-x
2024-03-31 17:27
xsetroot
18.31
KB
-rwxr-xr-x
2024-03-31 17:27
xstdcmap
14.89
KB
-rwxr-xr-x
2024-03-31 17:27
xsubpp
5.05
KB
-rwxr-xr-x
2026-06-12 13:42
xvidtune
43.76
KB
-rwxr-xr-x
2024-03-31 17:27
xvinfo
18.3
KB
-rwxr-xr-x
2024-03-31 17:27
xwininfo
50.38
KB
-rwxr-xr-x
2024-03-31 17:27
xxd
22.28
KB
-rwxr-xr-x
2026-07-13 17:17
xz
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
xzcat
86.92
KB
-rwxr-xr-x
2026-05-28 16:06
xzcmp
7.25
KB
-rwxr-xr-x
2026-05-28 16:06
xzdiff
7.25
KB
-rwxr-xr-x
2026-05-28 16:06
xzegrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
xzfgrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
xzgrep
10.09
KB
-rwxr-xr-x
2026-05-28 16:06
xzless
1.77
KB
-rwxr-xr-x
2026-05-28 16:06
xzmore
2.14
KB
-rwxr-xr-x
2026-05-28 16:06
yelp
58.23
KB
-rwxr-xr-x
2025-04-17 14:58
yes
34.38
KB
-rwxr-xr-x
2026-01-23 13:30
ypdomainname
22.23
KB
-rwxr-xr-x
2024-04-08 15:59
zcat
1.94
KB
-rwxr-xr-x
2026-07-03 11:53
zcmp
1.64
KB
-rwxr-xr-x
2026-07-03 11:53
zdiff
6.3
KB
-rwxr-xr-x
2026-07-03 11:53
zdump
30.28
KB
-rwxr-xr-x
2026-07-23 17:18
zegrep
29
B
-rwxr-xr-x
2026-07-03 11:53
zfgrep
29
B
-rwxr-xr-x
2026-07-03 11:53
zforce
2.03
KB
-rwxr-xr-x
2026-07-03 11:53
zgrep
7.91
KB
-rwxr-xr-x
2026-07-03 11:53
zipdetails
68.55
KB
-rwxr-xr-x
2026-06-12 13:42
zipgrep
2.89
KB
-rwxr-xr-x
2024-10-02 13:29
zipinfo
174.42
KB
-rwxr-xr-x
2024-10-02 13:29
zless
2.15
KB
-rwxr-xr-x
2026-07-03 11:53
zmore
1.8
KB
-rwxr-xr-x
2026-07-03 11:53
znew
4.47
KB
-rwxr-xr-x
2026-07-03 11:53
zstd
998.79
KB
-rwxr-xr-x
2024-08-09 02:33
zstdcat
998.79
KB
-rwxr-xr-x
2024-08-09 02:33
zstdgrep
3.78
KB
-rwxr-xr-x
2024-08-09 02:33
zstdless
197
B
-rwxr-xr-x
2024-08-09 02:33
zstdmt
998.79
KB
-rwxr-xr-x
2024-08-09 02:33
Save
Rename
# Copyright (C) 2017-2024 MariaDB # Copyright (C) 2012-2015 Codership Oy # # 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; version 2 of the License. # # 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. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston # MA 02110-1335 USA. # This is a common command line parser and common functions to # be sourced by other SST scripts. trap 'exit 32' HUP PIPE trap 'exit 3' INT QUIT TERM OS="$(uname)" # Setting the paths for some utilities on CentOS export PATH="${PATH:+$PATH:}/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin" if [ "$OS" != 'Darwin' ]; then export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}/usr/local/lib:/usr/lib:/lib:/opt/lib" fi commandex() { if [ -n "$BASH_VERSION" ]; then command -v "$1" || : elif [ -x "$1" ]; then echo "$1" else which "$1" || : fi } with_bash_42=0 with_printf=1 if [ -z "$BASH_VERSION" ]; then [ -z "$(commandex printf)" ] && with_printf=0 else [ "${BASH_VERSINFO[0]}" -eq 4 -a "${BASH_VERSINFO[1]}" -ge 2 -o \ "${BASH_VERSINFO[0]}" -gt 4 ] && with_bash_42=1 fi wsrep_log() { local t # echo everything to stderr so that it gets into common error log # deliberately made to look different from the rest of the log if [ "$OS" = 'Linux' ]; then t=$(date '+%Y%m%d %H:%M:%S.%3N') elif [ $with_bash_42 -ne 0 ]; then printf -v t '%(%Y%m%d %H:%M:%S)T.000' else t=$(date '+%Y%m%d %H:%M:%S.000') fi echo "WSREP_SST: $* ($t)" >&2 } wsrep_log_error() { wsrep_log "[ERROR] $*" } wsrep_log_warning() { wsrep_log "[WARNING] $*" } wsrep_log_info() { wsrep_log "[INFO] $*" } trim_string() { if [ -n "$BASH_VERSION" ]; then local pattern="[![:space:]${2:-}]" local x="${1#*$pattern}" local z=${#1} x=${#x} if [ $x -ne $z ]; then local y="${1%$pattern*}" y=${#y} x=$(( z-x-1 )) y=$(( y-x+1 )) echo "${1:$x:$y}" else echo '' fi else local pattern="[[:space:]${2:-}]" echo "$1" | sed -E "s/^$pattern+|$pattern+\$//g" fi } trim_dir() { if [ -n "$BASH_VERSION" ]; then local pattern="![:space:]${2:-}" local x="${1#*[$pattern]}" local z=${#1} x=${#x} if [ $x -ne $z ]; then local y="${1%[$pattern/]*}" y=${#y} x=$(( z-x-1 )) y=$(( y-x+1 )) x="${1:$x:$y}" [ -z "$x" ] && x='.' echo "$x" else echo '' fi else local pattern="[:space:]${2:-}" local x=$(echo "$1" | sed -E "s/^[$pattern]+|[$pattern/]+\$//g") if [ -n "$x" ]; then echo "$x" elif "${1#*/}" != "$1"; then echo '.' else echo '' fi fi } trim_right() { if [ -n "$BASH_VERSION" ]; then local pattern="[![:space:]${2:-}]" local z=${#1} local y="${1%$pattern*}" y=${#y} if [ $y -ne $z ]; then y=$(( y+1 )) echo "${1:0:$y}" else echo '' fi else local pattern="[[:space:]${2:-}]" echo "$1" | sed -E "s/$pattern+\$//g" fi } trim_left() { if [ -n "$BASH_VERSION" ]; then local pattern="[![:space:]${2:-}]" local x="${1#*$pattern}" local z=${#1} x=${#x} if [ $x -ne $z ]; then x=$(( z-x-1 )) echo "${1:$x:$z}" else echo '' fi else local pattern="[[:space:]${2:-}]" echo "$1" | sed -E "s/^$pattern+//g" fi } to_minuses() { local x="$1" local t="${1#*_}" local r="" while [ "$t" != "$x" ]; do r="$r${x%%_*}-" x="$t" t="${t#*_}" done echo "$r$x" } WSREP_SST_OPT_BYPASS=0 WSREP_SST_OPT_PROGRESS=0 WSREP_SST_OPT_BINLOG="" WSREP_SST_OPT_BINLOG_INDEX="" WSREP_SST_OPT_LOG_BASENAME="" WSREP_SST_OPT_DATA="" WSREP_SST_OPT_AUTH="${WSREP_SST_OPT_AUTH:-}" WSREP_SST_OPT_USER="${WSREP_SST_OPT_USER:-}" WSREP_SST_OPT_PSWD="${WSREP_SST_OPT_PSWD:-}" WSREP_SST_OPT_DEFAULT="" WSREP_SST_OPT_DEFAULTS="" WSREP_SST_OPT_EXTRA_DEFAULT="" WSREP_SST_OPT_EXTRA_DEFAULTS="" WSREP_SST_OPT_SUFFIX_DEFAULT="" WSREP_SST_OPT_SUFFIX_VALUE="" WSREP_SST_OPT_MYSQLD="" WSREP_SST_OPT_PORT="" WSREP_SST_OPT_ADDR="" WSREP_SST_OPT_ADDR_PORT="" WSREP_SST_OPT_HOST="" WSREP_SST_OPT_HOST_UNESCAPED="" ARIA_LOG_DIR="" INNODB_DATA_HOME_DIR=$(trim_dir "${INNODB_DATA_HOME_DIR:-}") INNODB_LOG_GROUP_HOME=$(trim_dir "${INNODB_LOG_GROUP_HOME:-}") INNODB_UNDO_DIR=$(trim_dir "${INNODB_UNDO_DIR:-}") INNODB_BUFFER_POOL="" INNODB_BUFFER_POOL_SIZE="" INNODB_FORCE_RECOVERY="" INNOEXTRA="" while [ $# -gt 0 ]; do case "$1" in '--address') WSREP_SST_OPT_ADDR=$(trim_string "$2") # # Break address string into host:port/path parts # case "$WSREP_SST_OPT_ADDR" in \[*) # IPv6 # Remove the starting and ending square brackets, if present: addr="${WSREP_SST_OPT_ADDR#\[}" addr=$(trim_right "${addr%%\]*}") # Some utilities and subsequent code require an address # without square brackets: readonly WSREP_SST_OPT_HOST_UNESCAPED="$addr" # Square brackets are needed in most cases: readonly WSREP_SST_OPT_HOST="[$addr]" # Mark this address as IPv6: readonly WSREP_SST_OPT_HOST_IPv6=1 # Let's remove the leading part that contains the host address: remain="${WSREP_SST_OPT_ADDR#*\]}" ;; *) addr=$(trim_right "${WSREP_SST_OPT_ADDR%%[:/]*}") readonly WSREP_SST_OPT_HOST="$addr" readonly WSREP_SST_OPT_HOST_UNESCAPED="$addr" readonly WSREP_SST_OPT_HOST_IPv6=0 # Let's remove the leading part that contains the host address: remain="${WSREP_SST_OPT_ADDR#*[:/]}" ;; esac # If there is nothing but the address, then the remainder is empty: [ "$remain" = "$WSREP_SST_OPT_ADDR" ] && remain="" # Let's remove the ":" character that separates the port number # from the hostname: remain="${remain#:}" # Extract the port number from the address - all characters # up to "/" (if present): WSREP_SST_OPT_ADDR_PORT="${remain%%/*}" # If the "/" character is present, then the path is not empty: if [ "$WSREP_SST_OPT_ADDR_PORT" != "$remain" ]; then # This operation removes everything up to the "/" character, # effectively removing the port number from the string: readonly WSREP_SST_OPT_PATH="${remain#*/}" else readonly WSREP_SST_OPT_PATH="" fi WSREP_SST_OPT_ADDR_PORT=$(trim_right "$WSREP_SST_OPT_ADDR_PORT") # Remove the module name part from the string, which ends with "/": remain="${WSREP_SST_OPT_PATH#*/}" # This operation removes the tail after the very first occurrence # of the "/" character, inclusively: readonly WSREP_SST_OPT_MODULE=$(trim_right "${WSREP_SST_OPT_PATH%%/*}") # If there is one more "/" in the string, then everything before # it will be the LSN, otherwise the LSN is empty: if [ "$remain" != "$WSREP_SST_OPT_PATH" ]; then # Extract the part that matches the LSN by removing all # characters starting from the very first "/": readonly WSREP_SST_OPT_LSN=$(trim_right "${remain%%/*}") # Exctract everything after the first occurrence of # the "/" character in the string: source="$remain" remain="${remain#*/}" # If the remainder does not match the original string, # then there is something else (the version number in # our case): if [ "$remain" != "$source" ]; then # Let's extract the version number by removing the tail # after the very first occurence of the "/" character # (inclusively): readonly WSREP_SST_OPT_SST_VER=$(trim_right "${remain%%/*}") else readonly WSREP_SST_OPT_SST_VER="" fi else readonly WSREP_SST_OPT_LSN="" readonly WSREP_SST_OPT_SST_VER="" fi shift ;; '--bypass') readonly WSREP_SST_OPT_BYPASS=1 ;; '--progress') readonly WSREP_SST_OPT_PROGRESS=$(( $2 )) shift ;; '--datadir') # Let's remove the trailing slash: readonly WSREP_SST_OPT_DATA=$(trim_dir "$2") shift ;; '--aria-log-dir-path') # Let's remove the trailing slash: readonly ARIA_LOG_DIR=$(trim_dir "$2") shift ;; '--innodb-data-home-dir') # Let's remove the trailing slash: readonly INNODB_DATA_HOME_DIR=$(trim_dir "$2") shift ;; '--innodb-log-group-home-dir') # Let's remove the trailing slash: readonly INNODB_LOG_GROUP_HOME=$(trim_dir "$2") shift ;; '--innodb-undo-directory') # Let's remove the trailing slash: readonly INNODB_UNDO_DIR=$(trim_dir "$2") shift ;; '--innodb-buffer-pool-filename') readonly INNODB_BUFFER_POOL=$(trim_string "$2") shift ;; '--innodb-buffer-pool-size') readonly INNODB_BUFFER_POOL_SIZE=$(trim_string "$2") shift ;; '--defaults-file') file=$(trim_string "$2") readonly WSREP_SST_OPT_DEFAULT="$1=$file" readonly WSREP_SST_OPT_DEFAULTS="$1='$file'" shift ;; '--defaults-extra-file') file=$(trim_string "$2") readonly WSREP_SST_OPT_EXTRA_DEFAULT="$1=$file" readonly WSREP_SST_OPT_EXTRA_DEFAULTS="$1='$file'" shift ;; '--defaults-group-suffix') suffix=$(trim_string "$2") readonly WSREP_SST_OPT_SUFFIX_DEFAULT="$1=$suffix" readonly WSREP_SST_OPT_SUFFIX_VALUE="$suffix" shift ;; '--host') addr=$(trim_string "$2") case "$addr" in \[*) # IPv6 # Remove the starting and ending square brackets, if present: addr="${addr#\[}" addr=$(trim_right "${addr%%\]*}") # Some utilities and subsequent code require an address # without square brackets: readonly WSREP_SST_OPT_HOST_UNESCAPED="$addr" # Square brackets are needed in most cases: readonly WSREP_SST_OPT_HOST="[$addr]" # Mark this address as IPv6: readonly WSREP_SST_OPT_HOST_IPv6=1 ;; *) readonly WSREP_SST_OPT_HOST="$addr" readonly WSREP_SST_OPT_HOST_UNESCAPED="$addr" readonly WSREP_SST_OPT_HOST_IPv6=0 ;; esac WSREP_SST_OPT_ADDR="$addr" shift ;; '--local-port') readonly WSREP_SST_OPT_LPORT=$(( $2 )) shift ;; '--parent') readonly WSREP_SST_OPT_PARENT=$(( $2 )) shift ;; '--password') WSREP_SST_OPT_PSWD="$2" shift ;; '--port') readonly WSREP_SST_OPT_PORT=$(( $2 )) shift ;; '--role') readonly WSREP_SST_OPT_ROLE=$(trim_string "$2") shift ;; '--socket') readonly WSREP_SST_OPT_SOCKET=$(trim_string "$2") shift ;; '--user') WSREP_SST_OPT_USER="$2" shift ;; '--gtid') readonly WSREP_SST_OPT_GTID=$(trim_string "$2") shift ;; '--binlog'|'--log-bin') readonly WSREP_SST_OPT_BINLOG=$(trim_string "$2") shift ;; '--binlog-index'|'--log-bin-index') WSREP_SST_OPT_BINLOG_INDEX=$(trim_string "$2") shift ;; '--log-basename') readonly WSREP_SST_OPT_LOG_BASENAME=$(trim_string "$2") shift ;; '--gtid-domain-id') readonly WSREP_SST_OPT_GTID_DOMAIN_ID=$(trim_string "$2") shift ;; '--mysqld-args') original_cmd="" shift cmd_tail=0 while [ $# -gt 0 ]; do lname="${1#--}" # "--" is interpreted as the end of the list of options: if [ -z "$lname" ]; then shift if [ $# -gt 0 ]; then # copy "--" to the output string: original_cmd="$original_cmd --" # All other arguments must be copied unchanged: while [ $# -gt 0 ]; do original_cmd="$original_cmd '$1'" shift done fi break fi # Make sure the argument does not start with "--", otherwise it # is a long option, which is processed after this "if": if [ "$lname" = "$1" ]; then # Check if the argument is the short option or the short # options list, starting with "-": options="${1#-}" if [ "$options" != "$1" -a -n "$options" ]; then slist="" while [ -n "$options" ]; do # Let's separate the first character as the current # option name: if [ -n "$BASH_VERSION" ]; then option="${options:0:1}" elif [ $with_printf -ne 0 ]; then option=$(printf '%.1s' "$options") else # If it's not bash and without printf, # then we need to use slow external utilities: option=$(echo "$options" | cut -c1) fi # And the subsequent characters consider option value: value="" if [ ${#options} -gt 0 ]; then value="${options#?}" fi # Check for options without argument: if [ "$option" != '?' -a \ "$option" != 'a' -a \ "$option" != 's' -a \ "$option" != 'v' ] then # If the option value is absent, then check # the following argument: if [ -z "$value" -a $# -gt 1 ]; then # if the next argument does not start with # the "-" character, then next argument is # the current option value: if [ "${2#-}" = "$2" ]; then shift value="$1" elif [ "$2" = '--' ]; then shift if [ $# -gt 1 ]; then cmd_tail=1 shift value="$1" fi fi fi if [ "$option" = 'h' ]; then if [ -z "$WSREP_SST_OPT_DATA" ]; then MYSQLD_OPT_DATADIR=$(trim_dir "$value") fi elif [ "$option" != 'u' -a \ "$option" != 'P' ] then if [ $cmd_tail -ne 0 ]; then option="$option --" fi if [ -z "$value" ]; then slist="$slist$option" elif [ -z "$slist" ]; then slist="$option '$value'" else slist="$slist -$option '$value'" fi break fi if [ $cmd_tail -ne 0 ]; then if [ -n "$slist" ]; then slist="$slist --" else slist='-' fi fi break else slist="$slist$option" fi options="$value" done if [ -n "$slist" ]; then original_cmd="$original_cmd -$slist" fi elif [ -z "$options" ]; then # We found an minus sign without any characters after it: original_cmd="$original_cmd -" else # We found a value that does not start with a minus - # it is a positional argument or the value of previous # option. Copy it to output string (as is): original_cmd="$original_cmd '$1'" fi shift if [ $cmd_tail -ne 0 ]; then # All other arguments must be copied unchanged: while [ $# -gt 0 ]; do original_cmd="$original_cmd '$1'" shift done break fi continue fi # Now we are sure that we are working with an option # that has a "long" name, so remove all characters after # the first equal sign: option="${1%%=*}" # If the option name contains underscores, then replace # them to minuses: if [ "${option#*_}" != "$option" ]; then option=$(to_minuses "$option") fi # The "--loose-" prefix should not affect the recognition # of the option name: if [ "${option#--loose-}" != "$option" ]; then option="--${option#--loose-}" fi # Some options just need to be removed from the list: if [ "$option" != '--defaults-file' -a \ "$option" != '--defaults-extra-file' -a \ "$option" != '--defaults-group-suffix' -a \ "$option" != '--user' -a \ "$option" != '--port' -a \ "$option" != '--socket' ]; then value="${1#*=}" if [ "$value" = "$1" ]; then value="" fi # Let's fill in the variables containing important paths # that might not have been passed through explicit parameters # (+ removing the trailing slash in these paths). Many of these # options are processed internally within scripts or passed # explicitly to other programs, so we need to remove them # from mysqld's argument list: skip_mysqld_arg=0 case "$option" in '--aria-log-dir-path') if [ -z "$ARIA_LOG_DIR" ]; then MYSQLD_OPT_ARIA_LOG_DIR=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; '--innodb-data-home-dir') if [ -z "$INNODB_DATA_HOME_DIR" ]; then MYSQLD_OPT_INNODB_DATA_HOME_DIR=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; '--innodb-log-group-home-dir') if [ -z "$INNODB_LOG_GROUP_HOME" ]; then MYSQLD_OPT_INNODB_LOG_GROUP_HOME=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; '--innodb-undo-directory') if [ -z "$INNODB_UNDO_DIR" ]; then MYSQLD_OPT_INNODB_UNDO_DIR=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; '--innodb-buffer-pool-filename') if [ -z "$INNODB_BUFFER_POOL" ]; then MYSQLD_OPT_INNODB_BUFFER_POOL=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--innodb-buffer-pool-size') if [ -z "$INNODB_BUFFER_POOL_SIZE" ]; then MYSQLD_OPT_INNODB_BUFFER_POOL_SIZE=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--innodb-force-recovery') if [ -n "$value" -a "$value" != "0" ]; then INNODB_FORCE_RECOVERY=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--log-bin') if [ -z "$WSREP_SST_OPT_BINLOG" ]; then MYSQLD_OPT_LOG_BIN=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--log-bin-index') if [ -z "$WSREP_SST_OPT_BINLOG_INDEX" ]; then MYSQLD_OPT_LOG_BIN_INDEX=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--log-basename') if [ -z "$WSREP_SST_OPT_LOG_BASENAME" ]; then MYSQLD_OPT_LOG_BASENAME=$(trim_string "$value") fi skip_mysqld_arg=1 ;; '--datadir') if [ -z "$WSREP_SST_OPT_DATA" ]; then MYSQLD_OPT_DATADIR=$(trim_dir "$value") fi skip_mysqld_arg=1 ;; esac if [ $skip_mysqld_arg -eq 0 ]; then original_cmd="$original_cmd '$1'" fi fi shift done WSREP_SST_OPT_MYSQLD="${original_cmd# *}" break ;; *) # Must be command usage # exit 1 ;; esac shift done WSREP_TRANSFER_TYPE='SST' [ $WSREP_SST_OPT_BYPASS -ne 0 ] && readonly WSREP_TRANSFER_TYPE='IST' # Let's take the name of the current script as a base, # removing the directory, extension and "wsrep_sst_" prefix: WSREP_METHOD="${0##*/}" WSREP_METHOD="${WSREP_METHOD%.*}" readonly WSREP_METHOD="${WSREP_METHOD#wsrep_sst_}" if [ -n "${WSREP_SST_OPT_ROLE+x}" ]; then if [ "$WSREP_SST_OPT_ROLE" != 'donor' -a \ "$WSREP_SST_OPT_ROLE" != 'joiner' ] then wsrep_log_error "Unrecognized role: '$WSREP_SST_OPT_ROLE'" exit 22 # EINVAL fi else readonly WSREP_SST_OPT_ROLE='donor' fi readonly WSREP_SST_OPT_PROGRESS # The same argument can be present on the command line several # times, in this case we must take its last value: if [ -n "${MYSQLD_OPT_ARIA_LOG_DIR:-}" -a \ -z "$ARIA_LOG_DIR" ]; then readonly ARIA_LOG_DIR="$MYSQLD_OPT_ARIA_LOG_DIR" fi if [ -n "${MYSQLD_OPT_INNODB_DATA_HOME_DIR:-}" -a \ -z "$INNODB_DATA_HOME_DIR" ]; then readonly INNODB_DATA_HOME_DIR="$MYSQLD_OPT_INNODB_DATA_HOME_DIR" fi if [ -n "${MYSQLD_OPT_INNODB_LOG_GROUP_HOME:-}" -a \ -z "$INNODB_LOG_GROUP_HOME" ]; then readonly INNODB_LOG_GROUP_HOME="$MYSQLD_OPT_INNODB_LOG_GROUP_HOME" fi if [ -n "${MYSQLD_OPT_INNODB_UNDO_DIR:-}" -a \ -z "$INNODB_UNDO_DIR" ]; then readonly INNODB_UNDO_DIR="$MYSQLD_OPT_INNODB_UNDO_DIR" fi if [ -n "${MYSQLD_OPT_INNODB_BUFFER_POOL:-}" -a \ -z "$INNODB_BUFFER_POOL" ]; then readonly INNODB_BUFFER_POOL="$MYSQLD_OPT_INNODB_BUFFER_POOL" fi if [ -n "${MYSQLD_OPT_INNODB_BUFFER_POOL_SIZE:-}" -a \ -z "$INNODB_BUFFER_POOL_SIZE" ]; then readonly INNODB_BUFFER_POOL_SIZE="$MYSQLD_OPT_INNODB_BUFFER_POOL_SIZE" fi if [ -n "${MYSQLD_OPT_LOG_BIN:-}" -a \ -z "$WSREP_SST_OPT_BINLOG" ]; then readonly WSREP_SST_OPT_BINLOG="$MYSQLD_OPT_LOG_BIN" fi if [ -n "${MYSQLD_OPT_LOG_BIN_INDEX:-}" -a \ -z "$WSREP_SST_OPT_BINLOG_INDEX" ]; then WSREP_SST_OPT_BINLOG_INDEX="$MYSQLD_OPT_LOG_BIN_INDEX" fi if [ -n "${MYSQLD_OPT_DATADIR:-}" -a \ -z "$WSREP_SST_OPT_DATA" ]; then readonly WSREP_SST_OPT_DATA="$MYSQLD_OPT_DATADIR" fi if [ -n "${MYSQLD_OPT_LOG_BASENAME:-}" -a \ -z "$WSREP_SST_OPT_LOG_BASENAME" ]; then readonly WSREP_SST_OPT_LOG_BASENAME="$MYSQLD_OPT_LOG_BASENAME" fi # If the --log-bin option is present without a value, then # set WSREP_SST_OPT_BINLOG value using other arguments: if [ -z "$WSREP_SST_OPT_BINLOG" -a -n "${MYSQLD_OPT_LOG_BIN+x}" ]; then if [ -n "$WSREP_SST_OPT_LOG_BASENAME" ]; then # If the WSREP_SST_OPT_BINLOG variable is not set, but # --log-basename is present among the arguments to mysqld, # then set WSREP_SST_OPT_BINLOG equal to the base name # with the "-bin" suffix: readonly WSREP_SST_OPT_BINLOG="$WSREP_SST_OPT_LOG_BASENAME-bin" else # Take the default name: readonly WSREP_SST_OPT_BINLOG='mysql-bin' fi fi # Reconstructing the command line arguments that control the innodb # and binlog options: if [ -n "$WSREP_SST_OPT_LOG_BASENAME" ]; then if [ -n "$WSREP_SST_OPT_MYSQLD" ]; then WSREP_SST_OPT_MYSQLD="--log-basename='$WSREP_SST_OPT_LOG_BASENAME' $WSREP_SST_OPT_MYSQLD" else WSREP_SST_OPT_MYSQLD="--log-basename='$WSREP_SST_OPT_LOG_BASENAME'" fi fi if [ -n "$ARIA_LOG_DIR" ]; then INNOEXTRA="$INNOEXTRA --aria-log-dir-path='$ARIA_LOG_DIR'" fi if [ -n "$INNODB_DATA_HOME_DIR" ]; then INNOEXTRA="$INNOEXTRA --innodb-data-home-dir='$INNODB_DATA_HOME_DIR'" fi if [ -n "$INNODB_LOG_GROUP_HOME" ]; then INNOEXTRA="$INNOEXTRA --innodb-log-group-home-dir='$INNODB_LOG_GROUP_HOME'" fi if [ -n "$INNODB_UNDO_DIR" ]; then INNOEXTRA="$INNOEXTRA --innodb-undo-directory='$INNODB_UNDO_DIR'" fi if [ -n "$INNODB_BUFFER_POOL" ]; then INNOEXTRA="$INNOEXTRA --innodb-buffer-pool-filename='$INNODB_BUFFER_POOL'" fi if [ -n "$INNODB_BUFFER_POOL_SIZE" ]; then INNOEXTRA="$INNOEXTRA --innodb-buffer-pool-size='$INNODB_BUFFER_POOL_SIZE'" fi if [ -n "$WSREP_SST_OPT_BINLOG" ]; then INNOEXTRA="$INNOEXTRA --log-bin='$WSREP_SST_OPT_BINLOG'" if [ -n "$WSREP_SST_OPT_BINLOG_INDEX" ]; then if [ -n "$WSREP_SST_OPT_MYSQLD" ]; then WSREP_SST_OPT_MYSQLD="--log-bin-index='$WSREP_SST_OPT_BINLOG_INDEX' $WSREP_SST_OPT_MYSQLD" else WSREP_SST_OPT_MYSQLD="--log-bin-index='$WSREP_SST_OPT_BINLOG_INDEX'" fi fi fi readonly INNODB_FORCE_RECOVERY readonly WSREP_SST_OPT_MYSQLD get_binlog() { # if no command line argument and WSREP_SST_OPT_BINLOG is not set, # try to get it from my.cnf: if [ -z "$WSREP_SST_OPT_BINLOG" ]; then WSREP_SST_OPT_BINLOG=$(parse_cnf '--mysqld' 'log-bin') fi # if no command line argument and WSREP_SST_OPT_BINLOG_INDEX is not set, # try to get it from my.cnf: if [ -z "$WSREP_SST_OPT_BINLOG_INDEX" ]; then WSREP_SST_OPT_BINLOG_INDEX=$(parse_cnf '--mysqld' 'log-bin-index') fi # if no command line argument and WSREP_SST_OPT_LOG_BASENAME is not set, # then try to get it from my.cnf: if [ -z "$WSREP_SST_OPT_LOG_BASENAME" ]; then WSREP_SST_OPT_LOG_BASENAME=$(parse_cnf '--mysqld' 'log-basename') fi if [ -z "$WSREP_SST_OPT_BINLOG" ]; then # If the log-bin option is specified without a parameter, # then we need to build the name of the index file according # to the rules described in the server documentation: if [ $(in_config '--mysqld' 'log-bin') -ne 0 ]; then if [ -n "$WSREP_SST_OPT_LOG_BASENAME" ]; then # If the WSREP_SST_OPT_BINLOG variable is not set, but # --log-basename is present among the arguments of mysqld, # then set WSREP_SST_OPT_BINLOG equal to the base name # with the "-bin" suffix: readonly WSREP_SST_OPT_BINLOG="$WSREP_SST_OPT_LOG_BASENAME-bin" else # Take the default name: readonly WSREP_SST_OPT_BINLOG='mysql-bin' fi fi fi if [ -n "$WSREP_SST_OPT_BINLOG" ]; then # If the name of the index file is not specified, then we will build # it according to the specifications for the server: if [ -z "$WSREP_SST_OPT_BINLOG_INDEX" ]; then if [ -n "$WSREP_SST_OPT_LOG_BASENAME" ]; then # If the WSREP_SST_OPT_BINLOG_INDEX variable is not set, but # --log-basename is present among the arguments of mysqld, # then set WSREP_SST_OPT_BINLOG_INDEX equal to the base name # with the "-bin" suffix: readonly WSREP_SST_OPT_BINLOG_INDEX="$WSREP_SST_OPT_LOG_BASENAME-bin.index" else # Use the default name (note that base of this name # is already defined above): readonly WSREP_SST_OPT_BINLOG_INDEX="$WSREP_SST_OPT_BINLOG.index" fi else # Remove all directories from the index file path: local filename="${WSREP_SST_OPT_BINLOG_INDEX##*/}" # Check if the index file name contains the extension: if [ "${filename%.*}" = "$filename" ]; then # Let's add the default extension (".index"): readonly WSREP_SST_OPT_BINLOG_INDEX="$WSREP_SST_OPT_BINLOG_INDEX.index" else readonly WSREP_SST_OPT_BINLOG_INDEX fi fi fi } # Check the presence of the port value and, if necessary, transfer # the port number from the address to the WSREP_SST_OPT_PORT variable # or vice versa, and also, if necessary, substitute the missing port # value into the address value: if [ -n "$WSREP_SST_OPT_ADDR_PORT" ]; then if [ -n "$WSREP_SST_OPT_PORT" ]; then if [ "$WSREP_SST_OPT_PORT" != "$WSREP_SST_OPT_ADDR_PORT" ]; then echo "WSREP_SST: [ERROR] port in --port=$WSREP_SST_OPT_PORT" \ "differs from port in --address=$WSREP_SST_OPT_ADDR" >&2 exit 2 fi else # If the address contains a port number, assign it to # the corresponding variable: readonly WSREP_SST_OPT_PORT="$WSREP_SST_OPT_ADDR_PORT" fi else # If the port is missing, take the default port: if [ -z "$WSREP_SST_OPT_PORT" ]; then readonly WSREP_SST_OPT_PORT=4444 fi WSREP_SST_OPT_ADDR_PORT="$WSREP_SST_OPT_PORT" fi # Let's construct a new value for the address with the port: sst_path="${WSREP_SST_OPT_PATH:+/}$WSREP_SST_OPT_PATH" WSREP_SST_OPT_ADDR="$WSREP_SST_OPT_HOST:$WSREP_SST_OPT_PORT$sst_path" readonly WSREP_SST_OPT_ADDR readonly WSREP_SST_OPT_ADDR_PORT # try to use my_print_defaults, mysql and mysqldump that come # with the sources (for MTR suite): script_binary=$(dirname "$0") SCRIPTS_DIR=$(cd "$script_binary"; pwd) EXTRA_DIR="$SCRIPTS_DIR/../extra" if [ -x "$SCRIPTS_DIR/my_print_defaults" ]; then MY_PRINT_DEFAULTS="$SCRIPTS_DIR/my_print_defaults" elif [ -x "$EXTRA_DIR/my_print_defaults" ]; then MY_PRINT_DEFAULTS="$EXTRA_DIR/my_print_defaults" else MY_PRINT_DEFAULTS=$(commandex 'my_print_defaults') if [ -z "$MY_PRINT_DEFAULTS" ]; then wsrep_log_error "my_print_defaults not found in path" exit 2 fi fi readonly MY_PRINT_DEFAULTS wsrep_defaults="$WSREP_SST_OPT_DEFAULTS" wsrep_defaults="$wsrep_defaults${WSREP_SST_OPT_EXTRA_DEFAULTS:+ }$WSREP_SST_OPT_EXTRA_DEFAULTS" wsrep_defaults="$wsrep_defaults${WSREP_SST_OPT_SUFFIX_DEFAULT:+ }$WSREP_SST_OPT_SUFFIX_DEFAULT" readonly WSREP_SST_OPT_CONF="${wsrep_defaults:+ }$wsrep_defaults" wsrep_defaults="$WSREP_SST_OPT_DEFAULT" wsrep_defaults="$wsrep_defaults${WSREP_SST_OPT_EXTRA_DEFAULT:+ }$WSREP_SST_OPT_EXTRA_DEFAULT" wsrep_defaults="$wsrep_defaults${WSREP_SST_OPT_SUFFIX_DEFAULT:+ }$WSREP_SST_OPT_SUFFIX_DEFAULT" readonly WSREP_SST_OPT_CONF_UNQUOTED="${wsrep_defaults:+ }$wsrep_defaults" # # User can specify mariabackup specific settings that will be used during sst # process like encryption, etc. Parse such configuration option. # # 1st parameter: group (config file section like sst) or # my_print_defaults argument (like --mysqld) # 2nd parameter: var : name of the variable in the section, e.g. server-id # 3rd parameter: default value for the parameter # parse_cnf() { local groups="$1" local var="$2" local reval="" # normalize the variable names specified in the .cnf file # (user can use '_' or '-', for example, log-bin or log_bin), # then search for the last instance of the desired variable # and finally get the value of that variable (if the variable # was specified several times - we use only its last instance): local pattern='BEGIN {OFS=FS="="} {sub(/^--loose/,"-",$0); gsub(/_/,"-",$1); if ($1=="--'"$var"'") lastval=substr($0,length($1)+2)} END {print lastval}' while [ -n "$groups" ]; do # Remove the largest suffix starting with the '|' character: local group="${groups%%\|*}" # Remove the remainder (the group name) from the rest # of the groups list (as if it were a prefix): if [ "$group" != "$groups" ]; then groups="${groups#*\|}" else groups="" fi # If the group name is the same as the "mysqld" without "--" prefix, # then try to use it together with the group suffix: if [ "$group" = 'mysqld' -a -n "$WSREP_SST_OPT_SUFFIX_VALUE" ]; then reval=$("$MY_PRINT_DEFAULTS" \ ${WSREP_SST_OPT_DEFAULT:+"$WSREP_SST_OPT_DEFAULT"} \ ${WSREP_SST_OPT_EXTRA_DEFAULT:+"$WSREP_SST_OPT_EXTRA_DEFAULT"} \ ${WSREP_SST_OPT_SUFFIX_DEFAULT:+"$WSREP_SST_OPT_SUFFIX_DEFAULT"} \ "mysqld$WSREP_SST_OPT_SUFFIX_VALUE" | awk "$pattern") if [ -n "$reval" ]; then break fi fi # Let's try to use the group name as it is: reval=$("$MY_PRINT_DEFAULTS" \ ${WSREP_SST_OPT_DEFAULT:+"$WSREP_SST_OPT_DEFAULT"} \ ${WSREP_SST_OPT_EXTRA_DEFAULT:+"$WSREP_SST_OPT_EXTRA_DEFAULT"} \ ${WSREP_SST_OPT_SUFFIX_DEFAULT:+"$WSREP_SST_OPT_SUFFIX_DEFAULT"} \ "$group" | awk "$pattern") if [ -n "$reval" ]; then break fi done # Use default if we haven't found a value: [ -z "$reval" ] && reval="${3:-}" # Truncate spaces: [ -n "$reval" ] && reval=$(trim_string "$reval") echo "$reval" } # # This function simply checks for the presence of the parameter # in the config file, but does not return its value. It returns "1" # (true) even if the parameter is present in the configuration file # without a value: # in_config() { local groups="$1" local var="$2" local found=0 # normalize the variable names specified in the .cnf file # (user can use '_' or '-', for example, log-bin or log_bin), # then search for the last instance(s) of the desired variable: local pattern='BEGIN {OFS=FS="="; found=0} {sub(/^--loose/,"-",$0); gsub(/_/,"-",$1); if ($1=="--'"$var"'") found=1} END {print found}' while [ -n "$groups" ]; do # Remove the largest suffix starting with the '|' character: local group="${groups%%\|*}" # Remove the remainder (the group name) from the rest # of the groups list (as if it were a prefix): if [ "$group" != "$groups" ]; then groups="${groups#*\|}" else groups="" fi # If the group name is the same as the "mysqld" without "--" prefix, # then try to use it together with the group suffix: if [ "$group" = 'mysqld' -a -n "$WSREP_SST_OPT_SUFFIX_VALUE" ]; then found=$("$MY_PRINT_DEFAULTS" \ ${WSREP_SST_OPT_DEFAULT:+"$WSREP_SST_OPT_DEFAULT"} \ ${WSREP_SST_OPT_EXTRA_DEFAULT:+"$WSREP_SST_OPT_EXTRA_DEFAULT"} \ ${WSREP_SST_OPT_SUFFIX_DEFAULT:+"$WSREP_SST_OPT_SUFFIX_DEFAULT"} \ "mysqld$WSREP_SST_OPT_SUFFIX_VALUE" | awk "$pattern") if [ $found -ne 0 ]; then break fi fi # Let's try to use the group name as it is: found=$($MY_PRINT_DEFAULTS \ ${WSREP_SST_OPT_DEFAULT:+"$WSREP_SST_OPT_DEFAULT"} \ ${WSREP_SST_OPT_EXTRA_DEFAULT:+"$WSREP_SST_OPT_EXTRA_DEFAULT"} \ ${WSREP_SST_OPT_SUFFIX_DEFAULT:+"$WSREP_SST_OPT_SUFFIX_DEFAULT"} \ "$group" | awk "$pattern") if [ $found -ne 0 ]; then break fi done echo $found } # Get rid of incorrect values resulting from substitution # in programs external to the script: if [ "$WSREP_SST_OPT_USER" = '(null)' ]; then WSREP_SST_OPT_USER="" fi if [ "$WSREP_SST_OPT_PSWD" = '(null)' ]; then WSREP_SST_OPT_PSWD="" fi if [ "$WSREP_SST_OPT_AUTH" = '(null)' ]; then WSREP_SST_OPT_AUTH="" fi # Let's read the value of the authentication string from the # configuration file so that it does not go to the command line # and does not appear in the ps output: if [ -z "$WSREP_SST_OPT_AUTH" ]; then WSREP_SST_OPT_AUTH=$(parse_cnf 'sst' 'wsrep-sst-auth') fi # Splitting WSREP_SST_OPT_AUTH as "user:password" pair: if [ -n "$WSREP_SST_OPT_AUTH" ]; then # Extract username as shortest prefix up to first ':' character: WSREP_SST_OPT_AUTH_USER="${WSREP_SST_OPT_AUTH%%:*}" if [ -z "$WSREP_SST_OPT_USER" ]; then # if the username is not in the command line arguments, # set the username and password using WSREP_SST_OPT_AUTH # from the environment: WSREP_SST_OPT_USER="$WSREP_SST_OPT_AUTH_USER" WSREP_SST_OPT_PSWD="${WSREP_SST_OPT_AUTH#*:}" elif [ "$WSREP_SST_OPT_USER" = "$WSREP_SST_OPT_AUTH_USER" ]; then # If the username in the command line arguments and in # the environment variable are the same, set the password # if it was not specified in the command line: if [ -z "$WSREP_SST_OPT_PSWD" ]; then WSREP_SST_OPT_PSWD="${WSREP_SST_OPT_AUTH#*:}" fi else # The username is passed through the command line and does # not match the username in the environment variable - ignore # the environment and rebuild the authentication parameters: WSREP_SST_OPT_AUTH="$WSREP_SST_OPT_USER:$WSREP_SST_OPT_PSWD" fi fi WSREP_SST_OPT_REMOTE_AUTH="${WSREP_SST_OPT_REMOTE_AUTH:-}" WSREP_SST_OPT_REMOTE_USER= WSREP_SST_OPT_REMOTE_PSWD= if [ -n "$WSREP_SST_OPT_REMOTE_AUTH" ]; then # Split auth string at the last ':' WSREP_SST_OPT_REMOTE_USER="${WSREP_SST_OPT_REMOTE_AUTH%%:*}" WSREP_SST_OPT_REMOTE_PSWD="${WSREP_SST_OPT_REMOTE_AUTH#*:}" fi readonly WSREP_SST_OPT_USER readonly WSREP_SST_OPT_PSWD readonly WSREP_SST_OPT_AUTH readonly WSREP_SST_OPT_REMOTE_USER readonly WSREP_SST_OPT_REMOTE_PSWD readonly WSREP_SST_OPT_REMOTE_AUTH if [ -n "$WSREP_SST_OPT_DATA" ]; then SST_PROGRESS_FILE="$WSREP_SST_OPT_DATA/sst_in_progress" else SST_PROGRESS_FILE="" fi wsrep_cleanup_progress_file() { if [ -n "$SST_PROGRESS_FILE" -a -f "$SST_PROGRESS_FILE" ]; then rm -f "$SST_PROGRESS_FILE" 2>/dev/null || : fi } wsrep_check_program() { local prog="$1" local cmd=$(commandex "$prog") if [ -z "$cmd" ]; then wsrep_log_error "'$prog' not found in path" return 2 # no such file or directory fi } wsrep_check_programs() { local ret=0 while [ $# -gt 0 ]; do wsrep_check_program "$1" || ret=$? shift done return $ret } wsrep_check_datadir() { if [ -z "$WSREP_SST_OPT_DATA" ]; then wsrep_log_error \ "The '--datadir' parameter must be passed to the SST script" exit 2 fi } get_openssl() { # If the OPENSSL_BINARY variable is already defined, just return: if [ -n "${OPENSSL_BINARY+x}" ]; then return 0 fi # Let's look for openssl: OPENSSL_BINARY=$(commandex 'openssl') if [ -z "$OPENSSL_BINARY" ]; then OPENSSL_BINARY='/usr/bin/openssl' if [ ! -x "$OPENSSL_BINARY" ]; then OPENSSL_BINARY="" fi fi readonly OPENSSL_BINARY } # # Generate a string equivalent to 16 random bytes # wsrep_gen_secret() { get_openssl if [ -n "$OPENSSL_BINARY" ]; then "$OPENSSL_BINARY" rand -hex 16 elif [ -n "$BASH_VERSION" ]; then printf '%04x%04x%04x%04x%04x%04x%04x%04x' \ $RANDOM $RANDOM $RANDOM $RANDOM \ $RANDOM $RANDOM $RANDOM $RANDOM elif [ $with_printf -ne 0 -a -n "$(commandex cksum)" ]; then printf '%08x%08x%08x%08x' \ $(head -8 /dev/urandom | cksum | cut -d ' ' -f1) \ $(head -8 /dev/urandom | cksum | cut -d ' ' -f1) \ $(head -8 /dev/urandom | cksum | cut -d ' ' -f1) \ $(head -8 /dev/urandom | cksum | cut -d ' ' -f1) else wsrep_log_error "Unable to generate 16-byte secret" exit 22 fi } # # Checking if the address passed to us is local. # If the second parameter is nonzero, then this function # does not check for matches with local domain names: # is_local_ip() { # Rapid recognition of the most common cases: [ "$1" = '127.0.0.1' -o \ "$1" = '127.0.0.2' -o \ "$1" = 'localhost' -o \ "$1" = '::1' ] && return 0 # If the address starts with "127." this is probably a local # address, but we need to clarify what follows this prefix: if [ "${1#127.}" != "$1" ]; then # All 127.0.0.0/8 addresses are local: if echo "$1" | grep -q -E '^127\.[0-9]+\.[0-9]+\.[0-9]+$'; then return 0 fi fi # If the second parameter is nonzero, then we will skip # the domain name check: if [ "${2:-0}" -eq 0 ]; then # We consider all the names of a given host to be local addresses: [ "$1" = "$(hostname -s 2>/dev/null)" -o \ "$1" = "$(hostname -f 2>/dev/null)" -o \ "$1" = "$(hostname -d 2>/dev/null)" ] && return 0 fi # If the address contains anything other than digits # and separators, it is not a local address: [ "${1#*[!0-9.]}" != "$1" ] && \ [ "${1#*[!0-9A-Fa-f:\[\]]}" != "$1" ] && return 1 # Now let's check if the given address is assigned to # one of the network cards: local ip_util=$(commandex 'ip') if [ -n "$ip_util" ]; then # ip address show ouput format is " inet[6] <address>/<mask>": "$ip_util" address show \ | grep -o -E '^[[:space:]]*inet.?[[:space:]]+[^[:space:]]+/' \ | grep -qw -F -- "$1/" && return 0 else local ifconfig_util=$(commandex 'ifconfig') if [ -n "$ifconfig_util" ]; then # ifconfig output format is " inet[6] <address> ...": "$ifconfig_util" \ | grep -o -E '^[[:space:]]*inet.?[[:space:]]+[^[:space:]]+' \ | grep -qw -F -- "$1" && return 0 fi fi return 1 } check_sockets_utils() { # The presence of any of these utilities is enough for us: lsof_available=0 sockstat_available=0 ss_available=0 socket_utility="$(commandex ss)" if [ -n "$socket_utility" ]; then socket_uname='ss' ss_available=1 ss_opts='-nlp' # Let's check that ss has an option to skip headers: if $socket_utility -h 2>&1 | grep -qw -F -- '-H'; then ss_available=2 ss_opts="${ss_opts}H" fi else socket_utility="$(commandex sockstat)" if [ -n "$socket_utility" ]; then socket_uname='sockstat' sockstat_available=1 sockstat_opts='-p' if [ "$OS" = 'FreeBSD' ]; then # sockstat in FreeBSD is different from other systems, # let's denote it with a different value: sockstat_available=2 sockstat_opts='-46lq -P tcp -p' fi else socket_utility="$(commandex lsof)" if [ -n "$socket_utility" ]; then socket_uname='lsof' lsof_available=1 lsof_opts='-Pnl' # Let's check that lsof has an option to bypass blocking: if $socket_utility -h 2>&1 | grep -qw -F -- '-b'; then lsof_available=2 lsof_opts="$lsof_opts -b -w" else lsof_opts="$lsof_opts -S 10" fi else wsrep_log_error "Neither lsof, nor sockstat, nor ss tool" \ "were found in the path. Make sure you have" \ "at least one of them installed." exit 2 # ENOENT fi fi fi wsrep_log_info "'$socket_uname' is selected as a socket" \ "information utility." } # # Check if the port is in the "listen" state. # The first parameter is the PID of the process that should # listen on the port - if it is not known, you can specify # an empty string or zero. # The second parameter is the port number. # The third parameter is a list of the names of utilities # (via "|") that can listen on this port during the state # transfer. # check_port() { local pid="${1:-0}" local port="$2" local utils="$3" [ $pid -le 0 ] && pid='[0-9]+' local rc=2 # ENOENT if [ $ss_available -ne 0 ]; then $socket_utility $ss_opts -t "( sport = :$port )" 2>/dev/null | \ grep -q -E "[[:space:]]users:[[:space:]]?\\(.*\\(\"($utils)[^[:space:]]*\"[^)]*,pid=$pid(,[^)]*)?\\)" && rc=0 elif [ $sockstat_available -ne 0 ]; then if [ $sockstat_available -gt 1 ]; then # The sockstat command on FreeBSD does not return # the connection state without special option, but # it supports filtering by connection state: local out out=$($socket_utility $sockstat_opts "$port" 2>/dev/null) || rc=16 # EBUSY # On FreeBSD, the sockstat utility may exit without # any output due to locking issues in certain versions; # let's return a special exit code in such cases: if [ $rc -eq 16 -o -z "$out" ]; then return 16 # EBUSY fi echo "$out" | \ grep -q -E "^[^[:space:]]+[[:space:]]+($utils)[^[:space:]]*[[:space:]]+$pid([[:space:]]|\$)" && rc=0 else $socket_utility $sockstat_opts "$port" 2>/dev/null | \ grep -q -E "^[^[:space:]]+[[:space:]]+($utils)[^[:space:]]*[[:space:]]+$pid([[:space:]].+)?[[:space:]]LISTEN([[:space:]]|\$)" && rc=0 fi elif [ $lsof_available -ne 0 ]; then $socket_utility $lsof_opts -i ":$port" 2>/dev/null | \ grep -q -E "^($utils)[^[:space:]]*[[:space:]]+$pid([[:space:]].+)?[[:space:]]\\(LISTEN\\)([[:space:]]|\$)" && rc=0 else wsrep_log_error "Unknown sockets utility" exit 2 # ENOENT fi return $rc } # # If the ssl_dhparams variable is already set, uses that as a source # of dh parameters for OpenSSL. Otherwise, looks for dhparams.pem in # the datadir, and creates it there if it can't find the file. # check_for_dhparams() { ssl_dhparams="$DATA/dhparams.pem" get_openssl if [ -n "$OPENSSL_BINARY" ]; then wsrep_log_info \ "Could not find dhparams file, creating $ssl_dhparams" local bug=0 local errmsg errmsg=$("$OPENSSL_BINARY" \ dhparam -out "$ssl_dhparams" -dsaparam 2048 2>&1) || bug=1 if [ $bug -ne 0 ]; then wsrep_log_info "run: \"$OPENSSL_BINARY\" dhparam"\ "-out \"$ssl_dhparams\" -dsaparam 2048" wsrep_log_info "output: $errmsg" wsrep_log_error "******** ERROR *****************************************" wsrep_log_error "* Could not create the dhparams.pem file with OpenSSL. *" wsrep_log_error "********************************************************" ssl_dhparams="" fi else # Rollback: if openssl is not installed, then use # the default parameters: ssl_dhparams="" fi } # # Verifies that the CA file verifies the certificate. # Doing this here lets us generate better error messages. # # 1st param: path to the CA file. # 2nd param: path to the certificate. # verify_ca_matches_cert() { local cert="$1" local ca="$2" local cap="$3" local readable=1; [ ! -r "$cert" ] && readable=0 [ -n "$ca" -a ! -r "$ca" ] && readable=0 [ -n "$cap" -a ! -r "$cap" ] && readable=0 if [ $readable -eq 0 ]; then wsrep_log_error \ "Both PEM file and CA file (or path) must be readable" exit 22 fi # If the openssl utility is not installed, then # we will not do this certificate check: get_openssl if [ -z "$OPENSSL_BINARY" ]; then wsrep_log_info "openssl utility not found" return fi local not_match=0 local errmsg errmsg=$("$OPENSSL_BINARY" verify -verbose \ ${ca:+ -CAfile} ${ca:+ "$ca"} \ ${cap:+ -CApath} ${cap:+ "$cap"} \ "$cert" 2>&1) || not_match=1 if [ $not_match -eq 1 ]; then wsrep_log_info "run: \"$OPENSSL_BINARY\" verify -verbose${ca:+ -CAfile \"$ca\"}${cap:+ -CApath \"$cap\"} \"$cert\"" wsrep_log_info "output: $errmsg" wsrep_log_error "******** FATAL ERROR ********************************************" wsrep_log_error "* The certifcate and CA (certificate authority) do not match. *" wsrep_log_error "* It does not appear that the certificate was issued by the CA. *" wsrep_log_error "* Please check your certificate and CA files. *" wsrep_log_error "*****************************************************************" exit 22 fi } # # Verifies that the certificate matches the private key. # Doing this will save us having to wait for a timeout that would # otherwise occur. # # 1st param: path to the certificate. # 2nd param: path to the private key. # verify_cert_matches_key() { local cert="$1" local key="$2" if [ ! -r "$key" -o ! -r "$cert" ]; then wsrep_log_error "Both the certificate file and the key file" \ "must be readable" exit 22 fi # If the openssl utility is not installed, then # we will not do this certificate check: get_openssl if [ -z "$OPENSSL_BINARY" ]; then wsrep_log_info "openssl utility not found" return fi # Generate the public key from the cert and the key. # They should match (otherwise we can't create an SSL connection). local pk1=$("$OPENSSL_BINARY" x509 -in "$cert" -pubkey -noout 2>/dev/null || :) local pk2=$("$OPENSSL_BINARY" pkey -in "$key" -pubout 2>/dev/null || :) if [ "$pk1" != "$pk2" ]; then wsrep_log_error "******************* FATAL ERROR *****************" wsrep_log_error "* The certificate and private key do not match. *" wsrep_log_error "* Please check your certificate and key files. *" wsrep_log_error "*************************************************" exit 22 fi } # # Compares two version strings. # The first parameter is the version to be checked; # The second parameter is the minimum version required; # Returns 1 (failure) if $1 >= $2, 0 (success) otherwise. # check_for_version() { local y1="${1#*.}" [ "$y1" = "$1" ] && y1="" local z1="${y1#*.}" [ "$z1" = "$y1" ] && z1="" local w1="${z1#*.}" [ "$w1" = "$z1" ] && w1="" local x1="${1%%.*}" y1="${y1%%.*}" z1="${z1%%.*}" w1="${w1%%.*}" [ -z "$y1" ] && y1=0 [ -z "$z1" ] && z1=0 [ -z "$w1" ] && w1=0 local y2="${2#*.}" [ "$y2" = "$2" ] && y2="" local z2="${y2#*.}" [ "$z2" = "$y2" ] && z2="" local w2="${z2#*.}" [ "$w2" = "$z2" ] && w2="" local x2="${2%%.*}" y2="${y2%%.*}" z2="${z2%%.*}" w2="${w2%%.*}" [ -z "$y2" ] && y2=0 [ -z "$z2" ] && z2=0 [ -z "$w2" ] && w2=0 [ $x1 -lt $x2 ] && return 1 [ $x1 -gt $x2 ] && return 0 [ $y1 -lt $y2 ] && return 1 [ $y1 -gt $y2 ] && return 0 [ $z1 -lt $z2 ] && return 1 [ $z1 -gt $z2 ] && return 0 [ $w1 -lt $w2 ] && return 1 return 0 } # # Check whether process is still running. # The first parameter contains the name of the PID file. # The second parameter is the flag of the need to delete # the PID file. # If the second parameter is not zero and not empty, # then if the process terminates, the corresponding # PID file will be deleted. # This function also sets the CHECK_PID variable to zero # if the process has already exited, or writes the PID # of the process there if it is still running. # check_pid() { local pid_file="$1" if [ -r "$pid_file" ]; then local pid=$(cat "$pid_file" 2>/dev/null || :) if [ -n "$pid" ]; then if [ $pid -gt 0 ]; then if ps -p $pid >/dev/null 2>&1; then CHECK_PID=$pid return 0 fi fi fi local remove=${2:-0} if [ $remove -ne 0 ]; then rm -f "$pid_file" || : fi fi local config="${3:-}" if [ -n "$config" -a -f "$config" ]; then rm -f "$config" || : fi CHECK_PID=0 return 1 } # # Checking that the process with the specified PID is still # running and killing it in this case by sending SIGTERM # (using the "kill" operation). # The first parameter contains PID of the process. # The second and third parameters (both optional) are the names # of the PID and the configuration files, which should be removed # after the process ends. # If the first parameter (PID of the process) is zero, then # the function immediately deletes the PID and the configuration # files (if specified), without any additional checks. # cleanup_pid() { local pid=$1 local pid_file="${2:-}" local config="${3:-}" if [ $pid -gt 0 ]; then if ps -p $pid >/dev/null 2>&1; then if kill $pid >/dev/null 2>&1; then sleep 0.5 local round=0 local force=0 while ps -p $pid >/dev/null 2>&1; do sleep 1 round=$(( round+1 )) if [ $round -eq 16 ]; then if [ $force -eq 0 ]; then round=8 force=1 kill -9 $pid >/dev/null 2>&1 || : sleep 0.5 else return 1 fi fi done elif ps -p $pid >/dev/null 2>&1; then wsrep_log_warning "Unable to kill PID=$pid${pid_file:+ ($pid_file)}" return 1 fi fi fi [ -n "$pid_file" -a -f "$pid_file" ] && rm -f "$pid_file" || : [ -n "$config" -a -f "$config" ] && rm -f "$config" || : return 0 } nproc="" get_proc() { if [ -z "$nproc" ]; then set +e if [ "$OS" = 'Linux' ]; then nproc=$(grep -cw -E '^processor' /proc/cpuinfo 2>/dev/null || :) elif [ "$OS" = 'Darwin' -o "$OS" = 'FreeBSD' ]; then nproc=$(sysctl -n hw.ncpu) fi set -e if [ -z "$nproc" ] || [ $nproc -eq 0 ]; then nproc=1 fi fi } check_server_ssl_config() { # backward-compatible behavior: tcert=$(parse_cnf 'sst' 'tca') tcap=$(parse_cnf 'sst' 'tcapath') tpem=$(parse_cnf 'sst' 'tcert') tkey=$(parse_cnf 'sst' 'tkey') # reading new ssl configuration options: local tcert2=$(parse_cnf "$encgroups" 'ssl-ca') local tcap2=$(parse_cnf "$encgroups" 'ssl-capath') local tpem2=$(parse_cnf "$encgroups" 'ssl-cert') local tkey2=$(parse_cnf "$encgroups" 'ssl-key') # if there are no old options, then we take new ones: if [ -z "$tcert" -a -z "$tcap" -a -z "$tpem" -a -z "$tkey" ]; then tcert="$tcert2" tcap="$tcap2" tpem="$tpem2" tkey="$tkey2" # checking for presence of the new-style SSL configuration: elif [ -n "$tcert2" -o -n "$tcap2" -o -n "$tpem2" -o -n "$tkey2" ]; then if [ "$tcert" != "$tcert2" -o \ "$tcap" != "$tcap2" -o \ "$tpem" != "$tpem2" -o \ "$tkey" != "$tkey2" ] then wsrep_log_info \ "new ssl configuration options (ssl-ca[path], ssl-cert" \ "and ssl-key) are ignored by SST due to presence" \ "of the tca[path], tcert and/or tkey in the [sst] section" fi fi if [ -n "$tcert" ]; then if [ "${tcert%/}" != "$tcert" -o -d "$tcert" ]; then tcap="$tcert" tcert="" fi fi } # Get Common Name (CN) from the certificate: openssl_getCN() { get_openssl if [ -z "$OPENSSL_BINARY" ]; then wsrep_log_error \ 'openssl not found but it is required for authentication' exit 42 fi local bug=0 local CN=$("$OPENSSL_BINARY" x509 -noout -subject -in "$1" 2>&1) || bug=1 if [ $bug -ne 0 ]; then wsrep_log_info "run: \"$OPENSSL_BINARY\" x509 -noout -subject -in \"$1\"" wsrep_log_info "output: $CN" wsrep_log_error "******** FATAL ERROR **********************************************" wsrep_log_error "* Unable to parse the certificate file to obtain the common name. *" wsrep_log_error "*******************************************************************" exit 22 fi CN=$(trim_string "$CN") if [ -n "$CN" ]; then # If the string begins with the "subject" prefix # then we need to remove it: local saved="$CN" local remain="${CN#subject}" if [ "$remain" != "$saved" ]; then remain=$(trim_left "$remain") # Now let's check for the presence of "=" character # after the "subject": saved="$remain" remain="${remain#=}" if [ "$remain" != "$saved" ]; then remain=$(trim_left "$remain") else remain="" bug=1 fi fi while [ -n "$remain" ]; do local value="" # Let's extract the option name - all characters # up to the first '=' or ',' character (if present): local option="${remain%%[=,]*}" if [ "$option" != "$remain" ]; then option=$(trim_right "$option") # These variables will be needed to determine # which separator comes first: local x="${remain#*=}" local y="${remain#*,}" local z=${#remain} x=${#x}; [ $x -eq $z ] && x=0 y=${#y}; [ $y -eq $z ] && y=0 # The remaining string is everything that follows # the separator character: remain=$(trim_left "${remain#*[=,]}") # Let's check what we are dealing with - an equal # sign or a comma? if [ $x -gt $y ]; then # If the remainder begins with a double quote, # then there is a string containing commas and # we need to parse it: saved="$remain" remain="${remain#\"}" if [ "$remain" != "$saved" ]; then while :; do # We need to find the closing quote: local prefix="$remain" remain="${remain#*\"}" # Let's check if there is a closing quote? if [ "$remain" = "$prefix" ]; then bug=1 break fi # Everything up to the closing quote is # the next part of the value: value="$value${prefix%%\"*}" # But if the last character of the value # is a backslash, then it is a quoted quotation # mark and we need to add it to the value: if [ "${value%\\}" != "$value" ]; then value="$value\"" else break fi done [ $bug -ne 0 ] && break # Now we have to remove "," if it is present # in the string after the value: saved=$(trim_left "$remain") remain="${saved#,}" if [ "$remain" != "$saved" ]; then remain=$(trim_left "$remain") elif [ -n "$remain" ]; then bug=1 break fi else # We are dealing with a simple unquoted string value, # therefore we need to take everything up to the end # of the string, or up to the next comma character: value="${remain%%,*}" if [ "$value" != "$remain" ]; then remain=$(trim_left "${remain#*,}") else remain="" fi value=$(trim_right "$value") fi if [ "$option" = 'CN' -a -n "$value" ]; then echo "$value" return fi fi else remain="" fi done fi if [ $bug -ne 0 ]; then wsrep_log_error "******** FATAL ERROR **********************************************" wsrep_log_error "* Unable to parse the certificate options: '$CN'" wsrep_log_error "*******************************************************************" exit 22 fi echo '' } simple_cleanup() { # Since this is invoked just after exit NNN local estatus=$? if [ $estatus -ne 0 ]; then wsrep_log_error "Cleanup after exit with status: $estatus" fi if [ -n "$SST_PID" ]; then [ "$(pwd)" != "$OLD_PWD" ] && cd "$OLD_PWD" [ -f "$SST_PID" ] && rm -f "$SST_PID" || : fi exit $estatus } create_data() { OLD_PWD="$(pwd)" DATA_DIR="$OLD_PWD" if [ -n "$DATA" -a "$DATA" != '.' ]; then [ ! -d "$DATA" ] && mkdir -p "$DATA" cd "$DATA" DATA_DIR="$(pwd)" cd "$OLD_PWD" fi } create_dirs() { local simplify=${1:-0} # if no command line argument and INNODB_DATA_HOME_DIR environment # variable is not set, try to get it from the my.cnf: if [ -z "$INNODB_DATA_HOME_DIR" ]; then INNODB_DATA_HOME_DIR=$(parse_cnf '--mysqld' 'innodb-data-home-dir') INNODB_DATA_HOME_DIR=$(trim_dir "$INNODB_DATA_HOME_DIR") fi if [ -n "$INNODB_DATA_HOME_DIR" -a "$INNODB_DATA_HOME_DIR" != '.' -a \ "$INNODB_DATA_HOME_DIR" != "$DATA_DIR" ] then # handle both relative and absolute paths: cd "$DATA" [ ! -d "$INNODB_DATA_HOME_DIR" ] && mkdir -p "$INNODB_DATA_HOME_DIR" cd "$INNODB_DATA_HOME_DIR" ib_home_dir="$(pwd)" cd "$OLD_PWD" [ $simplify -ne 0 -a "$ib_home_dir" = "$DATA_DIR" ] && ib_home_dir="" fi # if no command line argument and INNODB_LOG_GROUP_HOME is not set, # then try to get it from the my.cnf: if [ -z "$INNODB_LOG_GROUP_HOME" ]; then INNODB_LOG_GROUP_HOME=$(parse_cnf '--mysqld' 'innodb-log-group-home-dir') INNODB_LOG_GROUP_HOME=$(trim_dir "$INNODB_LOG_GROUP_HOME") fi if [ -n "$INNODB_LOG_GROUP_HOME" -a "$INNODB_LOG_GROUP_HOME" != '.' -a \ "$INNODB_LOG_GROUP_HOME" != "$DATA_DIR" ] then # handle both relative and absolute paths: cd "$DATA" [ ! -d "$INNODB_LOG_GROUP_HOME" ] && mkdir -p "$INNODB_LOG_GROUP_HOME" cd "$INNODB_LOG_GROUP_HOME" ib_log_dir="$(pwd)" cd "$OLD_PWD" [ $simplify -ne 0 -a "$ib_log_dir" = "$DATA_DIR" ] && ib_log_dir="" fi # if no command line argument and INNODB_UNDO_DIR is not set, # then try to get it from the my.cnf: if [ -z "$INNODB_UNDO_DIR" ]; then INNODB_UNDO_DIR=$(parse_cnf '--mysqld' 'innodb-undo-directory') INNODB_UNDO_DIR=$(trim_dir "$INNODB_UNDO_DIR") fi if [ -n "$INNODB_UNDO_DIR" -a "$INNODB_UNDO_DIR" != '.' -a \ "$INNODB_UNDO_DIR" != "$DATA_DIR" ] then # handle both relative and absolute paths: cd "$DATA" [ ! -d "$INNODB_UNDO_DIR" ] && mkdir -p "$INNODB_UNDO_DIR" cd "$INNODB_UNDO_DIR" ib_undo_dir="$(pwd)" cd "$OLD_PWD" [ $simplify -ne 0 -a "$ib_undo_dir" = "$DATA_DIR" ] && ib_undo_dir="" fi # if no command line argument then try to get it from the my.cnf: if [ -z "$ARIA_LOG_DIR" ]; then ARIA_LOG_DIR=$(parse_cnf '--mysqld' 'aria-log-dir-path') ARIA_LOG_DIR=$(trim_dir "$ARIA_LOG_DIR") fi if [ -n "$ARIA_LOG_DIR" -a "$ARIA_LOG_DIR" != '.' -a \ "$ARIA_LOG_DIR" != "$DATA_DIR" ] then # handle both relative and absolute paths: cd "$DATA" [ ! -d "$ARIA_LOG_DIR" ] && mkdir -p "$ARIA_LOG_DIR" cd "$ARIA_LOG_DIR" ar_log_dir="$(pwd)" cd "$OLD_PWD" [ $simplify -ne 0 -a "$ar_log_dir" = "$DATA_DIR" ] && ar_log_dir="" fi return 0 } wait_previous_sst() { # give some time for previous SST to complete: check_round=0 while check_pid "$SST_PID" 1; do wsrep_log_info "Previous SST is not completed, waiting for it to exit" check_round=$(( check_round+1 )) if [ $check_round -eq 30 ]; then wsrep_log_error "previous SST script still running..." exit 114 # EALREADY fi sleep 1 done trap simple_cleanup EXIT echo $$ > "$SST_PID" } DATA="$WSREP_SST_OPT_DATA" wsrep_check_datadir create_data SST_PID="$DATA/wsrep_sst.pid" if [ -n "${MTR_SST_JOINER_DELAY:-}" ]; then MTR_SST_JOINER_DELAY=$(trim_string "$MTR_SST_JOINER_DELAY") fi simulate_long_sst() { # Delay for MTR tests if needed to simulate long SST/IST: if [ ${MTR_SST_JOINER_DELAY:-0} -gt 0 ]; then wsrep_log_info "Sleeping $MTR_SST_JOINER_DELAY seconds for MTR test" sleep $MTR_SST_JOINER_DELAY fi } wsrep_log_info "$WSREP_METHOD $WSREP_TRANSFER_TYPE started on $WSREP_SST_OPT_ROLE"