Masterthesis/README.md

3.6 KiB

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

I followed the official installation guide on https://wiki.archlinux.org/index.php/Installation_guide but skip the creation of a swap partition!

To increase the lifetime of the flash drive I followed a few points of https://wiki.archlinux.org/index.php/Install_Arch_Linux_on_a_removable_medium.

Post-installation (as root)

# 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)

# 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)

# 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):

$ 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:

$ trizen -S <PACKAGE>

Install AUR packages (as lucifer)

$ trizen -S aic94xx-firmware upd72020x-fw wd719x-firmware dc3dd fred guymager perl-image-exiftool regripper-git xmount

The following recipes could be somewhat problematic:

$ 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).

I plan to add some examples of usage as text and screenshots to the wiki.