Håvard Ose Nordstrand 1 年間 前
コミット
336a476765
64 ファイル変更196 行追加116 行削除
  1. 1 1
      aaa/kerberos.md
  2. 2 2
      check-links.sh
  3. 1 1
      game-server/minecraft-bukkit.md
  4. 1 1
      general/computer-testing.md
  5. 1 1
      general/linux.md
  6. 2 2
      hpc/containers.md
  7. 2 2
      hpc/cuda.md
  8. 1 1
      hpc/enroot.md
  9. 4 4
      hpc/hip.md
  10. 1 1
      hpc/interconnects.md
  11. 3 3
      hpc/rocm.md
  12. 1 1
      hpc/singularity.md
  13. 22 21
      index.md
  14. 8 8
      linux-server/applications.md
  15. 1 1
      linux-server/ceph.md
  16. 2 2
      linux-server/db-crdb.md
  17. 4 4
      linux-server/debian.md
  18. 35 0
      linux-server/rabbitmq.md
  19. 5 5
      linux-server/storage.md
  20. 1 1
      linux-server/zfs.md
  21. 1 1
      media/ffmpeg.md
  22. 1 1
      media/ndi.md
  23. 1 1
      media/video-basics.md
  24. 1 1
      monitoring/prometheus.md
  25. 2 2
      networking/bgp.md
  26. 1 1
      networking/cisco-ios-routers.md
  27. 1 1
      networking/cisco-ios-switches.md
  28. 1 1
      networking/cisco-sda.md
  29. 1 1
      networking/ipv4.md
  30. 3 3
      networking/ipv6.md
  31. 2 2
      networking/juniper-ex.md
  32. 7 7
      networking/juniper-ex3300-fanmod.md
  33. 1 1
      networking/juniper-hardware.md
  34. 2 2
      networking/juniper-srx.md
  35. 2 2
      networking/linux.md
  36. 3 3
      networking/multicast.md
  37. 1 1
      networking/ospf.md
  38. 1 1
      networking/routing.md
  39. 1 1
      networking/ubiquiti-unifi-aps.md
  40. 2 2
      networking/ubiquiti-unifi-controllers.md
  41. 2 2
      personal-device/applications.md
  42. 4 4
      personal-device/arch-i3.md
  43. 2 2
      personal-device/kubuntu.md
  44. 1 1
      personal-device/manjaro-kde.md
  45. 0 0
      swe/_name
  46. 0 0
      swe/ccpp-tools.md
  47. 1 1
      swe/clang-llvm.md
  48. 0 0
      swe/cpp.md
  49. 0 0
      swe/data.md
  50. 0 0
      swe/db.md
  51. 1 1
      swe/gcc.md
  52. 48 4
      swe/git.md
  53. 0 0
      swe/go.md
  54. 0 0
      swe/licensing.md
  55. 0 0
      swe/openmp.md
  56. 0 0
      swe/rust.md
  57. 0 0
      swe/web-security.md
  58. 0 0
      virt/_name
  59. 0 0
      virt/docker.md
  60. 0 0
      virt/k8s.md
  61. 0 0
      virt/libvirt-kvm.md
  62. 1 1
      virt/podman.md
  63. 3 3
      virt/proxmox-ve.md
  64. 0 0
      virt/virtualbox.md

+ 1 - 1
aaa/kerberos.md

@@ -38,6 +38,6 @@ It's designed to be run on top of an untrusted network using an appropriate set
 
 ## Setup
 
-See [FreeIPA](/config/aaa/freeipa/) (a suite consisting of MIT Kerberos and more).
+See [FreeIPA](/aaa/freeipa/) (a suite consisting of MIT Kerberos and more).
 
 {% include footer.md %}

+ 2 - 2
check-links.sh

