Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #!/bin/bash -e
- #-Försöker få whiptail att fungera med bash - Mest som ett test-#
- version="0.6.1"
- www="http://alturl.com/w9wbu"
- email="hynten@speed-mailer.com"
- depends="whiptail fakeroot grep sed dpkg-repack dpkg-dev apt-move sudo \
- taskset gzip nano awk perl cowsay toilet rmdupe apt-cdrom genisoimage dd"
- #===========================#)
- # datum="-`date +%Y-%m-%d`" #)
- #===========================#)
- #===========================================================#)
- # Then when I need to colourize some output #)
- #=============================0=============================#)
- black() { echo "$(tput setaf 0)$*$(tput setaf 9)"; } #)
- red() { echo "$(tput setaf 1)$*$(tput setaf 9)"; } #)
- green() { echo "$(tput setaf 2)$*$(tput setaf 9)"; } #)
- yellow() { echo "$(tput setaf 3)$*$(tput setaf 9)"; } #)
- blue() { echo "$(tput setaf 4)$*$(tput setaf 9)"; } #)
- magenta() { echo "$(tput setaf 5)$*$(tput setaf 9)"; } #)
- cyan() { echo "$(tput setaf 6)$*$(tput setaf 9)"; } #)
- white() { echo "$(tput setaf 7)$*$(tput setaf 9)"; } #)
- #===========================================================#)
- # echo -en "\033[s\033[7B\033[1;34m 7 violet \033[u\033[0m" #)
- # echo -en "\033[s\033[7A\033[1;32m 7 green \033[u\033[0m" #)
- #===========================================================#)
- #---PASSWORD-CHECK-START----------------------------------------------------------------------------------------------------#
- get_password() {
- exec 3>&1
- REPLY=`whiptail --ok-button 'Unlock' --nocancel --passwordbox 'Enter password:' 7 21 2>&1 1>&3`
- exec 3>&-
- return 0
- }
- while
- get_password
- [[ $REPLY != '0' ]]
- do
- whiptail --ok-button 'Try again' --msgbox 'Access denied!' 7 19
- done
- whiptail --ok-button 'Continue' --msgbox 'Access granted!' 7 19
- #---------------------------------------------------------------------------------------------------------#
- #-----------------------------------------------------------------------------------------------#
- function EDIT-SOURCES-LIST () {
- nano /etc/apt/sources.list
- }
- #------------------------------------------------------------------------------------------------#
- #===========================#)
- #======================================================hynten@speed-mailer.com=======================================#)
- CREATE-CHROOT-IN-MNT() { #)
- reset #)
- echo "chroot" #)
- echo "[-> run command or interactive shell <-]" #)
- echo "[-> with special root directory <-]" #)
- echo "[->----------------------------------<-]" #)
- sudo rsync -ahPHAXx --delete --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} / /mnt #)
- for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done #)
- sudo cd / ; sudo chroot /mnt ; sudo grub-install --recheck /dev/sda ; sudo update-grub #)
- return 0 #)
- } #)
- TEST-CHROOT-IN-MNT() {
- #====================================================================================================================#)
- # Script: test-chroot <- no .sh this is a command like whoami
- # Author: hynt@speed-mailer.com
- # url: http://alturl.com/u9qoh
- #
- # Date: 2015-04-19 - 01 (ee = times edited)
- #
- # Purpose: Detecting a chroot jail from within
- # without root privileges?
- #
- # Notes: sudo chmod u=rwx,g=rx,o=r test-chroot
- # sudo cp test-chroot /bin
- # Now you write test-chroot,
- # And the program starts---
- #
- clear
- echo "☢TEST-CHROOT☢"
- echo "-------------------------------"
- echo "If you are not in a chroot"
- echo "the inode for / will always be 2"
- echo "now check that is: ☻"
- echo "-------------------------------"
- printf 'Inode: %s\n' $( stat -c %i / )
- printf ' User: %s\n' $( whoami )
- printf ' Path: %s\n' $( pwd )
- echo "-------------------------------"
- return 0 #)
- }
- START-CHROOT-IN-MNT() {
- reset
- echo "now enter chroot"
- for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
- cd / ; sudo chroot mnt
- clear
- echo "☢TEST-CHROOT☢"
- echo "-------------------------------"
- echo "If you are not in a chroot"
- echo "the inode for / will always be 2"
- echo "now check that is: ☻"
- echo "-------------------------------"
- printf 'Inode: %s\n' $( stat -c %i / )
- printf ' User: %s\n' $( whoami )
- printf ' Path: %s\n' $( pwd )
- echo "-------------------------------"
- }
- #=======hynten@speed-mailer.com============#)
- SUDO-2-USER() { #)
- reset #)
- echo "-> ADD USER 2 SUDO LIST <-" #)
- echo "-> Enter User:" #)
- read usr ; sudo usermod -a -G sudo $usr #)
- return 0 #)
- } #)
- #==========================================#)
- function REMOVE-ALL-INSTALLED-TODAY () {
- whiptail --title "REMOVE ALL PACKAGES INSTALLED TODAY" --msgbox "This can come in handy one day.." 8 78
- read -p 'Are you sure you want to continue? (y/n) ' -n 1 confirmation
- echo ''
- if [[ $confirmation != 'y' && $confirmation != 'Y' ]]; then
- exit 3
- fi
- dpkg -l | awk '{print $2}' > `date +%Y-%m-%d`-all-installed-before-today-removes.packages
- grep -e `date +%Y-%m-%d` /var/log/dpkg.log | awk '/install / {print $4}' | uniq | xargs apt-get -y remove
- }
- #----------------------------------------------------------------------------#
- function REMOVE-REPEATED-PPA () {
- whiptail --title "REMOVE REPEATED PPPA" --msgbox "Remove All Repeated PPA in Sources.list" 8 78
- cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list
- sleep 4
- whiptail --msgbox "Now your /etc/apt/sources.list is free from repeated PPA...." --title "Ok! all done.." --backtitle "hynten@speed-mailer-com" 12 60
- }
- #----------------------------------------------------------------------------#
- #----------------------------------------------------------------------------#
- function QUIT () {
- reset
- red "Bye!... Nice to meet yaa! cya later!"
- red "look 4 new version: http://alturl.com/w9wbu"
- sleep 3
- exit
- }
- #------------------------------------------------------------------------------#
- #----------------------------------------------------------------------------#
- function DPKG-REPACK () {
- whiptail --title "DPKG-REPACK" --msgbox "All Installed Packages create repack 2 *.deb files script" 8 78
- repackSavePath=$(whiptail --inputbox "Where To Save Created Script:?" 8 78 "/home/hynt/" --title "Enter like ex. /home/hynt/backup/" 3>&1 1>&2 2>&3)
- dpkg -l | awk '{print $2}' | sed "s/^/\ fakeroot -u dpkg-repack /; s/$/\ /;" > /$repackSavePath/repack-all-packages-`date +%Y-%m-%d`.sh
- sed '1,6d' < /$repackSavePath/repack-all-packages-`date +%Y-%m-%d`.sh > /$repackSavePath/repack-all-package-`date +%Y-%m-%d`.sh
- rm /$repackSavePath/repack-all-packages-`date +%Y-%m-%d`.sh
- chmod u=rwx,g=rx,o=r /$repackSavePath/repack-all-package-`date +%Y-%m-%d`.sh
- }
- #----------------------------------------------------------------------------#
- #----------------------------------------------------------------------------#
- function ADD-PACKAGE-TO-INSTALL () {
- CommandToInstallToScript="sudo apt-get --ignore-missing install "
- AddedPackagePath=$(whiptail --inputbox "Where To Append Package:?" 8 78 "/home/hynt/" --title "Enter like ex. /home/hynt/ no need to enter filename" 3>&1 1>&2 2>&3)
- AddedPackage=$(whiptail --inputbox "Enter Package To Add:?" 8 78 "?" --title "Add-Package-2-Install-Script" 3>&1 1>&2 2>&3)
- #$COMMAND + $INPUT >> $PATCH $FILE
- sudo sh -c "echo \"$CommandToInstallToScript $AddedPackage\" >> /$AddedPackagePath/install.sh" ; red "......" ; sleep 1
- chmod u=rwx,g=rx,o=r /$AddedPackagePath/install.sh
- red "RESTART-SCRIPT" ; RESTART-SCRIPT ; sleep 2
- }
- #----------------------------------------------------------------------------#
- function ALL-INSTALLED-PACKAGES () {
- AllInstalledPackagesSavePath=$(whiptail --inputbox "Where To Save Created Script:?" 8 78 "/home/hynt/" --title "Enter like ex. /home/hynt/backup/" 3>&1 1>&2 2>&3)
- cat /etc/apt/sources.list >> /$AllInstalledPackagesSavePath/sources.list
- sudo dpkg --get-selections | awk '$2 ~ /^install$/ {print $1}' > /$AllInstalledPackagesSavePath/installed
- sort $AllInstalledPackagesSavePath/installed | uniq -u >> /$AllInstalledPackagesSavePath/installed
- awk '{print "sudo apt-get -y --force-yes --allow-unauthenticated --ignore-missing install --reinstall " $0}' < /$AllInstalledPackagesSavePath/installed > $AllInstalledPackagesSavePath/installed-package-installer-`date +%Y-%m-%d`.sh
- perl -pi -e 'print "sudo cp sources.list /etc/apt/ && sudo apt-get update\n" if $.==1' /$AllInstalledPackagesSavePath/installed-package-installer-`date +%Y-%m-%d`.sh
- perl -pi -e 'print "#! /bin/bash\n" if $.==1' $AllInstalledPackagesSavePath/installed-package-installer-`date +%Y-%m-%d`.sh
- echo "sudo apt-get dist-upgrade" >> /$AllInstalledPackagesSavePath/installed-package-installer-`date +%Y-%m-%d`.sh
- chmod u=rwx,g=rx,o=r /$AllInstalledPackagesSavePath/installed-package-installer-`date +%Y-%m-%d`.sh
- sleep 2
- rm $AllInstalledPackagesSavePath/installed
- sudo echo echo "hynten@speed-mailer.com" >> $AllInstalledPackagesSavePath/installed-package-installer-`date +%Y-%m-%d`.sh
- red "RESTART-SCRIPT" ; RESTART-SCRIPT ; sleep 4
- }
- #----------------------------------------------------------------------------#
- #--------------------------------------------------------------------------#
- function REBOOT-THE-SYSTEM () {
- whiptail --title "reboot the system" --msgbox "Reboot in 5 second" 8 78
- read -p 'Are you sure you want to continue? (y/n) ' -n 1 confirmation
- echo ''
- if [[ $confirmation != 'y' && $confirmation != 'Y' ]]; then
- exit 3
- fi
- reset
- seconds=5
- (
- for i in $(seq $seconds -1 1); do
- reset
- red "$i seconds to shutdown...";
- sleep 1;
- done;
- red "Shutdown now!")
- sudo reboot # REBOOT THE COMPUTER
- }
- #---------------------------------------------------------------------------#
- #---------------------------------------------------------------------------#
- function MIRROR-HARD-DRIVE-2-USB () {
- reset
- red "mount" ; sudo mount
- red "fdisk -l" ; sudo fdisk -l
- red "-------hynten@speed-mailer.com-----------------------------"
- red "- ____ _ _ -"
- red "- | __ ) __ _ ___| | ___ _ _ __ | | -"
- red "- | _ \ / _ |/ __| |/ / | | | _ \| | -"
- red "- | |_) | (_| | (__| <| |_| | |_) |_| -"
- red "- |____/ \__,_|\___|_|\_\\_ _ | __/(_) -"
- red "- |_| -"
- red "- mount -"
- red "- fdisk -l <-- if my settings if the are ok! 4 u -"
- red "- -"
- red "- dd if=/dev/sda1 of=/dev/sdc1 bs=16M -"
- red "- -"
- red "- Careful one char wrong and you can fucked up the system -"
- red "- The /dev/sdc1 are not mounting while dd works! -"
- red "- -"
- red "---------------Look Above E-mail 4 your settings!----------"
- echo " "
- yellow "dd if=/dev/sda? of=/dev/sdc? bs=16M"
- }
- #---------------------------------------------------------------------------#
- #---------------------------------------------------------------------------#
- function RESTART-SCRIPT () {
- ./meny
- }
- #---------------------------------------------------------------------------#
- function LOCAL-REPO () {
- reset
- echo "---------------------------------------------------------"
- echo "- _ _ ____ -"
- echo "- | | ___ ___ __ _| | | _ \ ___ _ __ ___ -"
- echo "- | | / _ \ / __/ _ | |_____| |_) / _ \ '_ \ / _ \ -"
- echo "- | |__| (_) | (_| (_| | |_____| _ < __/ |_) | (_) | -"
- echo "- |_____\___/ \___\__,_|_| |_| \_\___| .__/ \___/ -"
- echo "- |_| -"
- echo "- APT-MOVE , DPKG-SCANPACKAGES -"
- echo "- -"
- echo "- deb file:/mirrors/debian/ / -"
- echo "- <----------------------------> -"
- echo "- \ ^__^ -"
- echo "- \ (--)\_______ -"
- echo "- (__)\ )\/\ -"
- echo "- ||----w | -"
- echo "- || || -"
- echo "---------------http://alturl.com/w9wbu-------------------"
- sleep 5
- apt-move -a move
- echo "apt-move packages" ; taskset -c 0 apt-move -a packages
- echo "dpkg-scanpackages"
- cd /mirrors/debian/ ; dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz
- #cd /mirrors//ftp/debian/ ; dpkg-scanpackages . /dev/null 2> error.txt | gzip -9c > Packages.gz
- cd /mirrors/debian/ ; dpkg-scansources -m . /dev/null | gzip -9c > Sources.gz
- #cd /mirrors//ftp/debian/ ; grep "!" < error.txt > rm.txt
- echo "apt-move sync" && apt-move sync
- echo "apt-get clean" && apt-get clean
- #next line is not get tested
- #cd /var/www/debian/ && sed 's/"dpkg-scanpackages: varning: använde den och ignorerade data från jessie/"/"rm /var/www/debian/jessie/"' rm.txt
- reset
- toilet --gay "Bye!"
- /usr/games/cowsay -t "Email:hynten@speed-mailer.com"
- }
- #---------------------------------------------------------------------------#
- function REMOVE-REPEATED-FILES () {
- whiptail --title "REMOVE REPEATED FILES" --msgbox "This Function use the program rmdupe" 8 78
- rmdupepath=$(whiptail --inputbox "What dir should we begin with?" 8 78 "/srv/ftp/" --title "Enter like ex. /srv/ftp/" 3>&1 1>&2 2>&3)
- rmdupe -r $rmdupepath
- }
- function PURGE-CONF-OF-REMOVED () {
- whiptail --title "REMOVE CONFIG FILES" --msgbox "From already removed packages files" 8 78
- sudo aptitude purge `dpkg --get-selections | grep deinstall | awk '{print $1}'`
- toilet --gay "have a nice day!"
- }
- function SCAN-PACKAGES-2-DVD () {
- ScanPackages2DvdPath=$(whiptail --inputbox "Scanpackages To Make Your Own Deb dvd/cd?" 8 78 "/home/snort/deb/" --title "Enter like ex. /home/snort/deb/" 3>&1 1>&2 2>&3)
- ScanPackages2DvdName=$(whiptail --inputbox "Give me a name to give to the iso file?" 8 78 "MyDebFiles-`date +%Y-%m-%d`" --title "Enter like ex. MyDebFiles-`date +%Y-%m-%d`" 3>&1 1>&2 2>&3)
- cd /$ScanPackages2DvdPath/ ; dpkg-scanpackages -m . /dev/null | gzip -9c > Packages.gz
- #cd /$ScanPackages2DvdPath/ ; mv *.sh ../ #flytta inte installerar med den
- genisoimage -r -o /$ScanPackages2DvdPath/$ScanPackages2DvdName.iso /$ScanPackages2DvdPath/
- whiptail --title "All done!" --msgbox "Burn it with your favorite burn program and run apt-cdrom add" 8 78
- }
- ##################################################################################################################
- OPTION=$(whiptail --title "Test Menu Dialog" --menu "Choose your option" --backtitle "Version $version" 15 80 4 \
- "ALL-INSTALLED-PACKAGES" "Convert To a Install Script.." \
- "ADD-PACKAGE-TO-INSTALL" "Add Package 2 Install Script.." \
- "REBOOT-THE-SYSTEM" "Time for a break?" \
- "DPKG-REPACK" "ALl installed packages to *.deb" \
- "EDIT-SOURCES-LIST" "Use Nano To Edit sources.list" \
- "REMOVE-REPEATED-PPA" "In /etc/apt/sources.list" \
- "REMOVE-ALL-INSTALLED-TODAY" "Today's installed removes" \
- "LOCAL-REPO" "Reindex / Add / Sync Local PPA" \
- "REMOVE-REPEATED-FILES" "Remove Repeated files with rmdupe" \
- "SCAN-PACKAGES-2-DVD" "Scanpackages To Make Your Own Deb dvd/dvd" \
- "MIRROR-HARD-DRIVE-2-USB" "Uses DD Careful copy and paste in terminal" \
- "SUDO-2-USER" "Add Normal User To Sudo List!" \
- "CREATE-CHROOT-IN-MNT" "Dont runt this if you??" \
- "TEST-CHROOT-IN-MNT" "Detecting a chroot jail from within" \
- "START-CHROOT-IN-MNT" "Start chroot created with CREATE-CHROOT-IN-MNT" \
- "PURGE-CONF-OF-REMOVED" "Purge Config Of Removed Packages Files" \
- "QUIT" "Close This Program Say Bye!..." 3>&1 1>&2 2>&3)
- exitstatus=$?
- if [ $exitstatus = 0 ]; then
- red "Your chosen option:" $OPTION
- $OPTION
- else
- red "You chose Cancel."
- fi
- ##################################################################################################################
- # If You Got Problem or somthing like that email: hynten@speed-mailer.com #
- ##################################################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement