- To use OpenWrt Router as a wifi adapter instead of a regular wireless card for a stronger & stable Wifi connection.
- Use existing proprietary AP provided by ISP (Doesn't support Mesh or WDS)
This tutorial guides you through the process of creating Templates and Virtual Machines on Proxmox using cloud-based images from various Linux distributions. We provide clear instructions for Alma Linux 9, Amazon Linux 2, CentOS 9, Fedora 38, Oracle Linux 9, RHEL 9, Rocky Linux 9, and Ubuntu 23.04 Lynx Lobster.
Note: The instructions have been tested on Proxmox 8.0.4.
Let's begin by choosing the cloud-based image. If you already have your preferred Linux distribution, skip to the 1st step.
To assist in making informed choices when selecting a Linux distribution for your virtual machines, we've compiled a table showcasing key characteristics of each cloud image. This table provides a snapshot of important attributes, including kernel version, Python version, number of processes initialized after boot, number of packages installed, free memory after boot, VM disk size, root partition disk size, used size on t
#!/bin/sh /etc/rc.common | |
# OpenWrt /etc/init.d/ script to backup and restore the rrd (collectd) database, to preserve data across reboots | |
# | |
# | |
# howto: | |
# - upload this file as /etc/init.d/rrdbackup | |
# - (optional) adjust BACKUP_DIR below to point to a different target directory for the backup (e.g., a USB drive) | |
# - # chmod +x /etc/init.d/rrdbackup | |
# - # /etc/init.d/rrdbackup enable |
#!/bin/bash | |
set -e | |
TOKEN=xxx | |
AUTH="Basic $(echo -n $TOKEN: | base64)" | |
SONARAPI="http://sonarqube/api" | |
for projKey in $(curl -s -X GET $SONARAPI/projects/search -H "Authorization: $AUTH" | \ | |
jq -r '.components[].key') |
#!/bin/bash | |
DRY_RUN=1 | |
if [ "$1" != "" ]; then | |
DRY_RUN="$1" | |
fi | |
MAX_VERSION=2 | |
if [ "$2" != "" ]; then | |
MAX_VERSION="$2" | |
fi |
Simple collection of Groovy scripts to help me maintain some Jenkins systems.
See also https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Console
Please comment & let me know if you have a fork / fixes you'd like to include.
#!/bin/bash | |
# proxvm | |
# Output in specifed format (default csv) all virtual machines on proxmox 4+ | |
SERVER=srv | |
USERNAME=username | |
PASSWORD=$(<$HOME/.pve-pass-file) | |
FORMAT=csv | |
#echo Connecting to $SERVER:8006 as $USERNAME:$PASSWORD | |
curl -s -k -d "username=$USERNAME" --data-urlencode "password=$PASSWORD" https://$SERVER:8006/api2/json/access/ticket | jq --raw-output '.data.ticket' | sed 's/^/PVEAuthCookie=/' > /tmp/cookie |
#!/bin/bash | |
# proxvm | |
# Output in specifed format (default csv) all virtual machines on proxmox 4+ | |
SERVER=localhost | |
USERNAME=apiread@pve | |
PASSWORD=123456 | |
FORMAT=csv | |
while [[ $# > 0 ]]; do | |
key="$1" |
package week1 | |
object countChange { | |
def countChange(money: Int, coins: List[Int]): Int = { | |
if (money > 0 && !coins.isEmpty) | |
countChange(money, coins.tail) + countChange(money - coins.head, coins) | |
else if (money == 0) 1 else 0 | |
} //> countChange: (money: Int, coins: List[Int])Int |
object balance { | |
def balance(chars: List[Char]): Boolean = { | |
def loop(acc: Int, list: List[Char]): Int = | |
if (list.isEmpty) acc | |
else if (list.head == '(') loop(acc + 1, list.tail) | |
else if (list.head == ')' && acc > 0) loop(acc - 1, list.tail) | |
else if (list.head == ')' && acc <= 0) -1 | |
else loop(acc, list.tail) |