Arxiu d'etiquetes: iso

Windows Tools ISO

Script per generar una ISO amb software d’utilitat pel sistema operatiu Microsoft Windows.

mkdir software
cd software
wget "https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi"
wget "http://vorboss.dl.sourceforge.net/project/iometer/iometer-stable/1.1.0/iometer-1.1.0-win64.x86_64-bin.zip"
wget "https://iperf.fr/download/windows/iperf-3.1.3-win64.zip"
wget "http://netcologne.dl.sourceforge.net/project/iperf2/iperf-2.0.8-win.zip"
wget "http://download.cdn.mozilla.net/pub/seamonkey/releases/2.40/win32/en-US/SeaMonkey%20Setup%202.40.exe"
wget "http://tartarus.org/~simon/putty-snapshots/x86/putty.zip"
wget "https://winscp.net/download/WinSCP-5.9.1-Portable.zip"
wget "http://www.handshake.de/user/chmaas/delphi/download/xvi32.zip"
wget "http://www.microsip.org/download/MicroSIP-3.14.0.zip"
wget "ftp://ftp.vim.org/pub/vim/pc/gvim74.exe"
wget "http://liquidninja.com/metapad/downloads/metapad36.zip"
wget "http://www.heidisql.com/downloads/releases/HeidiSQL_9.3_Portable.zip"
wget "http://downloads.sourceforge.net/project/ksar/ksar/5.0.6/kSar-5.0.6.zip"
wget "https://download.sysinternals.com/files/SysinternalsSuite.zip"
wget "http://www.nirsoft.net/utils/smsniff.zip"
wget "http://www.nirsoft.net/utils/smsniff-x64.zip"
wget "http://tftpd32.jounin.net/download/tftpd32.452.zip"
wget "http://tftpd32.jounin.net/download/tftpd64.452.zip"
wget "http://downloads.sourceforge.net/project/winmtr/WinMTR-v092.zip"
wget "http://i.sixfoot6.org/convert.zip #http://joshmadison.com/convert-for-windows/ "
wget "http://download.cpuid.com/cpu-z/cpu-z_1.77-en.zip"
wget "http://download.cpuid.com/perfmonitor-2/perfmonitor-2_2.04.zip"
wget "http://d.winrar.es/d/102z1472029016/gnYAFZMMDJCaGSMkePgEAg/winrar-x64-531ca.exe"
wget "http://www.classic-software.ro/Repository/Software/Windows/EKG.zip"
wget "http://www.mitec.cz/Downloads/HEXEdit.zip"
curl "http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=screentogif&DownloadId=1597782&FileTime=131149710469770000&Build=21031" -o screentogif.zip
wget "http://downloads.sourceforge.net/project/astrogrep/AstroGrep%20%28Win32%29/AstroGrep%20v4.4.5/AstroGrep_Setup_v4.4.5.exe"
curl "https://archive.realvnc.com/download/binary/377/ -o realvncviewerent.zip"
wget "http://downloads.sourceforge.net/project/winnfsd/WinNFSd/2.0/WinNFSd-2.0.zip"
wget "http://downloads.sourceforge.net/project/orphsubnetcalc/Subnet%20Calc%201.3.exe"
wget "https://download.sysinternals.com/files/SDelete.zip"
wget "http://download.piriform.com/dfsetup221.exe"
wget "http://download.piriform.com/ccsetup528.exe"
wget "http://download1.minitool.com/pw10/pw10-free.exe"
wget "https://novabench.com/files/novabench.exe"
wget "http://cdn.primatelabs.com/Geekbench-4.1.0-WindowsSetup.exe"
wget "https://github.com/greenshot/greenshot/releases/download/Greenshot-RELEASE-1.2.9.129/Greenshot-INSTALLER-1.2.9.129-RELEASE.exe"
wget "http://www.tightvnc.com/download/2.8.3/tvnjviewer-2.8.3-bin-gnugpl.zip"
cd ..
genisoimage -o software.iso -J -r  software/

USBSTICK-MAKER

Script per crear automàticament un disc de rescat USB desde un host GNU/Linux.

VERSIÓ GRUB2

#!/bin/bash
# USBSTICK-MAKER-GRUB2-VERSION by Sergi Coll - GPLv2 - No Warranty
# 0.1a 201601131037 Initial Release

#VARS

