uk revised this gist 8 months ago. Go to revision
1 file changed, 1 insertion, 1 deletion
install_vmtools.sh
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | set -e | |
| 3 | 3 | ||
| 4 | 4 | # Define variables | |
| 5 | - | ISO_FILENAME="SMTX_VMTOOLS-3.2.0-2501210639.iso" | |
| 5 | + | ISO_FILENAME="SMTX_VMTOOLS-3.2.2-2501210639.iso" | |
| 6 | 6 | ISO_FILE="/tmp/${ISO_FILENAME}" | |
| 7 | 7 | MOUNT_POINT="/mnt/wuke-vmtools" | |
| 8 | 8 | ||
uk revised this gist 8 months ago. Go to revision
No changes
uk revised this gist 9 months ago. Go to revision
1 file changed, 97 insertions
install_vmtools.sh(file created)
| @@ -0,0 +1,97 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | set -e | |
| 3 | + | ||
| 4 | + | # Define variables | |
| 5 | + | ISO_FILENAME="SMTX_VMTOOLS-3.2.0-2501210639.iso" | |
| 6 | + | ISO_FILE="/tmp/${ISO_FILENAME}" | |
| 7 | + | MOUNT_POINT="/mnt/wuke-vmtools" | |
| 8 | + | ||
| 9 | + | # Extract version from ISO filename | |
| 10 | + | VMTOOLS_VERSION=$(echo "$ISO_FILENAME" | awk -F'-' '{print $2}') | |
| 11 | + | echo "Extracted VMTools version: $VMTOOLS_VERSION" | |
| 12 | + | ||
| 13 | + | # Detect gateway and set ISO_URL | |
| 14 | + | GATEWAY=$(ip route | grep default | awk '{print $3}') | |
| 15 | + | echo "Detected gateway: $GATEWAY" | |
| 16 | + | ||
| 17 | + | if [[ $GATEWAY == 172.29.16.* ]]; then | |
| 18 | + | ISO_URL="http://172.29.16.5/VMTOOLS/${VMTOOLS_VERSION}/${ISO_FILENAME}" | |
| 19 | + | elif [[ $GATEWAY == 172.29.48.* ]]; then | |
| 20 | + | ISO_URL="http://172.29.48.5/VMTOOLS/${VMTOOLS_VERSION}/${ISO_FILENAME}" | |
| 21 | + | elif [[ $GATEWAY == 172.29.80.* ]]; then | |
| 22 | + | ISO_URL="http://172.29.80.5/VMTOOLS/${VMTOOLS_VERSION}/${ISO_FILENAME}" | |
| 23 | + | elif [[ $GATEWAY == 172.29.112.* ]]; then | |
| 24 | + | ISO_URL="http://172.29.112.5/VMTOOLS/${VMTOOLS_VERSION}/${ISO_FILENAME}" | |
| 25 | + | else | |
| 26 | + | echo "Unsupported gateway network: $GATEWAY" | |
| 27 | + | exit 1 | |
| 28 | + | fi | |
| 29 | + | ||
| 30 | + | echo "Selected ISO URL: $ISO_URL" | |
| 31 | + | ||
| 32 | + | # Function to check and install a package if missing | |
| 33 | + | install_package_if_missing() { | |
| 34 | + | local package_name=$1 | |
| 35 | + | ||
| 36 | + | if command -v yum >/dev/null 2>&1; then | |
| 37 | + | if ! rpm -q "$package_name" >/dev/null 2>&1; then | |
| 38 | + | echo "Installing $package_name using yum..." | |
| 39 | + | yum install -y "$package_name" | |
| 40 | + | else | |
| 41 | + | echo "Package $package_name already installed (yum)." | |
| 42 | + | fi | |
| 43 | + | elif command -v apt >/dev/null 2>&1; then | |
| 44 | + | if ! dpkg -s "$package_name" >/dev/null 2>&1; then | |
| 45 | + | echo "Installing $package_name using apt..." | |
| 46 | + | apt update | |
| 47 | + | apt install -y "$package_name" | |
| 48 | + | else | |
| 49 | + | echo "Package $package_name already installed (apt)." | |
| 50 | + | fi | |
| 51 | + | else | |
| 52 | + | echo "Unsupported OS: yum or apt not found." | |
| 53 | + | exit 1 | |
| 54 | + | fi | |
| 55 | + | } | |
| 56 | + | ||
| 57 | + | # 1. Install required packages | |
| 58 | + | install_package_if_missing tar | |
| 59 | + | install_package_if_missing bzip2 | |
| 60 | + | install_package_if_missing curl | |
| 61 | + | ||
| 62 | + | # 2. Check if ISO URL is accessible | |
| 63 | + | echo "Checking if ISO URL is accessible..." | |
| 64 | + | if ! curl --head --silent --fail "$ISO_URL" >/dev/null; then | |
| 65 | + | echo "Error: ISO URL $ISO_URL is not accessible." | |
| 66 | + | exit 1 | |
| 67 | + | fi | |
| 68 | + | ||
| 69 | + | # 3. Download the ISO file | |
| 70 | + | echo "Downloading VMTools ISO..." | |
| 71 | + | curl -o "$ISO_FILE" "$ISO_URL" | |
| 72 | + | ||
| 73 | + | # 4. Check if /mnt/wuke-vmtools exists | |
| 74 | + | if [ -d "$MOUNT_POINT" ]; then | |
| 75 | + | echo "Directory $MOUNT_POINT exists, removing..." | |
| 76 | + | umount "$MOUNT_POINT" || true | |
| 77 | + | rm -rf "$MOUNT_POINT" | |
| 78 | + | fi | |
| 79 | + | ||
| 80 | + | echo "Creating directory $MOUNT_POINT..." | |
| 81 | + | mkdir -p "$MOUNT_POINT" | |
| 82 | + | ||
| 83 | + | # 5. Mount the ISO | |
| 84 | + | echo "Mounting ISO file to $MOUNT_POINT..." | |
| 85 | + | mount -o loop "$ISO_FILE" "$MOUNT_POINT" | |
| 86 | + | ||
| 87 | + | # 6. Execute the installation script | |
| 88 | + | echo "Running VMTools installation script..." | |
| 89 | + | bash "$MOUNT_POINT/SMTX_VM_TOOLS_INSTALL.sh" | |
| 90 | + | ||
| 91 | + | # 7. Cleanup | |
| 92 | + | echo "Cleaning up temporary files..." | |
| 93 | + | umount "$MOUNT_POINT" || true | |
| 94 | + | rm -f "$ISO_FILE" | |
| 95 | + | rm -rf "$MOUNT_POINT" | |
| 96 | + | ||
| 97 | + | echo "Installation and cleanup completed." | |
uk revised this gist 9 months ago. Go to revision
1 file changed, 1 insertion, 1 deletion
install_ohmyzsh.sh
| @@ -11,7 +11,7 @@ fi | |||
| 11 | 11 | if command -v yum &>/dev/null; then | |
| 12 | 12 | $SUDO yum install -y -q git zsh bash-completion wget unzip tree tmux vim sysstat &> /dev/null | |
| 13 | 13 | elif command -v apt &>/dev/null; then | |
| 14 | - | $SUDO apt update -qq | |
| 14 | + | $SUDO apt update -qq &>/dev/null | |
| 15 | 15 | $SUDO apt install -y git zsh bash-completion wget unzip tree tmux vim sysstat &> /dev/null | |
| 16 | 16 | else | |
| 17 | 17 | echo "[ERROR] unsupport os" >&2 | |
uk revised this gist 9 months ago. Go to revision
1 file changed, 11 insertions, 4 deletions
install_ohmyzsh.sh
| @@ -1,11 +1,18 @@ | |||
| 1 | 1 | #!/bin/bash | |
| 2 | 2 | ||
| 3 | + | # check sudo | |
| 4 | + | if command -v sudo &>/dev/null; then | |
| 5 | + | SUDO=sudo | |
| 6 | + | else | |
| 7 | + | SUDO="" | |
| 8 | + | fi | |
| 9 | + | ||
| 3 | 10 | # install package | |
| 4 | 11 | if command -v yum &>/dev/null; then | |
| 5 | - | sudo yum install -y -q git zsh bash-completion wget unzip tree tmux vim sysstat &> /dev/null | |
| 12 | + | $SUDO yum install -y -q git zsh bash-completion wget unzip tree tmux vim sysstat &> /dev/null | |
| 6 | 13 | elif command -v apt &>/dev/null; then | |
| 7 | - | sudo apt update -qq | |
| 8 | - | sudo apt install -y git zsh bash-completion wget unzip tree tmux vim sysstat &> /dev/null | |
| 14 | + | $SUDO apt update -qq | |
| 15 | + | $SUDO apt install -y git zsh bash-completion wget unzip tree tmux vim sysstat &> /dev/null | |
| 9 | 16 | else | |
| 10 | 17 | echo "[ERROR] unsupport os" >&2 | |
| 11 | 18 | exit 1 | |
| @@ -39,4 +46,4 @@ cat >> ~/.zshrc <<UK | |||
| 39 | 46 | zstyle ':omz:update' mode disabled | |
| 40 | 47 | HIST_STAMPS="yyyy-mm-dd" | |
| 41 | 48 | alias vi="vim" | |
| 42 | - | UK | |
| 49 | + | UK | |
uk revised this gist 9 months ago. Go to revision
1 file changed, 10 insertions, 1 deletion
install_ohmyzsh.sh
| @@ -1,6 +1,15 @@ | |||
| 1 | 1 | #!/bin/bash | |
| 2 | 2 | ||
| 3 | - | yum install git zsh bash-completion wget unzip tree tmux vim sysstat -y -q &> /dev/null || true | |
| 3 | + | # install package | |
| 4 | + | if command -v yum &>/dev/null; then | |
| 5 | + | sudo yum install -y -q git zsh bash-completion wget unzip tree tmux vim sysstat &> /dev/null | |
| 6 | + | elif command -v apt &>/dev/null; then | |
| 7 | + | sudo apt update -qq | |
| 8 | + | sudo apt install -y git zsh bash-completion wget unzip tree tmux vim sysstat &> /dev/null | |
| 9 | + | else | |
| 10 | + | echo "[ERROR] unsupport os" >&2 | |
| 11 | + | exit 1 | |
| 12 | + | fi | |
| 4 | 13 | ||
| 5 | 14 | # install oh-my-zsh | |
| 6 | 15 | git clone https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git | |
uk revised this gist 9 months ago. Go to revision
4 files changed, 104 insertions
packer_rename-no-mf.sh(file created)
| @@ -0,0 +1,23 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | set -o errexit | |
| 4 | + | set -o nounset | |
| 5 | + | set -o pipefail | |
| 6 | + | ||
| 7 | + | VM_NEW_NAME=$1 | |
| 8 | + | ||
| 9 | + | # 提取当前OVF文件名 | |
| 10 | + | VM_NOW_NAME=$(basename *.ovf | awk -F '.ovf' '{print $1}') | |
| 11 | + | ||
| 12 | + | # 重命名OVF文件和VMDK文件 | |
| 13 | + | mv "$VM_NOW_NAME".ovf "$VM_NEW_NAME".ovf | |
| 14 | + | mv "$VM_NOW_NAME"-1.vmdk "$VM_NEW_NAME".vmdk | |
| 15 | + | ||
| 16 | + | # 在OVF文件中替换名称 | |
| 17 | + | sed -i "s/$VM_NOW_NAME/$VM_NEW_NAME/g" "$VM_NEW_NAME".ovf | |
| 18 | + | sed -i "s/${VM_NEW_NAME}-1/$VM_NEW_NAME/g" "$VM_NEW_NAME".ovf | |
| 19 | + | ||
| 20 | + | echo "#### PACKER_COMPLETE ####" | |
| 21 | + | ||
| 22 | + | # 脚本执行完以后,删除本脚本 | |
| 23 | + | rm -f "$0" | |
packer_rename.sh(file created)
| @@ -0,0 +1,29 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | set -o errexit | |
| 4 | + | set -o nounset | |
| 5 | + | set -o pipefail | |
| 6 | + | ||
| 7 | + | VM_NEW_NAME=$1 | |
| 8 | + | ||
| 9 | + | # 提取当前OVF文件名 | |
| 10 | + | VM_NOW_NAME=$(basename *.ovf | awk -F '.ovf' '{print $1}') | |
| 11 | + | ||
| 12 | + | # 重命名OVF文件和VMDK文件 | |
| 13 | + | mv "$VM_NOW_NAME".ovf "$VM_NEW_NAME".ovf | |
| 14 | + | mv "$VM_NOW_NAME"-1.vmdk "$VM_NEW_NAME".vmdk | |
| 15 | + | ||
| 16 | + | # 在OVF文件中替换名称 | |
| 17 | + | sed -i "s/$VM_NOW_NAME/$VM_NEW_NAME/g" "$VM_NEW_NAME".ovf | |
| 18 | + | sed -i "s/${VM_NEW_NAME}-1/$VM_NEW_NAME/g" "$VM_NEW_NAME".ovf | |
| 19 | + | ||
| 20 | + | # 增加 mf 文件 | |
| 21 | + | openssl sha256 "$VM_NEW_NAME".vmdk "$VM_NEW_NAME".ovf > "$VM_NEW_NAME".mf | |
| 22 | + | ||
| 23 | + | # 导出成 OVA | |
| 24 | + | tar -cf "$VM_NEW_NAME".ova "$VM_NEW_NAME".ovf "$VM_NEW_NAME".vmdk "$VM_NEW_NAME".mf | |
| 25 | + | ||
| 26 | + | echo "#### PACKER_COMPLETE ####" | |
| 27 | + | ||
| 28 | + | # 脚本执行完以后,删除本脚本 | |
| 29 | + | rm -f "$0" | |
snippetfile1.txt(file created)
| @@ -0,0 +1,25 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | set -o errexit | |
| 4 | + | set -o nounset | |
| 5 | + | set -o pipefail | |
| 6 | + | ||
| 7 | + | VM_NEW_NAME=$1 | |
| 8 | + | ||
| 9 | + | # 进入 WORKDIR | |
| 10 | + | cd assets | |
| 11 | + | ||
| 12 | + | # 提取当前OVF文件名 | |
| 13 | + | VM_NOW_NAME=$(basename packer-*.ovf | awk -F. '{print $1}') | |
| 14 | + | ||
| 15 | + | # 重命名OVF文件和VMDK文件 | |
| 16 | + | mv "$VM_NOW_NAME".ovf "$VM_NEW_NAME".ovf | |
| 17 | + | mv "$VM_NOW_NAME"-1.vmdk "$VM_NEW_NAME"-1.vmdk | |
| 18 | + | ||
| 19 | + | # 在OVF文件中替换名称 | |
| 20 | + | sed -i "s/$VM_NOW_NAME/$VM_NEW_NAME/g" "$VM_NEW_NAME".ovf | |
| 21 | + | ||
| 22 | + | # 导出成 OVA | |
| 23 | + | tar -cf "$VM_NEW_NAME".ova "$VM_NEW_NAME".ovf "$VM_NEW_NAME"-1.vmdk | |
| 24 | + | ||
| 25 | + | echo "#### PACKER_COMPLETE ####" | |
tower_shutdown_delete-old-vm.sh(file created)
| @@ -0,0 +1,27 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | set -o errexit | |
| 4 | + | set -o nounset | |
| 5 | + | set -o pipefail | |
| 6 | + | ||
| 7 | + | export TOWER_HOST=$TOWER_HOST | |
| 8 | + | export TOWER_USERNAME=$TOWER_USERNAME | |
| 9 | + | export TOWER_PASSWORD=$TOWER_PASSWORD | |
| 10 | + | export VM_NAME=$VM_NAME | |
| 11 | + | export TOWER_SOURCE=LOCAL | |
| 12 | + | ||
| 13 | + | env | |
| 14 | + | ||
| 15 | + | # 下载二进制命令并授予执行权限 | |
| 16 | + | wget -O /tmp/shutdown-vm http://192.168.48.2/Software/bin/tower/shutdown-vm-alpine | |
| 17 | + | wget -O /tmp/delete-vm http://192.168.48.2/Software/bin/tower/delete-vm-alpine | |
| 18 | + | chmod +x /tmp/shutdown-vm /tmp/delete-vm | |
| 19 | + | ||
| 20 | + | # 强制关机 | |
| 21 | + | /tmp/shutdown-vm -force -vm $VM_NAME || true | |
| 22 | + | ||
| 23 | + | # 删除虚拟机并移入回收站 | |
| 24 | + | /tmp/delete-vm -recycle-bin -vm $VM_NAME || true | |
| 25 | + | ||
| 26 | + | # 脚本执行完以后,删除本脚本 | |
| 27 | + | rm -f "$0" | |
uk revised this gist 9 months ago. Go to revision
No changes
uk revised this gist 9 months ago. Go to revision
1 file changed, 202 insertions
install-rpm.sh(file created)
| @@ -0,0 +1,202 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | # 定义安装命令的函数,接收 user 和 repo 作为参数 | |
| 4 | + | case "$(uname -m)" in | |
| 5 | + | x86_64) | |
| 6 | + | arch="amd64" | |
| 7 | + | ;; | |
| 8 | + | aarch64) | |
| 9 | + | arch="arm64" | |
| 10 | + | ;; | |
| 11 | + | *) | |
| 12 | + | echo "Unsupported architecture: $(uname -m)" | |
| 13 | + | exit 1 | |
| 14 | + | ;; | |
| 15 | + | esac | |
| 16 | + | ||
| 17 | + | if [ "$2" = "-U" ]; then | |
| 18 | + | case "$1" in | |
| 19 | + | "helm" | "k9s" | "govc" | "nerdctl" | "fzf" | "terraform" | "packer" ) | |
| 20 | + | rm -rf /usr/local/bin/"$1" "${fpath[0]}"/_"$1" /etc/bash_completion.d/"$1" | |
| 21 | + | echo | |
| 22 | + | echo "-------------------------------------------" | |
| 23 | + | echo "$1 installation complete!" | |
| 24 | + | echo | |
| 25 | + | echo "-------------------------------------------" | |
| 26 | + | echo | |
| 27 | + | ;; | |
| 28 | + | "trzsz" ) | |
| 29 | + | rm -rf /usr/local/bin/"trzsz" /usr/local/bin/"trz" /usr/local/bin/"tsz" "${fpath[0]}"/_"$1" /etc/bash_completion.d/"trzsz" | |
| 30 | + | echo | |
| 31 | + | echo "-------------------------------------------" | |
| 32 | + | echo "$1 installation complete!" | |
| 33 | + | echo | |
| 34 | + | echo "-------------------------------------------" | |
| 35 | + | echo | |
| 36 | + | ;; | |
| 37 | + | *) | |
| 38 | + | echo "Unsupported package: $1" | |
| 39 | + | exit 1 | |
| 40 | + | ;; | |
| 41 | + | esac | |
| 42 | + | exit 0 | |
| 43 | + | else | |
| 44 | + | case "$1" in | |
| 45 | + | "helm") | |
| 46 | + | # helm | |
| 47 | + | echo | |
| 48 | + | echo "Installing helm..." | |
| 49 | + | version=$(curl -s https://get.helm.sh/helm-latest-version) | |
| 50 | + | curl -s -L -o - "https://get.helm.sh/helm-${version}-linux-${arch}.tar.gz" | tar --strip-components=1 -C /usr/local/bin -xzf - linux-amd64/helm | |
| 51 | + | helm completion zsh > "${fpath[1]}/_helm" || true | |
| 52 | + | helm completion bash > /etc/bash_completion.d/helm | |
| 53 | + | # Displaying post-installation instructions | |
| 54 | + | echo | |
| 55 | + | echo "-------------------------------------------" | |
| 56 | + | echo "helm installation complete!" | |
| 57 | + | echo | |
| 58 | + | # Displaying version | |
| 59 | + | helm version | |
| 60 | + | echo | |
| 61 | + | echo "-------------------------------------------" | |
| 62 | + | echo | |
| 63 | + | ;; | |
| 64 | + | "k9s") | |
| 65 | + | # derailed k9s | |
| 66 | + | echo | |
| 67 | + | echo "Installing k9s..." | |
| 68 | + | curl -s -L -o - "https://github.com/derailed/k9s/releases/latest/download/k9s_Linux_${arch}.tar.gz" | tar -C /usr/local/bin -xzf - k9s | |
| 69 | + | # Displaying post-installation instructions | |
| 70 | + | echo | |
| 71 | + | echo "-------------------------------------------" | |
| 72 | + | echo "k9s installation complete!" | |
| 73 | + | echo | |
| 74 | + | # Displaying version | |
| 75 | + | k9s version | |
| 76 | + | echo | |
| 77 | + | echo "-------------------------------------------" | |
| 78 | + | echo | |
| 79 | + | ;; | |
| 80 | + | "govc") | |
| 81 | + | # vmware govmomi | |
| 82 | + | echo | |
| 83 | + | echo "Installing govmomi..." | |
| 84 | + | curl -s -L -o - "https://github.com/vmware/govmomi/releases/latest/download/govc_$(uname -s)_$(uname -m).tar.gz" | tar -C /usr/local/bin -xvzf - govc | |
| 85 | + | # Displaying post-installation instructions | |
| 86 | + | echo | |
| 87 | + | echo "-------------------------------------------" | |
| 88 | + | echo "nerdctl installation complete!" | |
| 89 | + | echo | |
| 90 | + | # Displaying version | |
| 91 | + | govc version | |
| 92 | + | echo | |
| 93 | + | echo "To initialize the environment, please run:" | |
| 94 | + | echo " export GOVC_URL=\"https://administrator@vsphere.local:password@vcip\"" | |
| 95 | + | echo " export GOVC_INSECURE=true" | |
| 96 | + | echo "-------------------------------------------" | |
| 97 | + | echo | |
| 98 | + | ;; | |
| 99 | + | "nerdctl") | |
| 100 | + | # vmware nerdctl | |
| 101 | + | echo | |
| 102 | + | echo "Installing nerdctl..." | |
| 103 | + | VERSION=$(curl -s https://api.github.com/repos/containerd/nerdctl/releases/latest | jq -r '.tag_name' | awk -F"v" '{print $NF}') | |
| 104 | + | curl -s -L -o - "https://github.com/containerd/nerdctl/releases/latest/download/nerdctl-${VERSION}-linux-${arch}.tar.gz" | tar -C /usr/local/bin -xvzf - nerdctl | |
| 105 | + | nerdctl completion zsh > "${fpath[1]}/_nerdctl" || true | |
| 106 | + | nerdctl completion bash > /etc/bash_completion.d/nerdctl | |
| 107 | + | # Displaying post-installation instructions | |
| 108 | + | echo | |
| 109 | + | echo "-------------------------------------------" | |
| 110 | + | echo "nerdctl installation complete!" | |
| 111 | + | echo | |
| 112 | + | # Displaying version | |
| 113 | + | nerdctl version | |
| 114 | + | echo | |
| 115 | + | echo "-------------------------------------------" | |
| 116 | + | echo | |
| 117 | + | ;; | |
| 118 | + | "fzf") | |
| 119 | + | # fzf | |
| 120 | + | echo | |
| 121 | + | echo "Installing fzf..." | |
| 122 | + | VERSION=$(curl -s https://api.github.com/repos/junegunn/fzf/releases/latest | jq -r '.tag_name' | awk -F"v" '{print $NF}') | |
| 123 | + | curl -s -L -o - "https://github.com/junegunn/fzf/releases/latest/download/fzf-${VERSION}-linux_${arch}.tar.gz" | tar -C /usr/local/bin -xvzf - fzf | |
| 124 | + | fzf --zsh > "${fpath[1]}/_fzf" || true | |
| 125 | + | fzf --bash > /etc/bash_completion.d/fzf | |
| 126 | + | # Displaying post-installation instructions | |
| 127 | + | echo | |
| 128 | + | echo "-------------------------------------------" | |
| 129 | + | echo "fzf installation complete!" | |
| 130 | + | echo | |
| 131 | + | # Displaying version | |
| 132 | + | fzf --version | |
| 133 | + | echo | |
| 134 | + | echo "-------------------------------------------" | |
| 135 | + | echo | |
| 136 | + | ;; | |
| 137 | + | "terraform") | |
| 138 | + | # terraform | |
| 139 | + | echo | |
| 140 | + | echo "Installing Terraform..." | |
| 141 | + | # Fetching the latest version of Terraform | |
| 142 | + | VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/terraform | jq -r -M '.current_version') | |
| 143 | + | curl -s -L -o "terraform_${VERSION}_linux_${arch}.zip" "https://releases.hashicorp.com/terraform/${VERSION}/terraform_${VERSION}_linux_${arch}.zip" | |
| 144 | + | # Unzipping and installing Terraform | |
| 145 | + | unzip -qq -o "terraform_${VERSION}_linux_${arch}.zip" terraform -d /usr/local/bin && rm -f "terraform_${VERSION}_linux_${arch}.zip" | |
| 146 | + | # Displaying post-installation instructions | |
| 147 | + | echo | |
| 148 | + | echo "-------------------------------------------" | |
| 149 | + | echo "Terraform installation complete!" | |
| 150 | + | echo | |
| 151 | + | # Displaying terraform version | |
| 152 | + | terraform --version | |
| 153 | + | echo | |
| 154 | + | echo "To enable CLI auto-completion, please run:" | |
| 155 | + | echo " terraform -install-autocomplete" | |
| 156 | + | echo "-------------------------------------------" | |
| 157 | + | echo | |
| 158 | + | ;; | |
| 159 | + | "packer") | |
| 160 | + | # packer | |
| 161 | + | echo | |
| 162 | + | echo "Installing Packer..." | |
| 163 | + | # Fetching the latest version of packer | |
| 164 | + | VERSION=$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packer | jq -r -M '.current_version') | |
| 165 | + | curl -s -L -o "packer_${VERSION}_linux_${arch}.zip" "https://releases.hashicorp.com/packer/${VERSION}/packer_${VERSION}_linux_${arch}.zip" | |
| 166 | + | # Unzipping and installing packer | |
| 167 | + | unzip -qq -o "packer_${VERSION}_linux_${arch}.zip" packer -d /usr/local/bin && rm -rf "packer_${VERSION}_linux_${arch}.zip" /usr/sbin/packer | |
| 168 | + | # Displaying post-installation instructions | |
| 169 | + | echo | |
| 170 | + | echo "-------------------------------------------" | |
| 171 | + | echo "Packer installation complete!" | |
| 172 | + | echo | |
| 173 | + | # Displaying packer version | |
| 174 | + | packer --version | |
| 175 | + | echo | |
| 176 | + | echo "To enable CLI auto-completion, please run:" | |
| 177 | + | echo " packer -autocomplete-install" | |
| 178 | + | echo "-------------------------------------------" | |
| 179 | + | echo | |
| 180 | + | ;; | |
| 181 | + | "trzsz") | |
| 182 | + | # trzsz | |
| 183 | + | echo | |
| 184 | + | echo "Installing trzsz..." | |
| 185 | + | curl -s -L -o - "https://github.com/trzsz/trzsz-go/releases/download/v1.1.8/trzsz_1.1.8_linux_$(uname -m).tar.gz" | tar --strip-components=1 -C /usr/local/bin -xvzf - | |
| 186 | + | # Displaying post-installation instructions | |
| 187 | + | echo | |
| 188 | + | echo "-------------------------------------------" | |
| 189 | + | echo "trzsz installation complete!" | |
| 190 | + | echo | |
| 191 | + | # Displaying version | |
| 192 | + | /usr/local/bin/trzsz version | |
| 193 | + | echo | |
| 194 | + | ;; | |
| 195 | + | *) | |
| 196 | + | echo | |
| 197 | + | echo "helm k9s govc nerdctl fzf terraform packer trzsz" | |
| 198 | + | exit 1 | |
| 199 | + | ;; | |
| 200 | + | esac | |
| 201 | + | exit 0 | |
| 202 | + | fi | |
uk revised this gist 10 months ago. Go to revision
1 file changed, 33 insertions
install_ohmyzsh.sh(file created)
| @@ -0,0 +1,33 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | yum install git zsh bash-completion wget unzip tree tmux vim sysstat -y -q &> /dev/null || true | |
| 4 | + | ||
| 5 | + | # install oh-my-zsh | |
| 6 | + | git clone https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git | |
| 7 | + | REMOTE=https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git sh ohmyzsh/tools/install.sh && rm -rf ohmyzsh | |
| 8 | + | ||
| 9 | + | ZSH=$HOME/.oh-my-zsh | |
| 10 | + | # install zsh-syntax-highlighting | |
| 11 | + | # git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting | |
| 12 | + | git clone https://mirrors.nju.edu.cn/git/zsh-syntax-highlighting.git $ZSH/custom/plugins/zsh-syntax-highlighting | |
| 13 | + | # echo "source $ZSH_CUSTOM/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc | |
| 14 | + | ||
| 15 | + | # install zsh-autosuggestions | |
| 16 | + | # git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions | |
| 17 | + | git clone https://mirrors.nju.edu.cn/git/zsh-autosuggestions.git $ZSH/custom/plugins/zsh-autosuggestions | |
| 18 | + | # echo "source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc | |
| 19 | + | ||
| 20 | + | # replace plugins and theme | |
| 21 | + | cp $HOME/.zshrc $HOME/.zshrc.bak | |
| 22 | + | zsh -c 'source ~/.zshrc && omz plugin enable zsh-autosuggestions zsh-syntax-highlighting sudo' | |
| 23 | + | zsh -c 'source ~/.zshrc && omz theme set ys' | |
| 24 | + | # sed -i 's/(git/(git zsh-syntax-highlighting zsh-autosuggestions sudo/g' ~/.zshrc | |
| 25 | + | # sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="ys"/g' ~/.zshrc | |
| 26 | + | ||
| 27 | + | cat >> ~/.zshrc <<UK | |
| 28 | + | ||
| 29 | + | ## add | |
| 30 | + | zstyle ':omz:update' mode disabled | |
| 31 | + | HIST_STAMPS="yyyy-mm-dd" | |
| 32 | + | alias vi="vim" | |
| 33 | + | UK | |