add
This commit is contained in:
17
11-核心网测试-5.1.0/common-usage/K8S相关脚本.sh
Normal file
17
11-核心网测试-5.1.0/common-usage/K8S相关脚本.sh
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 获取命令空间 uavcloud-uat 中所有部署(deployment)的镜像名称
|
||||
kubectl get deployments -n uavcloud-demo -o=jsonpath='{range .items[*]}{.spec.template.spec.containers[*].image}{"\n"}{end}'
|
||||
|
||||
# 获取命名空间 uavcloud-uat种所有的configmap,并且保存为独立的文件,文件名为configmap名
|
||||
mkdir configmaps
|
||||
kubectl get configmaps -n uavcloud-uat -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}' | while read configmap; do
|
||||
kubectl get configmap $configmap -n uavcloud-uat -o yaml > ./configmaps/$configmap.yaml
|
||||
done
|
||||
|
||||
# 获取命名空间 uavcloud-uat种所有的ingress,并且保存为独立的文件,文件名为ingress名
|
||||
mkdir ingresses
|
||||
kubectl get ingress -n uavcloud-uat -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}' | while read ingress; do
|
||||
kubectl get ingress $ingress -n uavcloud-uat -o yaml > ./ingresses/$ingress.yaml
|
||||
done
|
||||
|
||||
6
11-核心网测试-5.1.0/common-usage/image-clean.sh
Normal file
6
11-核心网测试-5.1.0/common-usage/image-clean.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
rm -rf *.tar.gz
|
||||
rm -rf 2023*.txt
|
||||
|
||||
mc rm demo/cmlc-installation/tmp/
|
||||
353
11-核心网测试-5.1.0/common-usage/image-sync.sh
Normal file
353
11-核心网测试-5.1.0/common-usage/image-sync.sh
Normal file
@@ -0,0 +1,353 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 约定内容
|
||||
|
||||
NeedUploadFolder=99
|
||||
IsUpload=99
|
||||
UploadImageName=""
|
||||
ImageListName=""
|
||||
ImageTarName=""
|
||||
ImageName=""
|
||||
ImageTag=""
|
||||
InnerIPv4CIDR=""
|
||||
InnerIPv6CIDR=""
|
||||
InnerIPv4=""
|
||||
InnerIPv6=""
|
||||
CmiiImagePrefix="harbor.cdcyy.com.cn/cmii/"
|
||||
OSS_URL="https://oss.demo.uavcmlc.com:18000/cmlc-installation/tmp/"
|
||||
Custom_Client_Harbor="REPLACE:8033"
|
||||
|
||||
#######################################
|
||||
# description
|
||||
# Globals:
|
||||
# ImageName
|
||||
# ImageTag
|
||||
# ImageTarName
|
||||
# RANDOM
|
||||
# UploadImageName
|
||||
# Arguments:
|
||||
# None
|
||||
#######################################
|
||||
get_image_tar_name() {
|
||||
|
||||
# harbor.cdcyy.com.cn/cmii/cmii-uav-oauth:4.1.6
|
||||
ImageName=$(echo $UploadImageName | cut -d ":" -f1 | cut -d"/" -f3)
|
||||
ImageTag=$(echo $UploadImageName | cut -d ":" -f2)
|
||||
local currentDate=$(date +'%Y-%m-%d')
|
||||
local random_number=$((RANDOM % 900 + 100))
|
||||
|
||||
ImageTarName="$ImageName=$ImageTag=$currentDate=$random_number.tar.gz"
|
||||
}
|
||||
|
||||
#######################################
|
||||
# description
|
||||
# Globals:
|
||||
# ImageName
|
||||
# ImageTag
|
||||
# ImageTarName
|
||||
# UploadImageName
|
||||
# Arguments:
|
||||
# None
|
||||
#######################################
|
||||
get_image_name_from_tar() {
|
||||
|
||||
# cmii-uav-oauth_4.1.6-0918_20230918_123.tar.gz
|
||||
|
||||
ImageName=$(echo $ImageTarName | cut -d "=" -f1)
|
||||
ImageTag=$(echo $ImageTarName | cut -d"=" -f2)
|
||||
|
||||
UploadImageName="$ImageName:$ImageTag"
|
||||
}
|
||||
|
||||
# 获取服务器的公网IP地址
|
||||
get_Internal_IP_CIDR() {
|
||||
|
||||
local interface_prefix=("[[:space:]]eth[0-9]{1,2}" "[[:space:]]ens[0-9]{1,3}" "[[:space:]]eno[0-9]{1,3}" "[[:space:]]enp[0-9]{1,2}")
|
||||
local real_interface="eth90"
|
||||
|
||||
for interface in "${interface_prefix[@]}"; do
|
||||
echo $(ip link show) | grep -oE ${interface} | head -1
|
||||
if [[ $? -eq 0 ]]; then
|
||||
real_interface=$(echo $(ip link show) | grep -oE ${interface} | head -1 | cut -d" " -f2)
|
||||
echo "当前主机的真实内网网卡为 => [$real_interface]"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# 提取IPv4地址(CIDR格式)
|
||||
local ipv4_regex="inet[[:space:]](25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/[0-9]{1,2}"
|
||||
|
||||
# 提取IPv6地址(CIDR格式)
|
||||
local ipv6_regex="inet6[[:space:]]([0-9a-fA-F]{0,4}(:[0-9a-fA-F]{0,4}){1,7})\/[0-9]{1,3}"
|
||||
|
||||
# 查找IPv4地址
|
||||
local inner_ipv4=$(echo $(ip addr show $real_interface) | grep -oE $ipv4_regex | cut -d" " -f2)
|
||||
InnerIPv4CIDR=$inner_ipv4
|
||||
echo "Interface: $real_interface, IPv4 Address: $inner_ipv4"
|
||||
|
||||
# 查找IPv6地址
|
||||
local inner_ipv6=$(echo $(ip addr show $real_interface) | grep -oE $ipv6_regex | cut -d" " -f2)
|
||||
InnerIPv6CIDR=$inner_ipv6
|
||||
echo "Interface: $real_interface, IPv4 Address: $inner_ipv6"
|
||||
|
||||
}
|
||||
|
||||
#######################################
|
||||
# description
|
||||
# Globals:
|
||||
# InnerIPv4
|
||||
# InnerIPv4CIDR
|
||||
# InnerIPv6
|
||||
# InnerIPv6CIDR
|
||||
# Arguments:
|
||||
# None
|
||||
#######################################
|
||||
get_Internal_IP() {
|
||||
|
||||
get_Internal_IP_CIDR
|
||||
|
||||
InnerIPv4=$(echo $InnerIPv4CIDR | cut -d "/" -f1)
|
||||
InnerIPv6=$(echo $InnerIPv6CIDR | cut -d "/" -f1)
|
||||
|
||||
echo "服务器的内网IPv4地址为 $InnerIPv4"
|
||||
echo "服务器的内网IPv6地址为 $InnerIPv6"
|
||||
|
||||
}
|
||||
|
||||
#######################################
|
||||
# description
|
||||
# Globals:
|
||||
# _m_opts
|
||||
# Arguments:
|
||||
# None
|
||||
#######################################
|
||||
_math() {
|
||||
_m_opts="$@"
|
||||
printf "%s" "$((_m_opts))"
|
||||
}
|
||||
|
||||
# 前文内容
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-fu | --fileupload)
|
||||
NeedUploadFolder=1
|
||||
ImageListName=${2}
|
||||
shift # past argument
|
||||
;;
|
||||
-fd | --filedownload)
|
||||
NeedUploadFolder=2
|
||||
ImageListName=${2}
|
||||
shift # past argument
|
||||
;;
|
||||
-u | --upload)
|
||||
IsUpload=1
|
||||
UploadImageName="${2}"
|
||||
shift # past argument
|
||||
;;
|
||||
-d | --download)
|
||||
IsUpload=2
|
||||
ImageTarName="${2}"
|
||||
shift # past argument
|
||||
;;
|
||||
-h | --harbor)
|
||||
Custom_Client_Harbor="${2}"
|
||||
shift # past argument
|
||||
;;
|
||||
*)
|
||||
# unknown option
|
||||
;;
|
||||
esac
|
||||
shift # past argument or value
|
||||
done
|
||||
|
||||
#######################################
|
||||
# description
|
||||
# Globals:
|
||||
# ImageTarName
|
||||
# UploadImageName
|
||||
# Arguments:
|
||||
# None
|
||||
#######################################
|
||||
Download_Compress_OSS_Image() {
|
||||
|
||||
# upload
|
||||
echo "【上传】 - 需要处理的镜像名称为 => $UploadImageName"
|
||||
echo ""
|
||||
echo "【上传】 - 开始下载镜像!"
|
||||
echo ""
|
||||
if docker pull "${UploadImageName}" >/dev/null 2>&1; then
|
||||
echo "下载-镜像下载成功! => $UploadImageName"
|
||||
else
|
||||
if docker inspect "${UploadImageName}" >/dev/null 2>&1; then
|
||||
echo "下载-镜像已经存在 => $UploadImageName"
|
||||
else
|
||||
echo ""
|
||||
echo "下载-镜像下载 失败! => $UploadImageName"
|
||||
echo "下载-镜像下载 失败! => $UploadImageName"
|
||||
echo ""
|
||||
return 233
|
||||
fi
|
||||
fi
|
||||
echo ""
|
||||
|
||||
get_image_tar_name
|
||||
echo "【上传】 - 将要把镜像压缩为 => $ImageTarName"
|
||||
docker save $UploadImageName | gzip --stdout >${ImageTarName}
|
||||
echo "【上传】 - 压缩成功 ! $(ls | grep ${ImageTarName})"
|
||||
echo""
|
||||
|
||||
echo "【上传】 - 开始上传至OSS中!"
|
||||
mc cp ./${ImageTarName} demo/cmlc-installation/tmp/
|
||||
echo "【上传】 - 上传OSS成功 => $(mc ls demo/cmlc-installation/tmp/ | grep ${ImageTarName})"
|
||||
echo""
|
||||
|
||||
}
|
||||
#######################################
|
||||
# description
|
||||
# Globals:
|
||||
# CmiiImagePrefix
|
||||
# ImageTarName
|
||||
# InnerIPv4
|
||||
# OSS_URL
|
||||
# UploadImageName
|
||||
# custom_prefix
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
# <unknown> ...
|
||||
#######################################
|
||||
UnCompress_Upload_Harbor() {
|
||||
|
||||
echo "【下载】 - 需要处理的压缩包名称为 => $ImageTarName"
|
||||
|
||||
echo "【下载】 - 开始下载 ↓"
|
||||
wget "$OSS_URL$ImageTarName"
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "【下载】- 下载镜像失败!退出!"
|
||||
return
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "【下载】 - 开始解压压缩包 "
|
||||
docker load <"${ImageTarName}"
|
||||
echo ""
|
||||
|
||||
get_Internal_IP
|
||||
echo "【下载】 - 开始上传镜像到本地的镜像仓库中 => $InnerIPv4:8033 "
|
||||
custom_prefix="$InnerIPv4:8033/cmii/"
|
||||
echo ""
|
||||
|
||||
get_image_name_from_tar
|
||||
echo "【下载】 - 解析得到的 私有镜像地址为 => $custom_prefix$UploadImageName"
|
||||
docker tag "$CmiiImagePrefix${UploadImageName}" "$custom_prefix$UploadImageName"
|
||||
|
||||
echo "【下载】 - 开始上传镜像到私有仓库 ↓"
|
||||
docker login -u admin -p V2ryStr@ngPss "$InnerIPv4:8033"
|
||||
echo ""
|
||||
echo "【下载】 - 开始推送到私有仓库! "
|
||||
docker push "$custom_prefix$UploadImageName"
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
}
|
||||
|
||||
if [[ $NeedUploadFolder == 1 ]]; then
|
||||
# 上传的是一个目录
|
||||
echo "【上传】 - 上传的文件目录为 => ${ImageListName}"
|
||||
|
||||
currentDate=$(date +'%Y-%m-%d')
|
||||
random_number=$((RANDOM % 900 + 100))
|
||||
tar_image_txt_file="$currentDate-$random_number.txt"
|
||||
echo "【上传】 - 复制文件目录为临时文件 => $tar_image_txt_file"
|
||||
touch $tar_image_txt_file
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
while IFS= read -r i; do
|
||||
[ -z "${i}" ] && continue
|
||||
|
||||
UploadImageName=${i}
|
||||
Download_Compress_OSS_Image
|
||||
|
||||
# 写入压缩文件名称
|
||||
echo "$ImageTarName" >>"$tar_image_txt_file"
|
||||
|
||||
echo "-------------------------------------------------"
|
||||
done <"${ImageListName}"
|
||||
echo ""
|
||||
|
||||
echo "【上传】 - 上传压缩文件名称列表至OSS中 !"
|
||||
mc cp ./"$tar_image_txt_file" demo/cmlc-installation/tmp/
|
||||
echo "【上传】 - 上传OSS成功 => $(mc ls demo/cmlc-installation/tmp/ | grep "${tar_image_txt_file}")"
|
||||
echo ""
|
||||
|
||||
echo "【上传】 - 请在目标Master主机执行如下命令 ↓↓↓↓↓↓"
|
||||
echo ""
|
||||
echo ""
|
||||
echo "source <(curl -sL https://b2.107421.xyz/image-sync.sh) -fd "$OSS_URL$tar_image_txt_file""
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
elif [[ $NeedUploadFolder == 2 ]]; then
|
||||
echo "【下载】- 需要下载的压缩包文件为 => $ImageListName"
|
||||
wget ${ImageListName}
|
||||
|
||||
tar_image_txt_file=$(echo ${ImageListName} | cut -d"/" -f6)
|
||||
image_count=0
|
||||
|
||||
while IFS= read -r i; do
|
||||
[ -z "${i}" ] && continue
|
||||
|
||||
ImageTarName=${i}
|
||||
UnCompress_Upload_Harbor
|
||||
image_count="$(_math "$image_count" + 1)"
|
||||
|
||||
echo "-------------------------------------------------"
|
||||
done <"${tar_image_txt_file}"
|
||||
echo ""
|
||||
|
||||
echo "【下载】 - 请等待流程结束 ↓"
|
||||
_sleep_c="500"
|
||||
for (( i=1; i<$image_count; i++ )) ; do
|
||||
_sleep_c="$(_math "$_sleep_c" + 500)"
|
||||
done
|
||||
echo "【下载】 - 共有 【 $image_count 】个镜像, 等待上传结束 => $_sleep_c 秒"
|
||||
while [ "$_sleep_c" -ge "0" ]; do
|
||||
printf "\r \r"
|
||||
printf -- "%b" "$_sleep_c"
|
||||
_sleep_c="$(_math "$_sleep_c" - 1)"
|
||||
sleep 1
|
||||
done
|
||||
printf "\r"
|
||||
|
||||
fi
|
||||
|
||||
if [[ $IsUpload == 1 ]]; then
|
||||
Download_Compress_OSS_Image
|
||||
echo "【上传】 - 请在目标Master主机执行如下命令 ↓↓↓↓↓↓"
|
||||
echo ""
|
||||
echo ""
|
||||
echo "source <(curl -sL https://b2.107421.xyz/image-sync.sh) -d $ImageTarName"
|
||||
echo ""
|
||||
echo ""
|
||||
Client_Harbor_Address="$Custom_Client_Harbor/cmii/$ImageName:$ImageTag"
|
||||
echo "【上传】 - 手动命令执行如下, 目标镜像全程地址为 => $Client_Harbor_Address"
|
||||
echo ""
|
||||
echo "wget $OSS_URL$ImageTarName && docker load < $ImageTarName && docker tag ${UploadImageName} $Client_Harbor_Address && docker push $Client_Harbor_Address"
|
||||
echo ""
|
||||
echo ""
|
||||
elif [[ $IsUpload == 2 ]];then
|
||||
# download
|
||||
UnCompress_Upload_Harbor
|
||||
|
||||
echo "【下载】 - 请等待流程结束 ↓"
|
||||
_sleep_c="500"
|
||||
while [ "$_sleep_c" -ge "0" ]; do
|
||||
printf "\r \r"
|
||||
printf -- "%b" "$_sleep_c"
|
||||
_sleep_c="$(_math "$_sleep_c" - 1)"
|
||||
sleep 1
|
||||
done
|
||||
printf "\r"
|
||||
fi
|
||||
46
11-核心网测试-5.1.0/common-usage/开机启动的脚本.txt
Normal file
46
11-核心网测试-5.1.0/common-usage/开机启动的脚本.txt
Normal file
@@ -0,0 +1,46 @@
|
||||
vim /etc/systemd/system/cmii-startup.service
|
||||
|
||||
|
||||
[Unit]
|
||||
Description=Cmii Start Up Script
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/bash /cmii/start-up.sh
|
||||
User=root
|
||||
Group=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
|
||||
|
||||
vim /cmii/start-up.sh
|
||||
|
||||
docker-compose -f /cmii/harbor/docker-compose.yml up -d
|
||||
sleep 10
|
||||
|
||||
docker-compose -f /cmii/0-minio-dockercompose.yml up -d
|
||||
|
||||
rm -rf /nfsdata/zhbf-helm-emqxs-pvc-fdb605a0-5120-481a-bdd5-7ef1213c2363/
|
||||
|
||||
sleep 5
|
||||
|
||||
kubectl delete -n zhbf pod helm-nacos-0 --force
|
||||
kubectl delete -n zhbf pod helm-emqxs-0 --force
|
||||
kubectl delete -n zhbf pod helm-redis-master-0 --force
|
||||
kubectl delete -n zhbf pod helm-redis-replicas-0 --force
|
||||
|
||||
sleep 30
|
||||
|
||||
for kindof in pods
|
||||
do
|
||||
kubectl -n zhbf delete $kindof $(kubectl -n zhbf get $kindof | grep "cmii"| awk '{print$1}')
|
||||
done
|
||||
|
||||
|
||||
chmod +x /cmii/start-up.sh
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
sudo systemctl enable cmii-startup.service
|
||||
|
||||
10
11-核心网测试-5.1.0/common-usage/批量复制脚本
Normal file
10
11-核心网测试-5.1.0/common-usage/批量复制脚本
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
ip_list=(10.20.1.133 10.20.1.134)
|
||||
|
||||
for ip in "${ip_list[@]}"; do
|
||||
|
||||
echo "yes
|
||||
yes
|
||||
" | scp fuse-overlayfs-1.7.1-2.x86_64.rpm slirp4netns-1.2.0-1.oe2203sp2.x86_64.rpm root@${ip}:/root/
|
||||
done
|
||||
32
11-核心网测试-5.1.0/common-usage/数据库备份脚本.sh
Normal file
32
11-核心网测试-5.1.0/common-usage/数据库备份脚本.sh
Normal file
@@ -0,0 +1,32 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 导出脚本
|
||||
|
||||
SQL_DUMP_FILE=/root/all_tables_4.1.0.sql
|
||||
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 -e 'show databases;' | grep -Ev 'Database|information_schema|mysql|sys|performance_schema' | xargs ./mysqldump -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 --single-transaction --source-data=2 --hex-blob --triggers --routines --events --no-data --set-gtid-purged=OFF --databases > "${SQL_DUMP_FILE}"
|
||||
|
||||
|
||||
SQL_FULL_BACK_UP_FILE=/home/mmc/all_tables_4.0.2_230914_fullback.sql
|
||||
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 -e 'show databases;' | grep -Ev 'Database|information_schema|mysql|sys|performance_schema' | xargs ./mysqldump -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 --single-transaction --source-data=2 --hex-blob --triggers --routines --events --set-gtid-purged=OFF --databases > "${SQL_FULL_BACK_UP_FILE}"
|
||||
|
||||
# 被封了nacos_config
|
||||
./mysqldump -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 -t --set-gtid-purged=OFF cmii_nacos_config config_info his_config_info roles users > 17.cmii_nacos_config.sql
|
||||
sed -i '1s/^/use cmii_nacos_config;\n/' 17.cmii_nacos_config.sql
|
||||
|
||||
|
||||
# 导入脚本
|
||||
sql_import_file_path=/root/init_5.1.0
|
||||
for sql_file in $(ls "$sql_import_file_path" | sort -n -k1.1,1.2); do
|
||||
echo "current file is ${sql_file}"
|
||||
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 <"$sql_import_file_path/${sql_file}"
|
||||
echo "------------------"
|
||||
echo ""
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306
|
||||
|
||||
./mysql -uroot -pQzfXQhd3bQ -h127.0.0.1 -P33306 < /root/init_5.1.0/19
|
||||
|
||||
|
||||
23
11-核心网测试-5.1.0/common-usage/更新deplyment的tag号.sh
Normal file
23
11-核心网测试-5.1.0/common-usage/更新deplyment的tag号.sh
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
|
||||
export name_space=xxg
|
||||
export new_tag=5.1.0-24469-111402
|
||||
export deployment_name=cmii-uav-platform
|
||||
|
||||
|
||||
image_new_name=""
|
||||
image_name_complete=$(kubectl -n ${name_space} get deployment ${deployment_name} -o=jsonpath='{.spec.template.spec.containers[*].image}')
|
||||
echo "image_name_complete is => ${image_name_complete}"
|
||||
|
||||
if echo "${image_name_complete}" | grep -q "8033"; then
|
||||
# 172.28.0.17:8033/cmii/cmii-uav-mission:5.1.0
|
||||
image_new_name="$(echo "${image_name_complete}" | cut -d ":" -f1):$(echo "${image_name_complete}" | cut -d ":" -f2):${new_tag}"
|
||||
else
|
||||
# harbor.cdcyy.com.cn/cmii/cmii-uav-platform-seniclive:4.1.0
|
||||
image_new_name="$(echo "${image_name_complete}" | cut -d ":" -f1):${new_tag}"
|
||||
fi
|
||||
|
||||
|
||||
echo "image grep is => ${image_new_name}"
|
||||
|
||||
kubectl -n ${name_space} patch deployment ${deployment_name} -p "{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\":\"${deployment_name}\",\"image\": \"${image_new_name}\"}]}}}}"
|
||||
37
11-核心网测试-5.1.0/common-usage/设置apt走代理.md
Normal file
37
11-核心网测试-5.1.0/common-usage/设置apt走代理.md
Normal file
@@ -0,0 +1,37 @@
|
||||
要在Ubuntu上使用代理服务器来进行apt操作,可以按照以下步骤进行配置:
|
||||
|
||||
1. 打开终端,并进入`/etc/apt`目录:
|
||||
```shell
|
||||
cd /etc/apt
|
||||
```
|
||||
|
||||
2. 创建一个新的文件或编辑已有的文件,例如`apt.conf.d/99proxy`:
|
||||
```shell
|
||||
sudo nano apt.conf.d/99proxy
|
||||
```
|
||||
|
||||
3. 在打开的文件中添加以下内容,将代理服务器的地址和端口替换为实际的代理服务器信息:
|
||||
```shell
|
||||
Acquire::http::Proxy "http://proxy-server-address:proxy-port";
|
||||
Acquire::https::Proxy "http://proxy-server-address:proxy-port";
|
||||
```
|
||||
|
||||
4. 保存并关闭文件(使用Ctrl + X,然后按Y确认保存)。
|
||||
|
||||
5. 现在,您可以尝试运行任何apt命令,例如更新软件包列表:
|
||||
```shell
|
||||
sudo apt update
|
||||
```
|
||||
|
||||
注意:如果代理服务器需要用户名和密码进行身份验证,您还需要添加额外的配置。在步骤3中,将http和https行更改为如下所示,并替换`username`和`password`为实际的凭据:
|
||||
```shell
|
||||
Acquire::http::Proxy "http://username:password@proxy-server-address:proxy-port";
|
||||
Acquire::https::Proxy "http://username:password@proxy-server-address:proxy-port";
|
||||
```
|
||||
|
||||
这样就完成了在Ubuntu上使用代理服务器进行apt操作的配置。确保替换`proxy-server-address`和`proxy-port`为实际的代理服务器地址和端口,并根据需要进行身份验证的配置。
|
||||
|
||||
```shell
|
||||
Acquire::http::Proxy "http://192.168.8.102:10811";
|
||||
Acquire::https::Proxy "http://192.168.8.102:10811";
|
||||
```
|
||||
Reference in New Issue
Block a user