[BraLUG] Vortrag oder vielleicht doch ein Workshop

dominik gausa dominik.gausa at gmx.de
Do Mär 22 07:46:26 CET 2012


Kleine Skriptsammlung zum gestrigen Vortrag :)

Folgend 4 BaSH Skripte zum entpacken, mounten und chroot, säubern und 
demounten, ISO erzeugen.
Danke nochmal für den Anreiz :)

open.sh
------------------------------------------------
#!/bin/bash
ISO=$1
if ["$ISO" == ""]
then
     echo usage: $0 ISO
     exit 0
fi


echo mounting ...
mkdir mnt
mount -o loop $ISO $PWD/mnt

echo extract ...
mkdir extract-cd
rsync -exclude=/casper/filesystem.squashfs -a mnt/ extract-cd

echo unsquashfs
unsquashfs mnt/casper/filesystem.squashfs
mv squashfs-root edit



mnt.sh
------------------------------------------------------
#!/bin/bash
echo mount n chroot
mount --bind /dev/ mnt/dev
chroot $PWD/edit mount -t proc none /proc
chroot $PWD/edit mount -t sysfs none /sys
chroot $PWD/edit mount -t devpts none /dev/pts
echo going into chroot
chroot $PWD/edit



umnt.sh
-------------------------------------------------------
#!/bin/bash
echo clean N umount sys
chroot $PWD/edit aptitude clean
chroot $PWD/edit umount /proc || umount -lf /proc
chroot $PWD/edit umount /sys
chroot $PWD/edit umount /dev/pts



genISO.sh
-------------------------------------------------------
#!/bin/bash
ISO=$1
if ["$ISO" == ""]
then
     echo usage: $0 ISO
     exit 0
fi

chmod +w extract-cd/casper/filesystem.manifest
chroot edit dpkg-query -W --showformat='${Package} ${Version}\n' > 
extract-cd/casper/filesystem.manifest
cp extract-cd/casper/filesystem.manifest 
extract-cd/casper/filesystem.manifest-desktop
sed -i '/ubiquity/d' extract-cd/casper/filesystem.manifest-desktop
sed -i '/casper/d' extract-cd/casper/filesystem.manifest-desktop

rm extract-cd/casper/filesystem.squashfs
mksquashfs edit extract-cd/casper/filesystem.squashfs
printf $(du -sx --block-size=1 edit | cut -f1) > 
extract-cd/casper/filesystem.size
cd extract-cd
find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat 
| sudo tee md5sum.txt

mkisofs -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b 
isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 
4 -boot-info-table -o ../$1 .





Mehr Informationen über die Mailingliste Bralug