# Masterthesis This is the place preferably for the development of scripts (Shell, Python, ...) for my master thesis.

## Why Arch Linux? Because I'm a big fan of Debian GNU/Linux on servers I have build Debian-Live-DVDs for other (older) projects. But for forensics and virtualization you often need to be up to date and that is why I have switched to Arch Linux (rolling release) with "archiso". For development (and maybe later use) a living installation on a removable media was more comfortable. I use a Samsung T5 with 256MB. I think a lot of other devices will work too. It could be that I will generate an ISO image again after development is complete (probably never). ## Installation After reading https://wiki.archlinux.org/index.php/Install_Arch_Linux_on_a_removable_medium to increase the lifetime of my flash drive I have changed the following steps compared to the https://wiki.archlinux.org/index.php/Installation_guide: * skip the creation of a swap partition! * use ext4 without a journal! ## Post-installation (as root) ```shell # timedatectl set-ntp true # ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime # vi /etc/locale.gen # locale-gen # echo "LANG=en_US.UTF-8" > /etc/locale.conf # echo "KEYMAP=de-latin1" > /etc/vconsole.conf # localectl set-keymap --no-convert de-latin1 # echo "hellonium" > /etc/hostname # echo "127.0.1.1 hellonium.localdomain hellonium" >> /etc/hosts # pacman -S intel-ucode amd-ucode linux-firmware # grub-install --target=x86_64-efi --efi-directory=boot --removable --recheck # grub-mkconfig -o /boot/grub/grub.cfg # systemctl enable systemd-networkd.service # systemctl start systemd-networkd.service # rm /etc/resolv.conf # systemctl enable systemd-resolved.service # systemctl start systemd-resolved.service # ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf # groupadd lucifer # useradd -m -g lucifer -G wheel,optical,storage -s /bin/bash lucifer # passwd lucifer ``` ## Install Arch Linux packages (as root) ```shell # pacman -S xf86-video-intel intel-compute-runtime nvidia opencl-nvidia xf86-video-amdgpu xf86-video-ati opencl-mesa xf86-video-nouveau xf86-video-vesa base-devel bash-completion bc binwalk chntpw dconf-editor firefox galculator gdm gedit git gnome grub hashcat inetutils libeatmydata libewf lvm2 mdadm minisign mlocate multipath-tools nano openssh ophcrack pacman-contrib python-pycryptodome qemu qemu-arch-extra signify sleuthkit sudo testdisk ttf-dejavu vim vinagre which xarchiver xorg xorg-apps xorg-drivers xorg-fonts ``` (I hope I have not missed a package!?) ## More configuration (as root) ```shell # localectl --no-convert set-x11-keymap de # visudo (uncomment %wheel ... NOPASSWD:) # systemctl enable sshd.service # systemctl start sshd.service # sudo usermod -a -G kvm lucifer # sudo sytemctl enable gdm ``` ## The AUR part I have choosen trizen for installing AUR recipes. Install it as user (lucifer): ```shell $ mkdir ~/builds && cd ~/builds $ git clone https://aur.archlinux.org/trizen.git $ cd trizen $ makepkg -sirc ``` Now you will be able to install AUR packages as a user (lucifer) with trizen like: ```shell $ trizen -S ``` ## Install AUR packages (as lucifer) ```shell $ trizen -S aic94xx-firmware upd72020x-fw wd719x-firmware dc3dd fred guymager perl-image-exiftool regripper-git xmount ``` The following recipes could be somewhat problematic: ```shell $ trizen -S zfs-linux zfs-utils ``` ## How to use Because it is more a prototype at the moment most of the 'magic' is in the Nautilus script folder ([/home/lucifer/.local/share/nautilus/scripts](https://git.neumannsland.de/casualscripter/Masterthesis/src/branch/master/home/lucifer/.local/share/nautilus/scripts)). I plan to add some examples of usage as text and screenshots to the [wiki](https://git.neumannsland.de/casualscripter/Masterthesis/wiki)...