Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Iso - remaster script trying to start chroot run commands then exit but host system gets messed up Post 303039753 by paulhoffusa on Monday 14th of October 2019 04:12:10 PM
Old 10-14-2019
Code:
# Begin chroot 
chrootbeg() {
  echo "chrootbeg - beg funct ..."
  sudo mount --bind /dev/ unsquash/dev
  sudo chroot unsquash

  mount -t proc none /proc/
  mount -t sysfs none /sys/
  mount -t devpts none /dev/pts
  export HOME=/root
  export LC_ALL=C
  dbus-uuidgen > /var/lib/dbus/machine-id
  dpkg-divert --local --rename --add /sbin/initctl   //not sure what this does...
  ln -s /bin/true /sbin/initctl
}

# End chroot
chrootend(){
  echo "chrootend - beg funct ..."
  ap_clean
  rm -rf /tmp/* ~/.bash_history
  rm /var/lib/dbus/machine-id
  rm /etc/resolv.conf
  rm /sbin/initctl
  dpkg-divert --rename --remove /sbin/initctl
  #### Clean older/non-used kernels...
  dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
  umount /proc || umount -lf /proc
  umount /sys || umount -lf /sys
  umount /dev/pts  || umount -lf /dev/pts
  #HELP - Uncomment or comment out lines below?
  #HELP - will exit exit function early and not execute unmount command below?
  # Move 2 lines outside of function to be executed after function
  #exit
  #sudo umount unsquash/dev || umount -lf unsquash/dev
  #HELP - END
}


#HELP - after this script ends run with 'm' option -
  # my system is messed up. Not sure if never chrooted correct or 
  # never exited correctly. I have a 30 GB VB image i have backed up
  # that  I have to restore from every time after this script runs
  # when trying to run all code inbetween the chrootbeg and chrootend
  # functions. Can some expert please give me something specific to try
  # I think my chroot code is flawed but not sure why. I can't even run 
  # the sudo command on main system after this script run after chroot.
  echo "Chrooting into the system ..."
  chrootbeg
  fn="/etc/apt/sources.list"
  cat $fn | grep "non-free" 2>/dev/null >/dev/null
  if [ "$?" != "0" ]; then
    if [ ! -f $fn.org ]; then
      cp $fn $fn.org
    fi
    echo "Modifying file '"$fn"' adding contrib and non-free repos ..."
    sed -i 's/main/main contrib non-free/g' $fn
    cp $fn $fn.mod
    echo; ls -la $fn*; echo
  fi
  echo "apt-get update ..."
  apt-get update
  echo "Deleting libreoffice ..."
  apt-get remove --purge libreoffice-*
  echo "Deleting all non English language packs ..." 
  apt-get remove --purge `dpkg-query -W --showformat='${Package}\n' | grep language-pack | egrep -v '\-en'`
  echo "apt-get upgrade ..."
  apt-get upgrade
  echo "Installing various packages that I need ..."
  apt install curl wget apt-transport-https dirmngr
  echo "Chrooting the system  is ending ..."
  chrootend 
  echo "WARN WARN WARN - Make sure line below is executed because occurs after an exit ..."
  echo "sudo umount unsquash/dev || umount -lf unsquash/dev"
  echo "Run 'mount | grep \"unsquash/dev\"' to check after this script exits!"
  exit
  sudo umount unsquash/dev || umount -lf unsquash/dev
  #HELP - END

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Run a shell script from one host which connext to remote host and run the commands

I want to write a script which would run from one host say A and connect to other remote host B and then run rest of commands in that host. I tried connecting from A host to B with SSH but after connecting to host B it just getting me inside Host B command prompt. Rest of the script is not running... (6 Replies)
Discussion started by: SN2009
6 Replies

2. UNIX for Dummies Questions & Answers

How to start a chroot jail?

I was reading an article on how it is very important to setup a chroot jail to run bind. I can follow what the article says but one thing I am unclear about is now on system boot the BIND process in the chroot jail will start since it the owner will no longer be root but some other user. Can... (1 Reply)
Discussion started by: mojoman
1 Replies

3. Shell Programming and Scripting

running commands to remote host from centralized host

Gurus/Experts We have a centralized UNIX/Solaris server from where we can actually ssh to all other UNIX/Solaris servers...I need to write a script that reside on this centerlized server and do FileSystem monitoring (basically run df -h or -k) of other remote servers and then send an email to me... (6 Replies)
Discussion started by: anjum.suri
6 Replies

4. Shell Programming and Scripting

fuser exit code different when script is run from cron

Hi, I am writing a bash script (running on Centos 5.4) to process video (.MTS) files which may have appeared in a certain directory. The files will be dragged and dropped there from a Windows box using Samba, and the script is to check periodically (i.e. run from cron) whether any new .MTS... (0 Replies)
Discussion started by: Palamedes
0 Replies

5. UNIX for Dummies Questions & Answers

Run a script on remote host

Hi, I wish to run a script located on a remote host machineB from machineA. I am using ssh and running the below on machineA. However, the ssh does not seem to work and freezes at ssh -l wlsadmin machineB -v Sun_SSH_1.1.2, SSH protocols 1.5/2.0, OpenSSL 0x0090704f debug1: Reading... (9 Replies)
Discussion started by: shifahim
9 Replies

6. Shell Programming and Scripting

HTML Code to Run a Script from Remote Unix Host

Hi All, Noticed few posts around this but coudnt get exatcly what i wanted. Thanks for your help again. I have a script running on a remote machine and i normally ssh from putty and run the script manually. Is there anyway that i can write an HTML Code with a button so taht when I Click... (1 Reply)
Discussion started by: robinbannis
1 Replies

7. Shell Programming and Scripting

How to run a shell script on a remote host using ftp

Hi, is there a way I can run a shell script through ftp on a remote host? The remote host doesn't have ssh running so I can't use ssh. (7 Replies)
Discussion started by: mrskittles99
7 Replies

8. UNIX for Dummies Questions & Answers

Creating chroot environment with an ISO file.

I decided to try creating a chroot environment with a BT5r2 iso file. I'm just wanting to run Backtrack from inside Debian without having to reboot into my other partition or use vmware. I found some documentation on how to do this with BT4 at this link: ... (0 Replies)
Discussion started by: Azrael
0 Replies

9. Shell Programming and Scripting

Run script on remote host

Hi friends, I have two servers. Server A and B. I want to run one script on server A by logging in to server B. Can anyone provide me code for this.? I tried it by using following ssh username@serverA ./script Then it prompt me the password. I give correct password of the server A. but it... (7 Replies)
Discussion started by: Nakul_sh
7 Replies

10. Shell Programming and Scripting

Inner script run and its exit status

Main Script #!/bin/ksh echo "Maimn script" ./clocal/www/web-data/WAS/WebSphere7/scripts/DealerLocator/Scripts/secondscript.ksh echo "$? = status" Sdecond Script #!/bin/ksh echo "In second SCript" exit 1 Output: Maimn script ./testmain.ksh:... (4 Replies)
Discussion started by: dineshaila
4 Replies
GRML2ISO(8)															       GRML2ISO(8)

NAME
grml2iso - create a multiboot grml ISO using grml2usb SYNOPSIS
grml2iso -o <target.iso> <ISO[s]> Important! The grml team does not take responsibility for loss of any data! INTRODUCTION
grml2iso allows you to create a multiboot grml ISO. You can specify two or more grml ISOs and will get one single multiboot ISO as a result. grml2iso requires and uses grml2usb for this task and installs grub2 as bootmanager on the multiboot ISO. OPTIONS
grml2iso supports the environment variables GRML2USB and WRKDIR. GRML2USB specifies the path to the grml2usb script you'd like to use. WRKDIR specifies the work directory for creating the filesystem. The work directory needs at least as much free disk space as the sum of all specified ISOs. -o <target.iso> This option is mandatory and specifies where the resulting multiboot grml ISO should be placed. Note that (to avoid any possible data loss) grml2iso will exit if the specified target.iso exists already. -c <directory> The content of the specified directory will be copied to the resulting multiboot grml ISO. -b <boot params> Use specified default bootoptions as default. -f Force the program to run and overwrite an existing iso image. -r <boot param> Remove specified boot parameter from existing command line. Could be specified multiple times. -p <grml2usb param> Execute grml2usb with the specified parameters. For a list of valid parameters have a look at the grml2usb webpage[1] or the grml2usb manpage -s <URI> Generate a small iso file which downloads the squashfs file from the specified URI. Due to current limitations in busyboxs wget and DNS resolution, an URL can not contain a hostname but an IP only. This is useful if you want to boot systems which support booting iso image from your local system. Besides the iso image this command also copies the squashfs file to the output directory. USAGE EXAMPLES
# grml2iso -o /tmp/grml.iso grml_2009.05.iso grml64_2009.05.iso Create multiboot ISO /tmp/grml.iso with grml_2009.05.iso and grml64_2009.05.iso. # grml2iso -b 'lang=de ssh=passwd' -c /tmp/grml-content -o /srv/grml.iso /srv/grml/grml_2009.10.iso Create a new iso with additional boot parameters and copy the content from /tmp/grml-content to the generated iso image. # grml2iso -r quiet -r vga=791 -o /srv/grml.iso /srv/grml-small_2009.10.iso Create a new iso and remove existing boot parameters quiet and vga=791. # GRML2USB=/srv/git/grml2usb grml2iso -o /srv/grml.iso /srv/grml/grml_2009.05.iso /srv/grml/grml64-medium_2009.05.iso Create multiboot ISO /srv/grml.iso with grml_2009.05.iso and grml64-medium_2009.05.iso using /srv/git/grml2usb as grml2usb script. # WRKDIR=/mnt/test/grml-tmp grml2iso -o /mnt/test/grml.iso grml_2009.05.iso grml64_2009.05.iso Use /mnt/test/grml-tmp as working directory for creating the multiboot ISO /mnt/test/grml.iso with grml_2009.05.iso and grml64_2009.05.iso. # grml2iso -p --skip-addons -o /srv/grml.iso /srv/grml-small_2009.10.iso /srv/grml64-small_2009.10.iso Don't copy the addons from the specified iso images ONLINE RESSOURCES
Check out the grml2usb webpage[1] and the grml2usb git repository[2]. BUGS
Please report feedback, bugreports and wishes to the author. AUTHORS
Michael Prokop <mika@grml.org[3]> and Thorsten Glaser <tg@mirbsd.org[4]> NOTES
1. grml2usb webpage http://grml.org/grml2usb/ 2. grml2usb git repository http://git.grml.org/?p=grml2usb.git 3. mika@grml.org mailto:mika@grml.org 4. tg@mirbsd.org mailto:tg@mirbsd.org 05/28/2012 GRML2ISO(8)
All times are GMT -4. The time now is 05:57 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy