Moved Software docs to folder

This commit is contained in:
2026-03-12 15:56:23 -05:00
parent 0aa508da95
commit 0ade6aaab4
22 changed files with 0 additions and 0 deletions

17
Software/M365.md Normal file
View 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
View 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:
![Register Server](Screenshots/psql-register-server.png)
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:
![Postgres Connection](Screenshots/psql-connection.png)
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.
![Binary Path Selection](Screenshots/psql-binary-path.png)
Click the Save button in the top left, and the PSQL tool should now function.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View 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
View 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
```

View 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...
![Add Connection](Screenshots/add-connection.png)
Ensure Hypervisior is set to "QEMU/KVM", "Connect to remote" is **unchecked** and Autoconnect is **checked**. Then click "Connect"
![Add Connection](Screenshots/add-connection-2.png)
## 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:
![New VM Button](Screenshots/new-vm.png)
Select "Local install media" and **Forward**:
![VM Install Options](Screenshots/vm-install-opt.png)
Select Browse:
![Choose iso](Screenshots/choose-iso.png)
If your iso folder is not in the list, click the add button:
![Add Pool](Screenshots/add-pool.png)
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.
![Create Storage Pool](Screenshots/iso-pool.png)
Select the ISO pool, if the pool looks empty, click the ▶︎ button. Then select your .iso file and click "Choose Volume".
![Choose ISO](Screenshots/choose-iso-2.png)
If the OS is not automatically detected, uncheck "Automatically detect" and search for it manually.
![Select OS](Screenshots/select-os.png)
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"
![Custom Storage](Screenshots/custom-storage.png)
Same as with adding a folder/pool for the .iso files, add a pool, give it a name, and select the location.
![Add Pool](Screenshots/add-pool.png)
![Create Storage Pool](Screenshots/iso-pool.png)
In the desired pool, click the add button to create a volume.
![Create Volume](Screenshots/create-volume.png)
Change the volume name if desired, set the capacity depending on the OS you're installing and click "Finish".
![Create Volume](Screenshots/create-volume-2.png)
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"
![Add TPM](Screenshots/add-tpm.png)
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.
![Redirect USB](Screenshots/usb-passthrough.png)
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.