@@ -46,13 +46,13 @@ function check_link {
     fi
 
     # Show error if using relative path.
-    if grep -P '/$' <<<$target_file >/dev/null; then
+    if grep -P '^\.\.' <<<$target_file >/dev/null; then
         print_error "$src_file" "$web_url" "$target_file" "Relative paths not allowed."
         return
     fi
 
     # Show error if file does not exist.
-    if [[ ! -f $target_file ]]; then
+    if [[ ! -f $PWD/$target_file ]]; then
         print_error "$src_file" "$web_url" "$target_file" "Target file does not exist."
         return
     fi

+ 1 - 1
game-server/minecraft-bukkit.md

@@ -21,7 +21,7 @@ This page is intended for the Bukkit server software or any of its derivatives,
 ## Server Managers
 
 - [Pterodactyl](https://pterodactyl.io/):
-    - See [Linux Server Applications: Pterodactyl](/config/linux-server/applications/#pterodactyl)).
+    - See [Linux Server Applications: Pterodactyl](/linux-server/applications/#pterodactyl)).
     - Open-source.
     - Free to use.
     - Modern.

+ 1 - 1
general/computer-testing.md

@@ -73,7 +73,7 @@ fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=1m --size=16G --
 ### smartmontools (Linux)
 
 - For health testing.
-- See [smartmontools](/config/linux-general/applications/#smartmontools).
+- See [smartmontools](/linux-general/applications/#smartmontools).
 
 ## Miscellanea
 

+ 1 - 1
general/linux.md

@@ -418,7 +418,7 @@ Using GPG (from package `gnupg2` on Debian).
     - The nice value is inherited by child processes (meaning forking processes maintains the nice value it started with).
     - Use `renice` to change the value.
     - Use `ionice` to set the I/O scheduler and scheduler-specific priority.
-- Stress test with stress/stress-ng (see [Computer Testing](../computer-testing/)):
+- Stress test with stress/stress-ng (see [Computer Testing](/general/computer-testing/)):
     - Install (Debian): `apt install stress-ng`
     - Install (Arch): `apt install stress`
     - Stress CPU: `stress(-ng) -c $(nproc) -t $((10*60))` (use all CPU threads for 10 minutes)

+ 2 - 2
hpc/containers.md

@@ -11,7 +11,7 @@ breadcrumbs:
 
 #### Resources
 
-- Config notes: [Docker](/config/virt-cont/docker/)
+- Config notes: [Docker](/virt/docker/)
 
 #### General Information
 
@@ -26,7 +26,7 @@ breadcrumbs:
 #### Resources
 
 - Homepage: [Singularity](https://singularity.hpcng.org/)
-- Config notes: [Singularity](/config/hpc/singularity/)
+- Config notes: [Singularity](/hpc/singularity/)
 
 #### Information
 

+ 2 - 2
hpc/cuda.md

@@ -10,7 +10,7 @@ Introduced by NVIDIA in 2006. While GPU compute was hackishly possible before CU
 ### Related Pages
 {:.no_toc}
 
-- [HIP](../hip/)
+- [HIP](/hpc/hip/)
 
 ## TODO
 
@@ -59,7 +59,7 @@ Downloads: [CUDA Toolkit Download (NVIDIA)](https://developer.nvidia.com/cuda-do
 
 Docker containers may run NVIDIA applications using the NVIDIA runtime for Docker.
 
-See [Docker](/config/virt-cont/docker/).
+See [Docker](/virt/docker/).
 
 ### DCGM
 

+ 1 - 1
hpc/enroot.md

@@ -9,7 +9,7 @@ A container technology for HPC, made by NVIDIA.
 
 ## Information
 
-- For more general imformation and comparison to other HPC container technologies, see [Containers](/config/hpc/containers/).
+- For more general imformation and comparison to other HPC container technologies, see [Containers](/hpc/containers/).
 
 ## Configuration
 

+ 4 - 4
hpc/hip.md

@@ -11,8 +11,8 @@ Compared to OpenCL (which is also supported by both NVIDIA and AMD), it's much m
 ### Related Pages
 {:.no_toc}
 
-- [ROCm](../rocm/)
-- [CUDA](../cuda/)
+- [ROCm](/hpc/rocm/)
+- [CUDA](/hpc/cuda/)
 
 ## Resources
 
@@ -27,13 +27,13 @@ Compared to OpenCL (which is also supported by both NVIDIA and AMD), it's much m
 
 ### Install for AMD GPUs
 
-1. Install the ROCm suite (contains HIP and other useful stuff): See [ROCm](../rocm/).
+1. Install the ROCm suite (contains HIP and other useful stuff): See [ROCm](/hpc/rocm/).
 
 ### Install for NVIDIA GPUs
 
 Updated for ROCm 5.0.
 
-1. Install the CUDA toolkit and the NVIDIA driver: See [CUDA](../cuda/).
+1. Install the CUDA toolkit and the NVIDIA driver: See [CUDA](/hpc/cuda/).
 1. Add the ROCm package repo:
     1. Install requirements: `sudo apt install curl libnuma-dev wget gnupg2`
     1. Add repo key: `curl -sSf https://repo.radeon.com/rocm/rocm.gpg.key | sudo gpg --dearmor --output /usr/share/keyrings/rocm.gpg`

+ 1 - 1
hpc/interconnects.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Linux Switching & Routing](/config/network/linux/)
+- [Linux Switching & Routing](/network/linux/)
 
 ## General
 

+ 3 - 3
hpc/rocm.md

@@ -11,8 +11,8 @@ It uses the runtime API and kernel language HIP, which is compilable for both AM
 ### Related Pages
 {:.no_toc}
 
-- [HIP](../hip/)
-- [Clang/LLVM](/se/clang-llvm/)
+- [HIP](/hpc/hip/)
+- [Clang/LLVM](/swd/clang-llvm/)
 
 ## Resources
 
@@ -48,7 +48,7 @@ Updated for ROCm 5.0.
 1. Verify AMDGPU DKMS install: `sudo dkms status`
 1. Verify ROCm install: `rocminfo`
     - This should show you AMD GPU as an agent (and also you AMD CPU if you have one).
-1. (Optional) Verify HIP: See [HIP](../HIP/).
+1. (Optional) Verify HIP: See [HIP](/hpc/HIP/).
 
 ## Usage and Tools
 

+ 1 - 1
hpc/singularity.md

@@ -9,7 +9,7 @@ A container technology for HPC.
 
 ## Information
 
-- For more general imformation and comparison to other HPC container technologies, see [Containers](/config/hpc/containers/).
+- For more general imformation and comparison to other HPC container technologies, see [Containers](/hpc/containers/).
 
 ## Configuration
 

+ 22 - 21
index.md

@@ -77,11 +77,12 @@ Random collection of config notes and Miscellanea. _Technically not a wiki._
 ## Linux Server
 
 - [Linux Server Applications](/linux-server/applications/)
-- [Linux Server Database: CockroachDB (CRDB)](/linux-server/db-crdb/)
+- [Ceph](/linux-server/ceph/)
+- [CockroachDB (CRDB)](/linux-server/db-crdb/)
 - [Debian Server](/linux-server/debian/)
+- [RabbitMQ](/linux-server/rabbitmq/)
 - [Linux Server Storage](/linux-server/storage/)
-- [Linux Server Storage: Ceph](/linux-server/storage-ceph/)
-- [Linux Server Storage: ZFS](/linux-server/storage-zfs/)
+- [ZFS](/linux-server/zfs/)
 
 ## Media
 
@@ -167,26 +168,26 @@ Random collection of config notes and Miscellanea. _Technically not a wiki._
 
 ## Software Engineering
 
-- [C/C++ Tools](/soft-eng/ccpp-tools/)
-- [Clang/LLVM](/soft-eng/clang-llvm/)
-- [C++ (Language)](/soft-eng/cpp/)
-- [Data Stuff](/soft-eng/data/)
-- [Databases](/soft-eng/db/)
-- [GNU Compiler Collection (GCC)](/soft-eng/gcc/)
-- [Git](/soft-eng/git/)
-- [Go (Language)](/soft-eng/go/)
-- [Licensing](/soft-eng/licensing/)
-- [OpenMP](/soft-eng/openmp/)
-- [Rust (Language)](/soft-eng/rust/)
-- [Web Security](/soft-eng/web-security/)
+- [C/C++ Tools](/swe/ccpp-tools/)
+- [Clang/LLVM](/swe/clang-llvm/)
+- [C++ (Language)](/swe/cpp/)
+- [Data Stuff](/swe/data/)
+- [Databases](/swe/db/)
+- [GNU Compiler Collection (GCC)](/swe/gcc/)
+- [Git](/swe/git/)
+- [Go (Language)](/swe/go/)
+- [Licensing](/swe/licensing/)
+- [OpenMP](/swe/openmp/)
+- [Rust (Language)](/swe/rust/)
+- [Web Security](/swe/web-security/)
 
 ## Virtualization, Containerization and Orchestration
 
-- [Docker](/virt-cont/docker/)
-- [Kubernetes](/virt-cont/k8s/)
-- [libvirt & KVM](/virt-cont/libvirt-kvm/)
-- [Podman](/virt-cont/podman/)
-- [Proxmox VE](/virt-cont/proxmox-ve/)
-- [VirtualBox](/virt-cont/virtualbox/)
+- [Docker](/virt/docker/)
+- [Kubernetes](/virt/k8s/)
+- [libvirt & KVM](/virt/libvirt-kvm/)
+- [Podman](/virt/podman/)
+- [Proxmox VE](/virt/proxmox-ve/)
+- [VirtualBox](/virt/virtualbox/)
 
 {% include footer.md %}

+ 8 - 8
linux-server/applications.md

@@ -130,7 +130,7 @@ A free community backend for Bitwarden.
 
 ## Ceph
 
-See [Storage: Ceph](/config/linux-server/storage/#ceph).
+See [Storage: Ceph](/linux-server/storage/#ceph).
 
 ## Certbot
 
@@ -210,11 +210,11 @@ This setup requires pubkey plus MFA (if configured) plus password.
 
 ## Intel SSD Data Center Tool (isdct)
 
-See [Storage: isdct](/config/linux-server/storage/#intel-ssd-data-center-tool-isdct).
+See [Storage: isdct](/linux-server/storage/#intel-ssd-data-center-tool-isdct).
 
 ## Home Assistant
 
-See [Home Assistant](/config/iot-ha/home-assistant/).
+See [Home Assistant](/iot-ha/home-assistant/).
 
 ## ISC DHCP Server
 
@@ -729,11 +729,11 @@ Logs are located in `/app/storage/logs/laravel/` inside the container.
 
 #### Counter-Strike: Global Offensive
 
-See [Counter-Strike: Global Offensive (CS:GO)](/config/game-servers/csgo/).
+See [Counter-Strike: Global Offensive (CS:GO)](/game-servers/csgo/).
 
 #### Team Fortress 2
 
-See [Team Fortress 2 (TF2)](/config/game-servers/tf2/).
+See [Team Fortress 2 (TF2)](/game-servers/tf2/).
 
 ## Router Advertisement Daemon (radvd)
 
@@ -919,7 +919,7 @@ See [Team Fortress 2 (TF2)](/config/game-servers/tf2/).
 
 ## UniFi
 
-See [Ubiquiti UniFi Controllers](/config/network/ubiquiti-unifi-controllers/).
+See [Ubiquiti UniFi Controllers](/network/ubiquiti-unifi-controllers/).
 
 ## WireGuard
 
@@ -927,7 +927,7 @@ See [Ubiquiti UniFi Controllers](/config/network/ubiquiti-unifi-controllers/).
 
 1. Install: `apt install wireguard`
 1. (Debian) Fix broken DNS (using systemd resolved):
-    1. Enable systemd resolved: See [systemd-resolved (Debian server setup)](/config/linux-server/debian/#using-systemd-resolved-alternative-2).
+    1. Enable systemd resolved: See [systemd-resolved (Debian server setup)](/linux-server/debian/#using-systemd-resolved-alternative-2).
     1. Fix missing `resolvconf`: `ln -s /usr/bin/resolvectl /usr/local/bin/resolvconf`
 
 ### Usage
@@ -959,6 +959,6 @@ PersistentKeepalive = 25
 
 ## ZFS
 
-See [Storage: ZFS](/config/linux-server/storage/#zfs).
+See [Storage: ZFS](/linux-server/storage/#zfs).
 
 {% include footer.md %}

+ 1 - 1
linux-server/storage-ceph.md → linux-server/ceph.md

@@ -1,5 +1,5 @@
 ---
-title: 'Linux Server Storage: Ceph'
+title: Ceph
 breadcrumbs:
 - title: Linux Server
 ---

+ 2 - 2
linux-server/db-crdb.md

@@ -1,5 +1,5 @@
 ---
-title: 'Linux Server Database: CockroachDB (CRDB)'
+title: CockroachDB (CRDB)
 breadcrumbs:
 - title: Linux Server
 ---
@@ -7,7 +7,7 @@ breadcrumbs:
 
 ## Resources
 
-- [Databases](/soft-eng/db/)
+- [Databases](/swe/db/)
 
 ## Info
 

+ 4 - 4
linux-server/debian.md

@@ -12,7 +12,7 @@ Using **Debian 11 (Bullseye)**.
 ### Installation
 
 - Always verify the downloaded installation image after downloading it.
-- If installing in a Proxmox VE VM, see [Proxmox VE: VMs: Initial Setup](/config/virt-cont/proxmox-ve/#initial-setup).
+- If installing in a Proxmox VE VM, see [Proxmox VE: VMs: Initial Setup](/virt/proxmox-ve/#initial-setup).
 - Prefer UEFI if possible.
 - Use the non-graphical installer. It's basically the same as the graphical one.
 - If it asks to install non-free firmware, take note of the packages so they can be installed later.
@@ -33,7 +33,7 @@ Using **Debian 11 (Bullseye)**.
     - For automation-managed systems: The passwords may be something temporary and the non-root user may be called e.g. `ansible` (for the initial automation).
 - System disk partitioning:
     - Simple system: Guided, single partition, use all available space.
-    - Advanced system: Manually partition, see [system storage](/config/linux-server/storage/#system-storage).
+    - Advanced system: Manually partition, see [system storage](/linux-server/storage/#system-storage).
     - Swap can be set up later as a file or LVM volume.
     - When using LVM: Create the partition for the volume group, configure LVM (separate menu), configure the LVM volumes (filesystem and mount).
 - Package manager:
@@ -164,7 +164,7 @@ The first steps (`(Skip)`) may be skipped if already configured during installat
 1. Setup lm_sensors to monitor sensors:
     1. Install `lm-sensors`.
     1. Run `sensors` to make sure it runs without errors and shows some (default-ish) sensors.
-    1. For further configuration (more sensors) and more info, see [Linux Server Applications: lm_sensors](/config/linux-server/applications/#lm_sensors).
+    1. For further configuration (more sensors) and more info, see [Linux Server Applications: lm_sensors](/linux-server/applications/#lm_sensors).
 1. Check the performance governor and other frequency settings:
     1. Install `linux-cpupower`.
     1. Show: `cpupower frequency-info`
@@ -287,7 +287,7 @@ Everything here is optional.
         - Check: `swapon --show`
     1. Add it to fstab using this line: `/swapfile swap swap defaults 0 0`
         - Check: `mount -a`
-- Setup Postfix mail relay: See [Linux Server Applications: Postfix](/config/linux-server/applications/#postfix).
+- Setup Postfix mail relay: See [Linux Server Applications: Postfix](/linux-server/applications/#postfix).
 - Prevent root local login:
     - Alternatively, keep it enabled with a strong password as a local backdoor for recovery or similar.
     - Add a personal user first.

+ 35 - 0
linux-server/rabbitmq.md

@@ -0,0 +1,35 @@
+---
+title: RabbitMQ
+breadcrumbs:
+- title: Linux Server
+---
+{% include header.md %}
+
+## Info
+
+- A message broker, used for asynchronous message communication between different services.
+- Supports MQTT, AMQP and STOMP, as described below.
+- Messages are sent from a producer to an exchange, which routes it to one or more bound queues, which finally forwards it to one or more consumer.
+- Exchanges can route (1) directly to a specific queue, (2) to multiple queues using topics or (3) to all queues using fanout.
+
+### Messaging Protocols
+
+- Message Queuing Telemetry Transport (MQTT):
+    - Lightweight/minimalistic, designed to avoid excessive communication. Good for IoT environments.
+    - Pub/sub messaging pattern only, with different topics.
+    - Three QoS levels (low-priority 0 to high-priority 2).
+    - Supports a "last will" message specified during client connection setup, that it sent if the client unexpectedly disconnects.
+    - Brokers support retaining the last message on a topic, to send to newly connected clients.
+- Advanced Message Queuing Protocol (AMQP):
+    - Designed as an open standard for enterprise messaging.
+    - Supports sending acknowledgements back from the receiving client to the broker.
+    - Supports reliable message delivery and message persistance.
+    - Uses an _exchange_ in front of a set of _queues_, to allow for more complex routing.
+    - Supports messaging patterns like pub/sub, point-to-pint and request/reply.
+- Simple Text Oriented Messaging Protocol (STOMP):
+    - Designed as a more bare-bones protocol that is simple to implement.
+    - Supports a limited set of commands, including CONNECT, SEND and SUBSCRIBE.
+    - Supports very simple routing.
+    - Is text-based, making implementation and debugging simpler.
+
+{% include footer.md %}

+ 5 - 5
linux-server/storage.md

@@ -9,7 +9,7 @@ Using **Debian**, unless otherwise stated.
 
 ## General
 
-- For benchmarking etc., see [Computer Testing (General)](/config/general/computer-testing/).
+- For benchmarking etc., see [Computer Testing (General)](/general/computer-testing/).
 
 ## Guidelines and Miscellaneous Notes
 
@@ -26,7 +26,7 @@ Using **Debian**, unless otherwise stated.
 - Addressing modes: Cylinder, head and sector (CHS) (old and HDD-based) and logical block addressing (LBA) (new and hardware agnostic).
 - After receiving a new drive or after transporting an existing drive, you should run a SMART conveyance test,
   which is similar to a short test but targeted at this scenario.
-  See [smartmontools](/config/linux-server/applications/#smartmontools).
+  See [smartmontools](/linux-server/applications/#smartmontools).
 - Alignment and block sizes:
     - Using a logical block size smaller than the physical one or misaligning logical and physical blocks will cause reduced performance, mainly for small writes.
     - Main variants:
@@ -109,7 +109,7 @@ Attributes 1 (Raw Read Error Rate) and 7 (Seek Error Rate) can be a bit misleadi
 
 ### SMART
 
-See [smartmontools](/config/linux-server/applications/#smartmontools).
+See [smartmontools](/linux-server/applications/#smartmontools).
 
 For HDDs, the following attributes should stay near 0 and should not be rising. If they are, it may indicate the drive is about to commit seppuku.
 
@@ -212,11 +212,11 @@ To automount it, you need to actually enter it (or equivalent).
 
 ### Ceph
 
-See [Linux Server Storage: Ceph](../storage-ceph/).
+See [Linux Server Storage: Ceph](/linux-server/ceph/).
 
 ### ZFS
 
-See [Linux Server Storage: ZFS](../storage-zfs/).
+See [Linux Server Storage: ZFS](/linux-server/zfs/).
 
 ## Miscellanea
 

+ 1 - 1
linux-server/storage-zfs.md → linux-server/zfs.md

@@ -1,5 +1,5 @@
 ---
-title: 'Linux Server Storage: ZFS'
+title: ZFS
 breadcrumbs:
 - title: Linux Server
 ---

+ 1 - 1
media/ffmpeg.md

@@ -30,7 +30,7 @@ breadcrumbs:
 
 #### Linux
 
-- See the the [Video4Linux 2 (V4L2) page](../v4l2/) for more info about managing devices.
+- See the the [Video4Linux 2 (V4L2) page](/media/v4l2/) for more info about managing devices.
 - List devices: `v4l2-ctl --list-devices`
     - Cameras often provide multiple `/dev/video<n>` for the same device, only one of them provides the correct video feed.
 - Show current device info: `v4l2-ctl -<n> --all` (for `/dev/video<n>`)

+ 1 - 1
media/ndi.md

@@ -63,6 +63,6 @@ A network video protocol by NewTek.
 
 ### OBS NDI Plugin
 
-See [OBS](../obs/).
+See [OBS](/media/obs/).
 
 {% include footer.md %}

+ 1 - 1
media/video-basics.md

@@ -5,7 +5,7 @@ breadcrumbs:
 ---
 {% include header.md %}
 
-- Also see [image basics](../image-basics/) and [audio basics](../audio-basics/) for other concepts that apply to video as well.
+- Also see [image basics](/media/image-basics/) and [audio basics](/media/audio-basics/) for other concepts that apply to video as well.
 - Video formats:
     - **TODO**
     - MP4 (aka MPEG-4 Part 14):

+ 1 - 1
monitoring/prometheus.md

@@ -126,7 +126,7 @@ Instructions:
 1. Create the required files and directories:
     - `touch /etc/default/prometheus-node-exporter`
     - `mkdir -p /var/lib/prometheus/node-exporter/`
-1. Create the systemd service `/etc/systemd/system/prometheus-node-exporter.service`, see [prometheus-node-exporter.service](../files/prometheus-node-exporter.service.txt).
+1. Create the systemd service `/etc/systemd/system/prometheus-node-exporter.service`, see [prometheus-node-exporter.service](/monitoring/files/prometheus-node-exporter.service.txt).
 1. (Optional) Configure it:
     - The defaults work fine.
     - File: `/etc/default/prometheus-node-exporter`

+ 2 - 2
networking/bgp.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Routing Theory](../routing/)
+- [Routing Theory](/networking/routing/)
 
 ## General
 
@@ -87,7 +87,7 @@ The path selection algorithm is used to select a single best path for a prefix.
     - See [Managing Route Objects in the IRR (RIPE)](https://www.ripe.net/manage-ips-and-asns/db/support/managing-route-objects-in-the-irr).
     - IRR policies are handled by `route(6)` objects, containing the ASN and IPv4/IPv6 prefix.
     - Authorization for managing `route(6)` objects can be a little complicated. Generally, the LIR is always allowed to manage it.
-- For more info, see [Internet Governance and Registries](../inet-gov-reg/).
+- For more info, see [Internet Governance and Registries](/networking/inet-gov-reg/).
 
 ## Resource Public Key Infrastructure (RPKI)
 

+ 1 - 1
networking/cisco-ios-routers.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Cisco IOS/IOS XE General](../cisco-ios-general/)
+- [Cisco IOS/IOS XE General](/networking/cisco-ios-general/)
 
 ## Initial Configuration
 

+ 1 - 1
networking/cisco-ios-switches.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Cisco IOS/IOS XE General](../cisco-ios-general/)
+- [Cisco IOS/IOS XE General](/networking/cisco-ios-general/)
 
 ## Initial Configuration
 

+ 1 - 1
networking/cisco-sda.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ## General
 
 - A full zero-trust network solution for campus/enterprise networks (not DC), part of Cisco DNA (often called DNA/SDA).
-- Relation to Cisco Application Centric Infrastructure (ACI): [Cisco ACI: Relation to SDA](../cisco-aci/#relation-to-sda)
+- Relation to Cisco Application Centric Infrastructure (ACI): [Cisco ACI: Relation to SDA](/networking/cisco-aci/#relation-to-sda)
 
 ## Links
 

+ 1 - 1
networking/ipv4.md

@@ -96,6 +96,6 @@ The terms are frequently interchanged and now typically used to refer to the sam
     - Adds a leave process, group queries, querier election (separated from DR election) and a maximum response time (MRT) field.
     - Group queries are only sent to the specific groups and not all hosts.
     - The maximum response time (MRT) is used in queries to inform hosts about how long the router will wait for a report. Hosts will wait a random amount of time less than the MRT and then sends a report if no other host has sent one yet. This reduces the amount of reports in the local network. IGMPv1 uses a hardcoded value of 10 seconds instead. The maximum configurable value is 25 seconds (255s/10). If the timer runs out on the router and no reports have been received, it informs PIM that there are no more listeners.
-- Configuration and commands: See [Multicast](../multicast/).
+- Configuration and commands: See [Multicast](/networking/multicast/).
 
 {% include footer.md %}

+ 3 - 3
networking/ipv6.md

@@ -165,7 +165,7 @@ See the [IANA IPv6 Special-Purpose Address Registry](https://www.iana.org/assign
 
 ## Packet Structure
 
-![Packet header differences between IPv4 and IPv6](../files/ripe-ipv6-header-changes.png)
+![Packet header differences between IPv4 and IPv6](/networking/files/ripe-ipv6-header-changes.png)
 
 *Figure: Packet header differences between IPv4 and IPv6. (Source: RIPE)*
 
@@ -340,7 +340,7 @@ See the [IANA IPv6 Special-Purpose Address Registry](https://www.iana.org/assign
 - Multicast router discovery (MRD):
     - Based on MLD.
     - For discovery of multicast routers.
-- Configuration and commands: See [Multicast](../multicast/).
+- Configuration and commands: See [Multicast](/networking/multicast/).
 
 ### Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
 
@@ -588,7 +588,7 @@ See the [IANA IPv6 Special-Purpose Address Registry](https://www.iana.org/assign
 
 ## Security
 
-![RIPE-722 Overview](../files/ripe-722-overview.png)
+![RIPE-722 Overview](/networking/files/ripe-722-overview.png)
 
 *Figure: RIPE-722 "Requirements for IPv6 in ICT Equipment" overview. (Source: RIPE)*
 

+ 2 - 2
networking/juniper-ex.md

@@ -10,8 +10,8 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Juniper Hardware](/config/network/juniper-hardware/)
-- [Juniper Junos OS](/config/network/juniper-junos/)
+- [Juniper Hardware](/network/juniper-hardware/)
+- [Juniper Junos OS](/network/juniper-junos/)
 
 ### Using
 {:.no_toc}

+ 7 - 7
networking/juniper-ex3300-fanmod.md

@@ -25,31 +25,31 @@ I take no responsibility if this destroys your switch, burns your house down and
 
 **Old and new fans.** The one with screws is the back fan.
 
-[![All fans](../files/juniper-ex3300-fanmod/fans-all.jpg)](../files/juniper-ex3300-fanmod/fans-all.jpg)
+[![All fans](/networking/files/juniper-ex3300-fanmod/fans-all.jpg)](/networking/files/juniper-ex3300-fanmod/fans-all.jpg)
 
 **Original switch.**
 
-[![Original switch](../files/juniper-ex3300-fanmod/switch-original.jpg)](../files/juniper-ex3300-fanmod/switch-original.jpg)
+[![Original switch](/networking/files/juniper-ex3300-fanmod/switch-original.jpg)](/networking/files/juniper-ex3300-fanmod/switch-original.jpg)
 
 **Original back fan.**
 
-[![Original back fan](../files/juniper-ex3300-fanmod/fan-old-back.jpg)](../files/juniper-ex3300-fanmod/fan-old-back.jpg)
+[![Original back fan](/networking/files/juniper-ex3300-fanmod/fan-old-back.jpg)](/networking/files/juniper-ex3300-fanmod/fan-old-back.jpg)
 
 **Original PSU fan.**
 
-[![Original PSU fan](../files/juniper-ex3300-fanmod/fan-old-psu.jpg)](../files/juniper-ex3300-fanmod/fan-old-psu.jpg)
+[![Original PSU fan](/networking/files/juniper-ex3300-fanmod/fan-old-psu.jpg)](/networking/files/juniper-ex3300-fanmod/fan-old-psu.jpg)
 
 **Modded switch.**
 
-[![Modded switch](../files/juniper-ex3300-fanmod/switch-modded.jpg)](../files/juniper-ex3300-fanmod/switch-modded.jpg)
+[![Modded switch](/networking/files/juniper-ex3300-fanmod/switch-modded.jpg)](/networking/files/juniper-ex3300-fanmod/switch-modded.jpg)
 
 **Modded switch again.**
 
-[![Modded switch, different angle](../files/juniper-ex3300-fanmod/switch-modded-2.jpg)](../files/juniper-ex3300-fanmod/switch-modded-2.jpg)
+[![Modded switch, different angle](/networking/files/juniper-ex3300-fanmod/switch-modded-2.jpg)](/networking/files/juniper-ex3300-fanmod/switch-modded-2.jpg)
 
 **Backside of PSU PCB.** Notice the 12V and GND wires from the fan cable extenders soldered onto it.
 
-[![PSU PCB backside](../files/juniper-ex3300-fanmod/psu-back.jpg)](../files/juniper-ex3300-fanmod/psu-back.jpg)
+[![PSU PCB backside](/networking/files/juniper-ex3300-fanmod/psu-back.jpg)](/networking/files/juniper-ex3300-fanmod/psu-back.jpg)
 
 ## Steps
 

+ 1 - 1
networking/juniper-hardware.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Juniper Junos OS](/config/network/juniper-junos/)
+- [Juniper Junos OS](/network/juniper-junos/)
 
 ## EX3300
 

+ 2 - 2
networking/juniper-srx.md

@@ -8,8 +8,8 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Juniper Hardware](/config/network/juniper-hardware/)
-- [Juniper Junos OS](/config/network/juniper-junos/)
+- [Juniper Hardware](/network/juniper-hardware/)
+- [Juniper Junos OS](/network/juniper-junos/)
 
 ### Using
 {:.no_toc}

+ 2 - 2
networking/linux.md

@@ -21,13 +21,13 @@ Issues may also be related to stupid things like which ports you're using on the
 ### Related Pages
 {:.no_toc}
 
-- [Linux Server Networking](/config/linux-server/networking/)
+- [Linux Server Networking](/linux-server/networking/)
 
 ## Setup (Debian)
 
 (In semi-random order.)
 
-- Setup the Linux node as described in [Debian Server: Basic Setup](/config/linux-server/debian-server/#basic-setup).
+- Setup the Linux node as described in [Debian Server: Basic Setup](/linux-server/debian-server/#basic-setup).
 - Setup the firewall for filtering both forwarded traffic and input/output to the router.
 - Setup the firewall for NAT.
 - Enable IP forwarding in `/etc/sysctl.conf`, then run `sysctl -p`:

+ 3 - 3
networking/multicast.md

@@ -22,19 +22,19 @@ breadcrumbs:
 
 ### Address Space
 
-See the [IPv4](../ipv4/) and [IPv6](../ipv6/) pages.
+See the [IPv4](/networking/ipv4/) and [IPv6](/networking/ipv6/) pages.
 
 ## Protocols
 
 ### Internet Group Messaging Protocol (IGMP)
 
 - For cooordination between the host and the first-hop router.
-- See [IPv4](../ipv4/).
+- See [IPv4](/networking/ipv4/).
 
 ### Multicast Listener Discovery (MLD)
 
 - For cooordination between the host and the first-hop router.
-- See [IPv6](../ipv6/).
+- See [IPv6](/networking/ipv6/).
 
 ## Vendor Support
 

+ 1 - 1
networking/ospf.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Routing Theory](../routing/)
+- [Routing Theory](/networking/routing/)
 
 ## TODO
 

+ 1 - 1
networking/routing.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [BGP](../bgp/)
+- [BGP](/networking/bgp/)
 
 ## General
 

+ 1 - 1
networking/ubiquiti-unifi-aps.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Ubiquiti UniFi Controllers](/config/network/ubiquiti-unifi-controllers/)
+- [Ubiquiti UniFi Controllers](/network/ubiquiti-unifi-controllers/)
 
 ### Using
 {:.no_toc}

+ 2 - 2
networking/ubiquiti-unifi-controllers.md

@@ -8,7 +8,7 @@ breadcrumbs:
 ### Related Pages
 {:.no_toc}
 
-- [Ubiquiti UniFi Access Points](/config/network/ubiquiti-unifi-aps/)
+- [Ubiquiti UniFi Access Points](/network/ubiquiti-unifi-aps/)
 
 ## General
 
@@ -46,7 +46,7 @@ UniFi 5 is the latest version and does only officially support Debian 9 (Stretch
 Official installation instructions: [UniFi: How to Install & Upgrade the UniFi Network Controller Software](https://help.ubnt.com/hc/en-us/articles/360012282453-UniFi-How-to-Install-Upgrade-the-UniFi-Network-Controller-Software)
 
 1. Install Debian 9 (later versions don't have the required versions of Java etc.).
-1. Configure it: See [Debian Server](/config/linux-server/debian/) (for Debian 10).
+1. Configure it: See [Debian Server](/linux-server/debian/) (for Debian 10).
 1. Open incoming ports: See note above.
 1. (Optional) NAT port 443 to 8443 (to access it from the normal HTTPS port): `iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443`
 1. (Alternative 1) Install via repo: See [How to Install and Update via APT on Debian or Ubuntu (UniFi)](https://help.ui.com/hc/en-us/articles/220066768-UniFi-How-to-Install-and-Update-via-APT-on-Debian-or-Ubuntu).

+ 2 - 2
personal-device/applications.md

@@ -114,7 +114,7 @@ KERNEL=="hidraw*", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="008f", MODE="0660
 
 ### Installation
 
-See my [Arch setup with i3](../arch-i3/).
+See my [Arch setup with i3](/personal-device/arch-i3/).
 
 ### Configuration
 
@@ -207,7 +207,7 @@ Comes with adapters for compatibility with existing applications and such that e
 
 ### Installation
 
-See the [Arch (i3)](../arch-i3/) or [Kubuntu](../kubuntu/) config notes.
+See the [Arch (i3)](/personal-device/arch-i3/) or [Kubuntu](/personal-device/kubuntu/) config notes.
 
 ### Configuration
 

+ 4 - 4
personal-device/arch-i3.md

@@ -10,7 +10,7 @@ For Arch with LUKS encrypted root, using the i3 window manager.
 ### Related Pages
 {:.no_toc}
 
-- [Applications: i3](../applications/#i3)
+- [Applications: i3](/personal-device/applications/#i3)
 
 ## Resources
 
@@ -329,7 +329,7 @@ Note: Install _either_ the LightDM (X11 GUI) or Ly (TTY TUI) display manager, no
 ### Setup the i3 Window Manager Basics
 
 1. (Note) Some notes about i3:
-    - Se [i3](../applications/#i3) for more personal notes about i3.
+    - Se [i3](/personal-device/applications/#i3) for more personal notes about i3.
     - Use `Mod+Shift+R` to reload the i3 config.
     - Use `Mod+Shift+E` to exit i3.
     - Use `Mod+Enter` to open a terminal.
@@ -482,7 +482,7 @@ Note: Install _either_ the LightDM (X11 GUI) or Ly (TTY TUI) display manager, no
 ### Setup Audio
 
 Note: We're using the PipeWire sound server, a modern, security-focused and compatible replacement for both PulseAudio and JACK.
-See [PipeWire (Applications)](../applications/#pipewire) for more config info.
+See [PipeWire (Applications)](/personal-device/applications/#pipewire) for more config info.
 
 1. Install ALSA stuff:
     1. (Note) ALSA itself is already provided as built-in kernel modules and ALSA drivers will just work.
@@ -546,7 +546,7 @@ See [PipeWire (Applications)](../applications/#pipewire) for more config info.
 1. Setup terminal emulator:
     1. Already done.
 1. Setup the ZSH shell:
-    1. See [Applications: ZSH](../applications/#zsh-linux) (includes font, theme and plugins).
+    1. See [Applications: ZSH](/personal-device/applications/#zsh-linux) (includes font, theme and plugins).
 1. Setup the VLC video and audio player:
     1. Install: `sudo pacman -S vlc`
 1. Setup the Mirage image viewer:

+ 2 - 2
personal-device/kubuntu.md

@@ -44,14 +44,14 @@ breadcrumbs:
 
 ### Extra
 
-1. Install applications: See [PC Applications](/config/pc/applications/).
+1. Install applications: See [PC Applications](/pc/applications/).
 1. (Optional) Install encrypted DVD support:
     - Install: `sudo apt install libdvd-pkg && sudo dpkg-reconfigure libdvd-pkg`
     - Warning: Don't change the region if not necessary. It's typically limited to five changes.
 
 ### PipeWire
 
-Kubuntu comes with PulseAudio. PipeWire is a modern solution designed to replace PulseAudio, JACK and ALSA. This means it combines the simplicity of basic desktop usage from PulseAudio with the complexity of session managers from JACK, with extra focus on security, performance and compatibility. Plus it supports video. See [PipeWire (Applications)](../applications/#pipewire) for more config info.
+Kubuntu comes with PulseAudio. PipeWire is a modern solution designed to replace PulseAudio, JACK and ALSA. This means it combines the simplicity of basic desktop usage from PulseAudio with the complexity of session managers from JACK, with extra focus on security, performance and compatibility. Plus it supports video. See [PipeWire (Applications)](/personal-device/applications/#pipewire) for more config info.
 
 1. Install PipeWire:
     1. Install: `sudo apt install pipewire pipewire-audio-client-libraries pipewire-pulse`

+ 1 - 1
personal-device/manjaro-kde.md

@@ -50,6 +50,6 @@ Nothing special.
 
 ### Extra
 
-1. Install applications: See [PC Applications](/config/pc/applications/).
+1. Install applications: See [PC Applications](/pc/applications/).
 
 {% include footer.md %}

+ 0 - 0
soft-eng/_name → swe/_name


+ 0 - 0
soft-eng/ccpp-tools.md → swe/ccpp-tools.md


+ 1 - 1
soft-eng/clang-llvm.md → swe/clang-llvm.md

@@ -10,7 +10,7 @@ LLVM is an extensive compiler platform and toolchain. It's typically used as the
 ### Related Pages
 {:.no_toc}
 
-- [GCC](../gcc/)
+- [GCC](/swd/gcc/)
 
 ## Usage
 

+ 0 - 0
soft-eng/cpp.md → swe/cpp.md


+ 0 - 0
soft-eng/data.md → swe/data.md


+ 0 - 0
soft-eng/db.md → swe/db.md


+ 1 - 1
soft-eng/gcc.md → swe/gcc.md

@@ -12,7 +12,7 @@ The notes below mainly apply to C/C++, unless otherwise stated.
 ### Related Pages
 {:.no_toc}
 
-- [Clang/LLVM](../clang-llvm/)
+- [Clang/LLVM](/swd/clang-llvm/)
 
 ## Usage
 

+ 48 - 4
soft-eng/git.md → swe/git.md

@@ -59,10 +59,18 @@ breadcrumbs:
     - Clone a repo using SSH (GitHub HON95/wiki example): `git clone git@github.com:HON95/wiki.git [local-dir]`
     - Partial clone without blobs (for big repos, will fetch them on demand): `git clone --filter=blob:none <...>`
     - Partial clone without trees (for big repos, rarely used, maybe for CI): `git clone --filter=tree:0 <...>`
+    - Clone with scalar:
+        - The `scalar` command now comes shipped with Git, after being upstreamed by Microsoft.
+        - Cloning with scalar will set up the defaults for better scaling, with features like prefetching, commit-graph, filesystem monitor, partial cloning and sparse checkout.
+        - Usage: `scalar clone <remote-repo>`
 - Staging files:
-    - Add all files: `git add -A`
+    - Stage all changes: `git add -A`
+    - Stage specific files: `git add <file>`
+    - Unstage changes: `git reset [file]`
     - Unstage all files (without changing them): `git reset`
-    - Discard changes (rollback to HEAD): `git checkout -- <dir or file>`
+    - Discard changes for file: `git checkout [target] -- <file>` (target defaults to HEAD)
+    - Discard changes for file (new command): `git restore [--source <target>] <file>` (target defaults to HEAD)
+    - Discard all changes: `git reset --hard HEAD`
     - gitignore:
         - Add files to ignore in `.gitignore` in the same or a parent folder.
         - A leading `/` means to only match in the same folder as the gitignore file (the gitignore root).
@@ -78,11 +86,19 @@ breadcrumbs:
         - See note above about when to sign commits.
         - Configure a signing key in the config first.
         - To sign a commit, use `git commit -S ...`.
-    - Show details about last commit: `git cat-file -p HEAD`
+    - Fixup and auto-squash:
+        - Allows you to add a special type of commit that updates a previous commit, without rebase nightmares.
+        - If you only want to update the directly previous commit, just use `git commit --amend` instead.
+        - Commit the updates to a previous commit, referencing the previous commit: `git commit --fixup=<prev-commit-hash>`
+        - Auto-squash the temporary fixup commit(s) into the original commit(s): `git rebase --autosquash <branch>`
+    - Show details about the last commit: `git cat-file -p HEAD`
+    - Show details about a single file in the last commit: `git cat-file -p HEAD:"filename.txt"` (example)
 - Pulling/pushing:
     - Force push, e.g. when changing history (dangerous): `git push --force`
     - Force push, but only if the remote hasn't changed (less dangerous): `git push --force-with-lease`
 - Branching:
+    - Checkout a branch: `git checkout [-b] <branch>` (`-b` if new branch)
+    - Checkout a branch (new command): `git switch [-c] <branch>` (`-c` if new branch)
     - Edit the description of a branch: `git branch --edit-description [branchname]` (defaults to active branch)
     - Sparse checkout (limit locally present dirs, assume others are unchanged): `git sparse-checkout set <dir ...>`
 - Stashing:
@@ -106,8 +122,31 @@ breadcrumbs:
         - Detect movement in the same commit: `git blame -C <...>`
         - ... or in the commit that created the file: `git blame -C -C <...>`
         - ... or in any commit at all (slow): `git blame -C -C -C <...>`
+- Attributes:
+    - The attribute config is stored in `.gitattributes`.
+    - Used by e.g. Git LFS.
+    - Show EXIF diff for binary picture diffs (repo-level):
+        1. Install `exiftool`.
+        1. Enable EXIF diffing: `echo '*.png diff=exif' >> .gitattributes`
+        1. Set EXIF tool: `git config diff.exif.textconv exiftool`
 - Submodules:
     - **TODO**
+- Hooks:
+    - Most important hooks:
+        - Commit stuff: `pre-commit`, `prepare-commit-msg`, `commit-msg`, `post-commit`
+        - Rewriting stuff: `pre-rebase`, `post-rewrite`
+        - Merging stuff: `post-merge`, `pre-merge-commit`
+        - Switching/pushing stuff: `post-checkout`, `reference-transaction`, `pre-push`
+        - Server stuff: `pre-receive`, `update`, `proc-receive`, `post-receive`, `post-update`, `push-to-checkout`
+    - The [pre-commit app](https://pre-commit.com/) may be used to manage pre-commit hooks, like checks to run before the commit is allowed to go through. [Husky](https://typicode.github.io/husky/) is another alternative.
+- Git Large File Storage (LFS):
+    - To keep large files in the repo by pushing them to an LFS server but with references in the repo.
+    - Uses Git's "smudge and clean" to pull/push files seemingly like normal Git files.
+    - Git LFS might need to be installed first:
+        - Windows: [Download from git-lfs.com.](https://git-lfs.com/)
+    - Enable LFS for repo (setup hooks): `git lfs install`
+    - Track certain files (setup attributes): `git lfs track "*.mov"`
+    - Show info about file in LFS: `git cat-file -p HEAD:"movie.mov"` (example)
 - Config:
     - Se section below.
     - Update global config: `git config --global <key> <value>`
@@ -124,7 +163,9 @@ breadcrumbs:
 
 ### Example Global Config
 
-`~/.gitconfig`
+File: `~/.gitconfig`
+
+Note: Avoid quotation marks around values.
 
 ```ini
 [user]
@@ -149,6 +190,9 @@ breadcrumbs:
 [branch]
         # Sorted "git branch" output
         sort = -committerdate
+[rebase]
+        # Automaticall update refs by sefault after rebase
+        updateRefs = true
 ```
 
 (Keep up to date with [HON95/configs](https://github.com/HON95/configs/blob/master/git/config).)

+ 0 - 0
soft-eng/go.md → swe/go.md


+ 0 - 0
soft-eng/licensing.md → swe/licensing.md


+ 0 - 0
soft-eng/openmp.md → swe/openmp.md


+ 0 - 0
soft-eng/rust.md → swe/rust.md


+ 0 - 0
soft-eng/web-security.md → swe/web-security.md


+ 0 - 0
virt-cont/_name → virt/_name


+ 0 - 0
virt-cont/docker.md → virt/docker.md


+ 0 - 0
virt-cont/k8s.md → virt/k8s.md


+ 0 - 0
virt-cont/libvirt-kvm.md → virt/libvirt-kvm.md


+ 1 - 1
virt-cont/podman.md → virt/podman.md

@@ -117,7 +117,7 @@ Warning: If you have any existing CNI networks, forcing Netavark will break thos
 
 ### General
 
-- See [Docker usage](../docker/#usage).
+- See [Docker usage](/virt/docker/#usage).
     - Most commands are Docker clones and simply replacing `docker` with `podman` in the command will typically work.
     - Configuration files are a bit different.
 - Registries:

+ 3 - 3
virt-cont/proxmox-ve.md → virt/proxmox-ve.md

@@ -53,7 +53,7 @@ See [HON95/ansible](https://github.com/HON95/ansible) (Debian role) and [lae.pro
 
 ### Initial Configuration
 
-Follow the instructions for [Debian server](/config/linux-server/debian/) in addition to the notes and instructions below (read them first).
+Follow the instructions for [Debian server](/linux-server/debian/) in addition to the notes and instructions below (read them first).
 
 Warning: Don't install any of the firmware packages, it will remove the PVE firmware packages.
 
@@ -294,7 +294,7 @@ The "Cloud-Init" notes can be ignored if you're not using Cloud-Init. See the se
 1. Setup the VM (see the general setup section).
 1. (Recommended) Setup the QEMU guest agent: See the section about it.
 1. (Optional) Setup SPICE (for better graphics): See the section about it.
-1. More detailed Debian setup: [Debian](/config/linux-server/debian/)
+1. More detailed Debian setup: [Debian](/linux-server/debian/)
 
 ### Linux VM Cloud-Init Debian Template
 
@@ -531,7 +531,7 @@ Check the host system logs. It may for instance be due to hardware changes or st
 
 ### Ceph
 
-See [Storage: Ceph](/config/linux-server/storage/#ceph) for general notes.
+See [Storage: Ceph](/linux-server/storage/#ceph) for general notes.
 The notes below are PVE-specific.
 
 #### Notes

+ 0 - 0
virt-cont/virtualbox.md → virt/virtualbox.md