K2LL33D SHELL

 Apache/2.4.7 (Ubuntu)
 Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
 uid=33(www-data) gid=33(www-data) groups=33(www-data)
 safemode : OFF
 MySQL: ON | Perl: ON | cURL: OFF | WGet: ON
  >  / lib / recovery-mode /
server ip : 172.67.156.115

your ip : 172.70.80.171

H O M E


Filename/lib/recovery-mode/recovery-menu
Size3.06 kb
Permissionrwxr-xr-x
Ownerroot : root
Create time27-Apr-2025 09:55
Last modified09-Mar-2012 03:28
Last accessed05-Jul-2025 15:52
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
#!/bin/bash

if [ ! -x "$(which whiptail)" ]; then
echo "Couldn't find whiptail, starting root shell instead of recovery menu."
sulogin
clear
exit
fi

# include gettext stuff
. /lib/recovery-mode/l10n.sh

# main
READONLY=true

while true; do
unset items

if [ "$READONLY" = "true" ]; then
menu_text=$(eval_gettext "Recovery Menu (filesystem state: read-only)")
else
menu_text=$(eval_gettext "Recovery Menu (filesystem state: read/write)")
fi

items[c++]="resume"
items[c++]=$(eval_gettext " Resume normal boot")

for i in /lib/recovery-mode/options/*; do
if [ -x "$i" ]; then
name="`"$i" test`"
if [ $? -eq 0 ]; then
items[c++]="${i##*/}"
items[c++]=" $name"
fi
fi
done

choice="$(whiptail --nocancel --menu "$menu_text" 18 70 10 \
"${items[@]}" \
3>&1 1>&2 2>&3 3>&-)"

if [ -z "$choice" ]; then
continue
fi

if [ "$choice" = "resume" ]; then
box_text=$(eval_gettext "You are now going to exit the recovery mode and continue the boot sequence. Please note that some graphic drivers require a full graphical boot and so will fail when resuming from recovery.
If that's the case, simply reboot from the login screen and then perform a standard boot.")
whiptail --msgbox "$box_text" 12 70
clear
exit
fi

/lib/recovery-mode/options/$choice test mode >/dev/null 2>&1
retval=$?

# Hack for the fsck case (needs to be cosidered read/write only when
# in read-only mode and read-only only when in read/write mode)
if [ "$choice" = "fsck" ] && [ "$READONLY" = "false" ]; then
retval=1
fi

case "$retval" in
0)
# 0 => requires read/write
if [ "$READONLY" = "true" ]; then
box_text=$(eval_gettext "Continuing will remount your / filesystem in read/write mode and mount any other filesystem defined in /etc/fstab.
Do you wish to continue?")
whiptail --yesno "$box_text" 10 70 || continue

if [ "$choice" = "fsck" ]; then
FSCHECK="true"
fi

# Code mostly taken from mountall upstart job
. /etc/default/rcS
[ "$FSCHECK" = "true" ] || [ -f /forcefsck ] && force_fsck="--force-fsck"
[ "$FSCKFIX" = "yes" ] && fsck_fix="--fsck-fix"
mountall $force_fsck $fsck_fix --no-events
rm -f /forcefsck 2>dev/null || true

if [ "$choice" = "fsck" ]; then
echo ""
echo $(eval_gettext "Finished, please press ENTER")
read TMP
fi

READONLY=false
fi
;;

1)
# 1 => read-only only
if [ "$READONLY" = "false" ]; then
box_text=$(eval_gettext "The option you selected requires your filesystem to be in read-only mode. Unfortunately another option you selected earlier, made you exit this mode.
The easiest way of getting back in read-only mode is to reboot your system.")
whiptail --msgbox "$box_text" 12 70
continue
fi
;;

2)
# 2 => works in all cases
# nothing to do
;;
esac

export READONLY
/lib/recovery-mode/options/$choice
done