Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
PK ! %Ó*½´ ´
nbdroot.shnu ȯÝí #!/bin/sh
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
PATH=/usr/sbin:/usr/bin:/sbin:/bin
# Huh? Empty $1?
[ -z "$1" ] && exit 1
# Huh? Empty $2?
[ -z "$2" ] && exit 1
# Huh? Empty $3?
[ -z "$3" ] && exit 1
# root is in the form root=nbd:srv:port[:fstype[:rootflags[:nbdopts]]]
netif="$1"
nroot="$2"
NEWROOT="$3"
# If it's not nbd we don't continue
[ "${nroot%%:*}" = "nbd" ] || return
nroot=${nroot#nbd:}
nbdserver=${nroot%%:*}; nroot=${nroot#*:}
nbdport=${nroot%%:*}; nroot=${nroot#*:}
nbdfstype=${nroot%%:*}; nroot=${nroot#*:}
nbdflags=${nroot%%:*}
nbdopts=${nroot#*:}
if [ "$nbdopts" = "$nbdflags" ]; then
unset nbdopts
fi
if [ "$nbdflags" = "$nbdfstype" ]; then
unset nbdflags
fi
if [ "$nbdfstype" = "$nbdport" ]; then
unset nbdfstype
fi
if [ -z "$nbdfstype" ]; then
nbdfstype=auto
fi
# look through the NBD options and pull out the ones that need to
# go before the host etc. Append a ',' so we know we terminate the loop
nbdopts=${nbdopts},
while [ -n "$nbdopts" ]; do
f=${nbdopts%%,*}
nbdopts=${nbdopts#*,}
if [ -z "$f" ]; then
break
fi
if [ -z "${f%bs=*}" -o -z "${f%timeout=*}" ]; then
preopts="$preopts $f"
continue
fi
opts="$opts $f"
done
# look through the flags and see if any are overridden by the command line
nbdflags=${nbdflags},
while [ -n "$nbdflags" ]; do
f=${nbdflags%%,*}
nbdflags=${nbdflags#*,}
if [ -z "$f" ]; then
break
fi
if [ "$f" = "ro" -o "$f" = "rw" ]; then
nbdrw=$f
continue
fi
fsopts=${fsopts:+$fsopts,}$f
done
getarg ro && nbdrw=ro
getarg rw && nbdrw=rw
fsopts=${fsopts:+$fsopts,}${nbdrw}
# XXX better way to wait for the device to be made?
i=0
while [ ! -b /dev/nbd0 ]; do
[ $i -ge 20 ] && exit 1
if [ $UDEVVERSION -ge 143 ]; then
udevadm settle --exit-if-exists=/dev/nbd0
else
sleep 0.1
fi
i=$(($i + 1))
done
# If we didn't get a root= on the command line, then we need to
# add the udev rules for mounting the nbd0 device
if [ "$root" = "block:/dev/root" -o "$root" = "dhcp" ]; then
printf 'KERNEL=="nbd0", ENV{DEVTYPE}!="partition", ENV{ID_FS_TYPE}=="?*", SYMLINK+="root"\n' >> /etc/udev/rules.d/99-nbd-root.rules
udevadm control --reload
type write_fs_tab >/dev/null 2>&1 || . /lib/fs-lib.sh
write_fs_tab /dev/root "$nbdfstype" "$fsopts"
wait_for_dev -n /dev/root
if [ -z "$DRACUT_SYSTEMD" ]; then
printf '/bin/mount %s\n' \
"$NEWROOT" \
> $hookdir/mount/01-$$-nbd.sh
fi
fi
if strstr "$(nbd-client --help 2>&1)" "systemd-mark"; then
preopts="--systemd-mark $preopts"
fi
if [ "$nbdport" -gt 0 ] 2>/dev/null; then
if [ -z "$DRACUT_SYSTEMD" ]; then
nbd-client "$nbdserver" $nbdport /dev/nbd0 $preopts $opts || exit 1
else
systemd-run --no-block --service-type=forking --quiet \
--description="nbd nbd0" \
-p 'DefaultDependencies=no' \
-p 'KillMode=none' \
--unit="nbd0" -- nbd-client "$nbdserver" $nbdport /dev/nbd0 $preopts $opts >/dev/null 2>&1 || exit 1
fi
else
if [ -z "$DRACUT_SYSTEMD" ]; then
nbd-client -name "$nbdport" "$nbdserver" /dev/nbd0 $preopts $opts || exit 1
else
systemd-run --no-block --service-type=forking --quiet \
--description="nbd nbd0" \
-p 'DefaultDependencies=no' \
-p 'KillMode=none' \
--unit="nbd0" -- nbd-client -name "$nbdport" "$nbdserver" /dev/nbd0 $preopts $opts >/dev/null 2>&1 || exit 1
fi
fi
# NBD doesn't emit uevents when it gets connected, so kick it
echo change > /sys/block/nbd0/uevent
udevadm settle
need_shutdown
exit 0
PK ! B¢ module-setup.shnu ȯÝí #!/bin/bash
# called by dracut
check() {
local _rootdev
# if an nbd device is not somewhere in the chain of devices root is
# mounted on, fail the hostonly check.
[[ $hostonly ]] || [[ $mount_needs ]] && {
is_nbd() { [[ -b /dev/block/$1 && $1 == 43:* ]] ;}
_rootdev=$(find_root_block_device)
[[ -b /dev/block/$_rootdev ]] || return 1
check_block_and_slaves is_nbd "$_rootdev" || return 255
}
require_binaries nbd-client || return 1
return 0
}
# called by dracut
depends() {
# We depend on network modules being loaded
echo network rootfs-block
}
# called by dracut
installkernel() {
instmods nbd
}
# called by dracut
install() {
inst nbd-client
inst_hook cmdline 90 "$moddir/parse-nbdroot.sh"
inst_script "$moddir/nbdroot.sh" "/sbin/nbdroot"
if dracut_module_included "systemd-initrd"; then
inst_script "$moddir/nbd-generator.sh" $systemdutildir/system-generators/dracut-nbd-generator
fi
dracut_need_initqueue
}
PK ! î»f¢Ü Ü parse-nbdroot.shnu ȯÝí #!/bin/sh
#
# Preferred format:
# root=nbd:srv:port/exportname[:fstype[:rootflags[:nbdopts]]]
# [root=*] netroot=nbd:srv:port/exportname[:fstype[:rootflags[:nbdopts]]]
#
# nbdopts is a comma separated list of options to give to nbd-client
#
# root= takes precedence over netroot= if root=nbd[...]
#
# Sadly there's no easy way to split ':' separated lines into variables
netroot_to_var() {
local v=${1}:
set --
while [ -n "$v" ]; do
set -- "$@" "${v%%:*}"
v=${v#*:}
done
unset server port
server=$2; port=$3;
}
# This script is sourced, so root should be set. But let's be paranoid
[ -z "$root" ] && root=$(getarg root=)
if [ -z "$netroot" ]; then
for netroot in $(getargs netroot=); do
[ "${netroot%%:*}" = "nbd" ] && break
done
[ "${netroot%%:*}" = "nbd" ] || unset netroot
fi
# Root takes precedence over netroot
if [ "${root%%:*}" = "nbd" ] ; then
if [ -n "$netroot" ] ; then
warn "root takes precedence over netroot. Ignoring netroot"
fi
netroot=$root
unset root
fi
# If it's not nbd we don't continue
[ "${netroot%%:*}" = "nbd" ] || return
if [ -n "${DRACUT_SYSTEMD}" ] && [ "$root" = "dhcp" ]; then
echo "root=$netroot" > /etc/cmdline.d/root.conf
systemctl --no-block daemon-reload
fi
# Check required arguments
netroot_to_var $netroot
[ -z "$server" ] && die "Argument server for nbdroot is missing"
[ -z "$port" ] && die "Argument port for nbdroot is missing"
# NBD actually supported?
incol2 /proc/devices nbd || modprobe nbd || die "nbdroot requested but kernel/initrd does not support nbd"
# Done, all good!
rootok=1
# Shut up init error check
if [ -z "$root" ]; then
root=block:/dev/root
wait_for_dev -n /dev/root
fi
PK ! YÓ²ý€ € nbd-generator.shnu ȯÝí #!/bin/sh
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
[ -z "$root" ] && root=$(getarg root=)
[ "${root%%:*}" = "nbd" ] || exit 0
GENERATOR_DIR="$2"
[ -z "$GENERATOR_DIR" ] && exit 1
[ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
ROOTFLAGS="$(getarg rootflags)"
nroot=${root#nbd:}
nbdserver=${nroot%%:*}; nroot=${nroot#*:}
nbdport=${nroot%%:*}; nroot=${nroot#*:}
nbdfstype=${nroot%%:*}; nroot=${nroot#*:}
nbdflags=${nroot%%:*}
if [ "$nbdflags" = "$nbdfstype" ]; then
unset nbdflags
fi
if [ "$nbdfstype" = "$nbdport" ]; then
unset nbdfstype
fi
[ -n "$nbdflags" ] && ROOTFLAGS="$nbdflags"
if getarg "ro"; then
if [ -n "$ROOTFLAGS" ]; then
ROOTFLAGS="$ROOTFLAGS,ro"
else
ROOTFLAGS="ro"
fi
fi
if [ -n "$nbdfstype" ]; then
ROOTFSTYPE="$nbdfstype"
else
ROOTFSTYPE=$(getarg rootfstype=) || unset ROOTFSTYPE
fi
{
echo "[Unit]"
echo "Before=initrd-root-fs.target"
echo "[Mount]"
echo "Where=/sysroot"
echo "What=/dev/root"
[ -n "$ROOTFSTYPE" ] && echo "Type=${ROOTFSTYPE}"
[ -n "$ROOTFLAGS" ] && echo "Options=${ROOTFLAGS}"
} > "$GENERATOR_DIR"/sysroot.mount
exit 0
PK ! %Ó*½´ ´
nbdroot.shnu ȯÝí PK ! B¢ î module-setup.shnu ȯÝí PK ! î»f¢Ü Ü - parse-nbdroot.shnu ȯÝí PK ! YÓ²ý€ € I nbd-generator.shnu ȯÝí PK 9