<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://infocepo.com/wiki/index.php?action=history&amp;feed=atom&amp;title=CloneOs.sh</id>
	<title>CloneOs.sh - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://infocepo.com/wiki/index.php?action=history&amp;feed=atom&amp;title=CloneOs.sh"/>
	<link rel="alternate" type="text/html" href="https://infocepo.com/wiki/index.php?title=CloneOs.sh&amp;action=history"/>
	<updated>2026-04-26T22:56:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://infocepo.com/wiki/index.php?title=CloneOs.sh&amp;diff=952&amp;oldid=prev</id>
		<title>Tcepo: Created page with &quot;&lt;syntaxhighlight lang=&quot;bash&quot;&gt; #!/bin/bash  # Init fdisk -l |grep /dev |grep -vE '/dev/(ram|zram.*|loop.*)' |grep &quot;^Disk &quot; blkid |grep ext |grep -E ' LABEL=\&quot;?OS' echo &quot;Pls ent...&quot;</title>
		<link rel="alternate" type="text/html" href="https://infocepo.com/wiki/index.php?title=CloneOs.sh&amp;diff=952&amp;oldid=prev"/>
		<updated>2022-03-08T14:24:06Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; #!/bin/bash  # Init fdisk -l |grep /dev |grep -vE &amp;#039;/dev/(ram|zram.*|loop.*)&amp;#039; |grep &amp;quot;^Disk &amp;quot; blkid |grep ext |grep -E &amp;#039; LABEL=\&amp;quot;?OS&amp;#039; echo &amp;quot;Pls ent...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Init&lt;br /&gt;
