Linux e000727e84fa 5.4.0-208-generic #228-Ubuntu SMP Fri Feb 7 19:41:33 UTC 2025 x86_64
Apache/2.4.62 (Debian)
: 192.168.16.2 | : 192.168.16.1
Cant Read [ /etc/named.conf ]
8.2.27
root
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
[
66.89
KB
-rwxr-xr-x
ab
58.42
KB
-rwxr-xr-x
addpart
30.31
KB
-rwxr-xr-x
addr2line
23.14
KB
-rwxr-xr-x
apt
18.31
KB
-rwxr-xr-x
apt-cache
86.38
KB
-rwxr-xr-x
apt-cdrom
22.38
KB
-rwxr-xr-x
apt-config
26.31
KB
-rwxr-xr-x
apt-get
50.38
KB
-rwxr-xr-x
apt-key
27.32
KB
-rwxr-xr-x
apt-mark
58.38
KB
-rwxr-xr-x
ar
51.17
KB
-rwxr-xr-x
arch
42.86
KB
-rwxr-xr-x
as
897.41
KB
-rwxr-xr-x
autoconf
14.85
KB
-rwxr-xr-x
autoheader
8.82
KB
-rwxr-xr-x
autom4te
32.69
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
awk
154.66
KB
-rwxr-xr-x
b2sum
58.98
KB
-rwxr-xr-x
base32
46.89
KB
-rwxr-xr-x
base64
46.89
KB
-rwxr-xr-x
basename
42.83
KB
-rwxr-xr-x
basenc
54.89
KB
-rwxr-xr-x
bash
1.21
MB
-rwxr-xr-x
bashbug
6.7
KB
-rwxr-xr-x
bunzip2
38.3
KB
-rwxr-xr-x
bzcat
38.3
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.3
KB
-rwxr-xr-x
bzip2recover
14.23
KB
-rwxr-xr-x
bzless
1.27
KB
-rwxr-xr-x
bzmore
1.27
KB
-rwxr-xr-x
c++
1.25
MB
-rwxr-xr-x
c++filt
18.51
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.68
KB
-rwxr-xr-x
captoinfo
90.34
KB
-rwxr-xr-x
cat
42.98
KB
-rwxr-xr-x
cc
1.24
MB
-rwxr-xr-x
chage
78.49
KB
-rwxr-sr-x
chattr
14.24
KB
-rwxr-xr-x
chcon
67.11
KB
-rwxr-xr-x
checkgid
14.23
KB
-rwxr-xr-x
chfn
61.2
KB
-rwsr-xr-x
chgrp
67.05
KB
-rwxr-xr-x
chmod
62.98
KB
-rwxr-xr-x
choom
54.31
KB
-rwxr-xr-x
chown
71.05
KB
-rwxr-xr-x
chrt
66.31
KB
-rwxr-xr-x
chsh
51.64
KB
-rwsr-xr-x
cksum
139.05
KB
-rwxr-xr-x
clear
14.24
KB
-rwxr-xr-x
clear_console
14.15
KB
-rwxr-xr-x
cmp
50.95
KB
-rwxr-xr-x
comm
46.92
KB
-rwxr-xr-x
corelist
15.01
KB
-rwxr-xr-x
cp
147.61
KB
-rwxr-xr-x
cpan
8.16
KB
-rwxr-xr-x
cpan5.36-x86_64-linux-gnu
8.18
KB
-rwxr-xr-x
cpp
1.24
MB
-rwxr-xr-x
cpp-12
1.24
MB
-rwxr-xr-x
csplit
119.17
KB
-rwxr-xr-x
curl
274.22
KB
-rwxr-xr-x
cut
46.98
KB
-rwxr-xr-x
dash
122.7
KB
-rwxr-xr-x
date
119.05
KB
-rwxr-xr-x
dd
87.15
KB
-rwxr-xr-x
deb-systemd-helper
23.79
KB
-rwxr-xr-x
deb-systemd-invoke
6.09
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-set-selections
2.92
KB
-rwxr-xr-x
debconf-show
1.78
KB
-rwxr-xr-x
delpart
30.31
KB
-rwxr-xr-x
df
99.8
KB
-rwxr-xr-x
diff
151.58
KB
-rwxr-xr-x
diff3
67.14
KB
-rwxr-xr-x
dir
147.8
KB
-rwxr-xr-x
dircolors
50.92
KB
-rwxr-xr-x
dirname
38.83
KB
-rwxr-xr-x
dmesg
86.58
KB
-rwxr-xr-x
dnsdomainname
22.15
KB
-rwxr-xr-x
domainname
22.15
KB
-rwxr-xr-x
dpkg
310.64
KB
-rwxr-xr-x
dpkg-architecture
14.85
KB
-rwxr-xr-x
dpkg-buildflags
8.14
KB
-rwxr-xr-x
dpkg-buildpackage
32.63
KB
-rwxr-xr-x
dpkg-checkbuilddeps
7.45
KB
-rwxr-xr-x
dpkg-deb
166.52
KB
-rwxr-xr-x
dpkg-distaddfile
2.72
KB
-rwxr-xr-x
dpkg-divert
154.55
KB
-rwxr-xr-x
dpkg-genbuildinfo
18.48
KB
-rwxr-xr-x
dpkg-genchanges
17.39
KB
-rwxr-xr-x
dpkg-gencontrol
14.2
KB
-rwxr-xr-x
dpkg-gensymbols
10.65
KB
-rwxr-xr-x
dpkg-maintscript-helper
20.71
KB
-rwxr-xr-x
dpkg-mergechangelogs
8.88
KB
-rwxr-xr-x
dpkg-name
6.62
KB
-rwxr-xr-x
dpkg-parsechangelog
4.83
KB
-rwxr-xr-x
dpkg-query
158.58
KB
-rwxr-xr-x
dpkg-realpath
4.09
KB
-rwxr-xr-x
dpkg-scanpackages
8.47
KB
-rwxr-xr-x
dpkg-scansources
8.98
KB
-rwxr-xr-x
dpkg-shlibdeps
31.17
KB
-rwxr-xr-x
dpkg-source
22.91
KB
-rwxr-xr-x
dpkg-split
126.48
KB
-rwxr-xr-x
dpkg-statoverride
62.33
KB
-rwxr-xr-x
dpkg-trigger
86.48
KB
-rwxr-xr-x
dpkg-vendor
3.18
KB
-rwxr-xr-x
du
171.33
KB
-rwxr-xr-x
dwp
1.79
MB
-rwxr-xr-x
echo
42.83
KB
-rwxr-xr-x
egrep
41
B
-rwxr-xr-x
elfedit
35.03
KB
-rwxr-xr-x
enc2xs
40.96
KB
-rwxr-xr-x
encguess
3
KB
-rwxr-xr-x
env
47.4
KB
-rwxr-xr-x
expand
42.92
KB
-rwxr-xr-x
expiry
30.45
KB
-rwxr-sr-x
expr
115.05
KB
-rwxr-xr-x
factor
83.2
KB
-rwxr-xr-x
faillog
22.53
KB
-rwxr-xr-x
fallocate
34.31
KB
-rwxr-xr-x
false
34.83
KB
-rwxr-xr-x
fcgistarter
14.23
KB
-rwxr-xr-x
fgrep
41
B
-rwxr-xr-x
file
26.48
KB
-rwxr-xr-x
fincore
34.36
KB
-rwxr-xr-x
find
219.58
KB
-rwxr-xr-x
findmnt
83.59
KB
-rwxr-xr-x
flock
34.39
KB
-rwxr-xr-x
fmt
46.89
KB
-rwxr-xr-x
fold
42.89
KB
-rwxr-xr-x
free
26.3
KB
-rwxr-xr-x
g++
1.25
MB
-rwxr-xr-x
g++-12
1.25
MB
-rwxr-xr-x
gcc
1.24
MB
-rwxr-xr-x
gcc-12
1.24
MB
-rwxr-xr-x
gcc-ar
34.54
KB
-rwxr-xr-x
gcc-ar-12
34.54
KB
-rwxr-xr-x
gcc-nm
34.54
KB
-rwxr-xr-x
gcc-nm-12
34.54
KB
-rwxr-xr-x
gcc-ranlib
34.54
KB
-rwxr-xr-x
gcc-ranlib-12
34.54
KB
-rwxr-xr-x
gcov
720.16
KB
-rwxr-xr-x
gcov-12
720.16
KB
-rwxr-xr-x
gcov-dump
568.02
KB
-rwxr-xr-x
gcov-dump-12
568.02
KB
-rwxr-xr-x
gcov-tool
588.09
KB
-rwxr-xr-x
gcov-tool-12
588.09
KB
-rwxr-xr-x
gencat
26.75
KB
-rwxr-xr-x
getconf
26.5
KB
-rwxr-xr-x
getent
35.47
KB
-rwxr-xr-x
getopt
34.31
KB
-rwxr-xr-x
gmake
234.65
KB
-rwxr-xr-x
gold
2.99
MB
-rwxr-xr-x
gp-archive
159.06
KB
-rwxr-xr-x
gp-collect-app
175.27
KB
-rwxr-xr-x
gp-display-html
578.29
KB
-rwxr-xr-x
gp-display-src
150.81
KB
-rwxr-xr-x
gp-display-text
257.3
KB
-rwxr-xr-x
gpasswd
86.42
KB
-rwsr-xr-x
gpgv
463
KB
-rwxr-xr-x
gprof
108.35
KB
-rwxr-xr-x
gprofng
146.59
KB
-rwxr-xr-x
grep
198.39
KB
-rwxr-xr-x
groups
42.89
KB
-rwxr-xr-x
gunzip
2.29
KB
-rwxr-xr-x
gzexe
6.3
KB
-rwxr-xr-x
gzip
95.84
KB
-rwxr-xr-x
h2ph
28.54
KB
-rwxr-xr-x
h2xs
59.51
KB
-rwxr-xr-x
hardlink
50.39
KB
-rwxr-xr-x
head
46.95
KB
-rwxr-xr-x
hostid
38.83
KB
-rwxr-xr-x
hostname
22.15
KB
-rwxr-xr-x
htcacheclean
34.24
KB
-rwxr-xr-x
htdbm
26.23
KB
-rwxr-xr-x
htdigest
14.23
KB
-rwxr-xr-x
htpasswd
26.23
KB
-rwxr-xr-x
i386
26.58
KB
-rwxr-xr-x
iconv
63.13
KB
-rwxr-xr-x
id
47.02
KB
-rwxr-xr-x
ifnames
4.08
KB
-rwxr-xr-x
infocmp
62.31
KB
-rwxr-xr-x
infotocap
90.34
KB
-rwxr-xr-x
install
155.8
KB
-rwxr-xr-x
instmodsh
4.27
KB
-rwxr-xr-x
ionice
34.31
KB
-rwxr-xr-x
ipcmk
34.38
KB
-rwxr-xr-x
ipcrm
34.31
KB
-rwxr-xr-x
ipcs
74.31
KB
-rwxr-xr-x
ischroot
14.32
KB
-rwxr-xr-x
join
54.98
KB
-rwxr-xr-x
json_pp
4.88
KB
-rwxr-xr-x
kill
22.3
KB
-rwxr-xr-x
last
50.31
KB
-rwxr-xr-x
lastb
50.31
KB
-rwxr-xr-x
lastlog
31.75
KB
-rwxr-xr-x
ld
1.27
MB
-rwxr-xr-x
ld.bfd
1.27
MB
-rwxr-xr-x
ld.gold
2.99
MB
-rwxr-xr-x
ld.so
205.96
KB
-rwxr-xr-x
ldd
5.28
KB
-rwxr-xr-x
libnetcfg
15.41
KB
-rwxr-xr-x
link
38.83
KB
-rwxr-xr-x
linux32
26.58
KB
-rwxr-xr-x
linux64
26.58
KB
-rwxr-xr-x
ln
71.12
KB
-rwxr-xr-x
locale
46.16
KB
-rwxr-xr-x
localedef
291.91
KB
-rwxr-xr-x
logger
54.9
KB
-rwxr-xr-x
login
51.78
KB
-rwxr-xr-x
logname
38.83
KB
-rwxr-xr-x
logresolve
14.24
KB
-rwxr-xr-x
ls
147.8
KB
-rwxr-xr-x
lsattr
14.24
KB
-rwxr-xr-x
lsblk
202.31
KB
-rwxr-xr-x
lscpu
126.31
KB
-rwxr-xr-x
lsfd
120.3
KB
-rwxr-xr-x
lsipc
98.31
KB
-rwxr-xr-x
lsirq
34.48
KB
-rwxr-xr-x
lslocks
70.7
KB
-rwxr-xr-x
lslogins
94.31
KB
-rwxr-xr-x
lsmem
66.31
KB
-rwxr-xr-x
lsns
82.31
KB
-rwxr-xr-x
lto-dump
30.47
MB
-rwxr-xr-x
lto-dump-12
30.47
MB
-rwxr-xr-x
lzcat
82.7
KB
-rwxr-xr-x
lzcmp
7.25
KB
-rwxr-xr-x
lzdiff
7.25
KB
-rwxr-xr-x
lzegrep
10.09
KB
-rwxr-xr-x
lzfgrep
10.09
KB
-rwxr-xr-x
lzgrep
10.09
KB
-rwxr-xr-x
lzless
1.77
KB
-rwxr-xr-x
lzma
82.7
KB
-rwxr-xr-x
lzmainfo
14.3
KB
-rwxr-xr-x
lzmore
2.14
KB
-rwxr-xr-x
m4
271.52
KB
-rwxr-xr-x
make
234.65
KB
-rwxr-xr-x
make-first-existing-target
4.79
KB
-rwxr-xr-x
mawk
154.66
KB
-rwxr-xr-x
mcookie
34.38
KB
-rwxr-xr-x
md5sum
50.95
KB
-rwxr-xr-x
md5sum.textutils
50.95
KB
-rwxr-xr-x
mesg
18.3
KB
-rwxr-xr-x
mkdir
95.27
KB
-rwxr-xr-x
mkfifo
67.17
KB
-rwxr-xr-x
mknod
71.2
KB
-rwxr-xr-x
mktemp
42.92
KB
-rwxr-xr-x
more
58.31
KB
-rwxr-xr-x
mount
58.3
KB
-rwsr-xr-x
mountpoint
18.3
KB
-rwxr-xr-x
mv
139.62
KB
-rwxr-xr-x
namei
34.31
KB
-rwxr-xr-x
nawk
154.66
KB
-rwxr-xr-x
newgrp
47.75
KB
-rwsr-xr-x
nice
42.86
KB
-rwxr-xr-x
nisdomainname
22.15
KB
-rwxr-xr-x
nl
111.11
KB
-rwxr-xr-x
nm
44.03
KB
-rwxr-xr-x
nohup
42.89
KB
-rwxr-xr-x
nproc
42.89
KB
-rwxr-xr-x
nsenter
34.54
KB
-rwxr-xr-x
numfmt
67.02
KB
-rwxr-xr-x
objcopy
155.66
KB
-rwxr-xr-x
objdump
362.56
KB
-rwxr-xr-x
od
79.02
KB
-rwxr-xr-x
openssl
953.26
KB
-rwxr-xr-x
pager
58.31
KB
-rwxr-xr-x
partx
118.31
KB
-rwxr-xr-x
passwd
66.65
KB
-rwsr-xr-x
paste
42.89
KB
-rwxr-xr-x
patch
187.44
KB
-rwxr-xr-x
pathchk
42.86
KB
-rwxr-xr-x
perl
3.63
MB
-rwxr-xr-x
perl5.36-x86_64-linux-gnu
14.41
KB
-rwxr-xr-x
perl5.36.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
perlthanks
44.12
KB
-rwxr-xr-x
pgrep
34.42
KB
-rwxr-xr-x
piconv
8.16
KB
-rwxr-xr-x
pidof
26.31
KB
-rwxr-xr-x
pidwait
34.42
KB
-rwxr-xr-x
pinky
47.05
KB
-rwxr-xr-x
pkg-config
44.04
KB
-rwxr-xr-x
pkgconf
44.04
KB
-rwxr-xr-x
pkill
34.42
KB
-rwxr-xr-x
pl2pm
4.43
KB
-rwxr-xr-x
pldd
22.69
KB
-rwxr-xr-x
pmap
34.34
KB
-rwxr-xr-x
pod2html
4.04
KB
-rwxr-xr-x
pod2man
14.68
KB
-rwxr-xr-x
pod2text
10.55
KB
-rwxr-xr-x
pod2usage
4.01
KB
-rwxr-xr-x
podchecker
3.57
KB
-rwxr-xr-x
pr
79.11
KB
-rwxr-xr-x
printenv
34.83
KB
-rwxr-xr-x
printf
62.92
KB
-rwxr-xr-x
prlimit
38.83
KB
-rwxr-xr-x
prove
13.34
KB
-rwxr-xr-x
ps
142.93
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
135.23
KB
-rwxr-xr-x
pwd
42.92
KB
-rwxr-xr-x
pwdx
14.3
KB
-rwxr-xr-x
ranlib
51.17
KB
-rwxr-xr-x
rbash
1.21
MB
-rwxr-xr-x
re2c
698.47
KB
-rwxr-xr-x
re2go
698.47
KB
-rwxr-xr-x
re2rust
698.47
KB
-rwxr-xr-x
readelf
751.38
KB
-rwxr-xr-x
readlink
50.89
KB
-rwxr-xr-x
realpath
50.92
KB
-rwxr-xr-x
rename.ul
22.3
KB
-rwxr-xr-x
renice
14.3
KB
-rwxr-xr-x
reset
30.24
KB
-rwxr-xr-x
resizepart
70.31
KB
-rwxr-xr-x
rev
14.3
KB
-rwxr-xr-x
rgrep
30
B
-rwxr-xr-x
rm
71.05
KB
-rwxr-xr-x
rmdir
54.92
KB
-rwxr-xr-x
rotatelogs
26.31
KB
-rwxr-xr-x
rpcgen
95
KB
-rwxr-xr-x
run-parts
26.91
KB
-rwxr-xr-x
runcon
42.95
KB
-rwxr-xr-x
savelog
10.24
KB
-rwxr-xr-x
script
70.3
KB
-rwxr-xr-x
scriptlive
54.3
KB
-rwxr-xr-x
scriptreplay
46.3
KB
-rwxr-xr-x
sdiff
55.08
KB
-rwxr-xr-x
sed
123.46
KB
-rwxr-xr-x
seq
58.92
KB
-rwxr-xr-x
setarch
26.58
KB
-rwxr-xr-x
setpriv
78.31
KB
-rwxr-xr-x
setsid
14.3
KB
-rwxr-xr-x
setterm
46.31
KB
-rwxr-xr-x
sg
47.75
KB
-rwsr-xr-x
sh
122.7
KB
-rwxr-xr-x
sha1sum
54.95
KB
-rwxr-xr-x
sha224sum
58.95
KB
-rwxr-xr-x
sha256sum
58.95
KB
-rwxr-xr-x
sha384sum
62.95
KB
-rwxr-xr-x
sha512sum
62.95
KB
-rwxr-xr-x
shasum
9.75
KB
-rwxr-xr-x
shred
63.14
KB
-rwxr-xr-x
shuf
58.98
KB
-rwxr-xr-x
size
26.86
KB
-rwxr-xr-x
skill
30.33
KB
-rwxr-xr-x
slabtop
22.37
KB
-rwxr-xr-x
sleep
42.86
KB
-rwxr-xr-x
snice
30.33
KB
-rwxr-xr-x
sort
115.68
KB
-rwxr-xr-x
splain
18.99
KB
-rwxr-xr-x
split
59.55
KB
-rwxr-xr-x
stat
95.2
KB
-rwxr-xr-x
stdbuf
58.92
KB
-rwxr-xr-x
streamzip
7.75
KB
-rwxr-xr-x
strings
30.98
KB
-rwxr-xr-x
strip
155.7
KB
-rwxr-xr-x
stty
83.02
KB
-rwxr-xr-x
su
70.31
KB
-rwsr-xr-x
sum
50.96
KB
-rwxr-xr-x
sync
38.89
KB
-rwxr-xr-x
tabs
18.23
KB
-rwxr-xr-x
tac
111.05
KB
-rwxr-xr-x
tail
75.14
KB
-rwxr-xr-x
tar
519.52
KB
-rwxr-xr-x
taskset
62.31
KB
-rwxr-xr-x
tee
42.95
KB
-rwxr-xr-x
tempfile
14.18
KB
-rwxr-xr-x
test
58.89
KB
-rwxr-xr-x
tic
90.34
KB
-rwxr-xr-x
timeout
47.49
KB
-rwxr-xr-x
tload
18.32
KB
-rwxr-xr-x
toe
22.23
KB
-rwxr-xr-x
top
131.58
KB
-rwxr-xr-x
touch
107.05
KB
-rwxr-xr-x
tput
26.27
KB
-rwxr-xr-x
tr
54.89
KB
-rwxr-xr-x
true
34.83
KB
-rwxr-xr-x
truncate
42.89
KB
-rwxr-xr-x
tset
30.24
KB
-rwxr-xr-x
tsort
54.89
KB
-rwxr-xr-x
tty
34.86
KB
-rwxr-xr-x
tzselect
14.99
KB
-rwxr-xr-x
uclampset
62.31
KB
-rwxr-xr-x
umount
34.3
KB
-rwsr-xr-x
uname
42.86
KB
-rwxr-xr-x
uncompress
2.29
KB
-rwxr-xr-x
unexpand
42.92
KB
-rwxr-xr-x
uniq
46.95
KB
-rwxr-xr-x
unlink
38.83
KB
-rwxr-xr-x
unlzma
82.7
KB
-rwxr-xr-x
unshare
82.54
KB
-rwxr-xr-x
unxz
82.7
KB
-rwxr-xr-x
update-alternatives
58.31
KB
-rwxr-xr-x
uptime
14.3
KB
-rwxr-xr-x
users
38.89
KB
-rwxr-xr-x
utmpdump
30.3
KB
-rwxr-xr-x
vdir
147.8
KB
-rwxr-xr-x
vmstat
34.72
KB
-rwxr-xr-x
w
22.3
KB
-rwxr-xr-x
wall
38.3
KB
-rwxr-xr-x
watch
26.71
KB
-rwxr-xr-x
wc
51.05
KB
-rwxr-xr-x
wdctl
70.34
KB
-rwxr-xr-x
whereis
30.77
KB
-rwxr-xr-x
which
946
B
-rwxr-xr-x
which.debianutils
946
B
-rwxr-xr-x
who
59.02
KB
-rwxr-xr-x
whoami
38.86
KB
-rwxr-xr-x
x86_64
26.58
KB
-rwxr-xr-x
x86_64-linux-gnu-addr2line
23.14
KB
-rwxr-xr-x
x86_64-linux-gnu-ar
51.17
KB
-rwxr-xr-x
x86_64-linux-gnu-as
897.41
KB
-rwxr-xr-x
x86_64-linux-gnu-c++filt
18.51
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp
1.24
MB
-rwxr-xr-x
x86_64-linux-gnu-cpp-12
1.24
MB
-rwxr-xr-x
x86_64-linux-gnu-dwp
1.79
MB
-rwxr-xr-x
x86_64-linux-gnu-elfedit
35.03
KB
-rwxr-xr-x
x86_64-linux-gnu-g++
1.25
MB
-rwxr-xr-x
x86_64-linux-gnu-g++-12
1.25
MB
-rwxr-xr-x
x86_64-linux-gnu-gcc
1.24
MB
-rwxr-xr-x
x86_64-linux-gnu-gcc-12
1.24
MB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar
34.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-12
34.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm
34.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-12
34.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib
34.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-12
34.54
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov
720.16
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-12
720.16
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump
568.02
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump-12
568.02
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool
588.09
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool-12
588.09
KB
-rwxr-xr-x
x86_64-linux-gnu-gold
2.99
MB
-rwxr-xr-x
x86_64-linux-gnu-gp-archive
159.06
KB
-rwxr-xr-x
x86_64-linux-gnu-gp-collect-ap...
175.27
KB
-rwxr-xr-x
x86_64-linux-gnu-gp-display-ht...
578.29
KB
-rwxr-xr-x
x86_64-linux-gnu-gp-display-sr...
150.81
KB
-rwxr-xr-x
x86_64-linux-gnu-gp-display-te...
257.3
KB
-rwxr-xr-x
x86_64-linux-gnu-gprof
108.35
KB
-rwxr-xr-x
x86_64-linux-gnu-gprofng
146.59
KB
-rwxr-xr-x
x86_64-linux-gnu-ld
1.27
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.bfd
1.27
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.gold
2.99
MB
-rwxr-xr-x
x86_64-linux-gnu-lto-dump
30.47
MB
-rwxr-xr-x
x86_64-linux-gnu-lto-dump-12
30.47
MB
-rwxr-xr-x
x86_64-linux-gnu-nm
44.03
KB
-rwxr-xr-x
x86_64-linux-gnu-objcopy
155.66
KB
-rwxr-xr-x
x86_64-linux-gnu-objdump
362.56
KB
-rwxr-xr-x
x86_64-linux-gnu-pkg-config
44.04
KB
-rwxr-xr-x
x86_64-linux-gnu-pkgconf
44.04
KB
-rwxr-xr-x
x86_64-linux-gnu-ranlib
51.17
KB
-rwxr-xr-x
x86_64-linux-gnu-readelf
751.38
KB
-rwxr-xr-x
x86_64-linux-gnu-size
26.86
KB
-rwxr-xr-x
x86_64-linux-gnu-strings
30.98
KB
-rwxr-xr-x
x86_64-linux-gnu-strip
155.7
KB
-rwxr-xr-x
xargs
70.45
KB
-rwxr-xr-x
xsubpp
5.05
KB
-rwxr-xr-x
xz
82.7
KB
-rwxr-xr-x
xzcat
82.7
KB
-rwxr-xr-x
xzcmp
7.25
KB
-rwxr-xr-x
xzdiff
7.25
KB
-rwxr-xr-x
xzegrep
10.09
KB
-rwxr-xr-x
xzfgrep
10.09
KB
-rwxr-xr-x
xzgrep
10.09
KB
-rwxr-xr-x
xzless
1.77
KB
-rwxr-xr-x
xzmore
2.14
KB
-rwxr-xr-x
yes
38.83
KB
-rwxr-xr-x
ypdomainname
22.15
KB
-rwxr-xr-x
zcat
1.94
KB
-rwxr-xr-x
zcmp
1.64
KB
-rwxr-xr-x
zdiff
6.31
KB
-rwxr-xr-x
zdump
22.52
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
zipdetails
68.55
KB
-rwxr-xr-x
zless
2.15
KB
-rwxr-xr-x
zmore
1.8
KB
-rwxr-xr-x
znew
4.47
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : dpkg-genchanges
#!/usr/bin/perl # # dpkg-genchanges # # Copyright © 1996 Ian Jackson # Copyright © 2000,2001 Wichert Akkerman # Copyright © 2006-2014 Guillem Jover <guillem@debian.org> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. use strict; use warnings; use List::Util qw(any all none); use Encode; use POSIX qw(:errno_h :locale_h); use Dpkg (); use Dpkg::Gettext; use Dpkg::File; use Dpkg::Checksums; use Dpkg::ErrorHandling; use Dpkg::BuildTypes; use Dpkg::BuildProfiles qw(get_build_profiles parse_build_profiles evaluate_restriction_formula); use Dpkg::Arch qw(get_host_arch debarch_eq debarch_is debarch_list_parse); use Dpkg::Compression; use Dpkg::Control::Info; use Dpkg::Control::Fields; use Dpkg::Control; use Dpkg::Substvars; use Dpkg::Vars; use Dpkg::Changelog::Parse; use Dpkg::Dist::Files; use Dpkg::Version; use Dpkg::Vendor qw(run_vendor_hook); textdomain('dpkg-dev'); my $controlfile = 'debian/control'; my $changelogfile = 'debian/changelog'; my $changelogformat; my $fileslistfile = 'debian/files'; my $outputfile; my $uploadfilesdir = '..'; my $sourcestyle = 'i'; my $quiet = 0; my $host_arch = get_host_arch(); my @profiles = get_build_profiles(); my $changes_format = '1.8'; my %p2f; # - package to file map, has entries for "packagename" my %f2seccf; # - package to section map, from control file my %f2pricf; # - package to priority map, from control file my %sourcedefault; # - default values as taken from source (used for Section, # Priority and Maintainer) my @descriptions; my $checksums = Dpkg::Checksums->new(); my %remove; # - fields to remove my %override; my %archadded; my @archvalues; my $changesdescription; my $forcemaint; my $forcechangedby; my $since; my $substvars_loaded = 0; my $substvars = Dpkg::Substvars->new(); $substvars->set_as_auto('Format', $changes_format); sub version { printf g_("Debian %s version %s.\n"), $Dpkg::PROGNAME, $Dpkg::PROGVERSION; printf g_(' This is free software; see the GNU General Public License version 2 or later for copying conditions. There is NO warranty. '); } sub usage { printf g_( 'Usage: %s [<option>...]') . "\n\n" . g_( "Options: --build=<type>[,...] specify the build <type>: full, source, binary, any, all (default is \'full\'). -g source and arch-indep build. -G source and arch-specific build. -b binary-only, no source files. -B binary-only, only arch-specific files. -A binary-only, only arch-indep files. -S source-only, no binary files. -c<control-file> get control info from this file. -l<changelog-file> get per-version info from this file. -f<files-list-file> get .deb files list from this file. -v<since-version> include all changes later than version. -C<changes-description> use change description from this file. -m<maintainer> override control's maintainer value. -e<maintainer> override changelog's maintainer value. -u<upload-files-dir> directory with files (default is '..'). -si source includes orig, if new upstream (default). -sa source includes orig, always. -sd source is diff and .dsc only. -q quiet - no informational messages on stderr. -F<changelog-format> force changelog format. -V<name>=<value> set a substitution variable. -T<substvars-file> read variables here, not debian/substvars. -D<field>=<value> override or add a field and value. -U<field> remove a field. -O[<filename>] write to stdout (default) or <filename>. -?, --help show this help message. --version show the version. "), $Dpkg::PROGNAME; } while (@ARGV) { $_ = shift @ARGV; if (m/^--build=(.*)$/) { set_build_type_from_options($1, $_); } elsif (m/^-b$/) { set_build_type(BUILD_BINARY, $_); } elsif (m/^-B$/) { set_build_type(BUILD_ARCH_DEP, $_); } elsif (m/^-A$/) { set_build_type(BUILD_ARCH_INDEP, $_); } elsif (m/^-S$/) { set_build_type(BUILD_SOURCE, $_); } elsif (m/^-G$/) { set_build_type(BUILD_SOURCE | BUILD_ARCH_DEP, $_); } elsif (m/^-g$/) { set_build_type(BUILD_SOURCE | BUILD_ARCH_INDEP, $_); } elsif (m/^-s([iad])$/) { $sourcestyle = $1; } elsif (m/^-q$/) { $quiet = 1; } elsif (m/^-c(.*)$/) { $controlfile = $1; } elsif (m/^-l(.*)$/) { $changelogfile = $1; } elsif (m/^-C(.*)$/) { $changesdescription = $1; } elsif (m/^-f(.*)$/) { $fileslistfile = $1; } elsif (m/^-v(.*)$/) { $since = $1; } elsif (m/^-T(.*)$/) { $substvars->load($1) if -e $1; $substvars_loaded = 1; } elsif (m/^-m(.*)$/s) { $forcemaint = $1; } elsif (m/^-e(.*)$/s) { $forcechangedby = $1; } elsif (m/^-F([0-9a-z]+)$/) { $changelogformat = $1; } elsif (m/^-D([^\=:]+)[=:](.*)$/s) { $override{$1} = $2; } elsif (m/^-u(.*)$/) { $uploadfilesdir = $1; } elsif (m/^-U([^\=:]+)$/) { $remove{$1} = 1; } elsif (m/^-V(\w[-:0-9A-Za-z]*)[=:](.*)$/s) { $substvars->set($1, $2); } elsif (m/^-O(.*)$/) { $outputfile = $1; } elsif (m/^-(?:\?|-help)$/) { usage(); exit(0); } elsif (m/^--version$/) { version(); exit(0); } else { usageerr(g_("unknown option '%s'"), $_); } } # Do not pollute STDOUT with info messages if the .changes file goes there. if (not defined $outputfile) { report_options(info_fh => \*STDERR, quiet_warnings => $quiet); $outputfile = '-'; } # Retrieve info from the current changelog entry my %options = (file => $changelogfile); $options{changelogformat} = $changelogformat if $changelogformat; $options{since} = $since if defined($since); my $changelog = changelog_parse(%options); # Change options to retrieve info of the former changelog entry delete $options{since}; $options{count} = 1; $options{offset} = 1; my $prev_changelog = changelog_parse(%options); # Other initializations my $control = Dpkg::Control::Info->new($controlfile); my $fields = Dpkg::Control->new(type => CTRL_FILE_CHANGES); my $sourceversion = $changelog->{'Binary-Only'} ? $prev_changelog->{'Version'} : $changelog->{'Version'}; my $binaryversion = $changelog->{'Version'}; $substvars->set_version_substvars($sourceversion, $binaryversion); $substvars->set_vendor_substvars(); $substvars->set_arch_substvars(); $substvars->load('debian/substvars') if -e 'debian/substvars' and not $substvars_loaded; my $backport_version_regex = run_vendor_hook('backport-version-regex') // qr/^$/; my $is_backport = $changelog->{'Version'} =~ m/$backport_version_regex/; # Versions with backport markers have a lower version number by definition. if (! $is_backport && defined $prev_changelog && version_compare_relation($changelog->{'Version'}, REL_LT, $prev_changelog->{'Version'})) { warning(g_('the current version (%s) is earlier than the previous one (%s)'), $changelog->{'Version'}, $prev_changelog->{'Version'}); } # Scan control info of source package my $src_fields = $control->get_source(); foreach (keys %{$src_fields}) { my $v = $src_fields->{$_}; if (m/^Source$/) { set_source_package($v); } elsif (m/^Section$|^Priority$/i) { $sourcedefault{$_} = $v; } elsif (m/^Description$/i) { # Description in changes is computed, do not copy this field, only # initialize the description substvars. $substvars->set_desc_substvars($v); } else { field_transfer_single($src_fields, $fields); } } my $dist = Dpkg::Dist::Files->new(); my $origsrcmsg; if (build_has_any(BUILD_SOURCE)) { my $sec = $sourcedefault{'Section'} // '-'; my $pri = $sourcedefault{'Priority'} // '-'; warning(g_('missing Section for source files')) if $sec eq '-'; warning(g_('missing Priority for source files')) if $pri eq '-'; my $spackage = get_source_package(); (my $sversion = $substvars->get('source:Version')) =~ s/^\d+://; my $dsc = "${spackage}_${sversion}.dsc"; my $dsc_pathname = "$uploadfilesdir/$dsc"; my $dsc_fields = Dpkg::Control->new(type => CTRL_PKG_SRC); $dsc_fields->load($dsc_pathname) or error(g_('%s is empty'), $dsc_pathname); $checksums->add_from_file($dsc_pathname, key => $dsc); $checksums->add_from_control($dsc_fields, use_files_for_md5 => 1); # Compare upstream version to previous upstream version to decide if # the .orig tarballs must be included my $include_tarball; if (defined($prev_changelog)) { my $cur = Dpkg::Version->new($changelog->{'Version'}); my $prev = Dpkg::Version->new($prev_changelog->{'Version'}); if ($cur->version() ne $prev->version()) { $include_tarball = 1; } elsif ($changelog->{'Source'} ne $prev_changelog->{'Source'}) { $include_tarball = 1; } else { $include_tarball = 0; } } else { # No previous entry means first upload, tarball required $include_tarball = 1; } my $ext = compression_get_file_extension_regex(); if ((($sourcestyle =~ m/i/ && !$include_tarball) || $sourcestyle =~ m/d/) && any { m/\.(?:debian\.tar|diff)\.$ext$/ } $checksums->get_files()) { $origsrcmsg = g_('not including original source code in upload'); foreach my $f (grep { m/\.orig(-.+)?\.tar\.$ext$/ } $checksums->get_files()) { $checksums->remove_file($f); $checksums->remove_file("$f.asc"); } } else { if ($sourcestyle =~ m/d/ && none { m/\.(?:debian\.tar|diff)\.$ext$/ } $checksums->get_files()) { warning(g_('ignoring -sd option for native Debian package')); } $origsrcmsg = g_('including full source code in upload'); } push @archvalues, 'source'; # Only add attributes for files being distributed. for my $f ($checksums->get_files()) { $dist->add_file($f, $sec, $pri); } } elsif (build_is(BUILD_ARCH_DEP)) { $origsrcmsg = g_('binary-only arch-specific upload ' . '(source code and arch-indep packages not included)'); } elsif (build_is(BUILD_ARCH_INDEP)) { $origsrcmsg = g_('binary-only arch-indep upload ' . '(source code and arch-specific packages not included)'); } else { $origsrcmsg = g_('binary-only upload (no source code included)'); } my $dist_binaries = 0; $dist->load($fileslistfile) if -e $fileslistfile; foreach my $file ($dist->get_files()) { my $f = $file->{filename}; my $p = $file->{package}; my $a = $file->{arch}; if (defined $p && $file->{package_type} eq 'buildinfo') { # We always distribute the .buildinfo file. $checksums->add_from_file("$uploadfilesdir/$f", key => $f); next; } # If this is a source-only upload, ignore any other artifacts. next if build_has_none(BUILD_BINARY); if (defined $a) { my $arch_all = debarch_eq('all', $a); next if build_has_none(BUILD_ARCH_INDEP) and $arch_all; next if build_has_none(BUILD_ARCH_DEP) and not $arch_all; push @archvalues, $a if not $archadded{$a}++; } if (defined $p && $file->{package_type} =~ m/^u?deb$/) { $p2f{$p} //= []; push @{$p2f{$p}}, $f; } $checksums->add_from_file("$uploadfilesdir/$f", key => $f); $dist_binaries++; } error(g_('binary build with no binary artifacts found; cannot distribute')) if build_has_any(BUILD_BINARY) && $dist_binaries == 0; # Scan control info of all binary packages foreach my $pkg ($control->get_packages()) { my $p = $pkg->{'Package'}; my $a = $pkg->{'Architecture'}; my $bp = $pkg->{'Build-Profiles'}; my $d = $pkg->{'Description'} || 'no description available'; $d = $1 if $d =~ /^(.*)\n/; my $pkg_type = $pkg->{'Package-Type'} || $pkg->get_custom_field('Package-Type') || 'deb'; my @restrictions; @restrictions = parse_build_profiles($bp) if defined $bp; if (not defined($p2f{$p})) { # No files for this package... warn if it's unexpected if (((build_has_any(BUILD_ARCH_INDEP) and debarch_eq('all', $a)) or (build_has_any(BUILD_ARCH_DEP) and (any { debarch_is($host_arch, $_) } debarch_list_parse($a, positive => 1)))) and (@restrictions == 0 or evaluate_restriction_formula(\@restrictions, \@profiles))) { warning(g_('package %s in control file but not in files list'), $p); } next; # and skip it } # Add description of all binary packages $d = $substvars->substvars($d); my $desc = encode_utf8(sprintf('%-10s - %-.65s', $p, decode_utf8($d))); $desc .= " ($pkg_type)" if $pkg_type ne 'deb'; push @descriptions, $desc; # List of files for this binary package. my @f = @{$p2f{$p}}; foreach (keys %{$pkg}) { my $v = $pkg->{$_}; if (m/^Section$/) { $f2seccf{$_} = $v foreach (@f); } elsif (m/^Priority$/) { $f2pricf{$_} = $v foreach (@f); } elsif (m/^Architecture$/) { if (build_has_any(BUILD_ARCH_DEP) and (any { debarch_is($host_arch, $_) } debarch_list_parse($v, positive => 1))) { $v = $host_arch; } elsif (!debarch_eq('all', $v)) { $v = ''; } push(@archvalues, $v) if $v and not $archadded{$v}++; } elsif (m/^Description$/) { # Description in changes is computed, do not copy this field } else { field_transfer_single($pkg, $fields); } } } # Scan fields of dpkg-parsechangelog foreach (keys %{$changelog}) { my $v = $changelog->{$_}; if (m/^Source$/i) { set_source_package($v); } elsif (m/^Maintainer$/i) { $fields->{'Changed-By'} = $v; } else { field_transfer_single($changelog, $fields); } } if ($changesdescription) { $fields->{'Changes'} = "\n" . file_slurp($changesdescription); } for my $p (keys %p2f) { if (not defined $control->get_pkg_by_name($p)) { # Skip automatically generated packages (such as debugging symbol # packages), by using the Auto-Built-Package field. next if all { my $file = $dist->get_file($_); $file->{attrs}->{automatic} eq 'yes' } @{$p2f{$p}}; warning(g_('package %s listed in files list but not in control info'), $p); next; } foreach my $f (@{$p2f{$p}}) { my $file = $dist->get_file($f); my $sec = $f2seccf{$f} || $sourcedefault{'Section'} // '-'; if ($sec eq '-') { warning(g_("missing Section for binary package %s; using '-'"), $p); } if ($sec ne $file->{section}) { error(g_('package %s has section %s in control file but %s in ' . 'files list'), $p, $sec, $file->{section}); } my $pri = $f2pricf{$f} || $sourcedefault{'Priority'} // '-'; if ($pri eq '-') { warning(g_("missing Priority for binary package %s; using '-'"), $p); } if ($pri ne $file->{priority}) { error(g_('package %s has priority %s in control file but %s in ' . 'files list'), $p, $pri, $file->{priority}); } } } info($origsrcmsg); $fields->{'Format'} = $substvars->get('Format'); if (length $fields->{'Date'} == 0) { setlocale(LC_TIME, 'C'); $fields->{'Date'} = POSIX::strftime('%a, %d %b %Y %T %z', localtime); setlocale(LC_TIME, ''); } $fields->{'Binary'} = join ' ', sort keys %p2f; # Avoid overly long line by splitting over multiple lines if (length($fields->{'Binary'}) > 980) { $fields->{'Binary'} =~ s/(.{0,980}) /$1\n/g; } $fields->{'Architecture'} = join ' ', @archvalues; $fields->{'Built-For-Profiles'} = join ' ', get_build_profiles(); $fields->{'Description'} = "\n" . join("\n", sort @descriptions); $fields->{'Files'} = ''; foreach my $f ($checksums->get_files()) { my $file = $dist->get_file($f); $fields->{'Files'} .= "\n" . $checksums->get_checksum($f, 'md5') . ' ' . $checksums->get_size($f) . " $file->{section} $file->{priority} $f"; } $checksums->export_to_control($fields); # redundant with the Files field delete $fields->{'Checksums-Md5'}; $fields->{'Source'} = get_source_package(); if ($fields->{'Version'} ne $substvars->get('source:Version')) { $fields->{'Source'} .= ' (' . $substvars->get('source:Version') . ')'; } $fields->{'Maintainer'} = $forcemaint if defined($forcemaint); $fields->{'Changed-By'} = $forcechangedby if defined($forcechangedby); for my $f (qw(Version Distribution Maintainer Changes)) { error(g_('missing information for critical output field %s'), $f) unless defined $fields->{$f}; } for my $f (qw(Urgency)) { warning(g_('missing information for output field %s'), $f) unless defined $fields->{$f}; } for my $f (keys %override) { $fields->{$f} = $override{$f}; } for my $f (keys %remove) { delete $fields->{$f}; } # Note: do not perform substitution of variables, one of the reasons is that # they could interfere with field values, for example the Changes field. $fields->save($outputfile);
Close