Files
CmiiDeploy/998-常用脚本/工具脚本/离线NFS下载安装包.sh
2025-01-22 09:49:04 +08:00

141 lines
3.4 KiB
Bash

#!/bin/bash
version_suffix="$(cat /etc/*-release | grep -E 'PRETTY_NAME(_LIKE)?=' | cut -d "=" -f2 | tr " " "-" | sed 's/["()]//g').tar.gz"
offline_folder_prefix="/root/wdd/offline/"
centos_common_tool_offline() {
local common_tool_folder_prefix="/root/wdd/offline/common_tool"
mkdir -p $common_tool_folder_prefix
local item_list=(deltarpm net-tools iputils bind-utils lsof curl wget vim mtr htop screen unzip git openssl iftop tar zsh)
local item
for item in "${item_list[@]}"; do
echo "current tool is => ${item}"
sudo yum install -y --downloadonly --downloaddir=$common_tool_folder_prefix "${item}"
echo ""
done
ls $common_tool_folder_prefix
}
centos_nfs_utils_offline() {
local nfs_utils_folder_prefix="${offline_folder_prefix}nfs_utils"
mkdir -p $nfs_utils_folder_prefix
sudo yum install -y --downloadonly --downloaddir=$nfs_utils_folder_prefix nfs-utils
ls $nfs_utils_folder_prefix
}
ubuntu_nfs_server_offline(){
local nfs_utils_folder_prefix="${offline_folder_prefix}nfs_kernel_server"
mkdir -p $nfs_utils_folder_prefix
cd $nfs_utils_folder_prefix
pwd
apt-get download $(apt-rdepends nfs-kernel-server | grep -v "^ " | sed 's/debconf-2.0/debconf/g')
ls $nfs_utils_folder_prefix
}
ubuntu_nfs_common_offline(){
local nfs_utils_folder_prefix="${offline_folder_prefix}nfs_common"
mkdir -p $nfs_utils_folder_prefix
cd $nfs_utils_folder_prefix
pwd
apt-get download $(apt-rdepends nfs-common | grep -v "^ " | sed 's/debconf-2.0/debconf/g')
ls $nfs_utils_folder_prefix
}
centos_download_tool() {
local tool_name=$1
if [ "$tool_name" == "" ]; then
echo "[centos_download_and_gzip_tool] no tool specific ! exits! ${tool_name}"
return
fi
local tool_folder_prefix="/root/wdd/offline/$tool_name"
mkdir -p "$tool_folder_prefix"
rm -rf "$tool_folder_prefix"/*
yum install -y --downloadonly --downloaddir="$tool_folder_prefix" "${tool_name}"
echo ""
ls "${tool_folder_prefix}"
echo ""
}
gzip_default_folder_split() {
if ! command -v "tar" &>/dev/null; then
rpm -ivh $offline_folder_prefix/common_tool/tar*.rpm
fi
cd ${offline_folder_prefix} || return
pwd
echo ""
local folder
for folder in $(ls $offline_folder_prefix); do
echo "the current folder is ${folder}"
if [[ ! -d $folder ]]; then
continue
fi
echo ""
cd ${offline_folder_prefix} || exit
tar -czvf $folder-$version_suffix ./$folder/*
echo ""
echo ""
ls | grep $version_suffix
done
}
test_base_command_exits() {
local base_command_list=(ifconfig mtr vgdisplay nslookup vim htop tar unzip iftop curl wget netstat git zsh)
local command
for command in "${base_command_list[@]}"; do
if command -v "$command" &>/dev/null; then
echo "$command exists"
else
echo "ERROR $command does not exist!"
fi
echo ""
done
}
test_service_exists(){
local base_service_list=(ntpd chronyd nginx nfs-server rpcbind docker)
local service
for service in "${base_service_list[@]}"; do
if ! systemctl list-unit-files | grep "$service.service"; then
echo "ERROR $service.service does not exist!"
fi
echo ""
done
}
mkdir -p ${offline_folder_prefix}
#centos_common_tool_offline
#centos_nfs_utils_offline
#
#centos_download_tool "ntp"
#centos_download_tool "nginx"
ubuntu_nfs_server_offline
ubuntu_nfs_common_offline
#gzip_default_folder_split
#test_base_command_exits
#test_service_exists