Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.69.130.137
138 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
X11
[ DIR ]
drwxr-xr-x
2to3-2.7
96
B
-rwxr-xr-x
GET
15.82
KB
-rwxr-xr-x
HEAD
15.82
KB
-rwxr-xr-x
POST
15.82
KB
-rwxr-xr-x
[
50.44
KB
-rwxr-xr-x
aa-enabled
34.52
KB
-rwxr-xr-x
aa-exec
34.52
KB
-rwxr-xr-x
aa-features-abi
30.52
KB
-rwxr-xr-x
ab
58.34
KB
-rwxr-xr-x
aclocal
35.18
KB
-rwxr-xr-x
aclocal-1.16
35.18
KB
-rwxr-xr-x
acpi_listen
18.57
KB
-rwxr-xr-x
addpart
14.38
KB
-rwxr-xr-x
addr2line
26.7
KB
-rwxr-xr-x
animate
14.15
KB
-rwxr-xr-x
annotate
14.15
KB
-rwxr-xr-x
apropos
47.28
KB
-rwxr-xr-x
apt
18.38
KB
-rwxr-xr-x
apt-cache
82.47
KB
-rwxr-xr-x
apt-cdrom
26.47
KB
-rwxr-xr-x
apt-config
26.39
KB
-rwxr-xr-x
apt-extracttemplates
22.47
KB
-rwxr-xr-x
apt-file
30.34
KB
-rwxr-xr-x
apt-ftparchive
230.48
KB
-rwxr-xr-x
apt-get
50.47
KB
-rwxr-xr-x
apt-key
27.51
KB
-rwxr-xr-x
apt-mark
50.47
KB
-rwxr-xr-x
apt-sortpkgs
38.4
KB
-rwxr-xr-x
ar
54.48
KB
-rwxr-xr-x
arch
30.51
KB
-rwxr-xr-x
arpaname
14.3
KB
-rwxr-xr-x
as
456.4
KB
-rwxr-xr-x
aspell
142.48
KB
-rwxr-xr-x
aspell-import
2
KB
-rwxr-xr-x
at
54.32
KB
-rwsr-sr-x
atq
54.32
KB
-rwsr-sr-x
atrm
54.32
KB
-rwsr-sr-x
autoconf
14.85
KB
-rwxr-xr-x
autoheader
8.82
KB
-rwxr-xr-x
autom4te
32.69
KB
-rwxr-xr-x
automake
255.91
KB
-rwxr-xr-x
automake-1.16
255.91
KB
-rwxr-xr-x
autopoint
26.38
KB
-rwxr-xr-x
autoreconf
26.3
KB
-rwxr-xr-x
autoscan
16.77
KB
-rwxr-xr-x
autoupdate
33.22
KB
-rwxr-xr-x
avifdec
30.29
KB
-rwxr-xr-x
avifenc
58.29
KB
-rwxr-xr-x
awk
688.46
KB
-rwxr-xr-x
b2sum
50.52
KB
-rwxr-xr-x
base32
34.51
KB
-rwxr-xr-x
base64
34.51
KB
-rwxr-xr-x
basename
34.51
KB
-rwxr-xr-x
basenc
46.51
KB
-rwxr-xr-x
bash
1.33
MB
-rwxr-xr-x
bashbug
6.66
KB
-rwxr-xr-x
batch
152
B
-rwxr-xr-x
bdftogd
3.9
KB
-rwxr-xr-x
bootctl
70.49
KB
-rwxr-xr-x
brotli
750.23
KB
-rwxr-xr-x
bunzip2
38.38
KB
-rwxr-xr-x
busctl
90.49
KB
-rwxr-xr-x
busybox
2.09
MB
-rwxr-xr-x
bzcat
38.38
KB
-rwxr-xr-x
bzcmp
2.17
KB
-rwxr-xr-x
bzdiff
2.17
KB
-rwxr-xr-x
bzegrep
3.69
KB
-rwxr-xr-x
bzexe
4.78
KB
-rwxr-xr-x
bzfgrep
3.69
KB
-rwxr-xr-x
bzgrep
3.69
KB
-rwxr-xr-x
bzip2
38.38
KB
-rwxr-xr-x
bzip2recover
14.3
KB
-rwxr-xr-x
bzless
1.27
KB
-rwxr-xr-x
bzmore
1.27
KB
-rwxr-xr-x
c++
910.82
KB
-rwxr-xr-x
c++filt
22.27
KB
-rwxr-xr-x
c89
428
B
-rwxr-xr-x
c89-gcc
428
B
-rwxr-xr-x
c99
454
B
-rwxr-xr-x
c99-gcc
454
B
-rwxr-xr-x
c_rehash
6.8
KB
-rwxr-xr-x
cal
36.95
KB
-rwxr-xr-x
captoinfo
86.41
KB
-rwxr-xr-x
cat
34.46
KB
-rwxr-xr-x
catman
34.76
KB
-rwxr-xr-x
cautious-launcher
853
B
-rwxr-xr-x
cc
906.82
KB
-rwxr-xr-x
chacl
22.3
KB
-rwxr-xr-x
chage
70.49
KB
-rwxr-xr-x
chardet
965
B
-rwxr-xr-x
chardetect
965
B
-rwxr-xr-x
chattr
14.31
KB
-rwxr-xr-x
chcon
58.51
KB
-rwxr-xr-x
check-enhancements
3.71
KB
-rwxr-xr-x
check-language-support
2.71
KB
-rwxr-xr-x
chfn
71.01
KB
-rwxr-xr-x
chgrp
54.51
KB
-rwxr-xr-x
chmod
54.51
KB
-rwxr-xr-x
choom
22.38
KB
-rwxr-xr-x
chown
58.51
KB
-rwxr-xr-x
chrt
26.38
KB
-rwxr-xr-x
chsh
43.76
KB
-rwx--x--x
chvt
14.23
KB
-rwxr-xr-x
cifsiostat
22.45
KB
-rwxr-xr-x
ckbcomp
146.31
KB
-rwxr-xr-x
cksum
34.41
KB
-rwxr-xr-x
clear
14.31
KB
-rwxr-xr-x
clear_console
14.23
KB
-rwxr-xr-x
cmp
42.39
KB
-rwxr-xr-x
codepage
14.15
KB
-rwxr-xr-x
col
22.38
KB
-rwxr-xr-x
colcrt
14.38
KB
-rwxr-xr-x
colrm
14.38
KB
-rwxr-xr-x
column
34.38
KB
-rwxr-xr-x
comm
34.52
KB
-rwxr-xr-x
compose
18.06
KB
-rwxr-xr-x
composite
14.15
KB
-rwxr-xr-x
config_data
6.97
KB
-rwxr-xr-x
conjure
14.15
KB
-rwxr-xr-x
convert
14.15
KB
-rwxr-xr-x
corelist
15.01
KB
-rwxr-xr-x
cp
138.51
KB
-rwxr-xr-x
cpan
8.16
KB
-rwxr-xr-x
cpan5.34-x86_64-linux-gnu
8.18
KB
-rwxr-xr-x
cpansign
1.98
KB
-rwxr-xr-x
cpapi1
3.16
MB
-rwxr-xr-x
cpapi2
3.16
MB
-rwxr-xr-x
cpapi3
3.16
MB
-rwxr-xr-x
cpio
141.64
KB
-rwxr-xr-x
cpio-filter
1.22
KB
-rwxr-xr-x
cpp
906.82
KB
-rwxr-xr-x
cpp-11
906.82
KB
-rwxr-xr-x
cpp-9
766.74
KB
-rwxr-xr-x
crc32
1.04
KB
-rwxr-xr-x
crontab
38.64
KB
-rwsr-xr-x
csplit
106.51
KB
-rwxr-xr-x
ctstat
22.66
KB
-rwxr-xr-x
curl
254.23
KB
-rwxr-xr-x
cut
38.51
KB
-rwxr-xr-x
cvtsudoers
296.4
KB
-rwxr-xr-x
dash
122.74
KB
-rwxr-xr-x
date
102.51
KB
-rwxr-xr-x
dbus-cleanup-sockets
14.29
KB
-rwxr-xr-x
dbus-daemon
227.32
KB
-rwxr-xr-x
dbus-monitor
26.29
KB
-rwxr-xr-x
dbus-run-session
14.29
KB
-rwxr-xr-x
dbus-send
26.29
KB
-rwxr-xr-x
dbus-update-activation-environ...
14.29
KB
-rwxr-xr-x
dbus-uuidgen
14.29
KB
-rwxr-xr-x
dd
66.52
KB
-rwxr-xr-x
deallocvt
14.23
KB
-rwxr-xr-x
deb-systemd-helper
20.89
KB
-rwxr-xr-x
deb-systemd-invoke
6.01
KB
-rwxr-xr-x
debconf
2.79
KB
-rwxr-xr-x
debconf-apt-progress
11.27
KB
-rwxr-xr-x
debconf-communicate
608
B
-rwxr-xr-x
debconf-copydb
1.68
KB
-rwxr-xr-x
debconf-escape
647
B
-rwxr-xr-x
debconf-get-selections
1.65
KB
-rwxr-xr-x
debconf-getlang
6.94
KB
-rwxr-xr-x
debconf-gettextize
15.97
KB
-rwxr-xr-x
debconf-loadtemplate
933
B
-rwxr-xr-x
debconf-mergetemplate
5.09
KB
-rwxr-xr-x
debconf-set-selections
2.92
KB
-rwxr-xr-x
debconf-show
1.78
KB
-rwxr-xr-x
debconf-updatepo
4.46
KB
-rwxr-xr-x
debget
1.57
KB
-rwxr-xr-x
debian-distro-info
22.95
KB
-rwxr-xr-x
debman
2.87
KB
-rwxr-xr-x
debmany
14.91
KB
-rwxr-xr-x
debugedit
64.47
KB
-rwxr-xr-x
degrep
2.03
KB
-rwxr-xr-x
delpart
14.38
KB
-rwxr-xr-x
delv
44.82
KB
-rwxr-xr-x
derb
26.88
KB
-rwxr-xr-x
df
83.08
KB
-rwxr-xr-x
dfgrep
2.03
KB
-rwxr-xr-x
dglob
2.99
KB
-rwxr-xr-x
dgrep
2.03
KB
-rwxr-xr-x
dh
26.21
KB
-rwxr-xr-x
dh_assistant
13.42
KB
-rwxr-xr-x
dh_auto_build
1.37
KB
-rwxr-xr-x
dh_auto_clean
1.51
KB
-rwxr-xr-x
dh_auto_configure
1.63
KB
-rwxr-xr-x
dh_auto_install
3.22
KB
-rwxr-xr-x
dh_auto_test
1.65
KB
-rwxr-xr-x
dh_autoreconf
6.46
KB
-rwxr-xr-x
dh_autoreconf_clean
2.1
KB
-rwxr-xr-x
dh_autotools-dev_restoreconfig
1.79
KB
-rwxr-xr-x
dh_autotools-dev_updateconfig
1.81
KB
-rwxr-xr-x
dh_bash-completion
4.31
KB
-rwxr-xr-x
dh_bugfiles
3.58
KB
-rwxr-xr-x
dh_builddeb
4.96
KB
-rwxr-xr-x
dh_clean
5.03
KB
-rwxr-xr-x
dh_compress
7.67
KB
-rwxr-xr-x
dh_dwz
4.97
KB
-rwxr-xr-x
dh_fixperms
5.29
KB
-rwxr-xr-x
dh_gencontrol
5.88
KB
-rwxr-xr-x
dh_icons
2.04
KB
-rwxr-xr-x
dh_install
12.16
KB
-rwxr-xr-x
dh_installalternatives
6.09
KB
-rwxr-xr-x
dh_installcatalogs
3.33
KB
-rwxr-xr-x
dh_installchangelogs
7.48
KB
-rwxr-xr-x
dh_installcron
1.65
KB
-rwxr-xr-x
dh_installdeb
13.31
KB
-rwxr-xr-x
dh_installdebconf
3.21
KB
-rwxr-xr-x
dh_installdirs
3.09
KB
-rwxr-xr-x
dh_installdocs
14.65
KB
-rwxr-xr-x
dh_installemacsen
3.74
KB
-rwxr-xr-x
dh_installexamples
5.42
KB
-rwxr-xr-x
dh_installgsettings
2.24
KB
-rwxr-xr-x
dh_installifupdown
1.47
KB
-rwxr-xr-x
dh_installinfo
3.38
KB
-rwxr-xr-x
dh_installinit
13.93
KB
-rwxr-xr-x
dh_installinitramfs
2.5
KB
-rwxr-xr-x
dh_installlogcheck
1.94
KB
-rwxr-xr-x
dh_installlogrotate
1.14
KB
-rwxr-xr-x
dh_installman
13.2
KB
-rwxr-xr-x
dh_installmanpages
4.89
KB
-rwxr-xr-x
dh_installmenu
2.15
KB
-rwxr-xr-x
dh_installmime
1.3
KB
-rwxr-xr-x
dh_installmodules
2.66
KB
-rwxr-xr-x
dh_installpam
1.13
KB
-rwxr-xr-x
dh_installppp
1.38
KB
-rwxr-xr-x
dh_installsystemd
14.06
KB
-rwxr-xr-x
dh_installsystemduser
8.36
KB
-rwxr-xr-x
dh_installsysusers
2.73
KB
-rwxr-xr-x
dh_installtmpfiles
3.24
KB
-rwxr-xr-x
dh_installudev
2.1
KB
-rwxr-xr-x
dh_installwm
3.33
KB
-rwxr-xr-x
dh_installxfonts
2.8
KB
-rwxr-xr-x
dh_link
4.32
KB
-rwxr-xr-x
dh_lintian
1.29
KB
-rwxr-xr-x
dh_listpackages
825
B
-rwxr-xr-x
dh_makeshlibs
15.12
KB
-rwxr-xr-x
dh_md5sums
3.44
KB
-rwxr-xr-x
dh_missing
8.75
KB
-rwxr-xr-x
dh_movefiles
4.69
KB
-rwxr-xr-x
dh_perl
4.61
KB
-rwxr-xr-x
dh_perl_openssl
1.5
KB
-rwxr-xr-x
dh_prep
1.87
KB
-rwxr-xr-x
dh_shlibdeps
6.24
KB
-rwxr-xr-x
dh_strip
16.93
KB
-rwxr-xr-x
dh_strip_nondeterminism
3.12
KB
-rwxr-xr-x
dh_systemd_enable
9.04
KB
-rwxr-xr-x
dh_systemd_start
8.57
KB
-rwxr-xr-x
dh_testdir
1.31
KB
-rwxr-xr-x
dh_testroot
2.91
KB
-rwxr-xr-x
dh_ucf
2.38
KB
-rwxr-xr-x
dh_update_autotools_config
1.84
KB
-rwxr-xr-x
dh_usrlocal
4.2
KB
-rwxr-xr-x
dhomepage
2.03
KB
-rwxr-xr-x
diff
130.55
KB
-rwxr-xr-x
diff3
54.52
KB
-rwxr-xr-x
dig
146.83
KB
-rwxr-xr-x
dir
134.98
KB
-rwxr-xr-x
dircolors
38.52
KB
-rwxr-xr-x
dirmngr
433.02
KB
-rwxr-xr-x
dirmngr-client
54.92
KB
-rwxr-xr-x
dirname
30.38
KB
-rwxr-xr-x
display
14.15
KB
-rwxr-xr-x
distro-info
22.89
KB
-rwxr-xr-x
dman
3.71
KB
-rwxr-xr-x
dmesg
70.61
KB
-rwxr-xr-x
dnsdomainname
22.23
KB
-rwxr-xr-x
dnssec-cds
51.39
KB
-rwxr-xr-x
dnssec-dsfromkey
38.38
KB
-rwxr-xr-x
dnssec-importkey
38.38
KB
-rwxr-xr-x
dnssec-keyfromlabel
42.38
KB
-rwxr-xr-x
dnssec-keygen
46.38
KB
-rwxr-xr-x
dnssec-revoke
30.38
KB
-rwxr-xr-x
dnssec-settime
46.38
KB
-rwxr-xr-x
dnssec-signzone
94.41
KB
-rwxr-xr-x
dnssec-verify
30.39
KB
-rwxr-xr-x
do-release-upgrade
10.42
KB
-rwxr-xr-x
domainname
22.23
KB
-rwxr-xr-x
doveadm
697.76
KB
-rwxr-xr-x
doveconf
185.77
KB
-rwxr-xr-x
dovecot-sysreport
5.81
KB
-rwxr-xr-x
download-mibs
2.56
KB
-rwxr-xr-x
dpigs
3.54
KB
-rwxr-xr-x
dpkg
310.69
KB
-rwxr-xr-x
dpkg-architecture
13.51
KB
-rwxr-xr-x
dpkg-buildflags
7.39
KB
-rwxr-xr-x
dpkg-buildpackage
31.67
KB
-rwxr-xr-x
dpkg-checkbuilddeps
7.45
KB
-rwxr-xr-x
dpkg-deb
134.49
KB
-rwxr-xr-x
dpkg-distaddfile
2.72
KB
-rwxr-xr-x
dpkg-divert
118.49
KB
-rwxr-xr-x
dpkg-genbuildinfo
16.71
KB
-rwxr-xr-x
dpkg-genchanges
17.27
KB
-rwxr-xr-x
dpkg-gencontrol
14.24
KB
-rwxr-xr-x
dpkg-gensymbols
10.65
KB
-rwxr-xr-x
dpkg-maintscript-helper
20.71
KB
-rwxr-xr-x
dpkg-mergechangelogs
8.69
KB
-rwxr-xr-x
dpkg-name
6.63
KB
-rwxr-xr-x
dpkg-parsechangelog
4.83
KB
-rwxr-xr-x
dpkg-query
138.52
KB
-rwxr-xr-x
dpkg-realpath
4.09
KB
-rwxr-xr-x
dpkg-scanpackages
8.5
KB
-rwxr-xr-x
dpkg-scansources
8.96
KB
-rwxr-xr-x
dpkg-shlibdeps
30.96
KB
-rwxr-xr-x
dpkg-source
22.56
KB
-rwxr-xr-x
dpkg-split
98.51
KB
-rwxr-xr-x
dpkg-statoverride
46.26
KB
-rwxr-xr-x
dpkg-trigger
42.41
KB
-rwxr-xr-x
dpkg-vendor
3.19
KB
-rwxr-xr-x
dsync
697.76
KB
-rwxr-xr-x
du
146.51
KB
-rwxr-xr-x
dumpkeys
158.71
KB
-rwxr-xr-x
dvipdf
1007
B
-rwxr-xr-x
dwp
1.82
MB
-rwxr-xr-x
dwz
212.76
KB
-rwxr-xr-x
dzegrep
2.03
KB
-rwxr-xr-x
dzfgrep
2.03
KB
-rwxr-xr-x
dzgrep
2.03
KB
-rwxr-xr-x
ea-php82
5.84
MB
-rwxr-xr-x
ea-php82-pear
383
B
-rwxr-xr-x
ea-php82-pecl
299
B
-rwxr-xr-x
echo
34.3
KB
-rwxr-xr-x
ed
54.49
KB
-rwxr-xr-x
edit
18.06
KB
-rwxr-xr-x
editor
276.52
KB
-rwxr-xr-x
egrep
28
B
-rwxr-xr-x
eject
42.23
KB
-rwxr-xr-x
elfedit
34.72
KB
-rwxr-xr-x
elinks
1.69
MB
-rwxr-xr-x
enc2xs
40.84
KB
-rwxr-xr-x
encguess
3.01
KB
-rwxr-xr-x
enchant-2
26.29
KB
-rwxr-xr-x
enchant-lsmod-2
18.29
KB
-rwxr-xr-x
env
42.95
KB
-rwxr-xr-x
envsubst
34.38
KB
-rwxr-xr-x
eps2eps
639
B
-rwxr-xr-x
eqn
188.45
KB
-rwxr-xr-x
equivs-build
10.07
KB
-rwxr-xr-x
equivs-control
338
B
-rwxr-xr-x
eu-addr2line
30.38
KB
-rwxr-xr-x
eu-ar
42.45
KB
-rwxr-xr-x
eu-elfclassify
32.32
KB
-rwxr-xr-x
eu-elfcmp
334.95
KB
-rwxr-xr-x
eu-elfcompress
34.77
KB
-rwxr-xr-x
eu-elflint
430.95
KB
-rwxr-xr-x
eu-findtextrel
22.45
KB
-rwxr-xr-x
eu-make-debug-archive
2.84
KB
-rwxr-xr-x
eu-nm
351.13
KB
-rwxr-xr-x
eu-objdump
335.08
KB
-rwxr-xr-x
eu-ranlib
22.38
KB
-rwxr-xr-x
eu-readelf
594.98
KB
-rwxr-xr-x
eu-size
22.45
KB
-rwxr-xr-x
eu-stack
31.29
KB
-rwxr-xr-x
eu-strings
22.45
KB
-rwxr-xr-x
eu-strip
358.95
KB
-rwxr-xr-x
eu-unstrip
54.38
KB
-rwxr-xr-x
ex
3.61
MB
-rwxr-xr-x
expand
34.53
KB
-rwxr-xr-x
expiry
22.59
KB
-rwxr-xr-x
expr
102.41
KB
-rwxr-xr-x
factor
70.51
KB
-rwxr-xr-x
faillog
22.59
KB
-rwxr-xr-x
faked-sysv
30.39
KB
-rwxr-xr-x
faked-tcp
30.38
KB
-rwxr-xr-x
fakeroot
3.9
KB
-rwxr-xr-x
fakeroot-sysv
3.9
KB
-rwxr-xr-x
fakeroot-tcp
3.9
KB
-rwxr-xr-x
fallocate
22.38
KB
-rwxr-xr-x
false
26.3
KB
-rwxr-xr-x
fc-cache
22.23
KB
-rwxr-xr-x
fc-cat
18.23
KB
-rwxr-xr-x
fc-conflist
14.23
KB
-rwxr-xr-x
fc-list
14.23
KB
-rwxr-xr-x
fc-match
14.23
KB
-rwxr-xr-x
fc-pattern
14.23
KB
-rwxr-xr-x
fc-query
14.23
KB
-rwxr-xr-x
fc-scan
14.23
KB
-rwxr-xr-x
fc-validate
14.23
KB
-rwxr-xr-x
fgconsole
14.23
KB
-rwxr-xr-x
fgrep
28
B
-rwxr-xr-x
filan
46.48
KB
-rwxr-xr-x
file
26.56
KB
-rwxr-xr-x
fincore
22.42
KB
-rwxr-xr-x
find
275.48
KB
-rwxr-xr-x
find-dbgsym-packages
14.79
KB
-rwxr-xr-x
find-debuginfo
21.28
KB
-rwxr-xr-x
findmnt
63.61
KB
-rwxr-xr-x
flock
22.48
KB
-rwxr-xr-x
fmt
38.51
KB
-rwxr-xr-x
fold
34.51
KB
-rwxr-xr-x
free
26.23
KB
-rwxr-xr-x
ftp
178.9
KB
-rwxr-xr-x
funzip
22.3
KB
-rwxr-xr-x
fuser
39.31
KB
-rwxr-xr-x
fusermount
34.38
KB
-rwxr-xr-x
fusermount3
34.38
KB
-rwxr-xr-x
g++
910.82
KB
-rwxr-xr-x
g++-11
910.82
KB
-rwxr-xr-x
g++-9
770.74
KB
-rwxr-xr-x
gapplication
22.38
KB
-rwxr-xr-x
gawk
688.46
KB
-rwxr-xr-x
gcc
906.82
KB
-rwxr-xr-x
gcc-11
906.82
KB
-rwxr-xr-x
gcc-9
766.74
KB
-rwxr-xr-x
gcc-ar
26.54
KB
-rwxr-xr-x
gcc-ar-11
26.54
KB
-rwxr-xr-x
gcc-ar-9
26.54
KB
-rwxr-xr-x
gcc-nm
26.54
KB
-rwxr-xr-x
gcc-nm-11
26.54
KB
-rwxr-xr-x
gcc-nm-9
22.53
KB
-rwxr-xr-x
gcc-ranlib
26.54
KB
-rwxr-xr-x
gcc-ranlib-11
26.54
KB
-rwxr-xr-x
gcc-ranlib-9
26.54
KB
-rwxr-xr-x
gcov
400.01
KB
-rwxr-xr-x
gcov-11
400.01
KB
-rwxr-xr-x
gcov-9
383.92
KB
-rwxr-xr-x
gcov-dump
251.84
KB
-rwxr-xr-x
gcov-dump-11
251.84
KB
-rwxr-xr-x
gcov-dump-9
235.79
KB
-rwxr-xr-x
gcov-tool
275.93
KB
-rwxr-xr-x
gcov-tool-11
275.93
KB
-rwxr-xr-x
gcov-tool-9
267.89
KB
-rwxr-xr-x
gd2copypal
14.15
KB
-rwxr-xr-x
gd2togif
14.15
KB
-rwxr-xr-x
gd2topng
14.15
KB
-rwxr-xr-x
gdbm_dump
30.88
KB
-rwxr-xr-x
gdbm_dump-nolfs
51.02
KB
-rwxr-xr-x
gdbm_load
35.12
KB
-rwxr-xr-x
gdbm_load-nolfs
75.29
KB
-rwxr-xr-x
gdbmtool
146.07
KB
-rwxr-xr-x
gdbmtool-nolfs
190.16
KB
-rwxr-xr-x
gdbus
50.38
KB
-rwxr-xr-x
gdbus-codegen
1.99
KB
-rwxr-xr-x
gdcmpgif
14.15
KB
-rwxr-xr-x
gdparttopng
14.15
KB
-rwxr-xr-x
gdtopng
14.15
KB
-rwxr-xr-x
genbrk
14.78
KB
-rwxr-xr-x
gencat
26.37
KB
-rwxr-xr-x
gencfu
14.73
KB
-rwxr-xr-x
gencnval
26.61
KB
-rwxr-xr-x
gendict
26.78
KB
-rwxr-xr-x
gendiff
503
B
-rwxr-xr-x
genrb
147.91
KB
-rwxr-xr-x
geqn
188.45
KB
-rwxr-xr-x
getconf
34.29
KB
-rwxr-xr-x
getent
38.65
KB
-rwxr-xr-x
getfacl
30.81
KB
-rwxr-xr-x
getkeycodes
14.23
KB
-rwxr-xr-x
getopt
22.38
KB
-rwxr-xr-x
gettext
34.38
KB
-rwxr-xr-x
gettext.sh
5.07
KB
-rwxr-xr-x
gettextize
41.28
KB
-rwxr-xr-x
ghostscript
14.15
KB
-rwxr-xr-x
giftogd2
14.15
KB
-rwxr-xr-x
ginstall-info
103.23
KB
-rwxr-xr-x
gio
90.4
KB
-rwxr-xr-x
gio-querymodules
14.3
KB
-rwxr-xr-x
git
4.05
MB
-rwxr-xr-x
git-receive-pack
4.05
MB
-rwxr-xr-x
git-shell
767.99
KB
-rwxr-xr-x
git-upload-archive
4.05
MB
-rwxr-xr-x
git-upload-pack
4.05
MB
-rwxr-xr-x
glib-compile-resources
46.31
KB
-rwxr-xr-x
glib-compile-schemas
50.3
KB
-rwxr-xr-x
glib-genmarshal
40.14
KB
-rwxr-xr-x
glib-gettextize
5.26
KB
-rwxr-xr-x
glib-mkenums
30.08
KB
-rwxr-xr-x
gm
14.15
KB
-rwxr-xr-x
gmake
249.7
KB
-rwxr-xr-x
gobject-query
14.32
KB
-rwxr-xr-x
gold
3.04
MB
-rwxr-xr-x
gpasswd
70.38
KB
-rwsr-xr-x
gpg
1
MB
-rwxr-xr-x
gpg-agent
312.96
KB
-rwxr-xr-x
gpg-connect-agent
82.99
KB
-rwxr-xr-x
gpg-wks-server
115.05
KB
-rwxr-xr-x
gpg-zip
3.43
KB
-rwxr-xr-x
gpg2
1
MB
-rwxr-xr-x
gpgcompose
496.48
KB
-rwxr-xr-x
gpgconf
126.73
KB
-rwxr-xr-x
gpgparsemail
34.38
KB
-rwxr-xr-x
gpgsm
418.9
KB
-rwxr-xr-x
gpgsplit
26.55
KB
-rwxr-xr-x
gpgtar
63.39
KB
-rwxr-xr-x
gpgv
271.04
KB
-rwxr-xr-x
gpic
200.04
KB
-rwxr-xr-x
gprof
111.79
KB
-rwxr-xr-x
grep
178.45
KB
-rwxr-xr-x
grep-aptavail
48.08
KB
-rwxr-xr-x
grep-available
48.08
KB
-rwxr-xr-x
grep-dctrl
48.08
KB
-rwxr-xr-x
grep-debtags
48.08
KB
-rwxr-xr-x
grep-status
48.08
KB
-rwxr-xr-x
gresource
22.3
KB
-rwxr-xr-x
groff
94.5
KB
-rwxr-xr-x
grog
2.71
KB
-rwxr-xr-x
grops
162.55
KB
-rwxr-xr-x
grotty
118.52
KB
-rwxr-xr-x
groups
34.51
KB
-rwxr-xr-x
grub-editenv
376.95
KB
-rwxr-xr-x
grub-file
816.45
KB
-rwxr-xr-x
grub-fstest
937.92
KB
-rwxr-xr-x
grub-glue-efi
247.86
KB
-rwxr-xr-x
grub-kbdcomp
1.64
KB
-rwxr-xr-x
grub-menulst2cfg
228.13
KB
-rwxr-xr-x
grub-mkfont
272.42
KB
-rwxr-xr-x
grub-mkimage
361.05
KB
-rwxr-xr-x
grub-mklayout
252.17
KB
-rwxr-xr-x
grub-mknetdir
417.66
KB
-rwxr-xr-x
grub-mkpasswd-pbkdf2
256.2
KB
-rwxr-xr-x
grub-mkrelpath
247.58
KB
-rwxr-xr-x
grub-mkrescue
998.47
KB
-rwxr-xr-x
grub-mkstandalone
493.95
KB
-rwxr-xr-x
grub-mount
760.84
KB
-rwxr-xr-x
grub-ntldr-img
38.24
KB
-rwxr-xr-x
grub-render-label
828.83
KB
-rwxr-xr-x
grub-script-check
275.7
KB
-rwxr-xr-x
grub-syslinux2cfg
781.34
KB
-rwxr-xr-x
gs
14.15
KB
-rwxr-xr-x
gsbj
350
B
-rwxr-xr-x
gsdj
352
B
-rwxr-xr-x
gsdj500
352
B
-rwxr-xr-x
gsettings
30.3
KB
-rwxr-xr-x
gslj
353
B
-rwxr-xr-x
gslp
350
B
-rwxr-xr-x
gsnd
277
B
-rwxr-xr-x
gtbl
126.48
KB
-rwxr-xr-x
gtester
30.33
KB
-rwxr-xr-x
gtester-report
18.64
KB
-rwxr-xr-x
gunzip
2.29
KB
-rwxr-xr-x
gzexe
6.3
KB
-rwxr-xr-x
gzip
91.23
KB
-rwxr-xr-x
h2ph
28.54
KB
-rwxr-xr-x
h2xs
59.51
KB
-rwxr-xr-x
hardlink
34.43
KB
-rwxr-xr-x
hd
50.39
KB
-rwxr-xr-x
head
42.51
KB
-rwxr-xr-x
helpztags
2.46
KB
-rwxr-xr-x
hexdump
50.39
KB
-rwxr-xr-x
host
118.82
KB
-rwxr-xr-x
hostid
30.51
KB
-rwxr-xr-x
hostname
22.23
KB
-rwxr-xr-x
hostnamectl
30.38
KB
-rwxr-xr-x
htdbm
26.15
KB
-rwxr-xr-x
htdigest
14.15
KB
-rwxr-xr-x
html2markdown
404
B
-rwxr-xr-x
html2markdown.py3
404
B
-rwxr-xr-x
htpasswd
26.15
KB
-rwxr-xr-x
httxt2dbm
14.15
KB
-rwxr-xr-x
hwe-support-status
10.58
KB
-rwxr-xr-x
i386
26.65
KB
-rwxr-xr-x
i686-linux-gnu-pkg-config
2.18
KB
-rwxr-xr-x
ibd2sdi
294.74
KB
-rwxr-xr-x
iconv
66.41
KB
-rwxr-xr-x
icuexportdata
30.98
KB
-rwxr-xr-x
icuinfo
14.62
KB
-rwxr-xr-x
id
38.51
KB
-rwxr-xr-x
identify
14.15
KB
-rwxr-xr-x
ifnames
4.08
KB
-rwxr-xr-x
import
14.15
KB
-rwxr-xr-x
imunify-antivirus
1
KB
-rwxr-xr-x
imunify-service
1020
B
-rwxr-xr-x
imunify360-agent
1
KB
-rwxr-xr-x
imunify360-command-wrapper
8.4
KB
-rwxr-xr-x
info
301.74
KB
-rwxr-xr-x
infobrowser
301.74
KB
-rwxr-xr-x
infocmp
62.38
KB
-rwxr-xr-x
infotocap
86.41
KB
-rwxr-xr-x
innochecksum
199.39
KB
-rwxr-xr-x
install
142.52
KB
-rwxr-xr-x
install-info
103.23
KB
-rwxr-xr-x
instmodsh
4.27
KB
-rwxr-xr-x
ionice
18.38
KB
-rwxr-xr-x
iostat
54.44
KB
-rwxr-xr-x
ip
702.05
KB
-rwxr-xr-x
ipcmk
22.45
KB
-rwxr-xr-x
ipcrm
18.38
KB
-rwxr-xr-x
ipcs
38.38
KB
-rwxr-xr-x
iptables-xml
96.95
KB
-rwxr-xr-x
ischroot
14.2
KB
-rwxr-xr-x
ispell-wrapper
7.05
KB
-rwxr-xr-x
join
46.55
KB
-rwxr-xr-x
join-dctrl
34.83
KB
-rwxr-xr-x
journalctl
78.39
KB
-rwxr-xr-x
json_pp
4.88
KB
-rwxr-xr-x
json_reformat
18.25
KB
-rwxr-xr-x
json_verify
14.15
KB
-rwxr-xr-x
json_xs
6.85
KB
-rwxr-xr-x
kbd_mode
14.52
KB
-rwxr-xr-x
kbdinfo
18.23
KB
-rwxr-xr-x
kbxutil
62.83
KB
-rwxr-xr-x
kernel-install
4.79
KB
-rwxr-xr-x
keyctl
46.38
KB
-rwxr-xr-x
kill
30.23
KB
-rwxr-xr-x
killall
31.34
KB
-rwxr-xr-x
kmod
166.36
KB
-rwxr-xr-x
laptop-detect
3.73
KB
-rwxr-xr-x
last
34.38
KB
-rwxr-xr-x
lastb
34.38
KB
-rwxr-xr-x
lastlog
27.63
KB
-rwxr-xr-x
lcf
7.6
KB
-rwxr-xr-x
lchfn
22.3
KB
-rwxr-xr-x
lchsh
22.3
KB
-rwxr-xr-x
ld
1.66
MB
-rwxr-xr-x
ld.bfd
1.66
MB
-rwxr-xr-x
ld.gold
3.04
MB
-rwxr-xr-x
ldd
5.32
KB
-rwxr-xr-x
less
194.38
KB
-rwxr-xr-x
lessecho
14.31
KB
-rwxr-xr-x
lessfile
8.83
KB
-rwxr-xr-x
lesskey
23.7
KB
-rwxr-xr-x
lesspipe
8.83
KB
-rwxr-xr-x
lexgrog
99.75
KB
-rwxr-xr-x
libnetcfg
15.41
KB
-rwxr-xr-x
libpng-config
2.41
KB
-rwxr-xr-x
libpng16-config
2.41
KB
-rwxr-xr-x
libtool
366.5
KB
-rwxr-xr-x
libtoolize
128.26
KB
-rwxr-xr-x
link
30.51
KB
-rwxr-xr-x
links
2.22
MB
-rwxr-xr-x
linux-boot-prober
1.54
KB
-rwxr-xr-x
linux-check-removal
3.99
KB
-rwxr-xr-x
linux-update-symlinks
6.17
KB
-rwxr-xr-x
linux-version
2.63
KB
-rwxr-xr-x
linux32
26.65
KB
-rwxr-xr-x
linux64
26.65
KB
-rwxr-xr-x
ln
58.51
KB
-rwxr-xr-x
lnstat
22.66
KB
-rwxr-xr-x
loadkeys
198.76
KB
-rwxr-xr-x
loadunimap
30.32
KB
-rwxr-xr-x
locale
57.56
KB
-rwxr-xr-x
locale-check
14.15
KB
-rwxr-xr-x
localectl
26.37
KB
-rwxr-xr-x
localedef
326.96
KB
-rwxr-xr-x
logger
34.97
KB
-rwxr-xr-x
login
51.73
KB
-rwxr-xr-x
loginctl
58.48
KB
-rwxr-xr-x
logname
30.51
KB
-rwxr-xr-x
logresolve
14.16
KB
-rwxr-xr-x
look
18.38
KB
-rwxr-xr-x
lowntfs-3g
114.98
KB
-rwxr-xr-x
ls
134.98
KB
-rwxr-xr-x
lsattr
14.31
KB
-rwxr-xr-x
lsb_release
3.55
KB
-rwxr-xr-x
lsblk
122.38
KB
-rwxr-xr-x
lscpu
98.38
KB
-rwxr-xr-x
lshw
901.2
KB
-rwxr-xr-x
lsinitramfs
706
B
-rwxr-xr-x
lsipc
50.38
KB
-rwxr-xr-x
lslocks
30.7
KB
-rwxr-xr-x
lslogins
50.38
KB
-rwxr-xr-x
lsmem
34.38
KB
-rwxr-xr-x
lsmod
166.36
KB
-rwxr-xr-x
lsns
38.38
KB
-rwxr-xr-x
lsof
163.62
KB
-rwxr-xr-x
lspci
92.08
KB
-rwxr-xr-x
lspgpot
1.06
KB
-rwxr-xr-x
lsphp
937
B
-rwxr-xr-x
lsusb
246.52
KB
-rwxr-xr-x
lto-dump-11
23.73
MB
-rwxr-xr-x
ltrace
269.2
KB
-rwxr-xr-x
lua
190.3
KB
-rwxr-xr-x
lua5.1
190.3
KB
-rwxr-xr-x
luac
118.26
KB
-rwxr-xr-x
luac5.1
118.26
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.82
KB
-rwxr-xr-x
lz4_decompress
71.15
KB
-rwxr-xr-x
lzcat
82.52
KB
-rwxr-xr-x
lzcmp
6.86
KB
-rwxr-xr-x
lzdiff
6.86
KB
-rwxr-xr-x
lzegrep
5.87
KB
-rwxr-xr-x
lzfgrep
5.87
KB
-rwxr-xr-x
lzgrep
5.87
KB
-rwxr-xr-x
lzless
1.76
KB
-rwxr-xr-x
lzma
82.52
KB
-rwxr-xr-x
lzmainfo
14.23
KB
-rwxr-xr-x
lzmore
2.11
KB
-rwxr-xr-x
m4
154.37
KB
-rwxr-xr-x
make
249.7
KB
-rwxr-xr-x
make-first-existing-target
4.79
KB
-rwxr-xr-x
makeconv
50.89
KB
-rwxr-xr-x
man
117.68
KB
-rwxr-xr-x
man-recode
35.68
KB
-rwxr-xr-x
mandb
139.94
KB
-rwxr-xr-x
manpath
30.78
KB
-rwxr-xr-x
mapscrn
30.32
KB
-rwxr-xr-x
mawk
154.79
KB
-rwxr-xr-x
mcookie
26.45
KB
-rwxr-xr-x
md5sum
42.41
KB
-rwxr-xr-x
md5sum.textutils
42.41
KB
-rwxr-xr-x
mdig
50.4
KB
-rwxr-xr-x
memusage
7.32
KB
-rwxr-xr-x
memusagestat
22.37
KB
-rwxr-xr-x
mesg
14.38
KB
-rwxr-xr-x
migrate-pubring-from-classic-g...
2.99
KB
-rwxr-xr-x
mk_modmap
15.78
KB
-rwxr-xr-x
mkdir
66.51
KB
-rwxr-xr-x
mkfifo
38.51
KB
-rwxr-xr-x
mknod
42.51
KB
-rwxr-xr-x
mktemp
38.51
KB
-rwxr-xr-x
mlock
14.15
KB
-rwxr-sr-x
mogrify
14.15
KB
-rwxr-xr-x
montage
14.15
KB
-rwxr-xr-x
more
42.38
KB
-rwxr-xr-x
mount
46.38
KB
-rwxr-xr-x
mountpoint
18.38
KB
-rwxr-xr-x
mpstat
50.45
KB
-rwxr-xr-x
msgattrib
26.38
KB
-rwxr-xr-x
msgcat
26.38
KB
-rwxr-xr-x
msgcmp
26.38
KB
-rwxr-xr-x
msgcomm
26.38
KB
-rwxr-xr-x
msgconv
22.38
KB
-rwxr-xr-x
msgen
22.38
KB
-rwxr-xr-x
msgexec
22.38
KB
-rwxr-xr-x
msgfilter
34.38
KB
-rwxr-xr-x
msgfmt
82.59
KB
-rwxr-xr-x
msggrep
114.46
KB
-rwxr-xr-x
msginit
66.39
KB
-rwxr-xr-x
msgmerge
74.41
KB
-rwxr-xr-x
msgunfmt
34.39
KB
-rwxr-xr-x
msguniq
22.38
KB
-rwxr-xr-x
mt
66.73
KB
-rwxr-xr-x
mt-gnu
66.73
KB
-rwxr-xr-x
mtr
72.25
KB
-rwxr-xr-x
mtr-packet
38.3
KB
-rwxr-xr-x
mtrace
6.43
KB
-rwxr-xr-x
mv
134.52
KB
-rwxr-xr-x
my_print_defaults
171.24
KB
-rwxr-xr-x
myisam_ftdump
6.35
MB
-rwxr-xr-x
myisamchk
6.55
MB
-rwxr-xr-x
myisamlog
6.38
MB
-rwxr-xr-x
myisampack
6.41
MB
-rwxr-xr-x
mysql
7.29
MB
-rwxr-xr-x
mysql-secret-store-login-path
7.81
MB
-rwxr-xr-x
mysql_config
4.96
KB
-rwxr-xr-x
mysql_config_editor
153.03
KB
-rwxr-xr-x
mysql_migrate_keyring
7.03
MB
-rwxr-xr-x
mysql_secure_installation
6.96
MB
-rwxr-xr-x
mysql_ssl_rsa_setup
194.9
KB
-rwxr-xr-x
mysql_tzinfo_to_sql
74.91
KB
-rwxr-xr-x
mysql_upgrade
7.04
MB
-rwxr-xr-x
mysqladmin
6.98
MB
-rwxr-xr-x
mysqlbinlog
7.3
MB
-rwxr-xr-x
mysqlcheck
6.98
MB
-rwxr-xr-x
mysqld_multi
26.76
KB
-rwxr-xr-x
mysqld_safe
28.45
KB
-rwxr-xr-x
mysqldump
7.06
MB
-rwxr-xr-x
mysqldumpslow
7.54
KB
-rwxr-xr-x
mysqlimport
6.97
MB
-rwxr-xr-x
mysqlpump
7.4
MB
-rwxr-xr-x
mysqlsh
29
MB
-rwxr-xr-x
mysqlshow
6.97
MB
-rwxr-xr-x
mysqlslap
6.99
MB
-rwxr-xr-x
named-checkconf
38.4
KB
-rwxr-xr-x
named-checkzone
30.4
KB
-rwxr-xr-x
named-compilezone
30.4
KB
-rwxr-xr-x
named-journalprint
14.3
KB
-rwxr-xr-x
named-nzd2nzf
14.3
KB
-rwxr-xr-x
named-rrchecker
22.3
KB
-rwxr-xr-x
namei
22.38
KB
-rwxr-xr-x
nano
276.52
KB
-rwxr-xr-x
nawk
688.46
KB
-rwxr-xr-x
nc
38.63
KB
-rwxr-xr-x
nc.openbsd
38.63
KB
-rwxr-xr-x
ncal
36.95
KB
-rwxr-xr-x
ncurses5-config
8.21
KB
-rwxr-xr-x
ncurses6-config
8.21
KB
-rwxr-xr-x
ncursesw5-config
8.21
KB
-rwxr-xr-x
ncursesw6-config
8.21
KB
-rwxr-xr-x
neqn
913
B
-rwxr-xr-x
netcat
38.63
KB
-rwxr-xr-x
netstat
154.59
KB
-rwxr-xr-x
networkctl
102.38
KB
-rwxr-xr-x
networkd-dispatcher
19.71
KB
-rwxr-xr-x
newgrp
39.55
KB
-rwxr-xr-x
ngettext
34.38
KB
-rwxr-xr-x
nice
34.51
KB
-rwxr-xr-x
nisdomainname
22.23
KB
-rwxr-xr-x
nl
98.57
KB
-rwxr-xr-x
nm
43.63
KB
-rwxr-xr-x
nohup
34.41
KB
-rwxr-xr-x
nproc
34.51
KB
-rwxr-xr-x
nroff
3.22
KB
-rwxr-xr-x
nsec3hash
14.3
KB
-rwxr-xr-x
nsenter
26.6
KB
-rwxr-xr-x
nslookup
122.82
KB
-rwxr-xr-x
nstat
30.38
KB
-rwxr-xr-x
nsupdate
74.55
KB
-rwxr-xr-x
ntfs-3g
159.01
KB
-rwxr-xr-x
ntfs-3g.probe
14.38
KB
-rwxr-xr-x
ntfscat
26.38
KB
-rwxr-xr-x
ntfscluster
38.38
KB
-rwxr-xr-x
ntfscmp
30.38
KB
-rwxr-xr-x
ntfsdecrypt
42.38
KB
-rwxr-xr-x
ntfsfallocate
26.38
KB
-rwxr-xr-x
ntfsfix
34.38
KB
-rwxr-xr-x
ntfsinfo
54.38
KB
-rwxr-xr-x
ntfsls
27.45
KB
-rwxr-xr-x
ntfsmove
30.38
KB
-rwxr-xr-x
ntfsrecover
106.38
KB
-rwxr-xr-x
ntfssecaudit
78.86
KB
-rwxr-xr-x
ntfstruncate
26.3
KB
-rwxr-xr-x
ntfsusermap
18.3
KB
-rwxr-xr-x
ntfswipe
42.91
KB
-rwxr-xr-x
numfmt
54.54
KB
-rwxr-xr-x
objcopy
162.54
KB
-rwxr-xr-x
objdump
369.13
KB
-rwxr-xr-x
od
66.51
KB
-rwxr-xr-x
on_ac_power
2.18
KB
-rwxr-xr-x
open
18.06
KB
-rwxr-xr-x
openssl
977.8
KB
-rwxr-xr-x
openvt
22.59
KB
-rwxr-xr-x
os-prober
4.44
KB
-rwxr-xr-x
pager
194.38
KB
-rwxr-xr-x
paperconf
14.15
KB
-rwxr-xr-x
partx
58.38
KB
-rwxr-xr-x
passwd
58.57
KB
-rwsr-xr-x
paste
34.41
KB
-rwxr-xr-x
patch
186.52
KB
-rwxr-xr-x
pathchk
34.51
KB
-rwxr-xr-x
pcre-config
2.29
KB
-rwxr-xr-x
pcre2-config
1.93
KB
-rwxr-xr-x
pcre2grep
52.34
KB
-rwxr-xr-x
pcre2test
161.33
KB
-rwxr-xr-x
pdb2
45.02
KB
-rwxr-xr-x
pdb2.7
45.02
KB
-rwxr-xr-x
pdb3
61.74
KB
-rwxr-xr-x
pdb3.10
61.74
KB
-rwxr-xr-x
pdf2dsc
698
B
-rwxr-xr-x
pdf2ps
909
B
-rwxr-xr-x
pdns_control
3.71
MB
-rwxr-xr-x
pdnsutil
53.13
MB
-rwxr-xr-x
peekfd
14.3
KB
-rwxr-xr-x
perl
3.63
MB
-rwxr-xr-x
perl5.34-x86_64-linux-gnu
14.3
KB
-rwxr-xr-x
perl5.34.0
3.63
MB
-rwxr-xr-x
perlbug
44.12
KB
-rwxr-xr-x
perldoc
125
B
-rwxr-xr-x
perlivp
10.61
KB
-rwxr-xr-x
perlml
14.02
KB
-rwxr-xr-x
perlthanks
44.12
KB
-rwxr-xr-x
perror
1.46
MB
-rwxr-xr-x
pf2afm
498
B
-rwxr-xr-x
pfbtopfa
516
B
-rwxr-xr-x
pgrep
30.24
KB
-rwxr-xr-x
php
937
B
-rwxr-xr-x
pic
200.04
KB
-rwxr-xr-x
pico
276.52
KB
-rwxr-xr-x
piconv
8.16
KB
-rwxr-xr-x
pidof
30.38
KB
-rwxr-xr-x
pidstat
50.45
KB
-rwxr-xr-x
pidwait
30.24
KB
-rwxr-xr-x
pigz
134.36
KB
-rwxr-xr-x
pinentry
58.65
KB
-rwxr-xr-x
pinentry-curses
58.65
KB
-rwxr-xr-x
ping
74.88
KB
-rwxr-xr-x
ping4
74.88
KB
-rwxr-xr-x
ping6
74.88
KB
-rwxr-xr-x
pinky
34.41
KB
-rwxr-xr-x
pip
221
B
-rwxr-xr-x
pip3
221
B
-rwxr-xr-x
pip3.10
221
B
-rwxr-xr-x
pkg-config
50.28
KB
-rwxr-xr-x
pkgdata
43.53
KB
-rwxr-xr-x
pkill
30.24
KB
-rwxr-xr-x
pl2pm
4.43
KB
-rwxr-xr-x
pldd
22.37
KB
-rwxr-xr-x
plymouth
46.3
KB
-rwxr-xr-x
pmap
34.24
KB
-rwxr-xr-x
png-fix-itxt
14.3
KB
-rwxr-xr-x
pngfix
58.38
KB
-rwxr-xr-x
pngtogd
14.15
KB
-rwxr-xr-x
pngtogd2
14.15
KB
-rwxr-xr-x
po2debconf
8.47
KB
-rwxr-xr-x
pod2html
4.04
KB
-rwxr-xr-x
pod2man
14.68
KB
-rwxr-xr-x
pod2markdown
3.56
KB
-rwxr-xr-x
pod2readme
4.57
KB
-rwxr-xr-x
pod2text
10.55
KB
-rwxr-xr-x
pod2usage
4.01
KB
-rwxr-xr-x
podchecker
3.57
KB
-rwxr-xr-x
podebconf-display-po
12.67
KB
-rwxr-xr-x
podebconf-report-po
31.76
KB
-rwxr-xr-x
popbugs
4.77
KB
-rwxr-xr-x
pphs
404
B
-rwxr-xr-x
pr
66.58
KB
-rwxr-xr-x
precat
5.52
KB
-rwxr-xr-x
preconv
54.48
KB
-rwxr-xr-x
preunzip
5.52
KB
-rwxr-xr-x
prezip
5.52
KB
-rwxr-xr-x
prezip-bin
14.3
KB
-rwxr-xr-x
print
18.06
KB
-rwxr-xr-x
printafm
395
B
-rwxr-xr-x
printenv
30.38
KB
-rwxr-xr-x
printf
50.44
KB
-rwxr-xr-x
prlimit
26.89
KB
-rwxr-xr-x
procan
30.4
KB
-rwxr-xr-x
prove
13.34
KB
-rwxr-xr-x
prtstat
22.38
KB
-rwxr-xr-x
ps
138.45
KB
-rwxr-xr-x
ps2ascii
631
B
-rwxr-xr-x
ps2epsi
1.23
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.05
KB
-rwxr-xr-x
ps2ps
647
B
-rwxr-xr-x
ps2ps2
669
B
-rwxr-xr-x
ps2txt
631
B
-rwxr-xr-x
psfaddtable
26.23
KB
-rwxr-xr-x
psfgettable
26.23
KB
-rwxr-xr-x
psfstriptable
26.23
KB
-rwxr-xr-x
psfxtable
26.23
KB
-rwxr-xr-x
pslog
14.3
KB
-rwxr-xr-x
pstree
35.32
KB
-rwxr-xr-x
pstree.x11
35.32
KB
-rwxr-xr-x
ptar
3.48
KB
-rwxr-xr-x
ptardiff
2.58
KB
-rwxr-xr-x
ptargrep
4.29
KB
-rwxr-xr-x
ptx
126.55
KB
-rwxr-xr-x
pwd
34.51
KB
-rwxr-xr-x
pwdx
14.23
KB
-rwxr-xr-x
py3clean
7.63
KB
-rwxr-xr-x
py3compile
12.88
KB
-rwxr-xr-x
py3versions
11.63
KB
-rwxr-xr-x
pyclean
4.03
KB
-rwxr-xr-x
pycompile
11.59
KB
-rwxr-xr-x
pydoc2
79
B
-rwxr-xr-x
pydoc2.7
79
B
-rwxr-xr-x
pydoc3
79
B
-rwxr-xr-x
pydoc3.10
79
B
-rwxr-xr-x
pygettext2
21.56
KB
-rwxr-xr-x
pygettext2.7
21.56
KB
-rwxr-xr-x
pygettext3
23.67
KB
-rwxr-xr-x
pygettext3.10
23.67
KB
-rwxr-xr-x
python2
3.43
MB
-rwxr-xr-x
python2.7
3.43
MB
-rwxr-xr-x
python2.7-config
2.94
KB
-rwxr-xr-x
python3
5.66
MB
-rwxr-xr-x
python3-config
3.05
KB
-rwxr-xr-x
python3.10
5.66
MB
-rwxr-xr-x
python3.10-config
3.05
KB
-rwxr-xr-x
pyversions
14.76
KB
-rwxr-xr-x
pzstd
702.47
KB
-rwxr-xr-x
quota
79.59
KB
-rwsr-xr-x
quotasync
62.88
KB
-rwxr-xr-x
ranlib
54.48
KB
-rwxr-xr-x
rbash
1.33
MB
-rwxr-xr-x
rcp
130.59
KB
-rwxr-xr-x
rdma
98.52
KB
-rwxr-xr-x
readelf
758.44
KB
-rwxr-xr-x
readlink
38.41
KB
-rwxr-xr-x
realpath
38.41
KB
-rwxr-xr-x
recode-sr-latin
14.38
KB
-rwxr-xr-x
red
89
B
-rwxr-xr-x
regexp-assemble
4.92
KB
-rwxr-xr-x
renice
14.38
KB
-rwxr-xr-x
reset
26.31
KB
-rwxr-xr-x
resizecons
26.32
KB
-rwxr-xr-x
resizepart
22.38
KB
-rwxr-xr-x
resolvectl
130.52
KB
-rwxr-xr-x
rev
14.38
KB
-rwxr-xr-x
rgrep
30
B
-rwxr-xr-x
rlogin
827.04
KB
-rwxr-xr-x
rm
58.51
KB
-rwxr-xr-x
rmdir
42.41
KB
-rwxr-xr-x
rnano
276.52
KB
-rwxr-xr-x
routef
208
B
-rwxr-xr-x
routel
1.62
KB
-rwxr-xr-x
rpcgen
94.59
KB
-rwxr-xr-x
rpcinfo
34.48
KB
-rwxr-xr-x
rpm
22.78
KB
-rwxr-xr-x
rpm2archive
22.45
KB
-rwxr-xr-x
rpm2cpio
14.3
KB
-rwxr-xr-x
rpmbuild
32.68
KB
-rwxr-xr-x
rpmdb
18.89
KB
-rwxr-xr-x
rpmgraph
18.59
KB
-rwxr-xr-x
rpmkeys
14.73
KB
-rwxr-xr-x
rpmquery
22.78
KB
-rwxr-xr-x
rpmsign
19.08
KB
-rwxr-xr-x
rpmspec
18.92
KB
-rwxr-xr-x
rpmverify
22.78
KB
-rwxr-xr-x
rrsync
12.34
KB
-rwxr-xr-x
rsh
827.04
KB
-rwxr-xr-x
rsync
506.13
KB
-rwxr-xr-x
rsync-ssl
5.02
KB
-rwxr-xr-x
rtstat
22.66
KB
-rwxr-xr-x
run-mailcap
18.06
KB
-rwxr-xr-x
run-parts
26.54
KB
-rwxr-xr-x
run-with-aspell
57
B
-rwxr-xr-x
runcon
34.51
KB
-rwxr-xr-x
rview
3.61
MB
-rwxr-xr-x
rvim
3.61
MB
-rwxr-xr-x
sadf
390.24
KB
-rwxr-xr-x
sar
133.45
KB
-rwxr-xr-x
sar.sysstat
133.45
KB
-rwxr-xr-x
savelog
10.24
KB
-rwxr-xr-x
scandeps
6.45
KB
-rwxr-xr-x
scp
130.59
KB
-rwxr-xr-x
screendump
14.15
KB
-rwxr-xr-x
script
50.38
KB
-rwxr-xr-x
scriptlive
42.38
KB
-rwxr-xr-x
scriptreplay
34.38
KB
-rwxr-xr-x
sdiff
46.39
KB
-rwxr-xr-x
sed
110.57
KB
-rwxr-xr-x
see
18.06
KB
-rwxr-xr-x
select-default-iwrap
474
B
-rwxr-xr-x
select-editor
2.39
KB
-rwxr-xr-x
sensible-browser
1.26
KB
-rwxr-xr-x
sensible-editor
1.24
KB
-rwxr-xr-x
sensible-pager
565
B
-rwxr-xr-x
sepdebugcrcfix
18.59
KB
-rwxr-xr-x
seq
46.51
KB
-rwxr-xr-x
setarch
26.65
KB
-rwxr-xr-x
setfacl
42.91
KB
-rwxr-xr-x
setfont
50.32
KB
-rwxr-xr-x
setkeycodes
14.23
KB
-rwxr-xr-x
setleds
18.21
KB
-rwxr-xr-x
setlogcons
14.23
KB
-rwxr-xr-x
setmetamode
14.26
KB
-rwxr-xr-x
setpci
30.38
KB
-rwxr-xr-x
setpriv
38.38
KB
-rwxr-xr-x
setsid
14.38
KB
-rwxr-xr-x
setterm
34.38
KB
-rwxr-xr-x
setupcon
38.31
KB
-rwxr-xr-x
sftp
142.66
KB
-rwxr-xr-x
sg
39.55
KB
-rwxr-xr-x
sh
122.74
KB
-rwxr-xr-x
sha1sum
42.41
KB
-rwxr-xr-x
sha224sum
50.41
KB
-rwxr-xr-x
sha256sum
50.41
KB
-rwxr-xr-x
sha384sum
58.41
KB
-rwxr-xr-x
sha512sum
58.41
KB
-rwxr-xr-x
shasum
9.75
KB
-rwxr-xr-x
showconsolefont
18.23
KB
-rwxr-xr-x
showkey
18.23
KB
-rwxr-xr-x
shred
50.51
KB
-rwxr-xr-x
shuf
46.51
KB
-rwxr-xr-x
size
30.45
KB
-rwxr-xr-x
skill
30.23
KB
-rwxr-xr-x
slabtop
22.23
KB
-rwxr-xr-x
sleep
34.51
KB
-rwxr-xr-x
slogin
827.04
KB
-rwxr-xr-x
smistrip
5.03
KB
-rwxr-xr-x
snice
30.23
KB
-rwxr-xr-x
snmpkey
4.62
KB
-rwxr-xr-x
socat
383.62
KB
-rwxr-xr-x
soelim
30.48
KB
-rwxr-xr-x
sort
98.8
KB
-rwxr-xr-x
sort-dctrl
34.64
KB
-rwxr-xr-x
sotruss
4.21
KB
-rwxr-xr-x
splain
18.96
KB
-rwxr-xr-x
split
50.97
KB
-rwxr-xr-x
splitfont
14.15
KB
-rwxr-xr-x
sprof
34.37
KB
-rwxr-xr-x
sqlite3
1.56
MB
-rwxr-xr-x
ss
125.07
KB
-rwxr-xr-x
ssh
827.04
KB
-rwxr-xr-x
ssh-add
166.42
KB
-rwxr-xr-x
ssh-agent
286.43
KB
-rwxr-sr-x
ssh-argv0
1.42
KB
-rwxr-xr-x
ssh-copy-id
12.38
KB
-rwxr-xr-x
ssh-import-id
985
B
-rwxr-xr-x
ssh-import-id-gh
785
B
-rwxr-xr-x
ssh-import-id-lp
785
B
-rwxr-xr-x
ssh-keygen
446.44
KB
-rwxr-xr-x
ssh-keyscan
190.44
KB
-rwxr-xr-x
stat
78.52
KB
-rwxr-xr-x
static-sh
2.09
MB
-rwxr-xr-x
stdbuf
42.51
KB
-rwxr-xr-x
strace
1.88
MB
-rwxr-xr-x
strace-log-merge
1.78
KB
-rwxr-xr-x
streamzip
7.75
KB
-rwxr-xr-x
strings
30.61
KB
-rwxr-xr-x
strip
162.57
KB
-rwxr-xr-x
stty
74.51
KB
-rwxr-xr-x
su
54.38
KB
-rwsr-x---
sudo
226.97
KB
-rwsr-xr-x
sudoedit
226.97
KB
-rwsr-xr-x
sudoreplay
87.64
KB
-rwxr-xr-x
sum
34.41
KB
-rwxr-xr-x
sw-engine
18.39
MB
-rwxr-xr-x
sync
34.41
KB
-rwxr-xr-x
systemctl
1.06
MB
-rwxr-xr-x
systemd
1.76
MB
-rwxr-xr-x
systemd-analyze
1.73
MB
-rwxr-xr-x
systemd-ask-password
18.48
KB
-rwxr-xr-x
systemd-cat
18.38
KB
-rwxr-xr-x
systemd-cgls
22.48
KB
-rwxr-xr-x
systemd-cgtop
38.39
KB
-rwxr-xr-x
systemd-cryptenroll
50.53
KB
-rwxr-xr-x
systemd-delta
26.37
KB
-rwxr-xr-x
systemd-detect-virt
18.37
KB
-rwxr-xr-x
systemd-escape
22.37
KB
-rwxr-xr-x
systemd-hwdb
118.66
KB
-rwxr-xr-x
systemd-id128
26.37
KB
-rwxr-xr-x
systemd-inhibit
22.39
KB
-rwxr-xr-x
systemd-machine-id-setup
18.48
KB
-rwxr-xr-x
systemd-mount
50.59
KB
-rwxr-xr-x
systemd-notify
22.38
KB
-rwxr-xr-x
systemd-path
18.37
KB
-rwxr-xr-x
systemd-run
62.57
KB
-rwxr-xr-x
systemd-socket-activate
26.37
KB
-rwxr-xr-x
systemd-stdio-bridge
22.38
KB
-rwxr-xr-x
systemd-sysext
46.49
KB
-rwxr-xr-x
systemd-sysusers
62.68
KB
-rwxr-xr-x
systemd-tmpfiles
98.57
KB
-rwxr-xr-x
systemd-tty-ask-password-agent
34.37
KB
-rwxr-xr-x
systemd-umount
50.59
KB
-rwxr-xr-x
tabs
18.3
KB
-rwxr-xr-x
tac
98.41
KB
-rwxr-xr-x
tail
66.52
KB
-rwxr-xr-x
tapestat
26.44
KB
-rwxr-xr-x
tar
505.81
KB
-rwxr-xr-x
tasksel
26.82
KB
-rwxr-xr-x
taskset
22.38
KB
-rwxr-xr-x
tbl
126.48
KB
-rwxr-xr-x
tbl-dctrl
38.73
KB
-rwxr-xr-x
tcpdump
1.27
MB
-rwxr-xr-x
tee
34.51
KB
-rwxr-xr-x
telnet
107.56
KB
-rwxr-xr-x
telnet.netkit
107.56
KB
-rwxr-xr-x
tempfile
14.02
KB
-rwxr-xr-x
test
42.44
KB
-rwxr-xr-x
tic
86.41
KB
-rwxr-xr-x
tidy_changelog
2.06
KB
-rwxr-xr-x
time
26.52
KB
-rwxr-xr-x
timedatectl
46.37
KB
-rwxr-xr-x
timeout
38.95
KB
-rwxr-xr-x
tload
18.24
KB
-rwxr-xr-x
tnftp
178.9
KB
-rwxr-xr-x
toe
22.3
KB
-rwxr-xr-x
top
130.06
KB
-rwxr-xr-x
touch
90.51
KB
-rwxr-xr-x
tput
26.34
KB
-rwxr-xr-x
tr
46.51
KB
-rwxr-xr-x
tracepath
22.14
KB
-rwxr-xr-x
troff
718.61
KB
-rwxr-xr-x
true
26.3
KB
-rwxr-xr-x
truncate
34.51
KB
-rwxr-xr-x
tset
26.31
KB
-rwxr-xr-x
tsort
46.51
KB
-rwxr-xr-x
tty
30.51
KB
-rwxr-xr-x
tzselect
15.02
KB
-rwxr-xr-x
ua
1018
B
-rwxr-xr-x
uapi
3.16
MB
-rwxr-xr-x
ubuntu-advantage
1018
B
-rwxr-xr-x
ubuntu-distro-info
22.89
KB
-rwxr-xr-x
ubuntu-security-status
23.2
KB
-rwxr-xr-x
ucf
40.9
KB
-rwxr-xr-x
ucfq
18.91
KB
-rwxr-xr-x
ucfr
10.47
KB
-rwxr-xr-x
uclampset
26.38
KB
-rwxr-xr-x
uconv
54.83
KB
-rwxr-xr-x
udevadm
1.08
MB
-rwxr-xr-x
ul
22.38
KB
-rwxr-xr-x
umount
34.38
KB
-rwxr-xr-x
uname
34.51
KB
-rwxr-xr-x
uncompress
2.29
KB
-rwxr-xr-x
unexpand
34.53
KB
-rwxr-xr-x
unicode_start
2.7
KB
-rwxr-xr-x
unicode_stop
530
B
-rwxr-xr-x
uniq
42.51
KB
-rwxr-xr-x
unlink
30.51
KB
-rwxr-xr-x
unlzma
82.52
KB
-rwxr-xr-x
unmkinitramfs
3.69
KB
-rwxr-xr-x
unpigz
134.36
KB
-rwxr-xr-x
unshare
30.6
KB
-rwxr-xr-x
unxz
82.52
KB
-rwxr-xr-x
unzip
170.42
KB
-rwxr-xr-x
unzipsfx
78.42
KB
-rwxr-xr-x
unzstd
854.59
KB
-rwxr-xr-x
update-alternatives
58.24
KB
-rwxr-xr-x
update-mime-database
58.23
KB
-rwxr-xr-x
uptime
14.23
KB
-rwxr-xr-x
usb-devices
4.33
KB
-rwxr-xr-x
usbhid-dump
30.38
KB
-rwxr-xr-x
usbreset
14.3
KB
-rwxr-xr-x
users
34.51
KB
-rwxr-xr-x
utmpdump
22.38
KB
-rwxr-xr-x
uuidgen
18.38
KB
-rwxr-xr-x
uuidparse
22.38
KB
-rwxr-xr-x
vdir
134.98
KB
-rwxr-xr-x
vi
3.61
MB
-rwxr-xr-x
view
3.61
MB
-rwxr-xr-x
vim
3.61
MB
-rwxr-xr-x
vim.basic
3.61
MB
-rwxr-xr-x
vim.tiny
1.45
MB
-rwxr-xr-x
vimdiff
3.61
MB
-rwxr-xr-x
vimtutor
2.1
KB
-rwxr-xr-x
vmstat
38.24
KB
-rwxr-xr-x
w
22.23
KB
-rwxr-xr-x
wall
22.38
KB
-rwxr-xr-x
watch
26.6
KB
-rwxr-xr-x
watchgnupg
18.3
KB
-rwxr-xr-x
wc
42.42
KB
-rwxr-xr-x
wdctl
30.4
KB
-rwxr-xr-x
webpng
14.15
KB
-rwxr-xr-x
wget
459.02
KB
-rwxr-xr-x
whatis
47.28
KB
-rwxr-xr-x
whereis
30.84
KB
-rwxr-xr-x
which
946
B
-rwxr-xr-x
which-pkg-broke
2.83
KB
-rwxr-xr-x
which-pkg-broke-build
1000
B
-rwxr-xr-x
which.debianutils
946
B
-rwxr-xr-x
whiptail
30.16
KB
-rwxr-xr-x
who
50.52
KB
-rwxr-xr-x
whoami
30.51
KB
-rwxr-xr-x
word-list-compress
14.3
KB
-rwxr-xr-x
write
22.38
KB
-rwxr-xr-x
write.ul
22.38
KB
-rwxr-xr-x
www-browser
2.22
MB
-rwxr-xr-x
x86_64
26.65
KB
-rwxr-xr-x
x86_64-linux-gnu-addr2line
26.7
KB
-rwxr-xr-x
x86_64-linux-gnu-ar
54.48
KB
-rwxr-xr-x
x86_64-linux-gnu-as
456.4
KB
-rwxr-xr-x
x86_64-linux-gnu-c++filt
22.27
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp
906.82
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp-11
906.82
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp-9
766.74
KB
-rwxr-xr-x
x86_64-linux-gnu-dwp
1.82
MB
-rwxr-xr-x
x86_64-linux-gnu-elfedit
34.72
KB
-rwxr-xr-x
x86_64-linux-gnu-g++
910.82
KB
-rwxr-xr-x
x86_64-linux-gnu-g++-11
910.82
KB
-rwxr-xr-x
x86_64-linux-gnu-g++-9
770.74
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc
906.82
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-11
906.82
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-9
766.74
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-11
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-9
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-11
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-9
22.53
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-11
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-9
26.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov
400.01
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-11
400.01
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-9
383.92
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump
251.84
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump-11
251.84
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump-9
235.79
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool
275.93
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool-11
275.93
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool-9
267.89
KB
-rwxr-xr-x
x86_64-linux-gnu-gold
3.04
MB
-rwxr-xr-x
x86_64-linux-gnu-gprof
111.79
KB
-rwxr-xr-x
x86_64-linux-gnu-ld
1.66
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.bfd
1.66
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.gold
3.04
MB
-rwxr-xr-x
x86_64-linux-gnu-lto-dump-11
23.73
MB
-rwxr-xr-x
x86_64-linux-gnu-nm
43.63
KB
-rwxr-xr-x
x86_64-linux-gnu-objcopy
162.54
KB
-rwxr-xr-x
x86_64-linux-gnu-objdump
369.13
KB
-rwxr-xr-x
x86_64-linux-gnu-pkg-config
2.18
KB
-rwxr-xr-x
x86_64-linux-gnu-python2.7-con...
2.94
KB
-rwxr-xr-x
x86_64-linux-gnu-python3-confi...
3.05
KB
-rwxr-xr-x
x86_64-linux-gnu-python3.10-co...
3.05
KB
-rwxr-xr-x
x86_64-linux-gnu-ranlib
54.48
KB
-rwxr-xr-x
x86_64-linux-gnu-readelf
758.44
KB
-rwxr-xr-x
x86_64-linux-gnu-size
30.45
KB
-rwxr-xr-x
x86_64-linux-gnu-strings
30.61
KB
-rwxr-xr-x
x86_64-linux-gnu-strip
162.57
KB
-rwxr-xr-x
x86_64-pc-linux-gnu-pkg-config
50.28
KB
-rwxr-xr-x
xargs
62.41
KB
-rwxr-xr-x
xauth
54.96
KB
-rwxr-xr-x
xdg-user-dir
234
B
-rwxr-xr-x
xdg-user-dirs-update
26.23
KB
-rwxr-xr-x
xgettext
297.01
KB
-rwxr-xr-x
xml2-config
1.4
KB
-rwxr-xr-x
xmlwf
38.15
KB
-rwxr-xr-x
xsubpp
5.05
KB
-rwxr-xr-x
xxd
18.28
KB
-rwxr-xr-x
xz
82.52
KB
-rwxr-xr-x
xzcat
82.52
KB
-rwxr-xr-x
xzcmp
6.86
KB
-rwxr-xr-x
xzdiff
6.86
KB
-rwxr-xr-x
xzegrep
5.87
KB
-rwxr-xr-x
xzfgrep
5.87
KB
-rwxr-xr-x
xzgrep
5.87
KB
-rwxr-xr-x
xzless
1.76
KB
-rwxr-xr-x
xzmore
2.11
KB
-rwxr-xr-x
yes
30.38
KB
-rwxr-xr-x
ypdomainname
22.23
KB
-rwxr-xr-x
zcat
1.94
KB
-rwxr-xr-x
zcmp
1.64
KB
-rwxr-xr-x
zdiff
5.76
KB
-rwxr-xr-x
zdump
26.21
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.91
KB
-rwxr-xr-x
zip
198.99
KB
-rwxr-xr-x
zipcloak
70.4
KB
-rwxr-xr-x
zipdetails
58.66
KB
-rwxr-xr-x
zipgrep
2.89
KB
-rwxr-xr-x
zipinfo
170.42
KB
-rwxr-xr-x
zipnote
62.4
KB
-rwxr-xr-x
zipsplit
58.4
KB
-rwxr-xr-x
zless
2.15
KB
-rwxr-xr-x
zlib_decompress
87.15
KB
-rwxr-xr-x
zmore
1.8
KB
-rwxr-xr-x
znew
4.47
KB
-rwxr-xr-x
zone2json
13.66
MB
-rwxr-xr-x
zone2sql
14.03
MB
-rwxr-xr-x
zstd
854.59
KB
-rwxr-xr-x
zstdcat
854.59
KB
-rwxr-xr-x
zstdgrep
3.78
KB
-rwxr-xr-x
zstdless
30
B
-rwxr-xr-x
zstdmt
854.59
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : apt-file
#!/usr/bin/perl -w # # apt-file - APT package searching utility -- command-line interface # # (c) 2001 Sebastien J. Gross <seb@debian.org> # # This package 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 dated June, 1991. # # This package 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 package; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301 USA. use strict; use warnings; use constant { RETURN_CODE_SUCCESS => 0, RETURN_CODE_NO_RESULTS => 1, RETURN_CODE_GENERIC_ERROR => 2, RETURN_CODE_CACHE_IS_EMPTY => 3, RETURN_CODE_CACHE_NO_MATCHING_INDICES => 4, CONFIG_SEARCH_INDEX_NAMES => 'apt-file::Index-Names', CONFIG_SEARCH_FILTER_ORIGINS => 'apt-file::Search-Filter::Origin', CONFIG_SEARCH_FILTER_SUITES => 'apt-file::Search-Filter::Suite', CONFIG_SEARCH_PARSER_DESC_HEADER => 'apt-file::Parser::Check-For-Description-Header', }; use Getopt::Long qw/:config gnu_getopt no_ignore_case/; use File::Basename; use AptPkg::Config '$_config'; use List::Util qw/any none uniq/; use Time::HiRes qw(gettimeofday tv_interval); my ($Conf, @apt_options); my $time_baseline = [gettimeofday()]; my $time_since_last = $time_baseline; sub warning { my ($msg) = @_; print STDERR "W: $msg\n"; return; } sub error($) { my ($msg) = @_; print STDERR "E: $msg\n"; exit RETURN_CODE_GENERIC_ERROR; } sub stop_with_msg { my ($msg, $return_code) = @_; print STDERR "E: $msg\n"; if (not defined($return_code)) { print STDERR "INTERNAL ERROR: Missing correct return code\n"; $return_code //= 255; } exit $return_code; } { my $do_progress; my $clear_length = 0; sub tty_human_status { my ($msg) = @_; if (not defined($do_progress)) { $do_progress = 0; if (-t STDOUT and ($Conf->{verbose} // 0) == 0) { $do_progress = 1; } } return if not $do_progress; print "\r" . (' ' x $clear_length) . "\r"; print $msg; $clear_length = length($msg); } } sub debug { my ($level, $msg) = @_; return if not defined $Conf->{verbose} or $level > $Conf->{verbose}; my $now = [gettimeofday()]; my $diff_baseline = tv_interval($time_baseline, $now); my $diff_last = tv_interval($time_since_last, $now); $time_since_last = $now; print STDERR sprintf("D: <%.3fs> [%.3fs] ($$) %s\n", $diff_baseline, $diff_last, $msg); } sub debug_line($) { return if !defined $Conf->{verbose}; print STDERR shift; } sub reverse_hash($) { my $hash = shift; my $ret; foreach my $key ( keys %$hash ) { foreach ( @{ $hash->{$key} } ) { push @{ $ret->{$_} }, $key; } } return $ret; } sub fetch_files ($) { my @cmd = ('apt', @apt_options, 'update'); $cmd[0] = 'apt-get' if not -t STDOUT; debug(1, "Running @cmd"); exec(@cmd); } sub print_winners ($$) { my ( $db, $matchfname ) = @_; my $filtered_db; if ($matchfname) { # Everything is a match $filtered_db = $db; } else { tty_human_status('Filtering matches ...'); # $db is a hash from package name to array of file names. It # is a superset of the matching cases, so first we filter this # by the real pattern. $filtered_db = {}; foreach my $key ( keys %$db ) { if ( $key =~ /$Conf->{pattern}/ ) { $filtered_db->{$key} = $db->{$key}; } } } tty_human_status(''); if (not $filtered_db or not %{$filtered_db}) { debug(1, 'No matches'); exit RETURN_CODE_NO_RESULTS; } # Now print the winners if ( !defined $Conf->{package_only} ) { foreach my $key ( sort keys %$filtered_db ) { foreach ( uniq sort @{ $filtered_db->{$key} } ) { print "$key: $_\n"; } } } else { print map {"$_\n"} ( sort keys %$filtered_db ); } exit 0; } sub start_pipe_to_cmd { my ($sub_proc_write_end, @cmd) = @_; my ($read_end, $our_write_end, $pid); my $parser_pid = $$; pipe($read_end, $our_write_end) or error("pipe failed: $!"); $pid = fork() // error("fork failed: $!"); if (not $pid) { open(STDIN, '>&', $read_end); open(STDOUT, '>&', $sub_proc_write_end) or error("fdup stdout failed: $!"); close($our_write_end) or error("close write end of pipe: $!"); debug(1, "Starting " . join(' ', @cmd)); exec {$cmd[0]} @cmd or error('exec ' . join(' ', @cmd) . " failed: $!"); } close($read_end) or error("close write end of pipe: $!"); close($sub_proc_write_end) or error("close unneeded write end of pipe: $!"); return ($our_write_end, $pid); } sub open_data_pipeline { my ($file_list) = @_; my ($read_end, $write_end, $pid); my $remove_header = $_config->get_bool(CONFIG_SEARCH_PARSER_DESC_HEADER, 0); pipe($read_end, $write_end) or error("pipe failed: $!"); $pid = fork() // error("fork failed: $!"); if (not $pid) { my ($to_cat, $dead_pid, $failed_cmd, $cat_pid, $sed_pid, %pid_table); my $sub_proc_error = 0; my $grep_pattern = $Conf->{grep_pattern} // '.'; my @cat_cmd = ( 'xargs', '-0r', '/usr/lib/apt/apt-helper', @apt_options, 'cat-file' ); my @sed_cmd = ( 'sed', '/^This file maps each file available/,/^FILE *LOCATION$/d' ); close($read_end) or error("Close read end of pipeline: $!"); if ($grep_pattern ne '.' and not $Conf->{is_regexp}) { my ($grep_pid); my @grep_cmd = ('fgrep'); push(@grep_cmd, '-i') if $Conf->{ignore_case}; if ($Conf->{from_file}) { push(@grep_cmd, '-f', $Conf->{zgrep_tmpfile}); } else { my $gp = $grep_pattern; $gp =~ s{^/}{}; push(@grep_cmd, '--', $gp); } delete $ENV{$_} foreach qw{GREP_OPTIONS GREP_COLOR POSIXLY_CORRECT GREP_COLORS}; ($write_end, $grep_pid) = start_pipe_to_cmd($write_end, @grep_cmd); $pid_table{$grep_pid} = { 'ignore-exit' => 1, 'cmd' => \@grep_cmd, }; } if ($remove_header) { debug(1, 'Using sed to remove header'); ($write_end, $sed_pid) = start_pipe_to_cmd($write_end, @sed_cmd); $pid_table{$sed_pid} = { 'cmd' => \@sed_cmd, }; } else { debug(1, 'Assuming there is no header in Contents to skip'); } ($to_cat, $cat_pid) = start_pipe_to_cmd($write_end, @cat_cmd); $pid_table{$cat_pid} = { 'cmd' => \@cat_cmd, }; debug(1, 'Starting to pass files'); for my $file (uniq(@{$file_list})) { debug(1, "Passing $file"); printf {$to_cat} "%s\0", $file; } debug(1, 'Closing input to cat'); close($to_cat) or error("close write end of xargs pipe: $!"); debug(1, 'Input closed, reaping completed children'); # We load POSIX here as it take ~0.010s and the children will # be vastly longer, so we can "hide" the load time here. require POSIX; do { $dead_pid = waitpid(-1, 0); if ($dead_pid > 0) { my $pid_info = $pid_table{$dead_pid}; my $is_issue = $?; if ($pid_info->{'ignore-exit'}) { # Only "killed by signal" counts in this case $is_issue = $? & 0x7F; } if ($is_issue and not $sub_proc_error) { $sub_proc_error = $?; $failed_cmd = join(' ', @{$pid_info->{'cmd'}}); } } } while ($dead_pid > 0); debug(1, 'Reaped children complete'); if (my $sig = ($sub_proc_error & 0x7f)) { warn("Command ${failed_cmd} was killed by signal ${sig}"); POSIX::_exit($sig); } if ($sub_proc_error) { my $retval = ($sub_proc_error >> 8) & 0xff; warn("Command ${failed_cmd} exited with code ${retval}"); POSIX::_exit($retval); } POSIX::_exit(0); } close($write_end) or error("close write end of pipe: $!"); return $read_end; } sub do_grep($$) { my ( $data, $pattern ) = @_; my ( $pkgs, $fname, @cmd, $ret); debug(1, "regexp: ${pattern}"); $| = 1; my $regexp = eval { $Conf->{ignore_case} ? qr/${pattern}/i : qr/${pattern}/ }; error($@) if $@; my $matches = 0; my $quick_regexp = escape_parens($regexp); my $fd = open_data_pipeline($data); debug(1, "Pipeline open, waiting for input"); while (<$fd>) { # faster, non-capturing search first next if !/$quick_regexp/o; next if !( ( $fname, $pkgs ) = /$regexp/o ); debug_line "."; foreach ( split /,/, $pkgs ) { # Put leading slash on file name push @{ $ret->{"/$fname"} }, basename $_; } if (++$matches % 10 == 0) { tty_human_status("Searching, found $matches results so far ..."); } } close($fd); debug_line "\n"; waitpid(-1, 0); if ($?) { error("A subprocess exited uncleanly (raw: $?)"); } debug(1, 'Read all input'); return reverse_hash($ret); } sub escape_parens { my $pattern = shift; # turn any capturing ( ... ) into non capturing (?: ... ) $pattern =~ s{ (?<! \\ ) # not preceded by a \ \( # ( (?! \? ) # not followed by a ? }{(?:}gx; return $pattern; } sub fix_regexp { my $pattern = shift; # If pattern starts with /, we need to match both ^pattern-without-slash # (which is put in $pattern) and ^.*pattern (put in $pattern2). # Later, they will be or'ed together. my $pattern2; if ( $pattern !~ s{(\$|\\[zZ])$}{} ) { # Not anchored at the end: $pattern = $pattern . '\S*'; } if ( $pattern =~ s{^(\^|\\A)/?}{} ) { # If pattern is anchored at the start, we're just not prefixing it # with .* after having removed ^ and / } else { if ( $pattern =~ m{^/} ) { # same logic as below, but the "/" is not escaped here $pattern2 = '.*?' . $pattern; $pattern = substr( $pattern, 1 ); } else { $pattern = '.*?' . $pattern; } } $pattern = escape_parens($pattern); $pattern2 = escape_parens($pattern2) if defined $pattern2; return ($pattern, $pattern2); } sub grep_file($) { my $data = shift; my $pattern = $Conf->{pattern}; tty_human_status("Searching through filenames ..."); # If pattern starts with /, we need to match both ^pattern-without-slash # (which is put in $pattern) and ^.*pattern (put in $pattern2). # Later, they will be or'ed together. my $pattern2; if ( $Conf->{is_regexp} ) { if (!$Conf->{from_file}) { ($pattern, $pattern2) = fix_regexp($pattern); } } elsif ( substr( $pattern, 0, 2 ) eq '\/' ) { if ( $Conf->{fixed_strings} ) { # remove leading / $pattern = substr( $pattern, 2 ); } else { # If pattern starts with /, match both ^pattern-without-slash # and ^.*pattern. $pattern2 = '.*?' . $pattern; $pattern = substr( $pattern, 2 ); } } else { $pattern = '.*?' . $pattern unless $Conf->{fixed_strings}; } if ( ! defined $Conf->{fixed_strings} && ! defined $Conf->{is_regexp} ) { $pattern .= '(?:.*[^\s])?'; $pattern2 .= '(?:.*[^\s])?' if defined $pattern2; } $pattern = "$pattern|$pattern2" if defined $pattern2; $pattern = '^(' . $pattern . ')\s+(\S+)\s*$'; my $ret = do_grep $data, $pattern; print_winners $ret, 1; } sub grep_package($) { my $data = shift; my $pkgpat = $Conf->{pattern}; tty_human_status("Searching for contents of the packages ..."); if ( $Conf->{is_regexp} ) { if ( $pkgpat !~ s{^(\^|\\A)}{} ) { $pkgpat = '\S*' . $pkgpat; } if ( $pkgpat !~ s{(\$|\\[zZ])$}{} ) { $pkgpat = $pkgpat . '\S*'; } $pkgpat = escape_parens($pkgpat); } elsif ($Conf->{fixed_strings}) { $pkgpat = $Conf->{pattern}; } else { $pkgpat = '\S*' . $Conf->{pattern}; } # File name may contain spaces, so match template is # ($fname, $pkgs) = (line =~ '^\s*(.*?)\s+(\S+)\s*$') my $pattern = join "", ( '^\s*(.*?)\s+', '((?:\S*[,/])?', $pkgpat, defined $Conf->{fixed_strings} || defined $Conf->{regexp} ? '(?:,\S*|)' : '\S*', ')\s*$', ); my $ret = do_grep $data, $pattern; print_winners $ret, 0; } sub list_indices { my $iter = AptPkg::Config::Iter->new($_config); my @indices; my @headers = ( { header => 'Index Name (-I)', key => 'name' }, { header => 'DefaultEnabled (Apt config)', key => 'default-enabled', }, { header => 'Index Status', key => 'cache-lookup', }, ); my @len = map { length($_->{header}) } @headers; my ($results, $entries, %files_by_index); tty_human_status('Computing index status ...'); ($results, $entries) = lookup_indices(['ALL'], [], [], []); if ($results == RETURN_CODE_SUCCESS) { for my $entry (@{$entries}) { $files_by_index{$entry->{'index'}}++; } } while (defined(my $key = $iter->next)) { my ($type, $index_name) = @_; my $cache_status = 'Ok'; next if $key !~ m/^Acquire::IndexTargets::(deb|deb-src)::Contents-([^: \t]+)$/; ($type, $index_name) = ($1, $2); my $index = { 'name' => $index_name, 'type' => $type, 'key' => $key, 'default-enabled' => ($_config->{"${key}::DefaultEnabled"} // '<unset>'), 'fallback-of' => $_config->{"${key}::Fallback-Of"}, }; # Hide fallback-of entries. next if $index->{'fallback-of'}; if (exists($files_by_index{$index_name})) { $cache_status = 'Ok'; } elsif ($results == RETURN_CODE_SUCCESS || $results == RETURN_CODE_CACHE_IS_EMPTY || $results == RETURN_CODE_CACHE_NO_MATCHING_INDICES) { my $code = $results; if ($code == RETURN_CODE_SUCCESS) { $code = RETURN_CODE_CACHE_NO_MATCHING_INDICES; } $cache_status = "Empty (code: $code)"; } else { $cache_status = "Error (code: $results)"; } $index->{'cache-lookup'} = $cache_status; for my $i (0..$#headers) { my $header = $headers[$i]; my $value = $index->{$header->{'key'}}; $len[$i] = length($value) if length($value) > $len[$i]; } push(@indices, $index); } debug(1, 'All information collected; creating table'); my $row_delimit = sprintf("+-%s-+", join('-+-', map { '-' x $len[$_] } (0..$#headers))); tty_human_status(''); printf("%s\n", $row_delimit); printf("| %s |\n", join(' | ', map { sprintf("%-*s", $len[$_], $headers[$_]{'header'}) } (0..$#headers))); printf("%s\n", $row_delimit); for my $index (@indices) { my $name = $index->{'name'}; my $type = $index->{'type'}; my $key = $index->{'key'}; my $enabled = $_config->{"${key}::DefaultEnabled"} // '<unset>'; printf("| %s |\n", join(' | ', map { sprintf("%-*s", $len[$_], $index->{$headers[$_]{'key'}}) } (0..$#headers))); } printf("%s\n", $row_delimit); debug(1, 'Finished writing table'); } sub print_help { my $err_code = shift || 0; print <<"EOF"; apt-file [options] action [pattern] apt-file [options] -f action <file> apt-file [options] -D action <debfile> Pattern options: ================ --fixed-string -F Do not expand pattern --from-deb -D Use file list of .deb package(s) as patterns; implies -F --from-file -f Read patterns from file(s), one per line (use '-' for stdin) --ignore-case -i Ignore case distinctions --regexp -x pattern is a regular expression --substring-match pattern is a substring (no glob/regex) Search filter options: ====================== --architecture -a <arch> Use specific architecture [L] --index-names -I <names> Only search indices listed in <names> [L] --filter-suites <suites> Only search indices for the listed <suites> [L] (E.g. "unstable") --filter-origins <origins> Only search indices from <origins> [L] (E.g. "Debian") Other options: ============== --config -c <file> Parse the given APT config file [R] --option -o <A::B>=<V> Set the APT config option A::B to "V" [R] --package-only -l Only display packages name --verbose -v run in verbose mode [R] --help -h Show this help. -- End of options (necessary if pattern starts with a '-') [L]: Takes a comma-separated list of values. [R]: The option can be used repeatedly Action: list|show <pattern> List files in packages list-indices List indices configured in APT. search|find <pattern> Search files in packages update Fetch Contents files from apt-sources. EOF exit $err_code; } sub get_options() { my %options = ( "architecture|a=s" => \$Conf->{arch}, "index-names|I=s" => sub { $_config->set(CONFIG_SEARCH_INDEX_NAMES, $_[1]) }, "verbose|v+" => \$Conf->{verbose}, "ignore-case|i" => \$Conf->{ignore_case}, "regexp|x" => \$Conf->{is_regexp}, "substring-match" => \$Conf->{substring_match}, "package-only|l" => \$Conf->{package_only}, "fixed-string|F" => \$Conf->{fixed_strings}, "from-file|f" => \$Conf->{from_file}, "from-deb|D" => \$Conf->{from_deb}, 'filter-suites=s' => sub { _set_option('in-suites', CONFIG_SEARCH_FILTER_SUITES, $_[1]); }, 'filter-origins=s' => sub { _set_option('from-origin', CONFIG_SEARCH_FILTER_ORIGINS, $_[1]); }, 'config-file|c=s@' => \&_parse_apt_config_file, 'option|o=s@' => \&_parse_apt_option, "help|h" => \$Conf->{help}, ); Getopt::Long::Configure("bundling"); GetOptions(%options) || print_help(RETURN_CODE_GENERIC_ERROR); } sub _set_option { my ($option_name, $apt_option_name, $value) = @_; $_config->set($apt_option_name, $value); debug(1, "Set ${apt_option_name} to ${value} (due to --${option_name})"); } sub _parse_apt_config_file { my (undef, $conf_file) = @_; if ( -d $conf_file) { print STDERR <<EOF; You passed a directory to -c but apt-file (now) expects a file. The "-c" option is now short for "--config-file" and parses an APT config file. It /used/ to be the option for specifying a custom "cache-dir", but support for these were retired in apt-file 3. If you need the cache-dir feature, please create an APT config file that makes APT use the desired cache dir directory. (The man page has an example to get you started.) EOF error("Please pass an APT config file after -c/--config-file"); } debug(1, "Parsed $conf_file (due to --config-file)"); $_config->read_file($conf_file) or error("Cannot parse ${conf_file}"); push(@apt_options, '-c', $conf_file); return; } sub _parse_apt_option { my (undef, $option_str) = @_; my ($opt_name, $opt_value) = split(m/=/, $option_str, 2); if (not defined($opt_value)) { if ($opt_name =~ m/ /) { my ($n, $v) = split(m/ /, $opt_name); warning("Did you perhaps intend to use -o \"${n}=${v}\"?"); } error("Missing value for ${opt_name}: Expected -o \"Foo::Bar=value\""); } $_config->set($opt_name, $opt_value); debug(1, "Parsed set ${opt_name} to ${opt_value} (due to --option)"); push(@apt_options, '-o', $option_str); return; } sub main { my ($action, $is_search, @arch_res, @index_names, @origins, @suites); $_config->init; if (@ARGV and ($ARGV[0] eq '-v' or $ARGV[0] eq '--verbose')) { # To enable debug for the apt-file.conf shift(@ARGV); $Conf->{verbose} = 1; } if (my $apt_file_conf = $_config->get_file('Dir::Etc::apt-file-main')) { debug(1, "Dir::Etc::apt-file-main is set to $apt_file_conf"); if ( -l $apt_file_conf or -e $apt_file_conf) { debug(1, "Reading ${apt_file_conf}"); $_config->read_file($apt_file_conf) or error("Cannot parse ${apt_file_conf}"); push(@apt_options, '-c', $apt_file_conf); } else { debug(1, "The file ${apt_file_conf} does not exist"); } } else { debug(1, "Dir::Etc::apt-file-main was not set"); } get_options(); @arch_res = split(m/\s*,\s*/, $Conf->{arch} || $_config->{'APT::Architecture'}); @suites = split(m/\s*,\s*/, $_config->get(CONFIG_SEARCH_FILTER_SUITES) // ''); @origins = split(m/\s*,\s*/, $_config->get(CONFIG_SEARCH_FILTER_ORIGINS) // ''); if (none { $_ eq 'all' } @arch_res) { # Automatically support that arch:all contents move to a # separate file" push(@arch_res, 'all'); } @suites = () if (any { $_ eq '*' } @suites); @origins = () if (any { $_ eq '*' } @origins); @index_names = split(m/\s*,\s*/, $_config->get(CONFIG_SEARCH_INDEX_NAMES, 'deb')); if (@index_names > 1 and any { $_ eq 'ALL' } @index_names) { @index_names = ('ALL'); } $action = shift(@ARGV) // 'none'; if ($Conf->{fixed_strings} and $Conf->{is_regexp}) { error('Cannot use -F together with -x'); } if ($Conf->{fixed_strings} and $Conf->{substring_match}) { error('Cannot use -F together with --substring-match'); } if ($Conf->{is_regexp} and $Conf->{substring_match}) { error('Cannot use -x together with --substring-match'); } if ($action =~ m/^(?:search|find|list|show)$/) { $is_search = 1; if (not defined($Conf->{substring_match}) and not $Conf->{fixed_strings} and not $Conf->{is_regexp}) { debug(1, 'substring match (default)'); $Conf->{fixed_strings} = 1 if $action eq 'list' or $action eq 'show'; } } if ($Conf->{from_file} || $Conf->{from_deb}) { require Regexp::Assemble; my $ra = Regexp::Assemble->new; my @list; if ($Conf->{from_deb}) { $Conf->{from_file} = 1; $Conf->{fixed_strings} = 1; $Conf->{is_regexp} = 0; debug(1, "this is a .deb file, calling dpkg-deb to get contents"); my @content; foreach my $deb (@ARGV) { push @content, qx{dpkg-deb -c \Q$deb}; if ($? != 0) { error("Couldn't get contents from $deb"); } } foreach my $line (@content) { next if $line =~ m{/$}; # skip dirs my @fields = split(/\s+/, $line); my $filename = $fields[5]; $filename =~ s{^\.}{}; push @list, "$filename\n"; } } else { # normal text files # - assume "STDIN" if no arguments are given. push @ARGV, '-' unless @ARGV; foreach my $file (@ARGV) { if ($file eq '-') { push @list, <STDIN>; next; } open(my $fh, '<', $file) or error("Cannot open $file: $!"); push @list, <$fh>; close($fh); } } if ($Conf->{is_regexp}) { foreach my $line (@list) { chomp $line; my ($p1, $p2) = fix_regexp($line); $ra->add($p1); $ra->add($p2) if defined $p2; } } else { # create tmpfile for zgrep with patterns that have leading slash removed require File::Temp; my @zgrep_list = @list; map { s{^/}{} } @zgrep_list; my $tmpfile = File::Temp->new(); print $tmpfile @zgrep_list; $tmpfile->flush(); $Conf->{zgrep_tmpfile} = $tmpfile; # create actual search pattern @list = map {quotemeta} @list; $ra->add(@list); } $Conf->{pattern} = $ra->as_string(indent => 0); } else { $Conf->{pattern} = shift @ARGV; if (defined($Conf->{pattern}) and not $Conf->{is_regexp}) { my $pattern = $Conf->{pattern}; $Conf->{grep_pattern} = $pattern; $pattern = quotemeta($pattern); $Conf->{pattern} = $pattern; } } undef $!; my $actions = { update => \&fetch_files, search => \&grep_file, find => \&grep_file, list => \&grep_package, show => \&grep_package, 'list-indices' => \&list_indices, }; if ($Conf->{help}) { print_help(); } if ($is_search && not defined($Conf->{pattern})) { print_help(RETURN_CODE_GENERIC_ERROR); } my $action_handler = $actions->{$action}; if (not defined($action_handler)) { print_help(RETURN_CODE_GENERIC_ERROR); } if ($is_search) { tty_human_status('Finding relevant cache files to search ...'); my @contents = contents_file_paths(\@index_names, \@arch_res, \@suites, \@origins, ); $action_handler->(\@contents); } else { $action_handler->(); } } sub lookup_indices { my ($index_names, $arch_res, $suite_ref, $origin_ref) = @_; my (@cache_entries, $any_entries); my $any_index = 0; my $format = join("\x1F", '$(IDENTIFIER)', '$(ARCHITECTURE)', '$(ORIGIN)', '$(SUITE),$(CODENAME)', '$(FILENAME)'); my @cmd = ('apt-get', @apt_options, 'indextargets', '--format', $format); my $cmd_debug = join(' ', map { my $c = $_; $c =~ s/\x1F/\\x1F/g; "\"$c\"" } @cmd); my $debug_level = $Conf->{verbose} // 0; my $code = RETURN_CODE_SUCCESS; $any_index = 1 if @{$index_names} and $index_names->[0] eq 'ALL'; debug(1, 'Index restriction [name]: ' . join(' ', @{$index_names})); debug(1, 'Index restriction [arch]: ' . join(' ', @{$arch_res})); debug(1, 'Index restriction [suite]: ' . join(' ', @{$suite_ref})); debug(1, 'Index restriction [origin]: ' . join(' ', @{$origin_ref})); debug(1, "Running $cmd_debug"); open(my $fd, '-|', @cmd) or error('Cannot execute apt-get indextargets'); while (my $line = <$fd>) { my ($index_name, $arch, $origin, $suite_names, $filename); chomp($line); next if $line !~ s/^Contents-//; $any_entries = 1; ($index_name, $arch, $origin, $suite_names, $filename) = split("\x1F", $line, 5); if ($debug_level > 1) { my $c = $line; $c =~ s/\x1F/\\x1F/g; debug(2, "Contents index [line]: $c"); debug(2, " - index identifier: $index_name"); debug(2, " - architecture: $arch"); debug(2, " - origin: $origin"); debug(2, " - suite/codenames: $suite_names"); debug(2, " - filename: $filename"); } if ($arch ne '$(ARCHITECTURE)' and @{$arch_res}) { next if none { $_ eq $arch } @{$arch_res}; } next if not $any_index and none { $_ eq $index_name } @{$index_names}; if (@{$suite_ref}) { my ($codename, $suite) = split(m/,/, $suite_names); next if none { $_ eq $codename or $_ eq $suite } @{$suite_ref}; } next if @{$origin_ref} and none { $_ eq $origin } @{$origin_ref}; push(@cache_entries, { 'path' => $filename, 'index' => $index_name, }); } debug(1, "Finished reading output from $cmd_debug"); close($fd); if (not @cache_entries) { if (not $any_entries) { $code = RETURN_CODE_CACHE_IS_EMPTY; } else { $code = RETURN_CODE_CACHE_NO_MATCHING_INDICES; } } return ($code, \@cache_entries); } sub contents_file_paths { my ($res, $entries) = lookup_indices(@_); if ($res != RETURN_CODE_SUCCESS) { if ($res == RETURN_CODE_CACHE_IS_EMPTY) { stop_with_msg('The cache is empty. You need to run "apt-file update" first.', RETURN_CODE_CACHE_IS_EMPTY); } if ($res == RETURN_CODE_CACHE_NO_MATCHING_INDICES) { stop_with_msg('No Contents in the cache with the given restrictions', RETURN_CODE_CACHE_NO_MATCHING_INDICES); } stop_with_msg('Unknown / unexpected error returned when looking up indices.', 255); } return map { $_->{'path'} } @{$entries}; } eval { main(); exit(0); }; if (my $err = $@) { stop_with_message($err, 255); } __END__ # our style is roughly "perltidy -pbp" # vim:sts=4:sw=4:expandtab
Close