首页
关于
Search
1
LXC中Alpine模板安装Docker
16 阅读
2
Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程
14 阅读
3
netclient docker compose
12 阅读
4
Netmaker安装
11 阅读
5
PVE 引入img文件作为虚拟机磁盘
10 阅读
默认分类
PVE虚拟机
数据库
容器技术
Linux
登录
Search
标签搜索
SQLSERVER
学习笔记
累计撰写
31
篇文章
累计收到
1
条评论
首页
栏目
默认分类
PVE虚拟机
数据库
容器技术
Linux
页面
关于
搜索到
6
篇与
的结果
2024-03-16
LXC中Alpine模板安装Docker
创建一个lxc CTCT ID 输入:10080 名称 nas-core 输入root密码 去掉 无特权容器 勾号。模板选择 alpine3.17,先不启动。选项里面,勾选上 开机自动启动,功能里面勾选上嵌套。去掉无特权容器的勾号,ip的地方选择dhcp,然后先不开机。其他按照默认设置即可点选项 功能,选中 fuse 和 嵌套。 编辑nano /etc/pve/lxc/容器id.conf 这个lxc 如果不需要运行docker所以不需要额外处理。只需要挂机械硬盘进去, 硬盘只有一个分区已经格式化为brtfs。在pve下没有挂载,节点在/dev/sda112pct set 10080 -mp0 /dev/sda1,mp=/mnt/sda1 #把 第一个硬盘的第一个分区挂到 lxc的/mnt/sda1 下 pct start 10080 #启动alpine系统准备配置alpine的源和时区配置源和时区 alpine内运行sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositoriesapk add tzdata cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeecho "Asia/Shanghai" > /etc/timezoneapk del tzdatarm -rf /var/cache/apk/*vim替换为nanoapk add nanoapk del vim && ln -s /usr/bin/nano /usr/bin/vim && rm -rf /usr/bin/vi && ln -s /usr/bin/nano /usr/bin/vi使用 特权容器使用特权容器 其实是可以安装docker的,创建的lxc的时候 去掉 无特权容器的 勾选,创建完成后 在选项里面 功能 勾选上 嵌套 在lxc的配置文件 添加三行 可以用特权容器开启docker /etc/pve/lxc/容器id.conflxc.apparmor.profile: unconfinedlxc.cgroup.devices.allow: alxc.cap.drop:lxc.cgroup2.devices.allow: c 226:0 rwmlxc.cgroup2.devices.allow: c 226:128 rwm另外 pve的webui里面 这个容器也要打开嵌套,也就是conf文件里面要有 features: nesting=1安裝docker以alpine为例sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositoriesapk add tzdata cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeecho "Asia/Shanghai" > /etc/timezoneapk del tzdatarm -rf /var/cache/apk/*sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositoriesapk add docker #nanorm -rf /var/cache/apk/*rc-update add docker bootservice docker startdocker version安装sshapk add openssh-serverrc-service sshd start需要编辑sshd配置文件以开放20端口。该文件位于/etc/ssh/sshd_config。 使用任何文本编辑器打开该文件: vi /etc/ssh/sshd_config在打开的文件中找到#Port 22这一行,并将其修改为Port 20。移除注释符号“#”。 如果已经存在一行Port开头的配置项,请确保将其修改为20。保存并退出编辑器。运行以下命令来重新加载sshd配置并加入自启动: rc-service sshd reloadrc-update add sshd boot最后,你需要确保iptables防火墙已经允许通过20端口的连接。运行以下命令以开放20端口: iptables -A INPUT -p tcp --dport 20 -j ACCEPThttps://dev.leiyanhui.com/pve/docker-mini/
2024年03月16日
16 阅读
0 评论
0 点赞
2024-03-09
LXC直通核显
LXC核心显卡直通,需要使用 PVE 宿主机的命令行修改 LXC 容器的配置文件。添加核心显卡直通使用 nano 编辑容器对应的配置文件,容器ID 104对应的文件是 104.conf,路径是 /etc/pve/lxc/nano /etc/pve/lxc/104.conf打开后默认的配置如下:arch: amd64 cores: 2 hostname: frigate memory: 2048 net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=A6:43:11:F3:EE:78,ip=dhcp,type=veth ostype: ubuntu rootfs: local-lvm:vm-104-disk-0,size=8G swap: 512需要添加以下内容lxc.apparmor.profile: unconfined lxc.cgroup.devices.allow: a lxc.cap.drop: lxc.cgroup2.devices.allow: c 226:0 rwm lxc.cgroup2.devices.allow: c 226:128 rwm lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file这些配置参数是针对 Linux 容器(通常是 LXC 容器)的一些安全和资源控制设置,用于限制容器内部的行为和访问。以下是每个配置项的作用解释:lxc.apparmor.profile: unconfined:该配置指定了 AppArmor(应用程序安全性配置框架)的配置文件名称,这里设置为 “unconfined”,用于允许容器内的进程具有更高的系统权限lxc.cgroup.devices.allow: a: 允许容器内的进程访问所有的 cgroup 设备。lxc.cap.drop: 此配置项为空,容器内的进程将继承主机系统的默认能力设置。lxc.cgroup2.devices.allow: c 226:0 rwm 和 lxc.cgroup2.devices.allow: c 226:128 rwm: 允许容器内的进程对设备号为 226:0 和 226:128 的字符设备节点拥有读、写和映射(rwm)的权限。用于允许容器内的进程访问特定的设备,如图形加速设备。lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file 和 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file:将主机系统上的两个设备节点 /dev/dri/card0 和 /dev/dri/renderD128 挂载到容器内的相同位置,用于允许容器内的应用程序访问图形硬件加速功能,以便执行图形相关的任务修改完成后保存,启动 LXC 容器检查核显等容器启动成功后,进入容器,使用命令行检查 /dev/dri 路径下挂载的文件,card0和 renderD128 都正常ls /dev/dri/ card0 renderD128查看 PCI 也能看到核心显卡,说明挂载成功lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation JasperLake [UHD Graphics] (rev 01)
2024年03月09日
3 阅读
0 评论
0 点赞
2024-03-09
PVE8 使用LXC运行OpenWRT
用虚拟机方式跑openwrt ,在内网没人下载东西的时候,它依旧会吃相当一部分cpu,所以还是用lxc方式合适,其性能就是你物理机的性能,另外lxc没有docker的层概念,所以非常适合运行这种独立的服务!LXC(Linux Containers)是Linux内核中的一个软件容器化工具,它提供了一种轻量级的虚拟化技术。与传统虚拟机相比,LXC的优点在于更快的启动时间、更少的资源占用以及更高的性能。用户可以使用LXC在Linux操作系统中创建多个独立的容器,每个容器都提供一个隔离的运行环境,与主机和其他容器完全隔离开来。在容器内,用户可以运行各种不同的应用程序和服务,例如Web服务器、数据库、文件共享等。由于LXC能够更加高效地利用系统资源,因此它已成为开发人员、测试人员、系统管理员和云计算提供商的首选工具之一。固件选择我直接使用官网固件:https://downloads.openwrt.org/如果链接不上可以使用国内镜像:中科大源 https://mirrors.ustc.edu.cn/openwrt/上交大源 https://mirror.sjtu.edu.cn/openwrt/SquashFS是一种只读文件系统,不允许对其进行写操作,它可以将多个文件和目录合并到一个文件中,从而提高存储空间的利用率,同时也可以提高对这些文件的访问效率。SquashFS文件系统具有高效的压缩和解压缩速度,支持很多不同的压缩算法,能够在存储和传输文件时减少网络流量和存储空间的占用,广泛应用于嵌入式系统、上传和下载镜像等场景。Rootfs是Linux系统启动时候使用的根文件系统,是指在文件系统概念中的根目录。它包含了Linux系统启动所必需的一些必要文件和目录,例如/etc、/proc、/bin、/sbin和/usr等。rootfs文件系统通常会以类似于ext4或SquashFS文件系统的形式储存于嵌入式系统或者云计算平台中,为Linux系统提供启动和运行的必要支持。由于rootfs文件系统在启动过程中是唯一可用的文件系统,在系统运行时,它也会被其他文件系统所覆盖。无论是 OpenWrt 官网下载,还是第三方打包的固件,必须是-rootfs.img、-rootfs.img.gz 或者 -rootfs.tar.gz 的文件 。-rootfs.img、*-rootfs.img.gz 需要解包后打包 。CT模板如果是 rootfs 格式(官网tar.gz后缀的文件)打包的固件,直接下载后,在web界面上传至 PVE CT 模板目录即可,或者直接ssh登录PVE主机内下载。wget https://downloads.openwrt.org/releases/23.05.2/targets/x86/64/openwrt-23.05.2-x86-64-rootfs.tar.gz #PVE8下载的CT模板都保存在/var/lib/vz/template/cache mv openwrt-23.05.2-x86-64-rootfs.tar.gz /var/lib/vz/template/cache其他格式需要先解包重新打包使用。以下以 *.img.gz 固件包为例:cd workspace mkdir openwrt # 文件名 img_name="openwrt-x86-64-generic-squashfs-combined.img.gz" # gzip 解压出 img gzip -d "$img_name" # 去除变量 gz 后缀 img_name=$(basename "$img_name" .gz) # 挂载偏移 root_partition=$((`fdisk -l "$img_name" | grep .img2 | awk '{print $2}'` * 512)) # 挂载到 openwrt 目录 mount -o loop,offset=$root_partition "$img_name" ./openwrt # 打包 cd openwrt && tar zcf /var/lib/vz/template/cache/"$img_name".tar.gz * && cd .. # 卸载 umount ./openwrt另外一种方法apt install squashfs-tools unsquashfs openwrt-x86-64-generic-squashfs-rootfs.img 进入目录,重新打包为模板 cd squashfs-root tar zcf ../openwrt201117.rootfs.tar.gz *qcow2/vmdk如果原来镜像是 qcow2 vmdkqemu-img convert -p -f qcow2 -O raw op.qcow2 op.img qemu-img convert -p -f vmdk -O raw op.vmdk op.imgimg.gzgzip -d openwrt-01.10.2023-x86-64-generic-squashfs-combined.img.gz正在运行的虚拟机openwrt转lxc直接在pve web控制台点备份,选择 gzip格式 ,得到文件/var/lib/vz/dump/vzdump-qemu-100-2023_02_03-12_29_56.vma.gz在 local 备份里面 找到这个文件 点恢复 导入到一个新虚拟机 102qemu-img convert -p -f qcow2 -O raw /var/lib/vz/images/102/vm-102-disk-0.qcow2 op.img挂载和打包cd /var/lib/vz/template/cache mkdir op root_partition=$((`fdisk -l op.img | grep .img2 | awk '{print $2}'` * 512)) mount -o loop,offset=$root_partition op.img /var/lib/vz/template/cache/op cd op && tar zcf /var/lib/vz/template/cache/op.tar.gz * &&cd .. # 打包至PVE中LXC模板路径 umount op && rm -rf op #rm -rf 固件名称.img如果img是正在运行的系统且使用的Overlay模式,会丢失Overlay内容(恢复默认了)。你需要在原来系统里面 导出 后覆盖过来。创建一个CT/lxcpve目前依旧无法直接创建op的lxc,这里还是用命令行。pct create 109 local:vztmpl/openwrt-23.05.2-x86-64-rootfs.tar.gz --rootfs local:1 --ostype unmanaged --hostname CTOpenWrt --arch amd64 --cores 2 --memory 512 --swap 0 -net0 bridge=vmbr0,name=eth0 -net1 bridge=vmbr1,name=eth1,tag=85解释pct create 109 是pve里面CT或者VM的id值,你可以修改成你的local:vztmpl/openwrt-23.05.2-x86-64-rootfs.tar.gz 是上面你上传到rootfs的包名rootfs local:1 是本lxc储存位置(我的PVE已经删除了local-lvm)和硬盘占用大小限制1G 如果用其他地方储存可以参考实际配置,比如 rootfs local-lvm:1 rootfs local-brtfs:0.5ostype unmanaged 操作系统类型hostname OP 节点名称arch amd64 cpu平台cores 2 可占用的cpu核心数memory 1024 swap 0 内存和交换内存,建议关闭交换内存 也就是0net0 bridge=vmbr0,name=eth0 把pve的管理网桥给op用,也就是op把他作为 lannet1 bridge=vmbr1,name=eth1,tag=85 将连接光猫IPTV口的网桥给op,作为wan手动修改LXC配置nano /etc/pve/lxc/109.conf如果网卡不需要增加,就添加以下内容lxc.include: /usr/share/lxc/config/openwrt.common.conf lxc.cgroup2.devices.allow: c 108:0 rwm lxc.mount.entry: /dev/ppp dev/ppp none bind,create=file lxc.mount.entry: /dev/net dev/net none bind,create=dir lxc.cap.drop:如果要直通一个网卡进去lxc.include: /usr/share/lxc/config/openwrt.common.conf lxc.net.1.type: phys lxc.net.1.link: enx0023545ca007 lxc.net.1.flags: up lxc.net.1.name: eth1 lxc.cgroup2.devices.allow: c 108:0 rwm lxc.mount.entry: /dev/ppp dev/ppp none bind,create=file lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file lxc.cap.drop:lxc.include 包含pve自带的op配置模板lxc.net.1 直通网卡enx0023545ca007进去作为 eth1lxc.cgroup2 的配置,这是lxc运行一些服务类的系统必须的lxc.mount.entry 挂载ppoe和tun到lxc内lxc.cap.drop: 取消 openwrt.common.conf 里面 对 cap的限制,不然openclash无法使用启动CTpct start 109OpenWrt 配置Attach 到容器内进行操作lxc-attach 109修改密码passwd # Changing password for root # New password: # Retype password: # passwd: password for root changed by root配置网络#编辑lan的IP vi /etc/config/network #重启网络即可登录 /etc/init.d/network restart或者这么配置uci set network.lan.ipaddr=[lan ip] uci set network.lan.gateway=[上级路由ip] uci set network.lan.dns=[上级路由ip] uci commit /etc/init.d/network restart (如果需要)映射宿主机目录 ,109是ID,最后mp=是LXC中目录地址pct set 109 -mp0 /mnt/bindmounts/shared,mp=/shared 安装argon界面,相关安装包luci-lib-xterm_git-24.217.56735-8015371_all.ipk taskd_1.0.3-2_all.ipk luci-lib-taskd_git-24.231.52046-6266f45_all.ipk luci-lib-xterm_git-24.217.56735-8015371_all.ipk luci-app-quickstart_git-25.033.56170-95d0213_all.ipk luci-app-store_0.1.14-2_all.ipk luci-app-istorex_git-25.050.51480-120b7dd_all.ipk quickstart_0.8.9-75_x86_64.ipk luci-theme-argon-master_2.2.9.4_all.ipk无法opkg update ,更新源出错,无法ping通www.baidu.com。但可以ping通baidu的实际IP断定为DNS没有解析,22.03版本可以直接ping通www.baidu.com。比对寻找原因未果。解决办法:修改host文件,解析源vi /etc/hosts opkg update opkg install luci-i18n-base-zh-cn容器lxc开启tun-br,可使用zerotier等# pve主机编辑lxc文件, vi /etc/pve/lxc/2001.conf ,最后加入 lxc.cgroup.devices.allow = c 10:200 rwm lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun" # 进入lxc执行,重启后生效 cd /dev mkdir net mknod net/tun c 10 200 chmod 0666 net/tun reboot部分情况下 udp无法转发需要PVE系统加载 xt_TPROXY 模块。在PVE系统下执行改命令后重启。echo 'xt_TPROXY' > /etc/modules-load.d/tproxy.confNAT 环回 无效别名主机别名主机可以在 openwrt 网络 -> dncp -> 主机名映射的地方 添加域名到对应的内网机器ip上。然后清理本地dns缓存后即可访问。也可以在openwrt里面运行uci add dhcp domain uci set dhcp.@domain[-1].name='nas.leiyanhui.com' uci add_list dhcp.@domain[-1].ip='10.1.1.50' uci commit dhcp /etc/init.d/dnsmasq restart自定域名解析如果你有使用adguardHome 之类的自建dns,可以在dns内添加对应的域名解析记录到内网ip。或者修改需要访问的的电脑的hosts文件。参考链接:https://dev.leiyanhui.com/openwrt/lxc-mian-op/https://dev.leiyanhui.com/openwrt/pve-lxc-install-op/https://molezz.net/proxmox-pve-kvm-ct-lxc-openwrthttps://wayjam.me/posts/allinone-install-lxc-openwrt/https://www.right.com.cn/forum/thread-8352956-1-1.html
2024年03月09日
7 阅读
0 评论
0 点赞
2024-03-08
PVE 引入img文件作为虚拟机磁盘
下载openwrt映像文件,一般是gz压缩格式wget https://mirrors.ustc.edu.cn/openwrt/releases/23.05.2/targets/x86/64/openwrt-23.05.2-x86-64-generic-ext4-combined.img.gz解压缩使用gzip -d命令,文件解压后源文件自动删除。gzip -d openwrt-23.05.2-x86-64-generic-ext4-combined.img.gz将img格式转换为qcow2qemu-img convert -f raw -O qcow2 openwrt-23.05.2-x86-64-generic-ext4-combined.img vm-108-disk-0.qcow2导入虚拟机命令qm disk import <vmid> <source> <storage> [OPTIONS]。其中vmid指虚拟机id,source指img文件的位置,storge指pve的本机可以存储disk image的位置 --format指定要转换成的目标格式。qm importdisk 108 vm-108-disk-0.qcow2 local --format qcow2
2024年03月08日
10 阅读
0 评论
0 点赞
2024-02-27
PVE8.1下部署Intel集显虚拟化驱动
https://zoe.red/2023/38.html关于虚拟化Intel家的U原生提供/支持VT-D功能, bois开启支持后, 允许将物理PCIE设备分配给虚拟机, 让虚拟机直接控制硬件, 但是此时虚拟机会独占此PCIE设备, 在有成百上千个虚拟机的场景, 给每个虚拟机都直通一个PCIE设备, 比如网卡, 几乎是不可能的所以Intel研究出了SR-IOV虚拟化技术, 这是一种基于硬件的虚拟化解决方案,允许将一个物理PCIE设备虚拟成多个(PCIE物理设备), 之后再分配给虚拟机使用, 避免了一个PCIE设备只能给一个虚拟机使用的尴尬.关于DKMSDKMS 是 Dynamic Kernel Module Support的缩写, 是一个用于管理和维护Linux内核的工具. 它能够帮我们在内核升级时自动重新编译和安装第三方内核模块, 从而保持这些模块与新内核保持兼容.接下来我们会演示在PVE8.1系统的Debian12系统上, 使用DKMS工具给其自带的6.5.11-7内核编译安装对应集显的SR-IOV虚拟化驱动注意: 此种直通方式(集显的SR-IOV虚拟化驱动虚拟的PCIE集显)只能给远程桌面访问虚拟机时, 内部加速计算使用, 而无法通过主机上的HDMI接口输出虚拟机的桌面到外接显示器上部署代码系统信息查看# 系统 cat /etc/os-release # 内核 uname -ar # APT软件源索引更新与必要工具软件安装 apt update apt install -y git build-* dkms # 必要编译工具安装 apt install pve-headers-$(uname -r) #apt install -y vim #(可选) # 设置环境变量 KERNEL=$(uname -r); KERNEL=${KERNEL%-pve} echo ${KERNEL}核显虚拟化驱动项目的源码下载与配置修改cd ~ git clone https://github.com/strongtz/i915-sriov-dkms.git cd ~/i915-sriov-dkms cp -a ~/i915-sriov-dkms/dkms.conf{,.bak} sed -i 's/"@_PKGBASE@"/"i915-sriov-dkms"/g' ~/i915-sriov-dkms/dkms.conf sed -i 's/"@PKGVER@"/"'"$KERNEL"'"/g' ~/i915-sriov-dkms/dkms.conf # sed -i 's/ -j$(nproc)//g' ~/i915-sriov-dkms/dkms.conf cat ~/i915-sriov-dkms/dkms.confDKMS添加驱动源码管理并安装部署# 链接内核源代码,并检查状态。确认内核显示已添加。 cp -r ~/i915-sriov-dkms /usr/src/i915-sriov-dkms-$KERNEL ls /usr/src # 查看 cd /usr/src/i915-sriov-dkms-$KERNEL dkms add . dkms status # 构建新内核并检查状态。验证是否显示已安装。 dkms install -m i915-sriov-dkms -v $KERNEL -k $(uname -r) --force -j 4 dkms status对于PVE8.1版本,安全启动可能已启用。如果启动, 则以下是MOK 相关设置是必须的.(默认安装方式没有启用, 可以跳过)如果后续设置完毕, 重启机器后查看集显对应的设备条目数没有变化, 即没有出现虚拟核显设备, 请分别检查bois设置是否开启虚拟化对应的相关选项, 以及如下是否系统内核启用了安全引导而未在第一次重启系统时,在开机设置选项正确配置MOK相关引导配置项,导致内核未加载DKMS安装的扩展, 此时需要进入系统后, 重置MOK设置,再次重启进行相关配置# 为以防万一,我们需要加载 DKMS 密钥,以便内核加载模块。运行以下命令,然后输入密码。 # 该密码仅用于 MOK 设置,重启主机时会用到, 再之后就不需要密码。 # 该密码不必与 root 账户使用的密码相同。 mokutil --import /var/lib/dkms/mok.pub # 重启机器, 在开机页面, 开机引导页面依次选择: # `* Enroll MOK, Continue, Yes, <password>, Reboot` # 如果错过, 需要进入终端, 重新运行 mokutil ... 命令并再次重启。 # 在完成此设置之前,DKMS 模块不会加载。 # Ubuntu重置MOK # 参见: https://wiki.ubuntu.com/UEFI/SecureBoot update-secureboot-policy --enroll-keyGRUB 配置# 解释: i915.max_vfs=7 表示最多虚拟成7个设备 cp -a /etc/default/grub{,.bak} sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_guc=3 i915.max_vfs=7"' /etc/default/grub update-grub update-initramfs -u -k all工具软件安装apt install sysfsutils -y运行以下命令,查看/确认显卡所在的PCIe 总线。通常是 00:02.0lspci | grep VGA运行以下命令, 如果PCIe 总线编号不一致, 可能需要修改。# 在本例中,我使用的是 00:02.0。要验证文件是否已修改,请 cat 文件并确保已修改。 # 此处根据需要修改具体的虚拟设备数(一定小于上面设置的i915.max_vfs值) # 示例设置2 (后续计划为2台虚拟机直通) echo "devices/pci0000:00/0000:00:02.0/sriov_numvfs = 2" >> /etc/sysfs.conf cat /etc/sysfs.conf确认驱动与配置情况(重启系统后)lspci | grep VGA此处结果应该从1条变成3条(新增2个虚拟集显/显卡)dmesg | grep i915会显示次要 PCIe ID 1-2修改WIN10虚拟机配置, 增加PCI设备注意:不要直通.0设备,即0000:00:02.0设备,不要勾选全部功能添加任意一个SR-IOV虚拟出来的集显设备, 额外属性勾选 "主GPU,PCIE", 如图所示2023-12-29T04:00:11.png其它(补充)Mac上访问WIN10远程桌面, 不使用虚拟机安装Windows的情况下, 可以使用微软家Remote Desktop client官方链接: https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-mac推荐下载Mac最新测试版本, 安装后, 新建目标主机连接进行相关配置后即可使用.2023-12-29T22:10:24.png参考:https://gist.github.com/scyto/e4e3de35ee23fdb4ae5d5a3b85c16ed3
2024年02月27日
8 阅读
0 评论
0 点赞
1
2