VER=0.1a
DAEMONNAME=`basename $0`
PID=($$)
LOGDIR=/var/log/
LOGFILE=$DAEMONNAME.log
DATA=`date +"%h %d %H:%M:%S"`
#
FITXER=test.img
FITXER_TAMANY=2G
LOOPDEVICE=/dev/loop1
LOOPDEVICE_ISO=/dev/loop2
SYSLINUX_MBR=/usr/share/syslinux/mbr.bin
SYSLINUX_MODULS=/usr/share/syslinux/
MOUNTPOINT=/media/usb
GRUBCFG=$MOUNTPOINT/boot/grub2/grub.cfg
#
VMRAM=1024
VMVNCDISPLAY=200

#FUNCIONS
function logprint {
DATA=`date +"%h %d %H:%M:%S"`
echo "$DATA $HOSTNAME $0[$PID] : $1" >> $LOGDIR$LOGFILE
}

function creacio-imatge {
        logprint "DD: Crearem el fitxer $FITXER de tamany $FITXER_TAMANY"
        dd if=/dev/zero of=${FITXER} bs=${FITXER_TAMANY} count=0 seek=1 >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        if [ $? -eq 0 ]; then
                logprint "DD CHECK: S'ha creat correctament el fitxer $FITXER de tamany $FITXER_TAMANY"
        else
                logprint "DD CHECK: Problema a la creació del fitxer $FITXER de tamany $FITXER_TAMANY. Abortem..."
                exit 1
        fi
        logprint "SFDISK: Crearem les particions del disk"
        sfdisk $FITXER <<EOF >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
2,+,L,*
EOF
        if [ $? -eq 0 ]; then
                logprint "SFDISK CHECK: S'ha creat correctament les particions en el fitxer $FITXER"
        else
                logprint "SFDISK CHECK: Problema en la creació de particions en el fitxer $FITXER. Abortem..."
                exit 1
        fi
        losetup -P $LOOPDEVICE $FITXER >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        partprobe $LOOPDEVICE
        if [ $? -eq 0 ]; then
                logprint "LOOP CHECK: Configuració del losetup del $FITXER OK"
        else
                logprint "LOOP CHECK: Problema en la configuració del losetup del $FITXER"
                exit 1
        fi
        logprint "MKFS: Crearem un sistema de fitxers EXT4 sense journal a ${LOOPDEVICE}p1"
        mkfs.ext4 -F -O ^has_journal ${LOOPDEVICE}p1 >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        if [ $? -eq 0 ]; then
                logprint "MKFS CHECK: Format sense Journal OK en la partició 1 ${LOOPDEVICE}p1 del $FITXER"
        else
                logprint "MKFS CHECK: Problema en la formatació de la partició 1 ${LOOPDEVICE}p1 del $FITXER. Abortem..."
                exit 1
        fi

        logprint "Instal·lant GRUB 2 ..."
        mount ${LOOPDEVICE}p1  $MOUNTPOINT >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        mkdir -p $MOUNTPOINT/boot/grub2 >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        echo "set timeout=60 set default=0" >$GRUBCFG
        grub2-install -v --removable --boot-directory=$MOUNTPOINT/boot --modules="part_msdos ext2 biosdisk search_fs_uuid loopback" ${LOOPDEVICE} >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        umount ${LOOPDEVICE}p1 >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        losetup -d ${LOOPDEVICE} >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        sync
}

function mount-image {
        logprint "Muntant imatge $FITXER al ${LOOPDEVICE}..."
        losetup -P $LOOPDEVICE $FITXER >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        partprobe $LOOPDEVICE
        if [ $? -eq 0 ]; then
                logprint "LOOP CHECK: Configuració del losetup del $FITXER OK"
        else
                logprint "LOOP CHECK: Problema en la configuració del losetup del $FITXER"
                exit 1
        fi
        logprint "MOUNT: Muntant partició"
        mount ${LOOPDEVICE}p1 $MOUNTPOINT
                if [ $? -eq 0 ]; then
                logprint "MOUNT CHECK: Muntant ${LOOPDEVICE}p1 a $MOUNTPOINT OK"
        else
                logprint "MOUNT CHECK: Problema muntant ${LOOPDEVICE}p1 a $MOUNTPOINT. Abortem ..."
                exit 1
        fi
}

