Linux server1.signalhg.team 4.18.0-553.134.1.el8_10.x86_64 #1 SMP Tue Jun 16 16:05:57 EDT 2026 x86_64
Apache
: 209.74.80.147 | : 216.73.217.19
150 Domain
8.1.34
signgwph
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
2to3
106
B
-rwxr-xr-x
2to3-3.6
106
B
-rwxr-xr-x
GET
15.84
KB
-rwxr-xr-x
HEAD
15.84
KB
-rwxr-xr-x
Magick-config
1.43
KB
-rwxr-xr-x
MagickCore-config
1.56
KB
-rwxr-xr-x
MagickWand-config
1.56
KB
-rwxr-xr-x
Mail
408.89
KB
-rwxr-xr-x
POST
15.84
KB
-rwxr-xr-x
Wand-config
1.42
KB
-rwxr-xr-x
[
53.6
KB
-rwxr-xr-x
ab
72.63
KB
-rwxr-xr-x
aclocal
35.62
KB
-rwxr-xr-x
aclocal-1.16
35.62
KB
-rwxr-xr-x
acpi_listen
18.26
KB
-rwxr-xr-x
acyclic
12.41
KB
-rwxr-xr-x
addr2line
33.42
KB
-rwxr-xr-x
agentxtrap
24.54
KB
-rwxr-xr-x
alias
29
B
-rwxr-xr-x
animate
11.88
KB
-rwxr-xr-x
apropos
54.04
KB
-rwxr-xr-x
ar
61.96
KB
-rwxr-xr-x
arch
37.34
KB
-rwxr-xr-x
aria_chk
4.53
MB
-rwxr-xr-x
aria_dump_log
4.33
MB
-rwxr-xr-x
aria_ftdump
4.34
MB
-rwxr-xr-x
aria_pack
4.37
MB
-rwxr-xr-x
aria_read_log
4.48
MB
-rwxr-xr-x
arpaname
11.82
KB
-rwxr-xr-x
as
889.91
KB
-rwxr-xr-x
aspell
159.5
KB
-rwxr-xr-x
at
57.33
KB
-rwxr-xr-x
atop
284.66
KB
-rwxr-xr-x
atopconvert
24.66
KB
-rwxr-xr-x
atopd
922
B
-rwxr-xr-x
atopsar
284.66
KB
-rwxr-xr-x
atq
57.33
KB
-rwxr-xr-x
atrm
57.33
KB
-rwxr-xr-x
audit2allow
14.85
KB
-rwxr-xr-x
audit2why
14.85
KB
-rwxr-xr-x
aulast
20.58
KB
-rwxr-xr-x
aulastlog
12.44
KB
-rwxr-xr-x
ausyscall
12.27
KB
-rwxr-xr-x
authselect
41.13
KB
-rwxr-xr-x
autoconf
14.42
KB
-rwxr-xr-x
autoheader
8.33
KB
-rwxr-xr-x
autom4te
31.43
KB
-rwxr-xr-x
automake
251.9
KB
-rwxr-xr-x
automake-1.16
251.9
KB
-rwxr-xr-x
autopoint
25.95
KB
-rwxr-xr-x
autoreconf
20.57
KB
-rwxr-xr-x
autoscan
16.72
KB
-rwxr-xr-x
autoupdate
33.08
KB
-rwxr-xr-x
auvirt
32.73
KB
-rwxr-xr-x
awk
669.77
KB
-rwxr-xr-x
b2sum
57.69
KB
-rwxr-xr-x
base32
41.47
KB
-rwxr-xr-x
base64
41.48
KB
-rwxr-xr-x
basename
37.41
KB
-rwxr-xr-x
bash
1.1
MB
-rwxr-xr-x
bashbug
7.18
KB
-rwxr-xr-x
bashbug-64
7.18
KB
-rwxr-xr-x
batch
137
B
-rwxr-xr-x
bc
94.98
KB
-rwxr-xr-x
bcomps
20.62
KB
-rwxr-xr-x
bdftopcf
45.4
KB
-rwxr-xr-x
bg
26
B
-rwxr-xr-x
bind9-config
3.33
KB
-rwxr-xr-x
bison
437.72
KB
-rwxr-xr-x
bond2team
22.74
KB
-rwxr-xr-x
bootctl
45.15
KB
-rwxr-xr-x
brotli
739.2
KB
-rwxr-xr-x
bunzip2
36.86
KB
-rwxr-xr-x
busctl
77.27
KB
-rwxr-xr-x
bzcat
36.86
KB
-rwxr-xr-x
bzcmp
2.08
KB
-rwxr-xr-x
bzdiff
2.08
KB
-rwxr-xr-x
bzegrep
1.64
KB
-rwxr-xr-x
bzfgrep
1.64
KB
-rwxr-xr-x
bzgrep
1.64
KB
-rwxr-xr-x
bzip2
36.86
KB
-rwxr-xr-x
bzip2recover
16.44
KB
-rwxr-xr-x
bzless
1.23
KB
-rwxr-xr-x
bzmore
1.23
KB
-rwxr-xr-x
c++
1.21
MB
-rwxr-xr-x
c++filt
28.89
KB
-rwxr-xr-x
c89
224
B
-rwxr-xr-x
c99
215
B
-rwxr-xr-x
ca-legacy
1.61
KB
-rwxr-xr-x
cairo-sphinx
69.71
KB
-rwxr-xr-x
cal
65.98
KB
-rwxr-xr-x
captoinfo
85.31
KB
-rwxr-xr-x
cat
37.46
KB
-rwxr-xr-x
catchsegv
3.21
KB
-rwxr-xr-x
catman
41.45
KB
-rwxr-xr-x
cc
1.21
MB
-rwxr-xr-x
ccomps
24.72
KB
-rwxr-xr-x
cd
26
B
-rwxr-xr-x
centrino-decode
11.27
KB
-rwxr-xr-x
certbot
387
B
-rwxr-xr-x
certbot-3
387
B
-rwxr-xr-x
certutil
199.15
KB
-rwxr-xr-x
chacl
16.36
KB
-rwxr-xr-x
chage
77.68
KB
-rwsr-xr-x
chardetect
400
B
-rwxr-xr-x
chattr
16.41
KB
-rwxr-xr-x
chcat
13.57
KB
-rwxr-xr-x
chcon
70.34
KB
-rwxr-xr-x
check-regexp
109.59
KB
-rwxr-xr-x
checkmodule
427.01
KB
-rwxr-xr-x
checkpolicy
488.64
KB
-rwxr-xr-x
chfn
32.9
KB
-rws--x--x
chgrp
66.29
KB
-rwxr-xr-x
chmem
45.47
KB
-rwxr-xr-x
chmod
62.2
KB
-rwxr-xr-x
chown
70.29
KB
-rwxr-xr-x
chronyc
127.6
KB
-rwxr-xr-x
chrt
37.19
KB
-rwxr-xr-x
chsh
24.72
KB
-rwx--x--x
chvt
12.53
KB
-rwxr-xr-x
cifsiostat
41.35
KB
-rwxr-xr-x
circo
12.26
KB
-rwxr-xr-x
cksum
37.39
KB
-rwxr-xr-x
cl-linksafe-apply-group
554
B
-rwxr-xr-x
cl-linksafe-reconfigure
4.83
KB
-rwxr-xr-x
clear
12.54
KB
-rwxr-xr-x
cluster
518.33
KB
-rwxr-xr-x
cmp
103.76
KB
-rwxr-xr-x
cmsutil
122.46
KB
-rwxr-xr-x
col
29.01
KB
-rwxr-xr-x
colcrt
16.48
KB
-rwxr-xr-x
colrm
24.88
KB
-rwxr-xr-x
column
49.47
KB
-rwxr-xr-x
comm
41.56
KB
-rwxr-xr-x
command
31
B
-rwxr-xr-x
compare
11.89
KB
-rwxr-xr-x
compile_et
1.31
KB
-rwxr-xr-x
composite
11.88
KB
-rwxr-xr-x
config_data
6.97
KB
-rwxr-xr-x
conjure
11.88
KB
-rwxr-xr-x
conmon
156.34
KB
-rwxr-xr-x
convert
11.88
KB
-rwxr-xr-x
coredumpctl
44.91
KB
-rwxr-xr-x
corelist
14.64
KB
-rwxr-xr-x
corepack
170
B
-rwxr-xr-x
cp
147.98
KB
-rwxr-xr-x
cpan
8.17
KB
-rwxr-xr-x
cpan-mirrors
4.19
KB
-rwxr-xr-x
cpapi1
3.35
MB
-rwxr-xr-x
cpapi2
3.35
MB
-rwxr-xr-x
cpapi3
3.35
MB
-rwxr-xr-x
cpgcli
84.29
KB
-rwxr-xr-x
cpio
159.8
KB
-rwxr-xr-x
cpp
1.21
MB
-rwxr-xr-x
cpp2html
47
B
-rwxr-xr-x
cpupower
66.91
KB
-rwxr-xr-x
crb
2.58
KB
-rwxr--r--
crc32
1.02
KB
-rwxr-xr-x
crlutil
134.95
KB
-rwxr-xr-x
cronnext
49.8
KB
-rwxr-xr-x
crontab
61.67
KB
-rwsr-xr-x
csplit
53.68
KB
-rwxr-xr-x
csslint-0.6
24.56
KB
-rwxr-xr-x
ctags
272.94
KB
-rwxr-xr-x
curl
230.08
KB
-rwxr-xr-x
cut
49.52
KB
-rwxr-xr-x
cvtsudoers
284.21
KB
-rwxr-xr-x
cxpm
29.11
KB
-rwxr-xr-x
date
105.96
KB
-rwxr-xr-x
db_archive
12.45
KB
-rwxr-xr-x
db_checkpoint
16.48
KB
-rwxr-xr-x
db_deadlock
16.48
KB
-rwxr-xr-x
db_dump
16.51
KB
-rwxr-xr-x
db_dump185
69.55
KB
-rwxr-xr-x
db_hotbackup
20.49
KB
-rwxr-xr-x
db_load
28.61
KB
-rwxr-xr-x
db_log_verify
16.52
KB
-rwxr-xr-x
db_printlog
33.4
KB
-rwxr-xr-x
db_recover
16.51
KB
-rwxr-xr-x
db_replicate
16.49
KB
-rwxr-xr-x
db_stat
16.48
KB
-rwxr-xr-x
db_tuner
24.55
KB
-rwxr-xr-x
db_upgrade
12.45
KB
-rwxr-xr-x
db_verify
16.46
KB
-rwxr-xr-x
dbilogstrip
1.35
KB
-rwxr-xr-x
dbiprof
6.06
KB
-rwxr-xr-x
dbus-binding-tool
110.43
KB
-rwxr-xr-x
dbus-cleanup-sockets
16.39
KB
-rwxr-xr-x
dbus-daemon
239.7
KB
-rwxr-xr-x
dbus-monitor
28.58
KB
-rwxr-xr-x
dbus-run-session
15.88
KB
-rwxr-xr-x
dbus-send
28.54
KB
-rwxr-xr-x
dbus-test-tool
24.6
KB
-rwxr-xr-x
dbus-update-activation-environ...
16.41
KB
-rwxr-xr-x
dbus-uuidgen
12.38
KB
-rwxr-xr-x
dc
53.02
KB
-rwxr-xr-x
dd
77.97
KB
-rwxr-xr-x
deallocvt
12.54
KB
-rwxr-xr-x
debuginfo-install
3.62
KB
-rwxr-xr-x
debuginfod-find
16.47
KB
-rwxr-xr-x
delv
42.46
KB
-rwxr-xr-x
df
91.09
KB
-rwxr-xr-x
diff
268.01
KB
-rwxr-xr-x
diff3
128.6
KB
-rwxr-xr-x
diffimg
12.27
KB
-rwxr-xr-x
dig
162.18
KB
-rwxr-xr-x
dijkstra
16.71
KB
-rwxr-xr-x
dir
139.9
KB
-rwxr-xr-x
dircolors
49.55
KB
-rwxr-xr-x
dirmngr
579.89
KB
-rwxr-xr-x
dirmngr-client
120.12
KB
-rwxr-xr-x
dirname
33.36
KB
-rwxr-xr-x
display
11.88
KB
-rwxr-xr-x
distro
389
B
-rwxr-xr-x
dltest
11.87
KB
-rwxr-xr-x
dmesg
77.88
KB
-rwxr-xr-x
dnf
2.05
KB
-rwxr-xr-x
dnf-3
2.05
KB
-rwxr-xr-x
dnsdomainname
21.16
KB
-rwxr-xr-x
dnstap-read
20.43
KB
-rwxr-xr-x
docker
163
B
-rwxr-xr-x
domainname
21.16
KB
-rwxr-xr-x
dot
12.26
KB
-rwxr-xr-x
dot2gxl
41.3
KB
-rwxr-xr-x
dotty
2.04
KB
-rwxr-xr-x
doveadm
956.56
KB
-rwxr-xr-x
doveconf
397.59
KB
-rwxr-xr-x
dovecot-sysreport
6.28
KB
-rwxr-xr-x
dpkg
316.17
KB
-rwxr-xr-x
dpkg-deb
165.5
KB
-rwxr-xr-x
dpkg-divert
157.75
KB
-rwxr-xr-x
dpkg-maintscript-helper
20.67
KB
-rwxr-xr-x
dpkg-query
165.84
KB
-rwxr-xr-x
dpkg-realpath
4.05
KB
-rwxr-xr-x
dpkg-split
132.39
KB
-rwxr-xr-x
dpkg-statoverride
66.41
KB
-rwxr-xr-x
dpkg-trigger
87.66
KB
-rwxr-xr-x
dracut
67.56
KB
-rwxr-xr-x
dtrace
17.39
KB
-rwxr-xr-x
du
107
KB
-rwxr-xr-x
dumpkeys
169.88
KB
-rwxr-xr-x
dumpsexp
16.43
KB
-rwxr-xr-x
dwp
2.13
MB
-rwxr-xr-x
dwz
167.64
KB
-rwxr-xr-x
ea-php72
5.49
MB
-rwxr-xr-x
ea-php72-pear
383
B
-rwxr-xr-x
ea-php72-pecl
299
B
-rwxr-xr-x
ea-php73
5.32
MB
-rwxr-xr-x
ea-php73-pear
383
B
-rwxr-xr-x
ea-php73-pecl
299
B
-rwxr-xr-x
ea-php74
6.09
MB
-rwxr-xr-x
ea-php74-pear
383
B
-rwxr-xr-x
ea-php74-pecl
299
B
-rwxr-xr-x
ea-php80
7.61
MB
-rwxr-xr-x
ea-php80-pear
383
B
-rwxr-xr-x
ea-php80-pecl
299
B
-rwxr-xr-x
ea-php81
7.72
MB
-rwxr-xr-x
ea-php81-pear
383
B
-rwxr-xr-x
ea-php81-pecl
299
B
-rwxr-xr-x
ea-php82
7.77
MB
-rwxr-xr-x
ea-php82-pear
383
B
-rwxr-xr-x
ea-php82-pecl
299
B
-rwxr-xr-x
ea-php83
7.8
MB
-rwxr-xr-x
ea-php83-pear
383
B
-rwxr-xr-x
ea-php83-pecl
299
B
-rwxr-xr-x
ea-php84
7.85
MB
-rwxr-xr-x
ea-php84-pear
383
B
-rwxr-xr-x
ea-php84-pecl
299
B
-rwxr-xr-x
ea-wappspector
100
B
-rwxr-xr-x
easy_install-3
246
B
-rwxr-xr-x
easy_install-3.6
246
B
-rwxr-xr-x
echo
37.35
KB
-rwxr-xr-x
edgepaint
420.79
KB
-rwxr-xr-x
egrep
28
B
-rwxr-xr-x
eject
57.78
KB
-rwxr-xr-x
elfedit
33.28
KB
-rwxr-xr-x
elinks
1.55
MB
-rwxr-xr-x
enc2xs
40.97
KB
-rwxr-xr-x
encguess
2.91
KB
-rwxr-xr-x
enchant-2
20.25
KB
-rwxr-xr-x
enchant-lsmod-2
12.35
KB
-rwxr-xr-x
env
41.35
KB
-rwxr-xr-x
envml
4.1
KB
-rwxr-xr-x
envsubst
48.99
KB
-rwxr-xr-x
eps2eps
639
B
-rwxr-xr-x
eqn
232.16
KB
-rwxr-xr-x
event_rpcgen.py
54.26
KB
-rwxr-xr-x
evmctl
62.54
KB
-rwxr-xr-x
ex
1.13
MB
-rwxr-xr-x
expand
41.59
KB
-rwxr-xr-x
expr
49.57
KB
-rwxr-xr-x
factor
85.97
KB
-rwxr-xr-x
fallocate
28.96
KB
-rwxr-xr-x
false
33.32
KB
-rwxr-xr-x
fc
26
B
-rwxr-xr-x
fc-cache
132
B
-rwxr-xr-x
fc-cache-64
20.35
KB
-rwxr-xr-x
fc-cat
16.35
KB
-rwxr-xr-x
fc-conflist
12.25
KB
-rwxr-xr-x
fc-list
12.25
KB
-rwxr-xr-x
fc-match
16.26
KB
-rwxr-xr-x
fc-pattern
12.26
KB
-rwxr-xr-x
fc-query
12.24
KB
-rwxr-xr-x
fc-scan
12.26
KB
-rwxr-xr-x
fc-validate
16.26
KB
-rwxr-xr-x
fdp
12.26
KB
-rwxr-xr-x
fg
26
B
-rwxr-xr-x
fgconsole
12.55
KB
-rwxr-xr-x
fgrep
28
B
-rwxr-xr-x
filan
94.72
KB
-rwxr-xr-x
file
24.69
KB
-rwxr-xr-x
fincore
33.04
KB
-rwxr-xr-x
find
223.27
KB
-rwxr-xr-x
find-repos-of-install
3.62
KB
-rwxr-xr-x
findmnt
70.61
KB
-rwxr-xr-x
fips-finish-install
1.29
KB
-rwxr-xr-x
fips-mode-setup
3.91
KB
-rwxr-xr-x
firewall-cmd
139.6
KB
-rwxr-xr-x
firewall-offline-cmd
120.73
KB
-rwxr-xr-x
flex
428.45
KB
-rwxr-xr-x
flex++
428.45
KB
-rwxr-xr-x
flock
33.2
KB
-rwxr-xr-x
fmt
45.49
KB
-rwxr-xr-x
fold
41.42
KB
-rwxr-xr-x
fonttosfnt
41.18
KB
-rwxr-xr-x
free
20.79
KB
-rwxr-xr-x
freetype-config
4.31
KB
-rwxr-xr-x
fribidi
21.14
KB
-rwxr-xr-x
ftp
101.2
KB
-rwxr-xr-x
funzip
36.63
KB
-rwxr-xr-x
fuse-overlayfs
107.08
KB
-rwxr-xr-x
fusermount3
36.73
KB
-rwsr-xr-x
g++
1.21
MB
-rwxr-xr-x
g13
211.98
KB
-rwxr-xr-x
galera_new_cluster
924
B
-rwxr-xr-x
galera_recovery
3.29
KB
-rwxr-xr-x
gapplication
20.45
KB
-rwxr-xr-x
garb-systemd
1.31
KB
-rwxr-xr-x
garbd
1.65
MB
-rwxr-xr-x
gawk
669.77
KB
-rwxr-xr-x
gc
16.64
KB
-rwxr-xr-x
gcc
1.21
MB
-rwxr-xr-x
gcc-ar
36.66
KB
-rwxr-xr-x
gcc-nm
36.66
KB
-rwxr-xr-x
gcc-ranlib
36.66
KB
-rwxr-xr-x
gcov
1.31
MB
-rwxr-xr-x
gcov-dump
570.96
KB
-rwxr-xr-x
gcov-tool
607.77
KB
-rwxr-xr-x
gdbm_dump
21.05
KB
-rwxr-xr-x
gdbm_load
25.31
KB
-rwxr-xr-x
gdbmtool
111.57
KB
-rwxr-xr-x
gdbus
48.72
KB
-rwxr-xr-x
gdk-pixbuf-query-loaders-64
15.93
KB
-rwxr-xr-x
gdk-pixbuf-thumbnailer
20.45
KB
-rwxr-xr-x
gdlib-config
2.79
KB
-rwxr-xr-x
gencat
24.84
KB
-rwxr-xr-x
genl-ctrl-list
12.04
KB
-rwxr-xr-x
geqn
232.16
KB
-rwxr-xr-x
getconf
32.46
KB
-rwxr-xr-x
getent
33.13
KB
-rwxr-xr-x
getfacl
25.38
KB
-rwxr-xr-x
getkeycodes
12.54
KB
-rwxr-xr-x
getopt
20.53
KB
-rwxr-xr-x
getopts
31
B
-rwxr-xr-x
getsubids
12.34
KB
-rwxr-xr-x
gettext
48.97
KB
-rwxr-xr-x
gettext.sh
4.52
KB
-rwxr-xr-x
gettextize
42.69
KB
-rwxr-xr-x
ghostscript
12.35
KB
-rwxr-xr-x
gio
85.22
KB
-rwxr-xr-x
gio-querymodules-64
16.3
KB
-rwxr-xr-x
git
26.38
MB
-rwxr-xr-x
git-receive-pack
26.38
MB
-rwxr-xr-x
git-shell
15.79
MB
-rwxr-xr-x
git-upload-archive
26.38
MB
-rwxr-xr-x
git-upload-pack
26.38
MB
-rwxr-xr-x
glib-compile-schemas
48.85
KB
-rwxr-xr-x
gmake
235.32
KB
-rwxr-xr-x
gml2gv
41.23
KB
-rwxr-xr-x
gneqn
908
B
-rwxr-xr-x
gnroff
3.23
KB
-rwxr-xr-x
gpasswd
82.17
KB
-rwsr-xr-x
gpg
1.04
MB
-rwxr-xr-x
gpg-agent
419.3
KB
-rwxr-xr-x
gpg-connect-agent
165.3
KB
-rwxr-xr-x
gpg-error
34.16
KB
-rwxr-xr-x
gpg-error-config
2.26
KB
-rwxr-xr-x
gpg-wks-server
206.71
KB
-rwxr-xr-x
gpg-zip
3.44
KB
-rwxr-xr-x
gpg2
1.04
MB
-rwxr-xr-x
gpgconf
176.1
KB
-rwxr-xr-x
gpgme-json
85.68
KB
-rwxr-xr-x
gpgparsemail
28.74
KB
-rwxr-xr-x
gpgrt-config
2.26
KB
-rwxr-xr-x
gpgsm
514.46
KB
-rwxr-xr-x
gpgsplit
87.02
KB
-rwxr-xr-x
gpgv
451.51
KB
-rwxr-xr-x
gpgv2
451.51
KB
-rwxr-xr-x
gpic
293.84
KB
-rwxr-xr-x
gpio-event-mon
14.96
KB
-rwxr-xr-x
gpio-hammer
14.96
KB
-rwxr-xr-x
gprof
103.35
KB
-rwxr-xr-x
gr2fonttest
29.95
KB
-rwxr-xr-x
graphml2gv
20.65
KB
-rwxr-xr-x
grep
193.63
KB
-rwxr-xr-x
groff
124.92
KB
-rwxr-xr-x
grops
191.14
KB
-rwxr-xr-x
grotty
141.9
KB
-rwxr-xr-x
groups
37.39
KB
-rwxr-xr-x
grub2-editenv
448.09
KB
-rwxr-xr-x
grub2-file
928.53
KB
-rwxr-xr-x
grub2-fstest
1.15
MB
-rwxr-xr-x
grub2-glue-efi
279.41
KB
-rwxr-xr-x
grub2-kbdcomp
1.63
KB
-rwxr-xr-x
grub2-menulst2cfg
262.65
KB
-rwxr-xr-x
grub2-mkfont
312.12
KB
-rwxr-xr-x
grub2-mkimage
431.41
KB
-rwxr-xr-x
grub2-mklayout
289.48
KB
-rwxr-xr-x
grub2-mknetdir
485.75
KB
-rwxr-xr-x
grub2-mkpasswd-pbkdf2
291.88
KB
-rwxr-xr-x
grub2-mkrelpath
279.27
KB
-rwxr-xr-x
grub2-mkrescue
1.12
MB
-rwxr-xr-x
grub2-mkstandalone
594.31
KB
-rwxr-xr-x
grub2-render-label
937.13
KB
-rwxr-xr-x
grub2-script-check
316
KB
-rwxr-xr-x
grub2-syslinux2cfg
861.61
KB
-rwxr-xr-x
gs
12.35
KB
-rwxr-xr-x
gsettings
28.61
KB
-rwxr-xr-x
gsnd
277
B
-rwxr-xr-x
gsoelim
42.55
KB
-rwxr-xr-x
gss-client
24.56
KB
-rwxr-xr-x
gtar
448.99
KB
-rwxr-xr-x
gtbl
154.61
KB
-rwxr-xr-x
gtk-query-immodules-2.0-64
16.29
KB
-rwxr-xr-x
gtk-update-icon-cache
33.03
KB
-rwxr-xr-x
gtroff
805.02
KB
-rwxr-xr-x
guild
2.8
KB
-rwxr-xr-x
guile
13.16
KB
-rwxr-xr-x
guile-tools
2.8
KB
-rwxr-xr-x
guile2
13.16
KB
-rwxr-xr-x
guile2-tools
2.8
KB
-rwxr-xr-x
gunzip
2.29
KB
-rwxr-xr-x
gv2gml
24.7
KB
-rwxr-xr-x
gv2gxl
41.3
KB
-rwxr-xr-x
gvcolor
46.9
KB
-rwxr-xr-x
gvgen
24.8
KB
-rwxr-xr-x
gvmap
526.31
KB
-rwxr-xr-x
gvmap.sh
2.14
KB
-rwxr-xr-x
gvpack
460.59
KB
-rwxr-xr-x
gvpr
7.83
KB
-rwxr-xr-x
gxl2dot
41.3
KB
-rwxr-xr-x
gxl2gv
41.3
KB
-rwxr-xr-x
gzexe
6.23
KB
-rwxr-xr-x
gzip
94.67
KB
-rwxr-xr-x
h2ph
28.69
KB
-rwxr-xr-x
h2xs
59.44
KB
-rwxr-xr-x
hash
28
B
-rwxr-xr-x
head
45.5
KB
-rwxr-xr-x
hexdump
57.51
KB
-rwxr-xr-x
hmac256
16.86
KB
-rwxr-xr-x
host
142.3
KB
-rwxr-xr-x
hostid
33.34
KB
-rwxr-xr-x
hostname
21.16
KB
-rwxr-xr-x
hostnamectl
20.83
KB
-rwxr-xr-x
htdbm
31.72
KB
-rwxr-xr-x
htdigest
21.71
KB
-rwxr-xr-x
html2text
406
B
-rwxr-xr-x
htop
304.73
KB
-rwxr-xr-x
htpasswd
31.55
KB
-rwxr-xr-x
httxt2dbm
21.1
KB
-rwxr-xr-x
hunspell
144.7
KB
-rwxr-xr-x
i386
20.76
KB
-rwxr-xr-x
iceauth
41.87
KB
-rwxr-xr-x
iconv
61.43
KB
-rwxr-xr-x
id
45.44
KB
-rwxr-xr-x
identify
11.88
KB
-rwxr-xr-x
idiag-socket-details
12.09
KB
-rwxr-xr-x
idn
39.41
KB
-rwxr-xr-x
ifnames
4.03
KB
-rwxr-xr-x
iio_event_monitor
22.98
KB
-rwxr-xr-x
iio_generic_buffer
26.98
KB
-rwxr-xr-x
import
11.88
KB
-rwxr-xr-x
imunify-agent-proxy
13.14
MB
-rwxr-xr-x
imunify-antivirus
1
KB
-rwxr-xr-x
imunify-fgw-dump
7.8
MB
-rwxr-xr-x
imunify-service
1020
B
-rwxr-xr-x
imunify360-agent
1
KB
-rwxr-xr-x
imunify360-command-wrapper
11.92
KB
-rwxr-xr-x
info
249.89
KB
-rwxr-xr-x
infocmp
61.05
KB
-rwxr-xr-x
infotocap
85.31
KB
-rwxr-xr-x
innochecksum
3.59
MB
-rwxr-xr-x
install
156.16
KB
-rwxr-xr-x
instmodsh
4.1
KB
-rwxr-xr-x
intel-speed-select
93.02
KB
-rwxr-xr-x
ionice
28.98
KB
-rwxr-xr-x
iostat
57.69
KB
-rwxr-xr-x
ipcalc
46.08
KB
-rwxr-xr-x
ipcmk
29.14
KB
-rwxr-xr-x
ipcrm
28.99
KB
-rwxr-xr-x
ipcs
53.4
KB
-rwxr-xr-x
isc-config.sh
3.33
KB
-rwxr-xr-x
isosize
24.88
KB
-rwxr-xr-x
ispell
988
B
-rwxr-xr-x
isql
36.58
KB
-rwxr-xr-x
iusql
28.66
KB
-rwxr-xr-x
java2html
48
B
-rwxr-xr-x
jobs
28
B
-rwxr-xr-x
join
53.7
KB
-rwxr-xr-x
journalctl
76.99
KB
-rwxr-xr-x
json_pp
4.19
KB
-rwxr-xr-x
json_reformat
16.55
KB
-rwxr-xr-x
json_verify
12.27
KB
-rwxr-xr-x
json_xs
6.84
KB
-rwxr-xr-x
jws
373
B
-rwxr-xr-x
kbd_mode
12.55
KB
-rwxr-xr-x
kbdinfo
16.56
KB
-rwxr-xr-x
kbdrate
16.45
KB
-rwxr-xr-x
kbxutil
177.35
KB
-rwxr-xr-x
kcare-scanner-interface
5.96
KB
-rwxr-xr-x
kcare-uname
582
B
-rwxr-xr-x
kcarectl
1.21
KB
-rwxr-xr-x
kdumpctl
32.93
KB
-rwxr-xr-x
kernel-install
4.41
KB
-rwxr-xr-x
keyctl
36.82
KB
-rwxr-xr-x
kill
37.28
KB
-rwxr-xr-x
killall
29.77
KB
-rwxr-xr-x
kmod
159.95
KB
-rwxr-xr-x
krb5-config
6.98
KB
-rwxr-xr-x
kvm_stat
60.85
KB
-rwxr-xr-x
last
49.23
KB
-rwxr-xr-x
lastb
49.23
KB
-rwxr-xr-x
lastlog
20.63
KB
-rwxr-xr-x
lchfn
20.35
KB
-rwxr-xr-x
lchsh
16.35
KB
-rwxr-xr-x
ld
1.71
MB
-rwxr-xr-x
ld.bfd
1.71
MB
-rwxr-xr-x
ld.gold
2.35
MB
-rwxr-xr-x
ld.so
1.05
MB
-rwxr-xr-x
ldd
5.31
KB
-rwxr-xr-x
lefty
304.52
KB
-rwxr-xr-x
less
173.76
KB
-rwxr-xr-x
lessecho
12.4
KB
-rwxr-xr-x
lesskey
21.99
KB
-rwxr-xr-x
lesspipe.sh
3.07
KB
-rwxr-xr-x
letsencrypt
387
B
-rwxr-xr-x
lex
428.45
KB
-rwxr-xr-x
lexgrog
93.7
KB
-rwxr-xr-x
libcare-cron
1.07
KB
-rwxr-xr-x
libgcrypt-config
3.84
KB
-rwxr-xr-x
libnetcfg
15.41
KB
-rwxr-xr-x
libpng-config
2.33
KB
-rwxr-xr-x
libpng16-config
2.33
KB
-rwxr-xr-x
libtool
359.11
KB
-rwxr-xr-x
libtoolize
126.17
KB
-rwxr-xr-x
libwmf-fontmap
13.03
KB
-rwxr-xr-x
link
33.34
KB
-rwxr-xr-x
links
1.55
MB
-rwxr-xr-x
linux-boot-prober
5.85
KB
-rwxr-xr-x
linux32
20.76
KB
-rwxr-xr-x
linux64
20.76
KB
-rwxr-xr-x
ln
70.5
KB
-rwxr-xr-x
lnav
3.57
MB
-rwxr-xr-x
lneato
1.51
KB
-rwxr-xr-x
loadkeys
210.53
KB
-rwxr-xr-x
loadunimap
29.03
KB
-rwxr-xr-x
locale
56.44
KB
-rwxr-xr-x
localectl
28.86
KB
-rwxr-xr-x
localedef
307.47
KB
-rwxr-xr-x
locate
47.41
KB
-rwx--s--x
logger
49.98
KB
-rwxr-xr-x
login
40.96
KB
-rwxr-xr-x
loginctl
57.28
KB
-rwxr-xr-x
logname
33.34
KB
-rwxr-xr-x
logresolve
21.45
KB
-rwxr-xr-x
look
16.46
KB
-rwxr-xr-x
ls
139.91
KB
-rwxr-xr-x
lsattr
11.93
KB
-rwxr-xr-x
lsblk
90.14
KB
-rwxr-xr-x
lscpu
81.7
KB
-rwxr-xr-x
lsgpio
15.06
KB
-rwxr-xr-x
lsiio
22.98
KB
-rwxr-xr-x
lsinitrd
8.68
KB
-rwxr-xr-x
lsipc
73.74
KB
-rwxr-xr-x
lslocks
37.53
KB
-rwxr-xr-x
lslogins
65.62
KB
-rwxr-xr-x
lsmem
45.34
KB
-rwxr-xr-x
lsns
49.29
KB
-rwxr-xr-x
lsof
175.4
KB
-rwxr-xr-x
lsphp
937
B
-rwxr-xr-x
lsscsi
86.01
KB
-rwxr-xr-x
lua
20.45
KB
-rwxr-xr-x
luac
152.77
KB
-rwxr-xr-x
lwp-download
10.05
KB
-rwxr-xr-x
lwp-dump
2.65
KB
-rwxr-xr-x
lwp-mirror
2.36
KB
-rwxr-xr-x
lwp-request
15.84
KB
-rwxr-xr-x
lynx
1.84
MB
-rwxr-xr-x
lzcat
82.09
KB
-rwxr-xr-x
lzcmp
6.48
KB
-rwxr-xr-x
lzdiff
6.48
KB
-rwxr-xr-x
lzegrep
5.76
KB
-rwxr-xr-x
lzfgrep
5.76
KB
-rwxr-xr-x
lzgrep
5.76
KB
-rwxr-xr-x
lzless
1.76
KB
-rwxr-xr-x
lzma
82.09
KB
-rwxr-xr-x
lzmadec
16.48
KB
-rwxr-xr-x
lzmainfo
12.36
KB
-rwxr-xr-x
lzmore
2.11
KB
-rwxr-xr-x
m4
185.56
KB
-rwxr-xr-x
machinectl
89.67
KB
-rwxr-xr-x
mail
408.89
KB
-rwxr-xr-x
mailx
408.89
KB
-rwxr-xr-x
make
235.32
KB
-rwxr-xr-x
make-dummy-cert
610
B
-rwxr-xr-x
makedb
24.84
KB
-rwxr-xr-x
man
112.52
KB
-rwxr-xr-x
mandb
134.52
KB
-rwxr-xr-x
manpath
33.42
KB
-rwxr-xr-x
mapscrn
24.84
KB
-rwxr-xr-x
mariadb
4.34
MB
-rwxr-xr-x
mariadb-access
109.34
KB
-rwxr-xr-x
mariadb-admin
3.88
MB
-rwxr-xr-x
mariadb-binlog
4.14
MB
-rwxr-xr-x
mariadb-check
3.88
MB
-rwxr-xr-x
mariadb-config
12.2
KB
-rwxr-xr-x
mariadb-conv
3.59
MB
-rwxr-xr-x
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
mariadb-dump
3.96
MB
-rwxr-xr-x
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
mariadb-embedded
22.57
MB
-rwxr-xr-x
mariadb-find-rows
3.21
KB
-rwxr-xr-x
mariadb-fix-extensions
1.22
KB
-rwxr-xr-x
mariadb-hotcopy
34.15
KB
-rwxr-xr-x
mariadb-import
3.87
MB
-rwxr-xr-x
mariadb-install-db
22.46
KB
-rwxr-xr-x
mariadb-plugin
3.57
MB
-rwxr-xr-x
mariadb-secure-installation
13.48
KB
-rwxr-xr-x
mariadb-service-convert
2.45
KB
-rwxr-xr-x
mariadb-setpermission
17.56
KB
-rwxr-xr-x
mariadb-show
3.87
MB
-rwxr-xr-x
mariadb-slap
3.88
MB
-rwxr-xr-x
mariadb-tzinfo-to-sql
3.57
MB
-rwxr-xr-x
mariadb-upgrade
4
MB
-rwxr-xr-x
mariadb-waitpid
3.55
MB
-rwxr-xr-x
mariadb_config
12.2
KB
-rwxr-xr-x
mariadbd-multi
26.71
KB
-rwxr-xr-x
mariadbd-safe
30.42
KB
-rwxr-xr-x
mariadbd-safe-helper
3.52
MB
-rwxr-xr-x
mc
1.3
MB
-rwxr-xr-x
mcdiff
1.3
MB
-rwxr-xr-x
mcedit
1.3
MB
-rwxr-xr-x
mcookie
33.27
KB
-rwxr-xr-x
mcpp
9.02
KB
-rwxr-xr-x
mcview
1.3
MB
-rwxr-xr-x
md5sum
45.54
KB
-rwxr-xr-x
mdig
48.52
KB
-rwxr-xr-x
memcached
209.63
KB
-rwxr-xr-x
memcached-tool
6.05
KB
-rwxr-xr-x
memstrack
83.78
KB
-rwxr-xr-x
mesg
16.36
KB
-rwxr-xr-x
mkdir
82.7
KB
-rwxr-xr-x
mkfifo
66.46
KB
-rwxr-xr-x
mkfontdir
65
B
-rwxr-xr-x
mkfontscale
41.59
KB
-rwxr-xr-x
mkinitrd
6.43
KB
-rwxr-xr-x
mknod
70.47
KB
-rwxr-xr-x
mktemp
45.66
KB
-rwxr-xr-x
mm2gv
90.53
KB
-rwxr-xr-x
mmdblookup
16.74
KB
-rwxr-xr-x
modulecmd
384.75
KB
-rwxr-xr-x
modulemd-validator
24.96
KB
-rwxr-xr-x
modutil
177.43
KB
-rwxr-xr-x
mogrify
11.88
KB
-rwxr-xr-x
mokutil
49.98
KB
-rwxr-xr-x
montage
11.88
KB
-rwxr-xr-x
more
44.94
KB
-rwxr-xr-x
mount
49.15
KB
-rwsr-xr-x
mountpoint
16.48
KB
-rwxr-xr-x
mpicalc
20.38
KB
-rwxr-xr-x
mpstat
53.51
KB
-rwxr-xr-x
msgattrib
25.58
KB
-rwxr-xr-x
msgcat
25.55
KB
-rwxr-xr-x
msgcmp
26.12
KB
-rwxr-xr-x
msgcomm
25.55
KB
-rwxr-xr-x
msgconv
21.55
KB
-rwxr-xr-x
msgen
21.55
KB
-rwxr-xr-x
msgexec
21.55
KB
-rwxr-xr-x
msgfilter
34.53
KB
-rwxr-xr-x
msgfmt
90.3
KB
-rwxr-xr-x
msggrep
43.6
KB
-rwxr-xr-x
msginit
67.85
KB
-rwxr-xr-x
msgmerge
71.48
KB
-rwxr-xr-x
msgunfmt
35.8
KB
-rwxr-xr-x
msguniq
25.56
KB
-rwxr-xr-x
msql2mysql
1.41
KB
-rwxr-xr-x
multitail
329.2
KB
-rwxr-xr-x
mv
143.96
KB
-rwxr-xr-x
my_print_defaults
3.56
MB
-rwxr-xr-x
myisam_ftdump
3.89
MB
-rwxr-xr-x
myisamchk
4.01
MB
-rwxr-xr-x
myisamlog
3.87
MB
-rwxr-xr-x
myisampack
3.91
MB
-rwxr-xr-x
mysql
4.34
MB
-rwxr-xr-x
mysql_config
4.51
KB
-rwxr-xr-x
mysql_embedded
22.57
MB
-rwxr-xr-x
mysql_find_rows
3.21
KB
-rwxr-xr-x
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
mysql_install_db
22.46
KB
-rwxr-xr-x
mysql_plugin
3.57
MB
-rwxr-xr-x
mysql_tzinfo_to_sql
3.57
MB
-rwxr-xr-x
mysql_upgrade
4
MB
-rwxr-xr-x
mysql_waitpid
3.55
MB
-rwxr-xr-x
mysqlaccess
109.34
KB
-rwxr-xr-x
mysqladmin
3.88
MB
-rwxr-xr-x
mysqlbinlog
4.14
MB
-rwxr-xr-x
mysqlcheck
3.88
MB
-rwxr-xr-x
mysqld_multi
26.71
KB
-rwxr-xr-x
mysqld_safe
30.42
KB
-rwxr-xr-x
mysqld_safe_helper
3.52
MB
-rwxr-xr-x
mysqldump
3.96
MB
-rwxr-xr-x
mysqlimport
3.87
MB
-rwxr-xr-x
mysqlshow
3.87
MB
-rwxr-xr-x
mysqlslap
3.88
MB
-rwxr-xr-x
mytop
71.95
KB
-rwxr-xr-x
nail
408.89
KB
-rwxr-xr-x
named-rrchecker
19.88
KB
-rwxr-xr-x
namei
33.1
KB
-rwxr-xr-x
nano
247.94
KB
-rwxr-xr-x
nc
49.39
KB
-rwxr-xr-x
ncat
436.8
KB
-rwxr-xr-x
ncdu
89.88
KB
-rwxr-xr-x
ncurses6-config
5.87
KB
-rwxr-xr-x
ncursesw6-config
5.88
KB
-rwxr-xr-x
ndptool
24.45
KB
-rwxr-xr-x
neato
12.26
KB
-rwxr-xr-x
needs-restarting
3.62
KB
-rwxr-xr-x
neqn
908
B
-rwxr-xr-x
net-snmp-create-v3-user
3.15
KB
-rwxr-xr-x
netcat
49.39
KB
-rwxr-xr-x
netstat
158.68
KB
-rwxr-xr-x
newgidmap
47.81
KB
-rwxr-xr-x
newgrp
42.46
KB
-rwsr-xr-x
newuidmap
47.77
KB
-rwxr-xr-x
nf-ct-add
16.46
KB
-rwxr-xr-x
nf-ct-events
12.38
KB
-rwxr-xr-x
nf-ct-list
16.49
KB
-rwxr-xr-x
nf-exp-add
16.87
KB
-rwxr-xr-x
nf-exp-delete
16.66
KB
-rwxr-xr-x
nf-exp-list
16.49
KB
-rwxr-xr-x
nf-log
12.35
KB
-rwxr-xr-x
nf-monitor
12.36
KB
-rwxr-xr-x
nf-queue
16.35
KB
-rwxr-xr-x
ngettext
48.97
KB
-rwxr-xr-x
nice
37.33
KB
-rwxr-xr-x
nisdomainname
21.16
KB
-rwxr-xr-x
nl
45.55
KB
-rwxr-xr-x
nl-addr-add
12.34
KB
-rwxr-xr-x
nl-addr-delete
16.77
KB
-rwxr-xr-x
nl-addr-list
16.88
KB
-rwxr-xr-x
nl-class-add
16.73
KB
-rwxr-xr-x
nl-class-delete
12.63
KB
-rwxr-xr-x
nl-class-list
12.59
KB
-rwxr-xr-x
nl-classid-lookup
12.47
KB
-rwxr-xr-x
nl-cls-add
16.77
KB
-rwxr-xr-x
nl-cls-delete
16.77
KB
-rwxr-xr-x
nl-cls-list
12.73
KB
-rwxr-xr-x
nl-fib-lookup
12.5
KB
-rwxr-xr-x
nl-link-enslave
11.87
KB
-rwxr-xr-x
nl-link-ifindex2name
11.87
KB
-rwxr-xr-x
nl-link-list
12.23
KB
-rwxr-xr-x
nl-link-name2ifindex
11.86
KB
-rwxr-xr-x
nl-link-release
11.86
KB
-rwxr-xr-x
nl-link-set
12.77
KB
-rwxr-xr-x
nl-link-stats
12.59
KB
-rwxr-xr-x
nl-list-caches
12.27
KB
-rwxr-xr-x
nl-list-sockets
11.87
KB
-rwxr-xr-x
nl-monitor
12.52
KB
-rwxr-xr-x
nl-neigh-add
12.63
KB
-rwxr-xr-x
nl-neigh-delete
12.66
KB
-rwxr-xr-x
nl-neigh-list
12.19
KB
-rwxr-xr-x
nl-neightbl-list
12.01
KB
-rwxr-xr-x
nl-pktloc-lookup
12.56
KB
-rwxr-xr-x
nl-qdisc-add
12.65
KB
-rwxr-xr-x
nl-qdisc-delete
12.63
KB
-rwxr-xr-x
nl-qdisc-list
16.74
KB
-rwxr-xr-x
nl-route-add
16.39
KB
-rwxr-xr-x
nl-route-delete
16.88
KB
-rwxr-xr-x
nl-route-get
12.35
KB
-rwxr-xr-x
nl-route-list
16.44
KB
-rwxr-xr-x
nl-rule-list
12.05
KB
-rwxr-xr-x
nl-tctree-list
12.66
KB
-rwxr-xr-x
nl-util-addr
11.85
KB
-rwxr-xr-x
nload
234.35
KB
-rwxr-xr-x
nm
50.38
KB
-rwxr-xr-x
nm-online
20.84
KB
-rwxr-xr-x
nmcli
1009
KB
-rwxr-xr-x
nmtui
784.12
KB
-rwxr-xr-x
nmtui-connect
784.12
KB
-rwxr-xr-x
nmtui-edit
784.12
KB
-rwxr-xr-x
nmtui-hostname
784.12
KB
-rwxr-xr-x
node
47.8
MB
-rwxr-xr-x
nohup
37.41
KB
-rwxr-xr-x
nop
12.5
KB
-rwxr-xr-x
npm
50
B
-rwxr-xr-x
nproc
37.41
KB
-rwxr-xr-x
npx
2.85
KB
-rwxr-xr-x
nroff
3.23
KB
-rwxr-xr-x
nsenter
33.3
KB
-rwxr-xr-x
nslookup
146.26
KB
-rwxr-xr-x
nss-policy-check
16.3
KB
-rwxr-xr-x
nsupdate
73.05
KB
-rwxr-xr-x
numfmt
65.64
KB
-rwxr-xr-x
objcopy
240.07
KB
-rwxr-xr-x
objdump
419.76
KB
-rwxr-xr-x
od
73.8
KB
-rwxr-xr-x
odbc_config
11.84
KB
-rwxr-xr-x
odbcinst
28.88
KB
-rwxr-xr-x
open
20.97
KB
-rwxr-xr-x
openssl
745.95
KB
-rwxr-xr-x
openvt
20.97
KB
-rwxr-xr-x
os-prober
5.78
KB
-rwxr-xr-x
osage
12.26
KB
-rwxr-xr-x
p11-kit
37.15
KB
-rwxr-xr-x
package-cleanup
3.62
KB
-rwxr-xr-x
page_owner_sort
11.34
KB
-rwxr-xr-x
pango-list
11.88
KB
-rwxr-xr-x
pango-view
57.44
KB
-rwxr-xr-x
paperconf
13.07
KB
-rwxr-xr-x
passwd
32.77
KB
-rwsr-xr-x
paste
37.4
KB
-rwxr-xr-x
patch
206.46
KB
-rwxr-xr-x
patchwork
12.26
KB
-rwxr-xr-x
pathchk
37.34
KB
-rwxr-xr-x
pathfix.py
6.63
KB
-rwxr-xr-x
pcre-config
2.09
KB
-rwxr-xr-x
pcre2-config
1.9
KB
-rwxr-xr-x
pdf2dsc
698
B
-rwxr-xr-x
pdf2ps
909
B
-rwxr-xr-x
peekfd
16.51
KB
-rwxr-xr-x
perl
12.43
KB
-rwxr-xr-x
perl5.26.3
12.43
KB
-rwxr-xr-x
perlbug
44.39
KB
-rwxr-xr-x
perldoc
118
B
-rwxr-xr-x
perlivp
10.56
KB
-rwxr-xr-x
perlml
6.61
KB
-rwxr-xr-x
perlthanks
44.39
KB
-rwxr-xr-x
perror
3.75
MB
-rwxr-xr-x
pflags
2.57
KB
-rwxr-xr-x
pftp
101.2
KB
-rwxr-xr-x
pgrep
28.84
KB
-rwxr-xr-x
php
937
B
-rwxr-xr-x
pic
293.84
KB
-rwxr-xr-x
piconv
8.08
KB
-rwxr-xr-x
pidof
16.7
KB
-rwxr-xr-x
pidstat
65.72
KB
-rwxr-xr-x
pigz
125.38
KB
-rwxr-xr-x
pinentry
2.35
KB
-rwxr-xr-x
pinentry-curses
77.89
KB
-rwxr-xr-x
ping
66.13
KB
-rwxr-xr-x
pinky
41.46
KB
-rwxr-xr-x
pip-3
209
B
-rwxr-xr-x
pip-3.6
209
B
-rwxr-xr-x
pip3
209
B
-rwxr-xr-x
pip3.6
209
B
-rwxr-xr-x
pk12util
111.12
KB
-rwxr-xr-x
pkaction
16.38
KB
-rwxr-xr-x
pkcheck
24.43
KB
-rwxr-xr-x
pkexec
28.41
KB
-rwxr-xr-x
pkg-config
40.04
KB
-rwxr-xr-x
pkgconf
40.04
KB
-rwxr-xr-x
pkill
28.84
KB
-rwxr-xr-x
pkla-admin-identities
25.72
KB
-rwxr-xr-x
pkla-check-authorization
33.78
KB
-rwxr-xr-x
pkttyagent
20.38
KB
-rwxr-xr-x
pl2pm
4.43
KB
-rwxr-xr-x
pldd
16.75
KB
-rwxr-xr-x
plesk_configure
342
B
-rwxr-xr-x
plymouth
45.24
KB
-rwxr-xr-x
pmap
32.78
KB
-rwxr-xr-x
png-fix-itxt
11.85
KB
-rwxr-xr-x
pngfix
52.85
KB
-rwxr-xr-x
pod2html
4.04
KB
-rwxr-xr-x
pod2man
14.68
KB
-rwxr-xr-x
pod2text
10.55
KB
-rwxr-xr-x
pod2usage
3.86
KB
-rwxr-xr-x
podchecker
3.57
KB
-rwxr-xr-x
podman
48.68
MB
-rwxr-xr-x
podmansh
48.68
MB
-rwxr-xr-x
podselect
2.47
KB
-rwxr-xr-x
post-grohtml
238.73
KB
-rwxr-xr-x
powernow-k8-decode
10.88
KB
-rwxr-xr-x
pr
82.15
KB
-rwxr-xr-x
pre-grohtml
130.55
KB
-rwxr-xr-x
precat
5.52
KB
-rwxr-xr-x
preconv
57.65
KB
-rwxr-xr-x
preunzip
5.52
KB
-rwxr-xr-x
prezip
5.52
KB
-rwxr-xr-x
prezip-bin
11.98
KB
-rwxr-xr-x
printenv
33.32
KB
-rwxr-xr-x
printf
53.56
KB
-rwxr-xr-x
prlimit
37.54
KB
-rwxr-xr-x
procan
82.6
KB
-rwxr-xr-x
protoc
16.49
KB
-rwxr-xr-x
protoc-c
244.79
KB
-rwxr-xr-x
protoc-gen-c
244.79
KB
-rwxr-xr-x
prove
13.24
KB
-rwxr-xr-x
prtstat
20.51
KB
-rwxr-xr-x
prune
16.73
KB
-rwxr-xr-x
ps
134.75
KB
-rwxr-xr-x
ps2ascii
631
B
-rwxr-xr-x
ps2epsi
2.69
KB
-rwxr-xr-x
ps2pdf
272
B
-rwxr-xr-x
ps2pdf12
215
B
-rwxr-xr-x
ps2pdf13
215
B
-rwxr-xr-x
ps2pdf14
215
B
-rwxr-xr-x
ps2pdfwr
1.07
KB
-rwxr-xr-x
ps2ps
647
B
-rwxr-xr-x
ps2ps2
669
B
-rwxr-xr-x
ps_mem
17.69
KB
-rwxr-xr-x
psfaddtable
20.66
KB
-rwxr-xr-x
psfgettable
20.66
KB
-rwxr-xr-x
psfstriptable
20.66
KB
-rwxr-xr-x
psfxtable
20.66
KB
-rwxr-xr-x
pslog
12.48
KB
-rwxr-xr-x
pstree
33.53
KB
-rwxr-xr-x
pstree.x11
33.53
KB
-rwxr-xr-x
ptar
3.38
KB
-rwxr-xr-x
ptardiff
2.48
KB
-rwxr-xr-x
ptargrep
4.2
KB
-rwxr-xr-x
ptx
78
KB
-rwxr-xr-x
pure-pw
38.84
KB
-rwxr-xr-x
pure-pwconvert
10.72
KB
-rwxr-xr-x
pure-statsdecode
10.72
KB
-rwxr-xr-x
pwd
37.42
KB
-rwxr-xr-x
pwdx
12.68
KB
-rwxr-xr-x
pwmake
12.27
KB
-rwxr-xr-x
pwscore
12.27
KB
-rwxr-xr-x
pydoc-3
89
B
-rwxr-xr-x
pydoc3
89
B
-rwxr-xr-x
pydoc3.12
79
B
-rwxr-xr-x
pydoc3.6
89
B
-rwxr-xr-x
python-html2text
406
B
-rwxr-xr-x
python3
11.59
KB
-rwxr-xr-x
python3-config
204
B
-rwxr-xr-x
python3-html2text
406
B
-rwxr-xr-x
python3.12
7.57
KB
-rwxr-xr-x
python3.6
11.59
KB
-rwxr-xr-x
python3.6-config
204
B
-rwxr-xr-x
python3.6m
11.59
KB
-rwxr-xr-x
python3.6m-config
204
B
-rwxr-xr-x
python3.6m-x86_64-config
3.54
KB
-rwxr-xr-x
pyvenv-3
446
B
-rwxr-xr-x
pyvenv-3.6
446
B
-rwxr-xr-x
qemu-ga
505.49
KB
-rwxr-xr-x
quota
91.49
KB
-rwsr-xr-x
quotasync
74.69
KB
-rwxr-xr-x
ranlib
61.97
KB
-rwxr-xr-x
raw
16.5
KB
-rwxr-xr-x
read
28
B
-rwxr-xr-x
readelf
624.54
KB
-rwxr-xr-x
readlink
45.88
KB
-rwxr-xr-x
realpath
49.94
KB
-rwxr-xr-x
recode-sr-latin
17.99
KB
-rwxr-xr-x
rename
16.5
KB
-rwxr-xr-x
renew-dummy-cert
725
B
-rwxr-xr-x
renice
16.46
KB
-rwxr-xr-x
replace
3.54
MB
-rwxr-xr-x
repo-graph
3.62
KB
-rwxr-xr-x
repoclosure
3.62
KB
-rwxr-xr-x
repodiff
3.62
KB
-rwxr-xr-x
repomanage
3.62
KB
-rwxr-xr-x
repoquery
3.62
KB
-rwxr-xr-x
reposync
3.62
KB
-rwxr-xr-x
repotrack
3.62
KB
-rwxr-xr-x
rescan-scsi-bus.sh
38.24
KB
-rwxr-xr-x
reset
24.76
KB
-rwxr-xr-x
resizecons
20.77
KB
-rwxr-xr-x
resolve_stack_dump
3.56
MB
-rwxr-xr-x
resolvectl
195.75
KB
-rwxr-xr-x
resolveip
3.56
MB
-rwxr-xr-x
rev
12.46
KB
-rwxr-xr-x
rm
70.38
KB
-rwxr-xr-x
rmdir
45.46
KB
-rwxr-xr-x
rnano
247.94
KB
-rwxr-xr-x
rpcbind
61.55
KB
-rwxr-xr-x
rpcinfo
32.64
KB
-rwxr-xr-x
rpm
20.85
KB
-rwxr-xr-x
rpm2archive
20.46
KB
-rwxr-xr-x
rpm2cpio
11.84
KB
-rwxr-xr-x
rpmdb
16.96
KB
-rwxr-xr-x
rpmkeys
16.87
KB
-rwxr-xr-x
rpmquery
20.85
KB
-rwxr-xr-x
rpmverify
20.85
KB
-rwxr-xr-x
rsync
522.35
KB
-rwxr-xr-x
rsyslog-recover-qi.pl
5.96
KB
-rwxr-xr-x
run-parts
1.94
KB
-rwxr-xr-x
run-with-aspell
85
B
-rwxr-xr-x
runc
12.41
MB
-rwxr-xr-x
runcon
37.38
KB
-rwxr-xr-x
rvi
1.13
MB
-rwxr-xr-x
rview
1.13
MB
-rwxr-xr-x
rvim
2.93
MB
-rwxr-xr-x
sadf
334.57
KB
-rwxr-xr-x
sandbox
17.62
KB
-rwxr-xr-x
sar
135.77
KB
-rwxr-xr-x
sccmap
20.62
KB
-rwxr-xr-x
scl
36.87
KB
-rwxr-xr-x
scl_enabled
258
B
-rwxr-xr-x
scl_source
1.82
KB
-rwxr-xr-x
scp
102.84
KB
-rwxr-xr-x
screen
482.46
KB
-rwxr-sr-x
script
36.8
KB
-rwxr-xr-x
scriptreplay
29
KB
-rwxr-xr-x
scsi-rescan
38.24
KB
-rwxr-xr-x
scsi_logging_level
8.38
KB
-rwxr-xr-x
scsi_mandat
3.52
KB
-rwxr-xr-x
scsi_readcap
1.3
KB
-rwxr-xr-x
scsi_ready
1.09
KB
-rwxr-xr-x
scsi_satl
3.77
KB
-rwxr-xr-x
scsi_start
1.25
KB
-rwxr-xr-x
scsi_stop
1.44
KB
-rwxr-xr-x
scsi_temperature
936
B
-rwxr-xr-x
sdiff
105.33
KB
-rwxr-xr-x
secon
25.46
KB
-rwxr-xr-x
secret-tool
21.17
KB
-rwxr-xr-x
sed
115.27
KB
-rwxr-xr-x
sedismod
273.66
KB
-rwxr-xr-x
sedispol
198.48
KB
-rwxr-xr-x
semodule_expand
12.28
KB
-rwxr-xr-x
semodule_link
12.28
KB
-rwxr-xr-x
semodule_package
16.68
KB
-rwxr-xr-x
semodule_unpackage
12.3
KB
-rwxr-xr-x
seq
53.45
KB
-rwxr-xr-x
sessreg
17.38
KB
-rwxr-xr-x
setarch
20.76
KB
-rwxr-xr-x
setfacl
37.65
KB
-rwxr-xr-x
setfont
45.19
KB
-rwxr-xr-x
setkeycodes
12.56
KB
-rwxr-xr-x
setleds
16.6
KB
-rwxr-xr-x
setmetamode
12.56
KB
-rwxr-xr-x
setpriv
45.16
KB
-rwxr-xr-x
setsid
16.38
KB
-rwxr-xr-x
setterm
45.13
KB
-rwxr-xr-x
setup-nsssysinit
1.5
KB
-rwxr-xr-x
setup-nsssysinit.sh
1.5
KB
-rwxr-xr-x
setvtrgb
16.64
KB
-rwxr-xr-x
sfdp
12.26
KB
-rwxr-xr-x
sftp
159.74
KB
-rwxr-xr-x
sg
42.46
KB
-rwsr-xr-x
sg_bg_ctl
16.07
KB
-rwxr-xr-x
sg_compare_and_write
20.9
KB
-rwxr-xr-x
sg_copy_results
20.81
KB
-rwxr-xr-x
sg_dd
44.58
KB
-rwxr-xr-x
sg_decode_sense
20.33
KB
-rwxr-xr-x
sg_emc_trespass
12.26
KB
-rwxr-xr-x
sg_format
33.37
KB
-rwxr-xr-x
sg_get_config
33.31
KB
-rwxr-xr-x
sg_get_lba_status
20.46
KB
-rwxr-xr-x
sg_ident
16.17
KB
-rwxr-xr-x
sg_inq
117.91
KB
-rwxr-xr-x
sg_logs
150.02
KB
-rwxr-xr-x
sg_luns
24.85
KB
-rwxr-xr-x
sg_map
16.41
KB
-rwxr-xr-x
sg_map26
24.87
KB
-rwxr-xr-x
sg_modes
43.88
KB
-rwxr-xr-x
sg_opcodes
28.69
KB
-rwxr-xr-x
sg_persist
34.13
KB
-rwxr-xr-x
sg_prevent
12.07
KB
-rwxr-xr-x
sg_raw
24.38
KB
-rwxr-xr-x
sg_rbuf
20.84
KB
-rwxr-xr-x
sg_rdac
15.88
KB
-rwxr-xr-x
sg_read
24.41
KB
-rwxr-xr-x
sg_read_attr
34.79
KB
-rwxr-xr-x
sg_read_block_limits
12.12
KB
-rwxr-xr-x
sg_read_buffer
20.96
KB
-rwxr-xr-x
sg_read_long
16.27
KB
-rwxr-xr-x
sg_readcap
20.86
KB
-rwxr-xr-x
sg_reassign
16.22
KB
-rwxr-xr-x
sg_referrals
16.23
KB
-rwxr-xr-x
sg_rep_zones
20.66
KB
-rwxr-xr-x
sg_requests
16.3
KB
-rwxr-xr-x
sg_reset
16.73
KB
-rwxr-xr-x
sg_reset_wp
16.17
KB
-rwxr-xr-x
sg_rmsn
12.06
KB
-rwxr-xr-x
sg_rtpg
16.16
KB
-rwxr-xr-x
sg_safte
20.27
KB
-rwxr-xr-x
sg_sanitize
24.58
KB
-rwxr-xr-x
sg_sat_identify
16.71
KB
-rwxr-xr-x
sg_sat_phy_event
20.59
KB
-rwxr-xr-x
sg_sat_read_gplog
16.3
KB
-rwxr-xr-x
sg_sat_set_features
16.27
KB
-rwxr-xr-x
sg_scan
16.5
KB
-rwxr-xr-x
sg_seek
16.85
KB
-rwxr-xr-x
sg_senddiag
25.27
KB
-rwxr-xr-x
sg_ses
118.23
KB
-rwxr-xr-x
sg_ses_microcode
29.48
KB
-rwxr-xr-x
sg_start
20.93
KB
-rwxr-xr-x
sg_stpg
20.3
KB
-rwxr-xr-x
sg_stream_ctl
20.27
KB
-rwxr-xr-x
sg_sync
16.22
KB
-rwxr-xr-x
sg_test_rwbuf
20.73
KB
-rwxr-xr-x
sg_timestamp
20.74
KB
-rwxr-xr-x
sg_turs
16.74
KB
-rwxr-xr-x
sg_unmap
24.32
KB
-rwxr-xr-x
sg_verify
20.46
KB
-rwxr-xr-x
sg_vpd
108.75
KB
-rwxr-xr-x
sg_wr_mode
20.3
KB
-rwxr-xr-x
sg_write_buffer
21.24
KB
-rwxr-xr-x
sg_write_long
16.33
KB
-rwxr-xr-x
sg_write_same
24.48
KB
-rwxr-xr-x
sg_write_verify
20.78
KB
-rwxr-xr-x
sg_write_x
53.75
KB
-rwxr-xr-x
sg_xcopy
40.59
KB
-rwxr-xr-x
sg_zone
16.3
KB
-rwxr-xr-x
sginfo
74.85
KB
-rwxr-xr-x
sgm_dd
32.55
KB
-rwxr-xr-x
sgp_dd
36.95
KB
-rwxr-xr-x
sh
1.1
MB
-rwxr-xr-x
sha1hmac
32.66
KB
-rwxr-xr-x
sha1sum
45.55
KB
-rwxr-xr-x
sha224hmac
32.66
KB
-rwxr-xr-x
sha224sum
45.58
KB
-rwxr-xr-x
sha256hmac
32.66
KB
-rwxr-xr-x
sha256sum
45.58
KB
-rwxr-xr-x
sha384hmac
32.66
KB
-rwxr-xr-x
sha384sum
45.59
KB
-rwxr-xr-x
sha512hmac
32.66
KB
-rwxr-xr-x
sha512sum
45.59
KB
-rwxr-xr-x
shasum
9.66
KB
-rwxr-xr-x
showconsolefont
20.73
KB
-rwxr-xr-x
showkey
16.58
KB
-rwxr-xr-x
showrgb
13.05
KB
-rwxr-xr-x
shred
61.85
KB
-rwxr-xr-x
shuf
58.09
KB
-rwxr-xr-x
sieve-dump
35.03
KB
-rwxr-xr-x
sieve-filter
44.48
KB
-rwxr-xr-x
sieve-test
40.42
KB
-rwxr-xr-x
sievec
35.28
KB
-rwxr-xr-x
signver
114.79
KB
-rwxr-xr-x
sim_client
16.27
KB
-rwxr-xr-x
size
33.25
KB
-rwxr-xr-x
skill
28.8
KB
-rwxr-xr-x
slabinfo
36.15
KB
-rwxr-xr-x
slabtop
20.84
KB
-rwxr-xr-x
sleep
37.4
KB
-rwxr-xr-x
slencheck
12.29
KB
-rwxr-xr-x
slirp4netns
78.75
KB
-rwxr-xr-x
sm3hmac
32.66
KB
-rwxr-xr-x
snice
28.8
KB
-rwxr-xr-x
snmpconf
25.44
KB
-rwxr-xr-x
socat
406.49
KB
-rwxr-xr-x
soelim
42.55
KB
-rwxr-xr-x
sort
123.48
KB
-rwxr-xr-x
sotruss
4.18
KB
-rwxr-xr-x
source-highlight
84.3
KB
-rwxr-xr-x
source-highlight-esc.sh
1017
B
-rwxr-xr-x
source-highlight-settings
20.91
KB
-rwxr-xr-x
spell
122
B
-rwxr-xr-x
splain
18.7
KB
-rwxr-xr-x
split
58.05
KB
-rwxr-xr-x
sprof
28.67
KB
-rwxr-xr-x
sqlite3
1.28
MB
-rwxr-xr-x
src-hilite-lesspipe.sh
490
B
-rwxr-xr-x
ssh
757.61
KB
-rwxr-xr-x
ssh-add
346.13
KB
-rwxr-xr-x
ssh-agent
325.59
KB
-rwxr-xr-x
ssh-copy-id
10.44
KB
-rwxr-xr-x
ssh-keygen
427.17
KB
-rwxr-xr-x
ssh-keyscan
432.59
KB
-rwxr-xr-x
sshpass
20.48
KB
-rwxr-xr-x
ssltap
130.51
KB
-rwxr-xr-x
sss_ssh_authorizedkeys
28.78
KB
-rwxr-xr-x
sss_ssh_knownhostsproxy
28.78
KB
-rwxr-xr-x
stat
86.16
KB
-rwxr-xr-x
stdbuf
49.5
KB
-rwxr-xr-x
strace
1.94
MB
-rwxr-xr-x
strace-log-merge
1.78
KB
-rwxr-xr-x
stream
11.87
KB
-rwxr-xr-x
strings
37.43
KB
-rwxr-xr-x
strip
240.09
KB
-rwxr-xr-x
stty
77.61
KB
-rwxr-xr-x
su
48.99
KB
-rwsr-x---
sudo
186.52
KB
---s--x--x
sudoedit
186.52
KB
---s--x--x
sudoreplay
119.2
KB
---x--x--x
sum
45.53
KB
-rwxr-xr-x
sw-engine
20.12
MB
-rwxr-xr-x
switch_mod_lsapi
31.27
KB
-rwxr-xr-x
sxpm
28.81
KB
-rwxr-xr-x
sync
37.35
KB
-rwxr-xr-x
systemctl
218.45
KB
-rwxr-xr-x
systemd-analyze
1.56
MB
-rwxr-xr-x
systemd-ask-password
12.02
KB
-rwxr-xr-x
systemd-cat
16.03
KB
-rwxr-xr-x
systemd-cgls
16.44
KB
-rwxr-xr-x
systemd-cgtop
32.88
KB
-rwxr-xr-x
systemd-delta
24.45
KB
-rwxr-xr-x
systemd-detect-virt
11.88
KB
-rwxr-xr-x
systemd-escape
16.01
KB
-rwxr-xr-x
systemd-firstboot
36.98
KB
-rwxr-xr-x
systemd-hwdb
28.91
KB
-rwxr-xr-x
systemd-inhibit
16.03
KB
-rwxr-xr-x
systemd-machine-id-setup
24.75
KB
-rwxr-xr-x
systemd-mount
52.63
KB
-rwxr-xr-x
systemd-notify
16.03
KB
-rwxr-xr-x
systemd-nspawn
275.08
KB
-rwxr-xr-x
systemd-path
16.02
KB
-rwxr-xr-x
systemd-resolve
195.75
KB
-rwxr-xr-x
systemd-run
48.95
KB
-rwxr-xr-x
systemd-socket-activate
24.77
KB
-rwxr-xr-x
systemd-stdio-bridge
16.02
KB
-rwxr-xr-x
systemd-sysusers
53.05
KB
-rwxr-xr-x
systemd-tmpfiles
73.3
KB
-rwxr-xr-x
systemd-tty-ask-password-agent
32.82
KB
-rwxr-xr-x
systemd-umount
52.63
KB
-rwxr-xr-x
tabs
16.55
KB
-rwxr-xr-x
tac
41.49
KB
-rwxr-xr-x
tail
74.13
KB
-rwxr-xr-x
tapestat
41.32
KB
-rwxr-xr-x
tar
448.99
KB
-rwxr-xr-x
taskset
37.26
KB
-rwxr-xr-x
tbl
154.61
KB
-rwxr-xr-x
tcamgr
25.13
KB
-rwxr-xr-x
tcamttest
21.16
KB
-rwxr-xr-x
tcatest
57.6
KB
-rwxr-xr-x
tcbmgr
29.1
KB
-rwxr-xr-x
tcbmttest
53.22
KB
-rwxr-xr-x
tcbtest
69.56
KB
-rwxr-xr-x
tcfmgr
25.09
KB
-rwxr-xr-x
tcfmttest
37.2
KB
-rwxr-xr-x
tcftest
45.18
KB
-rwxr-xr-x
tchmgr
25.09
KB
-rwxr-xr-x
tchmttest
49.22
KB
-rwxr-xr-x
tchtest
57.53
KB
-rwxr-xr-x
tclsh
9.04
KB
-rwxr-xr-x
tclsh8.6
9.04
KB
-rwxr-xr-x
tcptraceroute
1.55
KB
-rwxr-xr-x
tctmgr
37.09
KB
-rwxr-xr-x
tctmttest
45.2
KB
-rwxr-xr-x
tcttest
57.19
KB
-rwxr-xr-x
tcucodec
37.08
KB
-rwxr-xr-x
tcumttest
25.16
KB
-rwxr-xr-x
tcutest
73.17
KB
-rwxr-xr-x
teamd
160.52
KB
-rwxr-xr-x
teamdctl
30.37
KB
-rwxr-xr-x
teamnl
20.47
KB
-rwxr-xr-x
tee
41.48
KB
-rwxr-xr-x
telnet
104.88
KB
-rwxr-xr-x
test
53.55
KB
-rwxr-xr-x
tic
85.31
KB
-rwxr-xr-x
timedatectl
36.96
KB
-rwxr-xr-x
timeout
41.85
KB
-rwxr-xr-x
tload
16.76
KB
-rwxr-xr-x
tmon
39.63
KB
-rwxr-xr-x
tmpwatch
35.47
KB
-rwxr-xr-x
toe
16.45
KB
-rwxr-xr-x
top
121.7
KB
-rwxr-xr-x
touch
93.94
KB
-rwxr-xr-x
tput
24.8
KB
-rwxr-xr-x
tr
49.63
KB
-rwxr-xr-x
tracepath
20.44
KB
-rwxr-xr-x
traceroute
70.97
KB
-rwxr-xr-x
traceroute6
70.97
KB
-rwxr-xr-x
tred
16.59
KB
-rwxr-xr-x
troff
805.02
KB
-rwxr-xr-x
true
33.33
KB
-rwxr-xr-x
truncate
41.36
KB
-rwxr-xr-x
trust
219.55
KB
-rwxr-xr-x
tset
24.76
KB
-rwxr-xr-x
tsort
41.49
KB
-rwxr-xr-x
tty
33.31
KB
-rwxr-xr-x
turbostat
130.8
KB
-rwxr-xr-x
twopi
12.26
KB
-rwxr-xr-x
type
28
B
-rwxr-xr-x
tzselect
15.01
KB
-rwxr-xr-x
uapi
3.35
MB
-rwxr-xr-x
ucs2any
24.41
KB
-rwxr-xr-x
udevadm
424.56
KB
-rwxr-xr-x
ul
20.59
KB
-rwxr-xr-x
ulimit
30
B
-rwxr-xr-x
umask
29
B
-rwxr-xr-x
umount
32.75
KB
-rwsr-xr-x
unalias
31
B
-rwxr-xr-x
uname
37.33
KB
-rwxr-xr-x
uname26
20.76
KB
-rwxr-xr-x
unexpand
45.61
KB
-rwxr-xr-x
unflatten
16.63
KB
-rwxr-xr-x
unicode_start
2.55
KB
-rwxr-xr-x
unicode_stop
363
B
-rwxr-xr-x
uniq
49.64
KB
-rwxr-xr-x
unlink
33.34
KB
-rwxr-xr-x
unlzma
82.09
KB
-rwxr-xr-x
unpigz
125.38
KB
-rwxr-xr-x
unshare
24.93
KB
-rwxr-xr-x
unversioned-python
157
B
-rwxr-xr-x
unxz
82.09
KB
-rwxr-xr-x
unzip
201.88
KB
-rwxr-xr-x
unzipsfx
101.48
KB
-rwxr-xr-x
update-ca-trust
1.24
KB
-rwxr-xr-x
update-crypto-policies
87
B
-rwxr-xr-x
update-gtk-immodules
313
B
-rwxr-xr-x
update-mime-database
57.22
KB
-rwxr-xr-x
updatedb
53.84
KB
-rwxr-xr-x
uptime
12.59
KB
-rwxr-xr-x
users
37.4
KB
-rwxr-xr-x
usleep
11.86
KB
-rwxr-xr-x
utmpdump
28.66
KB
-rwxr-xr-x
uuclient
15.88
KB
-rwxr-xr-x
uuidgen
16.38
KB
-rwxr-xr-x
uuidparse
37.13
KB
-rwxr-xr-x
vdir
139.91
KB
-rwxr-xr-x
vi
1.13
MB
-rwxr-xr-x
view
1.13
MB
-rwxr-xr-x
vim
2.93
MB
-rwxr-xr-x
vimdiff
2.93
MB
-rwxr-xr-x
vimdot
1.06
KB
-rwxr-xr-x
vimtutor
2.07
KB
-rwxr-xr-x
vlock
20.83
KB
-rwxr-xr-x
vmstat
36.79
KB
-rwxr-xr-x
w
20.75
KB
-rwxr-xr-x
wait
28
B
-rwxr-xr-x
wall
33.05
KB
-rwxr-xr-x
watch
29.19
KB
-rwxr-xr-x
watchgnupg
16.44
KB
-rwxr-xr-x
wc
49.64
KB
-rwxr-xr-x
wdctl
36.98
KB
-rwxr-xr-x
wget
521.43
KB
-rwxr-xr-x
whatis
54.04
KB
-rwxr-xr-x
whereis
29.27
KB
-rwxr-xr-x
which
29.38
KB
-rwxr-xr-x
whiptail
33.09
KB
-rwxr-xr-x
who
53.59
KB
-rwxr-xr-x
whoami
33.34
KB
-rwxr-xr-x
wmf2eps
17.15
KB
-rwxr-xr-x
wmf2fig
17.15
KB
-rwxr-xr-x
wmf2gd
17.14
KB
-rwxr-xr-x
wmf2svg
17.16
KB
-rwxr-xr-x
wmf2x
17.13
KB
-rwxr-xr-x
word-list-compress
11.99
KB
-rwxr-xr-x
write
20.62
KB
-rwxr-sr-x
wsrep_sst_backup
2.39
KB
-rwxr-xr-x
wsrep_sst_common
66.99
KB
-rw-r--r--
wsrep_sst_mariabackup
49.51
KB
-rwxr-xr-x
wsrep_sst_mysqldump
8.1
KB
-rwxr-xr-x
wsrep_sst_rsync
29.79
KB
-rwxr-xr-x
wsrep_sst_rsync_wan
29.79
KB
-rwxr-xr-x
x86_64
20.76
KB
-rwxr-xr-x
x86_64-redhat-linux-c++
1.21
MB
-rwxr-xr-x
x86_64-redhat-linux-g++
1.21
MB
-rwxr-xr-x
x86_64-redhat-linux-gcc
1.21
MB
-rwxr-xr-x
x86_64-redhat-linux-gcc-8
1.21
MB
-rwxr-xr-x
x86_64-redhat-linux-gnu-pkg-co...
424
B
-rwxr-xr-x
x86_energy_perf_policy
31.95
KB
-rwxr-xr-x
xargs
74.11
KB
-rwxr-xr-x
xgamma
17.08
KB
-rwxr-xr-x
xgettext
283.88
KB
-rwxr-xr-x
xhost
17.12
KB
-rwxr-xr-x
xinput
63.61
KB
-rwxr-xr-x
xkill
17.1
KB
-rwxr-xr-x
xml2-config
1.71
KB
-rwxr-xr-x
xmlcatalog
20.38
KB
-rwxr-xr-x
xmllint
73.37
KB
-rwxr-xr-x
xmlwf
36.97
KB
-rwxr-xr-x
xmodmap
39.98
KB
-rwxr-xr-x
xorg-x11-fonts-update-dirs
1.29
KB
-rwxr--r--
xrandr
65.46
KB
-rwxr-xr-x
xrdb
33.98
KB
-rwxr-xr-x
xrefresh
17.94
KB
-rwxr-xr-x
xset
37.2
KB
-rwxr-xr-x
xsetpointer
13.05
KB
-rwxr-xr-x
xsetroot
21.44
KB
-rwxr-xr-x
xslt-config
2.36
KB
-rwxr-xr-x
xsltproc
28.47
KB
-rwxr-xr-x
xstdcmap
17.68
KB
-rwxr-xr-x
xsubpp
4.96
KB
-rwxr-xr-x
xxd
20.53
KB
-rwxr-xr-x
xz
82.09
KB
-rwxr-xr-x
xzcat
82.09
KB
-rwxr-xr-x
xzcmp
6.48
KB
-rwxr-xr-x
xzdec
16.48
KB
-rwxr-xr-x
xzdiff
6.48
KB
-rwxr-xr-x
xzegrep
5.76
KB
-rwxr-xr-x
xzfgrep
5.76
KB
-rwxr-xr-x
xzgrep
5.76
KB
-rwxr-xr-x
xzless
1.76
KB
-rwxr-xr-x
xzmore
2.11
KB
-rwxr-xr-x
yat2m
33.34
KB
-rwxr-xr-x
yes
33.37
KB
-rwxr-xr-x
ypdomainname
21.16
KB
-rwxr-xr-x
yum
2.05
KB
-rwxr-xr-x
yum-builddep
3.62
KB
-rwxr-xr-x
yum-config-manager
3.62
KB
-rwxr-xr-x
yum-debug-dump
3.62
KB
-rwxr-xr-x
yum-debug-restore
3.62
KB
-rwxr-xr-x
yum-groups-manager
3.62
KB
-rwxr-xr-x
yumdownloader
3.62
KB
-rwxr-xr-x
zcat
1.94
KB
-rwxr-xr-x
zcmp
1.64
KB
-rwxr-xr-x
zdiff
5.74
KB
-rwxr-xr-x
zegrep
29
B
-rwxr-xr-x
zfgrep
29
B
-rwxr-xr-x
zforce
2.03
KB
-rwxr-xr-x
zgrep
7.4
KB
-rwxr-xr-x
zip
229
KB
-rwxr-xr-x
zipcloak
102.91
KB
-rwxr-xr-x
zipdetails
49.39
KB
-rwxr-xr-x
zipgrep
2.88
KB
-rwxr-xr-x
zipinfo
201.88
KB
-rwxr-xr-x
zipnote
97.76
KB
-rwxr-xr-x
zipsplit
97.76
KB
-rwxr-xr-x
zless
2.15
KB
-rwxr-xr-x
zmore
1.8
KB
-rwxr-xr-x
znew
4.45
KB
-rwxr-xr-x
zsoelim
42.55
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : wsrep_sst_mariabackup
#!/usr/bin/bash set -ue # Copyright (C) 2017-2024 MariaDB # Copyright (C) 2013 Percona Inc # # 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 reference script for mariadb-backup-based state snapshot transfer. # Documentation: # https://mariadb.com/kb/en/mariabackup-overview/ # Make sure to read that before proceeding! . $(dirname "$0")/wsrep_sst_common BACKUP_BIN=$(commandex 'mariadb-backup') if [ -z "$BACKUP_BIN" ]; then wsrep_log_error 'mariadb-backup binary not found in path' exit 42 fi BACKUP_PID="" INFO_FILE='xtrabackup_galera_info' DONOR_INFO_FILE='donor_galera_info' IST_FILE='xtrabackup_ist' MAGIC_FILE="$DATA/$INFO_FILE" DONOR_MAGIC_FILE="$DATA/$DONOR_INFO_FILE" ealgo="" eformat="" ekey="" ekeyfile="" encrypt=0 ssyslog="" ssystag="" tcert="" tcap="" tpem="" tkey="" tmode="" sockopt="" progress="" ttime=0 totime=0 lsn="" ecmd="" rlimit="" # Initially stagemsg="$WSREP_SST_OPT_ROLE" cpat="" speciald=1 ib_home_dir="" ib_log_dir="" ib_undo_dir="" ar_log_dir="" sfmt="" strmcmd="" tfmt="" tcmd="" payload=0 pvformat="-F '%N => Rate:%r Avg:%a Elapsed:%t %e Bytes: %b %p'" pvopts="-f -i 10 -N $WSREP_SST_OPT_ROLE" uextra=0 disver="" STATDIR="" tmpopts="" itmpdir="" xtmpdir="" scomp="" sdecomp="" ssl_dhparams="" compress='none' compress_chunk="" compress_threads="" backup_threads="" encrypt_threads="" encrypt_chunk="" readonly SECRET_TAG='secret' readonly TOTAL_TAG='total' # Required for backup locks # For backup locks it is 1 sent by joiner sst_ver=1 INNOAPPLYLOG="$DATA/mariabackup.prepare.log" INNOMOVELOG="$DATA/mariabackup.move.log" INNOBACKUPLOG="$DATA/mariabackup.backup.log" timeit() { local stage="$1" shift local cmd="$@" local x1 x2 took extcode if [ $ttime -eq 1 ]; then x1=$(date +%s) fi wsrep_log_info "Evaluating $cmd" eval $cmd extcode=$? if [ $ttime -eq 1 ]; then x2=$(date +%s) took=$(( x2-x1 )) wsrep_log_info "NOTE: $stage took $took seconds" totime=$(( totime+took )) fi return $extcode } get_keys() { # $encrypt -eq 1 is for internal purposes only if [ $encrypt -ge 2 -o $encrypt -eq -1 ]; then return fi if [ $encrypt -eq 0 ]; then if [ -n "$ealgo" -o -n "$ekey" -o -n "$ekeyfile" ]; then wsrep_log_error "Options for encryption are specified," \ "but encryption itself is disabled. SST may fail." fi return fi if [ "$sfmt" = 'tar' ]; then wsrep_log_info "NOTE: key-based encryption (encrypt=1)" \ "cannot be enabled with tar format" encrypt=-1 return fi wsrep_log_info "Key based encryption enabled in my.cnf" if [ -z "$ealgo" ]; then wsrep_log_error "FATAL: Encryption algorithm empty from my.cnf, bailing out" exit 3 fi if [ -z "$ekey" -a ! -r "$ekeyfile" ]; then wsrep_log_error "FATAL: Either key must be specified" \ "or keyfile must be readable" exit 3 fi if [ "$eformat" = 'openssl' ]; then get_openssl if [ -z "$OPENSSL_BINARY" ]; then wsrep_log_error "If encryption using the openssl is enabled," \ "then you need to install openssl" exit 2 fi ecmd="'$OPENSSL_BINARY' enc -$ealgo" if "$OPENSSL_BINARY" enc -help 2>&1 | grep -qw -F -- '-pbkdf2'; then ecmd="$ecmd -pbkdf2" elif "$OPENSSL_BINARY" enc -help 2>&1 | grep -qw -F -- '-iter'; then ecmd="$ecmd -iter 1" elif "$OPENSSL_BINARY" enc -help 2>&1 | grep -qw -F -- '-md'; then ecmd="$ecmd -md sha256" fi if [ -z "$ekey" ]; then ecmd="$ecmd -kfile '$ekeyfile'" else ecmd="$ecmd -k '$ekey'" fi elif [ "$eformat" = 'xbcrypt' ]; then if [ -z "$(commandex xbcrypt)" ]; then wsrep_log_error "If encryption using the xbcrypt is enabled," \ "then you need to install xbcrypt" exit 2 fi wsrep_log_info "NOTE: xbcrypt-based encryption," \ "supported only from Xtrabackup 2.1.4" if [ -z "$ekey" ]; then ecmd="xbcrypt --encrypt-algo='$ealgo' --encrypt-key-file='$ekeyfile'" else ecmd="xbcrypt --encrypt-algo='$ealgo' --encrypt-key='$ekey'" fi if [ -n "$encrypt_threads" ]; then ecmd="$ecmd --encrypt-threads=$encrypt_threads" fi if [ -n "$encrypt_chunk" ]; then ecmd="$ecmd --encrypt-chunk-size=$encrypt_chunk" fi else wsrep_log_error "Unknown encryption format='$eformat'" exit 2 fi [ "$WSREP_SST_OPT_ROLE" = 'joiner' ] && ecmd="$ecmd -d" stagemsg="$stagemsg-XB-Encrypted" } get_socat_ver() { [ -n "${SOCAT_VERSION+x}" ] && return # Determine the socat version SOCAT_VERSION=$(socat -V 2>&1 | \ grep -m1 -owE '[0-9]+(\.[0-9]+)+' | \ head -n1 || :) if [ -z "$SOCAT_VERSION" ]; then wsrep_log_error "******** FATAL ERROR ******************" wsrep_log_error "* Cannot determine the socat version. *" wsrep_log_error "***************************************" exit 2 fi } get_transfer() { if [ "$tfmt" = 'nc' ]; then wsrep_log_info "Using netcat as streamer" wsrep_check_programs nc tcmd='nc' if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then if nc -h 2>&1 | grep -q -F 'ncat'; then wsrep_log_info "Using Ncat as streamer" tcmd="$tcmd -l" elif nc -h 2>&1 | grep -qw -F -- '-d'; then wsrep_log_info "Using Debian netcat as streamer" tcmd="$tcmd -dl" if [ $WSREP_SST_OPT_HOST_IPv6 -eq 1 ]; then # When host is not explicitly specified (when only the port # is specified) netcat can only bind to an IPv4 address if # the "-6" option is not explicitly specified: tcmd="$tcmd -6" fi else wsrep_log_info "Using traditional netcat as streamer" tcmd="$tcmd -l -p" fi tcmd="$tcmd $SST_PORT" else # Check to see if netcat supports the '-N' flag. # -N Shutdown the network socket after EOF on stdin # If it supports the '-N' flag, then we need to use the '-N' # flag, otherwise the transfer will stay open after the file # transfer and cause the command to timeout. # Older versions of netcat did not need this flag and will # return an error if the flag is used. if nc -h 2>&1 | grep -qw -F -- '-N'; then tcmd="$tcmd -N" wsrep_log_info "Using nc -N" fi # netcat doesn't understand [] around IPv6 address if nc -h 2>&1 | grep -q -F 'ncat'; then wsrep_log_info "Using Ncat as streamer" elif nc -h 2>&1 | grep -qw -F -- '-d'; then wsrep_log_info "Using Debian netcat as streamer" else wsrep_log_info "Using traditional netcat as streamer" tcmd="$tcmd -q0" fi tcmd="$tcmd $(safe WSREP_SST_OPT_HOST_UNESCAPED) $SST_PORT" fi else tfmt='socat' wsrep_log_info "Using socat as streamer" wsrep_check_programs socat if [ -n "$sockopt" ]; then sockopt=$(trim_string "$sockopt" ',') if [ -n "$sockopt" ]; then sockopt=",$sockopt" fi fi # Add an option for ipv6 if needed: if [ $WSREP_SST_OPT_HOST_IPv6 -eq 1 ]; then # If sockopt contains 'pf=ip6' somewhere in the middle, # this will not interfere with socat, but exclude the trivial # cases when sockopt contains 'pf=ip6' as prefix or suffix: if [ "$sockopt" = "${sockopt#,pf=ip6,}" -a \ "$sockopt" = "${sockopt%,pf=ip6}" ] then sockopt=",pf=ip6$sockopt" fi fi if [ $encrypt -lt 2 ]; then if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then tcmd="socat -u TCP-LISTEN:$SST_PORT,reuseaddr$sockopt stdio" else tcmd="socat -u stdio TCP:$REMOTEIP:$SST_PORT$sockopt" fi return fi if ! socat -V | grep -q -F 'WITH_OPENSSL 1'; then wsrep_log_error "******** FATAL ERROR ************************************************ " wsrep_log_error "* Encryption requested, but socat is not OpenSSL enabled (encrypt=$encrypt) *" wsrep_log_error "********************************************************************* " exit 2 fi local action='Decrypting' if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then tcmd="socat -u openssl-listen:$SST_PORT,reuseaddr" else local addr="$REMOTEIP:$SST_PORT" tcmd="socat -u stdio openssl-connect:$addr" action='Encrypting' get_socat_ver if ! check_for_version "$SOCAT_VERSION" '1.7.4.1'; then if check_for_version "$SOCAT_VERSION" '1.7.3.3'; then # Workaround for a bug known as 'Red Hat issue 1870279' # (connection reset by peer) in socat versions 1.7.3.3 # to 1.7.4.0: tcmd="socat stdio openssl-connect:$addr,linger=10" wsrep_log_info \ "Use workaround for socat $SOCAT_VERSION bug" fi fi if check_for_version "$SOCAT_VERSION" '1.7.4'; then tcmd="$tcmd,no-sni=1" fi fi if [ "${sockopt#*,dhparam=}" = "$sockopt" ]; then if [ -z "$ssl_dhparams" ]; then get_socat_ver if ! check_for_version "$SOCAT_VERSION" '1.7.3'; then # socat versions < 1.7.3 will have 512-bit dhparams (too small) # so create 2048-bit dhparams and send that as a parameter: check_for_dhparams fi fi if [ -n "$ssl_dhparams" ]; then tcmd="$tcmd,dhparam='$ssl_dhparams'" fi fi CN_option=",commonname=''" if [ $encrypt -eq 2 ]; then wsrep_log_info \ "Using openssl based encryption with socat: with crt and pem" if [ -z "$tpem" -o -z "$tcert$tcap" ]; then wsrep_log_error \ "Both PEM file and CRT file (or path) are required" exit 22 fi verify_ca_matches_cert "$tpem" "$tcert" "$tcap" tcmd="$tcmd,cert='$tpem'" if [ -n "$tcert" ]; then tcmd="$tcmd,cafile='$tcert'" fi if [ -n "$tcap" ]; then tcmd="$tcmd,capath='$tcap'" fi stagemsg="$stagemsg-OpenSSL-Encrypted-2" wsrep_log_info "$action with cert='$tpem', ca='$tcert', capath='$tcap'" elif [ $encrypt -eq 3 -o $encrypt -eq 4 ]; then wsrep_log_info \ "Using openssl based encryption with socat: with key and crt" if [ -z "$tpem" -o -z "$tkey" ]; then wsrep_log_error "Both the certificate file (or path) and" \ "the key file are required" exit 22 fi verify_cert_matches_key "$tpem" "$tkey" stagemsg="$stagemsg-OpenSSL-Encrypted-3" if [ -z "$tcert$tcap" ]; then if [ $encrypt -eq 4 ]; then wsrep_log_error \ "Peer certificate file (or path) required if encrypt=4" exit 22 fi # no verification CN_option="" tcmd="$tcmd,cert='$tpem',key='$tkey',verify=0" wsrep_log_info \ "$action with cert='$tpem', key='$tkey', verify=0" else # CA verification verify_ca_matches_cert "$tpem" "$tcert" "$tcap" if [ -n "$WSREP_SST_OPT_REMOTE_USER" ]; then CN_option=",commonname='$(safe WSREP_SST_OPT_REMOTE_USER)'" elif [ "$WSREP_SST_OPT_ROLE" = 'joiner' -o $encrypt -eq 4 ] then CN_option=",commonname=''" elif is_local_ip "$WSREP_SST_OPT_HOST_UNESCAPED"; then CN_option=',commonname=localhost' else CN_option=",commonname='$(safe WSREP_SST_OPT_HOST_UNESCAPED)'" fi tcmd="$tcmd,cert='$tpem',key='$tkey'" if [ -n "$tcert" ]; then tcmd="$tcmd,cafile='$tcert'" fi if [ -n "$tcap" ]; then tcmd="$tcmd,capath='$tcap'" fi wsrep_log_info "$action with cert='$tpem', key='$tkey'," \ "ca='$tcert', capath='$tcap'" fi else wsrep_log_info "Unknown encryption mode: encrypt=$encrypt" exit 22 fi tcmd="$tcmd$CN_option$sockopt" if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then tcmd="$tcmd stdio" fi fi } get_footprint() { cd "$DATA_DIR" local payload_data if [ "$OS" = 'Linux' ]; then payload_data=$(find $findopt . \ -regex '.*undo[0-9]+$\|.*\.ibd$\|.*\.MYI$\|.*\.MYD$\|.*ibdata1$' \ -type f -print0 | du --files0-from=- --bytes -c -s | \ awk 'END { print $1 }') else payload_data=$(find $findopt . \ -regex '.*undo[0-9]+$|.*\.ibd$|.*\.MYI$\.*\.MYD$|.*ibdata1$' \ -type f -print0 | xargs -0 stat -f '%z' | \ awk '{ sum += $1 } END { print sum }') fi local payload_undo=0 if [ -n "$ib_undo_dir" -a "$ib_undo_dir" != '.' -a \ "$ib_undo_dir" != "$DATA_DIR" -a -d "$ib_undo_dir" ] then cd "$ib_undo_dir" if [ "$OS" = 'Linux' ]; then payload_undo=$(find . -regex '.*undo[0-9]+$' -type f -print0 | \ du --files0-from=- --bytes -c -s | awk 'END { print $1 }') else payload_undo=$(find . -regex '.*undo[0-9]+$' -type f -print0 | \ xargs -0 stat -f '%z' | awk '{ sum += $1 } END { print sum }') fi fi cd "$OLD_PWD" wsrep_log_info \ "SST footprint estimate: data: $payload_data, undo: $payload_undo" payload=$(( payload_data+payload_undo )) if [ "$compress" != 'none' ]; then # QuickLZ has around 50% compression ratio # When compression/compaction used, the progress is only an approximate. payload=$(( payload*1/2 )) fi if [ $WSREP_SST_OPT_PROGRESS -eq 1 ]; then # report to parent the total footprint of the SST echo "$TOTAL_TAG $payload" fi adjust_progress } adjust_progress() { pcmd="" rcmd="" [ "$progress" = 'none' ] && return rlimitopts="" if [ -n "$rlimit" -a "$WSREP_SST_OPT_ROLE" = 'donor' ]; then wsrep_log_info "Rate-limiting SST to $rlimit" rlimitopts=" -L $rlimit" fi if [ -n "$progress" ]; then # Backward compatibility: user-configured progress output pcmd="pv $pvopts$rlimitopts" if [ -z "${PV_FORMAT+x}" ]; then PV_FORMAT=0 pv --help | grep -qw -F -- '-F' && PV_FORMAT=1 fi if [ $PV_FORMAT -eq 1 ]; then pcmd="$pcmd $pvformat" fi if [ $payload -ne 0 ]; then pcmd="$pcmd -s $payload" fi if [ "$progress" != '1' ]; then if [ -e "$progress" ]; then pcmd="$pcmd 2>>'$progress'" else pcmd="$pcmd 2>'$progress'" fi fi elif [ $WSREP_SST_OPT_PROGRESS -eq 1 ]; then # Default progress output parseable by parent pcmd="pv -f -i 1 -n -b$rlimitopts" # read progress data, add tag and post to stdout # for the parent rcmd="stdbuf -oL tr '\r' '\n' | xargs -n1 echo complete" elif [ -n "$rlimitopts" ]; then # Rate-limiting only, when rlimit is non-zero pcmd="pv -q$rlimitopts" fi } bkgroups='sst|xtrabackup|mariabackup' encgroups="--mysqld|$bkgroups" read_cnf() { sfmt=$(parse_cnf sst streamfmt 'mbstream') tfmt=$(parse_cnf sst transferfmt 'socat') encrypt=$(parse_cnf "$encgroups" 'encrypt' 0) tmode=$(parse_cnf "$encgroups" 'ssl-mode' 'DISABLED' | \ tr '[[:lower:]]' '[[:upper:]]') case "$tmode" in 'VERIFY_IDENTITY'|'VERIFY_CA'|'REQUIRED'|'DISABLED') ;; *) wsrep_log_error "Unrecognized ssl-mode option: '$tmode'" exit 22 # EINVAL ;; esac if [ $encrypt -eq 0 -o $encrypt -ge 2 ]; then if [ "$tmode" != 'DISABLED' -o $encrypt -ge 2 ]; then check_server_ssl_config fi if [ "$tmode" != 'DISABLED' ]; then if [ 0 -eq $encrypt -a -n "$tpem" -a -n "$tkey" ] then encrypt=3 # enable cert/key SSL encyption # avoid CA verification if not set explicitly: # nodes may happen to have different CA if self-generated, # zeroing up tcert and tcap does the trick: if [ "${tmode#VERIFY}" = "$tmode" ]; then tcert="" tcap="" fi fi fi elif [ $encrypt -eq 1 ]; then ealgo=$(parse_cnf "$encgroups" 'encrypt-algo') eformat=$(parse_cnf "$encgroups" 'encrypt-format' 'openssl') ekey=$(parse_cnf "$encgroups" 'encrypt-key') # The keyfile should be read only when the key # is not specified or empty: if [ -z "$ekey" ]; then ekeyfile=$(parse_cnf "$encgroups" 'encrypt-key-file') fi fi wsrep_log_info "SSL configuration: CA='$tcert', CAPATH='$tcap'," \ "CERT='$tpem', KEY='$tkey', MODE='$tmode'," \ "encrypt='$encrypt'" if [ $encrypt -ge 2 ]; then ssl_dhparams=$(parse_cnf "$encgroups" 'ssl-dhparams') fi sockopt=$(parse_cnf sst sockopt) progress=$(parse_cnf sst progress) ttime=$(parse_cnf sst time 0) cpat='.*\.pem$\|.*galera\.cache$\|.*sst_in_progress$\|.*\.sst$\|.*gvwstate\.dat$\|.*grastate\.dat$\|.*\.err$\|.*\.log$\|.*RPM_UPGRADE_MARKER$\|.*RPM_UPGRADE_HISTORY$' [ "$OS" = 'FreeBSD' ] && cpat=$(echo "$cpat" | sed 's/\\|/|/g') cpat=$(parse_cnf sst cpat "$cpat") scomp=$(parse_cnf sst compressor) sdecomp=$(parse_cnf sst decompressor) rlimit=$(parse_cnf sst rlimit) uextra=$(parse_cnf sst use-extra 0) speciald=$(parse_cnf sst 'sst-special-dirs' 1) iopts=$(parse_cnf "$bkgroups" 'inno-backup-opts') iapts=$(parse_cnf "$bkgroups" 'inno-apply-opts') impts=$(parse_cnf "$bkgroups" 'inno-move-opts') use_memory=$(parse_cnf "$bkgroups" 'use-memory') if [ -z "$use_memory" ]; then if [ -n "$INNODB_BUFFER_POOL_SIZE" ]; then use_memory="$INNODB_BUFFER_POOL_SIZE" else use_memory=$(parse_cnf '--mysqld' 'innodb-buffer-pool-size') fi fi stimeout=$(parse_cnf sst 'sst-initial-timeout' 300) ssyslog=$(parse_cnf sst 'sst-syslog' 0) ssystag=$(parse_cnf mysqld_safe 'syslog-tag' "${SST_SYSLOG_TAG:-}") ssystag="$ssystag-" sstlogarchive=$(parse_cnf sst 'sst-log-archive' 1) sstlogarchivedir="" if [ $sstlogarchive -ne 0 ]; then sstlogarchivedir=$(parse_cnf sst sst-log-archive-dir \ '/tmp/sst_log_archive') if [ -n "$sstlogarchivedir" ]; then sstlogarchivedir=$(trim_dir "$sstlogarchivedir") fi fi if [ $speciald -eq 0 ]; then wsrep_log_error \ "sst-special-dirs equal to 0 is not supported, falling back to 1" speciald=1 fi if [ $ssyslog -ne -1 ]; then ssyslog=$(in_config 'mysqld_safe' 'syslog') fi if [ "$WSREP_SST_OPT_ROLE" = 'donor' ]; then compress=$(parse_cnf "$encgroups" 'compress' 'none') if [ "$compress" != 'none' ]; then compress_chunk=$(parse_cnf "$encgroups" 'compress-chunk-size') compress_threads=$(parse_cnf "$encgroups" 'compress-threads') fi fi backup_threads=$(parse_cnf "$encgroups" 'backup-threads') if [ "$eformat" = 'xbcrypt' ]; then encrypt_threads=$(parse_cnf "$encgroups" 'encrypt-threads') encrypt_chunk=$(parse_cnf "$encgroups" 'encrypt-chunk-size') fi } get_stream() { if [ "$sfmt" = 'mbstream' -o "$sfmt" = 'xbstream' ]; then sfmt='mbstream' local STREAM_BIN=$(commandex "$sfmt") if [ -z "$STREAM_BIN" ]; then wsrep_log_error "Streaming with $sfmt, but $sfmt not found in path" exit 42 fi if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then strmcmd="'$STREAM_BIN' -x" else strmcmd="'$STREAM_BIN' -c '$INFO_FILE' '$DONOR_INFO_FILE'" fi else sfmt='tar' if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then strmcmd='tar xfi -' else strmcmd="tar cf - '$INFO_FILE' '$DONOR_INFO_FILE'" fi fi wsrep_log_info "Streaming with $sfmt" } cleanup_at_exit() { # Since this is invoked just after exit NNN local estatus=$? if [ $estatus -ne 0 ]; then wsrep_log_error "Cleanup after exit with status: $estatus" elif [ -z "${coords:-}" -a "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then estatus=32 wsrep_log_error "Failed to get current position" fi [ "$(pwd)" != "$OLD_PWD" ] && cd "$OLD_PWD" if [ "$WSREP_SST_OPT_ROLE" = 'donor' -o $estatus -ne 0 ]; then if [ $estatus -ne 0 ]; then wsrep_log_error "Removing $MAGIC_FILE file due to signal" fi [ -f "$MAGIC_FILE" ] && rm -f "$MAGIC_FILE" || : [ -f "$DONOR_MAGIC_FILE" ] && rm -f "$DONOR_MAGIC_FILE" || : [ -f "$DATA/$IST_FILE" ] && rm -f "$DATA/$IST_FILE" || : fi if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then if [ -n "$BACKUP_PID" ]; then if ps -p $BACKUP_PID >/dev/null 2>&1; then wsrep_log_error \ "SST streaming process is still running. Killing..." cleanup_pid $BACKUP_PID fi fi wsrep_log_info "Removing the sst_in_progress file" wsrep_cleanup_progress_file fi if [ -n "$progress" -a -p "$progress" ]; then wsrep_log_info "Cleaning up fifo file: $progress" rm -f "$progress" || : fi wsrep_log_info "Cleaning up temporary directories" if [ "$WSREP_SST_OPT_ROLE" = 'joiner' ]; then [ -n "$STATDIR" -a -d "$STATDIR" ] && rm -rf "$STATDIR" || : else [ -n "$xtmpdir" -a -d "$xtmpdir" ] && rm -rf "$xtmpdir" || : [ -n "$itmpdir" -a -d "$itmpdir" ] && rm -rf "$itmpdir" || : fi # Final cleanup local pgid=$(ps -o 'pgid=' $$ 2>/dev/null | grep -o -E '[0-9]+' || :) # This means no setsid done in mysqld. # We don't want to kill mysqld here otherwise. if [ -n "$pgid" ]; then if [ $$ -eq $pgid ]; then # This means a signal was delivered to the process. # So, more cleanup. if [ $estatus -ge 128 ]; then kill -KILL -- -$$ || : fi fi fi if [ -n "$SST_PID" ]; then [ -f "$SST_PID" ] && rm -f "$SST_PID" || : fi exit $estatus } setup_ports() { SST_PORT="$(safe WSREP_SST_OPT_PORT)" if [ "$WSREP_SST_OPT_ROLE" = 'donor' ]; then REMOTEIP="$(safe WSREP_SST_OPT_HOST)" lsn="$(safe WSREP_SST_OPT_LSN)" sst_ver="$(safe WSREP_SST_OPT_SST_VER)" fi } # # Waits ~30 seconds for socat or nc to open the port and # then reports ready, regardless of timeout. # wait_for_listen() { for i in {1..150}; do if check_port "" "$SST_PORT" 'socat|nc|netcat'; then break fi sleep 0.2 done echo "ready $ADDR:$SST_PORT/$MODULE/$lsn/$sst_ver" } check_extra() { local use_socket=1 if [ $uextra -eq 1 ]; then local thread_handling=$(parse_cnf '--mysqld' 'thread-handling') if [ "$thread_handling" = 'pool-of-threads' ]; then local eport=$(parse_cnf '--mysqld' 'extra-port') if [ -n "$eport" ]; then # mariadb-backup works only locally. # Hence, setting host to 127.0.0.1 unconditionally: wsrep_log_info "SST through extra_port $eport" INNOEXTRA="$INNOEXTRA --host=127.0.0.1 --port=$eport" use_socket=0 else wsrep_log_error "Extra port $eport null, failing" exit 1 fi else wsrep_log_info "Thread pool not set, ignore the option use_extra" fi fi if [ $use_socket -eq 1 -a -n "$WSREP_SST_OPT_SOCKET" ]; then INNOEXTRA="$INNOEXTRA --socket='$WSREP_SST_OPT_SOCKET'" fi } recv_joiner() { local dir="$1" local msg="$2" local tmt=$3 local checkf=$4 local wait=$5 if [ ! -d "$dir" ]; then # This indicates that IST is in progress return fi local ltcmd="$tcmd" if [ $tmt -gt 0 ]; then if [ -n "$(commandex timeout)" ]; then local koption=0 if [ "$OS" = 'FreeBSD' -o "$OS" = 'NetBSD' -o "$OS" = 'OpenBSD' -o \ "$OS" = 'DragonFly' ]; then if timeout 2>&1 | grep -qw -F -- '-k'; then koption=1 fi else if timeout --help | grep -qw -F -- '-k'; then koption=1 fi fi if [ $koption -ne 0 ]; then ltcmd="timeout -k $(( tmt+10 )) $tmt $tcmd" else ltcmd="timeout -s 9 $tmt $tcmd" fi fi fi if [ $wait -ne 0 ]; then wait_for_listen & fi cd "$dir" set +e timeit "$msg" "$ltcmd | $strmcmd; RC=( "\${PIPESTATUS[@]}" )" set -e cd "$OLD_PWD" if [ ${RC[0]} -eq 124 ]; then wsrep_log_error "Possible timeout in receiving first data from" \ "donor in gtid stage: exit codes: ${RC[@]}" exit 32 fi for ecode in "${RC[@]}"; do if [ $ecode -ne 0 ]; then wsrep_log_error "Error while getting data from donor node:" \ "exit codes: ${RC[@]}" exit 32 fi done if [ $checkf -eq 1 ]; then if [ ! -r "$MAGIC_FILE" ]; then # this message should cause joiner to abort: wsrep_log_error "receiving process ended without creating" \ "magic file ($MAGIC_FILE)" wsrep_log_info "Contents of datadir:" wsrep_log_info "$(ls -l "$dir"/*)" exit 32 fi if [ -n "$MY_SECRET" ]; then # Check donor supplied secret: SECRET=$(grep -m1 -E "^$SECRET_TAG[[:space:]]" "$MAGIC_FILE" || :) SECRET=$(trim_string "${SECRET#$SECRET_TAG}") if [ "$SECRET" != "$MY_SECRET" ]; then wsrep_log_error "Donor does not know my secret!" wsrep_log_info "Donor: '$SECRET', my: '$MY_SECRET'" exit 32 fi fi if [ $WSREP_SST_OPT_PROGRESS -eq 1 ]; then # check total SST footprint payload=$(grep -m1 -E "^$TOTAL_TAG[[:space:]]" "$MAGIC_FILE" || :) if [ -n "$payload" ]; then payload=$(trim_string "${payload#$TOTAL_TAG}") if [ $payload -ge 0 ]; then # report to parent echo "$TOTAL_TAG $payload" fi fi fi fi } send_donor() { local dir="$1" local msg="$2" cd "$dir" set +e timeit "$msg" "$strmcmd | $tcmd; RC=( "\${PIPESTATUS[@]}" )" set -e cd "$OLD_PWD" for ecode in "${RC[@]}"; do if [ $ecode -ne 0 ]; then wsrep_log_error "Error while sending data to joiner node:" \ "exit codes: ${RC[@]}" exit 32 fi done } monitor_process() { local sst_stream_pid=$1 while :; do if ! ps -p $WSREP_SST_OPT_PARENT >/dev/null 2>&1; then wsrep_log_error \ "Parent mysqld process (PID: $WSREP_SST_OPT_PARENT)" \ "terminated unexpectedly." kill -- -$WSREP_SST_OPT_PARENT exit 32 fi if ! ps -p $sst_stream_pid >/dev/null 2>&1; then break fi sleep 0.1 done } read_cnf setup_ports if [ "$progress" = 'none' ]; then wsrep_log_info "All progress/rate-limiting disabled by configuration" elif [ -z "$(commandex pv)" ]; then wsrep_log_info "Progress reporting tool pv not found in path: $PATH" wsrep_log_info "Disabling all progress/rate-limiting" progress='none' fi if "$BACKUP_BIN" --help 2>/dev/null | grep -qw -F -- '--version-check'; then disver=' --no-version-check' fi get_stream get_transfer findopt='-L' [ "$OS" = 'FreeBSD' ] && findopt="$findopt -E" wait_previous_sst [ -f "$MAGIC_FILE" ] && rm -f "$MAGIC_FILE" [ -f "$DONOR_MAGIC_FILE" ] && rm -f "$DONOR_MAGIC_FILE" [ -f "$DATA/$IST_FILE" ] && rm -f "$DATA/$IST_FILE" if [ $ssyslog -eq 1 ]; then if [ -n "$(commandex logger)" ]; then wsrep_log_info "Logging all stderr of SST/mariadb-backup to syslog" exec 2> >(logger -p daemon.err -t ${ssystag}wsrep-sst-$WSREP_SST_OPT_ROLE) wsrep_log_error() { logger -p daemon.err -t ${ssystag}wsrep-sst-$WSREP_SST_OPT_ROLE -- "$@" } wsrep_log_warning() { logger -p daemon.warning -t ${ssystag}wsrep-sst-$WSREP_SST_OPT_ROLE -- "$@" } wsrep_log_info() { logger -p daemon.info -t ${ssystag}wsrep-sst-$WSREP_SST_OPT_ROLE -- "$@" } else wsrep_log_error "logger not in path: $PATH. Ignoring" fi INNOAPPLY="2>&1 | logger -p daemon.err -t ${ssystag}innobackupex-apply" INNOMOVE="2>&1 | logger -p daemon.err -t ${ssystag}innobackupex-move" INNOBACKUP="2> >(logger -p daemon.err -t ${ssystag}innobackupex-backup)" else if [ $sstlogarchive -eq 1 ] then ARCHIVETIMESTAMP=$(date '+%Y.%m.%d-%H.%M.%S.%N') if [ -n "$sstlogarchivedir" ]; then if [ ! -d "$sstlogarchivedir" ]; then if ! mkdir -p "$sstlogarchivedir"; then sstlogarchivedir="" wsrep_log_warning \ "Unable to create '$sstlogarchivedir' directory" fi elif [ ! -w "$sstlogarchivedir" ]; then sstlogarchivedir="" wsrep_log_warning \ "The '$sstlogarchivedir' directory is not writtable" fi fi if [ -e "$INNOAPPLYLOG" ]; then if [ -n "$sstlogarchivedir" ]; then newfile=$(basename "$INNOAPPLYLOG") newfile="$sstlogarchivedir/$newfile.$ARCHIVETIMESTAMP" else newfile="$INNOAPPLYLOG.$ARCHIVETIMESTAMP" fi wsrep_log_info "Moving '$INNOAPPLYLOG' to '$newfile'" mv "$INNOAPPLYLOG" "$newfile" && gzip "$newfile" || \ wsrep_log_warning "Failed to archive log file ('$newfile')" fi if [ -e "$INNOMOVELOG" ]; then if [ -n "$sstlogarchivedir" ]; then newfile=$(basename "$INNOMOVELOG") newfile="$sstlogarchivedir/$newfile.$ARCHIVETIMESTAMP" else newfile="$INNOMOVELOG.$ARCHIVETIMESTAMP" fi wsrep_log_info "Moving '$INNOMOVELOG' to '$newfile'" mv "$INNOMOVELOG" "$newfile" && gzip "$newfile" || \ wsrep_log_warning "Failed to archive log file ('$newfile')" fi if [ -e "$INNOBACKUPLOG" ]; then if [ -n "$sstlogarchivedir" ]; then newfile=$(basename "$INNOBACKUPLOG") newfile="$sstlogarchivedir/$newfile.$ARCHIVETIMESTAMP" else newfile="$INNOBACKUPLOG.$ARCHIVETIMESTAMP" fi wsrep_log_info "Moving '$INNOBACKUPLOG' to '$newfile'" mv "$INNOBACKUPLOG" "$newfile" && gzip "$newfile" || \ wsrep_log_warning "Failed to archive log file ('$newfile')" fi fi INNOAPPLY="> '$INNOAPPLYLOG' 2>&1" INNOMOVE="> '$INNOMOVELOG' 2>&1" INNOBACKUP="2> '$INNOBACKUPLOG'" fi setup_commands() { local mysqld_args="" if [ -n "$WSREP_SST_OPT_MYSQLD" ]; then mysqld_args=" --mysqld-args $WSREP_SST_OPT_MYSQLD" fi local recovery="" if [ -n "$INNODB_FORCE_RECOVERY" ]; then recovery=" --innodb-force-recovery=$INNODB_FORCE_RECOVERY" fi if [ -n "$use_memory" ]; then INNOEXTRA="$INNOEXTRA --use-memory=$use_memory" fi INNOAPPLY="$BACKUP_BIN --prepare$disver$recovery${iapts:+ }$iapts$INNOEXTRA --target-dir='$DATA' --datadir='$DATA'$mysqld_args $INNOAPPLY" INNOMOVE="$BACKUP_BIN$WSREP_SST_OPT_CONF --move-back$disver${impts:+ }$impts$INNOEXTRA --galera-info --force-non-empty-directories --target-dir='$DATA' --datadir='${TDATA:-$DATA}' $INNOMOVE" INNOBACKUP="$BACKUP_BIN$WSREP_SST_OPT_CONF --backup$disver${iopts:+ }$iopts$tmpopts$INNOEXTRA --galera-info --stream=$sfmt --target-dir='$itmpdir' --datadir='$DATA'$mysqld_args $INNOBACKUP" } send_magic() { # Store donor's wsrep GTID (state ID) and wsrep_gtid_domain_id # (separated by a space). echo "$WSREP_SST_OPT_GTID $WSREP_SST_OPT_GTID_DOMAIN_ID" > "$MAGIC_FILE" echo "$WSREP_SST_OPT_GTID $WSREP_SST_OPT_GTID_DOMAIN_ID" > "$DONOR_MAGIC_FILE" if [ -n "$WSREP_SST_OPT_REMOTE_PSWD" ]; then # Let joiner know that we know its secret echo "$SECRET_TAG $WSREP_SST_OPT_REMOTE_PSWD" >> "$MAGIC_FILE" fi if [ $WSREP_SST_OPT_BYPASS -eq 0 -a $WSREP_SST_OPT_PROGRESS -eq 1 ]; then # Tell joiner what to expect: echo "$TOTAL_TAG $payload" >> "$MAGIC_FILE" fi } if [ "$WSREP_SST_OPT_ROLE" = 'donor' ]; then trap cleanup_at_exit EXIT if [ $WSREP_SST_OPT_BYPASS -eq 0 ] then if [ -z "$sst_ver" ]; then wsrep_log_error "Upgrade joiner to 5.6.21 or higher for backup locks support" wsrep_log_error "The joiner is not supported for this version of donor" exit 93 fi tmpdir=$(parse_cnf "$encgroups" 'tmpdir') if [ -z "$tmpdir" ]; then xtmpdir="$(mktemp -d)" itmpdir="$(mktemp -d)" elif [ "$OS" = 'Linux' ]; then xtmpdir=$(mktemp -d "--tmpdir=$tmpdir") itmpdir=$(mktemp -d "--tmpdir=$tmpdir") else xtmpdir=$(TMPDIR="$tmpdir"; mktemp -d) itmpdir=$(TMPDIR="$tmpdir"; mktemp -d) fi wsrep_log_info "Using '$xtmpdir' as mariadb-backup temporary directory" tmpopts=" --tmpdir='$xtmpdir'" wsrep_log_info "Using '$itmpdir' as mariadb-backup working directory" if [ -n "$WSREP_SST_OPT_USER" ]; then INNOEXTRA="$INNOEXTRA --user='$WSREP_SST_OPT_USER'" fi if [ -n "$WSREP_SST_OPT_PSWD" ]; then export MYSQL_PWD="$WSREP_SST_OPT_PSWD" elif [ -n "$WSREP_SST_OPT_USER" ]; then # Empty password, used for testing, debugging etc. unset MYSQL_PWD fi check_extra if [ -n "$progress" -o $WSREP_SST_OPT_PROGRESS -eq 1 ]; then wsrep_log_info "Estimating total transfer size" get_footprint wsrep_log_info "To transfer: $payload" else adjust_progress fi wsrep_log_info "Streaming GTID file before SST" send_magic ttcmd="$tcmd" if [ -n "$scomp" ]; then tcmd="$scomp | $tcmd" fi get_keys if [ $encrypt -eq 1 ]; then tcmd="$ecmd | $tcmd" fi send_donor "$DATA" "$stagemsg-gtid" # Restore the transport commmand to its original state tcmd="$ttcmd" if [ -n "$pcmd" ]; then if [ -n "$rcmd" ]; then # redirect pv stderr to rcmd for tagging and output to parent tcmd="{ $pcmd 2>&3 | $tcmd; } 3>&1 | $rcmd" else # use user-configured pv output tcmd="$pcmd | $tcmd" fi fi wsrep_log_info "Sleeping before data transfer for SST" sleep 10 wsrep_log_info "Streaming the backup to joiner at $REMOTEIP:$SST_PORT" # Add compression to the head of the stream (if specified) if [ -n "$scomp" ]; then tcmd="$scomp | $tcmd" fi # Add encryption to the head of the stream (if specified) if [ $encrypt -eq 1 ]; then tcmd="$ecmd | $tcmd" fi iopts="--databases-exclude='lost+found'${iopts:+ }$iopts" if [ ${FORCE_FTWRL:-0} -eq 1 ]; then wsrep_log_info "Forcing FTWRL due to environment variable" \ "FORCE_FTWRL equal to $FORCE_FTWRL" iopts="--no-backup-locks${iopts:+ }$iopts" fi # if compression is enabled for backup files, then add the # appropriate options to the mariadb-backup command line: if [ "$compress" != 'none' ]; then iopts="--compress${compress:+=$compress}${iopts:+ }$iopts" if [ -n "$compress_threads" ]; then iopts="--compress-threads=$compress_threads${iopts:+ }$iopts" fi if [ -n "$compress_chunk" ]; then iopts="--compress-chunk-size=$compress_chunk${iopts:+ }$iopts" fi fi if [ -n "$backup_threads" ]; then iopts="--parallel=$backup_threads${iopts:+ }$iopts" fi setup_commands set +e timeit "$stagemsg-SST" "$INNOBACKUP | $tcmd; RC=( "\${PIPESTATUS[@]}" )" set -e if [ ${RC[0]} -ne 0 ]; then wsrep_log_error "mariadb-backup finished with error: ${RC[0]}." \ "Check syslog or '$INNOBACKUPLOG' for details" exit 22 elif [ ${RC[$(( ${#RC[@]}-1 ))]} -eq 1 ]; then wsrep_log_error "$tcmd finished with error: ${RC[1]}" exit 22 fi else # BYPASS FOR IST wsrep_log_info "Bypassing the SST for IST" echo 'continue' # now server can resume updating data send_magic echo '1' > "$DATA/$IST_FILE" if [ -n "$scomp" ]; then tcmd="$scomp | $tcmd" fi get_keys if [ $encrypt -eq 1 ]; then tcmd="$ecmd | $tcmd" fi strmcmd="$strmcmd '$IST_FILE'" send_donor "$DATA" "$stagemsg-IST" fi echo "done $WSREP_SST_OPT_GTID" wsrep_log_info "Total time on donor: $totime seconds" else # joiner create_dirs 1 [ -e "$SST_PROGRESS_FILE" ] && \ wsrep_log_info "Stale sst_in_progress file: $SST_PROGRESS_FILE" [ -n "$SST_PROGRESS_FILE" ] && touch "$SST_PROGRESS_FILE" if [ -n "$backup_threads" ]; then impts="--parallel=$backup_threads${impts:+ }$impts" fi stagemsg='Joiner-Recv' MODULE="${WSREP_SST_OPT_MODULE:-xtrabackup_sst}" ADDR="$WSREP_SST_OPT_HOST" if [ "${tmode#VERIFY}" != "$tmode" ]; then # backward-incompatible behavior: CN="" if [ -n "$tpem" ]; then CN=$(openssl_getCN "$tpem") fi MY_SECRET="$(wsrep_gen_secret)" # Add authentication data to address ADDR="$CN:$MY_SECRET@$ADDR" else MY_SECRET="" # for check down in recv_joiner() fi get_keys if [ $encrypt -eq 1 ]; then strmcmd="$ecmd | $strmcmd" fi if [ -n "$sdecomp" ]; then strmcmd="$sdecomp | $strmcmd" fi check_sockets_utils trap cleanup_at_exit EXIT STATDIR="$(mktemp -d)" MAGIC_FILE="$STATDIR/$INFO_FILE" DONOR_MAGIC_FILE="$STATDIR/$DONOR_INFO_FILE" recv_joiner "$STATDIR" "$stagemsg-gtid" $stimeout 1 1 if ! ps -p "$WSREP_SST_OPT_PARENT" >/dev/null 2>&1; then wsrep_log_error "Parent mysqld process (PID: $WSREP_SST_OPT_PARENT)" \ "terminated unexpectedly." exit 32 fi if [ ! -r "$STATDIR/$IST_FILE" ]; then adjust_progress if [ -n "$pcmd" ]; then if [ -n "$rcmd" ]; then # redirect pv stderr to rcmd for tagging and output to parent strmcmd="{ $pcmd 2>&3 | $strmcmd; } 3>&1 | $rcmd" else # use user-configured pv output strmcmd="$pcmd | $strmcmd" fi fi if [ -d "$DATA/.sst" ]; then wsrep_log_info \ "WARNING: Stale temporary SST directory:" \ "'$DATA/.sst' from previous state transfer, removing..." rm -rf "$DATA/.sst" fi mkdir -p "$DATA/.sst" (recv_joiner "$DATA/.sst" "$stagemsg-SST" 0 0 0) & BACKUP_PID=$! wsrep_log_info "Proceeding with SST" get_binlog if [ -n "$WSREP_SST_OPT_BINLOG" ]; then binlog_dir=$(dirname "$WSREP_SST_OPT_BINLOG") binlog_base=$(basename "$WSREP_SST_OPT_BINLOG") binlog_index="$WSREP_SST_OPT_BINLOG_INDEX" cd "$DATA" wsrep_log_info "Cleaning the old binary logs" # If there is a file with binlogs state, delete it: [ -f "$binlog_base.state" ] && rm "$binlog_base.state" >&2 # Clean up the old binlog files and index: if [ -f "$binlog_index" ]; then while read bin_file || [ -n "$bin_file" ]; do rm -f "$bin_file" >&2 || : done < "$binlog_index" rm "$binlog_index" >&2 fi if [ -n "$binlog_dir" -a "$binlog_dir" != '.' -a \ -d "$binlog_dir" ] then cd "$binlog_dir" if [ "$(pwd)" != "$DATA_DIR" ]; then wsrep_log_info \ "Cleaning the binlog directory '$binlog_dir' as well" fi fi rm -f "$binlog_base".[0-9]* >&2 || : cd "$OLD_PWD" fi wsrep_log_info \ "Cleaning the existing datadir and innodb-data/log directories" find $findopt ${ib_home_dir:+"$ib_home_dir"} \ ${ib_undo_dir:+"$ib_undo_dir"} \ ${ib_log_dir:+"$ib_log_dir"} \ ${ar_log_dir:+"$ar_log_dir"} \ "$DATA" -mindepth 1 -prune -regex "$cpat" \ -o -exec rm -rf {} >&2 \+ # Deleting files from previous SST and legacy files from old versions: [ -f "$DATA/xtrabackup_binary" ] && rm -f "$DATA/xtrabackup_binary" [ -f "$DATA/xtrabackup_pid" ] && rm -f "$DATA/xtrabackup_pid" [ -f "$DATA/xtrabackup_checkpoints" ] && rm -f "$DATA/xtrabackup_checkpoints" [ -f "$DATA/xtrabackup_info" ] && rm -f "$DATA/xtrabackup_info" [ -f "$DATA/xtrabackup_slave_info" ] && rm -f "$DATA/xtrabackup_slave_info" [ -f "$DATA/xtrabackup_binlog_info" ] && rm -f "$DATA/xtrabackup_binlog_info" [ -f "$DATA/xtrabackup_binlog_pos_innodb" ] && rm -f "$DATA/xtrabackup_binlog_pos_innodb" TDATA="$DATA" DATA="$DATA/.sst" MAGIC_FILE="$DATA/$INFO_FILE" wsrep_log_info "Waiting for SST streaming to complete!" monitor_process $BACKUP_PID BACKUP_PID="" if [ ! -s "$DATA/xtrabackup_checkpoints" ]; then wsrep_log_error "xtrabackup_checkpoints missing," \ "failed mariadb-backup/SST on donor" exit 2 fi # Compact backups are not supported by mariadb-backup if grep -qw -F 'compact = 1' "$DATA/xtrabackup_checkpoints"; then wsrep_log_info "Index compaction detected" wsrep_log_error "Compact backups are not supported by mariadb-backup" exit 2 fi qpfiles=$(find $findopt "$DATA" -maxdepth 1 -type f -name '*.qp' -print -quit) if [ -n "$qpfiles" ]; then wsrep_log_info "Compressed qpress files found" if [ -z "$(commandex qpress)" ]; then wsrep_log_error "qpress utility not found in the path" exit 22 fi get_proc dcmd="xargs -n 2 qpress -dT$nproc" if [ -n "$progress" -a "$progress" != 'none' ] && \ pv --help | grep -qw -F -- '--line-mode' then count=$(find $findopt "$DATA" -maxdepth 1 -type f -name '*.qp' | wc -l) count=$(( count*2 )) pvopts='-f -l -N Decompression' pvformat="-F '%N => Rate:%r Elapsed:%t %e Progress: [%b/$count]'" payload=$count adjust_progress dcmd="$pcmd | $dcmd" fi # Decompress the qpress files wsrep_log_info "Decompression with $nproc threads" timeit 'Joiner-Decompression' \ "find $findopt '$DATA' -type f -name '*.qp' -printf '%p\n%h\n' | \ $dcmd" extcode=$? if [ $extcode -eq 0 ]; then wsrep_log_info "Removing qpress files after decompression" find $findopt "$DATA" -type f -name '*.qp' -delete if [ $? -ne 0 ]; then wsrep_log_error \ "Something went wrong with deletion of qpress files." \ "Investigate" fi else wsrep_log_error "Decompression failed. Exit code: $extcode" exit 22 fi fi wsrep_log_info "Preparing the backup at $DATA" setup_commands timeit 'mariadb-backup prepare stage' "$INNOAPPLY" if [ $? -ne 0 ]; then wsrep_log_error "mariadb-backup apply finished with errors." \ "Check syslog or '$INNOAPPLYLOG' for details." exit 22 fi if [ -n "$WSREP_SST_OPT_BINLOG" ]; then cd "$DATA" binlogs="" if [ -f 'xtrabackup_binlog_info' ]; then NL=$'\n' while read bin_string || [ -n "$bin_string" ]; do bin_file=$(echo "$bin_string" | cut -f1) if [ -f "$bin_file" ]; then binlogs="$binlogs${binlogs:+$NL}$bin_file" fi done < 'xtrabackup_binlog_info' else binlogs=$(ls -d -1 "$binlog_base".[0-9]* 2>/dev/null || :) fi cd "$DATA_DIR" if [ -n "$binlog_dir" -a "$binlog_dir" != '.' -a \ "$binlog_dir" != "$DATA_DIR" ] then [ ! -d "$binlog_dir" ] && mkdir -p "$binlog_dir" fi index_dir=$(dirname "$binlog_index"); if [ -n "$index_dir" -a "$index_dir" != '.' -a \ "$index_dir" != "$DATA_DIR" ] then [ ! -d "$index_dir" ] && mkdir -p "$index_dir" fi if [ -n "$binlogs" ]; then wsrep_log_info "Moving binary logs to $binlog_dir" echo "$binlogs" | \ while read bin_file || [ -n "$bin_file" ]; do mv "$DATA/$bin_file" "$binlog_dir" echo "$binlog_dir${binlog_dir:+/}$bin_file" >> "$binlog_index" done fi cd "$OLD_PWD" fi MAGIC_FILE="$TDATA/$INFO_FILE" DONOR_MAGIC_FILE="$TDATA/$DONOR_INFO_FILE" wsrep_log_info "Moving the backup to $TDATA" timeit 'mariadb-backup move stage' "$INNOMOVE" if [ $? -eq 0 ]; then wsrep_log_info "Move successful, removing $DATA" rm -rf "$DATA" DATA="$TDATA" else wsrep_log_error "Move failed, keeping '$DATA' for further diagnosis" wsrep_log_error "Check syslog or '$INNOMOVELOG' for details" exit 22 fi else wsrep_log_info "'$IST_FILE' received from donor: Running IST" if [ $WSREP_SST_OPT_BYPASS -eq 0 ]; then readonly WSREP_SST_OPT_BYPASS=1 readonly WSREP_TRANSFER_TYPE='IST' fi fi if [ ! -r "$MAGIC_FILE" ]; then wsrep_log_error "Internal error: SST magic file '$MAGIC_FILE'" \ "not found or not readable" exit 2 fi simulate_long_sst # use donor magic file, if present # if IST was used, donor magic file was not created # Remove special tags from the magic file, and from the output: if [ -r "$DONOR_MAGIC_FILE" ]; then coords=$(head -n1 "$DONOR_MAGIC_FILE") wsrep_log_info "Galera co-ords from donor: $coords" else coords=$(head -n1 "$MAGIC_FILE") wsrep_log_info "Galera co-ords from recovery: $coords" fi echo "$coords" # Output : UUID:seqno wsrep_gtid_domain_id wsrep_log_info "Total time on joiner: $totime seconds" fi wsrep_log_info "$WSREP_METHOD $WSREP_TRANSFER_TYPE completed on $WSREP_SST_OPT_ROLE" exit 0
Close