#! /bin/bash name=packages_state location="$HOME/SYS_SAVES/" if [ $# -ne 0 ]; then if [ ! -z "$1" -a "$1" != "here" ]; then name=$1 fi if [ "$2" = here -o "$1" = here ]; then location="." elif [ ! -z "$2" ]; then echo "Second argument can be void or 'here' only" exit fi fi cd $location pathName="$name""_$(date +'%Y-%m-%d @ %Hh%M')" mkdir "$pathName" cd "./$pathName" mkdir "./preferences.d" cp /etc/apt/sources.list . cp /etc/apt/preferences.d/my_preferences ./preferences.d/ cp -r --copy-contents /etc/apt/sources.list.d . sudo dpkg --get-selections > "manual_package_save" a=C4.sh echo "#! /bin/bash" > $a echo "" >> $a echo "cd .." >> $a echo "rm -r \"$pathName\"" >> $a chmod u+x "$a" b="package_restore.sh" echo "#! /bin/bash" > $b echo "" >> $b echo 'if [ $(id -u) -ne "0" ]; then' >> $b echo ' echo "Please execute with superuser privileges"' >> $b echo " exit -1" >> $b echo fi >> $b echo "" >> $b echo cp ./sources.list /etc/apt/sources.list >> $b echo cp ./preferences.d/my_preferences /etc/apt/preferences.d/my_preferences >> $b echo 'cp -r ./sources.list.d/* /etc/apt/sources.list.d' >> $b echo "" >> $b echo apt-get update >> $b echo apt-get install dselect >> $b echo "dpkg --set-selections < "manual_package_save"" >> $b echo apt-get dselect-upgrade >> $b echo apt-get remove dselect >> $b chmod u-x "$b" cd - exit