function umount-image {
        logprint "Dsmuntant imatge $FITXER al ${LOOPDEVICE}..."
        umount ${LOOPDEVICE}p1
        losetup -d ${LOOPDEVICE} >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE

        if [ $? -eq 0 ]; then
                logprint "LOOP CHECK: Desconfiguració del losetup del $FITXER OK"
        else
                logprint "LOOP CHECK: Problema en la desconfiguració del losetup del $FITXER"
                exit 1
        fi
}

function test-vm {
        logprint "Arrancant VM per provar la iamtge"

        qemu-system-x86_64 -enable-kvm -m $VMRAM -vnc 0.0.0.0:${VMVNCDISPLAY} -k en-us -usb -usbdevice disk:$FITXER -cdrom systemrescuecd.iso -boot menu=on -daemonize >> $LOGDIR$LOGFILE 2>> $LOGDIR$LOGFILE
        if [ $? -eq 0 ]; then
                logprint "QEMU CHECK: VNC PORT: $((VMVNCDISPLAY+5900)) OK"
        else
                logprint "QEMU CHECK: Problema en arrancar QEMU"
                exit 1
        fi

}

function info
{
        echo ""
        echo "USBSTICK-MAKER - v$VER"
        echo ""
        ls -lhas $FITXER
}

function help
{
        echo ""
        echo "USBSTICK-MAKER - v$VER"
        echo "Ús: "`basename $0`" [OPCIÓ]"
        echo ""
        echo "   -h Ajuda"
        echo "   -i Info"
        echo "   -c Creació Imatge"
        echo "   -m Monta Imatge"
        echo "   -u Desmonta Imatge"
        echo "   -q Prova la imatge amb una màquina virtual amb QEMU"
        echo "   -s Instal·la ISO de diferents sistemes"
        echo ""
}

function isos
{
$0 -m
# System Rescue CD

ISO=systemrescuecd.iso
URL="http://netix.dl.sourceforge.net/project/systemrescuecd/sysresccd-x86/4.7.0/systemrescuecd-x86-4.7.0.iso"
if [ ! -f $ISO ]; then
        curl -o $ISO $URL
fi
mkdir -p $MOUNTPOINT/images/sysresccd/
cp $ISO $MOUNTPOINT/images/sysresccd/
cat >>$GRUBCFG <<EOF
menuentry "SystemRescueCD" {
    loopback loop "(hd0,msdos1)/images/sysresccd/$ISO"
    set gfxpayload=keep
    linux (loop)/isolinux/rescue32 isoloop=/images/sysresccd/systemrescuecd.iso
    initrd (loop)/isolinux/initram.igz
}
EOF

# Clonezilla

ISO=clonezilla.iso
URL="http://netcologne.dl.sourceforge.net/project/clonezilla/clonezilla_live_stable/2.4.2-61/clonezilla-live-2.4.2-61-i686-pae.iso"
if [ ! -f $ISO ]; then
        curl -o $ISO $URL
fi
mkdir -p $MOUNTPOINT/images/clonezilla/
cp $ISO $MOUNTPOINT/images/clonezilla/
cat >>$GRUBCFG <<EOF
menuentry 'Clonezilla 32-bit' {
  loopback loop "(hd0,msdos1)/images/clonezilla/$ISO"
  linux (loop)/live/vmlinuz boot='live' union='overlay' username='user' config components noswap edd='on' nomodeset nodmraid noeject locales='' keyboard-layouts='' ocs_live_run='ocs-live-general' ocs_live_extra_param='' ocs_live_batch='no' ip='' acpi='off' irqpoll noapic noapm nodma nomce nolapic nosmp nomodeset nosplash findiso="/images/clonezilla/$ISO"
  initrd (loop)/live/initrd.img
}
EOF

$0 -u
}

###########################################################################
#MAIN
###########################################################################a

touch -a $LOGDIR$LOGFILE 2>/dev/null
if [ "$?" != 0 ]; then
echo "ERROR: Problems with Log $LOGDIR$LOGFILE. Exiting..."
exit 2
fi

if [ ! $* ]; then
        help
        exit
fi

while getopts "hcqimus" OPTION; do

case "$OPTION" in

         h) help; exit 10 ;;
         c) creacio-imatge ;;
         i) info;;
         m) mount-image;;
         u) umount-image;;
         q) test-vm ;;
         s) isos ;;

        \?) help; exit 10 ;;
esac
done

Per gravar la imatge només cal un ‘DD’. Exemple:

dd if=test.img of=/dev/sdb bs=4M