Moved Software docs to folder
17
Software/M365.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Microsoft M365 Suite
|
||||
|
||||
## Web Version
|
||||
|
||||
Microsoft Office desktop applications are not available on Linux, and does not work through [WINE](WINE.md).
|
||||
|
||||
However, web versions of the Microsoft office suite (Teams, Word, Powerpoint, Sheets, ect) are available and function regardless of Operating System. This should be sufficient for most use cases. Teams in particular functions identically to the desktop version.
|
||||
|
||||
## Alternative
|
||||
|
||||
When local (offline) Office Suite is desired or required there are a few options that work well on Linux.
|
||||
|
||||
My personal recommendation is [Libre Office](LibreOffice.mb), it is the global standard for Open-Source Office Software, it provides similar programs that can function as direct replacements for the Microsoft Suite. It is primarily built to utilise the OpenDocument Formats, but is entirely capable of opening and saving to the Microsoft Office formats.
|
||||
|
||||
I generally recommend (be it M365 or LibreOffice) exporting documents to PDF before submitting something for an assignment, as it is a universal format and ensure there are no issues of content being loaded in a different way.
|
||||
|
||||
Another popular option for Open-Source Office suites is OnlyOffice.
|
||||
144
Software/Postgresql.md
Normal file
@@ -0,0 +1,144 @@
|
||||
---
|
||||
Classes:
|
||||
- IT Foundations
|
||||
---
|
||||
|
||||
# Postgresql
|
||||
Postgresql is a popular open-source relational database, and is widely available on Linux.
|
||||
|
||||
**Note:** A graphical interface for postgresql is something that will need to be installed separately, the only way to interact with the database that is installed by default is the `psql` command. To install the pgAdmin GUI program see [pgAdmin](#pgadmin) below.
|
||||
|
||||
## Install
|
||||
All linux distributions package postgresql and you can just install the relevant package. Some common examples are below:
|
||||
|
||||
### Arch
|
||||
```sh
|
||||
sudo pacman -S postgresql
|
||||
|
||||
# Initialise Server Data
|
||||
sudo -u postgres initdb -D '/var/lib/postgres/data'
|
||||
```
|
||||
|
||||
### Debian/Mint/Ubuntu
|
||||
```sh
|
||||
sudo apt install postgresql
|
||||
```
|
||||
|
||||
### Fedora
|
||||
```sh
|
||||
sudo dnf install postgresql-server
|
||||
|
||||
# Initialise Server Data
|
||||
sudo /usr/bin/postgresql-setup --initdb
|
||||
```
|
||||
|
||||
## Setup
|
||||
First make sure postgres is running:
|
||||
```sh
|
||||
systemctl status postgresql.service
|
||||
```
|
||||
|
||||
If not, start it with:
|
||||
```sh
|
||||
sudo systemctl start postgresql.service
|
||||
```
|
||||
|
||||
If you want it to start on boot, you can enable it with:
|
||||
```sh
|
||||
sudo systemctl enable postgresql.service
|
||||
```
|
||||
|
||||
To stop it from starting on boot, replace enable with disable.
|
||||
|
||||
Initially the postgres database user will not have a password to allow access. To access the database run the following:
|
||||
```sh
|
||||
sudo -u postgres psql
|
||||
```
|
||||
|
||||
From here you can do initial setup.
|
||||
|
||||
For a simple setup where you just want to access from a client like pgAdmin, you can set a password for the `postgres` user with the following query:
|
||||
```sql
|
||||
ALTER USER postgres WITH PASSWORD 'new_password';
|
||||
```
|
||||
|
||||
When done you can exit with the `\q` command.
|
||||
|
||||
# pgAdmin
|
||||
pgAdmin is a graphical interface to configure and query postgresql.
|
||||
|
||||
## Install
|
||||
Most linux distributions don't include pgAdmin from their default repositories, but we can either use pgAdmin's official repositories, or it is available as a flatpak:
|
||||
|
||||
### Flatpak (universal)
|
||||
If you wish to install through flatpak ensure flatpak is setup, see [Flatpak](Flatpak.md) for details if not.
|
||||
|
||||
If you have a graphical software manager/store it should be available there, to install via command-line:
|
||||
```sh
|
||||
flatpak install org.pgadmin.pgadmin4
|
||||
```
|
||||
|
||||
### Arch (AUR Package)
|
||||
```sh
|
||||
yay -S pgadmin4-server-bin pgadmin4-desktop-bin
|
||||
```
|
||||
|
||||
### Debian/Ubuntu
|
||||
```sh
|
||||
# Install the public key for the repository (if not done previously):
|
||||
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
|
||||
|
||||
# Create the repository configuration file:
|
||||
sudo echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list
|
||||
|
||||
# Refresh package list
|
||||
apt update
|
||||
|
||||
# Install pgAdmin
|
||||
sudo apt install pgadmin4-desktop libnss3 libgbm-dev libasound2-dev
|
||||
```
|
||||
|
||||
### Fedora
|
||||
```sh
|
||||
# Add the pgadmin repository
|
||||
sudo rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-fedora-repo-2-1.noarch.rpm
|
||||
|
||||
# Install pgAdmin
|
||||
sudo yum install pgadmin4-desktop
|
||||
```
|
||||
|
||||
### Linux Mint
|
||||
```sh
|
||||
# Install the public key for the repository (if not done previously):
|
||||
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
|
||||
|
||||
# Create the repository configuration file:
|
||||
echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/noble pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list
|
||||
|
||||
# Refresh package list
|
||||
apt update
|
||||
|
||||
# Install pgAdmin
|
||||
sudo apt install pgadmin4-desktop libnss3 libgbm-dev libasound2-dev
|
||||
```
|
||||
|
||||
## Setup
|
||||
### Initial Setup
|
||||
First you will need to register your running server:
|
||||
|
||||

|
||||
|
||||
In the General tab enter a name for your postgres server, then in the connection tab enter `localhost` for Hostname/address and enter the password for the postgres user:
|
||||
|
||||

|
||||
|
||||
Now click save and pgAdmin should be ready to use as normal!
|
||||
|
||||
### PSQL Tool Setup
|
||||
You may need to point pgAdmin to your binary path, so that it knows where to find the `psql` tool.
|
||||
|
||||
In File -> Preferences, under "Binary paths", in the "PostgeSQL Binary Path" put `/usr/bin` for the version of postgres install, and click the Validate button (Clipboard with a checkmark) to ensure it works.
|
||||
|
||||

|
||||
|
||||
Click the Save button in the top left, and the PSQL tool should now function.
|
||||
BIN
Software/Screenshots/add-connection-2.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
Software/Screenshots/add-connection.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
Software/Screenshots/add-pool.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
Software/Screenshots/add-tpm.png
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
Software/Screenshots/choose-iso-2.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
Software/Screenshots/choose-iso.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
Software/Screenshots/create-volume-2.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
Software/Screenshots/create-volume.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
Software/Screenshots/custom-storage.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
Software/Screenshots/iso-pool.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
Software/Screenshots/new-vm.png
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
Software/Screenshots/psql-binary-path.png
Normal file
|
After Width: | Height: | Size: 163 KiB |
BIN
Software/Screenshots/psql-connection.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
Software/Screenshots/psql-register-server.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
Software/Screenshots/select-os.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
Software/Screenshots/usb-passthrough.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
Software/Screenshots/vm-install-opt.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
48
Software/VMWareWorkstation.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
Classes:
|
||||
- Introduction to Security Operations
|
||||
---
|
||||
|
||||
# VMWare Workstation
|
||||
|
||||
## Alternative
|
||||
|
||||
If the situation doesn't specifically require VMWare Workstation and you can use any Hypervisior, I strongly suggest using [Virtual Machine Manager](VirtualMachineManager.md) (virt-manager); as it uses KVM, which has support built into the kernel, which means a much simpler install for some distributions and less potential for issues.
|
||||
|
||||
## Install
|
||||
Tested on Debian 13 Trixie
|
||||
|
||||
Note: As of writing this (March 2026), the install script fails if it does not detect systemd.
|
||||
Most Linux distributions use systemd, but if yours doesn't you will not be able to install it.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
VMWare Workstation requires the kernel headers and `pkexec` to be installed, the exact packages required may depend on your distribution, but here are some common ones:
|
||||
|
||||
Debian/Ubuntu/Mint:
|
||||
```sh
|
||||
sudo apt install linux-headers-generic pkexec
|
||||
```
|
||||
Fedora: (pkexec is apart of the `polkit` package, which should be installed)
|
||||
```sh
|
||||
sudo dnf install kernel-headers
|
||||
```
|
||||
Arch-based: (pkexec is apart of the `polkit` package, which should be installed)
|
||||
```sh
|
||||
sudo pacman -S linux-headers
|
||||
```
|
||||
|
||||
### Download
|
||||
|
||||
As normal you download from https://support.broadcom.com/group/ecx/downloads
|
||||
|
||||
Just be certain you download the Linux version, it should be a .bundle file (eg. `VMware-Workstation-Full-25H2u1-25219725.x86_64.bundle`)
|
||||
|
||||
### Install
|
||||
|
||||
Assuming it was downloaded into `~/Downloads/` and adjust the file name here if it is a later version.
|
||||
```sh
|
||||
chmod +x ~/Downloads/VMware-Workstation-Full-25H2u1-25219725.x86_64.bundle
|
||||
sudo ~/Downloads/VMware-Workstation-Full-25H2u1-25219725.x86_64.bundle
|
||||
```
|
||||
Run VMWare Workstation and follow the prompts to install the needed kernel modules and accept the EULA
|
||||
84
Software/VirtualBox.md
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
Classes:
|
||||
- IT Foundations
|
||||
---
|
||||
|
||||
# VirtualBox
|
||||
|
||||
# Alternative
|
||||
|
||||
If the situation doesn't specifically require VirtualBox and you can use any Hypervisior, I strongly suggest using [Virtual Machine Manager](VirtualMachineManager.md) (virt-manager); as it uses KVM, which has support built into the kernel, which means a much simpler install for some distributions and less potential for issues.
|
||||
|
||||
# Install
|
||||
|
||||
Note: After install a reboot may be required.
|
||||
Most distributions package it in their repositories and can be installed as such:
|
||||
|
||||
## Arch-based
|
||||
|
||||
```sh
|
||||
sudo pacman -S virtualbox
|
||||
```
|
||||
|
||||
## Debian
|
||||
Debian doesn't package virtualbox in the offical repositories, so we need to add VirtualBox's repository. Source: https://www.virtualbox.org/wiki/Linux_Downloads
|
||||
|
||||
Replace `<mydist>` in the first command with `trixie` or the current version of Debian if you are on a newer **stable** version.
|
||||
```sh
|
||||
# Add virtualbox repository to system
|
||||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian <mydist> contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list
|
||||
# Add VirtualBox's signing keys to system
|
||||
wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg --dearmor
|
||||
# Update package list and install virtualbox
|
||||
sudo apt update
|
||||
sudo apt install virtualbox-7.2
|
||||
```
|
||||
Note: For the last command you can type up to `sudo apt install virtualbox-` and triple tap TAB to see what version options there are.
|
||||
|
||||
## Fedora
|
||||
Fedora doesn't package virtualbox in the offical repositories, so we need to add the RPMFusion repository which packages additional software, including virtualbox.
|
||||
RPMFusion is a long-standing repo operated by some of the same contributors as the main Fedora repos; it just contains things that Redhat cannot legally distribute.
|
||||
|
||||
### Install VirtualBox
|
||||
```sh
|
||||
# Import the RPMFusion repository
|
||||
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
|
||||
# Install virtualbox
|
||||
sudo dnf install virtualbox
|
||||
```
|
||||
When prompted to import the RPMFusion key, ensure it has the below signature, then input "y"
|
||||
```
|
||||
E9A4 91A3 DE24 7814 E7E0 67EA E06F 8ECD D651 FF2E
|
||||
RPM Fusion free repository for Fedora (2020) <rpmfusion-buildsys@lists.rpmfusion.org>
|
||||
```
|
||||
If you don't use secure boot, you can simply reboot and skip to the Check functionality stage
|
||||
|
||||
### Sign VirtualBox modules
|
||||
Now, assuming you are using secure boot, we will need to allow the kernel modules used by virtualbox. We will do this using akmods
|
||||
```sh
|
||||
# enable akmods if it not already
|
||||
sudo systemctl enable --now akmods
|
||||
# Register the key with Secure Boot (MOK)
|
||||
sudo mokutil --import /etc/pki/akmods/certs/public_key.der
|
||||
```
|
||||
That last command will prompt you for a password, it can be whatever, just be sure to remember it.
|
||||
|
||||
1. Reboot
|
||||
2. Once you get a blue menu press any key to enter MOK management.
|
||||
- If you miss this prompt you can re-run the last command and reboot again.
|
||||
3. Select `Enroll MOK` and follow the prompts to enroll the key
|
||||
4. Enter the password you chose when prompted
|
||||
|
||||
### Check functionality
|
||||
Once booted you can now ensure the VirtualBox module is working with
|
||||
```sh
|
||||
systemctl status vboxdrv
|
||||
```
|
||||
And ensure it it started.
|
||||
|
||||
## Ubuntu/Mint
|
||||
|
||||
```sh
|
||||
sudo apt install virtualbox
|
||||
```
|
||||
|
||||
127
Software/VirtualMachineManager.md
Normal file
@@ -0,0 +1,127 @@
|
||||
# Virtual Machine Manager
|
||||
Virtual Machine Manager is a Hypervisor that is generally capable of everything [VirtualBox](VirtualBox.md) or [VMWare Workstation](VMWareWorkstation.md) is, but with the benefit of built in support from the linux kernel. So no weird install processes involving kernel modules and the like.
|
||||
|
||||
# Install
|
||||
If your distribution has a Graphical software manager/store, you can likely search for **Virtual Machine Manager** and install it there.
|
||||
|
||||
**NOTE: Some Windows VMs may require TPM, this will require the swtpm package to also be installed on your system. See the [TPM section](#tpm) for details.**
|
||||
|
||||
If not, or you wish to install it via command-line, see below:
|
||||
|
||||
### Flatpak (universal)
|
||||
If you wish to install through flatpak ensure flatpak is setup, see [Flatpak](Flatpak.md) for details if not.
|
||||
```sh
|
||||
flatpak install flathub org.virt_manager.virt-manager
|
||||
```
|
||||
|
||||
### Arch-based
|
||||
```sh
|
||||
sudo pacman -S virt-manager
|
||||
```
|
||||
|
||||
### Debian/Mint/Ubuntu
|
||||
```sh
|
||||
sudo apt update
|
||||
sudo apt install virt-manager
|
||||
```
|
||||
|
||||
### Fedora
|
||||
```sh
|
||||
sudo dnf install virt-manager
|
||||
```
|
||||
|
||||
# Usage
|
||||
## Initial Setup
|
||||
Before you can create a VM you need to connect to libvirt's QEMU/KVM module, which is installed along with virt-manager.
|
||||
|
||||
Select: File -> Add Connection...
|
||||
|
||||

|
||||
|
||||
Ensure Hypervisior is set to "QEMU/KVM", "Connect to remote" is **unchecked** and Autoconnect is **checked**. Then click "Connect"
|
||||
|
||||

|
||||
|
||||
## Create new Virtual Machine
|
||||
First download the desired .iso file, I recommend creating a folder somewhere to store your .iso files.
|
||||
|
||||
Click the Create VM Button:
|
||||
|
||||

|
||||
|
||||
Select "Local install media" and **Forward**:
|
||||
|
||||

|
||||
|
||||
Select Browse:
|
||||
|
||||

|
||||
|
||||
If your iso folder is not in the list, click the add button:
|
||||
|
||||

|
||||
|
||||
Set a name for this location, such as "ISO Files", Click "Browse", navigate to the folder with your .iso and click "Open".
|
||||
Click "Finish" to create the pool.
|
||||
|
||||

|
||||
|
||||
|
||||
Select the ISO pool, if the pool looks empty, click the ▶︎ button. Then select your .iso file and click "Choose Volume".
|
||||
|
||||

|
||||
|
||||
If the OS is not automatically detected, uncheck "Automatically detect" and search for it manually.
|
||||
|
||||

|
||||
|
||||
Regardless, once the OS is selected, click Forward.
|
||||
|
||||
Set Memory and CPU allocation as desired.
|
||||
|
||||
You can set the storage size on the next page. However if you wish to install this VM in a different location, follow the below steps:
|
||||
|
||||
Select "Select or create custom storage" and click "Manage"
|
||||
|
||||

|
||||
|
||||
Same as with adding a folder/pool for the .iso files, add a pool, give it a name, and select the location.
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
In the desired pool, click the add button to create a volume.
|
||||
|
||||

|
||||
|
||||
Change the volume name if desired, set the capacity depending on the OS you're installing and click "Finish".
|
||||
|
||||

|
||||
|
||||
Make sure the volume is selected, and click "Choose Volume".
|
||||
|
||||
Make sure you are happy with the VM details and click "Finish".
|
||||
For Windows, you may want to check the option "Customize configuration before install" and remove or disable the NIC (Network Interface) to aid in bypassing Online Account registration.
|
||||
|
||||
Also see the TPM section below for Windows 11 installs
|
||||
|
||||
## TPM
|
||||
Windows 11, aside from the LTSC version, require TPM 2.0 to install, this can be emulated by swtpm.
|
||||
|
||||
Use your distribution's package manager to install `swtpm`.
|
||||
- When creating a Windows11 VM, a TPM device should now automatically be added.
|
||||
- For Already created VMs you can click **Add Hardware** on the Details page for the VM, select "TPM" and "Finish"
|
||||
|
||||

|
||||
|
||||
If there are any issues you can just install the LTSC version of windows, which as of this writing (March 2026) does not require TPM.
|
||||
|
||||
Honestly, I would recommend the LTSC version of Windows regardless as it provides all the same features, but is more resource and space efficient, due to the lack of unneeded applications being installed by default.
|
||||
|
||||
## USB Device Passthrough
|
||||
To pass a USB device through to a Virtual Machine, simply select "Redirect USB device" under Virtual Machine options.
|
||||
|
||||

|
||||
|
||||
Now check the device you wish to passthrough and close. If you are not sure which device it is, unplug and re-plug it to see which device is added and removed from the list.
|
||||