CasperSecurity

Current Path : /var/lib/dpkg/info/
Upload File :
Current File : /var/lib/dpkg/info/console-setup.postinst

#!/bin/sh

set -e

# Source debconf library.
. /usr/share/debconf/confmodule

CONFIGDIR=/etc/console-setup
CONFIGFILE=/etc/default/console-setup

# turn around bug in dpkg (#17624)
# The following line should be uncommented before the next stable
# release of Debian.
#if dpkg --compare-versions "$2" lt-nl 1.82; then
    # Replace directory with symlink.
    if \
        [ ! -L /usr/share/doc/console-setup ] \
        && [ -d /usr/share/doc/console-setup ]
    then
	if rmdir /usr/share/doc/console-setup 2>/dev/null; then
	    ln -sf keyboard-configuration /usr/share/doc/console-setup
	fi
    fi
#fi

if [ "$1" = "configure" -a ! -L "$CONFIGFILE" ]; then
    
    db_get console-setup/codesetcode
    codeset="$RET"
    db_get console-setup/fontface47
    fontface="$RET"
    db_metaget console-setup/use_system_font description
    if [ "$fontface" = "$RET" ]; then
	fontface=''
    fi
    db_metaget console-setup/guess_font description
    if [ "$fontface" = "$RET" ]; then
	fontface=guess
    fi
    db_get console-setup/fontsize
    fontsize="$RET"
    if [ -z "$fontface" ]; then
	fontsize=''
    fi

    db_get console-setup/charmap47
    charmap="${RET:-UTF-8}"

    if [ ! -e $CONFIGFILE ]; then
        case `uname` in
            *Linux*) consoles='/dev/tty[1-6]' ;;
            *FreeBSD*) consoles='/dev/ttyv[0-5]' ;;
        esac
        sed "s|^ *ACTIVE_CONSOLES=.*|ACTIVE_CONSOLES=\"${consoles}\"|" \
            /usr/share/console-setup/console-setup >$CONFIGFILE || true
    fi

    . $CONFIGFILE || true

    CONSOLE_MAP=${CONSOLE_MAP:-$ACM}

# If $CONFFILE is produced by an old version of console-setup(-mini)
    if \
	grep "^ *XKBLAYOUT=" $CONFIGFILE >/dev/null || \
	! grep "^ *CHARMAP=" $CONFIGFILE >/dev/null
    then
	cp -a $CONFIGFILE $CONFIGFILE.tmp

	cat /usr/share/console-setup/console-setup >$CONFIGFILE.tmp

	cat >>$CONFIGFILE.tmp <<EOF

######################################################################
# You can remove the lines that follow.  They contain the contents of
# this file before version 1.47 of console-setup.
######################################################################
EOF
	sed 's/^/# /' <$CONFIGFILE >>$CONFIGFILE.tmp

	mv -f $CONFIGFILE.tmp $CONFIGFILE
    fi

    # Ensure we do not mess up the config file's ownership and permissions.
    cp -a -f $CONFIGFILE $CONFIGFILE.tmp

    # If the admin deleted or commented some variables but then set
    # them via debconf, (re-)add them to the conffile.
    for var in \
	ACTIVE_CONSOLES CHARMAP CODESET FONTFACE FONTSIZE
    do
        if ! grep "^ *${var}=" $CONFIGFILE >/dev/null; then
	    echo "${var}=" >>$CONFIGFILE
	fi
    done

    if [ "$FONT" ] && ! grep "^ *FONT=" $CONFIGFILE >/dev/null; then
	echo "FONT=" >>$CONFIGFILE
    fi
    if [ "$FONT_MAP" ] && ! grep "^ *FONT_MAP=" $CONFIGFILE >/dev/null; then
	echo "FONT_MAP=" >>$CONFIGFILE
    fi
    if \
	[ "$CONSOLE_MAP" ] \
	&& ! grep "^ *CONSOLE_MAP=" $CONFIGFILE >/dev/null \
	&& ! grep "^ *ACM=" $CONFIGFILE >/dev/null
    then
	echo "CONSOLE_MAP=" >>$CONFIGFILE
    fi
    
    sed \
	-e "s|^ *ACTIVE_CONSOLES=.*|ACTIVE_CONSOLES=\"${ACTIVE_CONSOLES:-guess}\"|" \
	-e "s|^ *FONT=.*|FONT=\"$FONT\"|" \
	-e "s|^ *FONT_MAP=.*|FONT_MAP=\"$FONT_MAP\"|" \
	-e "s|^ *CONSOLE_MAP=.*|CONSOLE_MAP=\"$CONSOLE_MAP\"|" \
	-e "s|^ *ACM=.*|CONSOLE_MAP=\"$CONSOLE_MAP\"|" \
	-e "s|^ *CHARMAP=.*|CHARMAP=\"$charmap\"|" \
	-e "s|^ *CODESET=.*|CODESET=\"$codeset\"|" \
	-e "s|^ *FONTFACE=.*|FONTFACE=\"$fontface\"|" \
	-e "s|^ *FONTSIZE=.*|FONTSIZE=\"$fontsize\"|" \
	<$CONFIGFILE >$CONFIGFILE.tmp
    
    mv -f $CONFIGFILE.tmp $CONFIGFILE

    db_set console-setup/store_defaults_in_debconf_db true
fi

# The second setupcon may start background processes inheriting file
# descriptors from debconf.
db_stop

# We redirect the output so that postinst does not block when ScrollLock is on
# This works even if we are not on the console
setupcon --save-only >/dev/null 2>/dev/null || true
if type plymouth >/dev/null && plymouth --ping; then
    # setting the keymap breaks with plymouth in raw mode, and setting the
    # font will currently also break if on vgacon
    :
elif [ -d /lib/debian-installer ]; then
    setupcon --force >/dev/null 2>/dev/null || true
else
    if ! setupcon >/dev/null 2>/dev/null; then
        cat >&2 <<EOF
Your console font configuration will be updated the next time your system
boots. If you want to update it now, run 'setupcon' from a virtual console.
EOF
    fi
fi



if type update-initramfs >/dev/null 2>&1; then
    update-initramfs -u
fi

exit 0
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY