User:Andy Crowd/sandbox/Create a test ground
Create a test ground
The test ground is a place where you can test things without cause a damage to the environment.
Folder and Files - auto create - test ground
Creating a bunch of folders and files with a random content.
#!/bin/bash
Dest='/tmp/AA'
tmpFolder="tmpFolder"
cd $Dest
for CreatingFolders in {0..20}; do
mkdir "${Dest}/${tmpFolder}${CreatingFolders}" -p
for CreatingFiles in {A..Z}; do
#echo "${Dest}/${tmpFolder}${CreatingFolders}/${CreatingFiles}"
dd if=/dev/urandom of="${Dest}/${tmpFolder}${CreatingFolders}/${CreatingFiles} ZZ PP.tmp" bs=$RANDOM count=1
done;
done;
find /tmp/AA >> /tmp/AA/aa.txt
sed -i 's/tmp$/tmp|/g' /tmp/AA/aa.txt
Damage a file for integrity tests
Make a copy/backup of a known not corrupted file and use a hex-editor such as a hexedit to make some changes in a copied/backup file.
Partition in a file
Linux can also make a lot of actions on files as if it were a system devices.
Create an empty file filled with zeros by dd of size 98M.
$ dd if=/dev/zero of=./empty-test-file.tmp bs=1024 count=100000
Other input devices that can be used for tests are /dev/random and /dev/urandom. As they are doing what their names tells, generates a randomized data.
This will create an ext4 partition inside a file by formating it with the mkfs command.
$ mkfs.ext4 ./empty-test-file.tmp
mke2fs 1.42.11 (09-Jul-2014) Discarding device blocks: done Creating filesystem with 100000 1k blocks and 25064 inodes Filesystem UUID: 7cd56407-7e9e-41e3-8d83-3b56da7344ff Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done
Fake environment
fakeroot - faking root rights to allow for external application create files with correct root permissions.
For some of advanced tasks e.g. test a Live CD or the operative system, recommended to use a virtual solutions such a vmware or a virtualbox.