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.17.152
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 : podebconf-report-po
#!/usr/bin/perl -w # podebconf-report-po, Send outdated debconf PO files to the last translator # Copyright (C) 2004-2006 Fabio Tranchitella <kobold@kobold.it> # Denis Barbier <barbier@debian.org> # Copyright (C) 2007-2008 Nicolas François <nicolas.francois@centraliens.net> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Library General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # ## Release information my $PROGRAM = "podebconf-report-po"; my $VERSION = "0.14"; ## Loaded modules, require libmail-sendmail-perl use strict; my $no_zlib = 0; eval q{use Compress::Zlib;}; if ($@) { $no_zlib = 1; eval q{ sub Compress::Zlib::memGzip { return shift; } }; } my $no_encode = 0; eval q{use Encode;}; if ($@) { $no_encode = 1; } use MIME::Base64; use MIME::QuotedPrint; use Getopt::Long; use POSIX; use File::Temp 'tempfile'; use Cwd 'abs_path'; ## Global variables my $CONF_ARG; if (-e $ENV{'HOME'}."/.podebconf-report-po.conf") { $CONF_ARG = $ENV{'HOME'}."/.podebconf-report-po.conf"; } my $NO_CONF; my $HELP_ARG = 0; my $VERSION_ARG = 0; my $VERBOSE_ARG; my $NO_VERBOSE; my $SUBMIT_ARG = 0; my $FORCE_ARG; my $NO_FORCE; my $CALL; my $CALL_WITH_TRANSLATORS; my $CALL_WITHOUT_TRANSLATORS; my $POTFILE = ""; my $LANGS = ""; my $LANGUAGETEAM_ARG; my $NO_LANGUAGETEAM; my $SMTP_ARG; my $TEMPLATE_ARG; my $TEMPLATE_CALL; my $TEMPLATE_TRANSLATORS; my $TEMPLATE_SUBMIT; my $NO_TEMPLATE; my $DEFAULT_ARG; my $NO_DEFAULT; my $PACKAGE_ARG = ""; my $SUMMARY_ARG; my $NO_SUMMARY; my $FROM_ARG; my $BTS_ARG = ""; my $DEADLINE_ARG; my $NO_DEADLINE; my $PODIR_ARG = ""; my $GZIP_ARG; my $NO_GZIP; my $UTF8; my $NO_UTF8; my $MBOX = ""; my $MUTT = 0; my @ADDLANGUAGETEAM = (); my $SEND_MESSAGE = 0; my $NOT_DEBCONF = 0; my @TOPDIRS = qw{../.. .. .}; my $PODIR = ''; my $EDITOR = '/usr/bin/sensible-editor'; ## Default subjects (used if the specified template does not contain a ## Subject field). my $SUBJECT_TRANSLATOR; my $SUBJECT_SUBMIT; my $SUBJECT_CALL; my $SUBJECT = ''; my $BODY = ''; # Warnings may be deleted from screen when entering editor, # so display them when it is closed. my $warn = ''; ## Handle options GetOptions ( "conf=s" => \$CONF_ARG, "noconf" => \$NO_CONF, "help" => \$HELP_ARG, "version" => \$VERSION_ARG, "v|verbose" => \$VERBOSE_ARG, "noverbose" => \$NO_VERBOSE, "f|force" => \$FORCE_ARG, "noforce" => \$NO_FORCE, "podir=s" => \$PODIR_ARG, "smtp=s" => \$SMTP_ARG, "template=s" => \$TEMPLATE_ARG, "templatetranslators=s" => \$TEMPLATE_TRANSLATORS, "templatecall=s" => \$TEMPLATE_CALL, "templatesubmit=s" => \$TEMPLATE_SUBMIT, "notemplate" => \$NO_TEMPLATE, "default" => \$DEFAULT_ARG, "nodefault" => \$NO_DEFAULT, "gzip" => \$GZIP_ARG, "nogzip" => \$NO_GZIP, "langs=s" => \$LANGS, "languageteam" => \$LANGUAGETEAM_ARG, "nolanguageteam" => \$NO_LANGUAGETEAM, "addlanguageteam=s"=>\@ADDLANGUAGETEAM, "package=s" => \$PACKAGE_ARG, "deadline=s" => \$DEADLINE_ARG, "nodeadline" => \$NO_DEADLINE, "call:s" => \$CALL, "withtranslators" => \$CALL_WITH_TRANSLATORS, "withouttranslators" => \$CALL_WITHOUT_TRANSLATORS, "potfile=s" => \$POTFILE, "summary" => \$SUMMARY_ARG, "nosummary" => \$NO_SUMMARY, "from=s" => \$FROM_ARG, "bts=s" => \$BTS_ARG, "submit" => \$SUBMIT_ARG, "postpone=s" => \$MBOX, "mutt" => \$MUTT, "utf8" => \$UTF8, "noutf8" => \$NO_UTF8, "notdebconf" => \$NOT_DEBCONF, "sendmessage" => \$SEND_MESSAGE ) or &Help_InvalidOption; &Help_PrintVersion if $VERSION_ARG; &Help_PrintHelp if $HELP_ARG; eval q{use Mail::Sendmail;}; die "$PROGRAM: This program requires the libmail-sendmail-perl package.\n". "$PROGRAM: Aborting!\n" if $@; # Check invalid set of options if ($LANGUAGETEAM_ARG && defined $CALL && not $CALL_WITH_TRANSLATORS) { die "In the --call mode, the --languageteam option is only valid if --withtranslators is specified.\n"; } ## Try to locate the PO directory if ($PODIR_ARG eq "") { my $dir = getcwd; if ($NOT_DEBCONF) { if ($dir =~ m/\/po$/) { $PODIR = "."; } elsif (-d "$dir/po") { $PODIR = "po"; } } else { if ($dir =~ m/\/po$/) { $PODIR = "."; } elsif (-d "$dir/debian/po") { $PODIR = "debian/po"; } elsif (-d "$dir/po") { $PODIR = "po"; } } } else { $PODIR = $PODIR_ARG; } die "Directory po not found, exiting!\n" if $PODIR eq ""; die "Wrong argument: $PODIR is not a directory!\n" unless -d $PODIR; ## Try to detect if it is a debconf template translation unless ($NOT_DEBCONF) { my $dir = abs_path($PODIR); if ($dir =~ m/\/po$/ and $dir !~ m/\/debian\/po$/) { $NOT_DEBCONF = 1; } } ## Define the default subjects (if not set in the template) if ($NOT_DEBCONF) { $SUBJECT_TRANSLATOR = "<package_and_version>: Please update the PO translation for the package <package>"; $SUBJECT_SUBMIT = "PO translations for the package <package> are outdated"; $SUBJECT_CALL = "<package_and_version>: Please translate the package <package>"; } else { $SUBJECT_TRANSLATOR = "<package_and_version>: Please update debconf PO translation for the package <package>"; $SUBJECT_SUBMIT = "debconf PO translations for the package <package> are outdated"; $SUBJECT_CALL = "<package_and_version>: Please translate debconf PO for the package <package>"; } my $conf = ""; unless ($NO_CONF or !defined $CONF_ARG) { open (CNF, "< $CONF_ARG") or die ("Couldn't read $CONF_ARG: $!\nExiting!\n"); while (<CNF>) { $conf .= $_; } close(CNF) or die ("Couldn't close $CONF_ARG: $!\nExiting!\n"); $conf =~ s/^\s*#.*$//m; $conf =~ s/\s*$//m; } if ($conf =~ m/^smtp\s*(?:\s|=)\s*(.*)$/m) { $SMTP_ARG = $1; } elsif (!defined $SMTP_ARG) { $SMTP_ARG = ""; } if (defined $FROM_ARG) { # Use the from parameter from the command line } elsif ($conf =~ m/^from\s*(?:\s|=)\s*(.*)$/m) { $FROM_ARG = $1; } elsif (!defined $FROM_ARG) { # This part comes from devscripts' bts if ($ENV{'DEBEMAIL'} || $ENV{'EMAIL'}) { my ($email, $name); if (exists $ENV{'DEBFULLNAME'}) { $name = $ENV{'DEBFULLNAME'}; } if (exists $ENV{'DEBEMAIL'}) { $email = $ENV{'DEBEMAIL'}; if ($email =~ /^(.*?)\s+<(.*)>\s*$/) { $name ||= $1; $email = $2; } } if (exists $ENV{'EMAIL'}) { if ($ENV{'EMAIL'} =~ /^(.*?)\s+<(.*)>\s*$/) { $name ||= $1; $email ||= $2; } else { $email ||= $ENV{'EMAIL'}; } } if (! $name) { # Perhaps not ideal, but it will have to do $name = (getpwuid($<))[6]; $name =~ s/,.*//; } $FROM_ARG = $name ? "$name <$email>" : $email; } else { # We will try below to use the Maintainer: control field $FROM_ARG = ""; } } if (defined $NO_VERBOSE) { $VERBOSE_ARG = 0; } elsif ($conf =~ m/^verbose$/m) { $VERBOSE_ARG = 1; } elsif (!defined $VERBOSE_ARG) { $VERBOSE_ARG = 0; } if (defined $NO_FORCE) { $FORCE_ARG = 0; } elsif ($conf =~ m/^force$/m) { $FORCE_ARG = 1; } elsif (!defined $FORCE_ARG) { $FORCE_ARG = 0; } if (defined $NO_TEMPLATE) { $TEMPLATE_ARG = ""; } elsif ($conf =~ m/^template\s*(?:\s|=)\s*(.*)$/m) { $TEMPLATE_ARG = $1; } elsif (!defined $TEMPLATE_ARG) { $TEMPLATE_ARG = ""; } if (defined $TEMPLATE_TRANSLATORS) { # Command line has the highest priority } elsif ($conf =~ m/^templatetranslators\s*(?:\s|=)\s*(.*)$/m) { $TEMPLATE_TRANSLATORS = $1; } else { if ($NOT_DEBCONF) { $TEMPLATE_TRANSLATORS ="/usr/share/po-debconf/templates/translators-po"; } else { $TEMPLATE_TRANSLATORS ="/usr/share/po-debconf/templates/translators"; } } if (defined $TEMPLATE_SUBMIT) { # Command line has the highest priority } elsif ($conf =~ m/^templatesubmit\s*(?:\s|=)\s*(.*)$/m) { $TEMPLATE_SUBMIT = $1; } else { $TEMPLATE_SUBMIT ="/usr/share/po-debconf/templates/submit"; } if (defined $TEMPLATE_CALL) { # Command line has the highest priority } elsif ($conf =~ m/^templatecall\s*(?:\s|=)\s*(.*)$/m) { $TEMPLATE_CALL = $1; } else { if ($NOT_DEBCONF) { $TEMPLATE_CALL ="/usr/share/po-debconf/templates/call-po"; } else { $TEMPLATE_CALL ="/usr/share/po-debconf/templates/call"; } } if ($TEMPLATE_ARG ne "") { $TEMPLATE_TRANSLATORS = $TEMPLATE_ARG; $TEMPLATE_SUBMIT = $TEMPLATE_ARG; $TEMPLATE_CALL = $TEMPLATE_ARG; } if (defined $NO_DEFAULT) { $DEFAULT_ARG = 0; } elsif ($conf =~ m/^default$/m) { $DEFAULT_ARG = 1; } elsif (!defined $DEFAULT_ARG) { $DEFAULT_ARG = 0; } if (defined $NO_GZIP) { $GZIP_ARG = 0; } elsif ($conf =~ m/^gzip$/m) { $GZIP_ARG = 1; } elsif (!defined $GZIP_ARG) { $GZIP_ARG = 0; } if (defined $NO_DEADLINE) { undef $DEADLINE_ARG; } elsif (defined $DEADLINE_ARG) { # Use the specified deadline } elsif ($conf =~ m/^nodeadline$/m) { undef $DEADLINE_ARG; } elsif ($conf =~ m/^deadline\s*(?:\s|=)\s*(.*)$/m) { $DEADLINE_ARG = $1; } else { print " You should specify a deadline to help translators organize their work. This deadline is usually the date you are planning to make the next release (or the day before). Deadline? [+10days] "; chomp($DEADLINE_ARG = <STDIN>); # The default deadline is +10days if ($DEADLINE_ARG eq "") { $DEADLINE_ARG = "+10days"; } } if (defined $NO_LANGUAGETEAM) { $LANGUAGETEAM_ARG = 0; } elsif (defined $LANGUAGETEAM_ARG) { $LANGUAGETEAM_ARG = 1; } elsif ($conf =~ m/^languageteam$/m) { $LANGUAGETEAM_ARG = 1; } elsif ($conf =~ m/^nolanguageteam$/m) { $LANGUAGETEAM_ARG = 0; } else { $LANGUAGETEAM_ARG = 1; } while ($conf =~ m/^addlanguageteam\s*(?:\s|=)\s*(.*)$/gm) { push @ADDLANGUAGETEAM, $1; } if (defined $NO_SUMMARY) { $SUMMARY_ARG = 0; } elsif ($conf =~ m/^summary$/m) { $SUMMARY_ARG = 1; } elsif (!defined $SUMMARY_ARG) { $SUMMARY_ARG = 0; } if (defined $NO_UTF8) { $UTF8 = 0; } elsif ($conf =~ m/^utf8$/m) { $UTF8 = 1; } elsif (!defined $UTF8) { $UTF8 = 0; } if (defined $CALL_WITHOUT_TRANSLATORS) { $CALL_WITH_TRANSLATORS = 0; } elsif (defined $CALL_WITH_TRANSLATORS) { $CALL_WITH_TRANSLATORS = 1; } elsif ($conf =~ m/^withtranslators$/m) { $CALL_WITH_TRANSLATORS = 1; } elsif ($conf =~ m/^withouttranslators$/m) { $CALL_WITH_TRANSLATORS = 0; } else { # The default. (it will be removed when not in --call mode) $CALL_WITH_TRANSLATORS = 1; } # Disable --withtranslators if no call for translations are requested with # --call. $CALL_WITH_TRANSLATORS = 0 unless defined $CALL; if ($no_encode and $UTF8) { $warn .= "--utf8 requires the Encode perl module. ". "Turning this option off.\n"; $UTF8 = 0; } if ($MUTT) { $MBOX = qx/mutt -Q postponed/; if ($MBOX =~ m/^postponed="(.*)"$/) { $MBOX = $1; } else { $MBOX = $ENV{'HOME'}."/postponed"; warn "Could not find mutt's postpone mailbox with ". " 'mutt -Q postponed'. Using $MBOX."; } } ## Try to find default editor $EDITOR = $ENV{'EDITOR'} if exists($ENV{'EDITOR'}); $EDITOR = $ENV{'VISUAL'} if exists($ENV{'VISUAL'}); if ($no_zlib && $GZIP_ARG) { $warn .= "Warning: This program requires the libcompress-zlib-perl package in order\n". " to support the --gzip flag, but it is not installed.\n". " PO files will not be compressed!\n\n"; $GZIP_ARG = 0; } if ($POTFILE eq "") { opendir(DIR, $PODIR); foreach my $potFile (grep(/\.pot$/, readdir(DIR))) { if (length $POTFILE) { die "Too many pot file found.\n". "Please specify one with the --potfile option.\n"; } $POTFILE = $potFile; } closedir(DIR); opendir(DIR, $PODIR); if (length $POTFILE) { print "Using $POTFILE for the call for translation\n"; } else { warn "No POT file found. You should specify one with the ". "--potfile option, or specify in the mail how to ". "retrieve it." } closedir(DIR); } ## Try to find the maintainer e-mail address and the package name # Package version my $PKG_VERSION = "N/A"; # Expanded into "<package> <version>" if version is found, <package> otherwise my $PACKAGE_AND_VERSION = ""; if ($PACKAGE_ARG =~ s/_(.*)//) { $PKG_VERSION = $1; } if ($PACKAGE_ARG eq "" or $FROM_ARG eq "") { my $CONTROL = ''; foreach my $d (@TOPDIRS) { $CONTROL = "$d/debian/control" if (-f "$d/debian/control"); } if ($CONTROL eq '') { foreach my $d (@TOPDIRS) { $CONTROL = "$d/debian/control.in" if (-f "$d/debian/control.in"); } } if (-f $CONTROL) { ## Only read the first stanza local $/ = "\n\n"; open (CNTRL, "< $CONTROL") or die "Unable to read $CONTROL: $!\n"; my $text = <CNTRL>; close (CNTRL) or die "Unable to close $CONTROL: $!\n"; if ($PACKAGE_ARG eq "" && $text =~ m/^Source: (.*)/m) { $PACKAGE_ARG = $1; } if ($FROM_ARG eq "" && $text =~ m/^Maintainer: (.*)/m) { $FROM_ARG = $1; } } } if ($PKG_VERSION eq "N/A") { my $CHANGELOG = ''; foreach my $d (@TOPDIRS) { $CHANGELOG = "$d/debian/changelog" if (-f "$d/debian/changelog"); } if (-f $CHANGELOG) { # Version information is not vital, do not abort # if it cannot be retrieved. if (open (CHG, "< $CHANGELOG")) { while (<CHG>) { if (m/^$PACKAGE_ARG\s+\((.*)\)\s/) { $PKG_VERSION = $1; } last if m/^ --/; } } close (CHG); } } if ($PKG_VERSION eq 'N/A' and $PACKAGE_ARG eq '') { # Try to read the PACKAGEand VERSION from the .pot file Verbose("PODIR: $PODIR"); Verbose("POTFILE: $POTFILE"); my $content = &ReadFile($PODIR . "/" . $POTFILE); $content =~ m/\n"Project-Id-Version:\s*([^"]*)\s*\\n"\n/i; my $package_and_version = $1; if ($package_and_version =~ m/^(.+)\s+(.+?)$/i) { $PACKAGE_ARG = $1; $PKG_VERSION = $2; } else { $PACKAGE_ARG = $package_and_version; } } $PACKAGE_AND_VERSION = $PACKAGE_ARG . ($PKG_VERSION ne 'N/A' ? " ".$PKG_VERSION : ""); Verbose("Package: $PACKAGE_ARG"); Verbose("Version: $PKG_VERSION"); Verbose("Maintainer: $FROM_ARG"); # If the specified deadline starts with a '+', it is an offset from now. if ($DEADLINE_ARG =~ m/^\+/) { my $cmd = "LC_ALL=C date -R -d \"$DEADLINE_ARG\""; $DEADLINE_ARG = qx/$cmd/; if ($? != 0) { die "podebconf-report-po: failed to execute '$cmd': $!.\n"; } chomp $DEADLINE_ARG; } if ($DEADLINE_ARG ne "") { $DEADLINE_ARG = "\n\nThe deadline for receiving the updated translation is\n$DEADLINE_ARG."; } my $REPLY = ''; if ($BTS_ARG =~ m/^\d+$/) { $BTS_ARG .= "\@bugs.debian.org"; $REPLY = "Please respect the Reply-To: field and send your updated translation to\n$BTS_ARG."; } else { $REPLY = "Please send the updated file to me, or submit it as a wishlist bug\nagainst <package>."; } PREPARE_MAIL: if ($SUBMIT_ARG) { $BODY = &ReadFile($TEMPLATE_SUBMIT); $SUBJECT = $SUBJECT_SUBMIT; } elsif (defined $CALL) { $CALL="Debian Internationalization <debian-i18n\@lists.debian.org>" unless length $CALL; $BODY = &ReadFile($TEMPLATE_CALL); $SUBJECT = $SUBJECT_CALL; } else { $CALL=""; $BODY = &ReadFile($TEMPLATE_TRANSLATORS); $SUBJECT = $SUBJECT_TRANSLATOR; } ## Apply the values to the subject and to the body of the message $SUBJECT =~ s/<package>/$PACKAGE_ARG/g; $SUBJECT =~ s/<version>/$PKG_VERSION/g; $SUBJECT =~ s/<package_and_version>/$PACKAGE_AND_VERSION/g; ## Check every file with .po extension in $PODIR ... Verbose("Checking for PO files in $PODIR"); opendir(DIR, $PODIR); my $poFiles = {}; my $statistics = "language translated fuzzy untranslated\n". "-----------------------------------------------------\n"; if (defined $CALL and length $CALL) { foreach my $poFile (grep(/\.po$/, sort readdir(DIR))) { $poFiles->{$poFile} = {}; my $cmd = "LC_ALL=C /usr/bin/msgfmt -o /dev/null --stat $PODIR/$poFile 2>&1"; my $stats = qx/$cmd/; chomp $stats; my ($t, $f, $u) = ("", "", ""); my $lang = $poFile; $lang =~ s/\.po$//; if ($stats =~ s/^([0-9]+) translated message[s ,]*//) { $t = $1; } if ($stats =~ s/^([0-9]+) fuzzy translation[s ,]*//) { $f = $1; } if ($stats =~ s/^([0-9]+) untranslated message[s ,]*//) { $u = $1; } $statistics .= sprintf(" %-10s%10s %10s %10s\n", $lang, $t, $f, $u); } } else { foreach my $poFile (grep(/\.po$/, readdir(DIR))) { local $/ = "\n\n"; $poFiles->{$poFile} = {}; my $outdated = 0; my $found_header = 0; open (PO, "< $PODIR/$poFile") or die "Unable to read $PODIR/$poFile: $!\n"; while (<PO>) { if ($found_header == 0 && m/msgid ""\nmsgstr/s) { $found_header = 1; # Concatenate lines s/"\n"//g; if (m/\\nLast-Translator: (.*?)\\n/ && $1 ne 'FULL NAME <EMAIL@ADDRESS>') { $poFiles->{$poFile}->{translator} = $1; } else { $warn .= "Warning: $poFile: Unable to determine last translator. Skipping file!\n"; last; } if (m/\\nContent-Type: [^;]*; charset=(.*?)\\n/) { $poFiles->{$poFile}->{charset} = $1; } else { $warn .= "Warning: $poFile: Unable to determine charset. Skipping file!\n"; last; } if ($LANGUAGETEAM_ARG && m/\\nLanguage-Team: (.*?)\\n/) { $poFiles->{$poFile}->{team} = $1 if $1 ne 'LANGUAGE <LL@li.org>'; } my $lang = $poFile; $lang =~ s/\.po$//; if ($LANGUAGETEAM_ARG) { foreach my $lang_list (@ADDLANGUAGETEAM) { next unless ($lang_list =~ m/^$lang:(.*)$/); my $list = $1; my $list_addr = $1; $list_addr =~ s/^.*?<([^<>]*)>.*?$/$1/; $poFiles->{$poFile}->{team} = "" unless (defined $poFiles->{$poFile}->{team}); next if ($poFiles->{$poFile}->{team} =~ m/(^|<)\Q$list_addr\E(>|$)/); if (length $poFiles->{$poFile}->{team}) { $poFiles->{$poFile}->{team} .= ", "; } $poFiles->{$poFile}->{team} .= $list; } } next; } # Ignore outdated msgids next unless m/^msgid /m; # Check for fuzzy or missing translations s/\n+$//s; if (m/^#, .*fuzzy/m or m/\nmsgstr ""$/s) { $outdated = 1; last; } } if ($UTF8) { Encode::from_to($poFiles->{$poFile}->{translator}, $poFiles->{$poFile}->{charset}, "UTF-8"); Encode::from_to($poFiles->{$poFile}->{team}, $poFiles->{$poFile}->{charset}, "UTF-8"); } close (PO) or die "Unable to close $PODIR/$poFile: $!\n"; delete $poFiles->{$poFile} unless $outdated; } closedir(DIR); if (keys %$poFiles) { print "Outdated files: ".join(' ', keys %$poFiles)."\n"; } else { print "No outdated files\n"; exit(0); } } my %langs=(); foreach (split(",", $LANGS)) { $langs{$_.".po"} = 1; } my $filelist = ''; if ($SUBMIT_ARG or length $CALL) { $filelist = join(' ', sort keys %$poFiles)."\n"; } else { # Try to detect invalid emails. # This is very frequent for language teams. my $warn_invalid_email = 0; foreach my $poFile (sort keys %$poFiles) { if ($poFiles->{$poFile}->{translator} !~ /^(.*<)?[^@]+@[^@]+\.[A-Za-z]{2,4}>?$/) { $warn_invalid_email = 1; last; } if (defined($poFiles->{$poFile}->{team}) and $poFiles->{$poFile}->{team} !~ /^(.*<)?[^@]+@[^@]+\.[A-Za-z]{2,4}>?$/) { $warn_invalid_email = 1; last; } } if ($warn_invalid_email) { $filelist .= "#\n" ."# WARNING: Some email addresses seem to be invalid.\n" ."# You should remove them and inform the translators separately.\n" ."#\n"; } # Add the list of PO files. foreach my $poFile (sort keys %$poFiles) { $filelist .= '### '; $filelist .= '[' .((!%langs or $langs{$poFile})?'*':' '). '] '; $filelist .= $poFile . ': ' . $poFiles->{$poFile}->{translator}; $filelist .= ', ' . $poFiles->{$poFile}->{team} if defined($poFiles->{$poFile}->{team}); $filelist .= "\n"; } # Remove non-ASCII characters $filelist = DropNonASCII($filelist) unless ($UTF8); } $filelist =~ s/\n$//s; my %headers = (); OPEN_EDITOR: ReplaceTags(); $BODY = &OpenEditor($EDITOR, $BODY) if not $DEFAULT_ARG; ReplaceTags(); %headers = &ParseHeaders($BODY); my %To = &ParseTo($BODY); print STDERR $warn if $warn ne ''; my @mails = (); if ($SUBMIT_ARG) { my %mail = ( From => $FROM_ARG, To => "maintonly\@bugs.debian.org", Subject => $SUBJECT, 'X-Mail-Originator' => "$PROGRAM $VERSION" ); $mail{body} = encode_qp(&RemoveHeaders($BODY)); @mails = (\%mail); } elsif (length $CALL) { my %mail = ( From => $FROM_ARG, To => $CALL, Subject => $SUBJECT, 'X-Mail-Originator' => "$PROGRAM $VERSION" ); my $ext = ($GZIP_ARG ? '.gz' : ''); my $file = $POTFILE; my $content = &ReadFile($PODIR . "/" . $file); $content = Compress::Zlib::memGzip($content) if $GZIP_ARG; my $file_encoded = encode_base64($content); my $contentType = ($GZIP_ARG ? "application/octet-stream": "text/x-gettext; name=\"$file\"; charset=\"US-ASCII\""); my $boundary = "=" . time() . "="; $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; my $charset = $UTF8?"utf-8":"us-ascii"; my $body = &RemoveHeaders($BODY); $mail{body} = <<_EOF_; --$boundary Content-Type: text/plain; charset="$charset" Content-Transfer-Encoding: quoted-printable $body _EOF_ if ($SEND_MESSAGE) { $mail{body} .= <<_EOF_; --$boundary-- _EOF_ } else { $mail{body} .= <<_EOF_; --$boundary Content-Type: $contentType Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="$file$ext" $file_encoded --$boundary-- _EOF_ } @mails = (\%mail); } else { my $body = encode_qp(&RemoveHeaders($BODY)); my $ext = ($GZIP_ARG ? '.gz' : ''); foreach my $file (keys %$poFiles) { if (defined $To{$file}) { my $content = &ReadFile($PODIR . "/" . $file); $content = Compress::Zlib::memGzip($content) if $GZIP_ARG; my $file_encoded = encode_base64($content); my $contentType = ($GZIP_ARG ? "application/octet-stream" : "text/x-gettext; name=\"$file\"; charset=\"$poFiles->{$file}->{charset}\""); my %mail = ( From => $FROM_ARG, To => $To{$file}, Subject => $SUBJECT, 'X-Mail-Originator' => "$PROGRAM $VERSION" ); my $boundary = "=" . time() . "="; $mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\""; my $charset = $UTF8?"utf-8":"us-ascii"; $mail{body} = <<_EOF_; --$boundary Content-Type: text/plain; charset="$charset" Content-Transfer-Encoding: quoted-printable $body _EOF_ if ($SEND_MESSAGE) { $mail{body} .= <<_EOF_; --$boundary-- _EOF_ } else { $mail{body} .= <<_EOF_; --$boundary Content-Type: $contentType Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="$file$ext" $file_encoded --$boundary-- _EOF_ } push(@mails, \%mail); } } } # Add mail headers and remove non-ASCII characters foreach my $refmail (@mails) { foreach my $h (keys(%headers)) { if ($UTF8) { $refmail->{$h} = encode_qp($headers{$h}, ""); $refmail->{$h} =~ s/=$//m; $refmail->{$h} =~ s/(\S*=\S*)/=?utf-8?Q?$1?=/g; } else { $refmail->{$h} = &DropNonASCII($headers{$h}); } } foreach my $h (qw(From To Subject)) { if ($UTF8) { unless ($refmail->{$h} =~ m/=\?utf-8\?Q\?/) { $refmail->{$h} = encode_qp($refmail->{$h}, ""); $refmail->{$h} =~ s/=$//m; $refmail->{$h} =~ s/(\S*=\S*)/=?utf-8?Q?$1?=/g; } } else { $refmail->{$h} = &DropNonASCII($refmail->{$h}); } } $refmail->{smtp} = $SMTP_ARG if ($SMTP_ARG ne ''); } if (!$FORCE_ARG) { my $answers = ($DEFAULT_ARG)?"[y/N/?]":"[y/N/e/?]"; my $with_mutt = ""; $with_mutt = " (with mutt)" if $MUTT; QUESTION: print "The following files have been selected:\n"; foreach my $poFile (sort keys %$poFiles) { next unless defined $To{$poFile}; print " $poFile To: $To{$poFile}\n"; } print "End of files\n"; if ($SUBMIT_ARG) { print "Ready to send$with_mutt the bug report against the package $PACKAGE_ARG, are you sure? $answers "; } elsif (length $CALL) { print "Ready to send$with_mutt the call for translation to $CALL, are you sure? $answers "; } else { print "Ready to send$with_mutt the emails, are you sure? $answers "; } my $line = <>; chop $line; if ($line eq "e" or $line eq "E") { goto OPEN_EDITOR unless ($DEFAULT_ARG); } elsif ($line eq "?") { print "y send the mail(s).\n". "? display this help message.\n". ($DEFAULT_ARG?"":"e reopen the editor.\n"). "N exit, without sending mails.\n"; goto QUESTION; } exit(0) if ($line ne "Y" and $line ne "y"); } # Make Perl compiler quiet print $Mail::Sendmail::error . $Mail::Sendmail::error if 0; foreach my $mail (@mails) { if (defined $MBOX and length $MBOX) { Postpone($mail); } else { sendmail(%{$mail}) or print "Couldn't send the email: $Mail::Sendmail::error\n"; } } if ($SUMMARY_ARG and not $CALL) { my %summary = ( From => $FROM_ARG, To => $FROM_ARG, Subject => $SUBJECT, 'X-Mail-Originator' => "$PROGRAM $VERSION" ); $summary{body} = "List of outdated files:\n"; foreach my $poFile (sort keys %$poFiles) { $summary{body} .= ' ' . $poFile . ': ' . $poFiles->{$poFile}->{translator}; $summary{body} .= ', ' . $poFiles->{$poFile}->{team} if defined($poFiles->{$poFile}->{team}); $summary{body} .= "\n"; } $summary{body} .= "Translators received the mail below.\n\n"; $summary{body} .= encode_qp(&RemoveHeaders($BODY)); if (defined $MBOX and length $MBOX) { Postpone(\%summary); } else { sendmail(%summary) or print "Couldn't send the email: $Mail::Sendmail::error\n"; } } if ($MUTT) { if (system("mutt -p") >> 8 != 0) { die "Problem running mutt -p: $!\n"; } } if ($CALL_WITH_TRANSLATORS) { print "Now, prepare the mail for translators..."; undef $CALL; undef $CALL_WITH_TRANSLATORS; goto PREPARE_MAIL; } exit(0); ############################################################################### sub ReplaceTags { $BODY =~ s/<reply>/$REPLY/g; $BODY =~ s/<reply-to>/$BTS_ARG/g; $BODY =~ s/\n# Reply-To: \n/\n/; $BODY =~ s/<subject>/$SUBJECT/g; $BODY =~ s/<package>/$PACKAGE_ARG/g if ($PACKAGE_ARG ne ''); $BODY =~ s/<version>/$PKG_VERSION/g if ($PKG_VERSION ne ''); $BODY =~ s/<package_and_version>/$PACKAGE_AND_VERSION/g if ($PACKAGE_AND_VERSION ne ''); $BODY =~ s/<from>/$FROM_ARG/g; $BODY =~ s/\n<deadline>/$DEADLINE_ARG/g; $BODY =~ s/<statistics>\n/$statistics/g; $BODY =~ s/<filelist>/$filelist/g; } sub OpenEditor { my $editor = shift; my $body = shift; my $opts = ""; my ($fh, $tmpnam) = tempfile("podebconf-report-po.mail.tmp.XXXXXX", UNLINK => 0, TMPDIR => 1); print $fh $body; close($fh) or die ("Couldn't close $tmpnam: $!\nExiting!\n"); $opts = "-f" if ($editor eq "vim"); system("$editor $opts $tmpnam"); $body = &ReadFile($tmpnam) if (-f $tmpnam); unlink($tmpnam); return $body; } sub ParseHeaders { my $body = shift; my %headers = (); while ($body =~ s/^#[ \t]*([^\n]*)\n//s) { my $comment = $1; if ($comment =~ m/^([a-zA-Z0-9_-]+):\s*([^\n]+)$/) { $headers{$1} = $2; } } return %headers; } sub ParseTo { my $body = shift; my %To = (); while ($body =~ s/^#[ \t]*([^\n]*)\n//s) { my $comment = $1; if ($comment =~ s/^##[ \t]*\[(?:\*|x|X)\][ \t]*([^:]*):[ \t]*([^\n]*)$//s) { $To{$1} = $2; } } return %To; } sub RemoveHeaders { my $body = shift; # First remove comments 1 while $body =~ s/^#[^\n]*\n//s; # Optional empty lines $body =~ s/^\s+//s; return $body; } sub DropNonASCII { my $text = shift; $text =~ s/[\x80-\xff]/?/g; return $text; } sub ReadFile { my $file = shift; local $/ = undef; open(FILE, "< $file") or die ("Couldn't read $file: $!\nExiting!\n"); my $body = <FILE>; close(FILE) or die ("Couldn't close $file: $!\nExiting!\n"); return $body; } ## Handle invalid arguments sub Help_InvalidOption { print STDERR "Try `${PROGRAM} --help' for more information.\n"; exit 1; } ## Print the usage message and exit sub Help_PrintHelp { print <<_EOF_; Usage: ${PROGRAM} [OPTIONS] Send outdated debconf PO files to the last translators. Options: --addlanguageteam=LANG:LIST Send a copy of the messages for language LANG also to the LIST (unless it is already the language team). --bts=BUGNUMBER specify the Debian bug number to set as reply-to --call[=LIST] send a call for translations to the LIST (or to the Debian I18N mailing list by default --conf --noconf --deadline=DEADLINE specify the deadline for receiving the updated translations --default don't open the editor and use the template as is --nodefault -f, --force send the email without confirmation --noforce --from=MAINTAINER specify the name and the email address of the sender --gzip compress PO files with gzip --nogzip --help display this help and exit --langs=LANGUAGES restrict sending emails only to these languages --languageteam send the email also to the Language Team --nolanguageteam --mutt send the mails with mutt. This set the --postpone argument to the mutt's postponed parameter or \$HOME/postponed --notdebconf this is not for debconf translation. Do not mention debconf in the subject and message --package=PACKAGE specify the name of the package --podir=DIRECTORY specify where are located the PO files --postpone=MBOX do not send emails, append them in MBOX. This file can be used as a postponed mailbox with mutt -p. --potfile=FILE when used with --call, specifies the POT file to attach to the call for translations --sendmessage only send a message, without any attachment --smtp=SERVER specify SMTP server for mailing (default localhost) --submit send a bug report against the package with a report of the outdated debconf translations --summary send a status report to the maintainer with the list of emails sent to translators --nosummary --utf8 send the mail in UTF-8 --noutf8 --version display version information and exit -v, --verbose display additional information --noverbose --templatecall=TEMPLATE specify file to use it as template for the emails --templatesubmit=TEMPLATE specify file to use it as template for the emails --templatetranslators=TEMPLATE specify file to use it as template for the emails --template=TEMPLATE specify file to use it as template for the emails --notemplate --withtranslators when used with --call, specifies that request for translation updates must be sent to the translators --withouttranslators _EOF_ exit 0; } ## Print the version text and exit sub Help_PrintVersion { print <<_EOF_; ${PROGRAM} $VERSION Copyright (C) 2004-2006 Fabio Tranchitella and Denis Barbier. Copyright (C) 2007 Nicolas François This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. _EOF_ exit 0; } sub Verbose { my $msg = shift; return unless $VERBOSE_ARG; $msg =~ s/^/**${PROGRAM}: /mg; print STDERR $msg."\n"; } sub Postpone { my $mail = shift; if (eval { require Mail::Box::Manager }) { import Mail::Box::Manager; my $mgr = new Mail::Box::Manager; my $folder = $mgr->open(folder => $MBOX, access => 'a', create => 1); my $msg = Mail::Message->build ( From => ${$mail}{'From'} , To => ${$mail}{'To'} , Subject => ${$mail}{'Subject'} , 'X-Mail-Originator' => ${$mail}{'X-Mail-Originator'} , 'Content-Type' => ${$mail}{'content-type'} , data => ${$mail}{body} ); $mgr->appendMessage($folder, $msg); $folder->write(); $mgr->close(); } else { die "The --postpone and --mutt options require the ". "perl Mail::Box package. Please install the Debian ". "libmail-box-perl package if you want to use these ". "options. No mail written or sent."; } }
Close