fdisk -l |grep /dev |grep -vE '/dev/(ram|zram.*|loop.*)' |grep &amp;quot;^Disk &amp;quot;&lt;br /&gt;
blkid |grep ext |grep -E ' LABEL=\&amp;quot;?OS'&lt;br /&gt;
echo &amp;quot;Pls enter root grub device sdxy:&amp;quot;&lt;br /&gt;
read RootDev&lt;br /&gt;
&lt;br /&gt;
[ -z &amp;quot;${RootDev}&amp;quot; ] &amp;amp;&amp;amp;exit&lt;br /&gt;
&lt;br /&gt;
binDir=&amp;quot;$(realpath &amp;quot;$(dirname $0)&amp;quot;)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
osLabel=OS&amp;quot;$(date '+%y%m%d')_$(blkid -s UUID -o value /dev/${RootDev} |cut -c1-3 )&amp;quot;&lt;br /&gt;
&lt;br /&gt;
osDestination=/mnt&lt;br /&gt;
&lt;br /&gt;
e2label /dev/&amp;quot;${RootDev}&amp;quot; &amp;quot;${osLabel}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Clone OS&lt;br /&gt;
apt clean&lt;br /&gt;
&lt;br /&gt;
cd /&lt;br /&gt;
sync ;umount &amp;quot;${osDestination}&amp;quot;&lt;br /&gt;
RootDev=&amp;quot;$(MyPatern='^/dev/(.*)$'&lt;br /&gt;
 blkid -L &amp;quot;${osLabel}&amp;quot; |\&lt;br /&gt;
 sed -rn &amp;quot;s#$MyPatern#\1#p&amp;quot; |head -1)&amp;quot;&lt;br /&gt;
cd /&lt;br /&gt;
sync #;umount /dev/$RootDev&lt;br /&gt;
# exit if mounted&lt;br /&gt;
mountpoint -q &amp;quot;${osDestination}&amp;quot; &amp;amp;&amp;amp;echo &amp;quot;mounted&amp;quot; &amp;amp;&amp;amp;exit 1&lt;br /&gt;
##fsck /dev/$RootDev&lt;br /&gt;
mount /dev/$RootDev &amp;quot;${osDestination}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# exit if not mounted&lt;br /&gt;
mount |grep -w &amp;quot;${osDestination}&amp;quot; ||exit 2&lt;br /&gt;
&lt;br /&gt;
# clean /media/noname/*&lt;br /&gt;
rmdir /media/noname/*&lt;br /&gt;
rmdir /media/*&lt;br /&gt;
&lt;br /&gt;
# exit if files on /media&lt;br /&gt;
[ ! -z &amp;quot;$(find /media -xdev -type f)&amp;quot; ] &amp;amp;&amp;amp;echo &amp;quot;files on media&amp;quot; &amp;amp;&amp;amp;exit 3&lt;br /&gt;
&lt;br /&gt;
#teamviewer --daemon enable&lt;br /&gt;
rsync -aAXv --delete --force -x --exclude=/var/lib/initramfs-tools/* --exclude=/boot/initrd.img-* --exclude=/var/lib/upower/history-* --exclude=/overlay/* --exclude=/var/log/journal/* --exclude=/root/.synaptic/log/* --exclude=/etc/ssh/ssh_host_* --exclude=/etc/NetworkManager/system-connections/*.nmconnection --exclude=/opt/teamviewer*/config/global.conf --exclude=/etc/fstab --exclude=/boot/grub/* --exclude=/boot/efi/grub/* --exclude=/root/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/mnt/* --exclude=/media/* --exclude=/home/* / &amp;quot;${osDestination}&amp;quot;/&lt;br /&gt;
#rsync --existing --ignore-existing -r --delete -x /boot/ &amp;quot;${osDestination}&amp;quot;/boot/&lt;br /&gt;
#rsync -aAXv --delete --force -x --exclude=/boot/initrd.img-* --exclude=/boot/grub/* --exclude=/boot/efi/grub/* /boot/ &amp;quot;${osDestination}&amp;quot;/boot/&lt;br /&gt;
rsync -aAXv --delete --force -x --exclude=initrd.img-* --exclude=grub/* --exclude=efi/grub/* /boot/ &amp;quot;${osDestination}&amp;quot;/boot/&lt;br /&gt;
find / -xdev -xtype l -atime +1 -delete&lt;br /&gt;
&lt;br /&gt;
mkdir -p &amp;quot;${osDestination}&amp;quot;/home/noname&lt;br /&gt;
chown --reference=/home/noname &amp;quot;${osDestination}&amp;quot;/home/noname&lt;br /&gt;
chmod --reference=/home/noname &amp;quot;${osDestination}&amp;quot;/home/noname&lt;br /&gt;
chcon --reference=/home/noname &amp;quot;${osDestination}&amp;quot;/home/noname&lt;br /&gt;
rsync -aAXv --delete --force /root/.synaptic/ &amp;quot;${osDestination}&amp;quot;/root/.synaptic/&lt;br /&gt;
rsync -aAXv --delete --force /root/.profile &amp;quot;${osDestination}&amp;quot;/root/.profile&lt;br /&gt;
rsync -aAXv --delete --force /root/.bashrc &amp;quot;${osDestination}&amp;quot;/root/.bashrc&lt;br /&gt;
find &amp;quot;${osDestination}&amp;quot;/media/* -xdev -type d -empty -delete&lt;br /&gt;
&lt;br /&gt;
#if [ ! -z &amp;quot;$(find /boot/grub/grub.cfg -mtime -1 )&amp;quot; ] ;then&lt;br /&gt;
  DiskDev=$(MyPatern='^/dev/(sd[a-z]+|nvme[0-9]+n[0-9]+)p?[0-9]+$'&lt;br /&gt;
  echo &amp;quot;/dev/$RootDev&amp;quot; |\&lt;br /&gt;
  sed -rn &amp;quot;s#$MyPatern#/dev/\1#p&amp;quot; |head -1)&lt;br /&gt;
&lt;br /&gt;
  cd &amp;quot;${osDestination}&amp;quot;/&lt;br /&gt;
&lt;br /&gt;
  echo -e &amp;quot;\n== REF ==\n&amp;quot; &amp;gt;&amp;gt;&amp;quot;${osDestination}&amp;quot;/etc/fstab&lt;br /&gt;
  cat /etc/fstab &amp;gt;&amp;gt;&amp;quot;${osDestination}&amp;quot;/etc/fstab&lt;br /&gt;
  blkid |grep $DiskDev |grep -E &amp;quot;ext|swap|vfat&amp;quot; &amp;gt;&amp;gt;&amp;quot;${osDestination}&amp;quot;/etc/fstab&lt;br /&gt;
  nano &amp;quot;${osDestination}&amp;quot;/etc/fstab&lt;br /&gt;
&lt;br /&gt;
  for i in dev dev/pts proc sys run ;do&lt;br /&gt;
    mount -B /$i $i ;done&lt;br /&gt;
&lt;br /&gt;
  cat &amp;lt;&amp;lt;EOT &amp;gt;./tmp/$$.sh&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
[ -z &amp;quot;${DiskDev}&amp;quot; ] &amp;amp;&amp;amp;exit 4&lt;br /&gt;
mkdir -p /boot/efi&lt;br /&gt;
mount /boot/efi&lt;br /&gt;
dd if=/dev/zero of=${DiskDev} bs=440 count=1&lt;br /&gt;
oldDir=/boot/efi/old-\$(date -u '+%Y-%m')&lt;br /&gt;
mkdir &amp;quot;\${oldDir}&amp;quot;&lt;br /&gt;
#;mv -n /boot/efi/[^o][^l][^d]* &amp;quot;\${oldDir}&amp;quot;/.&lt;br /&gt;
#find /boot/efi/EFI -maxdepth 1 |grep -vx /boot/efi/EFI |grep -v /boot/efi/old |while read lineMy ;do&lt;br /&gt;
#  mv -n &amp;quot;\${lineMy}&amp;quot; &amp;quot;\${oldDir}&amp;quot;/.&lt;br /&gt;
#  rm -rf &amp;quot;\${lineMy}&amp;quot;&lt;br /&gt;
#done&lt;br /&gt;
mv -n /boot/efi/EFI/BOOT &amp;quot;\${oldDir}&amp;quot;/.&lt;br /&gt;
&lt;br /&gt;
rm -rf /var/lib/initramfs-tools/* /var/lib/upower/history-* /overlay/* /var/log/journal/*&lt;br /&gt;
ssh-keygen -A&lt;br /&gt;
sed -r -i 's/^(RESUME=.*)\$/#\1/g' /etc/initramfs-tools/conf.d/resume&lt;br /&gt;
&lt;br /&gt;
rm -rf /boot/grub&lt;br /&gt;
grub-install --target=i386-pc --recheck --boot-directory=/boot ${DiskDev}&lt;br /&gt;
rm -rf /boot/efi/EFI/BOOT&lt;br /&gt;
grub-install --target=x86_64-efi --recheck --efi-directory=/boot/efi --boot-directory=/boot --removable&lt;br /&gt;
&lt;br /&gt;
rm -f /boot/initrd.img-*&lt;br /&gt;
#update-initramfs -c -k all&lt;br /&gt;
update-initramfs -c -k $(uname -r)&lt;br /&gt;
update-grub&lt;br /&gt;
&lt;br /&gt;
sync&lt;br /&gt;
&lt;br /&gt;
bash&lt;br /&gt;
&lt;br /&gt;
cd / ;umount /boot/efi&lt;br /&gt;
EOT&lt;br /&gt;
&lt;br /&gt;
  cd &amp;quot;${osDestination}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  chmod 500 ./tmp/$$.sh&lt;br /&gt;
&lt;br /&gt;
  chroot . /tmp/$$.sh&lt;br /&gt;
&lt;br /&gt;
  rm -f ./tmp/$$.sh&lt;br /&gt;
&lt;br /&gt;
  for i in run sys proc dev/pts dev ;do&lt;br /&gt;
    sync ;umount $i ;done&lt;br /&gt;
&lt;br /&gt;
#fi&lt;br /&gt;
&lt;br /&gt;
cd /&lt;br /&gt;
sync ;umount &amp;quot;${osDestination}&amp;quot;&lt;br /&gt;
#grub-install --target=x86_64-efi --recheck --efi-directory=/boot/efi --boot-directory=/boot&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tcepo</name></author>
	</entry>
</feed>